
Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAULKlY14458 for <dtn-users@mailman.dtnrg.org>; Thu, 30 Nov 2006 13:20:47 -0800
Received: from [10.212.113.102] (bldmz-nat-161-239.berkeley.intel-research.net [12.155.161.239]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAULKkkZ008614 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 30 Nov 2006 13:20:47 -0800 (PST)
In-Reply-To: <1164915945.9001.8.camel@valmorphanize.site>
References: <1164915945.9001.8.camel@valmorphanize.site>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <7C6CC06B-2F44-47D2-8453-CD27D050EDA9@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] UDP reliable over DTN2?
X-Applemailsentby: demmer
Date: Thu, 30 Nov 2006 13:20:53 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> I'm looking at the DTN2 reference implementation, and I have it  
> working
> happily (and very easily, I might add) over two machines using a TCP
> connection.

Glad you're having good luck with it.

> I had assumed that the same setup would also work with a UDP link, but
> bundles apparently vanish when there is no physical link to the
> destination. As a newbie of approx. a day or so to this area, I'd have
> expected the first dtnd instance to hang on to the bundle until it  
> knew
> that the second dtnd instance had gotten it. I'm issuing the same
> 'interface', 'link', and 'route' commands as I do for TCP, but with
> obvious protocol substitutions.
>
> So am I thinking about this in the wrong way? Googling over this list
> didn't really help me find my answer. The first paragraph in
> dtn_2.2.0/doc/manual/cl-udp.html certainly suggests that the UDP link
> should work as I expect.

The manual is slightly misleading and the DTN UDP convergence layer  
is actually an unreliable transport (akin to the underlying UDP  
transport).

If you have custody transfer enabled on your bundles, then DTN2 will  
in fact retransmit the bundle if it fails to get an acknowledgement  
that it was received. However, the default timers for this are quite  
conservative and in general, this is not assumed to be an efficient  
mechanism for reliable retransmissions.

> One other question. Regarding the command:
>> link add <link_name> <destination> ONDEMAND <protocol>
>
> What types are there aside from "ONDEMAND"? I've searched, but cannot
> find out what else I might be able to plug in here...

OPPORTUNISTIC will mean that you have to manually open the link with  
'link open' commands before it can be used.

ALWAYSON means that DTN2 will maintain an open connection (i.e. TCP  
socket, etc) even if there are no bundles ready to be sent over that  
link.

ONDEMAND means that the link is closed when it is idle, and opened  
when there is a bundle that needs to be sent over it.

-m



Received: from mr1.dcs.gla.ac.uk (mr1.dcs.gla.ac.uk [130.209.249.184]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAUJjlY13593 for <dtn-users@mailman.dtnrg.org>; Thu, 30 Nov 2006 11:45:47 -0800
Received: from ex1.ad.dcs.gla.ac.uk ([130.209.249.157]:57292) by mr1.dcs.gla.ac.uk with esmtp (Exim 4.42) id 1Gprqn-0006OG-1Z for dtn-users@mailman.dtnrg.org; Thu, 30 Nov 2006 19:45:41 +0000
Received: from lifou.dcs.gla.ac.uk ([130.209.246.59]) by ex1.ad.dcs.gla.ac.uk over TLS secured channel with Microsoft SMTPSVC(6.0.3790.1830); Thu, 30 Nov 2006 19:45:41 +0000
From: Stephen Strowes <sds@dcs.gla.ac.uk>
To: dtn-users@mailman.dtnrg.org
Content-Type: text/plain
Date: Thu, 30 Nov 2006 19:45:45 +0000
Message-Id: <1164915945.9001.8.camel@valmorphanize.site>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.0 
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 30 Nov 2006 19:45:41.0657 (UTC) FILETIME=[1E336090:01C714B8]
Subject: [dtn-users] UDP reliable over DTN2?
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Hi,

This question may have been asked before; if so, I apologise.

I'm looking at the DTN2 reference implementation, and I have it working
happily (and very easily, I might add) over two machines using a TCP
connection.

I had assumed that the same setup would also work with a UDP link, but
bundles apparently vanish when there is no physical link to the
destination. As a newbie of approx. a day or so to this area, I'd have
expected the first dtnd instance to hang on to the bundle until it knew
that the second dtnd instance had gotten it. I'm issuing the same
'interface', 'link', and 'route' commands as I do for TCP, but with
obvious protocol substitutions.

So am I thinking about this in the wrong way? Googling over this list
didn't really help me find my answer. The first paragraph in
dtn_2.2.0/doc/manual/cl-udp.html certainly suggests that the UDP link
should work as I expect.

One other question. Regarding the command:
> link add <link_name> <destination> ONDEMAND <protocol>

What types are there aside from "ONDEMAND"? I've searched, but cannot
find out what else I might be able to plug in here...



Cheers,
-S.




Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAUGB6Y12108 for <dtn-users@mailman.dtnrg.org>; Thu, 30 Nov 2006 08:11:06 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAUGB04s002532 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 30 Nov 2006 08:11:06 -0800 (PST)
In-Reply-To: <f0d10dd60611300751n6c609224o14299c99e01b90d2@mail.gmail.com>
References: <f0d10dd60611300751n6c609224o14299c99e01b90d2@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <599312D4-AA64-4785-BE3D-7A82A6A6F4F0@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] POLL_IN?
X-Applemailsentby: demmer
Date: Thu, 30 Nov 2006 08:11:09 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

It should be POLLIN.

-m

On Nov 30, 2006, at 7:51 AM, Zahir Koradia wrote:

> Hi Mike,
> I was compiling today's cvs code(on cygwin) and encountered an  
> error POLL_IN undeclared in the file ProphetEncounter.cc. Since I  
> am not going to be using that part of the code I have just  
> commented that part of the line and gone ahead with the  
> compilation. Am I missing something here?
>
> Thanks,
> Zahir



Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.189]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAUFppY11907 for <dtn-users@mailman.dtnrg.org>; Thu, 30 Nov 2006 07:51:51 -0800
Received: by nf-out-0910.google.com with SMTP id p48so2988380nfa for <dtn-users@mailman.dtnrg.org>; Thu, 30 Nov 2006 07:51:49 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=l5nEhbNAFl4FS8W6xdWQvDWcTyRpZ4Nho2HGSA+ST9T2/onUFXkSyc1zMnMLx7S6uUvRoG9aZbMWeN4DtIFKs97GOJeACcpDRWwfXEEVG+R24DpLRwdppwO1CC0wGctwNaaLaqUY3EGNHCJ3SHJDyjXwz1cRXnFSH0giYt2ELwY=
Received: by 10.82.131.1 with SMTP id e1mr844857bud.1164901909446; Thu, 30 Nov 2006 07:51:49 -0800 (PST)
Received: by 10.82.140.18 with HTTP; Thu, 30 Nov 2006 07:51:49 -0800 (PST)
Message-ID: <f0d10dd60611300751n6c609224o14299c99e01b90d2@mail.gmail.com>
Date: Thu, 30 Nov 2006 21:21:49 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_31860_11592210.1164901909263"
Subject: [dtn-users] POLL_IN?
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_31860_11592210.1164901909263
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
I was compiling today's cvs code(on cygwin) and encountered an error POLL_IN
undeclared in the file ProphetEncounter.cc. Since I am not going to be using
that part of the code I have just commented that part of the line and gone
ahead with the compilation. Am I missing something here?

Thanks,
Zahir

------=_Part_31860_11592210.1164901909263
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>
I was compiling today's cvs code(on cygwin) and encountered an error
POLL_IN undeclared in the file ProphetEncounter.cc. Since I am not
going to be using that part of the code I have just commented that part
of the line and gone ahead with the compilation. Am I missing something
here?<br>
<br>
Thanks,<br>
Zahir<br>

------=_Part_31860_11592210.1164901909263--


Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.225]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kATLsuY04794 for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:54:56 -0800
Received: by wr-out-0506.google.com with SMTP id 68so735383wri for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:54:55 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=tyN8otPeDOwpZLt84E89Ph4zyCXumBmPsq+g82vtQMpRVKu27DDTZ/nXFbGdQonua5/Hrso26NFIQANklqKKcfRpxzXfjs4Qr12nrvfgMHII4hIOHCAMQN3pKZPUDoAUK6eAkZufw3cgDOs3C5Oef10Lc5y/SWmk8iT9gXQhATY=
Received: by 10.90.70.10 with SMTP id s10mr2932288aga.1164837294848; Wed, 29 Nov 2006 13:54:54 -0800 (PST)
Received: by 10.70.72.19 with HTTP; Wed, 29 Nov 2006 13:54:54 -0800 (PST)
Message-ID: <d35f8e370611291354i7de723fataf4e0488d9691825@mail.gmail.com>
Date: Wed, 29 Nov 2006 16:54:54 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] dtnping broken?
In-Reply-To: <5f30e2610611291321u77097d39t4d42ec18100d963b@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_29251_31529067.1164837294479"
References: <d35f8e370611291302l4afd37bcu87f7d7fdb06b3c82@mail.gmail.com> <5f30e2610611291321u77097d39t4d42ec18100d963b@mail.gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_29251_31529067.1164837294479
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

ah... thank you

On 11/29/06, Jeff Wilson <jazzbotley@gmail.com> wrote:
>
> Make sure you ping a destination with a "/ping" service tag (i.e.,
> change your destination from dtn://rcm2.cse.lehigh.edu.dtn/ to
> dtn://rcm2.cse.lehigh.edu.dtn/ping).  This reflects a change in the
> internal architecture, Mike can tell you more details.
>
>     Regards,
>      Jeff
>
> On 11/29/06, ryan m <smarts40@gmail.com> wrote:
> > I'm trying to use dtnping to test dtn test bed functionality, if memory
> > serves, dtn ping used receive or delivery receipt flag to get an echo
> > response from the destination.  The bundle that dtn ping is producing
> is:
> >
> >  [1164833558.767510 /dtn/bundle/daemon debug] bundle id 0:
> > [1164833558.767510 /dtn/bundle/daemon debug]             source:
> > dtn://rcm2.cse.lehigh.edu.dtn/ping.29688
> > [1164833558.767510 /dtn/bundle/daemon debug]               dest:
> > dtn://rcm2.cse.lehigh.edu.dtn/
> > [1164833558.767510 /dtn/bundle/daemon debug]          custodian:
> dtn:none
> > [1164833558.767510 /dtn/bundle/daemon debug]            replyto:
> dtn:none
> > [1164833558.767510 /dtn/bundle/daemon debug]            prevhop:
> > [1164833558.767510 /dtn/bundle/daemon debug]     payload_length: 8
> > [1164833558.767510 /dtn/bundle/daemon debug]           priority: 0
> > [1164833558.767510 /dtn/bundle/daemon debug]  custody_requested: false
> > [1164833558.767510 /dtn/bundle/daemon debug]      local_custody: false
> > [1164833558.767510 /dtn/bundle/daemon debug]     singleton_dest: true
> > [1164833558.767510 /dtn/bundle/daemon debug]       receive_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]       custody_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]       forward_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]      delivery_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]      deletion_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]     app_acked_rcpt: false
> > [1164833558.767510 /dtn/bundle/daemon debug]        creation_ts:
> 218148758.0
> > [1164833558.767510 /dtn/bundle/daemon debug]         expiration: 30
> > [1164833558.767510 /dtn/bundle/daemon debug]        is_fragment: false
> > [1164833558.767510 /dtn/bundle/daemon debug]           is_admin: false
> > [1164833558.767510 /dtn/bundle/daemon debug]    do_not_fragment: false
> > [1164833558.767510 /dtn/bundle/daemon debug]        orig_length: 0
> > [1164833558.767510 /dtn/bundle/daemon debug]        frag_offset: 0
> > [1164833558.767510 /dtn/bundle/daemon debug] transmission_count: 0
> >
> > which has the replyto as dtn:none and receive_recpt and delivery as
> false
> >
> > this is from cvs as of 11/29/06, any idea what's going on here?
> >
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>

------=_Part_29251_31529067.1164837294479
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

ah... thank you<br><br><div><span class="gmail_quote">On 11/29/06, <b class="gmail_sendername">Jeff Wilson</b> &lt;<a href="mailto:jazzbotley@gmail.com">jazzbotley@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Make sure you ping a destination with a &quot;/ping&quot; service tag (i.e.,<br>change your destination from dtn://rcm2.cse.lehigh.edu.dtn/ to<br>dtn://rcm2.cse.lehigh.edu.dtn/ping).&nbsp;&nbsp;This reflects a change in the<br>internal architecture, Mike can tell you more details.
<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Regards,<br>&nbsp;&nbsp;&nbsp;&nbsp; Jeff<br><br>On 11/29/06, ryan m &lt;<a href="mailto:smarts40@gmail.com">smarts40@gmail.com</a>&gt; wrote:<br>&gt; I'm trying to use dtnping to test dtn test bed functionality, if memory<br>&gt; serves, dtn ping used receive or delivery receipt flag to get an echo
<br>&gt; response from the destination.&nbsp;&nbsp;The bundle that dtn ping is producing is:<br>&gt;<br>&gt;&nbsp;&nbsp;[1164833558.767510 /dtn/bundle/daemon debug] bundle id 0:<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source:
<br>&gt; dtn://rcm2.cse.lehigh.edu.dtn/ping.29688<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dest:<br>&gt; dtn://rcm2.cse.lehigh.edu.dtn/<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;custodian: dtn:none
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replyto: dtn:none<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prevhop:<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; payload_length: 8
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; priority: 0<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;custody_requested: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local_custody: false
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; singleton_dest: true<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; receive_rcpt: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; custody_rcpt: false
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forward_rcpt: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delivery_rcpt: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deletion_rcpt: false
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; app_acked_rcpt: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;creation_ts: 218148758.0<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expiration: 30
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is_fragment: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is_admin: false<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;do_not_fragment: false
<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;orig_length: 0<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag_offset: 0<br>&gt; [1164833558.767510 /dtn/bundle/daemon debug] transmission_count: 0
<br>&gt;<br>&gt; which has the replyto as dtn:none and receive_recpt and delivery as false<br>&gt;<br>&gt; this is from cvs as of 11/29/06, any idea what's going on here?<br>&gt;<br>_______________________________________________
<br>dtn-users mailing list<br><a href="mailto:dtn-users@mailman.dtnrg.org">dtn-users@mailman.dtnrg.org</a><br><a href="http://mailman.dtnrg.org/mailman/listinfo/dtn-users">http://mailman.dtnrg.org/mailman/listinfo/dtn-users
</a><br></blockquote></div><br>

------=_Part_29251_31529067.1164837294479--


Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.181]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kATLM8Y04523 for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:22:09 -0800
Received: by py-out-1112.google.com with SMTP id a29so1449364pyi for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:21:52 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=A3d1HRSIcp1ndYQCQuOBzeKi1d+BXIqeCdzyCfmxj7Tp2AAJdZEyFnXufzoHIO6/Kc+58XdJaqKxMxuLJXzYahiGZHOhJWWNYdTRARLIq1LTbbOvGJdPIxA6GDlAJq8jGtmV5CO8DbgYAEFXJEwgqntRAqV/vpNMZAi7Nf+/abk=
Received: by 10.78.57.11 with SMTP id f11mr2679521hua.1164835311877; Wed, 29 Nov 2006 13:21:51 -0800 (PST)
Received: by 10.78.107.6 with HTTP; Wed, 29 Nov 2006 13:21:51 -0800 (PST)
Message-ID: <5f30e2610611291321u77097d39t4d42ec18100d963b@mail.gmail.com>
Date: Wed, 29 Nov 2006 15:21:51 -0600
From: "Jeff Wilson" <jazzbotley@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] dtnping broken?
In-Reply-To: <d35f8e370611291302l4afd37bcu87f7d7fdb06b3c82@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
References: <d35f8e370611291302l4afd37bcu87f7d7fdb06b3c82@mail.gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Make sure you ping a destination with a "/ping" service tag (i.e.,
change your destination from dtn://rcm2.cse.lehigh.edu.dtn/ to
dtn://rcm2.cse.lehigh.edu.dtn/ping).  This reflects a change in the
internal architecture, Mike can tell you more details.

    Regards,
     Jeff

On 11/29/06, ryan m <smarts40@gmail.com> wrote:
> I'm trying to use dtnping to test dtn test bed functionality, if memory
> serves, dtn ping used receive or delivery receipt flag to get an echo
> response from the destination.  The bundle that dtn ping is producing is:
>
>  [1164833558.767510 /dtn/bundle/daemon debug] bundle id 0:
> [1164833558.767510 /dtn/bundle/daemon debug]             source:
> dtn://rcm2.cse.lehigh.edu.dtn/ping.29688
> [1164833558.767510 /dtn/bundle/daemon debug]               dest:
> dtn://rcm2.cse.lehigh.edu.dtn/
> [1164833558.767510 /dtn/bundle/daemon debug]          custodian: dtn:none
> [1164833558.767510 /dtn/bundle/daemon debug]            replyto: dtn:none
> [1164833558.767510 /dtn/bundle/daemon debug]            prevhop:
> [1164833558.767510 /dtn/bundle/daemon debug]     payload_length: 8
> [1164833558.767510 /dtn/bundle/daemon debug]           priority: 0
> [1164833558.767510 /dtn/bundle/daemon debug]  custody_requested: false
> [1164833558.767510 /dtn/bundle/daemon debug]      local_custody: false
> [1164833558.767510 /dtn/bundle/daemon debug]     singleton_dest: true
> [1164833558.767510 /dtn/bundle/daemon debug]       receive_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]       custody_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]       forward_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]      delivery_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]      deletion_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]     app_acked_rcpt: false
> [1164833558.767510 /dtn/bundle/daemon debug]        creation_ts: 218148758.0
> [1164833558.767510 /dtn/bundle/daemon debug]         expiration: 30
> [1164833558.767510 /dtn/bundle/daemon debug]        is_fragment: false
> [1164833558.767510 /dtn/bundle/daemon debug]           is_admin: false
> [1164833558.767510 /dtn/bundle/daemon debug]    do_not_fragment: false
> [1164833558.767510 /dtn/bundle/daemon debug]        orig_length: 0
> [1164833558.767510 /dtn/bundle/daemon debug]        frag_offset: 0
> [1164833558.767510 /dtn/bundle/daemon debug] transmission_count: 0
>
> which has the replyto as dtn:none and receive_recpt and delivery as false
>
> this is from cvs as of 11/29/06, any idea what's going on here?
>


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.233]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kATL2oY04327 for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:02:50 -0800
Received: by wx-out-0506.google.com with SMTP id s7so2382819wxc for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 13:02:49 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=gBVGOMihRKuDanEruQhH1A5dh8RLS8qjQKAnfmhM3sQoiFUm+7DyjSwKkKBSXIcUl+DZNb+ZXG7+3HNhlXqsf45U5T2JoFRZITMJLaYY3e/M/YBfngO62O0fkDBINy5a+NmICryR1XD9O2DzYsxl5sSKtpVLNlraGXNMDK19wvM=
Received: by 10.70.92.12 with SMTP id p12mr4746441wxb.1164834168911; Wed, 29 Nov 2006 13:02:48 -0800 (PST)
Received: by 10.70.72.19 with HTTP; Wed, 29 Nov 2006 13:02:48 -0800 (PST)
Message-ID: <d35f8e370611291302l4afd37bcu87f7d7fdb06b3c82@mail.gmail.com>
Date: Wed, 29 Nov 2006 16:02:48 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_28467_30130701.1164834168822"
Subject: [dtn-users] dtnping broken?
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_28467_30130701.1164834168822
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I'm trying to use dtnping to test dtn test bed functionality, if memory
serves, dtn ping used receive or delivery receipt flag to get an echo
response from the destination.  The bundle that dtn ping is producing is:

[1164833558.767510 /dtn/bundle/daemon debug] bundle id 0:
[1164833558.767510 /dtn/bundle/daemon debug]             source:
dtn://rcm2.cse.lehigh.edu.dtn/ping.29688
[1164833558.767510 /dtn/bundle/daemon debug]               dest:
dtn://rcm2.cse.lehigh.edu.dtn/
[1164833558.767510 /dtn/bundle/daemon debug]          custodian: dtn:none
[1164833558.767510 /dtn/bundle/daemon debug]            replyto: dtn:none
[1164833558.767510 /dtn/bundle/daemon debug]            prevhop:
[1164833558.767510 /dtn/bundle/daemon debug]     payload_length: 8
[1164833558.767510 /dtn/bundle/daemon debug]           priority: 0
[1164833558.767510 /dtn/bundle/daemon debug]  custody_requested: false
[1164833558.767510 /dtn/bundle/daemon debug]      local_custody: false
[1164833558.767510 /dtn/bundle/daemon debug]     singleton_dest: true
[1164833558.767510 /dtn/bundle/daemon debug]       receive_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]       custody_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]       forward_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]      delivery_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]      deletion_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]     app_acked_rcpt: false
[1164833558.767510 /dtn/bundle/daemon debug]        creation_ts: 218148758.0
[1164833558.767510 /dtn/bundle/daemon debug]         expiration: 30
[1164833558.767510 /dtn/bundle/daemon debug]        is_fragment: false
[1164833558.767510 /dtn/bundle/daemon debug]           is_admin: false
[1164833558.767510 /dtn/bundle/daemon debug]    do_not_fragment: false
[1164833558.767510 /dtn/bundle/daemon debug]        orig_length: 0
[1164833558.767510 /dtn/bundle/daemon debug]        frag_offset: 0
[1164833558.767510 /dtn/bundle/daemon debug] transmission_count: 0

which has the replyto as dtn:none and receive_recpt and delivery as false

this is from cvs as of 11/29/06, any idea what's going on here?

------=_Part_28467_30130701.1164834168822
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I'm trying to use dtnping to test dtn test bed functionality, if memory serves, dtn ping used receive or delivery receipt flag to get an echo response from the destination.&nbsp; The bundle that dtn ping is producing is:<br><br>
[1164833558.767510 /dtn/bundle/daemon debug] bundle id 0:<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; source: dtn://rcm2.cse.lehigh.edu.dtn/ping.29688<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dest: dtn://rcm2.cse.lehigh.edu.dtn/
<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; custodian: dtn:none<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; replyto: dtn:none<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prevhop: 
<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; payload_length: 8<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; priority: 0<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp; custody_requested: false<br>[1164833558.767510
 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local_custody: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; singleton_dest: true<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; receive_rcpt: false<br>[1164833558.767510
 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; custody_rcpt: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forward_rcpt: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delivery_rcpt: false<br>[1164833558.767510
 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; deletion_rcpt: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp; app_acked_rcpt: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; creation_ts: 218148758.0<br>[1164833558.767510
 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expiration: 30<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is_fragment: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is_admin: false<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp; do_not_fragment: false
<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; orig_length: 0<br>[1164833558.767510 /dtn/bundle/daemon debug]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frag_offset: 0<br>[1164833558.767510 /dtn/bundle/daemon debug] transmission_count: 0<br><br>which has the replyto as dtn:none and receive_recpt and delivery as false
<br><br>this is from cvs as of 11/29/06, any idea what's going on here?<br>

------=_Part_28467_30130701.1164834168822--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kATHhsY02924 for <dtn-users@mailman.dtnrg.org>; Wed, 29 Nov 2006 09:43:54 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kATHglGY018218 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 29 Nov 2006 09:43:53 -0800 (PST)
In-Reply-To: <456B4587.4080207@jpl.nasa.gov>
References: <456B4587.4080207@jpl.nasa.gov>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <6E78D2BF-7F84-4D78-8F47-2434D06F1B43@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Ethernet CL
X-Applemailsentby: demmer
Date: Wed, 29 Nov 2006 09:44:07 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

I'm generally familiar with the code but haven't actually been using  
it. I'm hoping to get it resurrected and into my standard testing  
framework but that may take some time.

It's also a bit old so there are some things, specifically with  
respect to naming and addressing, that are relics of an older  
implementation design.

What specific questions did you have?

-mike

On Nov 27, 2006, at 12:07 PM, Jackson Pang wrote:

> Hi
>
> Does anyone know the functionality or have experience using the  
> Ethernet CL that comes with DTN2? Tehre's documentation for TCP and  
> UDP but not for Eth CL.  I need to implement a standalone C version  
> that will interface to my hardware BP implementation.
>
> Thanks
>
> -- 
> Jackson Pang
> Sec 332M Communications Networks
> Jet Propulsion Laboratory
> California Institute of Technology
> (818) 393-0466 FAX: (818) 354-6825
>
>
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users



Received: from nmta3.jpl.nasa.gov (nmta3.jpl.nasa.gov [137.78.160.108]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARK7fY16934 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 12:07:41 -0800
Received: from xmta1.jpl.nasa.gov (xmta1.jpl.nasa.gov [137.78.160.144]) by nmta3.jpl.nasa.gov (Switch-3.1.9/Switch-3.1.9) with ESMTP id kARK7atv000658 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 12:07:36 -0800
Received: from [127.0.0.1] (pc05270092001.jpl.nasa.gov [128.149.22.53]) by xmta1.jpl.nasa.gov (Switch-3.1.9/Switch-3.1.9) with ESMTP id kARK7Z0J011556 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 12:07:36 -0800
Message-ID: <456B4587.4080207@jpl.nasa.gov>
Date: Mon, 27 Nov 2006 12:07:35 -0800
From: Jackson Pang <jpang@jpl.nasa.gov>
User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: dtn-users@mailman.dtnrg.org
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Source-IP: pc05270092001.jpl.nasa.gov [128.149.22.53]
X-Source-Sender: jpang@jpl.nasa.gov
X-AUTH: Authorized
Subject: [dtn-users] Ethernet CL
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Hi

Does anyone know the functionality or have experience using the Ethernet 
CL that comes with DTN2? Tehre's documentation for TCP and UDP but not 
for Eth CL.  I need to implement a standalone C version that will 
interface to my hardware BP implementation.

Thanks

-- 
Jackson Pang
Sec 332M Communications Networks
Jet Propulsion Laboratory
California Institute of Technology
(818) 393-0466 FAX: (818) 354-6825




Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.228]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARHjgY16030 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 09:45:42 -0800
Received: by wx-out-0506.google.com with SMTP id s7so1676880wxc for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 09:45:41 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=XOW2ocgiwztbM3WO8opZTypskbij45ssoAmnDcddGLsUhX+JA45KlEmx05PrDTKlW+6wCLos8hivVV8D9Fyz66YIYvUMnYh6Uh4Hfo3RsiRpNxmiF40USecaAUrT0JcpudrASL8FIiBj3Dw6/htPPVOjJUDBEtK8vPyXPSJl1YI=
Received: by 10.70.74.1 with SMTP id w1mr26113984wxa.1164649540747; Mon, 27 Nov 2006 09:45:40 -0800 (PST)
Received: by 10.70.72.19 with HTTP; Mon, 27 Nov 2006 09:45:40 -0800 (PST)
Message-ID: <d35f8e370611270945m476ce62ajd984a10b88a377e@mail.gmail.com>
Date: Mon, 27 Nov 2006 12:45:40 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] DTN on Gumstix
In-Reply-To: <051E8FA4-9EF9-4EB1-A90A-7DA376E65664@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_25154_4790856.1164649540634"
References: <d35f8e370611231002y55670b94pdf874232ed520003@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE01552823@IMCSRV4.MITRE.ORG> <d35f8e370611270849p753bd86cm317c67adac205405@mail.gmail.com> <051E8FA4-9EF9-4EB1-A90A-7DA376E65664@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_25154_4790856.1164649540634
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

 configure:6523: checking for tcl library in /opt/arm-linux-libraries/lib: -
ltcl8.4 -ldl -lm -lpthread
configure:6551: arm-linux-gcc -o conftest -g -O2
-I/opt/arm-linux-libraries/include  -static -L/opt/arm-l
inux-libraries/lib conftest.c -ltcl8.4 -ldl -lm -lpthread  >&5
/usr/local/arm/oe/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/libc.a(
strtoul.o)(.text+0x0): In funct
ion `strtoul':
: multiple definition of `strtoul'
/opt/arm-linux-libraries/lib/libtcl8.4.a(strtoul.o)(.text+0x0): first
defined here
/usr/local/arm/oe/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld:
Warning: size of symbol `strtoul'
changed from 572 in /opt/arm-linux-libraries/lib/libtcl8.4.a(strtoul.o) to
96 in /opt/arm-linux-libraries/
lib/libtcl8.4.a(strtoul.o)
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0xc): In
function `TclpGetGrGid':
: warning: Using 'getgrgid' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x8): In
function `TclpGetGrNam':
: warning: Using 'getgrnam' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xc44): In
function `GetGroupAttribute':
: warning: Using 'endgrent' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFile.o)(.text+0x568): In
function `TclpGetUserHome':
: warning: Using 'getpwnam' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x4): In
function `TclpGetPwUid':
: warning: Using 'getpwuid' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xd14): In
function `$a':
: warning: Using 'endpwent' in statically linked applications requires at
runtime the shared libraries fro
m the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x14): In
function `TclpGetHostByAddr':
: warning: Using 'gethostbyaddr' in statically linked applications requires
at runtime the shared librarie
s from the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x10): In
function `TclpGetHostByName':
: warning: Using 'gethostbyname' in statically linked applications requires
at runtime the shared librarie
s from the glibc version used for linking
/opt/arm-linux-libraries/lib/libtcl8.4.a(tclIOSock.o)(.text+0x48): In
function `TclSockGetPort':
: warning: Using 'getservbyname' in statically linked applications requires
at runtime the shared librarie
s from the glibc version used for linking
collect2: ld returned 1 exit status

any idea how to fix this?

On 11/27/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> It will likely be helpful to look in the config.log file to find out
> exactly what's going wrong when configure fails its tests. It's a lot of
> output to wade through, but you should be able to find the gcc output from
> the failing linking step(s).
> -mike
>
>
>
> On Nov 27, 2006, at 8:49 AM, ryan m wrote:
>
> I think I'm running into what you ran into, I running
>
> ./configure --build=`uname -m` --host=arm-linux
> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> --enable-static
>
> I've also tried added --without-tclreadline since that's been suggested a
> few times to cause linking issues, but both ways I get the following
> configure error:
>
> configure: checking for tcl installation (version 8.4)
> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/include...
> yes
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl
> -lm -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl -lm
> -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
> -lpthread ... no
>
> the static tcl stuff is in there:
>
> root@runabout:/opt/arm-linux-libraries/lib# ls -l
> total 4824
> -rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb-4.4.a
> -rw-r--r-- 1 edifyteam edifyteam     820 2006-11-27 11:12 libdb-4.4.la
> -rwxr-xr-x 1 edifyteam edifyteam  975701 2006-11-27 11:12 libdb-4.4.so
> lrwxrwxrwx 1 root      root           12 2006-11-27 11:29 libdb-4.so ->
> libdb-4.4.so
> -rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a
> lrwxrwxrwx 1 root      root           12 2006-11-27 11:29 libdb.so ->
> libdb-4.4.so
> -r-xr-xr-x 1 root      root      1058426 2006-11-27 11:32 libtcl8.4.a
> -rw-r--r-- 1 root      root         7126 2006-11-27 11:32 libtclstub8.4.a
> drwxr-xr-x 8 root      root         4096 2006-11-27 11:32 tcl8.4
> -rw-r--r-- 1 root      root         7224 2006-11-27 11:32 tclConfig.sh
>
> so I was looking at rules.make and I wasn't sure were to add a -L
> directive since
>
> LDFLAGS         =   -L/opt/arm-linux-libraries/lib
> -L/opt/arm-linux-libraries/lib
>
> is already in there
>
> note: I'm trying the openembedded system which openzaurus team uses for
> development, i figured I try something that is set up specifically with for
> the zaurus after my brush with scrachbox producing incompatible binaries
> (hello world app wasn't even recognized as an executable binary by the
> zaurus), anyways I had to do static since this system doesn't have the
> libraries for linking dynamic libraries (at least according to DTN2's
> configure), perhaps there's a reason for this on the zaurus?
>
> On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
> >
> >  Hey,
> >
> > I used the gumstix (www.gumstix.com) version of buildroot (
> > http://docwiki.gumstix.org/Buildroot).  I saw your earlier message, and
> > wondered if there might be a problem with floating point emulation in your
> > environment.  I tried scratchbox earlier, and didn't really like it.
> > Buildroot has been much cleaner for me (http://buildroot.uclibc.org/buildroot.html
> > ).  There are some gumstix-relevant patches, don't know if the zaurus
> > would require patching also.  Buildroot might be worth a look.
> >
> > BTW -- I had problems linking with the tcl library (not internal to tcl,
> > but having DTN *find* the tcl library).  I ended up creating a separate
> > directory, dragging the tcl stuff into it, and putting a -L directive into
> > the Rules.make to point to it.  Haven't figured out or fixed what the
> > foul up was there.
> >
> > Hope you're having a Happy Thanksgiving.
> > Bob
> >
> >  ------------------------------
> > *From:* ryan m [mailto:smarts40@gmail.com]
> > *Sent:* Thursday, November 23, 2006 1:02 PM
> > *To:* Durst, Robert C.
> > *Subject:* Re: [dtn-users] DTN on Gumstix
> >
> > I was just wondering what cross compile environment you used, are there
> > directions online on how to set it up?  That's the big problem I'm running
> > into now.  I've tried scratchbox but it doesn't seem to want to find ieee
> > lib when I try to compile tcl.  Any help you could offer would be greatly
> > appreciated.
> >
> > thank you,
> > ryan
> >
> > On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
> > >
> > >  Hi, all.  I just wanted to let folks know that I managed to get DTN
> > > running on the Gumstix (cx) platform.  It took some minor gyrations, and I
> > > had a problem that caused me to use the file db instead of berkeley db.
> > > (Further banging my head against the wall might have caused berkeleydb to
> > > relent, but my head was sore enough already.)  Have successfully run dtnping
> > > and dtnsend with static routing (all I need in this application).
> > >
> > > Most of the hassle was in getting the cross-compilation set up
> > > properly and getting libraries pointed to appropriately.  I'll try to
> > > summarize things (unless somebody else already has and I didn't notice) in
> > > the coming days/weeks.  Have some other things to do first.
> > >
> > > Regards,
> > > Bob Durst
> > >
> >
> >
>
>

------=_Part_25154_4790856.1164649540634
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

&nbsp;configure:6523: checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl -lm -lpthread <br>configure:6551: arm-linux-gcc -o conftest -g -O2&nbsp; -I/opt/arm-linux-libraries/include&nbsp; -static -L/opt/arm-l<br>inux-libraries/lib 
conftest.c -ltcl8.4 -ldl -lm -lpthread&nbsp; &gt;&amp;5<br>/usr/local/arm/oe/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/lib/libc.a(strtoul.o)(.text+0x0): In funct<br>ion `strtoul':<br>: multiple definition of `strtoul'<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(
strtoul.o)(.text+0x0): first defined here<br>/usr/local/arm/oe/lib/gcc/arm-linux/3.4.4/../../../../arm-linux/bin/ld: Warning: size of symbol `strtoul' <br>changed from 572 in /opt/arm-linux-libraries/lib/libtcl8.4.a(strtoul.o
) to 96 in /opt/arm-linux-libraries/<br>lib/libtcl8.4.a(strtoul.o)<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0xc): In function `TclpGetGrGid':<br>: warning: Using 'getgrgid' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x8): In function `TclpGetGrNam':<br>: warning: Using 'getgrnam' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xc44): In function `GetGroupAttribute':<br>: warning: Using 'endgrent' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFile.o)(.text+0x568): In function `TclpGetUserHome':<br>: warning: Using 'getpwnam' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x4): In function `TclpGetPwUid':<br>: warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixFCmd.o)(.text+0xd14): In function `$a':<br>: warning: Using 'endpwent' in statically linked applications requires at runtime the shared libraries fro
<br>m the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x14): In function `TclpGetHostByAddr':<br>: warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared librarie
<br>s from the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclUnixCompat.o)(.text+0x10): In function `TclpGetHostByName':<br>: warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared librarie
<br>s from the glibc version used for linking<br>/opt/arm-linux-libraries/lib/libtcl8.4.a(tclIOSock.o)(.text+0x48): In function `TclSockGetPort':<br>: warning: Using 'getservbyname' in statically linked applications requires at runtime the shared librarie
<br>s from the glibc version used for linking<br>collect2: ld returned 1 exit status<br><br>any idea how to fix this?<br><br><div><span class="gmail_quote">On 11/27/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">
demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style="">It will likely be helpful to look in the 
config.log file to find out exactly what's going wrong when configure fails its tests. It's a lot of output to wade through, but you should be able to find the gcc output from the failing linking step(s).<div><br></div><div>
-mike</div><div><span class="e" id="q_10f2a601b196b475_1"><div><br><div><br></div><div><br><div><div>On Nov 27, 2006, at 8:49 AM, ryan m wrote:</div><br><blockquote type="cite">I think I'm running into what you ran into, I running
<br><br>./configure --build=`uname -m` --host=arm-linux&nbsp;&nbsp; --with-db=/opt/arm-linux-libraries&nbsp; --with-tcl=/opt/arm-linux-libraries --enable-static<br><br>I've also tried added --without-tclreadline since that's been suggested a few times to cause linking issues, but both ways I get the following configure error: 
<br><br>configure: checking for tcl installation (version 8.4)<br>checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/include... yes<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl -lm -lpthread ... no 
<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl -lm -lpthread ... no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl -lm -lpthread ... no<br><br>the static tcl stuff is in there: 
<br><br>root@runabout:/opt/arm-linux-libraries/lib# ls -l<br>total 4824<br>-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb-4.4.a<br>-rw-r--r-- 1 edifyteam edifyteam&nbsp;&nbsp;&nbsp;&nbsp; 820 2006-11-27 11:12 <a href="http://libdb-4.4.la" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libdb-4.4.la</a><br>-rwxr-xr-x 1 edifyteam edifyteam&nbsp; 975701 2006-11-27 11:12 <a href="http://libdb-4.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libdb-4.4.so</a><br>lrwxrwxrwx 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 2006-11-27 11:29 
libdb-4.so -&gt; <a href="http://libdb-4.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libdb-4.4.so</a><br>-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a<br>lrwxrwxrwx 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 2006-11-27 11:29 
libdb.so -&gt; <a href="http://libdb-4.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libdb-4.4.so</a><br>-r-xr-xr-x 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1058426 2006-11-27 11:32 libtcl8.4.a<br>-rw-r--r-- 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7126 2006-11-27 11:32 
libtclstub8.4.a<br>drwxr-xr-x 8 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 2006-11-27 11:32 tcl8.4<br>-rw-r--r-- 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7224 2006-11-27 11:32 tclConfig.sh <br><br>so I was looking at rules.make and I wasn't sure were to add a -L directive since
<br><br>LDFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib<br><br>is already in there<br><br>note: I'm trying the openembedded system which openzaurus team uses for development, i figured I try something that is set up specifically with for the zaurus after my brush with scrachbox producing incompatible binaries (hello world app wasn't even recognized as an executable binary by the zaurus), anyways I had to do static since this system doesn't have the libraries for linking dynamic libraries (at least according to DTN2's configure), perhaps there's a reason for this on the zaurus? 
<br><br><div><span class="gmail_quote">On 11/23/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">durst@mitre.org
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">Hey,</font>
</span></div> <div><span></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">I used the gumstix (<a href="http://www.gumstix.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.gumstix.com
</a>) version of buildroot (<a href="http://docwiki.gumstix.org/Buildroot" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://docwiki.gumstix.org/Buildroot</a>).&nbsp; I saw your earlier message, and wondered if there might be a problem with floating point emulation in your environment.&nbsp; I tried scratchbox earlier, and didn't really like it.&nbsp; Buildroot has been much cleaner for me (
<a href="http://buildroot.uclibc.org/buildroot.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://buildroot.uclibc.org/buildroot.html </a>).&nbsp; There are some gumstix-relevant patches, don't know if the zaurus would require patching also.&nbsp; Buildroot might be worth a look.
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">BTW -- I had problems linking with the tcl library (not internal to tcl, but having DTN *find* the tcl library).&nbsp; I ended up creating a separate directory, dragging the tcl stuff into it, and putting a -L directive into the 
Rules.make to point to it.&nbsp; Haven't figured out or fixed what the foul up was there.</font></span></div> <div><span></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Hope you're having a Happy Thanksgiving.
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">Bob</font>&nbsp;</span></div><br> <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  
<div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><b>From:</b> ryan m [mailto:<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">smarts40@gmail.com
</a>]   <br><b>Sent:</b> Thursday, November 23, 2006 1:02 PM<br><b>To:</b> Durst,   Robert C.<br><b>Subject:</b> Re: [dtn-users] DTN on   Gumstix<br></font><br></div><div><span>  <div></div>I was just wondering what cross compile environment you used, are   there directions online on how to set it up?&nbsp; That's the big problem I'm   running into now.&nbsp; I've tried scratchbox but it doesn't seem to want to   find ieee lib when I try to compile tcl.&nbsp; Any help you could offer would   be greatly appreciated. 
<br><br>thank you,<br>ryan<br><br>  <div><span class="gmail_quote">On 11/23/06, <b class="gmail_sendername">Durst,   Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
durst@mitre.org</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div><span><font face="Arial" size="2">
Hi, all.&nbsp; I just wanted to let folks     know that I managed to get DTN running on the Gumstix (cx) platform.&nbsp;     It took some minor gyrations, and I had a problem that caused me to use the     file db instead of berkeley db.&nbsp; (Further banging my head against the     wall might have caused berkeleydb to relent, but my head was sore enough     already.)&nbsp; Have successfully run dtnping and dtnsend with static     routing (all I need in this application).&nbsp; 
</font></span></div>    <div><span><font face="Arial" size="2"></font></span>&nbsp;</div>    <div><span><font face="Arial" size="2">Most of the hassle was in getting the     cross-compilation set up properly and getting libraries pointed to     appropriately.&nbsp; I'll try to summarize things (unless somebody else     already has and I didn't notice) in the coming days/weeks.&nbsp; Have some     other things to do first.
</font></span></div>    <div><span><font face="Arial" size="2"></font></span>&nbsp;</div>    <div><span><font face="Arial" size="2">Regards,</font></span></div>    <div><span><font face="Arial" size="2">Bob   Durst</font></span>
</div></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></div></span></div></div>
</blockquote></div><br>

------=_Part_25154_4790856.1164649540634--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARHagY15920 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 09:36:42 -0800
Received: from [10.212.2.165] (bldmz-nat-161-186.berkeley.intel-research.net [12.155.161.186]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kARHaeti015006 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 27 Nov 2006 09:36:41 -0800 (PST)
In-Reply-To: <cc97bb9b0611230155p387f605dr75f5c675372e0c1c@mail.gmail.com>
References: <cc97bb9b0611230155p387f605dr75f5c675372e0c1c@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <44A7763D-E8F8-46EA-8EDF-F2F97EB7A7FD@cs.berkeley.edu>
Cc: dtn-users@mailman.dtnrg.org
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
X-Applemailsentby: demmer
Date: Mon, 27 Nov 2006 09:36:48 -0800
To: luo cheng <richard.luocheng@gmail.com>
X-Mailer: Apple Mail (2.752.3)
Subject: [dtn-users] Re: running dtnsend, dtnrecv on Nokia770
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> 1, ./dtnsend  and ./dtnrecv doesn't work by keep showing the help  
> message even i typed the right command (e.g. ./dtnsend -s dtn:// 
> nokia3.dtn/1 -d dtn://nokia4.dtn/1 -t m -p "hello"  or ./dtnrecv  
> dtn://nokia3.dtn/1 ). and ./dtnping works ok.

That's a bit strange. Can you look in the ::getopt wrapper objects to  
see where it's complaining?

> 2, when i trying to send dtn bundle from Nokia770 by a my dtn  
> application to the laptop, dtnd on laptop showed the error  
> information as:
> ASSERTION FAILED (cc == (int)len) at bundling/ 
> PrimaryBlockProcessor.cc:407
> STACK TRACE: 0x80cc4d7 0x807dc55 0x8075cfe 0x80c4bb8 0x80c4583  
> 0x808f338 0x80bd7ed 0x80f6ea3 0x80f6dc2 0xb7e19b63
> Aborted

The best I can understand this is that there's an error in the bundle  
protocol formatting where it's getting a zero length primary block.  
If you update to the latest CVS version I've added some better error  
checking to handle this case so please try it again with the newer  
version of the code.

-m



Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARH3JY15646 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 09:03:19 -0800
Received: from [10.212.2.165] (bldmz-nat-161-186.berkeley.intel-research.net [12.155.161.186]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kARH3H36014286 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 27 Nov 2006 09:03:18 -0800 (PST)
In-Reply-To: <d35f8e370611270849p753bd86cm317c67adac205405@mail.gmail.com>
References: <d35f8e370611231002y55670b94pdf874232ed520003@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE01552823@IMCSRV4.MITRE.ORG> <d35f8e370611270849p753bd86cm317c67adac205405@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-3--491271756
Message-Id: <051E8FA4-9EF9-4EB1-A90A-7DA376E65664@cs.berkeley.edu>
Cc: "Durst, Robert C." <durst@mitre.org>, Mooi Choo Chuah <mcchuah@gmail.com>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] DTN on Gumstix
X-Applemailsentby: demmer
Date: Mon, 27 Nov 2006 09:03:25 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-3--491271756
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

It will likely be helpful to look in the config.log file to find out  
exactly what's going wrong when configure fails its tests. It's a lot  
of output to wade through, but you should be able to find the gcc  
output from the failing linking step(s).

-mike



On Nov 27, 2006, at 8:49 AM, ryan m wrote:

> I think I'm running into what you ran into, I running
>
> ./configure --build=`uname -m` --host=arm-linux   --with-db=/opt/ 
> arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries --enable- 
> static
>
> I've also tried added --without-tclreadline since that's been  
> suggested a few times to cause linking issues, but both ways I get  
> the following configure error:
>
> configure: checking for tcl installation (version 8.4)
> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
> include... yes
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 - 
> ldl -lm -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 - 
> ldl -lm -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl - 
> ldl -lm -lpthread ... no
>
> the static tcl stuff is in there:
>
> root@runabout:/opt/arm-linux-libraries/lib# ls -l
> total 4824
> -rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb-4.4.a
> -rw-r--r-- 1 edifyteam edifyteam     820 2006-11-27 11:12 libdb-4.4.la
> -rwxr-xr-x 1 edifyteam edifyteam  975701 2006-11-27 11:12 libdb-4.4.so
> lrwxrwxrwx 1 root      root           12 2006-11-27 11:29  
> libdb-4.so -> libdb-4.4.so
> -rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a
> lrwxrwxrwx 1 root      root           12 2006-11-27 11:29 libdb.so - 
> > libdb-4.4.so
> -r-xr-xr-x 1 root      root      1058426 2006-11-27 11:32 libtcl8.4.a
> -rw-r--r-- 1 root      root         7126 2006-11-27 11:32  
> libtclstub8.4.a
> drwxr-xr-x 8 root      root         4096 2006-11-27 11:32 tcl8.4
> -rw-r--r-- 1 root      root         7224 2006-11-27 11:32 tclConfig.sh
>
> so I was looking at rules.make and I wasn't sure were to add a -L  
> directive since
>
> LDFLAGS         =   -L/opt/arm-linux-libraries/lib -L/opt/arm-linux- 
> libraries/lib
>
> is already in there
>
> note: I'm trying the openembedded system which openzaurus team uses  
> for development, i figured I try something that is set up  
> specifically with for the zaurus after my brush with scrachbox  
> producing incompatible binaries (hello world app wasn't even  
> recognized as an executable binary by the zaurus), anyways I had to  
> do static since this system doesn't have the libraries for linking  
> dynamic libraries (at least according to DTN2's configure), perhaps  
> there's a reason for this on the zaurus?
>
> On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
> Hey,
>
> I used the gumstix (www.gumstix.com) version of buildroot (http:// 
> docwiki.gumstix.org/Buildroot).  I saw your earlier message, and  
> wondered if there might be a problem with floating point emulation  
> in your environment.  I tried scratchbox earlier, and didn't really  
> like it.  Buildroot has been much cleaner for me (http:// 
> buildroot.uclibc.org/buildroot.html ).  There are some gumstix- 
> relevant patches, don't know if the zaurus would require patching  
> also.  Buildroot might be worth a look.
>
> BTW -- I had problems linking with the tcl library (not internal to  
> tcl, but having DTN *find* the tcl library).  I ended up creating a  
> separate directory, dragging the tcl stuff into it, and putting a - 
> L directive into the Rules.make to point to it.  Haven't figured  
> out or fixed what the foul up was there.
>
> Hope you're having a Happy Thanksgiving.
> Bob
>
> From: ryan m [mailto:smarts40@gmail.com]
> Sent: Thursday, November 23, 2006 1:02 PM
> To: Durst, Robert C.
> Subject: Re: [dtn-users] DTN on Gumstix
>
> I was just wondering what cross compile environment you used, are  
> there directions online on how to set it up?  That's the big  
> problem I'm running into now.  I've tried scratchbox but it doesn't  
> seem to want to find ieee lib when I try to compile tcl.  Any help  
> you could offer would be greatly appreciated.
>
> thank you,
> ryan
>
> On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
> Hi, all.  I just wanted to let folks know that I managed to get DTN  
> running on the Gumstix (cx) platform.  It took some minor  
> gyrations, and I had a problem that caused me to use the file db  
> instead of berkeley db.  (Further banging my head against the wall  
> might have caused berkeleydb to relent, but my head was sore enough  
> already.)  Have successfully run dtnping and dtnsend with static  
> routing (all I need in this application).
>
> Most of the hassle was in getting the cross-compilation set up  
> properly and getting libraries pointed to appropriately.  I'll try  
> to summarize things (unless somebody else already has and I didn't  
> notice) in the coming days/weeks.  Have some other things to do first.
>
> Regards,
> Bob Durst
>
>


--Apple-Mail-3--491271756
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">It will likely be helpful to =
look in the config.log file to find out exactly what's going wrong when =
configure fails its tests. It's a lot of output to wade through, but you =
should be able to find the gcc output from the failing linking =
step(s).<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-mike</DIV><DIV><BR =
class=3D"khtml-block-placeholder"><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 27, =
2006, at 8:49 AM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">I think =
I'm running into what you ran into, I running<BR><BR>./configure =
--build=3D`uname -m` --host=3Darm-linux=A0=A0 =
--with-db=3D/opt/arm-linux-libraries=A0 =
--with-tcl=3D/opt/arm-linux-libraries --enable-static<BR><BR>I've also =
tried added --without-tclreadline since that's been suggested a few =
times to cause linking issues, but both ways I get the following =
configure error: <BR><BR>configure: checking for tcl installation =
(version 8.4)<BR>checking for tcl.h (version 8.4) in =
/opt/arm-linux-libraries/include... yes<BR>checking for tcl library in =
/opt/arm-linux-libraries/lib: -ltcl8.4 -ldl -lm -lpthread ... no =
<BR>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 =
-ldl -lm -lpthread ... no<BR>checking for tcl library in =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm -lpthread ... no<BR><BR>the =
static tcl stuff is in there: =
<BR><BR>root@runabout:/opt/arm-linux-libraries/lib# ls -l<BR>total =
4824<BR>-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 =
libdb-4.4.a<BR>-rw-r--r-- 1 edifyteam edifyteam=A0=A0=A0=A0 820 =
2006-11-27 11:12 <A href=3D"http://libdb-4.4.la"> =
libdb-4.4.la</A><BR>-rwxr-xr-x 1 edifyteam edifyteam=A0 975701 =
2006-11-27 11:12 <A =
href=3D"http://libdb-4.4.so">libdb-4.4.so</A><BR>lrwxrwxrwx 1 root=A0=A0=A0=
=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 12 2006-11-27 11:29 libdb-4.so =
-&gt; <A href=3D"http://libdb-4.4.so"> libdb-4.4.so</A><BR>-rw-r--r-- 1 =
edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a<BR>lrwxrwxrwx 1 =
root=A0=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 12 2006-11-27 =
11:29 libdb.so -&gt; <A =
href=3D"http://libdb-4.4.so">libdb-4.4.so</A><BR>-r-xr-xr-x 1 root=A0=A0=A0=
=A0=A0 root=A0=A0=A0=A0=A0 1058426 2006-11-27 11:32 =
libtcl8.4.a<BR>-rw-r--r-- 1 root=A0=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0=
 7126 2006-11-27 11:32 libtclstub8.4.a<BR>drwxr-xr-x 8 root=A0=A0=A0=A0=A0=
 root=A0=A0=A0=A0=A0=A0=A0=A0 4096 2006-11-27 11:32 tcl8.4<BR>-rw-r--r-- =
1 root=A0=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0 7224 2006-11-27 11:32 =
tclConfig.sh <BR><BR>so I was looking at rules.make and I wasn't sure =
were to add a -L directive since<BR><BR>LDFLAGS=A0=A0=A0=A0=A0=A0=A0=A0 =
=3D=A0=A0 -L/opt/arm-linux-libraries/lib =
-L/opt/arm-linux-libraries/lib<BR><BR>is already in there<BR><BR>note: =
I'm trying the openembedded system which openzaurus team uses for =
development, i figured I try something that is set up specifically with =
for the zaurus after my brush with scrachbox producing incompatible =
binaries (hello world app wasn't even recognized as an executable binary =
by the zaurus), anyways I had to do static since this system doesn't =
have the libraries for linking dynamic libraries (at least according to =
DTN2's configure), perhaps there's a reason for this on the zaurus? =
<BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/23/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org">durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2">Hey,</FONT></SPAN></DIV> <DIV><SPAN></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">I used the =
gumstix (<A href=3D"http://www.gumstix.com" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">www.gumstix.com</A>) version of =
buildroot (<A href=3D"http://docwiki.gumstix.org/Buildroot" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">http://docwiki.gumstix.org/Buildroo=
t</A>).=A0 I saw your earlier message, and wondered if there might be a =
problem with floating point emulation in your environment.=A0 I tried =
scratchbox earlier, and didn't really like it.=A0 Buildroot has been =
much cleaner for me (<A =
href=3D"http://buildroot.uclibc.org/buildroot.html" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">http://buildroot.uclibc.org/buildro=
ot.html </A>).=A0 There are some gumstix-relevant patches, don't know if =
the zaurus would require patching also.=A0 Buildroot might be worth a =
look.</FONT></SPAN></DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">BTW -- I had problems =
linking with the tcl library (not internal to tcl, but having DTN *find* =
the tcl library).=A0 I ended up creating a separate directory, dragging =
the tcl stuff into it, and putting a -L directive into the Rules.make to =
point to it.=A0 Haven't figured out or fixed what the foul up was =
there.</FONT></SPAN></DIV> <DIV><SPAN></SPAN>=A0</DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">Hope you're having a Happy =
Thanksgiving.</FONT></SPAN></DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Bob</FONT>=A0</SPAN></DIV><BR> <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><B>From:</B> =
ryan m [mailto:<A href=3D"mailto:smarts40@gmail.com" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</A>]   =
<BR><B>Sent:</B> Thursday, November 23, 2006 1:02 PM<BR><B>To:</B> =
Durst,   Robert C.<BR><B>Subject:</B> Re: [dtn-users] DTN on   =
Gumstix<BR></FONT><BR></DIV><DIV><SPAN class=3D"e" =
id=3D"q_10f1644edd9c530f_1">  <DIV></DIV>I was just wondering what cross =
compile environment you used, are   there directions online on how to =
set it up?=A0 That's the big problem I'm   running into now.=A0 I've =
tried scratchbox but it doesn't seem to want to   find ieee lib when I =
try to compile tcl.=A0 Any help you could offer would   be greatly =
appreciated. <BR><BR>thank you,<BR>ryan<BR><BR>  <DIV><SPAN =
class=3D"gmail_quote">On 11/23/06, <B class=3D"gmail_sendername">Durst,  =
 Robert C.</B> &lt;<A href=3D"mailto:durst@mitre.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">durst@mitre.org</A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV><SPAN><FONT face=3D"Arial" size=3D"2">Hi, all.=A0 =
I just wanted to let folks     know that I managed to get DTN running on =
the Gumstix (cx) platform.=A0     It took some minor gyrations, and I =
had a problem that caused me to use the     file db instead of berkeley =
db.=A0 (Further banging my head against the     wall might have caused =
berkeleydb to relent, but my head was sore enough     already.)=A0 Have =
successfully run dtnping and dtnsend with static     routing (all I need =
in this application).=A0 </FONT></SPAN></DIV>    <DIV><SPAN><FONT =
face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    <DIV><SPAN><FONT =
face=3D"Arial" size=3D"2">Most of the hassle was in getting the     =
cross-compilation set up properly and getting libraries pointed to     =
appropriately.=A0 I'll try to summarize things (unless somebody else     =
already has and I didn't notice) in the coming days/weeks.=A0 Have some  =
   other things to do first.</FONT></SPAN></DIV>    <DIV><SPAN><FONT =
face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    <DIV><SPAN><FONT =
face=3D"Arial" size=3D"2">Regards,</FONT></SPAN></DIV>    =
<DIV><SPAN><FONT face=3D"Arial" size=3D"2">Bob   =
Durst</FONT></SPAN></DIV></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOCK=
QUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></DIV></BODY></HTML>=

--Apple-Mail-3--491271756--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.234]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARGnAY15439 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:49:10 -0800
Received: by wx-out-0506.google.com with SMTP id s7so1660542wxc for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:49:09 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=e7EiMioCfSjLw9urA1ZfbIKYf/7j6sNec2fAxbo4SiYngUd6evHzVw27u40XgxKKFpRkeaR0ayoK6HIK1vV8vSTgdHph/S15ZbTbuWwE2IlCMaUe9gmgZU9UVFo6Z7JisScXMqGOvdx0X1DKobz+4hopixK6byMguWd/zsWe6vQ=
Received: by 10.70.15.15 with SMTP id 15mr12870729wxo.1164646148835; Mon, 27 Nov 2006 08:49:08 -0800 (PST)
Received: by 10.70.72.19 with HTTP; Mon, 27 Nov 2006 08:49:07 -0800 (PST)
Message-ID: <d35f8e370611270849p753bd86cm317c67adac205405@mail.gmail.com>
Date: Mon, 27 Nov 2006 11:49:07 -0500
From: "ryan m" <smarts40@gmail.com>
To: "Durst, Robert C." <durst@mitre.org>
Subject: Re: [dtn-users] DTN on Gumstix
Cc: dtn-users@mailman.dtnrg.org, "Mooi Choo Chuah" <mcchuah@gmail.com>
In-Reply-To: <3B660B4ACB06BE488E3938F95115E4DE01552823@IMCSRV4.MITRE.ORG>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_24170_27782093.1164646147679"
References: <d35f8e370611231002y55670b94pdf874232ed520003@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE01552823@IMCSRV4.MITRE.ORG>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_24170_27782093.1164646147679
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I think I'm running into what you ran into, I running

./configure --build=`uname -m` --host=arm-linux
--with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
--enable-static

I've also tried added --without-tclreadline since that's been suggested a
few times to cause linking issues, but both ways I get the following
configure error:

configure: checking for tcl installation (version 8.4)
checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/include... yes
checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl -lm
-lpthread ... no
checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl -lm
-lpthread ... no
checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
-lpthread ... no

the static tcl stuff is in there:

root@runabout:/opt/arm-linux-libraries/lib# ls -l
total 4824
-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb-4.4.a
-rw-r--r-- 1 edifyteam edifyteam     820 2006-11-27 11:12 libdb-4.4.la
-rwxr-xr-x 1 edifyteam edifyteam  975701 2006-11-27 11:12 libdb-4.4.so
lrwxrwxrwx 1 root      root           12 2006-11-27 11:29 libdb-4.so ->
libdb-4.4.so
-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a
lrwxrwxrwx 1 root      root           12 2006-11-27 11:29 libdb.so ->
libdb-4.4.so
-r-xr-xr-x 1 root      root      1058426 2006-11-27 11:32 libtcl8.4.a
-rw-r--r-- 1 root      root         7126 2006-11-27 11:32 libtclstub8.4.a
drwxr-xr-x 8 root      root         4096 2006-11-27 11:32 tcl8.4
-rw-r--r-- 1 root      root         7224 2006-11-27 11:32 tclConfig.sh

so I was looking at rules.make and I wasn't sure were to add a -L directive
since

LDFLAGS         =   -L/opt/arm-linux-libraries/lib
-L/opt/arm-linux-libraries/lib

is already in there

note: I'm trying the openembedded system which openzaurus team uses for
development, i figured I try something that is set up specifically with for
the zaurus after my brush with scrachbox producing incompatible binaries
(hello world app wasn't even recognized as an executable binary by the
zaurus), anyways I had to do static since this system doesn't have the
libraries for linking dynamic libraries (at least according to DTN2's
configure), perhaps there's a reason for this on the zaurus?

On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
>
>  Hey,
>
> I used the gumstix (www.gumstix.com) version of buildroot (
> http://docwiki.gumstix.org/Buildroot).  I saw your earlier message, and
> wondered if there might be a problem with floating point emulation in your
> environment.  I tried scratchbox earlier, and didn't really like it.
> Buildroot has been much cleaner for me (
> http://buildroot.uclibc.org/buildroot.html).  There are some
> gumstix-relevant patches, don't know if the zaurus would require patching
> also.  Buildroot might be worth a look.
>
> BTW -- I had problems linking with the tcl library (not internal to tcl,
> but having DTN *find* the tcl library).  I ended up creating a separate
> directory, dragging the tcl stuff into it, and putting a -L directive into
> the Rules.make to point to it.  Haven't figured out or fixed what the foul
> up was there.
>
> Hope you're having a Happy Thanksgiving.
> Bob
>
>  ------------------------------
> *From:* ryan m [mailto:smarts40@gmail.com]
> *Sent:* Thursday, November 23, 2006 1:02 PM
> *To:* Durst, Robert C.
> *Subject:* Re: [dtn-users] DTN on Gumstix
>
> I was just wondering what cross compile environment you used, are there
> directions online on how to set it up?  That's the big problem I'm running
> into now.  I've tried scratchbox but it doesn't seem to want to find ieee
> lib when I try to compile tcl.  Any help you could offer would be greatly
> appreciated.
>
> thank you,
> ryan
>
> On 11/23/06, Durst, Robert C. <durst@mitre.org> wrote:
> >
> >  Hi, all.  I just wanted to let folks know that I managed to get DTN
> > running on the Gumstix (cx) platform.  It took some minor gyrations, and I
> > had a problem that caused me to use the file db instead of berkeley db.
> > (Further banging my head against the wall might have caused berkeleydb to
> > relent, but my head was sore enough already.)  Have successfully run dtnping
> > and dtnsend with static routing (all I need in this application).
> >
> > Most of the hassle was in getting the cross-compilation set up properly
> > and getting libraries pointed to appropriately.  I'll try to summarize
> > things (unless somebody else already has and I didn't notice) in the coming
> > days/weeks.  Have some other things to do first.
> >
> > Regards,
> > Bob Durst
> >
>
>

------=_Part_24170_27782093.1164646147679
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I think I'm running into what you ran into, I running<br><br>./configure --build=`uname -m` --host=arm-linux&nbsp;&nbsp; --with-db=/opt/arm-linux-libraries&nbsp; --with-tcl=/opt/arm-linux-libraries --enable-static<br><br>I've also tried added --without-tclreadline since that's been suggested a few times to cause linking issues, but both ways I get the following configure error:
<br><br>configure: checking for tcl installation (version 8.4)<br>checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/include... yes<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl -lm -lpthread ... no
<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl -lm -lpthread ... no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl -lm -lpthread ... no<br><br>the static tcl stuff is in there:
<br><br>root@runabout:/opt/arm-linux-libraries/lib# ls -l<br>total 4824<br>-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb-4.4.a<br>-rw-r--r-- 1 edifyteam edifyteam&nbsp;&nbsp;&nbsp;&nbsp; 820 2006-11-27 11:12 <a href="http://libdb-4.4.la">
libdb-4.4.la</a><br>-rwxr-xr-x 1 edifyteam edifyteam&nbsp; 975701 2006-11-27 11:12 <a href="http://libdb-4.4.so">libdb-4.4.so</a><br>lrwxrwxrwx 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 2006-11-27 11:29 libdb-4.so -&gt; <a href="http://libdb-4.4.so">
libdb-4.4.so</a><br>-rw-r--r-- 1 edifyteam edifyteam 1426564 2006-11-27 11:29 libdb.a<br>lrwxrwxrwx 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12 2006-11-27 11:29 libdb.so -&gt; <a href="http://libdb-4.4.so">libdb-4.4.so</a><br>-r-xr-xr-x 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1058426 2006-11-27 11:32 
libtcl8.4.a<br>-rw-r--r-- 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7126 2006-11-27 11:32 libtclstub8.4.a<br>drwxr-xr-x 8 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 2006-11-27 11:32 tcl8.4<br>-rw-r--r-- 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7224 2006-11-27 11:32 tclConfig.sh
<br><br>so I was looking at rules.make and I wasn't sure were to add a -L directive since<br><br>LDFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp;&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib<br><br>is already in there<br><br>note: I'm trying the openembedded system which openzaurus team uses for development, i figured I try something that is set up specifically with for the zaurus after my brush with scrachbox producing incompatible binaries (hello world app wasn't even recognized as an executable binary by the zaurus), anyways I had to do static since this system doesn't have the libraries for linking dynamic libraries (at least according to DTN2's configure), perhaps there's a reason for this on the zaurus?
<br><br><div><span class="gmail_quote">On 11/23/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org">durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div><span><font color="#0000ff" face="Arial" size="2">Hey,</font></span></div>
<div><span></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">I used 
the gumstix (<a href="http://www.gumstix.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.gumstix.com</a>) version of 
buildroot (<a href="http://docwiki.gumstix.org/Buildroot" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://docwiki.gumstix.org/Buildroot</a>).&nbsp; 
I saw your earlier message, and wondered if there might be a problem with 
floating point emulation in your environment.&nbsp; I tried scratchbox earlier, 
and didn't really like it.&nbsp; Buildroot has been much cleaner for me (<a href="http://buildroot.uclibc.org/buildroot.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://buildroot.uclibc.org/buildroot.html
</a>).&nbsp; 
There are some gumstix-relevant patches, don't know if the zaurus would require 
patching also.&nbsp; Buildroot might be worth a look.</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">BTW -- 
I had problems linking with the tcl library (not internal to tcl, but having DTN 
*find* the tcl library).&nbsp; I ended up creating a separate directory, 
dragging the tcl stuff into it, and putting a -L directive into the Rules.make 
to point to it.&nbsp; Haven't figured out or fixed what the foul up was 
there.</font></span></div>
<div><span></span>&nbsp;</div>
<div><span><font color="#0000ff" face="Arial" size="2">Hope 
you're having a Happy Thanksgiving.</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2">Bob</font>&nbsp;</span></div><br>
<blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div dir="ltr" align="left" lang="en-us">
  <hr>
  <font face="Tahoma" size="2"><b>From:</b> ryan m [mailto:<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</a>] 
  <br><b>Sent:</b> Thursday, November 23, 2006 1:02 PM<br><b>To:</b> Durst, 
  Robert C.<br><b>Subject:</b> Re: [dtn-users] DTN on 
  Gumstix<br></font><br></div><div><span class="e" id="q_10f1644edd9c530f_1">
  <div></div>I was just wondering what cross compile environment you used, are 
  there directions online on how to set it up?&nbsp; That's the big problem I'm 
  running into now.&nbsp; I've tried scratchbox but it doesn't seem to want to 
  find ieee lib when I try to compile tcl.&nbsp; Any help you could offer would 
  be greatly appreciated. <br><br>thank you,<br>ryan<br><br>
  <div><span class="gmail_quote">On 11/23/06, <b class="gmail_sendername">Durst, 
  Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">durst@mitre.org</a>&gt; 
  wrote:</span>
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div>
    <div><span><font face="Arial" size="2">Hi, all.&nbsp; I just wanted to let folks 
    know that I managed to get DTN running on the Gumstix (cx) platform.&nbsp; 
    It took some minor gyrations, and I had a problem that caused me to use the 
    file db instead of berkeley db.&nbsp; (Further banging my head against the 
    wall might have caused berkeleydb to relent, but my head was sore enough 
    already.)&nbsp; Have successfully run dtnping and dtnsend with static 
    routing (all I need in this application).&nbsp; </font></span></div>
    <div><span><font face="Arial" size="2"></font></span>&nbsp;</div>
    <div><span><font face="Arial" size="2">Most of the hassle was in getting the 
    cross-compilation set up properly and getting libraries pointed to 
    appropriately.&nbsp; I'll try to summarize things (unless somebody else 
    already has and I didn't notice) in the coming days/weeks.&nbsp; Have some 
    other things to do first.</font></span></div>
    <div><span><font face="Arial" size="2"></font></span>&nbsp;</div>
    <div><span><font face="Arial" size="2">Regards,</font></span></div>
    <div><span><font face="Arial" size="2">Bob 
  Durst</font></span></div></div></blockquote></div><br></span></div></blockquote></div>

</blockquote></div><br>

------=_Part_24170_27782093.1164646147679--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARGHiY15186 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:17:44 -0800
Received: from [10.212.2.165] (bldmz-nat-161-186.berkeley.intel-research.net [12.155.161.186]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kARGHZaX013442 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 27 Nov 2006 08:17:42 -0800 (PST)
In-Reply-To: <d35f8e370611231644kde40742u95ba79bb8f2ac201@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com> <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com> <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com> <F589C114-9727-445A-9162-090C013A0B0C@cs.berkeley.edu> <d35f8e370611221124m79a2caf0tbede5d54fe932ae5@mail.gmail.com> <d35f8e370611231644kde40742u95ba79bb8f2ac201@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-1--495071749
Message-Id: <F51A1792-E416-4E8A-9344-0C0E7F3B415D@cs.berkeley.edu>
Cc: mcchuah@gmail.com
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Mon, 27 Nov 2006 08:00:05 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1--495071749
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

That is quite strange.

I have a vague recollection that some ARM systems are big-endian and  
some are little-endian. Try running file on some other executable on  
the system and see if it matches the result of your cross-compilation.

Also I would try compiling a simple 'hello world' style application  
using your cross-compilation environment and making sure that works.

-m


On Nov 23, 2006, at 4:44 PM, ryan m wrote:

> so using scratch box I've managed to cross-compile everything, but  
> now I'm getting the oddest behavior on the pda....
>
> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd
> -sh: ./dtnd: not found
> root@collie :~/Applications/DTN_wireless/DTN2/daemon# ls -l
> drwxr-xr-x    2 root     root         4096 Mar 21 07:33 CVS
> -rw-r--r--    1 root     root         1184 Oct 24  2006 Makefile
> -rw-r--r--    1 root     root          207 Oct  7 22:15 Makefile- 
> Builddir.in
> -rw-r--r--    1 root     root         4347 Mar 21 07:42 dtn.conf
> -rwxrwxrwx    1 root     root     10916416 Nov 24  2006 dtnd
> -rw-r--r--    1 root     root        12251 Oct 24  2006 dtnd.cc
> -rw-r--r--    1 root     root         4624 Nov 24  2006 dtnd.d
> -rw-r--r--    1 root     root        83872 Nov 24  2006 dtnd.o
> -rw-r--r--    1 root     root        44555 Oct 26  2006 router.xsd
>
> it is a arm binary because on the laptop I cross compiled it on:
>
> edifyteam@runabout:~/DTN/zaurus/build/DTN2/daemon$ file dtnd
> dtnd: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically  
> linked (uses shared libs), not stripped
>
> and on the PDA when i do
> hexdump ./dtnd
> that works, which means the file is there so it transfered alright.
>
> this is the crazyest error I've ever seen... anyone have any ideas?
>
> On 11/22/06, ryan m <smarts40@gmail.com> wrote:
> so I'm trying scratchbox, I have it installed, I'm trying to  
> recompile tcl, and running into a bit of an issue with it finding  
> the libraries.  It configures fine, but when I try to compile, I get:
>
> arm-linux-gcc -pipe -shared -o libtcl8.4.so regcomp.o regexec.o  
> regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o  
> tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o  
> tclCompCmds.o tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o  
> tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o  
> tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o  
> tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o  
> tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o  
> tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o  
> tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o  
> tclResult.o tclScan.o tclStringObj.o tclThread.o tclThreadAlloc.o  
> tclThreadJoin.o tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o  
> tclUtil.o tclVar.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o  
> tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o  
> tclUnixInit.o tclUnixThrd.o tclUnixCompat.o tclUnixNotfy.o memcmp.o  
> strstr.o strtoul.o strtod.o tclLoadDl.o  -ldl  -lieee -lm   -Wl,- 
> rpath,/scratchbox/host_shared/lib//lib
> /scratchbox/compilers/arm-gcc3.4-uclibc0.9.28/lib/gcc/arm-linux- 
> uclibc/3.4.6/../../../../arm-linux-uclibc/bin/ld: cannot find -lieee
> collect2: ld returned 1 exit status
> make: *** [libtcl8.4.so] Error 1
>
> and the library is there
>
> edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name *ieee*
> ./libieee.a
>
> I've tried various configure args to try to fix it, but to no  
> avail, including:
> --without-ieee
> --x-libraries=/scratchbox/host_shared/lib
> --libdir=/scratchbox/host_shared/lib
>
> any thoughts on this?, did you run into it?
>
>
> On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> Sorry -- from what I remember it worked out of the box.
> We've also had some success with scratchbox, you could try that  
> approach instead for cross-compiling.
>
> -m
>
>
> On Nov 20, 2006, at 5:33 PM, ryan m wrote:
>
>> opps forgot an updatedb
>>
>> root@runabout:~# locate pthread.h
>> /opt/arm-linux-gnu/include/pthread.h
>> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
>> /usr/include/nptl/pthread.h
>> /usr/include/pthread.h
>> /usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
>> root@runabout:~#
>>
>>
>> On 11/20/06, ryan m < smarts40@gmail.com> wrote:
>> oooh and some googling says to do this:
>>
>> 1. threads issue (read before) : use option "--disable-threads"
>>
>> but since DTN2 requires threads this seems like a bad idea....
>> On 11/20/06, ryan m <smarts40@gmail.com> wrote:
>> so things were going so-so until I went to build gcc:
>> gcc
>>
>> Now do:
>>
>> # cd ../gcc-arm-linux-3.3.z/
>> # debuild
>>
>> it failes at:
>> /usr/src/gcc- arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm- 
>> linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/  
>> -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys- 
>> include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings - 
>> Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  - 
>> isystem ./include  -fomit-frame-pointer -fPIC -g0 - 
>> DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED - 
>> Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../ 
>> src/gcc/../include  -fexceptions -c ../../src/gcc/unwind- dw2.c -o  
>> libgcc/./unwind-dw2.o
>> In file included from ./gthr-default.h:1,
>>                  from ../../src/gcc/gthr.h:96,
>>                  from ../../src/gcc/unwind-dw2.c:42:
>> ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or  
>> directory
>> ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory
>>
>>
>> the thread thing kills me once again
>>
>> pthread.h is there... not sure were it's looking for it, or even  
>> if I copied the /usr/include/pthread.h to where it's looking for  
>> it would do anything
>>
>> root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate  
>> pthread.h
>> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
>> /usr/include/nptl/pthread.h
>> /usr/include/pthread.h
>>
>> Did you run anything like this?
>>
>>
>> On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
>>
>> I set up a debian system using the following instructions:
>>
>> http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
>>
>> At the time, that worked on my zaurus.
>>
>> -m
>>
>> On Nov 19, 2006, at 12:54 PM, ryan m wrote:
>>
>>> make test in the oasys directory fails here:
>>>
>>> arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.   - 
>>> I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/ 
>>> include -g -fno-inline  -MMD -MP -MT " sample-.o sample-.E  
>>> sample-.po" -Wall -W -Wcast-align  -Werror  -static  -L/opt/arm- 
>>> linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm - 
>>> lpthread  liboasys.a -ltcl8.4 -ldb-4.4
>>> liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined  
>>> reference to `pthread_kill'
>>> liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to  
>>> `pthread_detach'
>>> liboasys.a (Thread.o):thread/Thread.cc:210: undefined reference  
>>> to `pthread_join'
>>> liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to  
>>> `pthread_kill'
>>> liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to  
>>> `pthread_sigmask'
>>> collect2: ld returned 1 exit status
>>> make: *** [test/sample-test] Error 1
>>>
>>> so it definatly seems like a pthread library issue, any idea how  
>>> I can fix this.  The libraries do indeed exsist.
>>>
>>> edifyteam@runabout :/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$  
>>> ls -ld *thread*
>>> -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
>>> -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
>>> -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
>>> lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->  
>>> libpthread.so.0
>>> lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->  
>>> libpthread-0.10.so
>>> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db- 1.0.so
>>> lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->  
>>> libthread_db.so.1
>>> lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 - 
>>> > libthread_db- 1.0.so
>>>
>>>
>>> EVERY zaurus specific cross compile evironment I can find (either  
>>> instructions on producing one or a tar of one) is gcc 2.x which  
>>> as we found out is unable to compile DTN2 ri.  Has anyone found a  
>>> suitable cross compile environment for the zaurus based off of  
>>> gcc 3.x?
>>>
>>> On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>> Unfortunately I'm not sure if I can give you any more advice on  
>>> this -- again this looks like there's something wrong with the  
>>> build and/or the system being incompatible or unstable. You could  
>>> try compiling and running simpler programs with your setup to  
>>> make sure the basic compiler is working, then perhaps try a  
>>> simple multithreaded one, etc. If you run 'make tests' in the  
>>> DTN2/oasys directory that will build a bunch of unit tests which  
>>> you could try out to make sure things are working.
>>>
>>> -m
>>>
>>>
>>> On Nov 16, 2006, at 7:10 PM, ryan m wrote:
>>>
>>>> backtrace to follow:
>>>>
>>>> [1142331726.187026 /dtnd debug] started dtn server
>>>> [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
>>>> [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
>>>> [1142331726.188407 /dtn/apiserver/13 debug] binding to  
>>>> 127.0.0.1:5010
>>>> [1142331726.188762 /dtn/apiserver/13 debug] listening
>>>> [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
>>>> [1142331726.189462 /thread debug] delaying start of thread  
>>>> 0x4240f8 due to barrier
>>>> [1142331726.189880 /thread debug] releasing thread creation  
>>>> barrier -- 3 queued threads
>>>> [1142331726.190299 /thread debug] starting thread 0x42b544
>>>>
>>>> Program received signal SIG32, Real-time event 32.
>>>> 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/ 
>>>> sysv/linux/sigsuspend.c:55
>>>> 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or  
>>>> directory.
>>>>         in ../sysdeps/unix/sysv/linux/sigsuspend.c
>>>> Current language:  auto; currently c
>>>> (gdb) backtrace
>>>> #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/ 
>>>> unix/sysv/linux/sigsuspend.c:55
>>>> #1  0x00249ed4 in __pthread_wait_for_restart_signal  
>>>> (self=0x3c3620) at pthread.c:1067
>>>> #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,  
>>>> attr=0x3c3e64,
>>>>     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*) 
>>>> >, arg=0x42b544) at restart.h:36
>>>> #3  0x0010949c in oasys::Thread::start (this=0x42b544) at thread/ 
>>>> Thread.cc:169
>>>> #4  0x0010912c in oasys::Thread::release_start_barrier () at  
>>>> thread/Thread.cc:70
>>>> #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,  
>>>> argv=0xbffffd14) at dtnd.cc:401
>>>> #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
>>>>
>>>>
>>>> as far as my cross compiler I used a generic one for arm  
>>>> embedded systems... I couldn't find a zaurus one that was up to  
>>>> date enough to compile DTN2
>>>>
>>>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>>>> It looks like there's something more seriously wrong with your  
>>>> build. If you could print out the stack trace using gdb or some  
>>>> such, that would be helpful, but both these errors seem to me  
>>>> like there's something quite messed up in your build setup,  
>>>> perhaps a bogus cross compiler or the wrong endianness or  
>>>> something like that.
>>>>
>>>> -mike
>>>>
>>>> On Nov 16, 2006, at 8:30 AM, ryan m wrote:
>>>>
>>>>> well --db-init completed so I went to run it without --init-db  
>>>>> and got:
>>>>>
>>>>> [1142293298.812187 /dtn/storage/globals debug] loading global  
>>>>> store
>>>>> [1142293298.813051 /dtn/storage/globals debug] opening file / 
>>>>> home/root/Applications/DTN_wireless/tmp/db/DTN/globals/ 
>>>>> 0000000aglobal_key-
>>>>> [1142293298.814094 /thread debug] delaying start of thread  
>>>>> 0x429220 due to barrier
>>>>> [1142293298.814538 /dtnd debug] started dtn server
>>>>> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
>>>>> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
>>>>> [1142293298.815706 /dtn/apiserver/12 debug] binding to  
>>>>> 127.0.0.1:5010
>>>>> [1142293298.816067 /dtn/apiserver/12 debug] listening
>>>>> [1142293298.816451 /dtn/apiserver/12 debug] state INIT ->  
>>>>> LISTENING
>>>>> [1142293298.833241 /thread debug] delaying start of thread  
>>>>> 0x424030 due to barrier
>>>>> [1142293298.839105 /thread debug] releasing thread creation  
>>>>> barrier -- 3 queued threads
>>>>> [1142293298.845033 /thread debug] starting thread 0x42ae7c
>>>>> [1142293298.851478 /thread debug] starting thread 0x429220
>>>>> [1142293298.857805 /thread debug] starting thread 0x424030
>>>>> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
>>>>> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c  
>>>>> 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
>>>>> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
>>>>> [1142293298.929495 /command debug] starting command server on  
>>>>> 127.0.0.1:5050
>>>>> [1142293298.937500 /command info] can't load tclreadline: can't  
>>>>> find package tclreadline
>>>>> [1142293298.938120 /command info] fall back to simple command loop
>>>>> collie dtn% Segmentation fault
>>>>>
>>>>> THANK YOU for your help and patience
>>>>>
>>>>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>>>>> Hmm... That's a strange one. You could try just using the  
>>>>> filesystem store by changing 'storage set type berkeleydb' to  
>>>>> 'storage set type filesysdb'.
>>>>>
>>>>> -m
>>>>>
>>>>>
>>>>> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>>>>>
>>>>>> well that got me a little farther at least... this is where it  
>>>>>> died this time:
>>>>>>
>>>>>> [1142289491.726722 /dtnd notice] initializing persistent data  
>>>>>> store
>>>>>> [1142289491.767648 /dtn/storage notice] creating new database  
>>>>>> directory /home/root/Applications/DTN_wireless/tmp/db
>>>>>> [1142289491.884849 /dtn/storage info] initializing db name=DTN  
>>>>>> (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
>>>>>> [1142289492.284995 /storage/berkeleydb error] DB internal  
>>>>>> error: unable to initialize mutex: Function not implemented
>>>>>> [1142289492.290986 /storage/berkeleydb error] DB internal  
>>>>>> error: PANIC: Function not implemented
>>>>>> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:  
>>>>>> Fatal error, run database recovery, cannot open database
>>>>>> [1142289492.316046 /dtn/storage error] can't initialize  
>>>>>> berkeleydb -1000
>>>>>> [1142289492.316369 /dtnd critical] error creating storage system
>>>>>> [1142289492.316683 /dtnd error] error initializing data store,  
>>>>>> exiting...
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>>>>>
>>>>>> The only reason you could be getting that error is if the name  
>>>>>> lookup failed for some reason. You could try putting the IP  
>>>>>> address in the llink configuration and seeing if that works.  
>>>>>> If it does, then there must be something wrong with the host  
>>>>>> configuration or some other reason why the gethostbyname  
>>>>>> wrapper (in oasys/io/NetUtils.cc) would be failing. You could  
>>>>>> put more debug logging in there to trace it down further.
>>>>>>
>>>>>> -m
>>>>>>
>>>>>>
>>>>>> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>>>>>>
>>>>>>> so I've got a static version of dtnd compiled and on the  
>>>>>>> zaurus, and now I'm getting this odd behavior when I try to run
>>>>>>>
>>>>>>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>>>>>>
>>>>>>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>>>>>>> dtn.conf...
>>>>>>> [1142213113.433018 /command debug] executing command file ./ 
>>>>>>> dtn.conf
>>>>>>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>>>>>>> [1142213113.447671 /dtn/interface/table info] adding  
>>>>>>> interface tcp0 (tcp)
>>>>>>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>>>>>>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug]  
>>>>>>> created pipe, fds: 9 10
>>>>>>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>>>>>>> set_nonblocking: nonblocking mode set
>>>>>>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>>>>>>> set_nonblocking: nonblocking mode set
>>>>>>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created  
>>>>>>> socket 11
>>>>>>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting  
>>>>>>> SO_REUSEADDR
>>>>>>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>>>>>>> 0.0.0.0:5000
>>>>>>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>>>>>>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT - 
>>>>>>> > LISTENING
>>>>>>> [1142213113.462443 /thread debug] delaying start of thread  
>>>>>>> 0x42bb54 due to barrier
>>>>>>> [1142213113.464152 /dtn/link/link1 debug] set_state  
>>>>>>> UNAVAILABLE -> AVAILABLE
>>>>>>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>>>>>>> rcm2.cse.lehigh.edu:5000
>>>>>>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname  
>>>>>>> ' rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>>>>>>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop  
>>>>>>> address ' rcm2.cse.lehigh.edu:5000 '
>>>>>>> [1142213113.466579 /dtn/cl/tcp error] error parsing link  
>>>>>>> nexthop ' rcm2.cse.lehigh.edu:5000'
>>>>>>> [1142213113.467679 /command error] error: line 137: 'invalid  
>>>>>>> link option: (unknown)':
>>>>>>> invalid link option: (unknown)
>>>>>>>     while executing
>>>>>>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>>>>>>     (file "./dtn.conf" line 137)
>>>>>>> [1142213113.468105 /dtnd error] error in configuration file,  
>>>>>>> exiting...
>>>>>>>
>>>>>>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't  
>>>>>>> a failure in name resolution.
>>>>>>>
>>>>>>> sorry about posting the "wrong" list, I knew there was  
>>>>>>> discussion of making multiple lists, but I wasn't aware that  
>>>>>>> it had actually happened, since I don't have the time to read  
>>>>>>> everything that goes through dtn-interest. Thank you for the  
>>>>>>> help so far.
>>>>>>>
>>>>>>>
>>>>>>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>>>>>>> First of all, let me say that this discussion should be on  
>>>>>>> dtn-users. I don't know if ryan is on that list or not, but  
>>>>>>> if you're not, please in the future use that list for dtn  
>>>>>>> reference implementation questions, not dtn-interest.
>>>>>>>
>>>>>>> As far as building tcl statically goes, it's a bit confusing,  
>>>>>>> but you need to run tcl's ./configure --disable-shared to  
>>>>>>> tell it to build a full static libtcl8.4.a. You don't want  
>>>>>>> the stub library linked in.
>>>>>>>
>>>>>>> As far as your original problem goes, I suggested linking  
>>>>>>> statically to try to confirm that it's not a library  
>>>>>>> compatibility issue due to the cross compilation. I don't  
>>>>>>> know if this will help or not, but that's what I suggest to  
>>>>>>> do first.
>>>>>>>
>>>>>>> -mike
>>>>>>>
>>>>>>>
>>>>>>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>>>>>>
>>>>>>>> my libtclstub is libtclstub8.4.so.a and if i try to link to  
>>>>>>>> it with a link name of libtclstub8.4.so.a or  
>>>>>>>> libtclstub8.4.so in the /usr/lib directory.  ldconfig  
>>>>>>>> complains it " is not an ELF file - it has the wrong magic  
>>>>>>>> bytes at the start" so I had to leave that link out, but I  
>>>>>>>> did do the other links, but dtnd crashes the same way.
>>>>>>>>
>>>>>>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>>>>>>> I added links in the target for the following:
>>>>>>>>
>>>>>>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>>>>>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>>>>>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>>>>>>
>>>>>>>> For some reason, it seemed like the tcl libraries wanted to  
>>>>>>>> be in the same directory as the pthread libraries (but I  
>>>>>>>> haven't confirmed that).  I just moved on as soon as things  
>>>>>>>> started working.
>>>>>>>>
>>>>>>>> Let me know if this helps for you...
>>>>>>>>
>>>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn- 
>>>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>>>> Sent: Monday, November 13, 2006 10:34 AM
>>>>>>>> To: DTNRG
>>>>>>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>>>
>>>>>>>> is that something I can do with a configure argument to  
>>>>>>>> building the tcl library (I can't find it in ./configure -- 
>>>>>>>> help)?, and do you think that doing a static build is the  
>>>>>>>> best way to fix the original issue I was having on the PDA?
>>>>>>>>
>>>>>>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>>>>>>> I suspect the answer is that you need a 'real' tcl library  
>>>>>>>> (a .a file) that can be linked statically.  I don't think  
>>>>>>>> shared objects (the .so tcl library you have in the arm  
>>>>>>>> directory) can be linked that way.
>>>>>>>>
>>>>>>>>         --keith
>>>>>>>>
>>>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn- 
>>>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>>>> Sent: Monday, November 13, 2006 10:17 AM
>>>>>>>> To: DTNRG
>>>>>>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>>>
>>>>>>>> when i configure with this:
>>>>>>>>
>>>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm- 
>>>>>>>> linux-libraries
>>>>>>>>
>>>>>>>> configure completes fine, but... when I do this:
>>>>>>>>
>>>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm- 
>>>>>>>> linux-libraries
>>>>>>>> --enable-static
>>>>>>>>
>>>>>>>> I get:
>>>>>>>>
>>>>>>>> configure: checking for tcl installation (version 8.4 )
>>>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>>>> include... yes
>>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>>> ltcl8.4 -ldl
>>>>>>>> -lm -lpthread ... no
>>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>>> ltcl84 -ldl
>>>>>>>> -lm -lpthread ... no
>>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>>> ltcl -ldl -lm
>>>>>>>> -lpthread ... no
>>>>>>>>
>>>>>>>> configure: checking for tcl installation (version 8.3)
>>>>>>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>>>>>>> include... no
>>>>>>>> configure: error: can't find usable tcl.h
>>>>>>>>
>>>>>>>> and it is there:
>>>>>>>>
>>>>>>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>>>>>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>>>>>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>>>>>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>>>>>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>>>>>>
>>>>>>>> without enable-static:
>>>>>>>>
>>>>>>>> configure: checking for tcl installation (version 8.4)
>>>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>>>> include... yes
>>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>>>>>>> ltcl8.4 -ldl
>>>>>>>> -lm -lpthread ... yes
>>>>>>>>
>>>>>>>>
>>>>>>>> Thank you for the help
>>>>>>>>
>>>>>>>>
>>>>>>>> Michael Demmer wrote:
>>>>>>>> > try statically building dtnd and see if that works.
>>>>>>>> >
>>>>>>>> > -m
>>>>>>>> >
>>>>>>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>>>>>>> >
>>>>>>>> >> So I finally had a chance to try out the DTN on the  
>>>>>>>> zaurus.  So I
>>>>>>>> >> copied over the libs that I had cross compiled, which  
>>>>>>>> seemed obvious
>>>>>>>> >> to do. Then DTN was complaining about stdc++ lib so I  
>>>>>>>> copied over the
>>>>>>>> >> libs from the lib directory of the cross compile tool  
>>>>>>>> chain, I figured
>>>>>>>> >> that if it was linking in those libs to make arm binaries  
>>>>>>>> the libs
>>>>>>>> >> themselves must be arm compatabile, is this right?  So  
>>>>>>>> the sum of it
>>>>>>>> >> is I get this when I try to run DTN:
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./ 
>>>>>>>> dtnd -l DEBUG
>>>>>>>> >> -c ./dtn.conf --init-db
>>>>>>>> >> ./dtnd: error while loading shared libraries: libstdc+ 
>>>>>>>> +.so.5: cannot
>>>>>>>> >> open shared object file: No such file or directory
>>>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#  
>>>>>>>> ldconfig
>>>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./ 
>>>>>>>> dtnd -l DEBUG
>>>>>>>> >> -c ./dtn.conf --init-db
>>>>>>>> >> [1142218881.762749 /log debug] adding log reparse signal  
>>>>>>>> handler
>>>>>>>> >> [1142218881.929239 /timer debug] adding signal handler  
>>>>>>>> 0xd6c14 for
>>>>>>>> >> signal 1
>>>>>>>> >> [ 1142218881.931204 /log debug] adding log rotate signal  
>>>>>>>> handler
>>>>>>>> >> [1142218881.933055 /timer debug] adding signal handler  
>>>>>>>> 0xd6b9c for
>>>>>>>> >> signal 10
>>>>>>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting  
>>>>>>>> up... (pid 1870)
>>>>>>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>>>>>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>>>>>>> >> Illegal instruction
>>>>>>>> >>
>>>>>>>> >> any thoughts?
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>>
>
>
>


--Apple-Mail-1--495071749
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">That is quite strange.=A0<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I have a vague recollection =
that some ARM systems are big-endian and some are little-endian. Try =
running file on some other executable on the system and see if it =
matches the result of your cross-compilation.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Also I would try compiling =
a simple 'hello world' style application using your cross-compilation =
environment and making sure that works.=A0</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 23, =
2006, at 4:44 PM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">so using =
scratch box I've managed to cross-compile everything, but now I'm =
getting the oddest behavior on the =
pda....<BR><BR>root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
./dtnd<BR>-sh: ./dtnd: not found<BR>root@collie =
:~/Applications/DTN_wireless/DTN2/daemon# ls -l<BR>drwxr-xr-x=A0=A0=A0 2 =
root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0 4096 Mar 21 07:33 =
CVS<BR>-rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=A0=
 1184 Oct 24=A0 2006 Makefile<BR>-rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 =
root=A0=A0=A0=A0=A0=A0=A0=A0=A0 207 Oct=A0 7 22:15 =
Makefile-Builddir.in<BR>-rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 =
root=A0=A0=A0=A0=A0=A0=A0=A0 4347 Mar 21 07:42 dtn.conf<BR>-rwxrwxrwx=A0=A0=
=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0 10916416 Nov 24=A0 2006 =
dtnd<BR>-rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0 =
12251 Oct 24=A0 2006 dtnd.cc<BR> -rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 =
root=A0=A0=A0=A0=A0=A0=A0=A0 4624 Nov 24=A0 2006 dtnd.d<BR>-rw-r--r--=A0=A0=
=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0 83872 Nov 24=A0 2006 =
dtnd.o<BR>-rw-r--r--=A0=A0=A0 1 root=A0=A0=A0=A0 root=A0=A0=A0=A0=A0=A0=A0=
 44555 Oct 26=A0 2006 router.xsd<BR><BR>it is a arm binary because on =
the laptop I cross compiled it on: =
<BR><BR>edifyteam@runabout:~/DTN/zaurus/build/DTN2/daemon$ file =
dtnd<BR>dtnd: ELF 32-bit LSB executable, ARM, version 1 (ARM), =
dynamically linked (uses shared libs), not stripped<BR><BR>and on the =
PDA when i do<BR>hexdump ./dtnd <BR>that works, which means the file is =
there so it transfered alright.<BR><BR>this is the crazyest error I've =
ever seen... anyone have any ideas?<BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/22/06, <B class=3D"gmail_sendername"> ryan =
m</B> &lt;<A href=3D"mailto:smarts40@gmail.com">smarts40@gmail.com</A>&gt;=
 wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">so I'm trying scratchbox, I have it installed, I'm trying to =
recompile tcl, and running into a bit of an issue with it finding the =
libraries.=A0 It configures fine, but when I try to compile, I get: =
<BR><BR>arm-linux-gcc -pipe -shared -o <A href=3D"http://libtcl8.4.so" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtcl8.4.so</A> regcomp.o =
regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o =
tclBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o =
tclCompCmds.o tclCompExpr.o tclCompile.o tclDate.o tclEncoding.o =
tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o =
tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o =
tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o tclLiteral.o  =
tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o =
tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o =
tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o =
tclThread.o  tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o =
tclTimer.o tclUtf.o tclUtil.o tclVar.o tclUnixChan.o tclUnixEvent.o =
tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o =
tclUnixInit.o tclUnixThrd.o  tclUnixCompat.o tclUnixNotfy.o memcmp.o =
strstr.o strtoul.o strtod.o tclLoadDl.o=A0 -ldl=A0 -lieee -lm=A0=A0 =
-Wl,-rpath,/scratchbox/host_shared/lib//lib<BR>/scratchbox/compilers/arm-g=
cc3.4-uclibc0.9.28/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uc=
libc/bin/ld: cannot find -lieee <SPAN class=3D"q"><BR>collect2: ld =
returned 1 exit status<BR></SPAN>make: *** [<A =
href=3D"http://libtcl8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtcl8.4.so</A>] Error =
1<BR><BR>and the library is there =
<BR><BR>edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name =
*ieee*<BR>./libieee.a <BR><BR>I've tried various configure args to try =
to fix it, but to no avail, =
including:<BR>--without-ieee<BR>--x-libraries=3D/scratchbox/host_shared/li=
b<BR>--libdir=3D/scratchbox/host_shared/lib<BR><BR>any thoughts on =
this?, did you run into it? <DIV><SPAN class=3D"e" =
id=3D"q_10f112079441829d_3"><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/20/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>Sorry -- from what I remember it worked out of the =
box.<DIV>We've also had some success with scratchbox, you could try that =
approach instead for =
cross-compiling.</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV> =
</SPAN><DIV><SPAN><DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 20, 2006, at =
5:33 PM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">opps forgot an =
updatedb<BR><BR>root@runabout:~# locate pthread.h =
<BR>/opt/arm-linux-gnu/include/pthread.h<BR>/opt/backup/arm-linux-toolchai=
n/3.2.3/arm-linux/include/pthread.h<BR>/usr/include/nptl/pthread.h<BR>/usr=
/include/pthread.h =
<BR>/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h =
<BR>root@runabout:~# <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/20/06, <B class=3D"gmail_sendername">ryan m</B> &lt;<A =
href=3D"mailto:smarts40@gmail.com" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  smarts40@gmail.com</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">oooh and some googling says to do this:<BR><BR><PRE>1. threads =
issue (read before) : use option "--disable-threads"<BR><BR>but since =
DTN2 requires threads this seems like a bad =
idea....<BR></PRE><DIV><SPAN><DIV><SPAN class=3D"gmail_quote"> On =
11/20/06, <B class=3D"gmail_sendername"> ryan m</B> &lt;<A =
href=3D"mailto:smarts40@gmail.com" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">  so things were going so-so until I went to build gcc:<BR><H3 =
lang=3D"en">gcc</H3><P lang=3D"en">Now do:</P> <PRE lang=3D"en"># cd =
../gcc-arm-linux-3.3.z/<BR><SPAN lang=3D"en"># debuild<BR><BR>it failes =
at:<BR></SPAN></PRE>/usr/src/gcc- arm-linux-3.4.3/build/gcc/xgcc =
-B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ =
-B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem =
/usr/arm-linux/sys-include -O2=A0 -DIN_GCC -DCROSS_COMPILE=A0=A0 -W =
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes =
-Wold-style-definition=A0 -isystem ./include=A0 -fomit-frame-pointer =
-fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED =
-Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. =
-I../../src/gcc/../include=A0 -fexceptions -c ../../src/gcc/unwind- =
dw2.c -o libgcc/./unwind-dw2.o<BR>In file included from =
./gthr-default.h:1,<BR>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
from ../../src/gcc/gthr.h:96,<BR>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0 from =
../../src/gcc/unwind-dw2.c:42:<BR>../../src/gcc/gthr-posix.h:43:21: =
pthread.h  : No such file or =
directory<BR>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or =
directory<BR><BR><BR>the thread thing kills me once =
again<BR><BR>pthread.h is there... not sure were it's looking for it, or =
even if I copied the /usr/include/pthread.h to where it's looking for it =
would do anything =
<BR><BR>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate =
pthread.h<BR>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthre=
ad.h<BR>/usr/include/nptl/pthread.h<BR>/usr/include/pthread.h<BR><BR>Did =
you run anything like this? <DIV><SPAN><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/20/06, <B class=3D"gmail_sendername">Michael =
Demmer</B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
demmer@cs.berkeley.edu</A>&gt; wrote:</SPAN><BLOCKQUOTE =
class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, 204, =
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> =
<DIV><DIV><BR></DIV><DIV>I set up a debian system using the following =
instructions: </DIV><DIV><BR></DIV><DIV><A =
href=3D"http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html =
</A></DIV><DIV><BR></DIV><DIV>At the time, that worked on my =
zaurus.</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN> =
<BR><DIV><DIV>On Nov 19, 2006, at 12:54 PM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">make test in the oasys =
directory fails here: <BR><BR>arm-linux-g++ test/sample-test.cc -o =
test/sample-test -I. -I.=A0=A0 -I/opt/arm-linux-libraries/include =
-I/opt/arm-linux-libraries/include -g -fno-inline=A0 -MMD -MP -MT " =
sample-.o sample-.E sample-.po" -Wall -W -Wcast-align=A0 -Werror=A0 =
-static=A0 -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib =
-ldl -lm -lpthread=A0 liboasys.a -ltcl8.4 =
-ldb-4.4<BR>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: =
undefined reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to =
`pthread_detach'<BR>liboasys.a (Thread.o):thread/Thread.cc:210: =
undefined reference to =
`pthread_join'<BR>liboasys.a(Thread.o):thread/Thread.cc:225: undefined =
reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to =
`pthread_sigmask' <BR>collect2: ld returned 1 exit status<BR>make: *** =
[test/sample-test] Error 1<BR><BR>so it definatly seems like a pthread =
library issue, any idea how I can fix this.=A0 The libraries do indeed =
exsist. <BR><BR>edifyteam@runabout =
:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld =
*thread*<BR>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <A =
href=3D"http://libpthread-0.10.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libpthread-0.10.so =
</A><BR>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 =
libpthread.a<BR>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 =
libpthread_p.a<BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 15 2006-10-31 =
17:11 libpthread.so -&gt; libpthread.so.0<BR> lrwxrwxrwx 1 2619 man=A0=A0=A0=
=A0=A0 18 2006-10-31 17:11 libpthread.so.0 -&gt; <A =
href=3D"http://libpthread-0.10.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</A><BR> =
-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db- <A =
href=3D"http://1.0.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">1.0.so</A><BR>lrwxrwxrwx 1 2619 =
man=A0=A0=A0=A0=A0 17 2006-10-31 17:11 libthread_db.so -&gt; =
libthread_db.so.1 <BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 19 2006-10-31 =
17:11 libthread_db.so.1 -&gt; libthread_db- <A href=3D"http://1.0.so" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">1.0.so</A><BR><BR><BR>EVERY =
zaurus specific cross compile evironment I can find (either instructions =
on producing one or a tar of one) is gcc 2.x which as we found out is =
unable to compile DTN2 ri.=A0 Has anyone found a suitable cross compile =
environment for the zaurus based off of gcc 3.x?<BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/17/06, <B class=3D"gmail_sendername">   =
Michael Demmer</B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">   <DIV><DIV>Unfortunately I'm not sure if I can give you any more =
advice on this -- again this looks like there's something wrong with the =
build and/or the system being incompatible or unstable. You could try =
compiling and running simpler programs with your setup to make sure the =
basic compiler is working, then perhaps try a simple multithreaded one, =
etc. If you run 'make tests' in the DTN2/oasys directory that will build =
a bunch of unit tests which you could try out to make sure things are =
working.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:10 PM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">backtrace to follow: =
<BR><BR>[1142331726.187026 /dtnd debug] started dtn server =
<BR>[1142331726.187788 /dtn/apiserver/13 debug] created socket =
13<BR>[1142331726.188106 /dtn/apiserver/13 debug] setting =
SO_REUSEADDR<BR>[1142331726.188407 /dtn/apiserver/13 debug] binding to =
<A href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  =
127.0.0.1:5010</A><BR>[1142331726.188762 /dtn/apiserver/13 debug] =
listening<BR>[1142331726.189139 /dtn/apiserver/13 debug] state INIT =
-&gt; LISTENING <BR> [1142331726.189462 /thread debug] delaying start of =
thread 0x4240f8 due to barrier <BR>[1142331726.189880 /thread debug] =
releasing thread creation barrier -- 3 queued =
threads<BR>[1142331726.190299 /thread debug] starting thread 0x42b544 =
<BR><BR>Program received signal SIG32, Real-time event 32.<BR>0x002c7580 =
in __sigsuspend (set=3D0xbffff9b0) at =
../sysdeps/unix/sysv/linux/sigsuspend.c:55 <BR>55=A0=A0=A0=A0=A0 =
../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. =
<BR>=A0=A0=A0=A0=A0=A0=A0 in =
../sysdeps/unix/sysv/linux/sigsuspend.c<BR>Current language:=A0 auto; =
currently c<BR>(gdb) backtrace<BR>#0=A0 0x002c7580 in __sigsuspend =
(set=3D0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 <BR>#1=A0=
 0x00249ed4 in __pthread_wait_for_restart_signal (self=3D0x3c3620) at =
pthread.c:1067<BR>#2=A0 0x002496ac in __pthread_create_2_1 =
(thread=3D0x42b548, attr=3D0x3c3e64, <BR>=A0=A0=A0 =
start_routine=3D0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, =
arg=3D0x42b544) at restart.h:36<BR>#3=A0 0x0010949c in =
oasys::Thread::start (this=3D0x42b544) at thread/Thread.cc:169 <BR>#4=A0 =
0x0010912c in oasys::Thread::release_start_barrier () at =
thread/Thread.cc:70<BR>#5=A0 0x0000a838 in dtn::DTND::main =
(this=3D0xbffffc1c, argc=3D5, argv=3D0xbffffd14) at dtnd.cc:401<BR>#6=A0 =
0x0000aa0c in main (argc=3D5, argv=3D0xbffffd14) at =
dtnd.cc:427<BR><BR><BR>as far as my cross compiler I used a generic one =
for arm embedded systems... I couldn't find a zaurus one that was up to =
date enough to compile DTN2 <BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/16/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>It looks like there's something more seriously wrong with =
your build. If you could print out the stack trace using gdb or some =
such, that would be helpful, but both these errors seem to me like =
there's something quite messed up in your build setup, perhaps a bogus =
cross compiler or the wrong endianness or something like that. =
<DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 8:30 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well =
--db-init completed so I went to run it without --init-db and got: =
<BR><BR>[1142293298.812187   /dtn/storage/globals debug] loading global =
store<BR>[1142293298.813051 /dtn/storage/globals debug] opening file =
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key=
- <BR>[1142293298.814094 /thread debug] delaying start of thread =
0x429220 due to barrier <BR>[1142293298.814538 /dtnd debug] started dtn =
server<BR>[1142293298.815085 /dtn/apiserver/12 debug] created socket =
12<BR>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR =
<BR>[1142293298.815706 /dtn/apiserver/12 debug] binding to <A =
href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</A><BR>[1142293298.8=
16067 /dtn/apiserver/12 debug] listening <BR>[1142293298.816451 =
/dtn/apiserver/12 debug] state INIT -&gt; LISTENING =
<BR>[1142293298.833241 /thread debug] delaying start of thread 0x424030 =
due to barrier<BR>[1142293298.839105 /thread debug] releasing thread =
creation barrier -- 3 queued threads <BR>[1142293298.845033 /thread =
debug] starting thread 0x42ae7c <BR>[1142293298.851478 /thread debug] =
starting thread 0x429220<BR>[1142293298.857805 /thread debug] starting =
thread 0x424030<BR>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump =
core <BR>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c =
0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc =
<BR>[1142293298.929080 /dtnd info] starting console on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</A> =
<BR>[1142293298.929495 /command debug] starting command server on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</A><BR>[1142293298.9=
37500 /command info] can't load tclreadline: can't find package =
tclreadline<BR>[1142293298.938120   /command info] fall back to simple =
command loop<BR>collie dtn% Segmentation fault<BR><BR>THANK YOU for your =
help and patience <BR> <BR><DIV><SPAN class=3D"gmail_quote">On 11/16/06, =
<B class=3D"gmail_sendername">Michael Demmer </B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">   <DIV><DIV>Hmm... That's a strange one. You could try just using =
the filesystem store by changing 'storage set type =
berkeleydb'=A0to=A0'storage set type filesysdb'.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN> <DIV><SPAN>   =
<DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:27 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well that got me a little =
farther at least... this is where it died this time: =
<BR><BR>[1142289491.726722 /dtnd notice] initializing persistent data =
store <BR>[1142289491.767648 /dtn/storage notice] creating new database =
directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), dir=3D/home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289492.284995 /storage/berkeleydb error] DB internal error: =
unable to initialize mutex: Function not implemented =
<BR>[1142289492.290986 /storage/berkeleydb error] DB internal error: =
PANIC: Function not implemented <BR>[1142289492.315647 /dtn/storage =
critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot =
open database <BR>[1142289492.316046 /dtn/storage error] can't =
initialize berkeleydb -1000<BR>[1142289492.316369   /dtnd critical] =
error creating storage system<BR>[1142289492.316683 /dtnd error] error =
initializing data store, exiting... <BR><BR><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/15/06, <B class=3D"gmail_sendername">Michael =
Demmer </B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">   <DIV><DIV><DIV><DIV><BR></DIV><DIV>The only reason you could be =
getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further. =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 15, 2006, at 7:37 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so I've got a static version =
of dtnd compiled and on the zaurus, and now I'm getting this odd =
behavior when I try to run <BR><BR>./dtnd -l DEBUG -c ./dtn.conf =
--init-db<BR><BR>[1142213113.431028 /dtnd info] parsing configuration =
file ./dtn.conf... <BR>[1142213113.433018 /command debug] executing =
command file ./dtn.conf<BR>[1142213113.438962   /dtnd info] dtnd parsing =
configuration...<BR>[1142213113.447671 /dtn/interface/table info] adding =
interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp debug] adding =
interface tcp0<BR>[1142213113.452019 /dtn/cl/tcp/listener/notifier =
debug] created pipe, fds: 9 10 <BR>[1142213113.453889 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set <BR>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set<BR>[1142213113.458433 =
/dtn/cl/tcp/iface/tcp0 debug] created socket 11 <BR>[1142213113.460564 =
/dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR =
<BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <A =
href=3D"http://0.0.0.0:5000" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">   =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">   =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">   =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">   =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">   rcm2.cse.lehigh.edu</A> from =
the pda so it isn't a failure in name resolution.<BR><BR>sorry about =
posting the "wrong" list, I knew there was discussion of making multiple =
lists, but I wasn't aware that it had actually happened, since I don't =
have the time to read everything that goes through dtn-interest. Thank =
you for the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2">   libtclstub8.4.so.a and if i try to =
link to it with a link name of </FONT></SPAN><SPAN style=3D"color: =
rgb(0, 0, 0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2">   <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">   durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
   I added links in the target for the following:=A0 =
</FONT></SPAN></DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">   in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">   </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>    <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)">   =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV>  </DIV> is that something =
I can do with a configure argument to building   the tcl library (I =
can't find it in ./configure --help)?, and do you think   that doing a =
static build is the best way to fix the original issue I was   having on =
the PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">   I     suspect the answer =
is that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">   =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B>   On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV>   when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h   (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl* <BR>  -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286    /dtnd notice] DTN daemon starting up... (pid 1870) =
      <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump   =
    core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV>   =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE>   =
</DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR> </SPAN></DIV></BLOCKQUOTE></DIV><BR> =
</SPAN></DIV></BLOCKQUOTE></DIV> <BR> =
</BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> </BLOCKQUOTE></DIV><BR> =
</SPAN></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></=
HTML>=

--Apple-Mail-1--495071749--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARGHgY15182 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:17:42 -0800
Received: from [10.212.2.165] (bldmz-nat-161-186.berkeley.intel-research.net [12.155.161.186]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kARGHZaW013442 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 27 Nov 2006 08:17:41 -0800 (PST)
In-Reply-To: <f0d10dd60611210452y7d604323td0460f0119611a1c@mail.gmail.com>
References: <f0d10dd60611210452y7d604323td0460f0119611a1c@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <AB566726-1A1E-4E25-97DA-53DED2F69B6A@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Adding fields to the bundle
X-Applemailsentby: demmer
Date: Mon, 27 Nov 2006 07:55:44 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> Hi Mike,
> I want to add two fields to the bundle class. I also want these  
> fields to be sent over the network. I have added these fields in  
> the bundle.h as below:
>
>
>  EndpointID dest_;        ///< Destination eid
>     EndpointID custodian_;    ///< Current custodian eid
>     EndpointID replyto_;    ///< Reply-To eid
>     ///Zahir Koradia: Added for bus-kiosk network
>     //ZK: Start
>     std::string src_region_;    ///< ID of the region of the source
>     std::string dest_region_;   ///< ID of the region of the  
> destination
>     //ZK: End
>     bool is_fragment_;        ///< Fragmentary Bundle
>     bool is_admin_;        ///< Administrative record bundle
>
>
> I notced that the class consists of fields that are sent over the  
> network as well as fields that are local to the node. I wanted to  
> know what else do I need to do ensure that the fields that I ahve  
> added are indeed sent over the network.

Since the inter-node communication uses the bundle protocol as  
specified by the internet draft, you'd need to define an extension  
block to encode your data and then write a BlockProcessor class  
derivative to format and parse the block. I'm currently working on an  
example (the PreviousHopBlockProcessor) that you could model your  
code after.

-m




Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kARGHfY15178 for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:17:41 -0800
Received: from [10.212.2.165] (bldmz-nat-161-186.berkeley.intel-research.net [12.155.161.186]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kARGHZaV013442 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT) for <dtn-users@mailman.dtnrg.org>; Mon, 27 Nov 2006 08:17:41 -0800 (PST)
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <CB67209E-9A4D-4574-8ED3-CC3E62615105@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: [dtn-users] Link_unavailable event being thrown even after link is deleted.
X-Applemailsentby: demmer
Date: Mon, 27 Nov 2006 07:54:22 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
X-Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> I connected to machines by creating link between them at run time.  
> Then I close down the daemon on one node. As a result contact_down  
> event is thrown along with link_unavailable. In response to  
> contact_down event I delete the link. Typing route dump of link  
> dump on the prompt does not show any link except for the one  
> corresponding to /dev/null. Inspite of this I see link unavailable  
> event being thrown. Is this a bug or it is expected to behave like  
> this? I am using cvs code dated 30th Oct.

Deleting links is not actually supported in the current  
implementation due to bugs like this.

-m


Received: from sccrmhc11.comcast.net (sccrmhc11.comcast.net [63.240.77.81]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAQKxPY07181 for <dtn-users@mailman.dtnrg.org>; Sun, 26 Nov 2006 12:59:26 -0800
Received: from [192.168.2.3] (dogfish.hsd1.ma.comcast.net[24.61.40.37]) by comcast.net (sccrmhc11) with ESMTP id <2006112620591001100rfs40e>; Sun, 26 Nov 2006 20:59:20 +0000
Message-ID: <456A001D.4050103@bbn.com>
Date: Sun, 26 Nov 2006 15:59:09 -0500
From: Christopher Small <csmall@bbn.com>
User-Agent: Thunderbird 1.5.0.8 (Macintosh/20061025)
MIME-Version: 1.0
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] DTN on Gumstix
References: <3B660B4ACB06BE488E3938F95115E4DE0155281B@IMCSRV4.MITRE.ORG>
In-Reply-To: <3B660B4ACB06BE488E3938F95115E4DE0155281B@IMCSRV4.MITRE.ORG>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

I have a back channel into the Berkeley DB folks, and might be able to 
get them interested in any problems you saw. Can you characterize the 
issue(s)?

- Chris

-- 
Dr. Christopher Small                         617.873.6261 (vox)
Networking Research                           617.873.6091 (fax)
BBN Technologies | MS 6/5C | 10 Moulton St | Cambridge MA, 02138



Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.231]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAO0j2Y30957 for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 16:45:03 -0800
Received: by wx-out-0506.google.com with SMTP id s7so716930wxc for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 16:45:02 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=eUJezJxirh4NdcpCKJ8/NiiRaTdc7aNa9aJE7fpYcz26MNzPC/ovQcuNb7BE/WKVrGaCHA1KbJsp9eSfQEp0V23oY9WtUNQfH3egJiWsOoYYEkVc9NvbSIxiX0vJ1+oAL3C4OSprcA/9b+EzcynoQ0JOUzmDyQ6ZhBycYvZDe/g=
Received: by 10.70.9.8 with SMTP id 8mr6727638wxi.1164329070088; Thu, 23 Nov 2006 16:44:30 -0800 (PST)
Received: by 10.70.72.19 with HTTP; Thu, 23 Nov 2006 16:44:29 -0800 (PST)
Message-ID: <d35f8e370611231644kde40742u95ba79bb8f2ac201@mail.gmail.com>
Date: Thu, 23 Nov 2006 19:44:29 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
Cc: mcchuah@gmail.com
In-Reply-To: <d35f8e370611221124m79a2caf0tbede5d54fe932ae5@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_113263_11240678.1164329069990"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com> <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com> <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com> <F589C114-9727-445A-9162-090C013A0B0C@cs.berkeley.edu> <d35f8e370611221124m79a2caf0tbede5d54fe932ae5@mail.gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_113263_11240678.1164329069990
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so using scratch box I've managed to cross-compile everything, but now I'm
getting the oddest behavior on the pda....

root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd
-sh: ./dtnd: not found
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ls -l
drwxr-xr-x    2 root     root         4096 Mar 21 07:33 CVS
-rw-r--r--    1 root     root         1184 Oct 24  2006 Makefile
-rw-r--r--    1 root     root          207 Oct  7 22:15 Makefile-Builddir.in
-rw-r--r--    1 root     root         4347 Mar 21 07:42 dtn.conf
-rwxrwxrwx    1 root     root     10916416 Nov 24  2006 dtnd
-rw-r--r--    1 root     root        12251 Oct 24  2006 dtnd.cc
-rw-r--r--    1 root     root         4624 Nov 24  2006 dtnd.d
-rw-r--r--    1 root     root        83872 Nov 24  2006 dtnd.o
-rw-r--r--    1 root     root        44555 Oct 26  2006 router.xsd

it is a arm binary because on the laptop I cross compiled it on:

edifyteam@runabout:~/DTN/zaurus/build/DTN2/daemon$ file dtnd
dtnd: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked
(uses shared libs), not stripped

and on the PDA when i do
hexdump ./dtnd
that works, which means the file is there so it transfered alright.

this is the crazyest error I've ever seen... anyone have any ideas?

On 11/22/06, ryan m <smarts40@gmail.com> wrote:
>
> so I'm trying scratchbox, I have it installed, I'm trying to recompile
> tcl, and running into a bit of an issue with it finding the libraries.  It
> configures fine, but when I try to compile, I get:
>
> arm-linux-gcc -pipe -shared -o libtcl8.4.so regcomp.o regexec.o regfree.o
> regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o
> tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o
> tclCompile.o tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecute.o
> tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o
> tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o
> tclListObj.o tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o
> tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o
> tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o
> tclScan.o tclStringObj.o tclThread.o tclThreadAlloc.o tclThreadJoin.o
> tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o
> tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o
> tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o tclUnixCompat.o
> tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o tclLoadDl.o  -ldl
> -lieee -lm   -Wl,-rpath,/scratchbox/host_shared/lib//lib
> /scratchbox/compilers/arm-gcc3.4-uclibc0.9.28/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/bin/ld:
> cannot find -lieee
> collect2: ld returned 1 exit status
> make: *** [libtcl8.4.so] Error 1
>
> and the library is there
>
> edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name *ieee*
> ./libieee.a
>
> I've tried various configure args to try to fix it, but to no avail,
> including:
> --without-ieee
> --x-libraries=/scratchbox/host_shared/lib
> --libdir=/scratchbox/host_shared/lib
>
> any thoughts on this?, did you run into it?
>
> On 11/20/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> > Sorry -- from what I remember it worked out of the box.We've also had
> > some success with scratchbox, you could try that approach instead for
> > cross-compiling.
> >
> > -m
> >
> >
> > On Nov 20, 2006, at 5:33 PM, ryan m wrote:
> >
> > opps forgot an updatedb
> >
> > root@runabout:~# locate pthread.h
> > /opt/arm-linux-gnu/include/pthread.h
> > /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> > /usr/include/nptl/pthread.h
> > /usr/include/pthread.h
> > /usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
> > root@runabout:~#
> >
> >
> > On 11/20/06, ryan m < smarts40@gmail.com> wrote:
> > >
> > > oooh and some googling says to do this:
> > >
> > > 1. threads issue (read before) : use option "--disable-threads"
> > >
> > > but since DTN2 requires threads this seems like a bad idea....
> > >
> > > On 11/20/06, ryan m <smarts40@gmail.com> wrote:
> > > >
> > > > so things were going so-so until I went to build gcc:
> > > > gcc
> > > >
> > > > Now do:
> > > >
> > > > # cd ../gcc-arm-linux-3.3.z/
> > > > # debuild
> > > >
> > > > it failes at:
> > > >
> > > > /usr/src/gcc- arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-
> > > > arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/
> > > > -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem
> > > > /usr/arm-linux/sys-include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall
> > > > -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> > > > -Wold-style-definition  -isystem ./include  -fomit-frame-pointer -fPIC -g0
> > > > -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I.
> > > > -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include
> > > > -fexceptions -c ../../src/gcc/unwind- dw2.c -o libgcc/./unwind-dw2.o
> > > > In file included from ./gthr-default.h:1,
> > > >                  from ../../src/gcc/gthr.h:96,
> > > >                  from ../../src/gcc/unwind-dw2.c:42:
> > > > ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or
> > > > directory
> > > > ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or
> > > > directory
> > > >
> > > >
> > > > the thread thing kills me once again
> > > >
> > > > pthread.h is there... not sure were it's looking for it, or even if
> > > > I copied the /usr/include/pthread.h to where it's looking for it would do
> > > > anything
> > > >
> > > > root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate
> > > > pthread.h
> > > > /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> > > > /usr/include/nptl/pthread.h
> > > > /usr/include/pthread.h
> > > >
> > > > Did you run anything like this?
> > > >
> > > > On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> > > > >
> > > > >
> > > > > I set up a debian system using the following instructions:
> > > > >
> > > > > http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
> > > > >
> > > > > At the time, that worked on my zaurus.
> > > > >
> > > > > -m
> > > > >
> > > > > On Nov 19, 2006, at 12:54 PM, ryan m wrote:
> > > > >
> > > > > make test in the oasys directory fails here:
> > > > >
> > > > > arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
> > > > > -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
> > > > > -fno-inline  -MMD -MP -MT " sample-.o sample-.E sample-.po" -Wall
> > > > > -W -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
> > > > > -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -
> > > > > ltcl8.4 -ldb-4.4
> > > > > liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined
> > > > > reference to `pthread_kill'
> > > > > liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
> > > > > `pthread_detach'
> > > > > liboasys.a (Thread.o):thread/Thread.cc:210: undefined reference to
> > > > > `pthread_join'
> > > > > liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
> > > > > `pthread_kill'
> > > > > liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
> > > > > `pthread_sigmask'
> > > > > collect2: ld returned 1 exit status
> > > > > make: *** [test/sample-test] Error 1
> > > > >
> > > > > so it definatly seems like a pthread library issue, any idea how I
> > > > > can fix this.  The libraries do indeed exsist.
> > > > >
> > > > > edifyteam@runabout :/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$
> > > > > ls -ld *thread*
> > > > > -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> > > > > -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> > > > > -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> > > > > lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
> > > > > libpthread.so.0
> > > > > lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
> > > > > libpthread-0.10.so
> > > > > -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-
> > > > > 1.0.so
> > > > > lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
> > > > > libthread_db.so.1
> > > > > lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1
> > > > > -> libthread_db- 1.0.so
> > > > >
> > > > >
> > > > > EVERY zaurus specific cross compile evironment I can find (either
> > > > > instructions on producing one or a tar of one) is gcc 2.x which as
> > > > > we found out is unable to compile DTN2 ri.  Has anyone found a suitable
> > > > > cross compile environment for the zaurus based off of gcc 3.x?
> > > > >
> > > > > On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > > >
> > > > > > Unfortunately I'm not sure if I can give you any more advice on
> > > > > > this -- again this looks like there's something wrong with the build and/or
> > > > > > the system being incompatible or unstable. You could try compiling and
> > > > > > running simpler programs with your setup to make sure the basic compiler is
> > > > > > working, then perhaps try a simple multithreaded one, etc. If you run 'make
> > > > > > tests' in the DTN2/oasys directory that will build a bunch of unit tests
> > > > > > which you could try out to make sure things are working.
> > > > > >
> > > > > > -m
> > > > > >
> > > > > >
> > > > > > On Nov 16, 2006, at 7:10 PM, ryan m wrote:
> > > > > >
> > > > > > backtrace to follow:
> > > > > >
> > > > > > [1142331726.187026 /dtnd debug] started dtn server
> > > > > > [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> > > > > > [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> > > > > > [1142331726.188407 /dtn/apiserver/13 debug] binding to
> > > > > > 127.0.0.1:5010
> > > > > > [1142331726.188762 /dtn/apiserver/13 debug] listening
> > > > > > [1142331726.189139 /dtn/apiserver/13 debug] state INIT ->
> > > > > > LISTENING
> > > > > > [1142331726.189462 /thread debug] delaying start of thread
> > > > > > 0x4240f8 due to barrier
> > > > > > [1142331726.189880 /thread debug] releasing thread creation
> > > > > > barrier -- 3 queued threads
> > > > > > [1142331726.190299 /thread debug] starting thread 0x42b544
> > > > > >
> > > > > > Program received signal SIG32, Real-time event 32.
> > > > > > 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > > > 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> > > > > > directory.
> > > > > >         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> > > > > > Current language:  auto; currently c
> > > > > > (gdb) backtrace
> > > > > > #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > > > #1  0x00249ed4 in __pthread_wait_for_restart_signal
> > > > > > (self=0x3c3620) at pthread.c:1067
> > > > > > #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,
> > > > > > attr=0x3c3e64,
> > > > > >     start_routine=0x1097f8
> > > > > > <oasys::Thread::pre_thread_run(void*)>, arg=0x42b544) at
> > > > > > restart.h:36
> > > > > > #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> > > > > > thread/Thread.cc:169
> > > > > > #4  0x0010912c in oasys::Thread::release_start_barrier () at
> > > > > > thread/Thread.cc:70
> > > > > > #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> > > > > > argv=0xbffffd14) at dtnd.cc:401
> > > > > > #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
> > > > > >
> > > > > >
> > > > > > as far as my cross compiler I used a generic one for arm
> > > > > > embedded systems... I couldn't find a zaurus one that was up to date enough
> > > > > > to compile DTN2
> > > > > >
> > > > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > > > >
> > > > > > > It looks like there's something more seriously wrong with your
> > > > > > > build. If you could print out the stack trace using gdb or some such, that
> > > > > > > would be helpful, but both these errors seem to me like there's something
> > > > > > > quite messed up in your build setup, perhaps a bogus cross compiler or the
> > > > > > > wrong endianness or something like that.
> > > > > > > -mike
> > > > > > >
> > > > > > > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> > > > > > >
> > > > > > > well --db-init completed so I went to run it without --init-db
> > > > > > > and got:
> > > > > > >
> > > > > > > [1142293298.812187 /dtn/storage/globals debug] loading global
> > > > > > > store
> > > > > > > [1142293298.813051 /dtn/storage/globals debug] opening file
> > > > > > > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > > > > > > [1142293298.814094 /thread debug] delaying start of thread
> > > > > > > 0x429220 due to barrier
> > > > > > > [1142293298.814538 /dtnd debug] started dtn server
> > > > > > > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > > > > > > [1142293298.815400 /dtn/apiserver/12 debug] setting
> > > > > > > SO_REUSEADDR
> > > > > > > [1142293298.815706 /dtn/apiserver/12 debug] binding to
> > > > > > > 127.0.0.1:5010
> > > > > > > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > > > > > > [1142293298.816451 /dtn/apiserver/12 debug] state INIT ->
> > > > > > > LISTENING
> > > > > > > [1142293298.833241 /thread debug] delaying start of thread
> > > > > > > 0x424030 due to barrier
> > > > > > > [1142293298.839105 /thread debug] releasing thread creation
> > > > > > > barrier -- 3 queued threads
> > > > > > > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > > > > > > [1142293298.851478 /thread debug] starting thread 0x429220
> > > > > > > [1142293298.857805 /thread debug] starting thread 0x424030
> > > > > > > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > > > > > > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c
> > > > > > > 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > > > > > > [1142293298.929080 /dtnd info] starting console on
> > > > > > > 127.0.0.1:5050
> > > > > > > [1142293298.929495 /command debug] starting command server on
> > > > > > > 127.0.0.1:5050
> > > > > > > [1142293298.937500 /command info] can't load tclreadline:
> > > > > > > can't find package tclreadline
> > > > > > > [1142293298.938120 /command info] fall back to simple command
> > > > > > > loop
> > > > > > > collie dtn% Segmentation fault
> > > > > > >
> > > > > > > THANK YOU for your help and patience
> > > > > > >
> > > > > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > > > > >
> > > > > > > > Hmm... That's a strange one. You could try just using the
> > > > > > > > filesystem store by changing 'storage set type berkeleydb' to 'storage set
> > > > > > > > type filesysdb'.
> > > > > > > >
> > > > > > > > -m
> > > > > > > >
> > > > > > > >
> > > > > > > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > > > > > > >
> > > > > > > > well that got me a little farther at least... this is where
> > > > > > > > it died this time:
> > > > > > > >
> > > > > > > > [1142289491.726722 /dtnd notice] initializing persistent
> > > > > > > > data store
> > > > > > > > [1142289491.767648 /dtn/storage notice] creating new
> > > > > > > > database directory /home/root/Applications/DTN_wireless/tmp/db
> > > > > > > > [1142289491.884849 /dtn/storage info] initializing db
> > > > > > > > name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > > > > > > [1142289492.284995 /storage/berkeleydb error] DB internal
> > > > > > > > error: unable to initialize mutex: Function not implemented
> > > > > > > > [1142289492.290986 /storage/berkeleydb error] DB internal
> > > > > > > > error: PANIC: Function not implemented
> > > > > > > > [1142289492.315647 /dtn/storage critical] DB:
> > > > > > > > DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database
> > > > > > > > [1142289492.316046 /dtn/storage error] can't initialize
> > > > > > > > berkeleydb -1000
> > > > > > > > [1142289492.316369 /dtnd critical] error creating storage
> > > > > > > > system
> > > > > > > > [1142289492.316683 /dtnd error] error initializing data
> > > > > > > > store, exiting...
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > The only reason you could be getting that error is if the
> > > > > > > > > name lookup failed for some reason. You could try putting the IP address in
> > > > > > > > > the llink configuration and seeing if that works. If it does, then there
> > > > > > > > > must be something wrong with the host configuration or some other reason why
> > > > > > > > > the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You
> > > > > > > > > could put more debug logging in there to trace it down further.
> > > > > > > > >
> > > > > > > > > -m
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > > > > > > >
> > > > > > > > > so I've got a static version of dtnd compiled and on the
> > > > > > > > > zaurus, and now I'm getting this odd behavior when I try to run
> > > > > > > > >
> > > > > > > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > > > > > > >
> > > > > > > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > > > > > > ./dtn.conf...
> > > > > > > > > [1142213113.433018 /command debug] executing command file
> > > > > > > > > ./dtn.conf
> > > > > > > > > [1142213113.438962 /dtnd info] dtnd parsing
> > > > > > > > > configuration...
> > > > > > > > > [1142213113.447671 /dtn/interface/table info] adding
> > > > > > > > > interface tcp0 (tcp)
> > > > > > > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface
> > > > > > > > > tcp0
> > > > > > > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > > created pipe, fds: 9 10
> > > > > > > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created
> > > > > > > > > socket 11
> > > > > > > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > > > > > > SO_REUSEADDR
> > > > > > > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding
> > > > > > > > > to 0.0.0.0:5000
> > > > > > > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > > > > > >
> > > > > > > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state
> > > > > > > > > INIT -> LISTENING
> > > > > > > > > [1142213113.462443 /thread debug] delaying start of thread
> > > > > > > > > 0x42bb54 due to barrier
> > > > > > > > > [1142213113.464152 /dtn/link/link1 debug] set_state
> > > > > > > > > UNAVAILABLE -> AVAILABLE
> > > > > > > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > > > > > > rcm2.cse.lehigh.edu:5000
> > > > > > > > > [1142213113.465856 /dtn/cl/iputils warning] invalid
> > > > > > > > > hostname ' rcm2.cse.lehigh.edu ' in next hop
> > > > > > > > > rcm2.cse.lehigh.edu:5000
> > > > > > > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop
> > > > > > > > > address ' rcm2.cse.lehigh.edu:5000 '
> > > > > > > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link
> > > > > > > > > nexthop ' rcm2.cse.lehigh.edu:5000'
> > > > > > > > > [1142213113.467679 /command error] error: line 137:
> > > > > > > > > 'invalid link option: (unknown)':
> > > > > > > > > invalid link option: (unknown)
> > > > > > > > >     while executing
> > > > > > > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > > > > > > >     (file "./dtn.conf" line 137)
> > > > > > > > > [1142213113.468105 /dtnd error] error in configuration
> > > > > > > > > file, exiting...
> > > > > > > > >
> > > > > > > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it
> > > > > > > > > isn't a failure in name resolution.
> > > > > > > > >
> > > > > > > > > sorry about posting the "wrong" list, I knew there was
> > > > > > > > > discussion of making multiple lists, but I wasn't aware that it had actually
> > > > > > > > > happened, since I don't have the time to read everything that goes through
> > > > > > > > > dtn-interest. Thank you for the help so far.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu >
> > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > First of all, let me say that this discussion should be
> > > > > > > > > > on dtn-users. I don't know if ryan is on that list or not, but if you're
> > > > > > > > > > not, please in the future use that list for dtn reference implementation
> > > > > > > > > > questions, not dtn-interest.
> > > > > > > > > > As far as building tcl statically goes, it's a bit
> > > > > > > > > > confusing, but you need to run tcl's ./configure --disable-shared to tell it
> > > > > > > > > > to build a full static libtcl8.4.a. You don't want the
> > > > > > > > > > stub library linked in.
> > > > > > > > > >
> > > > > > > > > > As far as your original problem goes, I suggested
> > > > > > > > > > linking statically to try to confirm that it's not a library compatibility
> > > > > > > > > > issue due to the cross compilation. I don't know if this will help or not,
> > > > > > > > > > but that's what I suggest to do first.
> > > > > > > > > >
> > > > > > > > > > -mike
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > > > > > > >
> > > > > > > > > > my libtclstub is libtclstub8.4.so.a and if i try to link
> > > > > > > > > > to it with a link name of libtclstub8.4.so.a or
> > > > > > > > > > libtclstub8.4.so in the /usr/lib directory.  ldconfig
> > > > > > > > > > complains it " is not an ELF file - it has the wrong magic bytes at the
> > > > > > > > > > start" so I had to leave that link out, but I did do the other links, but
> > > > > > > > > > dtnd crashes the same way.
> > > > > > > > > >
> > > > > > > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > > > > > > >
> > > > > > > > > > >  I added links in the target for the following:
> > > > > > > > > > >
> > > > > > > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > > > > > > >  in /usr/lib/ from libtclstub8.4.so ->
> > > > > > > > > > > /usr/lib/libtclstub8.4.so
> > > > > > > > > > >
> > > > > > > > > > > For some reason, it seemed like the tcl libraries
> > > > > > > > > > > wanted to be in the same directory as the pthread libraries (but I haven't
> > > > > > > > > > > confirmed that).  I just moved on as soon as things started working.
> > > > > > > > > > >
> > > > > > > > > > > Let me know if this helps for you...
> > > > > > > > > > >
> > > > > > > > > > >  ------------------------------
> > > > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > > > m
> > > > > > > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > > > > > > *To:* DTNRG
> > > > > > > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > > > >
> > > > > > > > > > >  is that something I can do with a configure argument
> > > > > > > > > > > to building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > > > > > > you think that doing a static build is the best way to fix the original
> > > > > > > > > > > issue I was having on the PDA?
> > > > > > > > > > >
> > > > > > > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org >
> > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > >  I suspect the answer is that you need a 'real' tcl
> > > > > > > > > > > > library (a .a file) that can be linked statically.  I don't think shared
> > > > > > > > > > > > objects (the .so tcl library you have in the arm directory) can be linked
> > > > > > > > > > > > that way.
> > > > > > > > > > > >
> > > > > > > > > > > >         --keith
> > > > > > > > > > > >
> > > > > > > > > > > >  ------------------------------
> > > > > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org[mailto:
> > > > > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of
> > > > > > > > > > > > *ryan m
> > > > > > > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > > > > > > *To:* DTNRG
> > > > > > > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > > > > >
> > > > > > > > > > > >  when i configure with this:
> > > > > > > > > > > >
> > > > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > > > >
> > > > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > > > >
> > > > > > > > > > > > configure completes fine, but... when I do this:
> > > > > > > > > > > >
> > > > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > > > >
> > > > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > > > > --enable-static
> > > > > > > > > > > >
> > > > > > > > > > > > I get:
> > > > > > > > > > > >
> > > > > > > > > > > > configure: checking for tcl installation (version
> > > > > > > > > > > > 8.4 )
> > > > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl
> > > > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl84 -ldl
> > > > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
> > > > > > > > > > > > -lpthread ... no
> > > > > > > > > > > >
> > > > > > > > > > > > configure: checking for tcl installation (version
> > > > > > > > > > > > 8.3)
> > > > > > > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > > > > > > configure: error: can't find usable tcl.h
> > > > > > > > > > > >
> > > > > > > > > > > > and it is there:
> > > > > > > > > > > >
> > > > > > > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls
> > > > > > > > > > > > -ld *tcl*
> > > > > > > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > > > > > >
> > > > > > > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28
> > > > > > > > > > > > libtclstub8.4.a
> > > > > > > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28
> > > > > > > > > > > > tcl8.4
> > > > > > > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28
> > > > > > > > > > > > tclConfig.sh
> > > > > > > > > > > >
> > > > > > > > > > > > without enable-static:
> > > > > > > > > > > >
> > > > > > > > > > > > configure: checking for tcl installation (version
> > > > > > > > > > > > 8.4)
> > > > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > > /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl
> > > > > > > > > > > > -lm -lpthread ... yes
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Thank you for the help
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > Michael Demmer wrote:
> > > > > > > > > > > > > try statically building dtnd and see if that
> > > > > > > > > > > > works.
> > > > > > > > > > > > >
> > > > > > > > > > > > > -m
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > >> So I finally had a chance to try out the DTN on
> > > > > > > > > > > > the zaurus.  So I
> > > > > > > > > > > > >> copied over the libs that I had cross compiled,
> > > > > > > > > > > > which seemed obvious
> > > > > > > > > > > > >> to do. Then DTN was complaining about stdc++ lib
> > > > > > > > > > > > so I copied over the
> > > > > > > > > > > > >> libs from the lib directory of the cross compile
> > > > > > > > > > > > tool chain, I figured
> > > > > > > > > > > > >> that if it was linking in those libs to make arm
> > > > > > > > > > > > binaries the libs
> > > > > > > > > > > > >> themselves must be arm compatabile, is this
> > > > > > > > > > > > right?  So the sum of it
> > > > > > > > > > > > >> is I get this when I try to run DTN:
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>
> > > > > > > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > > > > > > libstdc++.so.5: cannot
> > > > > > > > > > > > >> open shared object file: No such file or
> > > > > > > > > > > > directory
> > > > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > > ldconfig
> > > > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > > > >> [1142218881.762749 /log debug] adding log reparse
> > > > > > > > > > > > signal handler
> > > > > > > > > > > > >> [1142218881.929239 /timer debug] adding signal
> > > > > > > > > > > > handler 0xd6c14 for
> > > > > > > > > > > > >> signal 1
> > > > > > > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate
> > > > > > > > > > > > signal handler
> > > > > > > > > > > > >> [1142218881.933055 /timer debug] adding signal
> > > > > > > > > > > > handler 0xd6b9c for
> > > > > > > > > > > > >> signal 10
> > > > > > > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon
> > > > > > > > > > > > starting up... (pid 1870)
> > > > > > > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will
> > > > > > > > > > > > dump core
> > > > > > > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > > > > > > >> Illegal instruction
> > > > > > > > > > > > >>
> > > > > > > > > > > > >> any thoughts?
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> >
>

------=_Part_113263_11240678.1164329069990
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so using scratch box I've managed to cross-compile everything, but now I'm getting the oddest behavior on the pda....<br><br>root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd<br>-sh: ./dtnd: not found<br>root@collie
:~/Applications/DTN_wireless/DTN2/daemon# ls -l<br>drwxr-xr-x&nbsp;&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 Mar 21 07:33 CVS<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1184 Oct 24&nbsp; 2006 Makefile<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 207 Oct&nbsp; 7 22:15 
Makefile-Builddir.in<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4347 Mar 21 07:42 dtn.conf<br>-rwxrwxrwx&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp; 10916416 Nov 24&nbsp; 2006 dtnd<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12251 Oct 24&nbsp; 2006 dtnd.cc<br>
-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4624 Nov 24&nbsp; 2006 dtnd.d<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 83872 Nov 24&nbsp; 2006 dtnd.o<br>-rw-r--r--&nbsp;&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44555 Oct 26&nbsp; 2006 router.xsd<br><br>it is a arm binary because on the laptop I cross compiled it on:
<br><br>edifyteam@runabout:~/DTN/zaurus/build/DTN2/daemon$ file dtnd<br>dtnd: ELF 32-bit LSB executable, ARM, version 1 (ARM), dynamically linked (uses shared libs), not stripped<br><br>and on the PDA when i do<br>hexdump ./dtnd
<br>that works, which means the file is there so it transfered alright.<br><br>this is the crazyest error I've ever seen... anyone have any ideas?<br><br><div><span class="gmail_quote">On 11/22/06, <b class="gmail_sendername">
ryan m</b> &lt;<a href="mailto:smarts40@gmail.com">smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">so I'm trying scratchbox, I have it installed, I'm trying to recompile tcl, and running into a bit of an issue with it finding the libraries.&nbsp; It configures fine, but when I try to compile, I get:
<br><br>arm-linux-gcc -pipe -shared -o 
<a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtcl8.4.so</a> regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o
 tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o tclCompile.o
 tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o tclLiteral.o

 tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclThread.o

 tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o

 tclUnixCompat.o tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o tclLoadDl.o&nbsp; -ldl&nbsp; -lieee -lm&nbsp;&nbsp; -Wl,-rpath,/scratchbox/host_shared/lib//lib<br>/scratchbox/compilers/arm-gcc3.4-uclibc0.9.28/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/bin/ld: cannot find -lieee
<span class="q"><br>collect2: ld returned 1 exit status<br></span>make: *** [<a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtcl8.4.so</a>] Error 1<br><br>and the library is there
<br><br>edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name *ieee*<br>./libieee.a
<br><br>I've tried various configure args to try to fix it, but to no avail, including:<br>--without-ieee<br>--x-libraries=/scratchbox/host_shared/lib<br>--libdir=/scratchbox/host_shared/lib<br><br>any thoughts on this?, did you run into it?
<div><span class="e" id="q_10f112079441829d_3"><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Sorry -- from what I remember it worked out of the box.<div>We've also had some success with scratchbox, you could try that approach instead for cross-compiling.</div><span><div><br></div><div>-m</div>
</span><div><span><div><br></div><div><br><div><div>On Nov 20, 2006, at 5:33 PM, ryan m wrote:</div><br><blockquote type="cite">opps forgot an updatedb<br><br>root@runabout:~# locate pthread.h
<br>/opt/arm-linux-gnu/include/pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h <br>/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
<br>root@runabout:~# <br><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">ryan m</b> &lt;<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">oooh and some googling says to do this:<br><br><pre>
1. threads issue (read before) : use option &quot;--disable-threads&quot;<br><br>but since DTN2 requires threads this seems like a bad idea....<br></pre><div><span><div><span class="gmail_quote"> On 11/20/06, <b class="gmail_sendername">

ryan m</b> &lt;<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

 so things were going so-so until I went to build gcc:<br><h3 lang="en">gcc</h3><p lang="en">Now do:</p> <pre lang="en"># cd ../gcc-arm-linux-3.3.z/<br><span lang="en"># debuild<br><br>it failes at:<br></span></pre>/usr/src/gcc-
arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2&nbsp; -DIN_GCC -DCROSS_COMPILE&nbsp;&nbsp; -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition&nbsp; -isystem ./include&nbsp; -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include&nbsp; -fexceptions -c ../../src/gcc/unwind- 
dw2.c -o libgcc/./unwind-dw2.o<br>In file included from ./gthr-default.h:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/gthr.h:96,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/unwind-dw2.c:42:<br>../../src/gcc/gthr-posix.h:43:21: pthread.h

 : No such file or directory<br>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory<br><br><br>the thread thing kills me once again<br><br>pthread.h is there... not sure were it's looking for it, or even if I copied the /usr/include/pthread.h to where it's looking for it would do anything 
<br><br>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h<br><br>Did you run anything like this? 
<div><span><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div><div><br></div><div>I set up a debian system using the following instructions:
</div><div><br></div><div><a href="http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
</a></div><div><br></div><div>At the time, that worked on my zaurus.</div><span><div><br></div><div>-m</div></span><div><span> <br><div><div>On Nov 19, 2006, at 12:54 PM, ryan m wrote:</div><br><blockquote type="cite">make test in the oasys directory fails here:
<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot; sample-.o sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; 
liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill' <br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a

(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill' <br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'
<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist. <br><br>edifyteam@runabout

:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libpthread-0.10.so
</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; libpthread.so.0<br>

lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0 -&gt; <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</a><br> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-
<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 <br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-
<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">

  Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

  <div><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp; 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow: <br><br>[1142331726.187026 /dtnd debug] started dtn server 
<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING <br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier 
<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 <br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 
<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 
<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at 
restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 <br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at 
dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2 
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187

  /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier 
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING 
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c 
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120

  /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

  <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>

  <div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store 
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369

  /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

  <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962

  /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">

  libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">

  <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">

  I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from 
<a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

  in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

  </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>

   <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] 
<b> On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div>

 </div> is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">

  I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

  dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>

  On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>

  when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h

  (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*
<br>
  -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286

   /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>

  <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>

  </div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></span></div></div> </blockquote></div><br> </span></div></blockquote></div><br> </span></div></blockquote></div>
<br>
</blockquote></div><br></div></span></div></div>
</blockquote></div><br>

</span></div></blockquote></div><br>

------=_Part_113263_11240678.1164329069990--


Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [192.160.51.76]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kANFaBY25641 for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 07:36:12 -0800
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.12.11.20060308/8.12.11) with SMTP id kANFaB33032080 for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 10:36:11 -0500
Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (Postfix) with ESMTP id 16F33BEFB for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 10:36:11 -0500 (EST)
Received: from IMCFE1.MITRE.ORG (imcfe1.mitre.org [129.83.29.3]) by smtp-bedford.mitre.org (8.12.11.20060308/8.12.11) with ESMTP id kANFaAaq032071 for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 10:36:10 -0500
Received: from IMCSRV4.MITRE.ORG ([129.83.20.161]) by IMCFE1.MITRE.ORG with Microsoft SMTPSVC(6.0.3790.1830); Thu, 23 Nov 2006 10:36:10 -0500
x-mimeole: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C70F15.198FD95B"
Date: Thu, 23 Nov 2006 10:36:09 -0500
Message-ID: <3B660B4ACB06BE488E3938F95115E4DE0155281B@IMCSRV4.MITRE.ORG>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: DTN on Gumstix
Thread-Index: AccPFRk+SCZuVnX9RbCNKk+0W+5H6A==
From: "Durst, Robert C." <durst@mitre.org>
To: <dtn-users@mailman.dtnrg.org>
X-OriginalArrivalTime: 23 Nov 2006 15:36:10.0547 (UTC) FILETIME=[19D50830:01C70F15]
Subject: [dtn-users] DTN on Gumstix
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C70F15.198FD95B
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi, all.  I just wanted to let folks know that I managed to get DTN
running on the Gumstix (cx) platform.  It took some minor gyrations,
and I had a problem that caused me to use the file db instead of
berkeley db.  (Further banging my head against the wall might have
caused berkeleydb to relent, but my head was sore enough already.)
Have successfully run dtnping and dtnsend with static routing (all I
need in this application). =20
=20
Most of the hassle was in getting the cross-compilation set up properly
and getting libraries pointed to appropriately.  I'll try to summarize
things (unless somebody else already has and I didn't notice) in the
coming days/weeks.  Have some other things to do first.
=20
Regards,
Bob Durst

------_=_NextPart_001_01C70F15.198FD95B
Content-Type: text/html;
	charset="us-ascii"
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=3Dus-ascii">
<META content=3D"MSHTML 6.00.2900.2995" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial size=3D2>Hi, =
all.&nbsp; I=20
just wanted to let folks know that I managed to get DTN running on the =
Gumstix=20
(cx) platform.&nbsp; It took some minor gyrations, and I had a problem =
that=20
caused me to use the file db instead of berkeley db.&nbsp; (Further =
banging my=20
head against the wall might have caused berkeleydb to relent, but my =
head was=20
sore enough already.)&nbsp; Have successfully run dtnping and dtnsend =
with=20
static routing (all I need in this application).&nbsp; =
</FONT></SPAN></DIV>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial size=3D2>Most =
of the hassle=20
was in getting the cross-compilation set up properly and getting =
libraries=20
pointed to appropriately.&nbsp; I'll try to summarize things (unless =
somebody=20
else already has and I didn't notice) in the coming days/weeks.&nbsp; =
Have some=20
other things to do first.</FONT></SPAN></DIV>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial=20
size=3D2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=3D676402915-23112006><FONT face=3DArial size=3D2>Bob=20
Durst</FONT></SPAN></DIV></BODY></HTML>

------_=_NextPart_001_01C70F15.198FD95B--


Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.199]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAN9t1Y22862 for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 01:55:01 -0800
Received: by nz-out-0102.google.com with SMTP id z6so290302nzd for <dtn-users@mailman.dtnrg.org>; Thu, 23 Nov 2006 01:55:01 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:mime-version:content-type; b=XYcAHg7QawD6HjxfRDSfF75hlZoFrrcTRJkWfYOCudWDnWLpMHcHPIdcP/mKqYHKuawxd0an92rr/EewuxCrKa6ohqThzpQDqdZvRnn0ABiCGdzyaImrFoJ4a8B8i0TljjlybQZv5dZsF7EQFykJhKp8kYW2QG+GmY2YcXAU2WQ=
Received: by 10.64.210.3 with SMTP id i3mr14203534qbg.1164275700895; Thu, 23 Nov 2006 01:55:00 -0800 (PST)
Received: by 10.65.103.12 with HTTP; Thu, 23 Nov 2006 01:55:00 -0800 (PST)
Message-ID: <cc97bb9b0611230155p387f605dr75f5c675372e0c1c@mail.gmail.com>
Date: Thu, 23 Nov 2006 11:55:00 +0200
From: "luo cheng" <richard.luocheng@gmail.com>
To: dtn-users@mailman.dtnrg.org
Cc: demmer@cs.berkeley.edu
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_102166_15283889.1164275700834"
Subject: [dtn-users] Re: running dtnsend, dtnrecv on Nokia770
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_102166_15283889.1164275700834
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

I am trying to run dtnd on Nokia770, and i met couple of strange things:

1, ./dtnsend  and ./dtnrecv doesn't work by keep showing the help message
even i typed the right command (e.g. ./dtnsend -s dtn://nokia3.dtn/1 -d
dtn://nokia4.dtn/1 -t m -p "hello"  or ./dtnrecv dtn://nokia3.dtn/1 ). and
./dtnping works ok.

2, when i trying to send dtn bundle from Nokia770 by a my dtn application to
the laptop, dtnd on laptop showed the error information as:
ASSERTION FAILED (cc == (int)len) at bundling/PrimaryBlockProcessor.cc:407
STACK TRACE: 0x80cc4d7 0x807dc55 0x8075cfe 0x80c4bb8 0x80c4583 0x808f338
0x80bd7ed 0x80f6ea3 0x80f6dc2 0xb7e19b63
Aborted

Could any one give some hints about that?

BR
Cheng


the full debug output file is attached as follow:
[1164358618.212030 /dtn/cl/tcp/notifier debug] set_nonblocking: nonblocking
mode
 set
[1164358618.214416 /dtn/cl/tcp/notifier debug] set_nonblocking: nonblocking
mode
 set
[1164358618.216866 /dtn/cl/tcp/conn/0x81e1948/19 debug] setting SO_REUSEADDR
[1164358618.219220 /dtn/cl/tcp/conn/0x81e1948/19 debug] set_nonblocking:
nonbloc
king mode set
[1164358618.221573 /thread debug] starting thread 0x81e194c
[1164358618.223868 /dtn/cl/tcp/conn/0x81e1948 debug] accept: got connection
from
 192.168.0.165:2068...
[1164358618.226361 /dtn/cl/tcp/conn/0x81e1948 debug] initiate_contact called
[1164358618.228622 /dtn/cl/tcp/conn/0x81e1948 debug] noting data_sent
[1164358618.230878 /dtn/cl/tcp/conn/0x81e1948 debug] send_data: trying to
drain
25 bytes from send buffer...
[1164358618.233321 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::writev() fd 19 cc
25
[1164358618.235556 /dtn/cl/tcp/conn/0x81e1948 debug] send_data: wrote 25/25
byte
s from send buffer
[1164358618.237950 /dtn/cl/tcp/conn/0x81e1948 debug] calling poll on 2 fds
with
timeout 10000
[1164358618.240414 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: 1/2
fds
 ready, status 0x1 0x0
[1164358618.242858 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier:
normal
fd has event
[1164358618.245280 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: draining up
to 3
2768 bytes into recv buffer...
[1164358618.247700 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::readv() fd 19 cc
25
[1164358618.249908 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: read 25
bytes, r
cvbuf has 0 bytes
[1164358618.252208 /dtn/cl/tcp/t/manager debug] find_link_to: no match
[1164358618.261680 /dtn/contact/manager debug] new_opportunistic_link: cl
tcp ne
xthop 192.168.0.165:2068 remote_eid dtn://nokia3.dtn
[1164358618.264178 /dtn/cl/tcp debug] adding OPPORTUNISTIC link
192.168.0.165:20
68
[1164358618.266664 /dtn/link/opportunistic-0 info] new link opportunistic-0
[192
.168.0.165:2068 dtn:none OPPORTUNISTIC UNAVAILABLE]
[1164358618.269064 /dtn/contact/manager debug] adding link opportunistic-0
[1164358618.271306 /dtn/bundle/daemon debug] posting event (0x816e238) with
type
 LINK_CREATED (at back)
[1164358618.273652 /dtn/bundle/daemon/msgqueue debug] notifier notify
[1164358618.275906 /dtn/bundle/daemon debug] poll returned 1
[1164358618.275920 /dtn/bundle/daemon debug] poll returned new event to
handle
[1164358618.275932 /timer debug] new timeout 343
[1164358618.278237 /dtn/bundle/daemon/msgqueue debug] notify count = 1
[1164358618.280467 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting
to
drain 1 bytes
[1164358618.280489 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained
1/1 by
te(s) from pipe
[1164358618.280496 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0
[1164358618.280506 /dtn/bundle/daemon debug] dispatching event (0x816e238)
LINK_
CREATED
[1164358618.280515 /dtn/route/static debug] dispatching event (0x816e238)
LINK_C
REATED
[1164358618.280573 /dtn/bundle/daemon debug] posting event (0x81df498) with
type
 ROUTE_ADD (at back)
[1164358618.280583 /dtn/bundle/daemon/msgqueue debug] notifier notify
[1164358618.280592 /dtn/bundle/daemon/msgqueue debug] notify count = 1
[1164358618.280600 /dtn/contact/manager debug] dispatching event (0x816e238)
LIN
K_CREATED
[1164358618.280614 /timer debug] new timeout 338
[1164358618.280621 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting
to
drain 1 bytes
[1164358618.280629 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained
1/1 by
te(s) from pipe
[1164358618.280637 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0
[1164358618.280644 /dtn/bundle/daemon debug] dispatching event (0x81df498)
ROUTE
_ADD
[1164358618.280652 /dtn/bundle/daemon info] ROUTE_ADD dtn://nokia3.dtn/* ->
192.
168.0.165:2068 (FORWARD)
[1164358618.280662 /dtn/route/static debug] dispatching event (0x81df498)
ROUTE_
ADD
[1164358618.280669 /dtn/routing/static/table debug] add_route
dtn://nokia3.dtn/*
 -> 192.168.0.165:2068 (FORWARD)
[1164358618.280682 /dtn/route/static debug] check_next_hop
192.168.0.165:2068: c
hecking pending bundle list...
[1164358618.280692 /dtn/contact/manager debug] dispatching event (0x81df498)
ROU
TE_ADD
[1164358618.280701 /timer debug] new timeout 338
[1164358618.286399 /dtn/cl/tcp/conn/0x81e1948 debug] created new
opportunistic l
ink opportunistic-0 [192.168.0.165:2068 dtn://nokia3.dtn OPPORTUNISTIC
UNAVAILAB
LE]
[1164358618.288746 /dtn/contact/opportunistic-0 info] new contact contact
192.16
8.0.165:2068 (started 1164358618.288741)
[1164358618.291144 /dtn/contact/refs debug] refcount contact
192.168.0.165:2068
(started 1164358618.288741) 0 -> 1 add TCPConvergenceLayer::Connection
[1164358618.293572 /dtn/contact/refs debug] refcount contact
192.168.0.165:2068
(started 1164358618.288741) 1 -> 2 add Link
[1164358618.296024 /dtn/cl/tcp/conn/0x81e1948 debug] contact_up
[1164358618.298275 /dtn/contact/refs debug] refcount contact
192.168.0.165:2068
(started 1164358618.288741) 2 -> 3 add ContactUpEvent
[1164358618.300607 /dtn/bundle/daemon debug] posting event (0x81e1788) with
type
 CONTACT_UP (at back)
[1164358618.302985 /dtn/bundle/daemon/msgqueue debug] notifier notify
[1164358618.305205 /dtn/bundle/daemon debug] poll returned 1
[1164358618.305219 /dtn/bundle/daemon debug] poll returned new event to
handle
[1164358618.305230 /timer debug] new timeout 313
[1164358618.307502 /dtn/bundle/daemon/msgqueue debug] notify count = 1
[1164358618.309741 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting
to
drain 1 bytes
[1164358618.309762 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained
1/1 by
te(s) from pipe
[1164358618.309770 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0
[1164358618.309780 /dtn/bundle/daemon debug] dispatching event (0x81e1788)
CONTA
CT_UP
[1164358618.309790 /dtn/bundle/daemon info] CONTACT_UP opportunistic-0 [
192.168.
0.165:2068 dtn://nokia3.dtn OPPORTUNISTIC UNAVAILABLE] (contact 0x81e9810)
[1164358618.309803 /dtn/link/opportunistic-0 debug] set_state UNAVAILABLE ->
OPE
N
[1164358618.309812 /dtn/route/static debug] dispatching event (0x81e1788)
CONTAC
T_UP
[1164358618.309820 /dtn/route/static debug] check_next_hop
192.168.0.165:2068: c
hecking pending bundle list...
[1164358618.309830 /dtn/contact/manager debug] dispatching event (0x81e1788)
CON
TACT_UP
[1164358618.309839 /dtn/contact/refs debug] refcount contact
192.168.0.165:2068
(started 1164358618.288741) 3 -> 2 del ContactUpEvent
[1164358618.309855 /timer debug] new timeout 309
[1164358618.312991 /dtn/cl/tcp/conn/0x81e1948 debug] calling poll on 2 fds
with
timeout 10000
[1164358618.619094 /dtn/bundle/daemon debug] poll returned -2
[1164358618.619121 /dtn/bundle/daemon debug] poll timeout
[1164358618.619132 /timer debug] sub-millisecond difference found, falling
throu
gh
[1164358618.619141 /timer debug] popping timer 0x81cfcf8 at
1164358618.619130
[1164358618.619150 /dtn/storage/deadlock_timer debug] running deadlock
detection
[1164358618.619162 /dtn/storage/deadlock_timer debug] rescheduling in 5000
msecs
[1164358618.619171 /timer debug] scheduling timer 0x81cfcf8 in 5000 ms at
116435
8623:619170
[1164358618.619186 /timer debug] new timeout 5000
[1164358618.619199 /dtn/bundle/daemon debug] poll returned 1
[1164358618.619205 /dtn/bundle/daemon debug] poll returned new timers to
handle
[1164358618.619215 /timer debug] new timeout 5000
[1164358619.834370 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: 1/2
fds
 ready, status 0x1 0x0
[1164358619.836958 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier:
normal
fd has event
[1164358619.839416 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: draining up
to 3
2768 bytes into recv buffer...
[1164358619.841893 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::readv() fd 19 cc
4099
[1164358619.844130 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: read 4099
bytes,
 rcvbuf has 0 bytes
[1164358619.846509 /dtn/cl/tcp/conn/0x81e1948 debug] processing up to 4099
bytes
 from receive buffer
[1164358619.848929 /dtn/cl/tcp/conn/0x81e1948 debug] noting data_rcvd
[1164358619.851165 /dtn/cl/tcp/conn/0x81e1948 debug] recvbuf has 4099 full
bytes
, dispatching to handler routine
[1164358619.853550 /dtn/cl/tcp/conn/0x81e1948 debug] got BUNDLE_START
segment, c
reating new IncomingBundle
[1164358619.856020 /dtn/storage/globals debug] next_bundleid 23 -> 24
[1164358619.858284 /dtn/storage/globals debug] updating global store
[1164358619.860735 /dtn/storage/globals debug] put: serializing 12 byte
object (
plus 0 byte typecode)
[1164358619.867817 /dtn/bundle debug] Bundle::init bundle id 23
[1164358619.870324 /dtn/bundle/payload/23/file debug] open
/home/cluo/dtn/bundle
s/bundle_23.dat (flags 0xc2 mode 0x180): fd 31
[1164358619.874138 /dtn/bundle/protocol debug] BlockProcessor type 0x0
consumed
preamble 5/5 for block type (0x0): data_offset 5 data_length 0
ASSERTION FAILED (cc == (int)len) at bundling/PrimaryBlockProcessor.cc:407
STACK TRACE: 0x80cc4d7 0x807dc55 0x8075cfe 0x80c4bb8 0x80c4583 0x808f338
0x80bd7
ed 0x80f6ea3 0x80f6dc2 0xb7e19b63
Aborted

------=_Part_102166_15283889.1164275700834
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi, <br><br>I am trying to run dtnd on Nokia770, and i met couple of strange things:<br><br>1, ./dtnsend&nbsp; and ./dtnrecv doesn't work by keep showing the help message even i typed the right command (e.g. ./dtnsend -s dtn://nokia3.dtn/1 -d dtn://nokia4.dtn/1 -t m -p &quot;hello&quot;&nbsp; or ./dtnrecv dtn://nokia3.dtn/1 ). and ./dtnping works ok.
<br><br>2, when i trying to send dtn bundle from Nokia770 by a my dtn application to the laptop, dtnd on laptop showed the error information as:<br>ASSERTION FAILED (cc == (int)len) at bundling/PrimaryBlockProcessor.cc:407
<br>STACK TRACE: 0x80cc4d7 0x807dc55 0x8075cfe 0x80c4bb8 0x80c4583 0x808f338 0x80bd7ed 0x80f6ea3 0x80f6dc2 0xb7e19b63 <br>Aborted<br><br>Could any one give some hints about that?<br><br>BR<br>Cheng <br><br><br>the full debug output file is attached as follow:
<br>[1164358618.212030 /dtn/cl/tcp/notifier debug] set_nonblocking: nonblocking mode<br>&nbsp;set<br>[1164358618.214416 /dtn/cl/tcp/notifier debug] set_nonblocking: nonblocking mode<br>&nbsp;set<br>[1164358618.216866 /dtn/cl/tcp/conn/0x81e1948/19 debug] setting SO_REUSEADDR
<br>[1164358618.219220 /dtn/cl/tcp/conn/0x81e1948/19 debug] set_nonblocking: nonbloc<br>king mode set<br>[1164358618.221573 /thread debug] starting thread 0x81e194c<br>[1164358618.223868 /dtn/cl/tcp/conn/0x81e1948 debug] accept: got connection from
<br>&nbsp;<a href="http://192.168.0.165:2068">192.168.0.165:2068</a>...<br>[1164358618.226361 /dtn/cl/tcp/conn/0x81e1948 debug] initiate_contact called<br>[1164358618.228622 /dtn/cl/tcp/conn/0x81e1948 debug] noting data_sent<br>
[1164358618.230878 /dtn/cl/tcp/conn/0x81e1948 debug] send_data: trying to drain <br>25 bytes from send buffer...<br>[1164358618.233321 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::writev() fd 19 cc 25<br>[1164358618.235556 /dtn/cl/tcp/conn/0x81e1948 debug] send_data: wrote 25/25 byte
<br>s from send buffer<br>[1164358618.237950 /dtn/cl/tcp/conn/0x81e1948 debug] calling poll on 2 fds with <br>timeout 10000<br>[1164358618.240414 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: 1/2 fds<br>&nbsp;ready, status 0x1 0x0 
<br>[1164358618.242858 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: normal <br>fd has event<br>[1164358618.245280 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: draining up to 3<br>2768 bytes into recv buffer...<br>
[1164358618.247700 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::readv() fd 19 cc 25<br>[1164358618.249908 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: read 25 bytes, r<br>cvbuf has 0 bytes<br>[1164358618.252208 /dtn/cl/tcp/t/manager debug] find_link_to: no match
<br>[1164358618.261680 /dtn/contact/manager debug] new_opportunistic_link: cl tcp ne<br>xthop <a href="http://192.168.0.165:2068">192.168.0.165:2068</a> remote_eid dtn://nokia3.dtn<br>[1164358618.264178 /dtn/cl/tcp debug] adding OPPORTUNISTIC link 
<a href="http://192.168.0.165:20">192.168.0.165:20</a><br>68<br>[1164358618.266664 /dtn/link/opportunistic-0 info] new link opportunistic-0 [192<br>.168.0.165:2068 dtn:none OPPORTUNISTIC UNAVAILABLE]<br>[1164358618.269064
 /dtn/contact/manager debug] adding link opportunistic-0<br>[1164358618.271306 /dtn/bundle/daemon debug] posting event (0x816e238) with type<br>&nbsp;LINK_CREATED (at back)<br>[1164358618.273652 /dtn/bundle/daemon/msgqueue debug] notifier notify
<br>[1164358618.275906 /dtn/bundle/daemon debug] poll returned 1<br>[1164358618.275920 /dtn/bundle/daemon debug] poll returned new event to handle<br>[1164358618.275932 /timer debug] new timeout 343<br>[1164358618.278237 /dtn/bundle/daemon/msgqueue debug] notify count = 1
<br>[1164358618.280467 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting to <br>drain 1 bytes<br>[1164358618.280489 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained 1/1 by<br>te(s) from pipe<br>[1164358618.280496
 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0<br>[1164358618.280506 /dtn/bundle/daemon debug] dispatching event (0x816e238) LINK_<br>CREATED<br>[1164358618.280515 /dtn/route/static debug] dispatching event (0x816e238) LINK_C
<br>REATED<br>[1164358618.280573 /dtn/bundle/daemon debug] posting event (0x81df498) with type<br>&nbsp;ROUTE_ADD (at back)<br>[1164358618.280583 /dtn/bundle/daemon/msgqueue debug] notifier notify<br>[1164358618.280592 /dtn/bundle/daemon/msgqueue debug] notify count = 1
<br>[1164358618.280600 /dtn/contact/manager debug] dispatching event (0x816e238) LIN<br>K_CREATED<br>[1164358618.280614 /timer debug] new timeout 338<br>[1164358618.280621 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting to 
<br>drain 1 bytes<br>[1164358618.280629 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained 1/1 by<br>te(s) from pipe<br>[1164358618.280637 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0<br>[1164358618.280644 /dtn/bundle/daemon debug] dispatching event (0x81df498) ROUTE
<br>_ADD<br>[1164358618.280652 /dtn/bundle/daemon info] ROUTE_ADD dtn://nokia3.dtn/* -&gt; 192.<br>168.0.165:2068 (FORWARD)<br>[1164358618.280662 /dtn/route/static debug] dispatching event (0x81df498) ROUTE_<br>ADD<br>[1164358618.280669
 /dtn/routing/static/table debug] add_route dtn://nokia3.dtn/*<br>&nbsp;-&gt; <a href="http://192.168.0.165:2068">192.168.0.165:2068</a> (FORWARD)<br>[1164358618.280682 /dtn/route/static debug] check_next_hop <a href="http://192.168.0.165:2068">
192.168.0.165:2068</a>: c<br>hecking pending bundle list...<br>[1164358618.280692 /dtn/contact/manager debug] dispatching event (0x81df498) ROU<br>TE_ADD<br>[1164358618.280701 /timer debug] new timeout 338<br>[1164358618.286399
 /dtn/cl/tcp/conn/0x81e1948 debug] created new opportunistic l<br>ink opportunistic-0 [<a href="http://192.168.0.165:2068">192.168.0.165:2068</a> dtn://nokia3.dtn OPPORTUNISTIC UNAVAILAB<br>LE]<br>[1164358618.288746 /dtn/contact/opportunistic-0 info] new contact contact 
192.16<br>8.0.165:2068 (started 1164358618.288741)<br>[1164358618.291144 /dtn/contact/refs debug] refcount contact <a href="http://192.168.0.165:2068">192.168.0.165:2068</a> <br>(started 1164358618.288741) 0 -&gt; 1 add TCPConvergenceLayer::Connection 
<br>[1164358618.293572 /dtn/contact/refs debug] refcount contact <a href="http://192.168.0.165:2068">192.168.0.165:2068</a> <br>(started 1164358618.288741) 1 -&gt; 2 add Link <br>[1164358618.296024 /dtn/cl/tcp/conn/0x81e1948 debug] contact_up
<br>[1164358618.298275 /dtn/contact/refs debug] refcount contact <a href="http://192.168.0.165:2068">192.168.0.165:2068</a> <br>(started 1164358618.288741) 2 -&gt; 3 add ContactUpEvent <br>[1164358618.300607 /dtn/bundle/daemon debug] posting event (0x81e1788) with type
<br>&nbsp;CONTACT_UP (at back)<br>[1164358618.302985 /dtn/bundle/daemon/msgqueue debug] notifier notify<br>[1164358618.305205 /dtn/bundle/daemon debug] poll returned 1<br>[1164358618.305219 /dtn/bundle/daemon debug] poll returned new event to handle
<br>[1164358618.305230 /timer debug] new timeout 313<br>[1164358618.307502 /dtn/bundle/daemon/msgqueue debug] notify count = 1<br>[1164358618.309741 /dtn/bundle/daemon/msgqueue debug] drain_pipe: attempting to <br>drain 1 bytes
<br>[1164358618.309762 /dtn/bundle/daemon/msgqueue debug] drain_pipe: drained 1/1 by<br>te(s) from pipe<br>[1164358618.309770 /dtn/bundle/daemon/msgqueue debug] drain pipe count = 0<br>[1164358618.309780 /dtn/bundle/daemon debug] dispatching event (0x81e1788) CONTA
<br>CT_UP<br>[1164358618.309790 /dtn/bundle/daemon info] CONTACT_UP opportunistic-0 [192.168.<br>0.165:2068 dtn://nokia3.dtn OPPORTUNISTIC UNAVAILABLE] (contact 0x81e9810)<br>[1164358618.309803 /dtn/link/opportunistic-0 debug] set_state UNAVAILABLE -&gt; OPE
<br>N<br>[1164358618.309812 /dtn/route/static debug] dispatching event (0x81e1788) CONTAC<br>T_UP<br>[1164358618.309820 /dtn/route/static debug] check_next_hop <a href="http://192.168.0.165:2068">192.168.0.165:2068</a>: c
<br>hecking pending bundle list...<br>[1164358618.309830 /dtn/contact/manager debug] dispatching event (0x81e1788) CON<br>TACT_UP<br>[1164358618.309839 /dtn/contact/refs debug] refcount contact <a href="http://192.168.0.165:2068">
192.168.0.165:2068</a> <br>(started 1164358618.288741) 3 -&gt; 2 del ContactUpEvent <br>[1164358618.309855 /timer debug] new timeout 309<br>[1164358618.312991 /dtn/cl/tcp/conn/0x81e1948 debug] calling poll on 2 fds with <br>
timeout 10000<br>[1164358618.619094 /dtn/bundle/daemon debug] poll returned -2<br>[1164358618.619121 /dtn/bundle/daemon debug] poll timeout<br>[1164358618.619132 /timer debug] sub-millisecond difference found, falling throu
<br>gh<br>[1164358618.619141 /timer debug] popping timer 0x81cfcf8 at 1164358618.619130<br>[1164358618.619150 /dtn/storage/deadlock_timer debug] running deadlock detection<br>[1164358618.619162 /dtn/storage/deadlock_timer debug] rescheduling in 5000 msecs
<br>[1164358618.619171 /timer debug] scheduling timer 0x81cfcf8 in 5000 ms at 116435<br>8623:619170<br>[1164358618.619186 /timer debug] new timeout 5000<br>[1164358618.619199 /dtn/bundle/daemon debug] poll returned 1<br>[
1164358618.619205 /dtn/bundle/daemon debug] poll returned new timers to handle<br>[1164358618.619215 /timer debug] new timeout 5000<br>[1164358619.834370 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: 1/2 fds<br>&nbsp;ready, status 0x1 0x0 
<br>[1164358619.836958 /dtn/cl/tcp/conn/0x81e1948 debug] poll_with_notifier: normal <br>fd has event<br>[1164358619.839416 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: draining up to 3<br>2768 bytes into recv buffer...<br>
[1164358619.841893 /dtn/cl/tcp/conn/0x81e1948/19 debug] ::readv() fd 19 cc 4099<br>[1164358619.844130 /dtn/cl/tcp/conn/0x81e1948 debug] recv_data: read 4099 bytes,<br>&nbsp;rcvbuf has 0 bytes<br>[1164358619.846509 /dtn/cl/tcp/conn/0x81e1948 debug] processing up to 4099 bytes
<br>&nbsp;from receive buffer<br>[1164358619.848929 /dtn/cl/tcp/conn/0x81e1948 debug] noting data_rcvd<br>[1164358619.851165 /dtn/cl/tcp/conn/0x81e1948 debug] recvbuf has 4099 full bytes<br>, dispatching to handler routine<br>
[1164358619.853550 /dtn/cl/tcp/conn/0x81e1948 debug] got BUNDLE_START segment, c<br>reating new IncomingBundle<br>[1164358619.856020 /dtn/storage/globals debug] next_bundleid 23 -&gt; 24<br>[1164358619.858284 /dtn/storage/globals debug] updating global store
<br>[1164358619.860735 /dtn/storage/globals debug] put: serializing 12 byte object (<br>plus 0 byte typecode)<br>[1164358619.867817 /dtn/bundle debug] Bundle::init bundle id 23<br>[1164358619.870324 /dtn/bundle/payload/23/file debug] open /home/cluo/dtn/bundle
<br>s/bundle_23.dat (flags 0xc2 mode 0x180): fd 31<br>[1164358619.874138 /dtn/bundle/protocol debug] BlockProcessor type 0x0 consumed <br>preamble 5/5 for block type (0x0): data_offset 5 data_length 0<br>ASSERTION FAILED (cc == (int)len) at bundling/PrimaryBlockProcessor.cc:407
<br>STACK TRACE: 0x80cc4d7 0x807dc55 0x8075cfe 0x80c4bb8 0x80c4583 0x808f338 0x80bd7<br>ed 0x80f6ea3 0x80f6dc2 0xb7e19b63 <br>Aborted<br><br>

------=_Part_102166_15283889.1164275700834--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.228]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAMJPCY17654 for <dtn-users@mailman.dtnrg.org>; Wed, 22 Nov 2006 11:25:12 -0800
Received: by wx-out-0506.google.com with SMTP id s7so325037wxc for <dtn-users@mailman.dtnrg.org>; Wed, 22 Nov 2006 11:25:11 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=gS5v5hnoD+cjvSVIErteGyS4FbX8dSn57xwIA8iaWlM4AEXnj3roeJ5cmYn/w8MGmmjFkLGrPj4oCDLbe6PsPSnfBMeUzsXkHW0EJnjYtOaoUdlVCpURQz67giI9t2vLgMSP45CGtxJ66kSYLo9nxe2H8D1zuwdBUFPYeNFH3Oc=
Received: by 10.70.68.11 with SMTP id q11mr1789661wxa.1164223479013; Wed, 22 Nov 2006 11:24:39 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Wed, 22 Nov 2006 11:24:38 -0800 (PST)
Message-ID: <d35f8e370611221124m79a2caf0tbede5d54fe932ae5@mail.gmail.com>
Date: Wed, 22 Nov 2006 14:24:38 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
Cc: mcchuah@gmail.com
In-Reply-To: <F589C114-9727-445A-9162-090C013A0B0C@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_104489_19200175.1164223478151"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com> <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com> <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com> <F589C114-9727-445A-9162-090C013A0B0C@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_104489_19200175.1164223478151
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so I'm trying scratchbox, I have it installed, I'm trying to recompile tcl,
and running into a bit of an issue with it finding the libraries.  It
configures fine, but when I try to compile, I get:

arm-linux-gcc -pipe -shared -o libtcl8.4.so regcomp.o regexec.o regfree.o
regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o
tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o
tclCompile.o tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecute.o
tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o
tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o
tclListObj.o tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o
tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o
tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o
tclScan.o tclStringObj.o tclThread.o tclThreadAlloc.o tclThreadJoin.o
tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o
tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o
tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o tclUnixCompat.o
tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o tclLoadDl.o  -ldl
-lieee -lm   -Wl,-rpath,/scratchbox/host_shared/lib//lib
/scratchbox/compilers/arm-gcc3.4-uclibc0.9.28/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/bin/ld:
cannot find -lieee
collect2: ld returned 1 exit status
make: *** [libtcl8.4.so] Error 1

and the library is there

edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name *ieee*
./libieee.a

I've tried various configure args to try to fix it, but to no avail,
including:
--without-ieee
--x-libraries=/scratchbox/host_shared/lib
--libdir=/scratchbox/host_shared/lib

any thoughts on this?, did you run into it?

On 11/20/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> Sorry -- from what I remember it worked out of the box.We've also had some
> success with scratchbox, you could try that approach instead for
> cross-compiling.
>
> -m
>
>
> On Nov 20, 2006, at 5:33 PM, ryan m wrote:
>
> opps forgot an updatedb
>
> root@runabout:~# locate pthread.h
> /opt/arm-linux-gnu/include/pthread.h
> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> /usr/include/nptl/pthread.h
> /usr/include/pthread.h
> /usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
> root@runabout:~#
>
>
> On 11/20/06, ryan m < smarts40@gmail.com> wrote:
> >
> > oooh and some googling says to do this:
> >
> > 1. threads issue (read before) : use option "--disable-threads"
> >
> > but since DTN2 requires threads this seems like a bad idea....
> >
> > On 11/20/06, ryan m <smarts40@gmail.com> wrote:
> > >
> > > so things were going so-so until I went to build gcc:
> > > gcc
> > >
> > > Now do:
> > >
> > > # cd ../gcc-arm-linux-3.3.z/
> > > # debuild
> > >
> > > it failes at:
> > >
> > > /usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-
> > > arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/
> > > -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2
> > > -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes
> > > -Wmissing-prototypes -Wold-style-definition  -isystem ./include
> > > -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
> > > -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
> > > -I../../src/gcc/. -I../../src/gcc/../include  -fexceptions -c
> > > ../../src/gcc/unwind- dw2.c -o libgcc/./unwind-dw2.o
> > > In file included from ./gthr-default.h:1,
> > >                  from ../../src/gcc/gthr.h:96,
> > >                  from ../../src/gcc/unwind-dw2.c:42:
> > > ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or
> > > directory
> > > ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory
> > >
> > >
> > > the thread thing kills me once again
> > >
> > > pthread.h is there... not sure were it's looking for it, or even if I
> > > copied the /usr/include/pthread.h to where it's looking for it would do
> > > anything
> > >
> > > root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h
> > > /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> > > /usr/include/nptl/pthread.h
> > > /usr/include/pthread.h
> > >
> > > Did you run anything like this?
> > >
> > > On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> > > >
> > > >
> > > > I set up a debian system using the following instructions:
> > > >
> > > > http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
> > > >
> > > > At the time, that worked on my zaurus.
> > > >
> > > > -m
> > > >
> > > > On Nov 19, 2006, at 12:54 PM, ryan m wrote:
> > > >
> > > > make test in the oasys directory fails here:
> > > >
> > > > arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
> > > > -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
> > > > -fno-inline  -MMD -MP -MT " sample-.o sample-.E sample-.po" -Wall -W
> > > > -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
> > > > -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -
> > > > ltcl8.4 -ldb-4.4
> > > > liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined
> > > > reference to `pthread_kill'
> > > > liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
> > > > `pthread_detach'
> > > > liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to
> > > > `pthread_join'
> > > > liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
> > > > `pthread_kill'
> > > > liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
> > > > `pthread_sigmask'
> > > > collect2: ld returned 1 exit status
> > > > make: *** [test/sample-test] Error 1
> > > >
> > > > so it definatly seems like a pthread library issue, any idea how I
> > > > can fix this.  The libraries do indeed exsist.
> > > >
> > > > edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls
> > > > -ld *thread*
> > > > -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> > > > -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> > > > -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> > > > lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
> > > > libpthread.so.0
> > > > lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
> > > > libpthread-0.10.so
> > > > -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
> > > > lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
> > > > libthread_db.so.1
> > > > lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->
> > > > libthread_db-1.0.so
> > > >
> > > >
> > > > EVERY zaurus specific cross compile evironment I can find (either
> > > > instructions on producing one or a tar of one) is gcc 2.x which as
> > > > we found out is unable to compile DTN2 ri.  Has anyone found a suitable
> > > > cross compile environment for the zaurus based off of gcc 3.x?
> > > >
> > > > On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > >
> > > > > Unfortunately I'm not sure if I can give you any more advice on
> > > > > this -- again this looks like there's something wrong with the build and/or
> > > > > the system being incompatible or unstable. You could try compiling and
> > > > > running simpler programs with your setup to make sure the basic compiler is
> > > > > working, then perhaps try a simple multithreaded one, etc. If you run 'make
> > > > > tests' in the DTN2/oasys directory that will build a bunch of unit tests
> > > > > which you could try out to make sure things are working.
> > > > >
> > > > > -m
> > > > >
> > > > >
> > > > > On Nov 16, 2006, at 7:10 PM, ryan m wrote:
> > > > >
> > > > > backtrace to follow:
> > > > >
> > > > > [1142331726.187026 /dtnd debug] started dtn server
> > > > > [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> > > > > [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> > > > > [1142331726.188407 /dtn/apiserver/13 debug] binding to
> > > > > 127.0.0.1:5010
> > > > > [1142331726.188762 /dtn/apiserver/13 debug] listening
> > > > > [1142331726.189139 /dtn/apiserver/13 debug] state INIT ->
> > > > > LISTENING
> > > > > [1142331726.189462 /thread debug] delaying start of thread
> > > > > 0x4240f8 due to barrier
> > > > > [1142331726.189880 /thread debug] releasing thread creation
> > > > > barrier -- 3 queued threads
> > > > > [1142331726.190299 /thread debug] starting thread 0x42b544
> > > > >
> > > > > Program received signal SIG32, Real-time event 32.
> > > > > 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > > 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> > > > > directory.
> > > > >         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> > > > > Current language:  auto; currently c
> > > > > (gdb) backtrace
> > > > > #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > > #1  0x00249ed4 in __pthread_wait_for_restart_signal
> > > > > (self=0x3c3620) at pthread.c:1067
> > > > > #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,
> > > > > attr=0x3c3e64,
> > > > >     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
> > > > > arg=0x42b544) at restart.h:36
> > > > > #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> > > > > thread/Thread.cc:169
> > > > > #4  0x0010912c in oasys::Thread::release_start_barrier () at
> > > > > thread/Thread.cc:70
> > > > > #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> > > > > argv=0xbffffd14) at dtnd.cc:401
> > > > > #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
> > > > >
> > > > >
> > > > > as far as my cross compiler I used a generic one for arm embedded
> > > > > systems... I couldn't find a zaurus one that was up to date enough to
> > > > > compile DTN2
> > > > >
> > > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > > >
> > > > > > It looks like there's something more seriously wrong with your
> > > > > > build. If you could print out the stack trace using gdb or some such, that
> > > > > > would be helpful, but both these errors seem to me like there's something
> > > > > > quite messed up in your build setup, perhaps a bogus cross compiler or the
> > > > > > wrong endianness or something like that.
> > > > > > -mike
> > > > > >
> > > > > > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> > > > > >
> > > > > > well --db-init completed so I went to run it without --init-db
> > > > > > and got:
> > > > > >
> > > > > > [1142293298.812187 /dtn/storage/globals debug] loading global
> > > > > > store
> > > > > > [1142293298.813051 /dtn/storage/globals debug] opening file
> > > > > > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > > > > > [1142293298.814094 /thread debug] delaying start of thread
> > > > > > 0x429220 due to barrier
> > > > > > [1142293298.814538 /dtnd debug] started dtn server
> > > > > > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > > > > > [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> > > > > >
> > > > > > [1142293298.815706 /dtn/apiserver/12 debug] binding to
> > > > > > 127.0.0.1:5010
> > > > > > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > > > > > [1142293298.816451 /dtn/apiserver/12 debug] state INIT ->
> > > > > > LISTENING
> > > > > > [1142293298.833241 /thread debug] delaying start of thread
> > > > > > 0x424030 due to barrier
> > > > > > [1142293298.839105 /thread debug] releasing thread creation
> > > > > > barrier -- 3 queued threads
> > > > > > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > > > > > [1142293298.851478 /thread debug] starting thread 0x429220
> > > > > > [1142293298.857805 /thread debug] starting thread 0x424030
> > > > > > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > > > > > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c
> > > > > > 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > > > > > [1142293298.929080 /dtnd info] starting console on
> > > > > > 127.0.0.1:5050
> > > > > > [1142293298.929495 /command debug] starting command server on
> > > > > > 127.0.0.1:5050
> > > > > > [1142293298.937500 /command info] can't load tclreadline: can't
> > > > > > find package tclreadline
> > > > > > [1142293298.938120 /command info] fall back to simple command
> > > > > > loop
> > > > > > collie dtn% Segmentation fault
> > > > > >
> > > > > > THANK YOU for your help and patience
> > > > > >
> > > > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > > > >
> > > > > > > Hmm... That's a strange one. You could try just using the
> > > > > > > filesystem store by changing 'storage set type berkeleydb' to 'storage set
> > > > > > > type filesysdb'.
> > > > > > >
> > > > > > > -m
> > > > > > >
> > > > > > >
> > > > > > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > > > > > >
> > > > > > > well that got me a little farther at least... this is where it
> > > > > > > died this time:
> > > > > > >
> > > > > > > [1142289491.726722 /dtnd notice] initializing persistent data
> > > > > > > store
> > > > > > > [1142289491.767648 /dtn/storage notice] creating new database
> > > > > > > directory /home/root/Applications/DTN_wireless/tmp/db
> > > > > > > [1142289491.884849 /dtn/storage info] initializing db name=DTN
> > > > > > > (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > > > > > [1142289492.284995 /storage/berkeleydb error] DB internal
> > > > > > > error: unable to initialize mutex: Function not implemented
> > > > > > > [1142289492.290986 /storage/berkeleydb error] DB internal
> > > > > > > error: PANIC: Function not implemented
> > > > > > > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:
> > > > > > > Fatal error, run database recovery, cannot open database
> > > > > > > [1142289492.316046 /dtn/storage error] can't initialize
> > > > > > > berkeleydb -1000
> > > > > > > [1142289492.316369 /dtnd critical] error creating storage
> > > > > > > system
> > > > > > > [1142289492.316683 /dtnd error] error initializing data store,
> > > > > > > exiting...
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > The only reason you could be getting that error is if the
> > > > > > > > name lookup failed for some reason. You could try putting the IP address in
> > > > > > > > the llink configuration and seeing if that works. If it does, then there
> > > > > > > > must be something wrong with the host configuration or some other reason why
> > > > > > > > the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You
> > > > > > > > could put more debug logging in there to trace it down further.
> > > > > > > >
> > > > > > > > -m
> > > > > > > >
> > > > > > > >
> > > > > > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > > > > > >
> > > > > > > > so I've got a static version of dtnd compiled and on the
> > > > > > > > zaurus, and now I'm getting this odd behavior when I try to run
> > > > > > > >
> > > > > > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > > > > > >
> > > > > > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > > > > > ./dtn.conf...
> > > > > > > > [1142213113.433018 /command debug] executing command file
> > > > > > > > ./dtn.conf
> > > > > > > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > > > > > > [1142213113.447671 /dtn/interface/table info] adding
> > > > > > > > interface tcp0 (tcp)
> > > > > > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > > > > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > created pipe, fds: 9 10
> > > > > > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created
> > > > > > > > socket 11
> > > > > > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > > > > > SO_REUSEADDR
> > > > > > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > > > > > > 0.0.0.0:5000
> > > > > > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > > > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT
> > > > > > > > -> LISTENING
> > > > > > > > [1142213113.462443 /thread debug] delaying start of thread
> > > > > > > > 0x42bb54 due to barrier
> > > > > > > > [1142213113.464152 /dtn/link/link1 debug] set_state
> > > > > > > > UNAVAILABLE -> AVAILABLE
> > > > > > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > > > > > rcm2.cse.lehigh.edu:5000
> > > > > > > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname
> > > > > > > > ' rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
> > > > > > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop
> > > > > > > > address ' rcm2.cse.lehigh.edu:5000 '
> > > > > > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link
> > > > > > > > nexthop ' rcm2.cse.lehigh.edu:5000'
> > > > > > > > [1142213113.467679 /command error] error: line 137: 'invalid
> > > > > > > > link option: (unknown)':
> > > > > > > > invalid link option: (unknown)
> > > > > > > >     while executing
> > > > > > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > > > > > >     (file "./dtn.conf" line 137)
> > > > > > > > [1142213113.468105 /dtnd error] error in configuration file,
> > > > > > > > exiting...
> > > > > > > >
> > > > > > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it
> > > > > > > > isn't a failure in name resolution.
> > > > > > > >
> > > > > > > > sorry about posting the "wrong" list, I knew there was
> > > > > > > > discussion of making multiple lists, but I wasn't aware that it had actually
> > > > > > > > happened, since I don't have the time to read everything that goes through
> > > > > > > > dtn-interest. Thank you for the help so far.
> > > > > > > >
> > > > > > > >
> > > > > > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu >
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > First of all, let me say that this discussion should be on
> > > > > > > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > > > > > > please in the future use that list for dtn reference implementation
> > > > > > > > > questions, not dtn-interest.
> > > > > > > > > As far as building tcl statically goes, it's a bit
> > > > > > > > > confusing, but you need to run tcl's ./configure --disable-shared to tell it
> > > > > > > > > to build a full static libtcl8.4.a. You don't want the
> > > > > > > > > stub library linked in.
> > > > > > > > >
> > > > > > > > > As far as your original problem goes, I suggested linking
> > > > > > > > > statically to try to confirm that it's not a library compatibility issue due
> > > > > > > > > to the cross compilation. I don't know if this will help or not, but that's
> > > > > > > > > what I suggest to do first.
> > > > > > > > >
> > > > > > > > > -mike
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > > > > > >
> > > > > > > > > my libtclstub is libtclstub8.4.so.a and if i try to link
> > > > > > > > > to it with a link name of libtclstub8.4.so.a or
> > > > > > > > > libtclstub8.4.so in the /usr/lib directory.  ldconfig
> > > > > > > > > complains it " is not an ELF file - it has the wrong magic bytes at the
> > > > > > > > > start" so I had to leave that link out, but I did do the other links, but
> > > > > > > > > dtnd crashes the same way.
> > > > > > > > >
> > > > > > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > > > > > >
> > > > > > > > > >  I added links in the target for the following:
> > > > > > > > > >
> > > > > > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > > > > > >  in /usr/lib/ from libtclstub8.4.so ->
> > > > > > > > > > /usr/lib/libtclstub8.4.so
> > > > > > > > > >
> > > > > > > > > > For some reason, it seemed like the tcl libraries wanted
> > > > > > > > > > to be in the same directory as the pthread libraries (but I haven't
> > > > > > > > > > confirmed that).  I just moved on as soon as things started working.
> > > > > > > > > >
> > > > > > > > > > Let me know if this helps for you...
> > > > > > > > > >
> > > > > > > > > >  ------------------------------
> > > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > > m
> > > > > > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > > > > > *To:* DTNRG
> > > > > > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > > >
> > > > > > > > > >  is that something I can do with a configure argument to
> > > > > > > > > > building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > > > > > you think that doing a static build is the best way to fix the original
> > > > > > > > > > issue I was having on the PDA?
> > > > > > > > > >
> > > > > > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > > > > > > >
> > > > > > > > > > >  I suspect the answer is that you need a 'real' tcl
> > > > > > > > > > > library (a .a file) that can be linked statically.  I don't think shared
> > > > > > > > > > > objects (the .so tcl library you have in the arm directory) can be linked
> > > > > > > > > > > that way.
> > > > > > > > > > >
> > > > > > > > > > >         --keith
> > > > > > > > > > >
> > > > > > > > > > >  ------------------------------
> > > > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > > > m
> > > > > > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > > > > > *To:* DTNRG
> > > > > > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > > > >
> > > > > > > > > > >  when i configure with this:
> > > > > > > > > > >
> > > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > > >
> > > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > > >
> > > > > > > > > > > configure completes fine, but... when I do this:
> > > > > > > > > > >
> > > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > > >
> > > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > > > --enable-static
> > > > > > > > > > >
> > > > > > > > > > > I get:
> > > > > > > > > > >
> > > > > > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl
> > > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl84 -ldl
> > > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
> > > > > > > > > > > -lpthread ... no
> > > > > > > > > > >
> > > > > > > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > > > > > configure: error: can't find usable tcl.h
> > > > > > > > > > >
> > > > > > > > > > > and it is there:
> > > > > > > > > > >
> > > > > > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls
> > > > > > > > > > > -ld *tcl*
> > > > > > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > > > > >
> > > > > > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28
> > > > > > > > > > > libtclstub8.4.a
> > > > > > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28
> > > > > > > > > > > tclConfig.sh
> > > > > > > > > > >
> > > > > > > > > > > without enable-static:
> > > > > > > > > > >
> > > > > > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > > checking for tcl library in
> > > > > > > > > > > /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl
> > > > > > > > > > > -lm -lpthread ... yes
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Thank you for the help
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > Michael Demmer wrote:
> > > > > > > > > > > > try statically building dtnd and see if that works.
> > > > > > > > > > > >
> > > > > > > > > > > > -m
> > > > > > > > > > > >
> > > > > > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > > > > > >
> > > > > > > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > > > > > > zaurus.  So I
> > > > > > > > > > > >> copied over the libs that I had cross compiled,
> > > > > > > > > > > which seemed obvious
> > > > > > > > > > > >> to do. Then DTN was complaining about stdc++ lib so
> > > > > > > > > > > I copied over the
> > > > > > > > > > > >> libs from the lib directory of the cross compile
> > > > > > > > > > > tool chain, I figured
> > > > > > > > > > > >> that if it was linking in those libs to make arm
> > > > > > > > > > > binaries the libs
> > > > > > > > > > > >> themselves must be arm compatabile, is this
> > > > > > > > > > > right?  So the sum of it
> > > > > > > > > > > >> is I get this when I try to run DTN:
> > > > > > > > > > > >>
> > > > > > > > > > > >>
> > > > > > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > > > > > libstdc++.so.5: cannot
> > > > > > > > > > > >> open shared object file: No such file or directory
> > > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > ldconfig
> > > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > > >> [1142218881.762749 /log debug] adding log reparse
> > > > > > > > > > > signal handler
> > > > > > > > > > > >> [1142218881.929239 /timer debug] adding signal
> > > > > > > > > > > handler 0xd6c14 for
> > > > > > > > > > > >> signal 1
> > > > > > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate
> > > > > > > > > > > signal handler
> > > > > > > > > > > >> [1142218881.933055 /timer debug] adding signal
> > > > > > > > > > > handler 0xd6b9c for
> > > > > > > > > > > >> signal 10
> > > > > > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon
> > > > > > > > > > > starting up... (pid 1870)
> > > > > > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump
> > > > > > > > > > > core
> > > > > > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > > > > > >> Illegal instruction
> > > > > > > > > > > >>
> > > > > > > > > > > >> any thoughts?
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> >
>
>

------=_Part_104489_19200175.1164223478151
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so I'm trying scratchbox, I have it installed, I'm trying to recompile tcl, and running into a bit of an issue with it finding the libraries.&nbsp; It configures fine, but when I try to compile, I get:<br><br>arm-linux-gcc -pipe -shared -o 
<a href="http://libtcl8.4.so">libtcl8.4.so</a> regcomp.o regexec.o regfree.o regerror.o tclAlloc.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o tclCompCmds.o tclCompExpr.o tclCompile.o
 tclDate.o tclEncoding.o tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o tclIOGT.o tclIOSock.o tclIOUtil.o tclLink.o tclListObj.o tclLiteral.o
 tclLoad.o tclMain.o tclNamesp.o tclNotify.o tclObj.o tclPanic.o tclParse.o tclParseExpr.o tclPipe.o tclPkg.o tclPosixStr.o tclPreserve.o tclProc.o tclRegexp.o tclResolve.o tclResult.o tclScan.o tclStringObj.o tclThread.o
 tclThreadAlloc.o tclThreadJoin.o tclStubInit.o tclStubLib.o tclTimer.o tclUtf.o tclUtil.o tclVar.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o tclUnixFile.o tclUnixPipe.o tclUnixSock.o tclUnixTime.o tclUnixInit.o tclUnixThrd.o
 tclUnixCompat.o tclUnixNotfy.o memcmp.o strstr.o strtoul.o strtod.o tclLoadDl.o&nbsp; -ldl&nbsp; -lieee -lm&nbsp;&nbsp; -Wl,-rpath,/scratchbox/host_shared/lib//lib<br>/scratchbox/compilers/arm-gcc3.4-uclibc0.9.28/lib/gcc/arm-linux-uclibc/3.4.6/../../../../arm-linux-uclibc/bin/ld: cannot find -lieee
<br>collect2: ld returned 1 exit status<br>make: *** [<a href="http://libtcl8.4.so">libtcl8.4.so</a>] Error 1<br><br>and the library is there<br><br>edifyteam@runabout:/scratchbox/host_shared/lib$ find . -name *ieee*<br>./libieee.a
<br><br>I've tried various configure args to try to fix it, but to no avail, including:<br>--without-ieee<br>--x-libraries=/scratchbox/host_shared/lib<br>--libdir=/scratchbox/host_shared/lib<br><br>any thoughts on this?, did you run into it?
<br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="">Sorry -- from what I remember it worked out of the box.<div>We've also had some success with scratchbox, you could try that approach instead for cross-compiling.</div><span class="sg"><div><br></div><div>-m</div>
</span><div><span class="e" id="q_10f086b2abeb9d19_2"><div><br></div><div><br><div><div>On Nov 20, 2006, at 5:33 PM, ryan m wrote:</div><br><blockquote type="cite">opps forgot an updatedb<br><br>root@runabout:~# locate pthread.h
<br>/opt/arm-linux-gnu/include/pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h <br>/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
<br>root@runabout:~# <br><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">ryan m</b> &lt;<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">oooh and some googling says to do this:<br><br><pre>
1. threads issue (read before) : use option &quot;--disable-threads&quot;<br><br>but since DTN2 requires threads this seems like a bad idea....<br></pre><div><span><div><span class="gmail_quote"> On 11/20/06, <b class="gmail_sendername">
ryan m</b> &lt;<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 so things were going so-so until I went to build gcc:<br><h3 lang="en">gcc</h3><p lang="en">Now do:</p> <pre lang="en"># cd ../gcc-arm-linux-3.3.z/<br><span lang="en"># debuild<br><br>it failes at:<br></span></pre>/usr/src/gcc-
arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2&nbsp; -DIN_GCC -DCROSS_COMPILE&nbsp;&nbsp; -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition&nbsp; -isystem ./include&nbsp; -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include&nbsp; -fexceptions -c ../../src/gcc/unwind- 
dw2.c -o libgcc/./unwind-dw2.o<br>In file included from ./gthr-default.h:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/gthr.h:96,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/unwind-dw2.c:42:<br>../../src/gcc/gthr-posix.h:43:21: pthread.h
 : No such file or directory<br>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory<br><br><br>the thread thing kills me once again<br><br>pthread.h is there... not sure were it's looking for it, or even if I copied the /usr/include/pthread.h to where it's looking for it would do anything 
<br><br>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h<br><br>Did you run anything like this? 
<div><span><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div><div><br></div><div>I set up a debian system using the following instructions:
</div><div><br></div><div><a href="http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
</a></div><div><br></div><div>At the time, that worked on my zaurus.</div><span><div><br></div><div>-m</div></span><div><span> <br><div><div>On Nov 19, 2006, at 12:54 PM, ryan m wrote:</div><br><blockquote type="cite">make test in the oasys directory fails here:
<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot; sample-.o sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; 
liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill' <br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a
(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill' <br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'
<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist. <br><br>edifyteam@runabout
:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libpthread-0.10.so
</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; libpthread.so.0<br>
lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0 -&gt; <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</a><br> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-
<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 <br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-
<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">
  Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
  <div><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp; 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow: <br><br>[1142331726.187026 /dtnd debug] started dtn server 
<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING <br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier 
<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 <br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 
<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 
<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at 
restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 <br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at 
dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2 
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187
  /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier 
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING 
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c 
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120
  /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
  <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>
  <div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store 
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
  /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
  <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
  /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
  libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
  <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
  I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
  in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
  </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
   <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] 
<b> On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div>
 </div> is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
  I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
  dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
  On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
  when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
  (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
  -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
   /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
  <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>
  </div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></span></div></div> </blockquote></div><br> </span></div></blockquote></div><br> </span></div></blockquote></div><br>
</blockquote></div><br></div></span></div></div>
</blockquote></div><br>

------=_Part_104489_19200175.1164223478151--


Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.175]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kALCqIY05182 for <dtn-users@mailman.dtnrg.org>; Tue, 21 Nov 2006 04:52:18 -0800
Received: by ug-out-1314.google.com with SMTP id o2so1267770uge for <dtn-users@mailman.dtnrg.org>; Tue, 21 Nov 2006 04:52:17 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=lnsDr868wGrI0gZ1chlKjYO+Kgw/YW2GvrfDOklnS9k3/07TbkRLS6kfsy6QuMFm9Aqoag6v762QOxmmfoJIvudnMeyYUpaofmnCPH8rL6wBPbFUG1blnC9ojfniq0F+toBINtA1NopT7Y/xRUWmhSBPmLZazGc/e0YOSA2U9jI=
Received: by 10.82.182.8 with SMTP id e8mr522101buf.1164113536664; Tue, 21 Nov 2006 04:52:16 -0800 (PST)
Received: by 10.82.111.16 with HTTP; Tue, 21 Nov 2006 04:52:16 -0800 (PST)
Message-ID: <f0d10dd60611210452y7d604323td0460f0119611a1c@mail.gmail.com>
Date: Tue, 21 Nov 2006 18:22:16 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_28379_10942479.1164113536648"
Subject: [dtn-users] Adding fields to the bundle
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_28379_10942479.1164113536648
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
I want to add two fields to the bundle class. I also want these fields to be
sent over the network. I have added these fields in the bundle.h as below:


 EndpointID dest_;        ///< Destination eid
    EndpointID custodian_;    ///< Current custodian eid
    EndpointID replyto_;    ///< Reply-To eid
    ///Zahir Koradia: Added for bus-kiosk network
    //ZK: Start
    std::string src_region_;    ///< ID of the region of the source
    std::string dest_region_;   ///< ID of the region of the destination
    //ZK: End
    bool is_fragment_;        ///< Fragmentary Bundle
    bool is_admin_;        ///< Administrative record bundle


I notced that the class consists of fields that are sent over the network as
well as fields that are local to the node. I wanted to know what else do I
need to do ensure that the fields that I ahve added are indeed sent over the
network.

Thanks,
Zahir

------=_Part_28379_10942479.1164113536648
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>I want to add two fields to the bundle class. I also want these fields to be sent over the network. I have added these fields in the bundle.h as below:<br><br><br>&nbsp;EndpointID dest_;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ///&lt; Destination eid
<br>&nbsp;&nbsp;&nbsp; EndpointID custodian_;&nbsp;&nbsp;&nbsp; ///&lt; Current custodian eid<br>&nbsp;&nbsp;&nbsp; EndpointID replyto_;&nbsp;&nbsp;&nbsp; ///&lt; Reply-To eid<br>&nbsp;&nbsp;&nbsp; ///Zahir Koradia: Added for bus-kiosk network<br>&nbsp;&nbsp;&nbsp; //ZK: Start<br>&nbsp;&nbsp;&nbsp; std::string src_region_;&nbsp;&nbsp;&nbsp; ///&lt; ID of the region of the source
<br>&nbsp;&nbsp;&nbsp; std::string dest_region_;&nbsp;&nbsp; ///&lt; ID of the region of the destination<br>&nbsp;&nbsp;&nbsp; //ZK: End<br>&nbsp;&nbsp;&nbsp; bool is_fragment_;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ///&lt; Fragmentary Bundle<br>&nbsp;&nbsp;&nbsp; bool is_admin_;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ///&lt; Administrative record bundle
<br><br><br>I notced that the class consists of fields that are sent over the network as well as fields that are local to the node. I wanted to know what else do I need to do ensure that the fields that I ahve added are indeed sent over the network.
<br><br>Thanks,<br>Zahir<br>

------=_Part_28379_10942479.1164113536648--


Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.184]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kALCfQY05094 for <dtn-users@mailman.dtnrg.org>; Tue, 21 Nov 2006 04:41:26 -0800
Received: by nf-out-0910.google.com with SMTP id p48so156965nfa for <dtn-users@mailman.dtnrg.org>; Tue, 21 Nov 2006 04:41:25 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=kHBoghk2G95o2spfOED9Yg0/IEPxf8vQEKG+rmHvbsH1rJ7ykh2QqEwpVwtZsxNWRBFoaJWBxRObe2Yz9Lhmv7nnPgoJgz6XNSAWrFVG9658VZkr6TMAMjz27xFWD9JWVkNYlic/uW6d3ix67MPpCQSxmdK+qFx24Rf4NAoPbBo=
Received: by 10.82.135.13 with SMTP id i13mr906468bud.1164112885149; Tue, 21 Nov 2006 04:41:25 -0800 (PST)
Received: by 10.82.111.16 with HTTP; Tue, 21 Nov 2006 04:41:24 -0800 (PST)
Message-ID: <f0d10dd60611210441u6832ba8bk4124c8d55d417554@mail.gmail.com>
Date: Tue, 21 Nov 2006 18:11:24 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_28355_19166193.1164112884805"
Subject: [dtn-users] Link_unavailable event being thrown even after link is deleted.
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_28355_19166193.1164112884805
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
I connected to machines by creating link between them at run time. Then I
close down the daemon on one node. As a result contact_down event is thrown
along with link_unavailable. In response to contact_down event I delete the
link. Typing route dump of link dump on the prompt does not show any link
except for the one corresponding to /dev/null. Inspite of this I see link
unavailable event being thrown. Is this a bug or it is expected to behave
like this? I am using cvs code dated 30th Oct.

Thanks,
Zahir

------=_Part_28355_19166193.1164112884805
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>I connected to machines by creating link between them at run time. Then I close down the daemon on one node. As a result contact_down event is thrown along with link_unavailable. In response to contact_down event I delete the link. Typing route dump of link dump on the prompt does not show any link except for the one corresponding to /dev/null. Inspite of this I see link unavailable event being thrown. Is this a bug or it is expected to behave like this? I am using cvs code dated 30th Oct. 
<br><br>Thanks,<br>Zahir<br>

------=_Part_28355_19166193.1164112884805--


Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.193]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAL4U1Y01477 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 20:30:01 -0800
Received: by nz-out-0102.google.com with SMTP id k1so1074241nzf for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 20:30:00 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:to:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type:content-transfer-encoding:content-disposition:from; b=sLA7T4Z78ezjOeA5Ev+oW2o5Qyjks4UGIr4cJpUNW7PwZzlYeZYngZk/HX58j1LfkVLciwi4hFWhr2/bN1d3HgvGHCcOJ3PyxklGHUJWR46p1fXSIrY5jfZKmI5dYlPDho+UMRn0iyz0FzikiRa/5+jRyjBZrTMzuD9SIwYmsaM=
Received: by 10.64.184.14 with SMTP id h14mr9415574qbf.1164083400637; Mon, 20 Nov 2006 20:30:00 -0800 (PST)
Received: from ?192.168.31.244? ( [24.37.122.218]) by mx.google.com with ESMTP id f12sm11050617qba.2006.11.20.20.29.59; Mon, 20 Nov 2006 20:30:00 -0800 (PST)
Date: Mon, 20 Nov 2006 23:30:08 -0500
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Bundle protocol dissector
Message-ID: <2CC643A9E8A17FFB434C567D@[192.168.31.244]>
In-Reply-To: <C0D8783E-A806-4DDC-9DF9-9307C598B3FF@cs.berkeley.edu>
References: <CAAFEA101CAD0249CEDB26D9@[192.168.31.244]> <C0D8783E-A806-4DDC-9DF9-9307C598B3FF@cs.berkeley.edu>
X-Mailer: Mulberry/4.0.7b1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
From: Florent Parent <florent.parent@gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Hi Michael,

Yes, I took good note of it. It will be part of the next 'release'.

Thanks.
Florent

--On 20 novembre 2006 14:11:29 -0800 Michael Demmer 
<demmer@cs.berkeley.edu> wrote:

> Hi Florent,
>
> I'm not sure if you noticed or not, but I recently got an IANA
> registration for bundling over UDP/TCP to be assigned to port 4556. So
> you can now build that into your plugin as the default port for
> dissecting bundle data.
>
> Thanks for the good work!
>
> -m
>
>
> On Nov 14, 2006, at 9:58 AM, Florent Parent wrote:
>
>>
>> Hi,
>>
>> I'm writing a bundle protocol dissector for Wireshark (new name for
>> Ethereal). It's currently stable and working fine. The bundle
>> primary and payload packets are decoded and displayed in a protocol
>> tree. You will find the source code, instructions and snapshot at
>> <http://homepage.mac.com/florent.parent/dtnrg/README.html>.
>>
>> There are still limitations, but this is work in progress :)
>>
>> This will hopefully be useful to some. Comments/bug reports welcomed.
>>
>> Florent
>>
>> _______________________________________________
>> dtn-users mailing list
>> dtn-users@mailman.dtnrg.org
>> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users






Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAL2m7Y00848 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 18:48:07 -0800
Received: from [192.168.1.102] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAL2lvsm021468 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 20 Nov 2006 18:48:06 -0800 (PST)
In-Reply-To: <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com> <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com> <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.2)
Content-Type: multipart/alternative; boundary=Apple-Mail-1--1061006280
Message-Id: <F589C114-9727-445A-9162-090C013A0B0C@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Mon, 20 Nov 2006 18:47:50 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.2)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1--1061006280
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Sorry -- from what I remember it worked out of the box.
We've also had some success with scratchbox, you could try that  
approach instead for cross-compiling.

-m


On Nov 20, 2006, at 5:33 PM, ryan m wrote:

> opps forgot an updatedb
>
> root@runabout:~# locate pthread.h
> /opt/arm-linux-gnu/include/pthread.h
> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> /usr/include/nptl/pthread.h
> /usr/include/pthread.h
> /usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
> root@runabout:~#
>
>
> On 11/20/06, ryan m < smarts40@gmail.com> wrote:
> oooh and some googling says to do this:
>
> 1. threads issue (read before) : use option "--disable-threads"
>
> but since DTN2 requires threads this seems like a bad idea....
> On 11/20/06, ryan m <smarts40@gmail.com> wrote:
> so things were going so-so until I went to build gcc:
> gcc
>
> Now do:
>
> # cd ../gcc-arm-linux-3.3.z/
> # debuild
>
> it failes at:
> /usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm- 
> linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ - 
> isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include - 
> O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict- 
> prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./ 
> include  -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT - 
> DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../ 
> src/gcc -I../../src/gcc/. -I../../src/gcc/../include  -fexceptions - 
> c ../../src/gcc/unwind- dw2.c -o libgcc/./unwind-dw2.o
> In file included from ./gthr-default.h:1,
>                  from ../../src/gcc/gthr.h:96,
>                  from ../../src/gcc/unwind-dw2.c:42:
> ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or  
> directory
> ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory
>
>
> the thread thing kills me once again
>
> pthread.h is there... not sure were it's looking for it, or even if  
> I copied the /usr/include/pthread.h to where it's looking for it  
> would do anything
>
> root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h
> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> /usr/include/nptl/pthread.h
> /usr/include/pthread.h
>
> Did you run anything like this?
>
>
> On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
>
> I set up a debian system using the following instructions:
>
> http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
>
> At the time, that worked on my zaurus.
>
> -m
>
> On Nov 19, 2006, at 12:54 PM, ryan m wrote:
>
>> make test in the oasys directory fails here:
>>
>> arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.   -I/ 
>> opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include  
>> -g -fno-inline  -MMD -MP -MT " sample-.o sample-.E sample-.po" - 
>> Wall -W -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/ 
>> lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a - 
>> ltcl8.4 -ldb-4.4
>> liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined  
>> reference to `pthread_kill'
>> liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to  
>> `pthread_detach'
>> liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to  
>> `pthread_join'
>> liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to  
>> `pthread_kill'
>> liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to  
>> `pthread_sigmask'
>> collect2: ld returned 1 exit status
>> make: *** [test/sample-test] Error 1
>>
>> so it definatly seems like a pthread library issue, any idea how I  
>> can fix this.  The libraries do indeed exsist.
>>
>> edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$  
>> ls -ld *thread*
>> -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
>> -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
>> -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
>> lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->  
>> libpthread.so.0
>> lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->  
>> libpthread-0.10.so
>> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
>> lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->  
>> libthread_db.so.1
>> lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 - 
>> > libthread_db-1.0.so
>>
>>
>> EVERY zaurus specific cross compile evironment I can find (either  
>> instructions on producing one or a tar of one) is gcc 2.x which as  
>> we found out is unable to compile DTN2 ri.  Has anyone found a  
>> suitable cross compile environment for the zaurus based off of gcc  
>> 3.x?
>>
>> On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>> Unfortunately I'm not sure if I can give you any more advice on  
>> this -- again this looks like there's something wrong with the  
>> build and/or the system being incompatible or unstable. You could  
>> try compiling and running simpler programs with your setup to make  
>> sure the basic compiler is working, then perhaps try a simple  
>> multithreaded one, etc. If you run 'make tests' in the DTN2/oasys  
>> directory that will build a bunch of unit tests which you could  
>> try out to make sure things are working.
>>
>> -m
>>
>>
>> On Nov 16, 2006, at 7:10 PM, ryan m wrote:
>>
>>> backtrace to follow:
>>>
>>> [1142331726.187026 /dtnd debug] started dtn server
>>> [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
>>> [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
>>> [1142331726.188407 /dtn/apiserver/13 debug] binding to  
>>> 127.0.0.1:5010
>>> [1142331726.188762 /dtn/apiserver/13 debug] listening
>>> [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
>>> [1142331726.189462 /thread debug] delaying start of thread  
>>> 0x4240f8 due to barrier
>>> [1142331726.189880 /thread debug] releasing thread creation  
>>> barrier -- 3 queued threads
>>> [1142331726.190299 /thread debug] starting thread 0x42b544
>>>
>>> Program received signal SIG32, Real-time event 32.
>>> 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/ 
>>> sysv/linux/sigsuspend.c:55
>>> 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or  
>>> directory.
>>>         in ../sysdeps/unix/sysv/linux/sigsuspend.c
>>> Current language:  auto; currently c
>>> (gdb) backtrace
>>> #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/ 
>>> unix/sysv/linux/sigsuspend.c:55
>>> #1  0x00249ed4 in __pthread_wait_for_restart_signal  
>>> (self=0x3c3620) at pthread.c:1067
>>> #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,  
>>> attr=0x3c3e64,
>>>     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*) 
>>> >, arg=0x42b544) at restart.h:36
>>> #3  0x0010949c in oasys::Thread::start (this=0x42b544) at thread/ 
>>> Thread.cc:169
>>> #4  0x0010912c in oasys::Thread::release_start_barrier () at  
>>> thread/Thread.cc:70
>>> #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,  
>>> argv=0xbffffd14) at dtnd.cc:401
>>> #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
>>>
>>>
>>> as far as my cross compiler I used a generic one for arm embedded  
>>> systems... I couldn't find a zaurus one that was up to date  
>>> enough to compile DTN2
>>>
>>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>>> It looks like there's something more seriously wrong with your  
>>> build. If you could print out the stack trace using gdb or some  
>>> such, that would be helpful, but both these errors seem to me  
>>> like there's something quite messed up in your build setup,  
>>> perhaps a bogus cross compiler or the wrong endianness or  
>>> something like that.
>>>
>>> -mike
>>>
>>> On Nov 16, 2006, at 8:30 AM, ryan m wrote:
>>>
>>>> well --db-init completed so I went to run it without --init-db  
>>>> and got:
>>>>
>>>> [1142293298.812187 /dtn/storage/globals debug] loading global store
>>>> [1142293298.813051 /dtn/storage/globals debug] opening file / 
>>>> home/root/Applications/DTN_wireless/tmp/db/DTN/globals/ 
>>>> 0000000aglobal_key-
>>>> [1142293298.814094 /thread debug] delaying start of thread  
>>>> 0x429220 due to barrier
>>>> [1142293298.814538 /dtnd debug] started dtn server
>>>> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
>>>> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
>>>> [1142293298.815706 /dtn/apiserver/12 debug] binding to  
>>>> 127.0.0.1:5010
>>>> [1142293298.816067 /dtn/apiserver/12 debug] listening
>>>> [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
>>>> [1142293298.833241 /thread debug] delaying start of thread  
>>>> 0x424030 due to barrier
>>>> [1142293298.839105 /thread debug] releasing thread creation  
>>>> barrier -- 3 queued threads
>>>> [1142293298.845033 /thread debug] starting thread 0x42ae7c
>>>> [1142293298.851478 /thread debug] starting thread 0x429220
>>>> [1142293298.857805 /thread debug] starting thread 0x424030
>>>> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
>>>> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c  
>>>> 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
>>>> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
>>>> [1142293298.929495 /command debug] starting command server on  
>>>> 127.0.0.1:5050
>>>> [1142293298.937500 /command info] can't load tclreadline: can't  
>>>> find package tclreadline
>>>> [1142293298.938120 /command info] fall back to simple command loop
>>>> collie dtn% Segmentation fault
>>>>
>>>> THANK YOU for your help and patience
>>>>
>>>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>>>> Hmm... That's a strange one. You could try just using the  
>>>> filesystem store by changing 'storage set type berkeleydb' to  
>>>> 'storage set type filesysdb'.
>>>>
>>>> -m
>>>>
>>>>
>>>> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>>>>
>>>>> well that got me a little farther at least... this is where it  
>>>>> died this time:
>>>>>
>>>>> [1142289491.726722 /dtnd notice] initializing persistent data  
>>>>> store
>>>>> [1142289491.767648 /dtn/storage notice] creating new database  
>>>>> directory /home/root/Applications/DTN_wireless/tmp/db
>>>>> [1142289491.884849 /dtn/storage info] initializing db name=DTN  
>>>>> (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
>>>>> [1142289492.284995 /storage/berkeleydb error] DB internal  
>>>>> error: unable to initialize mutex: Function not implemented
>>>>> [1142289492.290986 /storage/berkeleydb error] DB internal  
>>>>> error: PANIC: Function not implemented
>>>>> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:  
>>>>> Fatal error, run database recovery, cannot open database
>>>>> [1142289492.316046 /dtn/storage error] can't initialize  
>>>>> berkeleydb -1000
>>>>> [1142289492.316369 /dtnd critical] error creating storage system
>>>>> [1142289492.316683 /dtnd error] error initializing data store,  
>>>>> exiting...
>>>>>
>>>>>
>>>>>
>>>>> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>>>>
>>>>> The only reason you could be getting that error is if the name  
>>>>> lookup failed for some reason. You could try putting the IP  
>>>>> address in the llink configuration and seeing if that works. If  
>>>>> it does, then there must be something wrong with the host  
>>>>> configuration or some other reason why the gethostbyname  
>>>>> wrapper (in oasys/io/NetUtils.cc) would be failing. You could  
>>>>> put more debug logging in there to trace it down further.
>>>>>
>>>>> -m
>>>>>
>>>>>
>>>>> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>>>>>
>>>>>> so I've got a static version of dtnd compiled and on the  
>>>>>> zaurus, and now I'm getting this odd behavior when I try to run
>>>>>>
>>>>>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>>>>>
>>>>>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>>>>>> dtn.conf...
>>>>>> [1142213113.433018 /command debug] executing command file ./ 
>>>>>> dtn.conf
>>>>>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>>>>>> [1142213113.447671 /dtn/interface/table info] adding interface  
>>>>>> tcp0 (tcp)
>>>>>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>>>>>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug]  
>>>>>> created pipe, fds: 9 10
>>>>>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>>>>>> set_nonblocking: nonblocking mode set
>>>>>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>>>>>> set_nonblocking: nonblocking mode set
>>>>>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created  
>>>>>> socket 11
>>>>>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting  
>>>>>> SO_REUSEADDR
>>>>>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>>>>>> 0.0.0.0:5000
>>>>>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>>>>>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
>>>>>> LISTENING
>>>>>> [1142213113.462443 /thread debug] delaying start of thread  
>>>>>> 0x42bb54 due to barrier
>>>>>> [1142213113.464152 /dtn/link/link1 debug] set_state  
>>>>>> UNAVAILABLE -> AVAILABLE
>>>>>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>>>>>> rcm2.cse.lehigh.edu:5000
>>>>>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
>>>>>> rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>>>>>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address  
>>>>>> ' rcm2.cse.lehigh.edu:5000 '
>>>>>> [1142213113.466579 /dtn/cl/tcp error] error parsing link  
>>>>>> nexthop ' rcm2.cse.lehigh.edu:5000'
>>>>>> [1142213113.467679 /command error] error: line 137: 'invalid  
>>>>>> link option: (unknown)':
>>>>>> invalid link option: (unknown)
>>>>>>     while executing
>>>>>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>>>>>     (file "./dtn.conf" line 137)
>>>>>> [1142213113.468105 /dtnd error] error in configuration file,  
>>>>>> exiting...
>>>>>>
>>>>>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't  
>>>>>> a failure in name resolution.
>>>>>>
>>>>>> sorry about posting the "wrong" list, I knew there was  
>>>>>> discussion of making multiple lists, but I wasn't aware that  
>>>>>> it had actually happened, since I don't have the time to read  
>>>>>> everything that goes through dtn-interest. Thank you for the  
>>>>>> help so far.
>>>>>>
>>>>>>
>>>>>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>>>>>> First of all, let me say that this discussion should be on dtn- 
>>>>>> users. I don't know if ryan is on that list or not, but if  
>>>>>> you're not, please in the future use that list for dtn  
>>>>>> reference implementation questions, not dtn-interest.
>>>>>>
>>>>>> As far as building tcl statically goes, it's a bit confusing,  
>>>>>> but you need to run tcl's ./configure --disable-shared to tell  
>>>>>> it to build a full static libtcl8.4.a. You don't want the stub  
>>>>>> library linked in.
>>>>>>
>>>>>> As far as your original problem goes, I suggested linking  
>>>>>> statically to try to confirm that it's not a library  
>>>>>> compatibility issue due to the cross compilation. I don't know  
>>>>>> if this will help or not, but that's what I suggest to do first.
>>>>>>
>>>>>> -mike
>>>>>>
>>>>>>
>>>>>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>>>>>
>>>>>>> my libtclstub is libtclstub8.4.so.a and if i try to link to  
>>>>>>> it with a link name of libtclstub8.4.so.a or libtclstub8.4.so  
>>>>>>> in the /usr/lib directory.  ldconfig complains it " is not an  
>>>>>>> ELF file - it has the wrong magic bytes at the start" so I  
>>>>>>> had to leave that link out, but I did do the other links, but  
>>>>>>> dtnd crashes the same way.
>>>>>>>
>>>>>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>>>>>> I added links in the target for the following:
>>>>>>>
>>>>>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>>>>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>>>>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>>>>>
>>>>>>> For some reason, it seemed like the tcl libraries wanted to  
>>>>>>> be in the same directory as the pthread libraries (but I  
>>>>>>> haven't confirmed that).  I just moved on as soon as things  
>>>>>>> started working.
>>>>>>>
>>>>>>> Let me know if this helps for you...
>>>>>>>
>>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn- 
>>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>>> Sent: Monday, November 13, 2006 10:34 AM
>>>>>>> To: DTNRG
>>>>>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>>
>>>>>>> is that something I can do with a configure argument to  
>>>>>>> building the tcl library (I can't find it in ./configure -- 
>>>>>>> help)?, and do you think that doing a static build is the  
>>>>>>> best way to fix the original issue I was having on the PDA?
>>>>>>>
>>>>>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>>>>>> I suspect the answer is that you need a 'real' tcl library  
>>>>>>> (a .a file) that can be linked statically.  I don't think  
>>>>>>> shared objects (the .so tcl library you have in the arm  
>>>>>>> directory) can be linked that way.
>>>>>>>
>>>>>>>         --keith
>>>>>>>
>>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn- 
>>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>>> Sent: Monday, November 13, 2006 10:17 AM
>>>>>>> To: DTNRG
>>>>>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>>
>>>>>>> when i configure with this:
>>>>>>>
>>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>>>> libraries
>>>>>>>
>>>>>>> configure completes fine, but... when I do this:
>>>>>>>
>>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>>>> libraries
>>>>>>> --enable-static
>>>>>>>
>>>>>>> I get:
>>>>>>>
>>>>>>> configure: checking for tcl installation (version 8.4 )
>>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>>> include... yes
>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>> ltcl8.4 -ldl
>>>>>>> -lm -lpthread ... no
>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>> ltcl84 -ldl
>>>>>>> -lm -lpthread ... no
>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>>> ltcl -ldl -lm
>>>>>>> -lpthread ... no
>>>>>>>
>>>>>>> configure: checking for tcl installation (version 8.3)
>>>>>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>>>>>> include... no
>>>>>>> configure: error: can't find usable tcl.h
>>>>>>>
>>>>>>> and it is there:
>>>>>>>
>>>>>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>>>>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>>>>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>>>>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>>>>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>>>>>
>>>>>>> without enable-static:
>>>>>>>
>>>>>>> configure: checking for tcl installation (version 8.4)
>>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>>> include... yes
>>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>>>>>> ltcl8.4 -ldl
>>>>>>> -lm -lpthread ... yes
>>>>>>>
>>>>>>>
>>>>>>> Thank you for the help
>>>>>>>
>>>>>>>
>>>>>>> Michael Demmer wrote:
>>>>>>> > try statically building dtnd and see if that works.
>>>>>>> >
>>>>>>> > -m
>>>>>>> >
>>>>>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>>>>>> >
>>>>>>> >> So I finally had a chance to try out the DTN on the  
>>>>>>> zaurus.  So I
>>>>>>> >> copied over the libs that I had cross compiled, which  
>>>>>>> seemed obvious
>>>>>>> >> to do. Then DTN was complaining about stdc++ lib so I  
>>>>>>> copied over the
>>>>>>> >> libs from the lib directory of the cross compile tool  
>>>>>>> chain, I figured
>>>>>>> >> that if it was linking in those libs to make arm binaries  
>>>>>>> the libs
>>>>>>> >> themselves must be arm compatabile, is this right?  So the  
>>>>>>> sum of it
>>>>>>> >> is I get this when I try to run DTN:
>>>>>>> >>
>>>>>>> >>
>>>>>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./ 
>>>>>>> dtnd -l DEBUG
>>>>>>> >> -c ./dtn.conf --init-db
>>>>>>> >> ./dtnd: error while loading shared libraries: libstdc++.so. 
>>>>>>> 5: cannot
>>>>>>> >> open shared object file: No such file or directory
>>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./ 
>>>>>>> dtnd -l DEBUG
>>>>>>> >> -c ./dtn.conf --init-db
>>>>>>> >> [1142218881.762749 /log debug] adding log reparse signal  
>>>>>>> handler
>>>>>>> >> [1142218881.929239 /timer debug] adding signal handler  
>>>>>>> 0xd6c14 for
>>>>>>> >> signal 1
>>>>>>> >> [ 1142218881.931204 /log debug] adding log rotate signal  
>>>>>>> handler
>>>>>>> >> [1142218881.933055 /timer debug] adding signal handler  
>>>>>>> 0xd6b9c for
>>>>>>> >> signal 10
>>>>>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up...  
>>>>>>> (pid 1870)
>>>>>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>>>>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>>>>>> >> Illegal instruction
>>>>>>> >>
>>>>>>> >> any thoughts?
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>
>


--Apple-Mail-1--1061006280
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">Sorry -- from what I remember it =
worked out of the box.<DIV>We've also had some success with scratchbox, =
you could try that approach instead for cross-compiling.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 20, =
2006, at 5:33 PM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">opps =
forgot an updatedb<BR><BR>root@runabout:~# locate =
pthread.h<BR>/opt/arm-linux-gnu/include/pthread.h<BR>/opt/backup/arm-linux=
-toolchain/3.2.3/arm-linux/include/pthread.h<BR>/usr/include/nptl/pthread.=
h<BR>/usr/include/pthread.h =
<BR>/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h<BR>ro=
ot@runabout:~# <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/20/06, =
<B class=3D"gmail_sendername">ryan m</B> &lt;<A =
href=3D"mailto:smarts40@gmail.com"> smarts40@gmail.com</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">oooh and some googling says to do this:<BR><BR><PRE>1. threads =
issue (read before) : use option "--disable-threads"<BR><BR>but since =
DTN2 requires threads this seems like a bad idea....<BR></PRE><DIV><SPAN =
class=3D"e" id=3D"q_10f081fa530982c4_1"><DIV><SPAN class=3D"gmail_quote"> =
On 11/20/06, <B class=3D"gmail_sendername">ryan m</B> &lt;<A =
href=3D"mailto:smarts40@gmail.com" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> so things were going so-so until I went to build gcc:<BR><H3 =
lang=3D"en">gcc</H3><P lang=3D"en">Now do:</P> <PRE lang=3D"en"># cd =
../gcc-arm-linux-3.3.z/<BR><SPAN lang=3D"en"># debuild<BR><BR>it failes =
at:<BR></SPAN></PRE>/usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc =
-B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ =
-B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem =
/usr/arm-linux/sys-include -O2=A0 -DIN_GCC -DCROSS_COMPILE=A0=A0 -W =
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes =
-Wold-style-definition=A0 -isystem ./include=A0 -fomit-frame-pointer =
-fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED =
-Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. =
-I../../src/gcc/../include=A0 -fexceptions -c ../../src/gcc/unwind- =
dw2.c -o libgcc/./unwind-dw2.o<BR>In file included from =
./gthr-default.h:1,<BR>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 =
from ../../src/gcc/gthr.h:96,<BR>=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0 from =
../../src/gcc/unwind-dw2.c:42:<BR>../../src/gcc/gthr-posix.h:43:21: =
pthread.h : No such file or =
directory<BR>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or =
directory<BR><BR><BR>the thread thing kills me once =
again<BR><BR>pthread.h is there... not sure were it's looking for it, or =
even if I copied the /usr/include/pthread.h to where it's looking for it =
would do anything =
<BR><BR>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate =
pthread.h<BR>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthre=
ad.h<BR>/usr/include/nptl/pthread.h<BR>/usr/include/pthread.h<BR><BR>Did =
you run anything like this? <DIV><SPAN><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/20/06, <B class=3D"gmail_sendername">Michael =
Demmer</B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
demmer@cs.berkeley.edu</A>&gt; wrote:</SPAN><BLOCKQUOTE =
class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, 204, =
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> =
<DIV><DIV><BR></DIV><DIV>I set up a debian system using the following =
instructions:</DIV><DIV><BR></DIV><DIV><A =
href=3D"http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html</A></DIV><DI=
V><BR></DIV><DIV>At the time, that worked on my =
zaurus.</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN> =
<BR><DIV><DIV>On Nov 19, 2006, at 12:54 PM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">make test in the oasys =
directory fails here:<BR><BR>arm-linux-g++ test/sample-test.cc -o =
test/sample-test -I. -I.=A0=A0 -I/opt/arm-linux-libraries/include =
-I/opt/arm-linux-libraries/include -g -fno-inline=A0 -MMD -MP -MT " =
sample-.o sample-.E sample-.po" -Wall -W -Wcast-align=A0 -Werror=A0 =
-static=A0 -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib =
-ldl -lm -lpthread=A0 liboasys.a -ltcl8.4 =
-ldb-4.4<BR>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: =
undefined reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to =
`pthread_detach'<BR>liboasys.a(Thread.o):thread/Thread.cc:210: undefined =
reference to =
`pthread_join'<BR>liboasys.a(Thread.o):thread/Thread.cc:225: undefined =
reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to =
`pthread_sigmask'<BR>collect2: ld returned 1 exit status<BR>make: *** =
[test/sample-test] Error 1<BR><BR>so it definatly seems like a pthread =
library issue, any idea how I can fix this.=A0 The libraries do indeed =
exsist. =
<BR><BR>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ =
ls -ld *thread*<BR>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <A =
href=3D"http://libpthread-0.10.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
libpthread-0.10.so</A><BR>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 =
libpthread.a<BR>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 =
libpthread_p.a<BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 15 2006-10-31 =
17:11 libpthread.so -&gt; libpthread.so.0<BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=
=A0=A0 18 2006-10-31 17:11 libpthread.so.0 -&gt; <A =
href=3D"http://libpthread-0.10.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</A><BR> =
-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-<A =
href=3D"http://1.0.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">1.0.so</A><BR>lrwxrwxrwx 1 2619 =
man=A0=A0=A0=A0=A0 17 2006-10-31 17:11 libthread_db.so -&gt; =
libthread_db.so.1 <BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 19 2006-10-31 =
17:11 libthread_db.so.1 -&gt; libthread_db-<A href=3D"http://1.0.so" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">1.0.so</A><BR><BR><BR>EVERY =
zaurus specific cross compile evironment I can find (either instructions =
on producing one or a tar of one) is gcc 2.x which as we found out is =
unable to compile DTN2 ri.=A0 Has anyone found a suitable cross compile =
environment for the zaurus based off of gcc 3.x?<BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/17/06, <B class=3D"gmail_sendername">  =
Michael Demmer</B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">  <DIV><DIV>Unfortunately I'm not sure if I can give you any more =
advice on this -- again this looks like there's something wrong with the =
build and/or the system being incompatible or unstable. You could try =
compiling and running simpler programs with your setup to make sure the =
basic compiler is working, then perhaps try a simple multithreaded one, =
etc. If you run 'make tests' in the DTN2/oasys directory that will build =
a bunch of unit tests which you could try out to make sure things are =
working.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:10 PM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">backtrace to follow: =
<BR><BR>[1142331726.187026 /dtnd debug] started dtn server =
<BR>[1142331726.187788 /dtn/apiserver/13 debug] created socket =
13<BR>[1142331726.188106 /dtn/apiserver/13 debug] setting =
SO_REUSEADDR<BR>[1142331726.188407 /dtn/apiserver/13 debug] binding to =
<A href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
127.0.0.1:5010</A><BR>[1142331726.188762 /dtn/apiserver/13 debug] =
listening<BR>[1142331726.189139 /dtn/apiserver/13 debug] state INIT =
-&gt; LISTENING <BR> [1142331726.189462 /thread debug] delaying start of =
thread 0x4240f8 due to barrier <BR>[1142331726.189880 /thread debug] =
releasing thread creation barrier -- 3 queued =
threads<BR>[1142331726.190299 /thread debug] starting thread 0x42b544 =
<BR><BR>Program received signal SIG32, Real-time event 32.<BR>0x002c7580 =
in __sigsuspend (set=3D0xbffff9b0) at =
../sysdeps/unix/sysv/linux/sigsuspend.c:55 <BR>55=A0=A0=A0=A0=A0 =
../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. =
<BR>=A0=A0=A0=A0=A0=A0=A0 in =
../sysdeps/unix/sysv/linux/sigsuspend.c<BR>Current language:=A0 auto; =
currently c<BR>(gdb) backtrace<BR>#0=A0 0x002c7580 in __sigsuspend =
(set=3D0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55 <BR>#1=A0=
 0x00249ed4 in __pthread_wait_for_restart_signal (self=3D0x3c3620) at =
pthread.c:1067<BR>#2=A0 0x002496ac in __pthread_create_2_1 =
(thread=3D0x42b548, attr=3D0x3c3e64, <BR>=A0=A0=A0 =
start_routine=3D0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, =
arg=3D0x42b544) at restart.h:36<BR>#3=A0 0x0010949c in =
oasys::Thread::start (this=3D0x42b544) at thread/Thread.cc:169 <BR>#4=A0 =
0x0010912c in oasys::Thread::release_start_barrier () at =
thread/Thread.cc:70<BR>#5=A0 0x0000a838 in dtn::DTND::main =
(this=3D0xbffffc1c, argc=3D5, argv=3D0xbffffd14) at dtnd.cc:401<BR>#6=A0 =
0x0000aa0c in main (argc=3D5, argv=3D0xbffffd14) at =
dtnd.cc:427<BR><BR><BR>as far as my cross compiler I used a generic one =
for arm embedded systems... I couldn't find a zaurus one that was up to =
date enough to compile DTN2 <BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/16/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>It looks like there's something more seriously wrong with =
your build. If you could print out the stack trace using gdb or some =
such, that would be helpful, but both these errors seem to me like =
there's something quite messed up in your build setup, perhaps a bogus =
cross compiler or the wrong endianness or something like that. =
<DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 8:30 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well =
--db-init completed so I went to run it without --init-db and got: =
<BR><BR>[1142293298.812187  /dtn/storage/globals debug] loading global =
store<BR>[1142293298.813051 /dtn/storage/globals debug] opening file =
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key=
- <BR>[1142293298.814094 /thread debug] delaying start of thread =
0x429220 due to barrier <BR>[1142293298.814538 /dtnd debug] started dtn =
server<BR>[1142293298.815085 /dtn/apiserver/12 debug] created socket =
12<BR>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR =
<BR>[1142293298.815706 /dtn/apiserver/12 debug] binding to <A =
href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</A><BR>[1142293298.8=
16067 /dtn/apiserver/12 debug] listening <BR>[1142293298.816451 =
/dtn/apiserver/12 debug] state INIT -&gt; LISTENING =
<BR>[1142293298.833241 /thread debug] delaying start of thread 0x424030 =
due to barrier<BR>[1142293298.839105 /thread debug] releasing thread =
creation barrier -- 3 queued threads <BR>[1142293298.845033 /thread =
debug] starting thread 0x42ae7c <BR>[1142293298.851478 /thread debug] =
starting thread 0x429220<BR>[1142293298.857805 /thread debug] starting =
thread 0x424030<BR>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump =
core <BR>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c =
0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc =
<BR>[1142293298.929080 /dtnd info] starting console on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</A> =
<BR>[1142293298.929495 /command debug] starting command server on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</A><BR>[1142293298.9=
37500 /command info] can't load tclreadline: can't find package =
tclreadline<BR>[1142293298.938120  /command info] fall back to simple =
command loop<BR>collie dtn% Segmentation fault<BR><BR>THANK YOU for your =
help and patience <BR> <BR><DIV><SPAN class=3D"gmail_quote">On 11/16/06, =
<B class=3D"gmail_sendername">Michael Demmer </B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">  <DIV><DIV>Hmm... That's a strange one. You could try just using =
the filesystem store by changing 'storage set type =
berkeleydb'=A0to=A0'storage set type filesysdb'.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN> <DIV><SPAN>  =
<DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:27 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well that got me a little =
farther at least... this is where it died this time: =
<BR><BR>[1142289491.726722 /dtnd notice] initializing persistent data =
store <BR>[1142289491.767648 /dtn/storage notice] creating new database =
directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), dir=3D/home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289492.284995 /storage/berkeleydb error] DB internal error: =
unable to initialize mutex: Function not implemented =
<BR>[1142289492.290986 /storage/berkeleydb error] DB internal error: =
PANIC: Function not implemented <BR>[1142289492.315647 /dtn/storage =
critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot =
open database <BR>[1142289492.316046 /dtn/storage error] can't =
initialize berkeleydb -1000<BR>[1142289492.316369  /dtnd critical] error =
creating storage system<BR>[1142289492.316683 /dtnd error] error =
initializing data store, exiting... <BR><BR><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/15/06, <B class=3D"gmail_sendername">Michael =
Demmer </B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">  <DIV><DIV><DIV><DIV><BR></DIV><DIV>The only reason you could be =
getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further. =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 15, 2006, at 7:37 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so I've got a static version =
of dtnd compiled and on the zaurus, and now I'm getting this odd =
behavior when I try to run <BR><BR>./dtnd -l DEBUG -c ./dtn.conf =
--init-db<BR><BR>[1142213113.431028 /dtnd info] parsing configuration =
file ./dtn.conf... <BR>[1142213113.433018 /command debug] executing =
command file ./dtn.conf<BR>[1142213113.438962  /dtnd info] dtnd parsing =
configuration...<BR>[1142213113.447671 /dtn/interface/table info] adding =
interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp debug] adding =
interface tcp0<BR>[1142213113.452019 /dtn/cl/tcp/listener/notifier =
debug] created pipe, fds: 9 10 <BR>[1142213113.453889 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set <BR>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set<BR>[1142213113.458433 =
/dtn/cl/tcp/iface/tcp0 debug] created socket 11 <BR>[1142213113.460564 =
/dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR =
<BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <A =
href=3D"http://0.0.0.0:5000" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  rcm2.cse.lehigh.edu</A> from =
the pda so it isn't a failure in name resolution.<BR><BR>sorry about =
posting the "wrong" list, I knew there was discussion of making multiple =
lists, but I wasn't aware that it had actually happened, since I don't =
have the time to read everything that goes through dtn-interest. Thank =
you for the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2">  libtclstub8.4.so.a and if i try to =
link to it with a link name of </FONT></SPAN><SPAN style=3D"color: =
rgb(0, 0, 0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2">  <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
  I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">  libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">  in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">  </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>   <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV> </DIV> is that something =
I can do with a configure argument to building   the tcl library (I =
can't find it in ./configure --help)?, and do you think   that doing a =
static build is the best way to fix the original issue I was   having on =
the PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">  I     suspect the answer =
is that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)">  =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B>  On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV>  when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h  (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR>  -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286   /dtnd notice] DTN daemon starting up... (pid 1870)  =
     <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump    =
   core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV>  =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE>  =
</DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR> </SPAN></DIV></BLOCKQUOTE></DIV><BR> =
</SPAN></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></=
HTML>=

--Apple-Mail-1--1061006280--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.228]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAL1YGY00383 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:34:16 -0800
Received: by wx-out-0506.google.com with SMTP id t12so1940521wxc for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:34:15 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=kc2/DT38AQmi3gC0GpJF8yqB8ci1hhG7mM9Mkc1zSQJjao7OpJdPwNLP/s5VGWFcXn8iTC3qTY/FJHz8OvXDkaC6EE3Ha2Q54hzgD9qlGHmUmbds/o/LvfWwKtxYOFsZX86b44BHxCQ8s636m16tKc3kYITGF6gQfQINTiAeroI=
Received: by 10.70.59.20 with SMTP id h20mr91042wxa.1164072823599; Mon, 20 Nov 2006 17:33:43 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Mon, 20 Nov 2006 17:33:42 -0800 (PST)
Message-ID: <d35f8e370611201733k53ce8fe6o574f8c90178d5a5c@mail.gmail.com>
Date: Mon, 20 Nov 2006 20:33:42 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_78608_22657846.1164072822981"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com> <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_78608_22657846.1164072822981
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

opps forgot an updatedb

root@runabout:~# locate pthread.h
/opt/arm-linux-gnu/include/pthread.h
/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
/usr/include/nptl/pthread.h
/usr/include/pthread.h
/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h
root@runabout:~#


On 11/20/06, ryan m <smarts40@gmail.com> wrote:
>
> oooh and some googling says to do this:
>
> 1. threads issue (read before) : use option "--disable-threads"
>
> but since DTN2 requires threads this seems like a bad idea....
>
> On 11/20/06, ryan m <smarts40@gmail.com> wrote:
> >
> > so things were going so-so until I went to build gcc:
> > gcc
> >
> > Now do:
> >
> > # cd ../gcc-arm-linux-3.3.z/
> > # debuild
> >
> > it failes at:
> >
> > /usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-
> > arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/
> > -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2
> > -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes
> > -Wmissing-prototypes -Wold-style-definition  -isystem ./include
> > -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2
> > -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc
> > -I../../src/gcc/. -I../../src/gcc/../include  -fexceptions -c
> > ../../src/gcc/unwind- dw2.c -o libgcc/./unwind-dw2.o
> > In file included from ./gthr-default.h:1,
> >                  from ../../src/gcc/gthr.h:96,
> >                  from ../../src/gcc/unwind-dw2.c:42:
> > ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or directory
> > ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory
> >
> >
> > the thread thing kills me once again
> >
> > pthread.h is there... not sure were it's looking for it, or even if I
> > copied the /usr/include/pthread.h to where it's looking for it would do
> > anything
> >
> > root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h
> > /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> > /usr/include/nptl/pthread.h
> > /usr/include/pthread.h
> >
> > Did you run anything like this?
> >
> > On 11/20/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> > >
> > >
> > > I set up a debian system using the following instructions:
> > >
> > > http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
> > >
> > > At the time, that worked on my zaurus.
> > >
> > > -m
> > >
> > > On Nov 19, 2006, at 12:54 PM, ryan m wrote:
> > >
> > > make test in the oasys directory fails here:
> > >
> > > arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
> > > -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
> > > -fno-inline  -MMD -MP -MT " sample-.o sample-.E sample-.po" -Wall -W
> > > -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
> > > -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -ltcl8.4-
> > > ldb-4.4
> > > liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined
> > > reference to `pthread_kill'
> > > liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
> > > `pthread_detach'
> > > liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to
> > > `pthread_join'
> > > liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
> > > `pthread_kill'
> > > liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
> > > `pthread_sigmask'
> > > collect2: ld returned 1 exit status
> > > make: *** [test/sample-test] Error 1
> > >
> > > so it definatly seems like a pthread library issue, any idea how I can
> > > fix this.  The libraries do indeed exsist.
> > >
> > > edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls
> > > -ld *thread*
> > > -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> > > -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> > > -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> > > lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
> > > libpthread.so.0
> > > lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
> > > libpthread-0.10.so
> > > -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
> > > lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
> > > libthread_db.so.1
> > > lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->
> > > libthread_db-1.0.so
> > >
> > >
> > > EVERY zaurus specific cross compile evironment I can find (either
> > > instructions on producing one or a tar of one) is gcc 2.x which as we
> > > found out is unable to compile DTN2 ri.  Has anyone found a suitable cross
> > > compile environment for the zaurus based off of gcc 3.x?
> > >
> > > On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > >
> > > > Unfortunately I'm not sure if I can give you any more advice on this
> > > > -- again this looks like there's something wrong with the build and/or the
> > > > system being incompatible or unstable. You could try compiling and running
> > > > simpler programs with your setup to make sure the basic compiler is working,
> > > > then perhaps try a simple multithreaded one, etc. If you run 'make tests' in
> > > > the DTN2/oasys directory that will build a bunch of unit tests which you
> > > > could try out to make sure things are working.
> > > >
> > > > -m
> > > >
> > > >
> > > > On Nov 16, 2006, at 7:10 PM, ryan m wrote:
> > > >
> > > > backtrace to follow:
> > > >
> > > > [1142331726.187026 /dtnd debug] started dtn server
> > > > [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> > > > [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> > > > [1142331726.188407 /dtn/apiserver/13 debug] binding to
> > > > 127.0.0.1:5010
> > > > [1142331726.188762 /dtn/apiserver/13 debug] listening
> > > > [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
> > > > [1142331726.189462 /thread debug] delaying start of thread 0x4240f8
> > > > due to barrier
> > > > [1142331726.189880 /thread debug] releasing thread creation barrier
> > > > -- 3 queued threads
> > > > [1142331726.190299 /thread debug] starting thread 0x42b544
> > > >
> > > > Program received signal SIG32, Real-time event 32.
> > > > 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> > > > directory.
> > > >         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> > > > Current language:  auto; currently c
> > > > (gdb) backtrace
> > > > #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > > #1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620)
> > > > at pthread.c:1067
> > > > #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,
> > > > attr=0x3c3e64,
> > > >     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
> > > > arg=0x42b544) at restart.h:36
> > > > #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> > > > thread/Thread.cc:169
> > > > #4  0x0010912c in oasys::Thread::release_start_barrier () at
> > > > thread/Thread.cc:70
> > > > #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> > > > argv=0xbffffd14) at dtnd.cc:401
> > > > #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
> > > >
> > > >
> > > > as far as my cross compiler I used a generic one for arm embedded
> > > > systems... I couldn't find a zaurus one that was up to date enough to
> > > > compile DTN2
> > > >
> > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > >
> > > > > It looks like there's something more seriously wrong with your
> > > > > build. If you could print out the stack trace using gdb or some such, that
> > > > > would be helpful, but both these errors seem to me like there's something
> > > > > quite messed up in your build setup, perhaps a bogus cross compiler or the
> > > > > wrong endianness or something like that.
> > > > > -mike
> > > > >
> > > > > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> > > > >
> > > > > well --db-init completed so I went to run it without --init-db and
> > > > > got:
> > > > >
> > > > > [1142293298.812187 /dtn/storage/globals debug] loading global
> > > > > store
> > > > > [1142293298.813051 /dtn/storage/globals debug] opening file
> > > > > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > > > > [1142293298.814094 /thread debug] delaying start of thread
> > > > > 0x429220 due to barrier
> > > > > [1142293298.814538 /dtnd debug] started dtn server
> > > > > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > > > > [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> > > > > [1142293298.815706 /dtn/apiserver/12 debug] binding to
> > > > > 127.0.0.1:5010
> > > > > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > > > > [1142293298.816451 /dtn/apiserver/12 debug] state INIT ->
> > > > > LISTENING
> > > > > [1142293298.833241 /thread debug] delaying start of thread
> > > > > 0x424030 due to barrier
> > > > > [1142293298.839105 /thread debug] releasing thread creation
> > > > > barrier -- 3 queued threads
> > > > > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > > > > [1142293298.851478 /thread debug] starting thread 0x429220
> > > > > [1142293298.857805 /thread debug] starting thread 0x424030
> > > > > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > > > > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c
> > > > > 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > > > > [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> > > > > [1142293298.929495 /command debug] starting command server on
> > > > > 127.0.0.1:5050
> > > > > [1142293298.937500 /command info] can't load tclreadline: can't
> > > > > find package tclreadline
> > > > > [1142293298.938120 /command info] fall back to simple command loop
> > > > > collie dtn% Segmentation fault
> > > > >
> > > > > THANK YOU for your help and patience
> > > > >
> > > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > > >
> > > > > > Hmm... That's a strange one. You could try just using the
> > > > > > filesystem store by changing 'storage set type berkeleydb' to 'storage set
> > > > > > type filesysdb'.
> > > > > >
> > > > > > -m
> > > > > >
> > > > > >
> > > > > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > > > > >
> > > > > > well that got me a little farther at least... this is where it
> > > > > > died this time:
> > > > > >
> > > > > > [1142289491.726722 /dtnd notice] initializing persistent data
> > > > > > store
> > > > > > [1142289491.767648 /dtn/storage notice] creating new database
> > > > > > directory /home/root/Applications/DTN_wireless/tmp/db
> > > > > > [1142289491.884849 /dtn/storage info] initializing db name=DTN
> > > > > > (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > > > > [1142289492.284995 /storage/berkeleydb error] DB internal error:
> > > > > > unable to initialize mutex: Function not implemented
> > > > > > [1142289492.290986 /storage/berkeleydb error] DB internal error:
> > > > > > PANIC: Function not implemented
> > > > > > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:
> > > > > > Fatal error, run database recovery, cannot open database
> > > > > > [1142289492.316046 /dtn/storage error] can't initialize
> > > > > > berkeleydb -1000
> > > > > > [1142289492.316369 /dtnd critical] error creating storage system
> > > > > > [1142289492.316683 /dtnd error] error initializing data store,
> > > > > > exiting...
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > > > >
> > > > > > >
> > > > > > > The only reason you could be getting that error is if the name
> > > > > > > lookup failed for some reason. You could try putting the IP address in the
> > > > > > > llink configuration and seeing if that works. If it does, then there must be
> > > > > > > something wrong with the host configuration or some other reason why the
> > > > > > > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > > > > > > put more debug logging in there to trace it down further.
> > > > > > >
> > > > > > > -m
> > > > > > >
> > > > > > >
> > > > > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > > > > >
> > > > > > > so I've got a static version of dtnd compiled and on the
> > > > > > > zaurus, and now I'm getting this odd behavior when I try to run
> > > > > > >
> > > > > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > > > > >
> > > > > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > > > > ./dtn.conf...
> > > > > > > [1142213113.433018 /command debug] executing command file
> > > > > > > ./dtn.conf
> > > > > > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > > > > > [1142213113.447671 /dtn/interface/table info] adding interface
> > > > > > > tcp0 (tcp)
> > > > > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > > > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > created pipe, fds: 9 10
> > > > > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > > > > set_nonblocking: nonblocking mode set
> > > > > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created
> > > > > > > socket 11
> > > > > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > > > > SO_REUSEADDR
> > > > > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > > > > > 0.0.0.0:5000
> > > > > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->
> > > > > > > LISTENING
> > > > > > > [1142213113.462443 /thread debug] delaying start of thread
> > > > > > > 0x42bb54 due to barrier
> > > > > > > [1142213113.464152 /dtn/link/link1 debug] set_state
> > > > > > > UNAVAILABLE -> AVAILABLE
> > > > > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > > > > rcm2.cse.lehigh.edu:5000
> > > > > > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > > > > > > in next hop rcm2.cse.lehigh.edu:5000
> > > > > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address
> > > > > > > ' rcm2.cse.lehigh.edu:5000 '
> > > > > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link
> > > > > > > nexthop ' rcm2.cse.lehigh.edu:5000'
> > > > > > > [1142213113.467679 /command error] error: line 137: 'invalid
> > > > > > > link option: (unknown)':
> > > > > > > invalid link option: (unknown)
> > > > > > >     while executing
> > > > > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > > > > >     (file "./dtn.conf" line 137)
> > > > > > > [1142213113.468105 /dtnd error] error in configuration file,
> > > > > > > exiting...
> > > > > > >
> > > > > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't
> > > > > > > a failure in name resolution.
> > > > > > >
> > > > > > > sorry about posting the "wrong" list, I knew there was
> > > > > > > discussion of making multiple lists, but I wasn't aware that it had actually
> > > > > > > happened, since I don't have the time to read everything that goes through
> > > > > > > dtn-interest. Thank you for the help so far.
> > > > > > >
> > > > > > >
> > > > > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > > > > > > >
> > > > > > > > First of all, let me say that this discussion should be on
> > > > > > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > > > > > please in the future use that list for dtn reference implementation
> > > > > > > > questions, not dtn-interest.
> > > > > > > > As far as building tcl statically goes, it's a bit
> > > > > > > > confusing, but you need to run tcl's ./configure --disable-shared to tell it
> > > > > > > > to build a full static libtcl8.4.a. You don't want the stub
> > > > > > > > library linked in.
> > > > > > > >
> > > > > > > > As far as your original problem goes, I suggested linking
> > > > > > > > statically to try to confirm that it's not a library compatibility issue due
> > > > > > > > to the cross compilation. I don't know if this will help or not, but that's
> > > > > > > > what I suggest to do first.
> > > > > > > >
> > > > > > > > -mike
> > > > > > > >
> > > > > > > >
> > > > > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > > > > >
> > > > > > > > my libtclstub is libtclstub8.4.so.a and if i try to link to
> > > > > > > > it with a link name of libtclstub8.4.so.a or
> > > > > > > > libtclstub8.4.so in the /usr/lib directory.  ldconfig
> > > > > > > > complains it " is not an ELF file - it has the wrong magic bytes at the
> > > > > > > > start" so I had to leave that link out, but I did do the other links, but
> > > > > > > > dtnd crashes the same way.
> > > > > > > >
> > > > > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > > > > >
> > > > > > > > >  I added links in the target for the following:
> > > > > > > > >
> > > > > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > > > > >  in /usr/lib/ from libtclstub8.4.so ->
> > > > > > > > > /usr/lib/libtclstub8.4.so
> > > > > > > > >
> > > > > > > > > For some reason, it seemed like the tcl libraries wanted
> > > > > > > > > to be in the same directory as the pthread libraries (but I haven't
> > > > > > > > > confirmed that).  I just moved on as soon as things started working.
> > > > > > > > >
> > > > > > > > > Let me know if this helps for you...
> > > > > > > > >
> > > > > > > > >  ------------------------------
> > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > m
> > > > > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > > > > *To:* DTNRG
> > > > > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > >
> > > > > > > > >  is that something I can do with a configure argument to
> > > > > > > > > building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > > > > you think that doing a static build is the best way to fix the original
> > > > > > > > > issue I was having on the PDA?
> > > > > > > > >
> > > > > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > > > > > >
> > > > > > > > > >  I suspect the answer is that you need a 'real' tcl
> > > > > > > > > > library (a .a file) that can be linked statically.  I don't think shared
> > > > > > > > > > objects (the .so tcl library you have in the arm directory) can be linked
> > > > > > > > > > that way.
> > > > > > > > > >
> > > > > > > > > >         --keith
> > > > > > > > > >
> > > > > > > > > >  ------------------------------
> > > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > > m
> > > > > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > > > > *To:* DTNRG
> > > > > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > > >
> > > > > > > > > >  when i configure with this:
> > > > > > > > > >
> > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > >
> > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > >
> > > > > > > > > > configure completes fine, but... when I do this:
> > > > > > > > > >
> > > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > > >
> > > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > > --enable-static
> > > > > > > > > >
> > > > > > > > > > I get:
> > > > > > > > > >
> > > > > > > > > > configure: checking for tcl installation (version 8.4 )
> > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > checking for tcl library in
> > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl
> > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > checking for tcl library in
> > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl84 -ldl
> > > > > > > > > > -lm -lpthread ... no
> > > > > > > > > > checking for tcl library in
> > > > > > > > > > /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
> > > > > > > > > > -lpthread ... no
> > > > > > > > > >
> > > > > > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > > > > configure: error: can't find usable tcl.h
> > > > > > > > > >
> > > > > > > > > > and it is there:
> > > > > > > > > >
> > > > > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld
> > > > > > > > > > *tcl*
> > > > > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > > > >
> > > > > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28
> > > > > > > > > > libtclstub8.4.a
> > > > > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28
> > > > > > > > > > tclConfig.sh
> > > > > > > > > >
> > > > > > > > > > without enable-static:
> > > > > > > > > >
> > > > > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > > checking for tcl library in
> > > > > > > > > > /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl
> > > > > > > > > > -lm -lpthread ... yes
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Thank you for the help
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Michael Demmer wrote:
> > > > > > > > > > > try statically building dtnd and see if that works.
> > > > > > > > > > >
> > > > > > > > > > > -m
> > > > > > > > > > >
> > > > > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > > > > >
> > > > > > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > > > > > zaurus.  So I
> > > > > > > > > > >> copied over the libs that I had cross compiled, which
> > > > > > > > > > seemed obvious
> > > > > > > > > > >> to do. Then DTN was complaining about stdc++ lib so I
> > > > > > > > > > copied over the
> > > > > > > > > > >> libs from the lib directory of the cross compile tool
> > > > > > > > > > chain, I figured
> > > > > > > > > > >> that if it was linking in those libs to make arm
> > > > > > > > > > binaries the libs
> > > > > > > > > > >> themselves must be arm compatabile, is this
> > > > > > > > > > right?  So the sum of it
> > > > > > > > > > >> is I get this when I try to run DTN:
> > > > > > > > > > >>
> > > > > > > > > > >>
> > > > > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > > > > libstdc++.so.5: cannot
> > > > > > > > > > >> open shared object file: No such file or directory
> > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > ldconfig
> > > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > > >> [1142218881.762749 /log debug] adding log reparse
> > > > > > > > > > signal handler
> > > > > > > > > > >> [1142218881.929239 /timer debug] adding signal
> > > > > > > > > > handler 0xd6c14 for
> > > > > > > > > > >> signal 1
> > > > > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate
> > > > > > > > > > signal handler
> > > > > > > > > > >> [1142218881.933055 /timer debug] adding signal
> > > > > > > > > > handler 0xd6b9c for
> > > > > > > > > > >> signal 10
> > > > > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting
> > > > > > > > > > up... (pid 1870)
> > > > > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump
> > > > > > > > > > core
> > > > > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > > > > >> Illegal instruction
> > > > > > > > > > >>
> > > > > > > > > > >> any thoughts?
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
>

------=_Part_78608_22657846.1164072822981
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

opps forgot an updatedb<br><br>root@runabout:~# locate pthread.h<br>/opt/arm-linux-gnu/include/pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h
<br>/usr/src/gcc-arm-linux-3.4.3/src/gcc/fixinc/tests/base/pthread.h<br>root@runabout:~# <br><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">ryan m</b> &lt;<a href="mailto:smarts40@gmail.com">
smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">oooh and some googling says to do this:<br><br><pre>
1. threads issue (read before) : use option &quot;--disable-threads&quot;<br><br>but since DTN2 requires threads this seems like a bad idea....<br></pre><div><span class="e" id="q_10f081fa530982c4_1"><div><span class="gmail_quote">

On 11/20/06, <b class="gmail_sendername">ryan m</b> &lt;<a href="mailto:smarts40@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

so things were going so-so until I went to build gcc:<br><h3 lang="en">gcc</h3>
<p lang="en">Now do:</p>
<pre lang="en"># cd ../gcc-arm-linux-3.3.z/<br><span lang="en"># debuild<br><br>it failes at:<br></span></pre>/usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2&nbsp; -DIN_GCC -DCROSS_COMPILE&nbsp;&nbsp; -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition&nbsp; -isystem ./include&nbsp; -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include&nbsp; -fexceptions -c ../../src/gcc/unwind-
dw2.c -o libgcc/./unwind-dw2.o<br>In file included from ./gthr-default.h:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/gthr.h:96,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/unwind-dw2.c:42:<br>../../src/gcc/gthr-posix.h:43:21: pthread.h


: No such file or directory<br>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory<br><br><br>the thread thing kills me once again<br><br>pthread.h is there... not sure were it's looking for it, or even if I copied the /usr/include/pthread.h to where it's looking for it would do anything
<br><br>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h<br><br>Did you run anything like this?
<div><span><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div><br></div><div>I set up a debian system using the following instructions:</div><div><br></div><div><a href="http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html</a></div><div><br></div><div>At the time, that worked on my zaurus.</div><span><div><br></div><div>-m</div></span><div><span>
<br><div><div>On Nov 19, 2006, at 12:54 PM, ryan m wrote:</div><br><blockquote type="cite">make test in the oasys directory fails here:<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot;
sample-.o sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist. 
<br><br>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


libpthread-0.10.so</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; 
libpthread.so.0<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0 -&gt; <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</a><br>


-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 
<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">


 Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


 <div><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp; 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow: <br><br>[1142331726.187026 /dtnd debug] started dtn server
<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING <br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier
<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 <br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at 
restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 <br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at 
dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187


 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier 
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING 
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c 
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120


 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


 <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>


 <div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store 
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369


 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">


 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962


 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">


 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">


 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">


 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">


 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">


 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>


  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] 
<b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div>

</div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">


 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">


 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>


 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>


 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h


 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>


 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286


  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>


 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>


 </div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></span></div></div>
</blockquote></div><br>

</span></div></blockquote></div><br>

</span></div></blockquote></div><br>

------=_Part_78608_22657846.1164072822981--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.235]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAL1RRY00303 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:27:27 -0800
Received: by wx-out-0506.google.com with SMTP id t12so1938523wxc for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:27:26 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=EGZrcqLQ9orLeJUhTzv5cwjxk8TbahreBb27vAYG3K/GKgNC6QtStxt5FLN37KidEcRv15E4j/ER46UFT/4CWoE4bKGNdF2rpDGx7N7XKpAdkFpV+YdCbcFWrO0xoBHk/IHltHW8QMuyVdTQqP4MJGVRNFpMWQ/yTvKnUWQC9hY=
Received: by 10.70.129.5 with SMTP id b5mr10900122wxd.1164072429095; Mon, 20 Nov 2006 17:27:09 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Mon, 20 Nov 2006 17:27:08 -0800 (PST)
Message-ID: <d35f8e370611201727v62359782uf4e43449975e8356@mail.gmail.com>
Date: Mon, 20 Nov 2006 20:27:08 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_78564_12865891.1164072428948"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu> <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_78564_12865891.1164072428948
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

oooh and some googling says to do this:

1. threads issue (read before) : use option "--disable-threads"

but since DTN2 requires threads this seems like a bad idea....

On 11/20/06, ryan m <smarts40@gmail.com> wrote:
>
> so things were going so-so until I went to build gcc:
> gcc
>
> Now do:
>
> # cd ../gcc-arm-linux-3.3.z/
> # debuild
>
> it failes at:
>
> /usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/
> -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include
> -isystem /usr/arm-linux/sys-include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> -Wold-style-definition  -isystem ./include  -fomit-frame-pointer -fPIC -g0
> -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I.
> -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include
> -fexceptions -c ../../src/gcc/unwind- dw2.c -o libgcc/./unwind-dw2.o
> In file included from ./gthr-default.h:1,
>                  from ../../src/gcc/gthr.h:96,
>                  from ../../src/gcc/unwind-dw2.c:42:
> ../../src/gcc/gthr-posix.h:43:21: pthread.h : No such file or directory
> ../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory
>
>
> the thread thing kills me once again
>
> pthread.h is there... not sure were it's looking for it, or even if I
> copied the /usr/include/pthread.h to where it's looking for it would do
> anything
>
> root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h
> /opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
> /usr/include/nptl/pthread.h
> /usr/include/pthread.h
>
> Did you run anything like this?
>
> On 11/20/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> >
> > I set up a debian system using the following instructions:
> >
> > http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
> >
> > At the time, that worked on my zaurus.
> >
> > -m
> >
> > On Nov 19, 2006, at 12:54 PM, ryan m wrote:
> >
> > make test in the oasys directory fails here:
> >
> > arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
> > -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
> > -fno-inline  -MMD -MP -MT " sample-.o sample-.E sample-.po" -Wall -W
> > -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
> > -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -ltcl8.4 -
> > ldb-4.4
> > liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined
> > reference to `pthread_kill'
> > liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
> > `pthread_detach'
> > liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to
> > `pthread_join'
> > liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
> > `pthread_kill'
> > liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
> > `pthread_sigmask'
> > collect2: ld returned 1 exit status
> > make: *** [test/sample-test] Error 1
> >
> > so it definatly seems like a pthread library issue, any idea how I can
> > fix this.  The libraries do indeed exsist.
> >
> > edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld
> > *thread*
> > -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> > -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> > -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> > lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
> > libpthread.so.0
> > lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
> > libpthread-0.10.so
> > -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
> > lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
> > libthread_db.so.1
> > lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->
> > libthread_db-1.0.so
> >
> >
> > EVERY zaurus specific cross compile evironment I can find (either
> > instructions on producing one or a tar of one) is gcc 2.x which as we
> > found out is unable to compile DTN2 ri.  Has anyone found a suitable cross
> > compile environment for the zaurus based off of gcc 3.x?
> >
> > On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > >
> > > Unfortunately I'm not sure if I can give you any more advice on this
> > > -- again this looks like there's something wrong with the build and/or the
> > > system being incompatible or unstable. You could try compiling and running
> > > simpler programs with your setup to make sure the basic compiler is working,
> > > then perhaps try a simple multithreaded one, etc. If you run 'make tests' in
> > > the DTN2/oasys directory that will build a bunch of unit tests which you
> > > could try out to make sure things are working.
> > >
> > > -m
> > >
> > >
> > > On Nov 16, 2006, at 7:10 PM, ryan m wrote:
> > >
> > > backtrace to follow:
> > >
> > > [1142331726.187026 /dtnd debug] started dtn server
> > > [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> > > [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> > > [1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
> > > [1142331726.188762 /dtn/apiserver/13 debug] listening
> > > [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
> > > [1142331726.189462 /thread debug] delaying start of thread 0x4240f8
> > > due to barrier
> > > [1142331726.189880 /thread debug] releasing thread creation barrier --
> > > 3 queued threads
> > > [1142331726.190299 /thread debug] starting thread 0x42b544
> > >
> > > Program received signal SIG32, Real-time event 32.
> > > 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> > > directory.
> > >         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> > > Current language:  auto; currently c
> > > (gdb) backtrace
> > > #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > > #1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at
> > > pthread.c:1067
> > > #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,
> > > attr=0x3c3e64,
> > >     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
> > > arg=0x42b544) at restart.h:36
> > > #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> > > thread/Thread.cc:169
> > > #4  0x0010912c in oasys::Thread::release_start_barrier () at
> > > thread/Thread.cc:70
> > > #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> > > argv=0xbffffd14) at dtnd.cc:401
> > > #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
> > >
> > >
> > > as far as my cross compiler I used a generic one for arm embedded
> > > systems... I couldn't find a zaurus one that was up to date enough to
> > > compile DTN2
> > >
> > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > >
> > > > It looks like there's something more seriously wrong with your
> > > > build. If you could print out the stack trace using gdb or some such, that
> > > > would be helpful, but both these errors seem to me like there's something
> > > > quite messed up in your build setup, perhaps a bogus cross compiler or the
> > > > wrong endianness or something like that.
> > > > -mike
> > > >
> > > > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> > > >
> > > > well --db-init completed so I went to run it without --init-db and
> > > > got:
> > > >
> > > > [1142293298.812187 /dtn/storage/globals debug] loading global store
> > > > [1142293298.813051 /dtn/storage/globals debug] opening file
> > > > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > > > [1142293298.814094 /thread debug] delaying start of thread 0x429220
> > > > due to barrier
> > > > [1142293298.814538 /dtnd debug] started dtn server
> > > > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > > > [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> > > > [1142293298.815706 /dtn/apiserver/12 debug] binding to
> > > > 127.0.0.1:5010
> > > > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > > > [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
> > > > [1142293298.833241 /thread debug] delaying start of thread 0x424030
> > > > due to barrier
> > > > [1142293298.839105 /thread debug] releasing thread creation barrier
> > > > -- 3 queued threads
> > > > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > > > [1142293298.851478 /thread debug] starting thread 0x429220
> > > > [1142293298.857805 /thread debug] starting thread 0x424030
> > > > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > > > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c
> > > > 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > > > [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> > > > [1142293298.929495 /command debug] starting command server on
> > > > 127.0.0.1:5050
> > > > [1142293298.937500 /command info] can't load tclreadline: can't find
> > > > package tclreadline
> > > > [1142293298.938120 /command info] fall back to simple command loop
> > > > collie dtn% Segmentation fault
> > > >
> > > > THANK YOU for your help and patience
> > > >
> > > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > > >
> > > > > Hmm... That's a strange one. You could try just using the
> > > > > filesystem store by changing 'storage set type berkeleydb' to 'storage set
> > > > > type filesysdb'.
> > > > >
> > > > > -m
> > > > >
> > > > >
> > > > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > > > >
> > > > > well that got me a little farther at least... this is where it
> > > > > died this time:
> > > > >
> > > > > [1142289491.726722 /dtnd notice] initializing persistent data
> > > > > store
> > > > > [1142289491.767648 /dtn/storage notice] creating new database
> > > > > directory /home/root/Applications/DTN_wireless/tmp/db
> > > > > [1142289491.884849 /dtn/storage info] initializing db name=DTN
> > > > > (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > > > [1142289492.284995 /storage/berkeleydb error] DB internal error:
> > > > > unable to initialize mutex: Function not implemented
> > > > > [1142289492.290986 /storage/berkeleydb error] DB internal error:
> > > > > PANIC: Function not implemented
> > > > > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:
> > > > > Fatal error, run database recovery, cannot open database
> > > > > [1142289492.316046 /dtn/storage error] can't initialize berkeleydb
> > > > > -1000
> > > > > [1142289492.316369 /dtnd critical] error creating storage system
> > > > > [1142289492.316683 /dtnd error] error initializing data store,
> > > > > exiting...
> > > > >
> > > > >
> > > > >
> > > > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > > >
> > > > > >
> > > > > > The only reason you could be getting that error is if the name
> > > > > > lookup failed for some reason. You could try putting the IP address in the
> > > > > > llink configuration and seeing if that works. If it does, then there must be
> > > > > > something wrong with the host configuration or some other reason why the
> > > > > > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > > > > > put more debug logging in there to trace it down further.
> > > > > >
> > > > > > -m
> > > > > >
> > > > > >
> > > > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > > > >
> > > > > > so I've got a static version of dtnd compiled and on the zaurus,
> > > > > > and now I'm getting this odd behavior when I try to run
> > > > > >
> > > > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > > > >
> > > > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > > > ./dtn.conf...
> > > > > > [1142213113.433018 /command debug] executing command file
> > > > > > ./dtn.conf
> > > > > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > > > > [1142213113.447671 /dtn/interface/table info] adding interface
> > > > > > tcp0 (tcp)
> > > > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created
> > > > > > pipe, fds: 9 10
> > > > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > > > set_nonblocking: nonblocking mode set
> > > > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > > > set_nonblocking: nonblocking mode set
> > > > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket
> > > > > > 11
> > > > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > > > SO_REUSEADDR
> > > > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > > > > 0.0.0.0:5000
> > > > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->
> > > > > > LISTENING
> > > > > > [1142213113.462443 /thread debug] delaying start of thread
> > > > > > 0x42bb54 due to barrier
> > > > > > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE
> > > > > > -> AVAILABLE
> > > > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > > > rcm2.cse.lehigh.edu:5000
> > > > > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > > > > > in next hop rcm2.cse.lehigh.edu:5000
> > > > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address '
> > > > > > rcm2.cse.lehigh.edu:5000 '
> > > > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop
> > > > > > ' rcm2.cse.lehigh.edu:5000'
> > > > > > [1142213113.467679 /command error] error: line 137: 'invalid
> > > > > > link option: (unknown)':
> > > > > > invalid link option: (unknown)
> > > > > >     while executing
> > > > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > > > >     (file "./dtn.conf" line 137)
> > > > > > [1142213113.468105 /dtnd error] error in configuration file,
> > > > > > exiting...
> > > > > >
> > > > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a
> > > > > > failure in name resolution.
> > > > > >
> > > > > > sorry about posting the "wrong" list, I knew there was
> > > > > > discussion of making multiple lists, but I wasn't aware that it had actually
> > > > > > happened, since I don't have the time to read everything that goes through
> > > > > > dtn-interest. Thank you for the help so far.
> > > > > >
> > > > > >
> > > > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > > > > > >
> > > > > > > First of all, let me say that this discussion should be on
> > > > > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > > > > please in the future use that list for dtn reference implementation
> > > > > > > questions, not dtn-interest.
> > > > > > > As far as building tcl statically goes, it's a bit confusing,
> > > > > > > but you need to run tcl's ./configure --disable-shared to tell it to build a
> > > > > > > full static libtcl8.4.a. You don't want the stub library
> > > > > > > linked in.
> > > > > > >
> > > > > > > As far as your original problem goes, I suggested linking
> > > > > > > statically to try to confirm that it's not a library compatibility issue due
> > > > > > > to the cross compilation. I don't know if this will help or not, but that's
> > > > > > > what I suggest to do first.
> > > > > > >
> > > > > > > -mike
> > > > > > >
> > > > > > >
> > > > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > > > >
> > > > > > > my libtclstub is libtclstub8.4.so.a and if i try to link to it
> > > > > > > with a link name of libtclstub8.4.so.a or libtclstub8.4.so in
> > > > > > > the /usr/lib directory.  ldconfig complains it " is not an ELF file - it has
> > > > > > > the wrong magic bytes at the start" so I had to leave that link out, but I
> > > > > > > did do the other links, but dtnd crashes the same way.
> > > > > > >
> > > > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > > > >
> > > > > > > >  I added links in the target for the following:
> > > > > > > >
> > > > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > > > >  in /usr/lib/ from libtclstub8.4.so ->
> > > > > > > > /usr/lib/libtclstub8.4.so
> > > > > > > >
> > > > > > > > For some reason, it seemed like the tcl libraries wanted to
> > > > > > > > be in the same directory as the pthread libraries (but I haven't confirmed
> > > > > > > > that).  I just moved on as soon as things started working.
> > > > > > > >
> > > > > > > > Let me know if this helps for you...
> > > > > > > >
> > > > > > > >  ------------------------------
> > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > > > *To:* DTNRG
> > > > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > >
> > > > > > > >  is that something I can do with a configure argument to
> > > > > > > > building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > > > you think that doing a static build is the best way to fix the original
> > > > > > > > issue I was having on the PDA?
> > > > > > > >
> > > > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > > > > >
> > > > > > > > >  I suspect the answer is that you need a 'real' tcl
> > > > > > > > > library (a .a file) that can be linked statically.  I don't think shared
> > > > > > > > > objects (the .so tcl library you have in the arm directory) can be linked
> > > > > > > > > that way.
> > > > > > > > >
> > > > > > > > >         --keith
> > > > > > > > >
> > > > > > > > >  ------------------------------
> > > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan
> > > > > > > > > m
> > > > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > > > *To:* DTNRG
> > > > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > > >
> > > > > > > > >  when i configure with this:
> > > > > > > > >
> > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > >
> > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > >
> > > > > > > > > configure completes fine, but... when I do this:
> > > > > > > > >
> > > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > > >
> > > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > > --enable-static
> > > > > > > > >
> > > > > > > > > I get:
> > > > > > > > >
> > > > > > > > > configure: checking for tcl installation (version 8.4 )
> > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > > -ltcl8.4 -ldl
> > > > > > > > > -lm -lpthread ... no
> > > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > > -ltcl84 -ldl
> > > > > > > > > -lm -lpthread ... no
> > > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > > -ltcl -ldl -lm
> > > > > > > > > -lpthread ... no
> > > > > > > > >
> > > > > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > > > configure: error: can't find usable tcl.h
> > > > > > > > >
> > > > > > > > > and it is there:
> > > > > > > > >
> > > > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld
> > > > > > > > > *tcl*
> > > > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > > >
> > > > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28
> > > > > > > > > libtclstub8.4.a
> > > > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28
> > > > > > > > > tclConfig.sh
> > > > > > > > >
> > > > > > > > > without enable-static:
> > > > > > > > >
> > > > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > > - ltcl8.4 -ldl
> > > > > > > > > -lm -lpthread ... yes
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Thank you for the help
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > Michael Demmer wrote:
> > > > > > > > > > try statically building dtnd and see if that works.
> > > > > > > > > >
> > > > > > > > > > -m
> > > > > > > > > >
> > > > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > > > >
> > > > > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > > > > zaurus.  So I
> > > > > > > > > >> copied over the libs that I had cross compiled, which
> > > > > > > > > seemed obvious
> > > > > > > > > >> to do. Then DTN was complaining about stdc++ lib so I
> > > > > > > > > copied over the
> > > > > > > > > >> libs from the lib directory of the cross compile tool
> > > > > > > > > chain, I figured
> > > > > > > > > >> that if it was linking in those libs to make arm
> > > > > > > > > binaries the libs
> > > > > > > > > >> themselves must be arm compatabile, is this right?  So
> > > > > > > > > the sum of it
> > > > > > > > > >> is I get this when I try to run DTN:
> > > > > > > > > >>
> > > > > > > > > >>
> > > > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > > > libstdc++.so.5: cannot
> > > > > > > > > >> open shared object file: No such file or directory
> > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > ldconfig
> > > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > > ./dtnd -l DEBUG
> > > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > > >> [1142218881.762749 /log debug] adding log reparse
> > > > > > > > > signal handler
> > > > > > > > > >> [1142218881.929239 /timer debug] adding signal handler
> > > > > > > > > 0xd6c14 for
> > > > > > > > > >> signal 1
> > > > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate
> > > > > > > > > signal handler
> > > > > > > > > >> [1142218881.933055 /timer debug] adding signal handler
> > > > > > > > > 0xd6b9c for
> > > > > > > > > >> signal 10
> > > > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting
> > > > > > > > > up... (pid 1870)
> > > > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump
> > > > > > > > > core
> > > > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > > > >> Illegal instruction
> > > > > > > > > >>
> > > > > > > > > >> any thoughts?
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>

------=_Part_78564_12865891.1164072428948
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

oooh and some googling says to do this:<br><br><pre>1. threads issue (read before) : use option &quot;--disable-threads&quot;<br><br>but since DTN2 requires threads this seems like a bad idea....<br></pre><div><span class="gmail_quote">
On 11/20/06, <b class="gmail_sendername">ryan m</b> &lt;<a href="mailto:smarts40@gmail.com">smarts40@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
so things were going so-so until I went to build gcc:<br><h3 lang="en">gcc</h3>
<p lang="en">Now do:</p>
<pre lang="en"># cd ../gcc-arm-linux-3.3.z/<br><span lang="en"># debuild<br><br>it failes at:<br></span></pre>/usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2&nbsp; -DIN_GCC -DCROSS_COMPILE&nbsp;&nbsp; -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition&nbsp; -isystem ./include&nbsp; -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include&nbsp; -fexceptions -c ../../src/gcc/unwind-
dw2.c -o libgcc/./unwind-dw2.o<br>In file included from ./gthr-default.h:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/gthr.h:96,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/unwind-dw2.c:42:<br>../../src/gcc/gthr-posix.h:43:21: pthread.h

: No such file or directory<br>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory<br><br><br>the thread thing kills me once again<br><br>pthread.h is there... not sure were it's looking for it, or even if I copied the /usr/include/pthread.h to where it's looking for it would do anything
<br><br>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h<br><br>Did you run anything like this?
<div><span class="e" id="q_10f081e58ed3dc39_1"><br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div><br></div><div>I set up a debian system using the following instructions:</div><div><br></div><div><a href="http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html</a></div><div><br></div><div>At the time, that worked on my zaurus.</div><span><div><br></div><div>-m</div></span><div><span>
<br><div><div>On Nov 19, 2006, at 12:54 PM, ryan m wrote:</div><br><blockquote type="cite">make test in the oasys directory fails here:<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot;
sample-.o sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist. 
<br><br>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

libpthread-0.10.so</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; 
libpthread.so.0<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0 -&gt; <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</a><br>

-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 
<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">

 Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

 <div><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp; 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow: <br><br>[1142331726.187026 /dtnd debug] started dtn server
<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING <br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier
<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 <br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at 
restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 <br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at 
dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187

 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier 
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING 
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c 
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120

 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

 <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>

 <div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store 
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369

 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962

 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">

 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">

 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">

 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>

  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] 
<b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div>
</div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">

 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>

 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>

 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h

 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>

 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286

  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>

 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>

 </div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></span></div></div>
</blockquote></div><br>

</span></div></blockquote></div><br>

------=_Part_78564_12865891.1164072428948--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.229]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAL1PlY32730 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:25:47 -0800
Received: by wx-out-0506.google.com with SMTP id t12so1937990wxc for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 17:25:46 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=IMW46TaRoZU/2wTPXXJT0Q/EkhO51+Kl4udv68x2qemOpq1tRsJGC4o2eYwDZZlQEUF/VigH45XFAA45347TC2cI13OnvrpoIlacIegwI4bHGh6vNnvSSc8FE33HLn0vdXivvOEEbepkenfeT6GXOX9uZJHQiaeUnpFEOdUjmGs=
Received: by 10.70.23.2 with SMTP id 2mr10871505wxw.1164072344011; Mon, 20 Nov 2006 17:25:44 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Mon, 20 Nov 2006 17:25:43 -0800 (PST)
Message-ID: <d35f8e370611201725j5941d2e8p8613e0e30de0c880@mail.gmail.com>
Date: Mon, 20 Nov 2006 20:25:43 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_78532_31187181.1164072343875"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com> <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_78532_31187181.1164072343875
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so things were going so-so until I went to build gcc:
gcc

Now do:

# cd ../gcc-arm-linux-3.3.z/
# debuild

it failes at:

/usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc
-B/usr/src/gcc-arm-linux-3.4.3/build/gcc/
-B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include
-isystem /usr/arm-linux/sys-include -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition  -isystem ./include  -fomit-frame-pointer -fPIC -g0
-DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I.
-I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include
-fexceptions -c ../../src/gcc/unwind-dw2.c -o libgcc/./unwind-dw2.o
In file included from ./gthr-default.h:1,
                 from ../../src/gcc/gthr.h:96,
                 from ../../src/gcc/unwind-dw2.c:42:
../../src/gcc/gthr-posix.h:43:21: pthread.h: No such file or directory
../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory


the thread thing kills me once again

pthread.h is there... not sure were it's looking for it, or even if I copied
the /usr/include/pthread.h to where it's looking for it would do anything

root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h
/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h
/usr/include/nptl/pthread.h
/usr/include/pthread.h

Did you run anything like this?

On 11/20/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
>
> I set up a debian system using the following instructions:
>
> http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html
>
> At the time, that worked on my zaurus.
>
> -m
>
> On Nov 19, 2006, at 12:54 PM, ryan m wrote:
>
> make test in the oasys directory fails here:
>
> arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
> -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
> -fno-inline  -MMD -MP -MT "sample-.o sample-.E sample-.po" -Wall -W
> -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
> -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -ltcl8.4 -
> ldb-4.4
> liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference
> to `pthread_kill'
> liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
> `pthread_detach'
> liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to
> `pthread_join'
> liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
> `pthread_kill'
> liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
> `pthread_sigmask'
> collect2: ld returned 1 exit status
> make: *** [test/sample-test] Error 1
>
> so it definatly seems like a pthread library issue, any idea how I can fix
> this.  The libraries do indeed exsist.
>
> edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld
> *thread*
> -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
> libpthread.so.0
> lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
> libpthread-0.10.so
> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
> lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
> libthread_db.so.1
> lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->
> libthread_db-1.0.so
>
>
> EVERY zaurus specific cross compile evironment I can find (either
> instructions on producing one or a tar of one) is gcc 2.x which as we
> found out is unable to compile DTN2 ri.  Has anyone found a suitable cross
> compile environment for the zaurus based off of gcc 3.x?
>
> On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> > Unfortunately I'm not sure if I can give you any more advice on this --
> > again this looks like there's something wrong with the build and/or the
> > system being incompatible or unstable. You could try compiling and running
> > simpler programs with your setup to make sure the basic compiler is working,
> > then perhaps try a simple multithreaded one, etc. If you run 'make tests' in
> > the DTN2/oasys directory that will build a bunch of unit tests which you
> > could try out to make sure things are working.
> >
> > -m
> >
> >
> > On Nov 16, 2006, at 7:10 PM, ryan m wrote:
> >
> > backtrace to follow:
> >
> > [1142331726.187026 /dtnd debug] started dtn server
> > [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> > [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> > [1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
> > [1142331726.188762 /dtn/apiserver/13 debug] listening
> > [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
> > [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due
> > to barrier
> > [1142331726.189880 /thread debug] releasing thread creation barrier -- 3
> > queued threads
> > [1142331726.190299 /thread debug] starting thread 0x42b544
> >
> > Program received signal SIG32, Real-time event 32.
> > 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> > directory.
> >         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> > Current language:  auto; currently c
> > (gdb) backtrace
> > #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> > ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> > #1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at
> > pthread.c:1067
> > #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64,
> >     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
> > arg=0x42b544) at restart.h:36
> > #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> > thread/Thread.cc:169
> > #4  0x0010912c in oasys::Thread::release_start_barrier () at
> > thread/Thread.cc:70
> > #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> > argv=0xbffffd14) at dtnd.cc:401
> > #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
> >
> >
> > as far as my cross compiler I used a generic one for arm embedded
> > systems... I couldn't find a zaurus one that was up to date enough to
> > compile DTN2
> >
> > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > >
> > > It looks like there's something more seriously wrong with your build.
> > > If you could print out the stack trace using gdb or some such, that would be
> > > helpful, but both these errors seem to me like there's something quite
> > > messed up in your build setup, perhaps a bogus cross compiler or the wrong
> > > endianness or something like that.
> > > -mike
> > >
> > > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> > >
> > > well --db-init completed so I went to run it without --init-db and
> > > got:
> > >
> > > [1142293298.812187 /dtn/storage/globals debug] loading global store
> > > [1142293298.813051 /dtn/storage/globals debug] opening file
> > > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > > [1142293298.814094 /thread debug] delaying start of thread 0x429220
> > > due to barrier
> > > [1142293298.814538 /dtnd debug] started dtn server
> > > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > > [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> > > [1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
> > > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > > [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
> > > [1142293298.833241 /thread debug] delaying start of thread 0x424030
> > > due to barrier
> > > [1142293298.839105 /thread debug] releasing thread creation barrier --
> > > 3 queued threads
> > > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > > [1142293298.851478 /thread debug] starting thread 0x429220
> > > [1142293298.857805 /thread debug] starting thread 0x424030
> > > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc
> > > 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > > [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> > > [1142293298.929495 /command debug] starting command server on
> > > 127.0.0.1:5050
> > > [1142293298.937500 /command info] can't load tclreadline: can't find
> > > package tclreadline
> > > [1142293298.938120 /command info] fall back to simple command loop
> > > collie dtn% Segmentation fault
> > >
> > > THANK YOU for your help and patience
> > >
> > > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > > >
> > > > Hmm... That's a strange one. You could try just using the filesystem
> > > > store by changing 'storage set type berkeleydb' to 'storage set type
> > > > filesysdb'.
> > > >
> > > > -m
> > > >
> > > >
> > > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > > >
> > > > well that got me a little farther at least... this is where it died
> > > > this time:
> > > >
> > > > [1142289491.726722 /dtnd notice] initializing persistent data store
> > > > [1142289491.767648 /dtn/storage notice] creating new database
> > > > directory /home/root/Applications/DTN_wireless/tmp/db
> > > > [1142289491.884849 /dtn/storage info] initializing db name=DTN (not
> > > > shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > > [1142289492.284995 /storage/berkeleydb error] DB internal error:
> > > > unable to initialize mutex: Function not implemented
> > > > [1142289492.290986 /storage/berkeleydb error] DB internal error:
> > > > PANIC: Function not implemented
> > > > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal
> > > > error, run database recovery, cannot open database
> > > > [1142289492.316046 /dtn/storage error] can't initialize berkeleydb
> > > > -1000
> > > > [1142289492.316369 /dtnd critical] error creating storage system
> > > > [1142289492.316683 /dtnd error] error initializing data store,
> > > > exiting...
> > > >
> > > >
> > > >
> > > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > > >
> > > > >
> > > > > The only reason you could be getting that error is if the name
> > > > > lookup failed for some reason. You could try putting the IP address in the
> > > > > llink configuration and seeing if that works. If it does, then there must be
> > > > > something wrong with the host configuration or some other reason why the
> > > > > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > > > > put more debug logging in there to trace it down further.
> > > > >
> > > > > -m
> > > > >
> > > > >
> > > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > > >
> > > > > so I've got a static version of dtnd compiled and on the zaurus,
> > > > > and now I'm getting this odd behavior when I try to run
> > > > >
> > > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > > >
> > > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > > ./dtn.conf...
> > > > > [1142213113.433018 /command debug] executing command file
> > > > > ./dtn.conf
> > > > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > > > [1142213113.447671 /dtn/interface/table info] adding interface
> > > > > tcp0 (tcp)
> > > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created
> > > > > pipe, fds: 9 10
> > > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > > set_nonblocking: nonblocking mode set
> > > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > > set_nonblocking: nonblocking mode set
> > > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> > > > >
> > > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > > SO_REUSEADDR
> > > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > > > 0.0.0.0:5000
> > > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->
> > > > > LISTENING
> > > > > [1142213113.462443 /thread debug] delaying start of thread
> > > > > 0x42bb54 due to barrier
> > > > > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> > > > > AVAILABLE
> > > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > > rcm2.cse.lehigh.edu:5000
> > > > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > > > > in next hop rcm2.cse.lehigh.edu:5000
> > > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' rcm2.cse.lehigh.edu:5000
> > > > > '
> > > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> > > > > rcm2.cse.lehigh.edu:5000'
> > > > > [1142213113.467679 /command error] error: line 137: 'invalid link
> > > > > option: (unknown)':
> > > > > invalid link option: (unknown)
> > > > >     while executing
> > > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > > >     (file "./dtn.conf" line 137)
> > > > > [1142213113.468105 /dtnd error] error in configuration file,
> > > > > exiting...
> > > > >
> > > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a
> > > > > failure in name resolution.
> > > > >
> > > > > sorry about posting the "wrong" list, I knew there was discussion
> > > > > of making multiple lists, but I wasn't aware that it had actually happened,
> > > > > since I don't have the time to read everything that goes through
> > > > > dtn-interest. Thank you for the help so far.
> > > > >
> > > > >
> > > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > > > > >
> > > > > > First of all, let me say that this discussion should be on
> > > > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > > > please in the future use that list for dtn reference implementation
> > > > > > questions, not dtn-interest.
> > > > > > As far as building tcl statically goes, it's a bit confusing,
> > > > > > but you need to run tcl's ./configure --disable-shared to tell it to build a
> > > > > > full static libtcl8.4.a. You don't want the stub library linked
> > > > > > in.
> > > > > >
> > > > > > As far as your original problem goes, I suggested linking
> > > > > > statically to try to confirm that it's not a library compatibility issue due
> > > > > > to the cross compilation. I don't know if this will help or not, but that's
> > > > > > what I suggest to do first.
> > > > > >
> > > > > > -mike
> > > > > >
> > > > > >
> > > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > > >
> > > > > > my libtclstub is libtclstub8.4.so.a and if i try to link to it
> > > > > > with a link name of libtclstub8.4.so.a or libtclstub8.4.so in
> > > > > > the /usr/lib directory.  ldconfig complains it " is not an ELF file - it has
> > > > > > the wrong magic bytes at the start" so I had to leave that link out, but I
> > > > > > did do the other links, but dtnd crashes the same way.
> > > > > >
> > > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > > >
> > > > > > >  I added links in the target for the following:
> > > > > > >
> > > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > > >  in /usr/lib/ from libtclstub8.4.so ->
> > > > > > > /usr/lib/libtclstub8.4.so
> > > > > > >
> > > > > > > For some reason, it seemed like the tcl libraries wanted to be
> > > > > > > in the same directory as the pthread libraries (but I haven't confirmed
> > > > > > > that).  I just moved on as soon as things started working.
> > > > > > >
> > > > > > > Let me know if this helps for you...
> > > > > > >
> > > > > > >  ------------------------------
> > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > > *To:* DTNRG
> > > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > > >
> > > > > > >  is that something I can do with a configure argument to
> > > > > > > building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > > you think that doing a static build is the best way to fix the original
> > > > > > > issue I was having on the PDA?
> > > > > > >
> > > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > > > >
> > > > > > > >  I suspect the answer is that you need a 'real' tcl library
> > > > > > > > (a .a file) that can be linked statically.  I don't think shared objects
> > > > > > > > (the .so tcl library you have in the arm directory) can be linked that way.
> > > > > > > >
> > > > > > > >         --keith
> > > > > > > >
> > > > > > > >  ------------------------------
> > > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > > *To:* DTNRG
> > > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > > >
> > > > > > > >  when i configure with this:
> > > > > > > >
> > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > >
> > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > >
> > > > > > > > configure completes fine, but... when I do this:
> > > > > > > >
> > > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > > >
> > > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > > --enable-static
> > > > > > > >
> > > > > > > > I get:
> > > > > > > >
> > > > > > > > configure: checking for tcl installation (version 8.4 )
> > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > > > ltcl8.4 -ldl
> > > > > > > > -lm -lpthread ... no
> > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > -ltcl84 -ldl
> > > > > > > > -lm -lpthread ... no
> > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > > -ltcl -ldl -lm
> > > > > > > > -lpthread ... no
> > > > > > > >
> > > > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > > configure: error: can't find usable tcl.h
> > > > > > > >
> > > > > > > > and it is there:
> > > > > > > >
> > > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld
> > > > > > > > *tcl*
> > > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28
> > > > > > > > libtclstub8.4.a
> > > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > > > > > >
> > > > > > > > without enable-static:
> > > > > > > >
> > > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > > > ltcl8.4 -ldl
> > > > > > > > -lm -lpthread ... yes
> > > > > > > >
> > > > > > > >
> > > > > > > > Thank you for the help
> > > > > > > >
> > > > > > > >
> > > > > > > > Michael Demmer wrote:
> > > > > > > > > try statically building dtnd and see if that works.
> > > > > > > > >
> > > > > > > > > -m
> > > > > > > > >
> > > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > > >
> > > > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > > > zaurus.  So I
> > > > > > > > >> copied over the libs that I had cross compiled, which
> > > > > > > > seemed obvious
> > > > > > > > >> to do. Then DTN was complaining about stdc++ lib so I
> > > > > > > > copied over the
> > > > > > > > >> libs from the lib directory of the cross compile tool
> > > > > > > > chain, I figured
> > > > > > > > >> that if it was linking in those libs to make arm binaries
> > > > > > > > the libs
> > > > > > > > >> themselves must be arm compatabile, is this right?  So
> > > > > > > > the sum of it
> > > > > > > > >> is I get this when I try to run DTN:
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > ./dtnd -l DEBUG
> > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > > libstdc++.so.5: cannot
> > > > > > > > >> open shared object file: No such file or directory
> > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > ldconfig
> > > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > > ./dtnd -l DEBUG
> > > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > > >> [1142218881.762749 /log debug] adding log reparse signal
> > > > > > > > handler
> > > > > > > > >> [1142218881.929239 /timer debug] adding signal handler
> > > > > > > > 0xd6c14 for
> > > > > > > > >> signal 1
> > > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate signal
> > > > > > > > handler
> > > > > > > > >> [1142218881.933055 /timer debug] adding signal handler
> > > > > > > > 0xd6b9c for
> > > > > > > > >> signal 10
> > > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting
> > > > > > > > up... (pid 1870)
> > > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > > >> Illegal instruction
> > > > > > > > >>
> > > > > > > > >> any thoughts?
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

------=_Part_78532_31187181.1164072343875
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so things were going so-so until I went to build gcc:<br><h3 lang="en">gcc</h3>
<p lang="en">Now do:</p>
<pre class="programlisting" lang="en"># cd ../gcc-arm-linux-3.3.z/<br><span lang="en"># debuild<br><br>it failes at:<br></span></pre>/usr/src/gcc-arm-linux-3.4.3/build/gcc/xgcc -B/usr/src/gcc-arm-linux-3.4.3/build/gcc/ -B/usr/arm-linux/bin/ -B/usr/arm-linux/lib/ -isystem /usr/arm-linux/include -isystem /usr/arm-linux/sys-include -O2&nbsp; -DIN_GCC -DCROSS_COMPILE&nbsp;&nbsp; -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition&nbsp; -isystem ./include&nbsp; -fomit-frame-pointer -fPIC -g0 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include&nbsp; -fexceptions -c ../../src/gcc/unwind-
dw2.c -o libgcc/./unwind-dw2.o<br>In file included from ./gthr-default.h:1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/gthr.h:96,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from ../../src/gcc/unwind-dw2.c:42:<br>../../src/gcc/gthr-posix.h:43:21: pthread.h
: No such file or directory<br>../../src/gcc/gthr-posix.h:44:20: unistd.h: No such file or directory<br><br><br>the thread thing kills me once again<br><br>pthread.h is there... not sure were it's looking for it, or even if I copied the /usr/include/pthread.h to where it's looking for it would do anything
<br><br>root@runabout:/usr/src/gcc-arm-linux-3.4.3/build/gcc# locate pthread.h<br>/opt/backup/arm-linux-toolchain/3.2.3/arm-linux/include/pthread.h<br>/usr/include/nptl/pthread.h<br>/usr/include/pthread.h<br><br>Did you run anything like this?
<br><br><div><span class="gmail_quote">On 11/20/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><br></div><div>I set up a debian system using the following instructions:</div><div><br></div><div><a href="http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html</a></div><div><br></div><div>At the time, that worked on my zaurus.</div><span class="sg"><div><br></div><div>-m</div></span><div><span class="e" id="q_10f072459e39d1b9_2">
<br><div><div>On Nov 19, 2006, at 12:54 PM, ryan m wrote:</div><br><blockquote type="cite">make test in the oasys directory fails here:<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot;
sample-.o sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill' 
<br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist. 
<br><br>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
libpthread-0.10.so</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; 
libpthread.so.0<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0 -&gt; <a href="http://libpthread-0.10.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libpthread-0.10.so</a><br>
-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 
<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-<a href="http://1.0.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">
 Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp; 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow: <br><br>[1142331726.187026 /dtnd debug] started dtn server
<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING <br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier
<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 <br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55
<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at 
restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 <br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at 
dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187
 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier 
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING 
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c 
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120
 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>
 <div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store 
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>
 </div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></span></div></div>
</blockquote></div><br>

------=_Part_78532_31187181.1164072343875--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAKMBQY31339 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 14:11:26 -0800
Received: from [10.212.2.167] ([12.46.129.64]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAKMBPbW016972 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 20 Nov 2006 14:11:26 -0800 (PST)
In-Reply-To: <CAAFEA101CAD0249CEDB26D9@[192.168.31.244]>
References: <CAAFEA101CAD0249CEDB26D9@[192.168.31.244]>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <C0D8783E-A806-4DDC-9DF9-9307C598B3FF@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Bundle protocol dissector
X-Applemailsentby: demmer
Date: Mon, 20 Nov 2006 14:11:29 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Hi Florent,

I'm not sure if you noticed or not, but I recently got an IANA  
registration for bundling over UDP/TCP to be assigned to port 4556.  
So you can now build that into your plugin as the default port for  
dissecting bundle data.

Thanks for the good work!

-m


On Nov 14, 2006, at 9:58 AM, Florent Parent wrote:

>
> Hi,
>
> I'm writing a bundle protocol dissector for Wireshark (new name for  
> Ethereal). It's currently stable and working fine. The bundle  
> primary and payload packets are decoded and displayed in a protocol  
> tree. You will find the source code, instructions and snapshot at  
> <http://homepage.mac.com/florent.parent/dtnrg/README.html>.
>
> There are still limitations, but this is work in progress :)
>
> This will hopefully be useful to some. Comments/bug reports welcomed.
>
> Florent
>
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users



Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAKKpfY30715 for <dtn-users@mailman.dtnrg.org>; Mon, 20 Nov 2006 12:51:41 -0800
Received: from [10.212.2.167] ([12.46.129.64]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAKKpeVH015374 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 20 Nov 2006 12:51:41 -0800 (PST)
In-Reply-To: <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu> <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-2-1065108336
Message-Id: <284B81DF-D59D-4203-9816-02E07AF2D33B@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Mon, 20 Nov 2006 12:51:41 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-2-1065108336
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed


I set up a debian system using the following instructions:

http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html

At the time, that worked on my zaurus.

-m

On Nov 19, 2006, at 12:54 PM, ryan m wrote:

> make test in the oasys directory fails here:
>
> arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.   -I/ 
> opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include - 
> g -fno-inline  -MMD -MP -MT "sample-.o sample-.E sample-.po" -Wall - 
> W -Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib -L/ 
> opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -ltcl8.4  
> -ldb-4.4
> liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined  
> reference to `pthread_kill'
> liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to  
> `pthread_detach'
> liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to  
> `pthread_join'
> liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to  
> `pthread_kill'
> liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to  
> `pthread_sigmask'
> collect2: ld returned 1 exit status
> make: *** [test/sample-test] Error 1
>
> so it definatly seems like a pthread library issue, any idea how I  
> can fix this.  The libraries do indeed exsist.
>
> edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls  
> -ld *thread*
> -rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
> -rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
> -rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
> lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->  
> libpthread.so.0
> lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->  
> libpthread-0.10.so
> -rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
> lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->  
> libthread_db.so.1
> lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->  
> libthread_db-1.0.so
>
>
> EVERY zaurus specific cross compile evironment I can find (either  
> instructions on producing one or a tar of one) is gcc 2.x which as  
> we found out is unable to compile DTN2 ri.  Has anyone found a  
> suitable cross compile environment for the zaurus based off of gcc  
> 3.x?
>
> On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> Unfortunately I'm not sure if I can give you any more advice on  
> this -- again this looks like there's something wrong with the  
> build and/or the system being incompatible or unstable. You could  
> try compiling and running simpler programs with your setup to make  
> sure the basic compiler is working, then perhaps try a simple  
> multithreaded one, etc. If you run 'make tests' in the DTN2/oasys  
> directory that will build a bunch of unit tests which you could try  
> out to make sure things are working.
>
> -m
>
>
> On Nov 16, 2006, at 7:10 PM, ryan m wrote:
>
>> backtrace to follow:
>>
>> [1142331726.187026 /dtnd debug] started dtn server
>> [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
>> [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
>> [1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
>> [1142331726.188762 /dtn/apiserver/13 debug] listening
>> [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
>> [1142331726.189462 /thread debug] delaying start of thread  
>> 0x4240f8 due to barrier
>> [1142331726.189880 /thread debug] releasing thread creation  
>> barrier -- 3 queued threads
>> [1142331726.190299 /thread debug] starting thread 0x42b544
>>
>> Program received signal SIG32, Real-time event 32.
>> 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/ 
>> sysv/linux/sigsuspend.c:55
>> 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or  
>> directory.
>>         in ../sysdeps/unix/sysv/linux/sigsuspend.c
>> Current language:  auto; currently c
>> (gdb) backtrace
>> #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/ 
>> sysv/linux/sigsuspend.c:55
>> #1  0x00249ed4 in __pthread_wait_for_restart_signal  
>> (self=0x3c3620) at pthread.c:1067
>> #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,  
>> attr=0x3c3e64,
>>     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,  
>> arg=0x42b544) at restart.h:36
>> #3  0x0010949c in oasys::Thread::start (this=0x42b544) at thread/ 
>> Thread.cc:169
>> #4  0x0010912c in oasys::Thread::release_start_barrier () at  
>> thread/Thread.cc:70
>> #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,  
>> argv=0xbffffd14) at dtnd.cc:401
>> #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
>>
>>
>> as far as my cross compiler I used a generic one for arm embedded  
>> systems... I couldn't find a zaurus one that was up to date enough  
>> to compile DTN2
>>
>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>> It looks like there's something more seriously wrong with your  
>> build. If you could print out the stack trace using gdb or some  
>> such, that would be helpful, but both these errors seem to me like  
>> there's something quite messed up in your build setup, perhaps a  
>> bogus cross compiler or the wrong endianness or something like that.
>>
>> -mike
>>
>> On Nov 16, 2006, at 8:30 AM, ryan m wrote:
>>
>>> well --db-init completed so I went to run it without --init-db  
>>> and got:
>>>
>>> [1142293298.812187 /dtn/storage/globals debug] loading global store
>>> [1142293298.813051 /dtn/storage/globals debug] opening file /home/ 
>>> root/Applications/DTN_wireless/tmp/db/DTN/globals/ 
>>> 0000000aglobal_key-
>>> [1142293298.814094 /thread debug] delaying start of thread  
>>> 0x429220 due to barrier
>>> [1142293298.814538 /dtnd debug] started dtn server
>>> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
>>> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
>>> [1142293298.815706 /dtn/apiserver/12 debug] binding to  
>>> 127.0.0.1:5010
>>> [1142293298.816067 /dtn/apiserver/12 debug] listening
>>> [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
>>> [1142293298.833241 /thread debug] delaying start of thread  
>>> 0x424030 due to barrier
>>> [1142293298.839105 /thread debug] releasing thread creation  
>>> barrier -- 3 queued threads
>>> [1142293298.845033 /thread debug] starting thread 0x42ae7c
>>> [1142293298.851478 /thread debug] starting thread 0x429220
>>> [1142293298.857805 /thread debug] starting thread 0x424030
>>> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
>>> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c  
>>> 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
>>> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
>>> [1142293298.929495 /command debug] starting command server on  
>>> 127.0.0.1:5050
>>> [1142293298.937500 /command info] can't load tclreadline: can't  
>>> find package tclreadline
>>> [1142293298.938120 /command info] fall back to simple command loop
>>> collie dtn% Segmentation fault
>>>
>>> THANK YOU for your help and patience
>>>
>>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>>> Hmm... That's a strange one. You could try just using the  
>>> filesystem store by changing 'storage set type berkeleydb' to  
>>> 'storage set type filesysdb'.
>>>
>>> -m
>>>
>>>
>>> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>>>
>>>> well that got me a little farther at least... this is where it  
>>>> died this time:
>>>>
>>>> [1142289491.726722 /dtnd notice] initializing persistent data store
>>>> [1142289491.767648 /dtn/storage notice] creating new database  
>>>> directory /home/root/Applications/DTN_wireless/tmp/db
>>>> [1142289491.884849 /dtn/storage info] initializing db name=DTN  
>>>> (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
>>>> [1142289492.284995 /storage/berkeleydb error] DB internal error:  
>>>> unable to initialize mutex: Function not implemented
>>>> [1142289492.290986 /storage/berkeleydb error] DB internal error:  
>>>> PANIC: Function not implemented
>>>> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:  
>>>> Fatal error, run database recovery, cannot open database
>>>> [1142289492.316046 /dtn/storage error] can't initialize  
>>>> berkeleydb -1000
>>>> [1142289492.316369 /dtnd critical] error creating storage system
>>>> [1142289492.316683 /dtnd error] error initializing data store,  
>>>> exiting...
>>>>
>>>>
>>>>
>>>> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>>>
>>>> The only reason you could be getting that error is if the name  
>>>> lookup failed for some reason. You could try putting the IP  
>>>> address in the llink configuration and seeing if that works. If  
>>>> it does, then there must be something wrong with the host  
>>>> configuration or some other reason why the gethostbyname wrapper  
>>>> (in oasys/io/NetUtils.cc) would be failing. You could put more  
>>>> debug logging in there to trace it down further.
>>>>
>>>> -m
>>>>
>>>>
>>>> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>>>>
>>>>> so I've got a static version of dtnd compiled and on the  
>>>>> zaurus, and now I'm getting this odd behavior when I try to run
>>>>>
>>>>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>>>>
>>>>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>>>>> dtn.conf...
>>>>> [1142213113.433018 /command debug] executing command file ./ 
>>>>> dtn.conf
>>>>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>>>>> [1142213113.447671 /dtn/interface/table info] adding interface  
>>>>> tcp0 (tcp)
>>>>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>>>>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created  
>>>>> pipe, fds: 9 10
>>>>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>>>>> set_nonblocking: nonblocking mode set
>>>>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>>>>> set_nonblocking: nonblocking mode set
>>>>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
>>>>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting  
>>>>> SO_REUSEADDR
>>>>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>>>>> 0.0.0.0:5000
>>>>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>>>>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
>>>>> LISTENING
>>>>> [1142213113.462443 /thread debug] delaying start of thread  
>>>>> 0x42bb54 due to barrier
>>>>> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE  
>>>>> -> AVAILABLE
>>>>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>>>>> rcm2.cse.lehigh.edu:5000
>>>>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
>>>>> rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>>>>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address  
>>>>> ' rcm2.cse.lehigh.edu:5000 '
>>>>> [1142213113.466579 /dtn/cl/tcp error] error parsing link  
>>>>> nexthop ' rcm2.cse.lehigh.edu:5000'
>>>>> [1142213113.467679 /command error] error: line 137: 'invalid  
>>>>> link option: (unknown)':
>>>>> invalid link option: (unknown)
>>>>>     while executing
>>>>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>>>>     (file "./dtn.conf" line 137)
>>>>> [1142213113.468105 /dtnd error] error in configuration file,  
>>>>> exiting...
>>>>>
>>>>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a  
>>>>> failure in name resolution.
>>>>>
>>>>> sorry about posting the "wrong" list, I knew there was  
>>>>> discussion of making multiple lists, but I wasn't aware that it  
>>>>> had actually happened, since I don't have the time to read  
>>>>> everything that goes through dtn-interest. Thank you for the  
>>>>> help so far.
>>>>>
>>>>>
>>>>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>>>>> First of all, let me say that this discussion should be on dtn- 
>>>>> users. I don't know if ryan is on that list or not, but if  
>>>>> you're not, please in the future use that list for dtn  
>>>>> reference implementation questions, not dtn-interest.
>>>>>
>>>>> As far as building tcl statically goes, it's a bit confusing,  
>>>>> but you need to run tcl's ./configure --disable-shared to tell  
>>>>> it to build a full static libtcl8.4.a. You don't want the stub  
>>>>> library linked in.
>>>>>
>>>>> As far as your original problem goes, I suggested linking  
>>>>> statically to try to confirm that it's not a library  
>>>>> compatibility issue due to the cross compilation. I don't know  
>>>>> if this will help or not, but that's what I suggest to do first.
>>>>>
>>>>> -mike
>>>>>
>>>>>
>>>>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>>>>
>>>>>> my libtclstub is libtclstub8.4.so.a and if i try to link to it  
>>>>>> with a link name of libtclstub8.4.so.a or libtclstub8.4.so in  
>>>>>> the /usr/lib directory.  ldconfig complains it " is not an ELF  
>>>>>> file - it has the wrong magic bytes at the start" so I had to  
>>>>>> leave that link out, but I did do the other links, but dtnd  
>>>>>> crashes the same way.
>>>>>>
>>>>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>>>>> I added links in the target for the following:
>>>>>>
>>>>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>>>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>>>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>>>>
>>>>>> For some reason, it seemed like the tcl libraries wanted to be  
>>>>>> in the same directory as the pthread libraries (but I haven't  
>>>>>> confirmed that).  I just moved on as soon as things started  
>>>>>> working.
>>>>>>
>>>>>> Let me know if this helps for you...
>>>>>>
>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn- 
>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>> Sent: Monday, November 13, 2006 10:34 AM
>>>>>> To: DTNRG
>>>>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>
>>>>>> is that something I can do with a configure argument to  
>>>>>> building the tcl library (I can't find it in ./configure -- 
>>>>>> help)?, and do you think that doing a static build is the best  
>>>>>> way to fix the original issue I was having on the PDA?
>>>>>>
>>>>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>>>>> I suspect the answer is that you need a 'real' tcl library  
>>>>>> (a .a file) that can be linked statically.  I don't think  
>>>>>> shared objects (the .so tcl library you have in the arm  
>>>>>> directory) can be linked that way.
>>>>>>
>>>>>>         --keith
>>>>>>
>>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn- 
>>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>>> Sent: Monday, November 13, 2006 10:17 AM
>>>>>> To: DTNRG
>>>>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>>>>
>>>>>> when i configure with this:
>>>>>>
>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>>> libraries
>>>>>>
>>>>>> configure completes fine, but... when I do this:
>>>>>>
>>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>>> libraries
>>>>>> --enable-static
>>>>>>
>>>>>> I get:
>>>>>>
>>>>>> configure: checking for tcl installation (version 8.4 )
>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>> include... yes
>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>> ltcl8.4 -ldl
>>>>>> -lm -lpthread ... no
>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>> ltcl84 -ldl
>>>>>> -lm -lpthread ... no
>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>>> ltcl -ldl -lm
>>>>>> -lpthread ... no
>>>>>>
>>>>>> configure: checking for tcl installation (version 8.3)
>>>>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>>>>> include... no
>>>>>> configure: error: can't find usable tcl.h
>>>>>>
>>>>>> and it is there:
>>>>>>
>>>>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>>>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>>>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>>>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>>>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>>>>
>>>>>> without enable-static:
>>>>>>
>>>>>> configure: checking for tcl installation (version 8.4)
>>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>>> include... yes
>>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>>>>> ltcl8.4 -ldl
>>>>>> -lm -lpthread ... yes
>>>>>>
>>>>>>
>>>>>> Thank you for the help
>>>>>>
>>>>>>
>>>>>> Michael Demmer wrote:
>>>>>> > try statically building dtnd and see if that works.
>>>>>> >
>>>>>> > -m
>>>>>> >
>>>>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>>>>> >
>>>>>> >> So I finally had a chance to try out the DTN on the  
>>>>>> zaurus.  So I
>>>>>> >> copied over the libs that I had cross compiled, which  
>>>>>> seemed obvious
>>>>>> >> to do. Then DTN was complaining about stdc++ lib so I  
>>>>>> copied over the
>>>>>> >> libs from the lib directory of the cross compile tool  
>>>>>> chain, I figured
>>>>>> >> that if it was linking in those libs to make arm binaries  
>>>>>> the libs
>>>>>> >> themselves must be arm compatabile, is this right?  So the  
>>>>>> sum of it
>>>>>> >> is I get this when I try to run DTN:
>>>>>> >>
>>>>>> >>
>>>>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./ 
>>>>>> dtnd -l DEBUG
>>>>>> >> -c ./dtn.conf --init-db
>>>>>> >> ./dtnd: error while loading shared libraries: libstdc++.so. 
>>>>>> 5: cannot
>>>>>> >> open shared object file: No such file or directory
>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd  
>>>>>> -l DEBUG
>>>>>> >> -c ./dtn.conf --init-db
>>>>>> >> [1142218881.762749 /log debug] adding log reparse signal  
>>>>>> handler
>>>>>> >> [1142218881.929239 /timer debug] adding signal handler  
>>>>>> 0xd6c14 for
>>>>>> >> signal 1
>>>>>> >> [ 1142218881.931204 /log debug] adding log rotate signal  
>>>>>> handler
>>>>>> >> [1142218881.933055 /timer debug] adding signal handler  
>>>>>> 0xd6b9c for
>>>>>> >> signal 10
>>>>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up...  
>>>>>> (pid 1870)
>>>>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>>>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>>>>> >> Illegal instruction
>>>>>> >>
>>>>>> >> any thoughts?
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


--Apple-Mail-2-1065108336
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I set up a debian system =
using the following instructions:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><A =
href=3D"http://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html">htt=
p://www.mobilab.unina.it/Resources/crosscompilerHOWTO.html</A></DIV><DIV><=
BR class=3D"khtml-block-placeholder"></DIV><DIV>At the time, that worked =
on my zaurus.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><BR><DIV><DIV>On =
Nov 19, 2006, at 12:54 PM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">make test =
in the oasys directory fails here:<BR><BR>arm-linux-g++ =
test/sample-test.cc -o test/sample-test -I. -I.=A0=A0 =
-I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g =
-fno-inline=A0 -MMD -MP -MT "sample-.o sample-.E sample-.po" -Wall -W =
-Wcast-align=A0 -Werror=A0 -static=A0 -L/opt/arm-linux-libraries/lib =
-L/opt/arm-linux-libraries/lib -ldl -lm -lpthread=A0 liboasys.a -ltcl8.4 =
-ldb-4.4<BR>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: =
undefined reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to =
`pthread_detach'<BR>liboasys.a(Thread.o):thread/Thread.cc:210: undefined =
reference to =
`pthread_join'<BR>liboasys.a(Thread.o):thread/Thread.cc:225: undefined =
reference to `pthread_kill' =
<BR>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to =
`pthread_sigmask'<BR>collect2: ld returned 1 exit status<BR>make: *** =
[test/sample-test] Error 1<BR><BR>so it definatly seems like a pthread =
library issue, any idea how I can fix this.=A0 The libraries do indeed =
exsist. =
<BR><BR>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ =
ls -ld *thread*<BR>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <A =
href=3D"http://libpthread-0.10.so">libpthread-0.10.so</A><BR>-rw-r--r-- =
1 2619 man 1465588 2003-04-22 09:23 libpthread.a<BR>-rw-r--r-- 1 2619 =
man 1469512 2003-04-22 09:23 libpthread_p.a<BR>lrwxrwxrwx 1 2619 =
man=A0=A0=A0=A0=A0 15 2006-10-31 17:11 libpthread.so -&gt; =
libpthread.so.0<BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 18 2006-10-31 =
17:11 libpthread.so.0 -&gt; <A =
href=3D"http://libpthread-0.10.so">libpthread-0.10.so</A><BR>-rwxr-xr-x =
1 2619 man 1093631 2003-04-22 09:24 libthread_db-<A =
href=3D"http://1.0.so">1.0.so</A><BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 =
17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1 =
<BR>lrwxrwxrwx 1 2619 man=A0=A0=A0=A0=A0 19 2006-10-31 17:11 =
libthread_db.so.1 -&gt; libthread_db-<A =
href=3D"http://1.0.so">1.0.so</A><BR><BR><BR>EVERY zaurus specific cross =
compile evironment I can find (either instructions on producing one or a =
tar of one) is gcc 2.x which as we found out is unable to compile DTN2 =
ri.=A0 Has anyone found a suitable cross compile environment for the =
zaurus based off of gcc 3.x?<BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/17/06, <B class=3D"gmail_sendername"> Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV style=3D""><DIV>Unfortunately I'm not sure if I can give you =
any more advice on this -- again this looks like there's something wrong =
with the build and/or the system being incompatible or unstable. You =
could try compiling and running simpler programs with your setup to make =
sure the basic compiler is working, then perhaps try a simple =
multithreaded one, etc. If you run 'make tests' in the DTN2/oasys =
directory that will build a bunch of unit tests which you could try out =
to make sure things are working.=A0 </DIV><SPAN =
class=3D"sg"><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN class=3D"e" =
id=3D"q_10ef6e7e5f6ab0a4_2"><DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 7:10 PM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite">backtrace to follow: <BR><BR>[1142331726.187026 /dtnd =
debug] started dtn server<BR>[1142331726.187788 /dtn/apiserver/13 debug] =
created socket 13<BR>[1142331726.188106 /dtn/apiserver/13 debug] setting =
SO_REUSEADDR<BR>[1142331726.188407 /dtn/apiserver/13 debug] binding to =
<A href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</A><BR>[1142331726.1=
88762 /dtn/apiserver/13 debug] listening<BR>[1142331726.189139 =
/dtn/apiserver/13 debug] state INIT -&gt; LISTENING <BR> =
[1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due =
to barrier<BR>[1142331726.189880 /thread debug] releasing thread =
creation barrier -- 3 queued threads<BR>[1142331726.190299 /thread =
debug] starting thread 0x42b544 <BR><BR>Program received signal SIG32, =
Real-time event 32.<BR>0x002c7580 in __sigsuspend (set=3D0xbffff9b0) at =
../sysdeps/unix/sysv/linux/sigsuspend.c:55<BR>55=A0=A0=A0=A0=A0 =
../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. =
<BR>=A0=A0=A0=A0=A0=A0=A0 in =
../sysdeps/unix/sysv/linux/sigsuspend.c<BR>Current language:=A0 auto; =
currently c<BR>(gdb) backtrace<BR>#0=A0 0x002c7580 in __sigsuspend =
(set=3D0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<BR>#1=A0 =
0x00249ed4 in __pthread_wait_for_restart_signal (self=3D0x3c3620) at =
pthread.c:1067<BR>#2=A0 0x002496ac in __pthread_create_2_1 =
(thread=3D0x42b548, attr=3D0x3c3e64, <BR>=A0=A0=A0 =
start_routine=3D0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, =
arg=3D0x42b544) at restart.h:36<BR>#3=A0 0x0010949c in =
oasys::Thread::start (this=3D0x42b544) at thread/Thread.cc:169 <BR>#4=A0 =
0x0010912c in oasys::Thread::release_start_barrier () at =
thread/Thread.cc:70<BR>#5=A0 0x0000a838 in dtn::DTND::main =
(this=3D0xbffffc1c, argc=3D5, argv=3D0xbffffd14) at dtnd.cc:401<BR>#6=A0 =
0x0000aa0c in main (argc=3D5, argv=3D0xbffffd14) at =
dtnd.cc:427<BR><BR><BR>as far as my cross compiler I used a generic one =
for arm embedded systems... I couldn't find a zaurus one that was up to =
date enough to compile DTN2<BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/16/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>It looks like there's something more seriously wrong with =
your build. If you could print out the stack trace using gdb or some =
such, that would be helpful, but both these errors seem to me like =
there's something quite messed up in your build setup, perhaps a bogus =
cross compiler or the wrong endianness or something like that. =
<DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 8:30 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well =
--db-init completed so I went to run it without --init-db and got: =
<BR><BR>[1142293298.812187 /dtn/storage/globals debug] loading global =
store<BR>[1142293298.813051 /dtn/storage/globals debug] opening file =
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key=
- <BR>[1142293298.814094 /thread debug] delaying start of thread =
0x429220 due to barrier <BR>[1142293298.814538 /dtnd debug] started dtn =
server<BR>[1142293298.815085 /dtn/apiserver/12 debug] created socket =
12<BR>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR =
<BR>[1142293298.815706 /dtn/apiserver/12 debug] binding to <A =
href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</A><BR>[1142293298.8=
16067 /dtn/apiserver/12 debug] listening <BR>[1142293298.816451 =
/dtn/apiserver/12 debug] state INIT -&gt; LISTENING =
<BR>[1142293298.833241 /thread debug] delaying start of thread 0x424030 =
due to barrier<BR>[1142293298.839105 /thread debug] releasing thread =
creation barrier -- 3 queued threads <BR>[1142293298.845033 /thread =
debug] starting thread 0x42ae7c <BR>[1142293298.851478 /thread debug] =
starting thread 0x429220<BR>[1142293298.857805 /thread debug] starting =
thread 0x424030<BR>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump =
core <BR>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c =
0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc =
<BR>[1142293298.929080 /dtnd info] starting console on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</A> =
<BR>[1142293298.929495 /command debug] starting command server on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</A><BR>[1142293298.9=
37500 /command info] can't load tclreadline: can't find package =
tclreadline<BR>[1142293298.938120 /command info] fall back to simple =
command loop<BR>collie dtn% Segmentation fault<BR><BR>THANK YOU for your =
help and patience <BR> <BR><DIV><SPAN class=3D"gmail_quote">On 11/16/06, =
<B class=3D"gmail_sendername">Michael Demmer </B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV><DIV>Hmm... That's a strange one. You could try just using =
the filesystem store by changing 'storage set type =
berkeleydb'=A0to=A0'storage set type filesysdb'.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN> <DIV><SPAN> =
<DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:27 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well that got me a little =
farther at least... this is where it died this time: =
<BR><BR>[1142289491.726722 /dtnd notice] initializing persistent data =
store <BR>[1142289491.767648 /dtn/storage notice] creating new database =
directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), dir=3D/home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289492.284995 /storage/berkeleydb error] DB internal error: =
unable to initialize mutex: Function not implemented =
<BR>[1142289492.290986 /storage/berkeleydb error] DB internal error: =
PANIC: Function not implemented <BR>[1142289492.315647 /dtn/storage =
critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot =
open database <BR>[1142289492.316046 /dtn/storage error] can't =
initialize berkeleydb -1000<BR>[1142289492.316369 /dtnd critical] error =
creating storage system<BR>[1142289492.316683 /dtnd error] error =
initializing data store, exiting... <BR><BR><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/15/06, <B class=3D"gmail_sendername">Michael =
Demmer </B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV><DIV><DIV><DIV><BR></DIV><DIV>The only reason you could be =
getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further. =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 15, 2006, at 7:37 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so I've got a static version =
of dtnd compiled and on the zaurus, and now I'm getting this odd =
behavior when I try to run <BR><BR>./dtnd -l DEBUG -c ./dtn.conf =
--init-db<BR><BR>[1142213113.431028 /dtnd info] parsing configuration =
file ./dtn.conf... <BR>[1142213113.433018 /command debug] executing =
command file ./dtn.conf<BR>[1142213113.438962 /dtnd info] dtnd parsing =
configuration...<BR>[1142213113.447671 /dtn/interface/table info] adding =
interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp debug] adding =
interface tcp0<BR>[1142213113.452019 /dtn/cl/tcp/listener/notifier =
debug] created pipe, fds: 9 10 <BR>[1142213113.453889 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set <BR>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set<BR>[1142213113.458433 =
/dtn/cl/tcp/iface/tcp0 debug] created socket 11 <BR>[1142213113.460564 =
/dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR =
<BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <A =
href=3D"http://0.0.0.0:5000" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu</A> from the =
pda so it isn't a failure in name resolution.<BR><BR>sorry about posting =
the "wrong" list, I knew there was discussion of making multiple lists, =
but I wasn't aware that it had actually happened, since I don't have the =
time to read everything that goes through dtn-interest. Thank you for =
the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a and if i try to link =
to it with a link name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, =
0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2"> <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
 I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>  <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV></DIV> is that something I =
can do with a configure argument to building   the tcl library (I can't =
find it in ./configure --help)?, and do you think   that doing a static =
build is the best way to fix the original issue I was   having on the =
PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV> when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286  /dtnd notice] DTN daemon starting up... (pid 1870)   =
    <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump     =
  core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV> =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE> </DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></BODY></HTML>=

--Apple-Mail-2-1065108336--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.236]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAJKtDY18636 for <dtn-users@mailman.dtnrg.org>; Sun, 19 Nov 2006 12:55:13 -0800
Received: by wx-out-0506.google.com with SMTP id t12so1520584wxc for <dtn-users@mailman.dtnrg.org>; Sun, 19 Nov 2006 12:55:11 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=rYzdU3SQ/okNND3CwvQhpNjnhBupCqMXa3j0IY5s1l/15++tsa6YUVAoBYZz/bQy04wz+72wmR5qNIAV2Z93VrQ8RImokdJCU7bo1tqTE0XG8ZSWEcPlkaqmBwAoZr9AkV/nbPpspZN54m0MfvZu9p1eC4aAC9eyoE35x1uZlt4=
Received: by 10.70.125.11 with SMTP id x11mr2341457wxc.1163969679479; Sun, 19 Nov 2006 12:54:39 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Sun, 19 Nov 2006 12:54:39 -0800 (PST)
Message-ID: <d35f8e370611191254k313056c9jb058fa0bebb772ef@mail.gmail.com>
Date: Sun, 19 Nov 2006 15:54:39 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_63381_4846652.1163969679379"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com> <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_63381_4846652.1163969679379
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

make test in the oasys directory fails here:

arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.
-I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g
-fno-inline  -MMD -MP -MT "sample-.o sample-.E sample-.po" -Wall -W
-Wcast-align  -Werror  -static  -L/opt/arm-linux-libraries/lib
-L/opt/arm-linux-libraries/lib -ldl -lm -lpthread  liboasys.a -ltcl8.4 -
ldb-4.4
liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to
`pthread_kill'
liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to
`pthread_detach'
liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to
`pthread_join'
liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to
`pthread_kill'
liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to
`pthread_sigmask'
collect2: ld returned 1 exit status
make: *** [test/sample-test] Error 1

so it definatly seems like a pthread library issue, any idea how I can fix
this.  The libraries do indeed exsist.

edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld
*thread*
-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 libpthread-0.10.so
-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 libpthread.a
-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a
lrwxrwxrwx 1 2619 man      15 2006-10-31 17:11 libpthread.so ->
libpthread.so.0
lrwxrwxrwx 1 2619 man      18 2006-10-31 17:11 libpthread.so.0 ->
libpthread-0.10.so
-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-1.0.so
lrwxrwxrwx 1 2619 man      17 2006-10-31 17:11 libthread_db.so ->
libthread_db.so.1
lrwxrwxrwx 1 2619 man      19 2006-10-31 17:11 libthread_db.so.1 ->
libthread_db-1.0.so


EVERY zaurus specific cross compile evironment I can find (either
instructions on producing one or a tar of one) is gcc 2.x which as we found
out is unable to compile DTN2 ri.  Has anyone found a suitable cross compile
environment for the zaurus based off of gcc 3.x?

On 11/17/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> Unfortunately I'm not sure if I can give you any more advice on this --
> again this looks like there's something wrong with the build and/or the
> system being incompatible or unstable. You could try compiling and running
> simpler programs with your setup to make sure the basic compiler is working,
> then perhaps try a simple multithreaded one, etc. If you run 'make tests' in
> the DTN2/oasys directory that will build a bunch of unit tests which you
> could try out to make sure things are working.
>
> -m
>
>
> On Nov 16, 2006, at 7:10 PM, ryan m wrote:
>
> backtrace to follow:
>
> [1142331726.187026 /dtnd debug] started dtn server
> [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> [1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
> [1142331726.188762 /dtn/apiserver/13 debug] listening
> [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to
> barrier
> [1142331726.189880 /thread debug] releasing thread creation barrier -- 3
> queued threads
> [1142331726.190299 /thread debug] starting thread 0x42b544
>
> Program received signal SIG32, Real-time event 32.
> 0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or
> directory.
>         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> Current language:  auto; currently c
> (gdb) backtrace
> #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
> ../sysdeps/unix/sysv/linux/sigsuspend.c:55
> #1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at
> pthread.c:1067
> #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64,
>     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
> arg=0x42b544) at restart.h:36
> #3  0x0010949c in oasys::Thread::start (this=0x42b544) at
> thread/Thread.cc:169
> #4  0x0010912c in oasys::Thread::release_start_barrier () at
> thread/Thread.cc:70
> #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,
> argv=0xbffffd14) at dtnd.cc:401
> #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
>
>
> as far as my cross compiler I used a generic one for arm embedded
> systems... I couldn't find a zaurus one that was up to date enough to
> compile DTN2
>
> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> > It looks like there's something more seriously wrong with your build. If
> > you could print out the stack trace using gdb or some such, that would be
> > helpful, but both these errors seem to me like there's something quite
> > messed up in your build setup, perhaps a bogus cross compiler or the wrong
> > endianness or something like that.
> > -mike
> >
> > On Nov 16, 2006, at 8:30 AM, ryan m wrote:
> >
> > well --db-init completed so I went to run it without --init-db and got:
> >
> > [1142293298.812187 /dtn/storage/globals debug] loading global store
> > [1142293298.813051 /dtn/storage/globals debug] opening file
> > /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> > [1142293298.814094 /thread debug] delaying start of thread 0x429220 due
> > to barrier
> > [1142293298.814538 /dtnd debug] started dtn server
> > [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> > [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> > [1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
> > [1142293298.816067 /dtn/apiserver/12 debug] listening
> > [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
> > [1142293298.833241 /thread debug] delaying start of thread 0x424030 due
> > to barrier
> > [1142293298.839105 /thread debug] releasing thread creation barrier -- 3
> > queued threads
> > [1142293298.845033 /thread debug] starting thread 0x42ae7c
> > [1142293298.851478 /thread debug] starting thread 0x429220
> > [1142293298.857805 /thread debug] starting thread 0x424030
> > ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> > STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc
> > 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> > [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> > [1142293298.929495 /command debug] starting command server on
> > 127.0.0.1:5050
> > [1142293298.937500 /command info] can't load tclreadline: can't find
> > package tclreadline
> > [1142293298.938120 /command info] fall back to simple command loop
> > collie dtn% Segmentation fault
> >
> > THANK YOU for your help and patience
> >
> > On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
> > >
> > > Hmm... That's a strange one. You could try just using the filesystem
> > > store by changing 'storage set type berkeleydb' to 'storage set type
> > > filesysdb'.
> > >
> > > -m
> > >
> > >
> > > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> > >
> > > well that got me a little farther at least... this is where it died
> > > this time:
> > >
> > > [1142289491.726722 /dtnd notice] initializing persistent data store
> > > [1142289491.767648 /dtn/storage notice] creating new database
> > > directory /home/root/Applications/DTN_wireless/tmp/db
> > > [1142289491.884849 /dtn/storage info] initializing db name=DTN (not
> > > shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > > [1142289492.284995 /storage/berkeleydb error] DB internal error:
> > > unable to initialize mutex: Function not implemented
> > > [1142289492.290986 /storage/berkeleydb error] DB internal error:
> > > PANIC: Function not implemented
> > > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal
> > > error, run database recovery, cannot open database
> > > [1142289492.316046 /dtn/storage error] can't initialize berkeleydb
> > > -1000
> > > [1142289492.316369 /dtnd critical] error creating storage system
> > > [1142289492.316683 /dtnd error] error initializing data store,
> > > exiting...
> > >
> > >
> > >
> > > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > > >
> > > >
> > > > The only reason you could be getting that error is if the name
> > > > lookup failed for some reason. You could try putting the IP address in the
> > > > llink configuration and seeing if that works. If it does, then there must be
> > > > something wrong with the host configuration or some other reason why the
> > > > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > > > put more debug logging in there to trace it down further.
> > > >
> > > > -m
> > > >
> > > >
> > > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > > >
> > > > so I've got a static version of dtnd compiled and on the zaurus, and
> > > > now I'm getting this odd behavior when I try to run
> > > >
> > > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > > >
> > > > [1142213113.431028 /dtnd info] parsing configuration file
> > > > ./dtn.conf...
> > > > [1142213113.433018 /command debug] executing command file ./dtn.conf
> > > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > > [1142213113.447671 /dtn/interface/table info] adding interface tcp0
> > > > (tcp)
> > > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created
> > > > pipe, fds: 9 10
> > > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > > set_nonblocking: nonblocking mode set
> > > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > > set_nonblocking: nonblocking mode set
> > > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> > > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting
> > > > SO_REUSEADDR
> > > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > > 0.0.0.0:5000
> > > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->
> > > > LISTENING
> > > > [1142213113.462443 /thread debug] delaying start of thread 0x42bb54
> > > > due to barrier
> > > > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> > > > AVAILABLE
> > > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > > rcm2.cse.lehigh.edu:5000
> > > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > > > in next hop rcm2.cse.lehigh.edu:5000
> > > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' rcm2.cse.lehigh.edu:5000
> > > > '
> > > > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> > > > rcm2.cse.lehigh.edu:5000'
> > > > [1142213113.467679 /command error] error: line 137: 'invalid link
> > > > option: (unknown)':
> > > > invalid link option: (unknown)
> > > >     while executing
> > > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > > >     (file "./dtn.conf" line 137)
> > > > [1142213113.468105 /dtnd error] error in configuration file,
> > > > exiting...
> > > >
> > > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a
> > > > failure in name resolution.
> > > >
> > > > sorry about posting the "wrong" list, I knew there was discussion of
> > > > making multiple lists, but I wasn't aware that it had actually happened,
> > > > since I don't have the time to read everything that goes through
> > > > dtn-interest. Thank you for the help so far.
> > > >
> > > >
> > > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > > > >
> > > > > First of all, let me say that this discussion should be on
> > > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > > please in the future use that list for dtn reference implementation
> > > > > questions, not dtn-interest.
> > > > > As far as building tcl statically goes, it's a bit confusing, but
> > > > > you need to run tcl's ./configure --disable-shared to tell it to build a
> > > > > full static libtcl8.4.a. You don't want the stub library linked
> > > > > in.
> > > > >
> > > > > As far as your original problem goes, I suggested linking
> > > > > statically to try to confirm that it's not a library compatibility issue due
> > > > > to the cross compilation. I don't know if this will help or not, but that's
> > > > > what I suggest to do first.
> > > > >
> > > > > -mike
> > > > >
> > > > >
> > > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > > >
> > > > > my libtclstub is libtclstub8.4.so.a and if i try to link to it
> > > > > with a link name of libtclstub8.4.so.a or libtclstub8.4.so in the
> > > > > /usr/lib directory.  ldconfig complains it " is not an ELF file - it has the
> > > > > wrong magic bytes at the start" so I had to leave that link out, but I did
> > > > > do the other links, but dtnd crashes the same way.
> > > > >
> > > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > > >
> > > > > >  I added links in the target for the following:
> > > > > >
> > > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > > >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> > > > > >
> > > > > > For some reason, it seemed like the tcl libraries wanted to be
> > > > > > in the same directory as the pthread libraries (but I haven't confirmed
> > > > > > that).  I just moved on as soon as things started working.
> > > > > >
> > > > > > Let me know if this helps for you...
> > > > > >
> > > > > >  ------------------------------
> > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > > *To:* DTNRG
> > > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > > >
> > > > > >  is that something I can do with a configure argument to
> > > > > > building the tcl library (I can't find it in ./configure --help)?, and do
> > > > > > you think that doing a static build is the best way to fix the original
> > > > > > issue I was having on the PDA?
> > > > > >
> > > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > > >
> > > > > > >  I suspect the answer is that you need a 'real' tcl library (a
> > > > > > > .a file) that can be linked statically.  I don't think shared objects (the
> > > > > > > .so tcl library you have in the arm directory) can be linked that way.
> > > > > > >
> > > > > > >         --keith
> > > > > > >
> > > > > > >  ------------------------------
> > > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > > *To:* DTNRG
> > > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > > >
> > > > > > >  when i configure with this:
> > > > > > >
> > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > >
> > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > >
> > > > > > > configure completes fine, but... when I do this:
> > > > > > >
> > > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > > >
> > > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > > --enable-static
> > > > > > >
> > > > > > > I get:
> > > > > > >
> > > > > > > configure: checking for tcl installation (version 8.4 )
> > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > > ltcl8.4 -ldl
> > > > > > > -lm -lpthread ... no
> > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > -ltcl84 -ldl
> > > > > > > -lm -lpthread ... no
> > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > > -ltcl -ldl -lm
> > > > > > > -lpthread ... no
> > > > > > >
> > > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > > checking for tcl.h (version 8.3) in
> > > > > > > /opt/arm-linux-libraries/include... no
> > > > > > > configure: error: can't find usable tcl.h
> > > > > > >
> > > > > > > and it is there:
> > > > > > >
> > > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > > > > >
> > > > > > > without enable-static:
> > > > > > >
> > > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > > checking for tcl.h (version 8.4) in
> > > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > > ltcl8.4 -ldl
> > > > > > > -lm -lpthread ... yes
> > > > > > >
> > > > > > >
> > > > > > > Thank you for the help
> > > > > > >
> > > > > > >
> > > > > > > Michael Demmer wrote:
> > > > > > > > try statically building dtnd and see if that works.
> > > > > > > >
> > > > > > > > -m
> > > > > > > >
> > > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > > >
> > > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > > zaurus.  So I
> > > > > > > >> copied over the libs that I had cross compiled, which
> > > > > > > seemed obvious
> > > > > > > >> to do. Then DTN was complaining about stdc++ lib so I
> > > > > > > copied over the
> > > > > > > >> libs from the lib directory of the cross compile tool
> > > > > > > chain, I figured
> > > > > > > >> that if it was linking in those libs to make arm binaries
> > > > > > > the libs
> > > > > > > >> themselves must be arm compatabile, is this right?  So the
> > > > > > > sum of it
> > > > > > > >> is I get this when I try to run DTN:
> > > > > > > >>
> > > > > > > >>
> > > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > ./dtnd -l DEBUG
> > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > >> ./dtnd: error while loading shared libraries:
> > > > > > > libstdc++.so.5: cannot
> > > > > > > >> open shared object file: No such file or directory
> > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon#
> > > > > > > ldconfig
> > > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd
> > > > > > > -l DEBUG
> > > > > > > >> -c ./dtn.conf --init-db
> > > > > > > >> [1142218881.762749 /log debug] adding log reparse signal
> > > > > > > handler
> > > > > > > >> [1142218881.929239 /timer debug] adding signal handler
> > > > > > > 0xd6c14 for
> > > > > > > >> signal 1
> > > > > > > >> [ 1142218881.931204 /log debug] adding log rotate signal
> > > > > > > handler
> > > > > > > >> [1142218881.933055 /timer debug] adding signal handler
> > > > > > > 0xd6b9c for
> > > > > > > >> signal 10
> > > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up...
> > > > > > > (pid 1870)
> > > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > > >> Illegal instruction
> > > > > > > >>
> > > > > > > >> any thoughts?
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

------=_Part_63381_4846652.1163969679379
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

make test in the oasys directory fails here:<br><br>arm-linux-g++ test/sample-test.cc -o test/sample-test -I. -I.&nbsp;&nbsp; -I/opt/arm-linux-libraries/include -I/opt/arm-linux-libraries/include -g -fno-inline&nbsp; -MMD -MP -MT &quot;sample-.o
 sample-.E sample-.po&quot; -Wall -W -Wcast-align&nbsp; -Werror&nbsp; -static&nbsp; -L/opt/arm-linux-libraries/lib -L/opt/arm-linux-libraries/lib -ldl -lm -lpthread&nbsp; liboasys.a -ltcl8.4 -ldb-4.4<br>liboasys.a(FatalSignals.o):debug/FatalSignals.cc:113: undefined reference to `pthread_kill'
<br>liboasys.a(Thread.o):thread/Thread.cc:186: undefined reference to `pthread_detach'<br>liboasys.a(Thread.o):thread/Thread.cc:210: undefined reference to `pthread_join'<br>liboasys.a(Thread.o):thread/Thread.cc:225: undefined reference to `pthread_kill'
<br>liboasys.a(Thread.o):thread/Thread.cc:254: undefined reference to `pthread_sigmask'<br>collect2: ld returned 1 exit status<br>make: *** [test/sample-test] Error 1<br><br>so it definatly seems like a pthread library issue, any idea how I can fix this.&nbsp; The libraries do indeed exsist.
<br><br>edifyteam@runabout:/opt/arm-linux-toolchain/3.2.3/arm-linux/lib$ ls -ld *thread*<br>-rwxr-xr-x 1 2619 man 1065737 2003-04-22 09:23 <a href="http://libpthread-0.10.so">libpthread-0.10.so</a><br>-rw-r--r-- 1 2619 man 1465588 2003-04-22 09:23 
libpthread.a<br>-rw-r--r-- 1 2619 man 1469512 2003-04-22 09:23 libpthread_p.a<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 2006-10-31 17:11 libpthread.so -&gt; libpthread.so.0<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18 2006-10-31 17:11 libpthread.so.0
 -&gt; <a href="http://libpthread-0.10.so">libpthread-0.10.so</a><br>-rwxr-xr-x 1 2619 man 1093631 2003-04-22 09:24 libthread_db-<a href="http://1.0.so">1.0.so</a><br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17 2006-10-31 17:11 libthread_db.so -&gt; libthread_db.so.1
<br>lrwxrwxrwx 1 2619 man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19 2006-10-31 17:11 libthread_db.so.1 -&gt; libthread_db-<a href="http://1.0.so">1.0.so</a><br><br><br>EVERY zaurus specific cross compile evironment I can find (either instructions on producing one or a tar of one) is gcc 
2.x which as we found out is unable to compile DTN2 ri.&nbsp; Has anyone found a suitable cross compile environment for the zaurus based off of gcc 3.x?<br><br><div><span class="gmail_quote">On 11/17/06, <b class="gmail_sendername">
Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div>Unfortunately I'm not sure if I can give you any more advice on this -- again this looks like there's something wrong with the build and/or the system being incompatible or unstable. You could try compiling and running simpler programs with your setup to make sure the basic compiler is working, then perhaps try a simple multithreaded one, etc. If you run 'make tests' in the DTN2/oasys directory that will build a bunch of unit tests which you could try out to make sure things are working.&nbsp;
</div><span class="sg"><div><br></div><div>-m</div></span><div><span class="e" id="q_10ef6e7e5f6ab0a4_2"><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:10 PM, ryan m wrote:</div><br><blockquote type="cite">backtrace to follow:
<br><br>[1142331726.187026 /dtnd debug] started dtn server<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407 /dtn/apiserver/13 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING
<br> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544 
<br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at 
pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169 
<br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at 
dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2<br><br><div><span class="gmail_quote">On 11/16/06, 
<b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div>It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that. 
<div><br></div><div>-mike</div><div><span><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got: <br><br>[1142293298.812187
 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier
<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR <br>[1142293298.815706 /dtn/apiserver/12 debug] binding to 
<a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening <br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING
<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads <br>[1142293298.845033 /thread debug] starting thread 0x42ae7c
<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core <br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc 
<br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on 
<a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120
 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br> <br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp; </div><span><div><br></div><div>-m</div></span> <div><span>
<div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: <br><br>[1142289491.726722 /dtnd notice] initializing persistent data store
<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote>
</div><br></blockquote></div><br></div></span></div></div>
</blockquote></div><br>

------=_Part_63381_4846652.1163969679379--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAHHB5Y18851 for <dtn-users@mailman.dtnrg.org>; Fri, 17 Nov 2006 09:11:05 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAHHB3i6013572 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 17 Nov 2006 09:11:04 -0800 (PST)
In-Reply-To: <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu> <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-1-792671741
Message-Id: <8180A0F9-4107-40EB-807E-1403FE938554@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Fri, 17 Nov 2006 09:11:05 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1-792671741
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Unfortunately I'm not sure if I can give you any more advice on this  
-- again this looks like there's something wrong with the build and/ 
or the system being incompatible or unstable. You could try compiling  
and running simpler programs with your setup to make sure the basic  
compiler is working, then perhaps try a simple multithreaded one,  
etc. If you run 'make tests' in the DTN2/oasys directory that will  
build a bunch of unit tests which you could try out to make sure  
things are working.

-m


On Nov 16, 2006, at 7:10 PM, ryan m wrote:

> backtrace to follow:
>
> [1142331726.187026 /dtnd debug] started dtn server
> [1142331726.187788 /dtn/apiserver/13 debug] created socket 13
> [1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
> [1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
> [1142331726.188762 /dtn/apiserver/13 debug] listening
> [1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
> [1142331726.189462 /thread debug] delaying start of thread 0x4240f8  
> due to barrier
> [1142331726.189880 /thread debug] releasing thread creation barrier  
> -- 3 queued threads
> [1142331726.190299 /thread debug] starting thread 0x42b544
>
> Program received signal SIG32, Real-time event 32.
> 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/ 
> linux/sigsuspend.c:55
> 55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or  
> directory.
>         in ../sysdeps/unix/sysv/linux/sigsuspend.c
> Current language:  auto; currently c
> (gdb) backtrace
> #0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/ 
> sysv/linux/sigsuspend.c:55
> #1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620)  
> at pthread.c:1067
> #2  0x002496ac in __pthread_create_2_1 (thread=0x42b548,  
> attr=0x3c3e64,
>     start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,  
> arg=0x42b544) at restart.h:36
> #3  0x0010949c in oasys::Thread::start (this=0x42b544) at thread/ 
> Thread.cc:169
> #4  0x0010912c in oasys::Thread::release_start_barrier () at thread/ 
> Thread.cc:70
> #5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5,  
> argv=0xbffffd14) at dtnd.cc:401
> #6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427
>
>
> as far as my cross compiler I used a generic one for arm embedded  
> systems... I couldn't find a zaurus one that was up to date enough  
> to compile DTN2
>
> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> It looks like there's something more seriously wrong with your  
> build. If you could print out the stack trace using gdb or some  
> such, that would be helpful, but both these errors seem to me like  
> there's something quite messed up in your build setup, perhaps a  
> bogus cross compiler or the wrong endianness or something like that.
>
> -mike
>
> On Nov 16, 2006, at 8:30 AM, ryan m wrote:
>
>> well --db-init completed so I went to run it without --init-db and  
>> got:
>>
>> [1142293298.812187 /dtn/storage/globals debug] loading global store
>> [1142293298.813051 /dtn/storage/globals debug] opening file /home/ 
>> root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
>> [1142293298.814094 /thread debug] delaying start of thread  
>> 0x429220 due to barrier
>> [1142293298.814538 /dtnd debug] started dtn server
>> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
>> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
>> [1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
>> [1142293298.816067 /dtn/apiserver/12 debug] listening
>> [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
>> [1142293298.833241 /thread debug] delaying start of thread  
>> 0x424030 due to barrier
>> [1142293298.839105 /thread debug] releasing thread creation  
>> barrier -- 3 queued threads
>> [1142293298.845033 /thread debug] starting thread 0x42ae7c
>> [1142293298.851478 /thread debug] starting thread 0x429220
>> [1142293298.857805 /thread debug] starting thread 0x424030
>> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
>> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c  
>> 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
>> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
>> [1142293298.929495 /command debug] starting command server on  
>> 127.0.0.1:5050
>> [1142293298.937500 /command info] can't load tclreadline: can't  
>> find package tclreadline
>> [1142293298.938120 /command info] fall back to simple command loop
>> collie dtn% Segmentation fault
>>
>> THANK YOU for your help and patience
>>
>> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu > wrote:
>> Hmm... That's a strange one. You could try just using the  
>> filesystem store by changing 'storage set type berkeleydb' to  
>> 'storage set type filesysdb'.
>>
>> -m
>>
>>
>> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>>
>>> well that got me a little farther at least... this is where it  
>>> died this time:
>>>
>>> [1142289491.726722 /dtnd notice] initializing persistent data store
>>> [1142289491.767648 /dtn/storage notice] creating new database  
>>> directory /home/root/Applications/DTN_wireless/tmp/db
>>> [1142289491.884849 /dtn/storage info] initializing db name=DTN  
>>> (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
>>> [1142289492.284995 /storage/berkeleydb error] DB internal error:  
>>> unable to initialize mutex: Function not implemented
>>> [1142289492.290986 /storage/berkeleydb error] DB internal error:  
>>> PANIC: Function not implemented
>>> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:  
>>> Fatal error, run database recovery, cannot open database
>>> [1142289492.316046 /dtn/storage error] can't initialize  
>>> berkeleydb -1000
>>> [1142289492.316369 /dtnd critical] error creating storage system
>>> [1142289492.316683 /dtnd error] error initializing data store,  
>>> exiting...
>>>
>>>
>>>
>>> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>>
>>> The only reason you could be getting that error is if the name  
>>> lookup failed for some reason. You could try putting the IP  
>>> address in the llink configuration and seeing if that works. If  
>>> it does, then there must be something wrong with the host  
>>> configuration or some other reason why the gethostbyname wrapper  
>>> (in oasys/io/NetUtils.cc) would be failing. You could put more  
>>> debug logging in there to trace it down further.
>>>
>>> -m
>>>
>>>
>>> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>>>
>>>> so I've got a static version of dtnd compiled and on the zaurus,  
>>>> and now I'm getting this odd behavior when I try to run
>>>>
>>>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>>>
>>>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>>>> dtn.conf...
>>>> [1142213113.433018 /command debug] executing command file ./ 
>>>> dtn.conf
>>>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>>>> [1142213113.447671 /dtn/interface/table info] adding interface  
>>>> tcp0 (tcp)
>>>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>>>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created  
>>>> pipe, fds: 9 10
>>>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>>>> set_nonblocking: nonblocking mode set
>>>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>>>> set_nonblocking: nonblocking mode set
>>>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
>>>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting  
>>>> SO_REUSEADDR
>>>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>>>> 0.0.0.0:5000
>>>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>>>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
>>>> LISTENING
>>>> [1142213113.462443 /thread debug] delaying start of thread  
>>>> 0x42bb54 due to barrier
>>>> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE - 
>>>> > AVAILABLE
>>>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>>>> rcm2.cse.lehigh.edu:5000
>>>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
>>>> rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>>>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address '  
>>>> rcm2.cse.lehigh.edu:5000 '
>>>> [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop  
>>>> ' rcm2.cse.lehigh.edu:5000'
>>>> [1142213113.467679 /command error] error: line 137: 'invalid  
>>>> link option: (unknown)':
>>>> invalid link option: (unknown)
>>>>     while executing
>>>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>>>     (file "./dtn.conf" line 137)
>>>> [1142213113.468105 /dtnd error] error in configuration file,  
>>>> exiting...
>>>>
>>>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a  
>>>> failure in name resolution.
>>>>
>>>> sorry about posting the "wrong" list, I knew there was  
>>>> discussion of making multiple lists, but I wasn't aware that it  
>>>> had actually happened, since I don't have the time to read  
>>>> everything that goes through dtn-interest. Thank you for the  
>>>> help so far.
>>>>
>>>>
>>>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>>>> First of all, let me say that this discussion should be on dtn- 
>>>> users. I don't know if ryan is on that list or not, but if  
>>>> you're not, please in the future use that list for dtn reference  
>>>> implementation questions, not dtn-interest.
>>>>
>>>> As far as building tcl statically goes, it's a bit confusing,  
>>>> but you need to run tcl's ./configure --disable-shared to tell  
>>>> it to build a full static libtcl8.4.a. You don't want the stub  
>>>> library linked in.
>>>>
>>>> As far as your original problem goes, I suggested linking  
>>>> statically to try to confirm that it's not a library  
>>>> compatibility issue due to the cross compilation. I don't know  
>>>> if this will help or not, but that's what I suggest to do first.
>>>>
>>>> -mike
>>>>
>>>>
>>>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>>>
>>>>> my libtclstub is libtclstub8.4.so.a and if i try to link to it  
>>>>> with a link name of libtclstub8.4.so.a or libtclstub8.4.so in  
>>>>> the /usr/lib directory.  ldconfig complains it " is not an ELF  
>>>>> file - it has the wrong magic bytes at the start" so I had to  
>>>>> leave that link out, but I did do the other links, but dtnd  
>>>>> crashes the same way.
>>>>>
>>>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>>>> I added links in the target for the following:
>>>>>
>>>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>>>
>>>>> For some reason, it seemed like the tcl libraries wanted to be  
>>>>> in the same directory as the pthread libraries (but I haven't  
>>>>> confirmed that).  I just moved on as soon as things started  
>>>>> working.
>>>>>
>>>>> Let me know if this helps for you...
>>>>>
>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn-interest- 
>>>>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>> Sent: Monday, November 13, 2006 10:34 AM
>>>>> To: DTNRG
>>>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>>>
>>>>> is that something I can do with a configure argument to  
>>>>> building the tcl library (I can't find it in ./configure -- 
>>>>> help)?, and do you think that doing a static build is the best  
>>>>> way to fix the original issue I was having on the PDA?
>>>>>
>>>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>>>> I suspect the answer is that you need a 'real' tcl library  
>>>>> (a .a file) that can be linked statically.  I don't think  
>>>>> shared objects (the .so tcl library you have in the arm  
>>>>> directory) can be linked that way.
>>>>>
>>>>>         --keith
>>>>>
>>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn- 
>>>>> interest-admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>>> Sent: Monday, November 13, 2006 10:17 AM
>>>>> To: DTNRG
>>>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>>>
>>>>> when i configure with this:
>>>>>
>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>> libraries
>>>>>
>>>>> configure completes fine, but... when I do this:
>>>>>
>>>>> ./configure --build=`uname -m` --host=arm-linux
>>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>>> libraries
>>>>> --enable-static
>>>>>
>>>>> I get:
>>>>>
>>>>> configure: checking for tcl installation (version 8.4 )
>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>> include... yes
>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>> ltcl8.4 -ldl
>>>>> -lm -lpthread ... no
>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>>> ltcl84 -ldl
>>>>> -lm -lpthread ... no
>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl  
>>>>> -ldl -lm
>>>>> -lpthread ... no
>>>>>
>>>>> configure: checking for tcl installation (version 8.3)
>>>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>>>> include... no
>>>>> configure: error: can't find usable tcl.h
>>>>>
>>>>> and it is there:
>>>>>
>>>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>>>
>>>>> without enable-static:
>>>>>
>>>>> configure: checking for tcl installation (version 8.4)
>>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>>> include... yes
>>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>>>> ltcl8.4 -ldl
>>>>> -lm -lpthread ... yes
>>>>>
>>>>>
>>>>> Thank you for the help
>>>>>
>>>>>
>>>>> Michael Demmer wrote:
>>>>> > try statically building dtnd and see if that works.
>>>>> >
>>>>> > -m
>>>>> >
>>>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>>>> >
>>>>> >> So I finally had a chance to try out the DTN on the zaurus.   
>>>>> So I
>>>>> >> copied over the libs that I had cross compiled, which seemed  
>>>>> obvious
>>>>> >> to do. Then DTN was complaining about stdc++ lib so I copied  
>>>>> over the
>>>>> >> libs from the lib directory of the cross compile tool chain,  
>>>>> I figured
>>>>> >> that if it was linking in those libs to make arm binaries  
>>>>> the libs
>>>>> >> themselves must be arm compatabile, is this right?  So the  
>>>>> sum of it
>>>>> >> is I get this when I try to run DTN:
>>>>> >>
>>>>> >>
>>>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd  
>>>>> -l DEBUG
>>>>> >> -c ./dtn.conf --init-db
>>>>> >> ./dtnd: error while loading shared libraries: libstdc++.so. 
>>>>> 5: cannot
>>>>> >> open shared object file: No such file or directory
>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd - 
>>>>> l DEBUG
>>>>> >> -c ./dtn.conf --init-db
>>>>> >> [1142218881.762749 /log debug] adding log reparse signal  
>>>>> handler
>>>>> >> [1142218881.929239 /timer debug] adding signal handler  
>>>>> 0xd6c14 for
>>>>> >> signal 1
>>>>> >> [ 1142218881.931204 /log debug] adding log rotate signal  
>>>>> handler
>>>>> >> [1142218881.933055 /timer debug] adding signal handler  
>>>>> 0xd6b9c for
>>>>> >> signal 10
>>>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up...  
>>>>> (pid 1870)
>>>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>>>> >> Illegal instruction
>>>>> >>
>>>>> >> any thoughts?
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>


--Apple-Mail-1-792671741
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV>Unfortunately I'm not sure =
if I can give you any more advice on this -- again this looks like =
there's something wrong with the build and/or the system being =
incompatible or unstable. You could try compiling and running simpler =
programs with your setup to make sure the basic compiler is working, =
then perhaps try a simple multithreaded one, etc. If you run 'make =
tests' in the DTN2/oasys directory that will build a bunch of unit tests =
which you could try out to make sure things are working.=A0</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 7:10 PM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">backtrace =
to follow:<BR><BR>[1142331726.187026 /dtnd debug] started dtn =
server<BR>[1142331726.187788 /dtn/apiserver/13 debug] created socket =
13<BR>[1142331726.188106 /dtn/apiserver/13 debug] setting =
SO_REUSEADDR<BR>[1142331726.188407 /dtn/apiserver/13 debug] binding to =
<A href=3D"http://127.0.0.1:5010">127.0.0.1:5010</A><BR>[1142331726.188762=
 /dtn/apiserver/13 debug] listening<BR>[1142331726.189139 =
/dtn/apiserver/13 debug] state INIT -&gt; LISTENING<BR> =
[1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due =
to barrier<BR>[1142331726.189880 /thread debug] releasing thread =
creation barrier -- 3 queued threads<BR>[1142331726.190299 /thread =
debug] starting thread 0x42b544 <BR><BR>Program received signal SIG32, =
Real-time event 32.<BR>0x002c7580 in __sigsuspend (set=3D0xbffff9b0) at =
../sysdeps/unix/sysv/linux/sigsuspend.c:55<BR>55=A0=A0=A0=A0=A0 =
../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory. =
<BR>=A0=A0=A0=A0=A0=A0=A0 in =
../sysdeps/unix/sysv/linux/sigsuspend.c<BR>Current language:=A0 auto; =
currently c<BR>(gdb) backtrace<BR>#0=A0 0x002c7580 in __sigsuspend =
(set=3D0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<BR>#1=A0 =
0x00249ed4 in __pthread_wait_for_restart_signal (self=3D0x3c3620) at =
pthread.c:1067<BR>#2=A0 0x002496ac in __pthread_create_2_1 =
(thread=3D0x42b548, attr=3D0x3c3e64, <BR>=A0=A0=A0 =
start_routine=3D0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, =
arg=3D0x42b544) at restart.h:36<BR>#3=A0 0x0010949c in =
oasys::Thread::start (this=3D0x42b544) at thread/Thread.cc:169 <BR>#4=A0 =
0x0010912c in oasys::Thread::release_start_barrier () at =
thread/Thread.cc:70<BR>#5=A0 0x0000a838 in dtn::DTND::main =
(this=3D0xbffffc1c, argc=3D5, argv=3D0xbffffd14) at dtnd.cc:401<BR>#6=A0 =
0x0000aa0c in main (argc=3D5, argv=3D0xbffffd14) at =
dtnd.cc:427<BR><BR><BR>as far as my cross compiler I used a generic one =
for arm embedded systems... I couldn't find a zaurus one that was up to =
date enough to compile DTN2<BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/16/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV style=3D"">It looks like there's something more seriously =
wrong with your build. If you could print out the stack trace using gdb =
or some such, that would be helpful, but both these errors seem to me =
like there's something quite messed up in your build setup, perhaps a =
bogus cross compiler or the wrong endianness or something like that. =
<DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN class=3D"e" =
id=3D"q_10ef38332b5bd364_1"><DIV><BR><DIV><DIV>On Nov 16, 2006, at 8:30 =
AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well --db-init =
completed so I went to run it without --init-db and got: =
<BR><BR>[1142293298.812187 /dtn/storage/globals debug] loading global =
store<BR>[1142293298.813051 /dtn/storage/globals debug] opening file =
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key=
- <BR>[1142293298.814094 /thread debug] delaying start of thread =
0x429220 due to barrier<BR>[1142293298.814538 /dtnd debug] started dtn =
server<BR>[1142293298.815085 /dtn/apiserver/12 debug] created socket =
12<BR>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR =
<BR>[1142293298.815706 /dtn/apiserver/12 debug] binding to <A =
href=3D"http://127.0.0.1:5010" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</A><BR>[1142293298.8=
16067 /dtn/apiserver/12 debug] listening <BR>[1142293298.816451 =
/dtn/apiserver/12 debug] state INIT -&gt; =
LISTENING<BR>[1142293298.833241 /thread debug] delaying start of thread =
0x424030 due to barrier<BR>[1142293298.839105 /thread debug] releasing =
thread creation barrier -- 3 queued threads <BR>[1142293298.845033 =
/thread debug] starting thread 0x42ae7c<BR>[1142293298.851478 /thread =
debug] starting thread 0x429220<BR>[1142293298.857805 /thread debug] =
starting thread 0x424030<BR>ERROR: dtnd (pid 1896) got fatal SIGSEGV - =
will dump core <BR>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 =
0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc =
<BR>[1142293298.929080 /dtnd info] starting console on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> 127.0.0.1:5050</A> =
<BR>[1142293298.929495 /command debug] starting command server on <A =
href=3D"http://127.0.0.1:5050" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</A><BR>[1142293298.9=
37500 /command info] can't load tclreadline: can't find package =
tclreadline<BR>[1142293298.938120 /command info] fall back to simple =
command loop<BR>collie dtn% Segmentation fault<BR><BR>THANK YOU for your =
help and patience <BR> <BR><DIV><SPAN class=3D"gmail_quote">On 11/16/06, =
<B class=3D"gmail_sendername">Michael Demmer </B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV><DIV>Hmm... That's a strange one. You could try just using =
the filesystem store by changing 'storage set type =
berkeleydb'=A0to=A0'storage set type filesysdb'.=A0 =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN> =
<DIV><SPAN><DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, 2006, at 7:27 =
AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well that got me a =
little farther at least... this is where it died this time: =
<BR><BR>[1142289491.726722 /dtnd notice] initializing persistent data =
store<BR>[1142289491.767648 /dtn/storage notice] creating new database =
directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), dir=3D/home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289492.284995 /storage/berkeleydb error] DB internal error: =
unable to initialize mutex: Function not implemented =
<BR>[1142289492.290986 /storage/berkeleydb error] DB internal error: =
PANIC: Function not implemented <BR>[1142289492.315647 /dtn/storage =
critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot =
open database <BR>[1142289492.316046 /dtn/storage error] can't =
initialize berkeleydb -1000<BR>[1142289492.316369 /dtnd critical] error =
creating storage system<BR>[1142289492.316683 /dtnd error] error =
initializing data store, exiting... <BR><BR><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/15/06, <B class=3D"gmail_sendername">Michael =
Demmer </B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV><DIV><DIV><DIV><BR></DIV><DIV>The only reason you could be =
getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further. =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 15, 2006, at 7:37 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so I've got a static version =
of dtnd compiled and on the zaurus, and now I'm getting this odd =
behavior when I try to run <BR><BR>./dtnd -l DEBUG -c ./dtn.conf =
--init-db<BR><BR>[1142213113.431028 /dtnd info] parsing configuration =
file ./dtn.conf... <BR>[1142213113.433018 /command debug] executing =
command file ./dtn.conf<BR>[1142213113.438962 /dtnd info] dtnd parsing =
configuration...<BR>[1142213113.447671 /dtn/interface/table info] adding =
interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp debug] adding =
interface tcp0<BR>[1142213113.452019 /dtn/cl/tcp/listener/notifier =
debug] created pipe, fds: 9 10 <BR>[1142213113.453889 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set <BR>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set<BR>[1142213113.458433 =
/dtn/cl/tcp/iface/tcp0 debug] created socket 11 <BR>[1142213113.460564 =
/dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR =
<BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <A =
href=3D"http://0.0.0.0:5000" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu</A> from the =
pda so it isn't a failure in name resolution.<BR><BR>sorry about posting =
the "wrong" list, I knew there was discussion of making multiple lists, =
but I wasn't aware that it had actually happened, since I don't have the =
time to read everything that goes through dtn-interest. Thank you for =
the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a and if i try to link =
to it with a link name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, =
0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2"> <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
 I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>  <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV></DIV> is that something I =
can do with a configure argument to building   the tcl library (I can't =
find it in ./configure --help)?, and do you think   that doing a static =
build is the best way to fix the original issue I was   having on the =
PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV> when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286  /dtnd notice] DTN daemon starting up... (pid 1870)   =
    <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump     =
  core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV> =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>=

--Apple-Mail-1-792671741--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.236]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAH3BTY11147 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 19:11:29 -0800
Received: by wx-out-0506.google.com with SMTP id t12so797429wxc for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 19:11:28 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=lfBuBxgbZ0cI0UItGCYfKnenuEwyZ8DPIN1GLkg2ixD8vItwu1CZPCZIxjREzi8JiehcyonNiGDy30s/ClCoJoE+Yxi9Wlq4OpAbi8zUfGTdXCN0cFtBoqQkJi++j7R/+phVDZmKgbLR7Ln22dBFQ7LBJczdRhd3pWVbnwjmIG4=
Received: by 10.70.92.12 with SMTP id p12mr2098463wxb.1163733056404; Thu, 16 Nov 2006 19:10:56 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Thu, 16 Nov 2006 19:10:56 -0800 (PST)
Message-ID: <d35f8e370611161910q1e7717b1x12f439f97cd68b57@mail.gmail.com>
Date: Thu, 16 Nov 2006 22:10:56 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_38695_19276717.1163733056335"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com> <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_38695_19276717.1163733056335
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

backtrace to follow:

[1142331726.187026 /dtnd debug] started dtn server
[1142331726.187788 /dtn/apiserver/13 debug] created socket 13
[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR
[1142331726.188407 /dtn/apiserver/13 debug] binding to 127.0.0.1:5010
[1142331726.188762 /dtn/apiserver/13 debug] listening
[1142331726.189139 /dtn/apiserver/13 debug] state INIT -> LISTENING
[1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to
barrier
[1142331726.189880 /thread debug] releasing thread creation barrier -- 3
queued threads
[1142331726.190299 /thread debug] starting thread 0x42b544

Program received signal SIG32, Real-time event 32.
0x002c7580 in __sigsuspend (set=0xbffff9b0) at
../sysdeps/unix/sysv/linux/sigsuspend.c:55
55      ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory.
        in ../sysdeps/unix/sysv/linux/sigsuspend.c
Current language:  auto; currently c
(gdb) backtrace
#0  0x002c7580 in __sigsuspend (set=0xbffff9b0) at
../sysdeps/unix/sysv/linux/sigsuspend.c:55
#1  0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at
pthread.c:1067
#2  0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64,
    start_routine=0x1097f8 <oasys::Thread::pre_thread_run(void*)>,
arg=0x42b544) at restart.h:36
#3  0x0010949c in oasys::Thread::start (this=0x42b544) at
thread/Thread.cc:169
#4  0x0010912c in oasys::Thread::release_start_barrier () at
thread/Thread.cc:70
#5  0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14)
at dtnd.cc:401
#6  0x0000aa0c in main (argc=5, argv=0xbffffd14) at dtnd.cc:427


as far as my cross compiler I used a generic one for arm embedded systems...
I couldn't find a zaurus one that was up to date enough to compile DTN2

On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> It looks like there's something more seriously wrong with your build. If
> you could print out the stack trace using gdb or some such, that would be
> helpful, but both these errors seem to me like there's something quite
> messed up in your build setup, perhaps a bogus cross compiler or the wrong
> endianness or something like that.
> -mike
>
> On Nov 16, 2006, at 8:30 AM, ryan m wrote:
>
> well --db-init completed so I went to run it without --init-db and got:
>
> [1142293298.812187 /dtn/storage/globals debug] loading global store
> [1142293298.813051 /dtn/storage/globals debug] opening file
> /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> [1142293298.814094 /thread debug] delaying start of thread 0x429220 due to
> barrier
> [1142293298.814538 /dtnd debug] started dtn server
> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> [1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
> [1142293298.816067 /dtn/apiserver/12 debug] listening
> [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
> [1142293298.833241 /thread debug] delaying start of thread 0x424030 due to
> barrier
> [1142293298.839105 /thread debug] releasing thread creation barrier -- 3
> queued threads
> [1142293298.845033 /thread debug] starting thread 0x42ae7c
> [1142293298.851478 /thread debug] starting thread 0x429220
> [1142293298.857805 /thread debug] starting thread 0x424030
> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc
> 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> [1142293298.929495 /command debug] starting command server on
> 127.0.0.1:5050
> [1142293298.937500 /command info] can't load tclreadline: can't find
> package tclreadline
> [1142293298.938120 /command info] fall back to simple command loop
> collie dtn% Segmentation fault
>
> THANK YOU for your help and patience
>
> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> > Hmm... That's a strange one. You could try just using the filesystem
> > store by changing 'storage set type berkeleydb' to 'storage set type
> > filesysdb'.
> >
> > -m
> >
> >
> > On Nov 16, 2006, at 7:27 AM, ryan m wrote:
> >
> > well that got me a little farther at least... this is where it died this
> > time:
> >
> > [1142289491.726722 /dtnd notice] initializing persistent data store
> > [1142289491.767648 /dtn/storage notice] creating new database directory
> > /home/root/Applications/DTN_wireless/tmp/db
> > [1142289491.884849 /dtn/storage info] initializing db name=DTN (not
> > shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> > [1142289492.284995 /storage/berkeleydb error] DB internal error: unable
> > to initialize mutex: Function not implemented
> > [1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC:
> > Function not implemented
> > [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal
> > error, run database recovery, cannot open database
> > [1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000
> > [1142289492.316369 /dtnd critical] error creating storage system
> > [1142289492.316683 /dtnd error] error initializing data store,
> > exiting...
> >
> >
> >
> > On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> > >
> > >
> > > The only reason you could be getting that error is if the name lookup
> > > failed for some reason. You could try putting the IP address in the llink
> > > configuration and seeing if that works. If it does, then there must be
> > > something wrong with the host configuration or some other reason why the
> > > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > > put more debug logging in there to trace it down further.
> > >
> > > -m
> > >
> > >
> > > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> > >
> > > so I've got a static version of dtnd compiled and on the zaurus, and
> > > now I'm getting this odd behavior when I try to run
> > >
> > > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> > >
> > > [1142213113.431028 /dtnd info] parsing configuration file
> > > ./dtn.conf...
> > > [1142213113.433018 /command debug] executing command file ./dtn.conf
> > > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > > [1142213113.447671 /dtn/interface/table info] adding interface tcp0
> > > (tcp)
> > > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe,
> > > fds: 9 10
> > > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]
> > > set_nonblocking: nonblocking mode set
> > > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]
> > > set_nonblocking: nonblocking mode set
> > > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> > > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
> > > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to
> > > 0.0.0.0:5000
> > > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->
> > > LISTENING
> > > [1142213113.462443 /thread debug] delaying start of thread 0x42bb54
> > > due to barrier
> > > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> > > AVAILABLE
> > > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > > rcm2.cse.lehigh.edu:5000
> > > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > > in next hop rcm2.cse.lehigh.edu:5000
> > > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' rcm2.cse.lehigh.edu:5000
> > > '
> > > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> > > rcm2.cse.lehigh.edu:5000'
> > > [1142213113.467679 /command error] error: line 137: 'invalid link
> > > option: (unknown)':
> > > invalid link option: (unknown)
> > >     while executing
> > > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> > >     (file "./dtn.conf" line 137)
> > > [1142213113.468105 /dtnd error] error in configuration file,
> > > exiting...
> > >
> > > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a
> > > failure in name resolution.
> > >
> > > sorry about posting the "wrong" list, I knew there was discussion of
> > > making multiple lists, but I wasn't aware that it had actually happened,
> > > since I don't have the time to read everything that goes through
> > > dtn-interest. Thank you for the help so far.
> > >
> > >
> > > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > > >
> > > > First of all, let me say that this discussion should be on
> > > > dtn-users. I don't know if ryan is on that list or not, but if you're not,
> > > > please in the future use that list for dtn reference implementation
> > > > questions, not dtn-interest.
> > > > As far as building tcl statically goes, it's a bit confusing, but
> > > > you need to run tcl's ./configure --disable-shared to tell it to build a
> > > > full static libtcl8.4.a. You don't want the stub library linked in.
> > > >
> > > > As far as your original problem goes, I suggested linking statically
> > > > to try to confirm that it's not a library compatibility issue due to the
> > > > cross compilation. I don't know if this will help or not, but that's what I
> > > > suggest to do first.
> > > >
> > > > -mike
> > > >
> > > >
> > > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > > >
> > > > my libtclstub is libtclstub8.4.so.a and if i try to link to it with
> > > > a link name of libtclstub8.4.so.a or libtclstub8.4.so in the
> > > > /usr/lib directory.  ldconfig complains it " is not an ELF file - it has the
> > > > wrong magic bytes at the start" so I had to leave that link out, but I did
> > > > do the other links, but dtnd crashes the same way.
> > > >
> > > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > > >
> > > > >  I added links in the target for the following:
> > > > >
> > > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > > >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> > > > >
> > > > > For some reason, it seemed like the tcl libraries wanted to be in
> > > > > the same directory as the pthread libraries (but I haven't confirmed that).
> > > > > I just moved on as soon as things started working.
> > > > >
> > > > > Let me know if this helps for you...
> > > > >
> > > > >  ------------------------------
> > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > > *To:* DTNRG
> > > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > > >
> > > > >  is that something I can do with a configure argument to building
> > > > > the tcl library (I can't find it in ./configure --help)?, and do you think
> > > > > that doing a static build is the best way to fix the original issue I was
> > > > > having on the PDA?
> > > > >
> > > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > > >
> > > > > >  I suspect the answer is that you need a 'real' tcl library (a
> > > > > > .a file) that can be linked statically.  I don't think shared objects (the
> > > > > > .so tcl library you have in the arm directory) can be linked that way.
> > > > > >
> > > > > >         --keith
> > > > > >
> > > > > >  ------------------------------
> > > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > > *To:* DTNRG
> > > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > > >
> > > > > >  when i configure with this:
> > > > > >
> > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > >
> > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > >
> > > > > > configure completes fine, but... when I do this:
> > > > > >
> > > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > > >
> > > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > > --enable-static
> > > > > >
> > > > > > I get:
> > > > > >
> > > > > > configure: checking for tcl installation (version 8.4 )
> > > > > > checking for tcl.h (version 8.4) in
> > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > ltcl8.4 -ldl
> > > > > > -lm -lpthread ... no
> > > > > > checking for tcl library in /opt/arm-linux-libraries/lib:
> > > > > > -ltcl84 -ldl
> > > > > > -lm -lpthread ... no
> > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl
> > > > > > -ldl -lm
> > > > > > -lpthread ... no
> > > > > >
> > > > > > configure: checking for tcl installation (version 8.3)
> > > > > > checking for tcl.h (version 8.3) in
> > > > > > /opt/arm-linux-libraries/include... no
> > > > > > configure: error: can't find usable tcl.h
> > > > > >
> > > > > > and it is there:
> > > > > >
> > > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > > > >
> > > > > > without enable-static:
> > > > > >
> > > > > > configure: checking for tcl installation (version 8.4)
> > > > > > checking for tcl.h (version 8.4) in
> > > > > > /opt/arm-linux-libraries/include... yes
> > > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > > ltcl8.4 -ldl
> > > > > > -lm -lpthread ... yes
> > > > > >
> > > > > >
> > > > > > Thank you for the help
> > > > > >
> > > > > >
> > > > > > Michael Demmer wrote:
> > > > > > > try statically building dtnd and see if that works.
> > > > > > >
> > > > > > > -m
> > > > > > >
> > > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > > >
> > > > > > >> So I finally had a chance to try out the DTN on the
> > > > > > zaurus.  So I
> > > > > > >> copied over the libs that I had cross compiled, which seemed
> > > > > > obvious
> > > > > > >> to do. Then DTN was complaining about stdc++ lib so I copied
> > > > > > over the
> > > > > > >> libs from the lib directory of the cross compile tool chain,
> > > > > > I figured
> > > > > > >> that if it was linking in those libs to make arm binaries the
> > > > > > libs
> > > > > > >> themselves must be arm compatabile, is this right?  So the
> > > > > > sum of it
> > > > > > >> is I get this when I try to run DTN:
> > > > > > >>
> > > > > > >>
> > > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd
> > > > > > -l DEBUG
> > > > > > >> -c ./dtn.conf --init-db
> > > > > > >> ./dtnd: error while loading shared libraries: libstdc++.so.5:
> > > > > > cannot
> > > > > > >> open shared object file: No such file or directory
> > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> > > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd
> > > > > > -l DEBUG
> > > > > > >> -c ./dtn.conf --init-db
> > > > > > >> [1142218881.762749 /log debug] adding log reparse signal
> > > > > > handler
> > > > > > >> [1142218881.929239 /timer debug] adding signal handler
> > > > > > 0xd6c14 for
> > > > > > >> signal 1
> > > > > > >> [ 1142218881.931204 /log debug] adding log rotate signal
> > > > > > handler
> > > > > > >> [1142218881.933055 /timer debug] adding signal handler
> > > > > > 0xd6b9c for
> > > > > > >> signal 10
> > > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up...
> > > > > > (pid 1870)
> > > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > > >> Illegal instruction
> > > > > > >>
> > > > > > >> any thoughts?
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>

------=_Part_38695_19276717.1163733056335
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

backtrace to follow:<br><br>[1142331726.187026 /dtnd debug] started dtn server<br>[1142331726.187788 /dtn/apiserver/13 debug] created socket 13<br>[1142331726.188106 /dtn/apiserver/13 debug] setting SO_REUSEADDR<br>[1142331726.188407
 /dtn/apiserver/13 debug] binding to <a href="http://127.0.0.1:5010">127.0.0.1:5010</a><br>[1142331726.188762 /dtn/apiserver/13 debug] listening<br>[1142331726.189139 /dtn/apiserver/13 debug] state INIT -&gt; LISTENING<br>
[1142331726.189462 /thread debug] delaying start of thread 0x4240f8 due to barrier<br>[1142331726.189880 /thread debug] releasing thread creation barrier -- 3 queued threads<br>[1142331726.190299 /thread debug] starting thread 0x42b544
<br><br>Program received signal SIG32, Real-time event 32.<br>0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<br>55&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ../sysdeps/unix/sysv/linux/sigsuspend.c: No such file or directory.
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in ../sysdeps/unix/sysv/linux/sigsuspend.c<br>Current language:&nbsp; auto; currently c<br>(gdb) backtrace<br>#0&nbsp; 0x002c7580 in __sigsuspend (set=0xbffff9b0) at ../sysdeps/unix/sysv/linux/sigsuspend.c:55<br>#1&nbsp; 0x00249ed4 in __pthread_wait_for_restart_signal (self=0x3c3620) at 
pthread.c:1067<br>#2&nbsp; 0x002496ac in __pthread_create_2_1 (thread=0x42b548, attr=0x3c3e64, <br>&nbsp;&nbsp;&nbsp; start_routine=0x1097f8 &lt;oasys::Thread::pre_thread_run(void*)&gt;, arg=0x42b544) at restart.h:36<br>#3&nbsp; 0x0010949c in oasys::Thread::start (this=0x42b544) at thread/Thread.cc:169
<br>#4&nbsp; 0x0010912c in oasys::Thread::release_start_barrier () at thread/Thread.cc:70<br>#5&nbsp; 0x0000a838 in dtn::DTND::main (this=0xbffffc1c, argc=5, argv=0xbffffd14) at dtnd.cc:401<br>#6&nbsp; 0x0000aa0c in main (argc=5, argv=0xbffffd14) at 
dtnd.cc:427<br><br><br>as far as my cross compiler I used a generic one for arm embedded systems... I couldn't find a zaurus one that was up to date enough to compile DTN2<br><br><div><span class="gmail_quote">On 11/16/06, 
<b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="">It looks like there's something more seriously wrong with your build. If you could print out the stack trace using gdb or some such, that would be helpful, but both these errors seem to me like there's something quite messed up in your build setup, perhaps a bogus cross compiler or the wrong endianness or something like that.
<div><br></div><div>-mike</div><div><span class="e" id="q_10ef38332b5bd364_1"><div><br><div><div>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</div><br><blockquote type="cite">well --db-init completed so I went to run it without --init-db and got:
<br><br>[1142293298.812187 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key- <br>[1142293298.814094
 /thread debug] delaying start of thread 0x429220 due to barrier<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
<br>[1142293298.815706 /dtn/apiserver/12 debug] binding to <a href="http://127.0.0.1:5010" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening
<br>[1142293298.816451 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads 
<br>[1142293298.845033 /thread debug] starting thread 0x42ae7c<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core 
<br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc <br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
127.0.0.1:5050</a> <br>[1142293298.929495 /command debug] starting command server on <a href="http://127.0.0.1:5050" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">127.0.0.1:5050</a><br>[1142293298.937500
 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br>
<br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer </b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp;
</div><span><div><br></div><div>-m</div></span> <div><span><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time: 
<br><br>[1142289491.726722 /dtnd notice] initializing persistent data store<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db 
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented 
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer 
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div>
</blockquote></div><br>

------=_Part_38695_19276717.1163733056335--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAH1MWY10368 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 17:22:32 -0800
Received: from [10.212.2.189] ([12.46.129.68]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAH1MVII007856 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 16 Nov 2006 17:22:32 -0800 (PST)
In-Reply-To: <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu> <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-10-735759349
Message-Id: <8363D0E2-CCDE-4C22-8AA4-43519C3F9B38@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Thu, 16 Nov 2006 17:22:32 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-10-735759349
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

It looks like there's something more seriously wrong with your build.  
If you could print out the stack trace using gdb or some such, that  
would be helpful, but both these errors seem to me like there's  
something quite messed up in your build setup, perhaps a bogus cross  
compiler or the wrong endianness or something like that.

-mike

On Nov 16, 2006, at 8:30 AM, ryan m wrote:

> well --db-init completed so I went to run it without --init-db and  
> got:
>
> [1142293298.812187 /dtn/storage/globals debug] loading global store
> [1142293298.813051 /dtn/storage/globals debug] opening file /home/ 
> root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
> [1142293298.814094 /thread debug] delaying start of thread 0x429220  
> due to barrier
> [1142293298.814538 /dtnd debug] started dtn server
> [1142293298.815085 /dtn/apiserver/12 debug] created socket 12
> [1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
> [1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
> [1142293298.816067 /dtn/apiserver/12 debug] listening
> [1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
> [1142293298.833241 /thread debug] delaying start of thread 0x424030  
> due to barrier
> [1142293298.839105 /thread debug] releasing thread creation barrier  
> -- 3 queued threads
> [1142293298.845033 /thread debug] starting thread 0x42ae7c
> [1142293298.851478 /thread debug] starting thread 0x429220
> [1142293298.857805 /thread debug] starting thread 0x424030
> ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
> STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c  
> 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
> [1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
> [1142293298.929495 /command debug] starting command server on  
> 127.0.0.1:5050
> [1142293298.937500 /command info] can't load tclreadline: can't  
> find package tclreadline
> [1142293298.938120 /command info] fall back to simple command loop
> collie dtn% Segmentation fault
>
> THANK YOU for your help and patience
>
> On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> Hmm... That's a strange one. You could try just using the  
> filesystem store by changing 'storage set type berkeleydb' to  
> 'storage set type filesysdb'.
>
> -m
>
>
> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>
>> well that got me a little farther at least... this is where it  
>> died this time:
>>
>> [1142289491.726722 /dtnd notice] initializing persistent data store
>> [1142289491.767648 /dtn/storage notice] creating new database  
>> directory /home/root/Applications/DTN_wireless/tmp/db
>> [1142289491.884849 /dtn/storage info] initializing db name=DTN  
>> (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
>> [1142289492.284995 /storage/berkeleydb error] DB internal error:  
>> unable to initialize mutex: Function not implemented
>> [1142289492.290986 /storage/berkeleydb error] DB internal error:  
>> PANIC: Function not implemented
>> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY:  
>> Fatal error, run database recovery, cannot open database
>> [1142289492.316046 /dtn/storage error] can't initialize berkeleydb  
>> -1000
>> [1142289492.316369 /dtnd critical] error creating storage system
>> [1142289492.316683 /dtnd error] error initializing data store,  
>> exiting...
>>
>>
>>
>> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>>
>> The only reason you could be getting that error is if the name  
>> lookup failed for some reason. You could try putting the IP  
>> address in the llink configuration and seeing if that works. If it  
>> does, then there must be something wrong with the host  
>> configuration or some other reason why the gethostbyname wrapper  
>> (in oasys/io/NetUtils.cc) would be failing. You could put more  
>> debug logging in there to trace it down further.
>>
>> -m
>>
>>
>> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>>
>>> so I've got a static version of dtnd compiled and on the zaurus,  
>>> and now I'm getting this odd behavior when I try to run
>>>
>>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>>
>>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>>> dtn.conf...
>>> [1142213113.433018 /command debug] executing command file ./dtn.conf
>>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>>> [1142213113.447671 /dtn/interface/table info] adding interface  
>>> tcp0 (tcp)
>>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created  
>>> pipe, fds: 9 10
>>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>>> set_nonblocking: nonblocking mode set
>>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>>> set_nonblocking: nonblocking mode set
>>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
>>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting  
>>> SO_REUSEADDR
>>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>>> 0.0.0.0:5000
>>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
>>> LISTENING
>>> [1142213113.462443 /thread debug] delaying start of thread  
>>> 0x42bb54 due to barrier
>>> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE - 
>>> > AVAILABLE
>>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>>> rcm2.cse.lehigh.edu:5000
>>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
>>> rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address '  
>>> rcm2.cse.lehigh.edu:5000 '
>>> [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop  
>>> ' rcm2.cse.lehigh.edu:5000'
>>> [1142213113.467679 /command error] error: line 137: 'invalid link  
>>> option: (unknown)':
>>> invalid link option: (unknown)
>>>     while executing
>>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>>     (file "./dtn.conf" line 137)
>>> [1142213113.468105 /dtnd error] error in configuration file,  
>>> exiting...
>>>
>>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a  
>>> failure in name resolution.
>>>
>>> sorry about posting the "wrong" list, I knew there was discussion  
>>> of making multiple lists, but I wasn't aware that it had actually  
>>> happened, since I don't have the time to read everything that  
>>> goes through dtn-interest. Thank you for the help so far.
>>>
>>>
>>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>>> First of all, let me say that this discussion should be on dtn- 
>>> users. I don't know if ryan is on that list or not, but if you're  
>>> not, please in the future use that list for dtn reference  
>>> implementation questions, not dtn-interest.
>>>
>>> As far as building tcl statically goes, it's a bit confusing, but  
>>> you need to run tcl's ./configure --disable-shared to tell it to  
>>> build a full static libtcl8.4.a. You don't want the stub library  
>>> linked in.
>>>
>>> As far as your original problem goes, I suggested linking  
>>> statically to try to confirm that it's not a library  
>>> compatibility issue due to the cross compilation. I don't know if  
>>> this will help or not, but that's what I suggest to do first.
>>>
>>> -mike
>>>
>>>
>>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>>
>>>> my libtclstub is libtclstub8.4.so.a and if i try to link to it  
>>>> with a link name of libtclstub8.4.so.a or libtclstub8.4.so in  
>>>> the /usr/lib directory.  ldconfig complains it " is not an ELF  
>>>> file - it has the wrong magic bytes at the start" so I had to  
>>>> leave that link out, but I did do the other links, but dtnd  
>>>> crashes the same way.
>>>>
>>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>>> I added links in the target for the following:
>>>>
>>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>>
>>>> For some reason, it seemed like the tcl libraries wanted to be  
>>>> in the same directory as the pthread libraries (but I haven't  
>>>> confirmed that).  I just moved on as soon as things started  
>>>> working.
>>>>
>>>> Let me know if this helps for you...
>>>>
>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn-interest- 
>>>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>> Sent: Monday, November 13, 2006 10:34 AM
>>>> To: DTNRG
>>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>>
>>>> is that something I can do with a configure argument to building  
>>>> the tcl library (I can't find it in ./configure --help)?, and do  
>>>> you think that doing a static build is the best way to fix the  
>>>> original issue I was having on the PDA?
>>>>
>>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>>> I suspect the answer is that you need a 'real' tcl library (a .a  
>>>> file) that can be linked statically.  I don't think shared  
>>>> objects (the .so tcl library you have in the arm directory) can  
>>>> be linked that way.
>>>>
>>>>         --keith
>>>>
>>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn-interest- 
>>>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>>>> Sent: Monday, November 13, 2006 10:17 AM
>>>> To: DTNRG
>>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>>
>>>> when i configure with this:
>>>>
>>>> ./configure --build=`uname -m` --host=arm-linux
>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>> libraries
>>>>
>>>> configure completes fine, but... when I do this:
>>>>
>>>> ./configure --build=`uname -m` --host=arm-linux
>>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>>> libraries
>>>> --enable-static
>>>>
>>>> I get:
>>>>
>>>> configure: checking for tcl installation (version 8.4 )
>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>> include... yes
>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>> ltcl8.4 -ldl
>>>> -lm -lpthread ... no
>>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>>> ltcl84 -ldl
>>>> -lm -lpthread ... no
>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl - 
>>>> ldl -lm
>>>> -lpthread ... no
>>>>
>>>> configure: checking for tcl installation (version 8.3)
>>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>>> include... no
>>>> configure: error: can't find usable tcl.h
>>>>
>>>> and it is there:
>>>>
>>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>>
>>>> without enable-static:
>>>>
>>>> configure: checking for tcl installation (version 8.4)
>>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>>> include... yes
>>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>>> ltcl8.4 -ldl
>>>> -lm -lpthread ... yes
>>>>
>>>>
>>>> Thank you for the help
>>>>
>>>>
>>>> Michael Demmer wrote:
>>>> > try statically building dtnd and see if that works.
>>>> >
>>>> > -m
>>>> >
>>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>>> >
>>>> >> So I finally had a chance to try out the DTN on the zaurus.   
>>>> So I
>>>> >> copied over the libs that I had cross compiled, which seemed  
>>>> obvious
>>>> >> to do. Then DTN was complaining about stdc++ lib so I copied  
>>>> over the
>>>> >> libs from the lib directory of the cross compile tool chain,  
>>>> I figured
>>>> >> that if it was linking in those libs to make arm binaries the  
>>>> libs
>>>> >> themselves must be arm compatabile, is this right?  So the  
>>>> sum of it
>>>> >> is I get this when I try to run DTN:
>>>> >>
>>>> >>
>>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd - 
>>>> l DEBUG
>>>> >> -c ./dtn.conf --init-db
>>>> >> ./dtnd: error while loading shared libraries: libstdc++.so.5:  
>>>> cannot
>>>> >> open shared object file: No such file or directory
>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd - 
>>>> l DEBUG
>>>> >> -c ./dtn.conf --init-db
>>>> >> [1142218881.762749 /log debug] adding log reparse signal handler
>>>> >> [1142218881.929239 /timer debug] adding signal handler  
>>>> 0xd6c14 for
>>>> >> signal 1
>>>> >> [ 1142218881.931204 /log debug] adding log rotate signal handler
>>>> >> [1142218881.933055 /timer debug] adding signal handler  
>>>> 0xd6b9c for
>>>> >> signal 10
>>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up...  
>>>> (pid 1870)
>>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>>> >> Illegal instruction
>>>> >>
>>>> >> any thoughts?
>>>>
>>>>
>>>
>>>
>>
>>
>
>


--Apple-Mail-10-735759349
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">It looks like there's something =
more seriously wrong with your build. If you could print out the stack =
trace using gdb or some such, that would be helpful, but both these =
errors seem to me like there's something quite messed up in your build =
setup, perhaps a bogus cross compiler or the wrong endianness or =
something like that.<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-mike</DIV><DIV><BR><DIV><DIV=
>On Nov 16, 2006, at 8:30 AM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">well =
--db-init completed so I went to run it without --init-db and =
got:<BR><BR>[1142293298.812187 /dtn/storage/globals debug] loading =
global store<BR>[1142293298.813051 /dtn/storage/globals debug] opening =
file =
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key=
- <BR>[1142293298.814094 /thread debug] delaying start of thread =
0x429220 due to barrier<BR>[1142293298.814538 /dtnd debug] started dtn =
server<BR>[1142293298.815085 /dtn/apiserver/12 debug] created socket =
12<BR>[1142293298.815400 /dtn/apiserver/12 debug] setting =
SO_REUSEADDR<BR>[1142293298.815706 /dtn/apiserver/12 debug] binding to =
<A href=3D"http://127.0.0.1:5010">127.0.0.1:5010</A><BR>[1142293298.816067=
 /dtn/apiserver/12 debug] listening<BR>[1142293298.816451 =
/dtn/apiserver/12 debug] state INIT -&gt; =
LISTENING<BR>[1142293298.833241 /thread debug] delaying start of thread =
0x424030 due to barrier<BR>[1142293298.839105 /thread debug] releasing =
thread creation barrier -- 3 queued threads <BR>[1142293298.845033 =
/thread debug] starting thread 0x42ae7c<BR>[1142293298.851478 /thread =
debug] starting thread 0x429220<BR>[1142293298.857805 /thread debug] =
starting thread 0x424030<BR>ERROR: dtnd (pid 1896) got fatal SIGSEGV - =
will dump core <BR>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 =
0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc =
<BR>[1142293298.929080 /dtnd info] starting console on <A =
href=3D"http://127.0.0.1:5050">127.0.0.1:5050</A> <BR>[1142293298.929495 =
/command debug] starting command server on <A =
href=3D"http://127.0.0.1:5050">127.0.0.1:5050</A><BR>[1142293298.937500 =
/command info] can't load tclreadline: can't find package =
tclreadline<BR>[1142293298.938120 /command info] fall back to simple =
command loop<BR>collie dtn% Segmentation fault<BR><BR>THANK YOU for your =
help and patience <BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/16/06, =
<B class=3D"gmail_sendername">Michael Demmer </B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV style=3D""><DIV>Hmm... That's a strange one. You could try =
just using the filesystem store by changing 'storage set type =
berkeleydb'=A0to=A0'storage set type filesysdb'.=A0</DIV><SPAN =
class=3D"sg"><DIV><BR></DIV><DIV>-m</DIV></SPAN> <DIV><SPAN class=3D"e" =
id=3D"q_10ef18317744364d_2"><DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 7:27 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">well =
that got me a little farther at least... this is where it died this =
time: <BR><BR>[1142289491.726722 /dtnd notice] initializing persistent =
data store<BR>[1142289491.767648 /dtn/storage notice] creating new =
database directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), dir=3D/home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289492.284995 /storage/berkeleydb error] DB internal error: =
unable to initialize mutex: Function not implemented =
<BR>[1142289492.290986 /storage/berkeleydb error] DB internal error: =
PANIC: Function not implemented <BR>[1142289492.315647 /dtn/storage =
critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot =
open database <BR>[1142289492.316046 /dtn/storage error] can't =
initialize berkeleydb -1000<BR>[1142289492.316369 /dtnd critical] error =
creating storage system<BR>[1142289492.316683 /dtnd error] error =
initializing data store, exiting... <BR><BR><BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 11/15/06, <B class=3D"gmail_sendername">Michael =
Demmer </B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV><DIV><DIV><DIV><BR></DIV><DIV>The only reason you could be =
getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further. =
</DIV><SPAN><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN><DIV><BR></DIV><=
DIV><BR><DIV><DIV>On Nov 15, 2006, at 7:37 AM, ryan m =
wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so I've got a static version =
of dtnd compiled and on the zaurus, and now I'm getting this odd =
behavior when I try to run <BR><BR>./dtnd -l DEBUG -c ./dtn.conf =
--init-db<BR><BR>[1142213113.431028 /dtnd info] parsing configuration =
file ./dtn.conf... <BR>[1142213113.433018 /command debug] executing =
command file ./dtn.conf<BR>[1142213113.438962 /dtnd info] dtnd parsing =
configuration...<BR>[1142213113.447671 /dtn/interface/table info] adding =
interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp debug] adding =
interface tcp0<BR>[1142213113.452019 /dtn/cl/tcp/listener/notifier =
debug] created pipe, fds: 9 10 <BR>[1142213113.453889 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set <BR>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set<BR>[1142213113.458433 =
/dtn/cl/tcp/iface/tcp0 debug] created socket 11 <BR>[1142213113.460564 =
/dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR =
<BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <A =
href=3D"http://0.0.0.0:5000" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu</A> from the =
pda so it isn't a failure in name resolution.<BR><BR>sorry about posting =
the "wrong" list, I knew there was discussion of making multiple lists, =
but I wasn't aware that it had actually happened, since I don't have the =
time to read everything that goes through dtn-interest. Thank you for =
the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a and if i try to link =
to it with a link name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, =
0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2"> <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
 I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>  <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV></DIV> is that something I =
can do with a configure argument to building   the tcl library (I can't =
find it in ./configure --help)?, and do you think   that doing a static =
build is the best way to fix the original issue I was   having on the =
PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV> when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286  /dtnd notice] DTN daemon starting up... (pid 1870)   =
    <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump     =
  core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV> =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>=

--Apple-Mail-10-735759349--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.228]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGGWnY06225 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:32:49 -0800
Received: by wx-out-0506.google.com with SMTP id t12so623868wxc for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:32:49 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=YMnRzHEtbP296uW/29r5YdYoz9rDgiOGO2wzSRRLAcdPSTdS/X8xb+o2qr266/TGYK0dhEFKs81f4ArsfbjxvDwdGIhBPLKFjQyfu6NK5fyb/DYDy8kwYGfLFXIUkpSfh/NxfQbfoDGdzMz7/gJQAvQIhimVeg3eK/F4in+ZY7w=
Received: by 10.70.75.14 with SMTP id x14mr1092159wxa.1163694768712; Thu, 16 Nov 2006 08:32:48 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Thu, 16 Nov 2006 08:32:48 -0800 (PST)
Message-ID: <d35f8e370611160832v7ef1e4f9g76e35c29f834a914@mail.gmail.com>
Date: Thu, 16 Nov 2006 11:32:48 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_31503_5931822.1163694768637"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_31503_5931822.1163694768637
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I had a throught, when I did the static build of dtnd, i recompiled a static
version of tcl, but i didn't recompile berkelydb, but the compile of dtnd
finished fine, so I didn't think it was a problem... So should I have
recompiled berkelydb?

On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> Hmm... That's a strange one. You could try just using the filesystem store
> by changing 'storage set type berkeleydb' to 'storage set type filesysdb'.
>
> -m
>
>
> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>
> well that got me a little farther at least... this is where it died this
> time:
>
> [1142289491.726722 /dtnd notice] initializing persistent data store
> [1142289491.767648 /dtn/storage notice] creating new database directory
> /home/root/Applications/DTN_wireless/tmp/db
> [1142289491.884849 /dtn/storage info] initializing db name=DTN (not
> shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> [1142289492.284995 /storage/berkeleydb error] DB internal error: unable to
> initialize mutex: Function not implemented
> [1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC:
> Function not implemented
> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error,
> run database recovery, cannot open database
> [1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000
> [1142289492.316369 /dtnd critical] error creating storage system
> [1142289492.316683 /dtnd error] error initializing data store, exiting...
>
>
>
> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> >
> > The only reason you could be getting that error is if the name lookup
> > failed for some reason. You could try putting the IP address in the llink
> > configuration and seeing if that works. If it does, then there must be
> > something wrong with the host configuration or some other reason why the
> > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > put more debug logging in there to trace it down further.
> >
> > -m
> >
> >
> > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> >
> > so I've got a static version of dtnd compiled and on the zaurus, and now
> > I'm getting this odd behavior when I try to run
> >
> > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> >
> > [1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf...
> > [1142213113.433018 /command debug] executing command file ./dtn.conf
> > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > [1142213113.447671 /dtn/interface/table info] adding interface tcp0
> > (tcp)
> > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe,
> > fds: 9 10
> > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> > nonblocking mode set
> > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> > nonblocking mode set
> > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
> > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to 0.0.0.0:5000
> > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -> LISTENING
> >
> > [1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due
> > to barrier
> > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> > AVAILABLE
> > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > rcm2.cse.lehigh.edu:5000
> > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > in next hop rcm2.cse.lehigh.edu:5000
> > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' rcm2.cse.lehigh.edu:5000
> > '
> > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> > rcm2.cse.lehigh.edu:5000'
> > [1142213113.467679 /command error] error: line 137: 'invalid link
> > option: (unknown)':
> > invalid link option: (unknown)
> >     while executing
> > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> >     (file "./dtn.conf" line 137)
> > [1142213113.468105 /dtnd error] error in configuration file, exiting...
> >
> > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a failure
> > in name resolution.
> >
> > sorry about posting the "wrong" list, I knew there was discussion of
> > making multiple lists, but I wasn't aware that it had actually happened,
> > since I don't have the time to read everything that goes through
> > dtn-interest. Thank you for the help so far.
> >
> >
> > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > >
> > > First of all, let me say that this discussion should be on dtn-users.
> > > I don't know if ryan is on that list or not, but if you're not, please in
> > > the future use that list for dtn reference implementation questions, not
> > > dtn-interest.
> > > As far as building tcl statically goes, it's a bit confusing, but you
> > > need to run tcl's ./configure --disable-shared to tell it to build a full
> > > static libtcl8.4.a. You don't want the stub library linked in.
> > >
> > > As far as your original problem goes, I suggested linking statically
> > > to try to confirm that it's not a library compatibility issue due to the
> > > cross compilation. I don't know if this will help or not, but that's what I
> > > suggest to do first.
> > >
> > > -mike
> > >
> > >
> > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > >
> > > my libtclstub is libtclstub8.4.so.a and if i try to link to it with a
> > > link name of libtclstub8.4.so.a or libtclstub8.4.so in the /usr/lib
> > > directory.  ldconfig complains it " is not an ELF file - it has the wrong
> > > magic bytes at the start" so I had to leave that link out, but I did do the
> > > other links, but dtnd crashes the same way.
> > >
> > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > >
> > > >  I added links in the target for the following:
> > > >
> > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> > > >
> > > > For some reason, it seemed like the tcl libraries wanted to be in
> > > > the same directory as the pthread libraries (but I haven't confirmed that).
> > > > I just moved on as soon as things started working.
> > > >
> > > > Let me know if this helps for you...
> > > >
> > > >  ------------------------------
> > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > *To:* DTNRG
> > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > >
> > > >  is that something I can do with a configure argument to building
> > > > the tcl library (I can't find it in ./configure --help)?, and do you think
> > > > that doing a static build is the best way to fix the original issue I was
> > > > having on the PDA?
> > > >
> > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > >
> > > > >  I suspect the answer is that you need a 'real' tcl library (a .a
> > > > > file) that can be linked statically.  I don't think shared objects (the .so
> > > > > tcl library you have in the arm directory) can be linked that way.
> > > > >
> > > > >         --keith
> > > > >
> > > > >  ------------------------------
> > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > *To:* DTNRG
> > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > >
> > > > >  when i configure with this:
> > > > >
> > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > >
> > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > >
> > > > > configure completes fine, but... when I do this:
> > > > >
> > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > >
> > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > --enable-static
> > > > >
> > > > > I get:
> > > > >
> > > > > configure: checking for tcl installation (version 8.4 )
> > > > > checking for tcl.h (version 8.4) in
> > > > > /opt/arm-linux-libraries/include... yes
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4-ldl
> > > > > -lm -lpthread ... no
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84
> > > > > -ldl
> > > > > -lm -lpthread ... no
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl
> > > > > -ldl -lm
> > > > > -lpthread ... no
> > > > >
> > > > > configure: checking for tcl installation (version 8.3)
> > > > > checking for tcl.h (version 8.3) in
> > > > > /opt/arm-linux-libraries/include... no
> > > > > configure: error: can't find usable tcl.h
> > > > >
> > > > > and it is there:
> > > > >
> > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > > >
> > > > > without enable-static:
> > > > >
> > > > > configure: checking for tcl installation (version 8.4)
> > > > > checking for tcl.h (version 8.4) in
> > > > > /opt/arm-linux-libraries/include... yes
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > ltcl8.4 -ldl
> > > > > -lm -lpthread ... yes
> > > > >
> > > > >
> > > > > Thank you for the help
> > > > >
> > > > >
> > > > > Michael Demmer wrote:
> > > > > > try statically building dtnd and see if that works.
> > > > > >
> > > > > > -m
> > > > > >
> > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > >
> > > > > >> So I finally had a chance to try out the DTN on the zaurus.  So
> > > > > I
> > > > > >> copied over the libs that I had cross compiled, which seemed
> > > > > obvious
> > > > > >> to do. Then DTN was complaining about stdc++ lib so I copied
> > > > > over the
> > > > > >> libs from the lib directory of the cross compile tool chain, I
> > > > > figured
> > > > > >> that if it was linking in those libs to make arm binaries the
> > > > > libs
> > > > > >> themselves must be arm compatabile, is this right?  So the sum
> > > > > of it
> > > > > >> is I get this when I try to run DTN:
> > > > > >>
> > > > > >>
> > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > > DEBUG
> > > > > >> -c ./dtn.conf --init-db
> > > > > >> ./dtnd: error while loading shared libraries: libstdc++.so.5:
> > > > > cannot
> > > > > >> open shared object file: No such file or directory
> > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > > DEBUG
> > > > > >> -c ./dtn.conf --init-db
> > > > > >> [1142218881.762749 /log debug] adding log reparse signal
> > > > > handler
> > > > > >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14
> > > > > for
> > > > > >> signal 1
> > > > > >> [ 1142218881.931204 /log debug] adding log rotate signal
> > > > > handler
> > > > > >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c
> > > > > for
> > > > > >> signal 10
> > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid
> > > > > 1870)
> > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > >> Illegal instruction
> > > > > >>
> > > > > >> any thoughts?
> > > > >
> > > > >
> > > >
> > >
> > >
> >
> >
>
>

------=_Part_31503_5931822.1163694768637
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I had a throught, when I did the static build of dtnd, i recompiled a static version of tcl, but i didn't recompile berkelydb, but the compile of dtnd finished fine, so I didn't think it was a problem... So should I have recompiled berkelydb?
<br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp;</div><span class="sg"><div><br></div><div>-m</div></span>
<div><span class="e" id="q_10ef18317744364d_2"><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time:
<br><br>[1142289491.726722 /dtnd notice] initializing persistent data store<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div>
</blockquote></div><br>

------=_Part_31503_5931822.1163694768637--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.224]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGGVJY06197 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:31:19 -0800
Received: by wx-out-0506.google.com with SMTP id t12so623421wxc for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:31:18 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=HdCQNqqz9uEfIHDjLUdJRsVUZcGn61ZsaUOdrD/w0wbG9rKcjCHevijp+qHnSFduO/195Ntur6OhR3dIe95epvKJpAnM9FF/spkwYtNUWsQV2xxMr1nz0kO1vk1bG6ikWCiEL+ooTaawNRc9WM/yxmp1hpAWkzhuMET49pU5Pho=
Received: by 10.70.111.2 with SMTP id j2mr1068195wxc.1163694646213; Thu, 16 Nov 2006 08:30:46 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Thu, 16 Nov 2006 08:30:45 -0800 (PST)
Message-ID: <d35f8e370611160830w3e0fe08ci5a5004ec1d0d8142@mail.gmail.com>
Date: Thu, 16 Nov 2006 11:30:45 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
In-Reply-To: <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_31475_7634827.1163694645743"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com> <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_31475_7634827.1163694645743
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

well --db-init completed so I went to run it without --init-db and got:

[1142293298.812187 /dtn/storage/globals debug] loading global store
[1142293298.813051 /dtn/storage/globals debug] opening file
/home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to
barrier
[1142293298.814538 /dtnd debug] started dtn server
[1142293298.815085 /dtn/apiserver/12 debug] created socket 12
[1142293298.815400 /dtn/apiserver/12 debug] setting SO_REUSEADDR
[1142293298.815706 /dtn/apiserver/12 debug] binding to 127.0.0.1:5010
[1142293298.816067 /dtn/apiserver/12 debug] listening
[1142293298.816451 /dtn/apiserver/12 debug] state INIT -> LISTENING
[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to
barrier
[1142293298.839105 /thread debug] releasing thread creation barrier -- 3
queued threads
[1142293298.845033 /thread debug] starting thread 0x42ae7c
[1142293298.851478 /thread debug] starting thread 0x429220
[1142293298.857805 /thread debug] starting thread 0x424030
ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc
0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc
[1142293298.929080 /dtnd info] starting console on 127.0.0.1:5050
[1142293298.929495 /command debug] starting command server on 127.0.0.1:5050
[1142293298.937500 /command info] can't load tclreadline: can't find package
tclreadline
[1142293298.938120 /command info] fall back to simple command loop
collie dtn% Segmentation fault

THANK YOU for your help and patience

On 11/16/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> Hmm... That's a strange one. You could try just using the filesystem store
> by changing 'storage set type berkeleydb' to 'storage set type filesysdb'.
>
> -m
>
>
> On Nov 16, 2006, at 7:27 AM, ryan m wrote:
>
> well that got me a little farther at least... this is where it died this
> time:
>
> [1142289491.726722 /dtnd notice] initializing persistent data store
> [1142289491.767648 /dtn/storage notice] creating new database directory
> /home/root/Applications/DTN_wireless/tmp/db
> [1142289491.884849 /dtn/storage info] initializing db name=DTN (not
> shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> [1142289492.284995 /storage/berkeleydb error] DB internal error: unable to
> initialize mutex: Function not implemented
> [1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC:
> Function not implemented
> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error,
> run database recovery, cannot open database
> [1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000
> [1142289492.316369 /dtnd critical] error creating storage system
> [1142289492.316683 /dtnd error] error initializing data store, exiting...
>
>
>
> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> >
> > The only reason you could be getting that error is if the name lookup
> > failed for some reason. You could try putting the IP address in the llink
> > configuration and seeing if that works. If it does, then there must be
> > something wrong with the host configuration or some other reason why the
> > gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> > put more debug logging in there to trace it down further.
> >
> > -m
> >
> >
> > On Nov 15, 2006, at 7:37 AM, ryan m wrote:
> >
> > so I've got a static version of dtnd compiled and on the zaurus, and now
> > I'm getting this odd behavior when I try to run
> >
> > ./dtnd -l DEBUG -c ./dtn.conf --init-db
> >
> > [1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf...
> > [1142213113.433018 /command debug] executing command file ./dtn.conf
> > [1142213113.438962 /dtnd info] dtnd parsing configuration...
> > [1142213113.447671 /dtn/interface/table info] adding interface tcp0
> > (tcp)
> > [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> > [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe,
> > fds: 9 10
> > [1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> > nonblocking mode set
> > [1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> > nonblocking mode set
> > [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> > [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
> > [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to 0.0.0.0:5000
> > [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> > [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -> LISTENING
> >
> > [1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due
> > to barrier
> > [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> > AVAILABLE
> > [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> > rcm2.cse.lehigh.edu:5000
> > [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu '
> > in next hop rcm2.cse.lehigh.edu:5000
> > [1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' rcm2.cse.lehigh.edu:5000
> > '
> > [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> > rcm2.cse.lehigh.edu:5000'
> > [1142213113.467679 /command error] error: line 137: 'invalid link
> > option: (unknown)':
> > invalid link option: (unknown)
> >     while executing
> > "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
> >     (file "./dtn.conf" line 137)
> > [1142213113.468105 /dtnd error] error in configuration file, exiting...
> >
> > and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a failure
> > in name resolution.
> >
> > sorry about posting the "wrong" list, I knew there was discussion of
> > making multiple lists, but I wasn't aware that it had actually happened,
> > since I don't have the time to read everything that goes through
> > dtn-interest. Thank you for the help so far.
> >
> >
> > On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
> > >
> > > First of all, let me say that this discussion should be on dtn-users.
> > > I don't know if ryan is on that list or not, but if you're not, please in
> > > the future use that list for dtn reference implementation questions, not
> > > dtn-interest.
> > > As far as building tcl statically goes, it's a bit confusing, but you
> > > need to run tcl's ./configure --disable-shared to tell it to build a full
> > > static libtcl8.4.a. You don't want the stub library linked in.
> > >
> > > As far as your original problem goes, I suggested linking statically
> > > to try to confirm that it's not a library compatibility issue due to the
> > > cross compilation. I don't know if this will help or not, but that's what I
> > > suggest to do first.
> > >
> > > -mike
> > >
> > >
> > > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> > >
> > > my libtclstub is libtclstub8.4.so.a and if i try to link to it with a
> > > link name of libtclstub8.4.so.a or libtclstub8.4.so in the /usr/lib
> > > directory.  ldconfig complains it " is not an ELF file - it has the wrong
> > > magic bytes at the start" so I had to leave that link out, but I did do the
> > > other links, but dtnd crashes the same way.
> > >
> > > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > > >
> > > >  I added links in the target for the following:
> > > >
> > > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > > >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> > > >
> > > > For some reason, it seemed like the tcl libraries wanted to be in
> > > > the same directory as the pthread libraries (but I haven't confirmed that).
> > > > I just moved on as soon as things started working.
> > > >
> > > > Let me know if this helps for you...
> > > >
> > > >  ------------------------------
> > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > > *To:* DTNRG
> > > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > > >
> > > >  is that something I can do with a configure argument to building
> > > > the tcl library (I can't find it in ./configure --help)?, and do you think
> > > > that doing a static build is the best way to fix the original issue I was
> > > > having on the PDA?
> > > >
> > > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > > >
> > > > >  I suspect the answer is that you need a 'real' tcl library (a .a
> > > > > file) that can be linked statically.  I don't think shared objects (the .so
> > > > > tcl library you have in the arm directory) can be linked that way.
> > > > >
> > > > >         --keith
> > > > >
> > > > >  ------------------------------
> > > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > > *To:* DTNRG
> > > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > > >
> > > > >  when i configure with this:
> > > > >
> > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > >
> > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > >
> > > > > configure completes fine, but... when I do this:
> > > > >
> > > > > ./configure --build=`uname -m` --host=arm-linux
> > > > >
> > > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > > --enable-static
> > > > >
> > > > > I get:
> > > > >
> > > > > configure: checking for tcl installation (version 8.4 )
> > > > > checking for tcl.h (version 8.4) in
> > > > > /opt/arm-linux-libraries/include... yes
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4-ldl
> > > > > -lm -lpthread ... no
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84
> > > > > -ldl
> > > > > -lm -lpthread ... no
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl
> > > > > -ldl -lm
> > > > > -lpthread ... no
> > > > >
> > > > > configure: checking for tcl installation (version 8.3)
> > > > > checking for tcl.h (version 8.3) in
> > > > > /opt/arm-linux-libraries/include... no
> > > > > configure: error: can't find usable tcl.h
> > > > >
> > > > > and it is there:
> > > > >
> > > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > > >
> > > > > without enable-static:
> > > > >
> > > > > configure: checking for tcl installation (version 8.4)
> > > > > checking for tcl.h (version 8.4) in
> > > > > /opt/arm-linux-libraries/include... yes
> > > > > checking for tcl library in /opt/arm-linux-libraries/lib: -
> > > > > ltcl8.4 -ldl
> > > > > -lm -lpthread ... yes
> > > > >
> > > > >
> > > > > Thank you for the help
> > > > >
> > > > >
> > > > > Michael Demmer wrote:
> > > > > > try statically building dtnd and see if that works.
> > > > > >
> > > > > > -m
> > > > > >
> > > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > > >
> > > > > >> So I finally had a chance to try out the DTN on the zaurus.  So
> > > > > I
> > > > > >> copied over the libs that I had cross compiled, which seemed
> > > > > obvious
> > > > > >> to do. Then DTN was complaining about stdc++ lib so I copied
> > > > > over the
> > > > > >> libs from the lib directory of the cross compile tool chain, I
> > > > > figured
> > > > > >> that if it was linking in those libs to make arm binaries the
> > > > > libs
> > > > > >> themselves must be arm compatabile, is this right?  So the sum
> > > > > of it
> > > > > >> is I get this when I try to run DTN:
> > > > > >>
> > > > > >>
> > > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > > DEBUG
> > > > > >> -c ./dtn.conf --init-db
> > > > > >> ./dtnd: error while loading shared libraries: libstdc++.so.5:
> > > > > cannot
> > > > > >> open shared object file: No such file or directory
> > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> > > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > > DEBUG
> > > > > >> -c ./dtn.conf --init-db
> > > > > >> [1142218881.762749 /log debug] adding log reparse signal
> > > > > handler
> > > > > >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14
> > > > > for
> > > > > >> signal 1
> > > > > >> [ 1142218881.931204 /log debug] adding log rotate signal
> > > > > handler
> > > > > >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c
> > > > > for
> > > > > >> signal 10
> > > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid
> > > > > 1870)
> > > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > > >> Illegal instruction
> > > > > >>
> > > > > >> any thoughts?
> > > > >
> > > > >
> > > >
> > >
> > >
> >
> >
>
>

------=_Part_31475_7634827.1163694645743
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

well --db-init completed so I went to run it without --init-db and got:<br><br>[1142293298.812187 /dtn/storage/globals debug] loading global store<br>[1142293298.813051 /dtn/storage/globals debug] opening file /home/root/Applications/DTN_wireless/tmp/db/DTN/globals/0000000aglobal_key-
<br>[1142293298.814094 /thread debug] delaying start of thread 0x429220 due to barrier<br>[1142293298.814538 /dtnd debug] started dtn server<br>[1142293298.815085 /dtn/apiserver/12 debug] created socket 12<br>[1142293298.815400
 /dtn/apiserver/12 debug] setting SO_REUSEADDR<br>[1142293298.815706 /dtn/apiserver/12 debug] binding to <a href="http://127.0.0.1:5010">127.0.0.1:5010</a><br>[1142293298.816067 /dtn/apiserver/12 debug] listening<br>[1142293298.816451
 /dtn/apiserver/12 debug] state INIT -&gt; LISTENING<br>[1142293298.833241 /thread debug] delaying start of thread 0x424030 due to barrier<br>[1142293298.839105 /thread debug] releasing thread creation barrier -- 3 queued threads
<br>[1142293298.845033 /thread debug] starting thread 0x42ae7c<br>[1142293298.851478 /thread debug] starting thread 0x429220<br>[1142293298.857805 /thread debug] starting thread 0x424030<br>ERROR: dtnd (pid 1896) got fatal SIGSEGV - will dump core
<br>STACK TRACE: 0xca478 0x24c84c 0x17910 0x36ac0 0x8e720 0x9ad4c 0x8ecfc 0x8e148 0x29fc4 0x1099f0 0x109838 0x2478bc <br>[1142293298.929080 /dtnd info] starting console on <a href="http://127.0.0.1:5050">127.0.0.1:5050</a>
<br>[1142293298.929495 /command debug] starting command server on <a href="http://127.0.0.1:5050">127.0.0.1:5050</a><br>[1142293298.937500 /command info] can't load tclreadline: can't find package tclreadline<br>[1142293298.938120
 /command info] fall back to simple command loop<br>collie dtn% Segmentation fault<br><br>THANK YOU for your help and patience <br><br><div><span class="gmail_quote">On 11/16/06, <b class="gmail_sendername">Michael Demmer
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div>Hmm... That's a strange one. You could try just using the filesystem store by changing 'storage set type berkeleydb'&nbsp;to&nbsp;'storage set type filesysdb'.&nbsp;</div><span class="sg"><div><br></div><div>-m</div></span>
<div><span class="e" id="q_10ef18317744364d_2"><div><br></div><div><br><div><div>On Nov 16, 2006, at 7:27 AM, ryan m wrote:</div><br><blockquote type="cite">well that got me a little farther at least... this is where it died this time:
<br><br>[1142289491.726722 /dtnd notice] initializing persistent data store<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db <br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db
<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented <br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented
<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database <br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369
 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting... <br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer
</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 <div><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further. 
</div><span><div><br></div><div>-m</div></span><div><span><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run 
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11 
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier 
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu 
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address ' 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far. 
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu 
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
 libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
 when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this: 
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
 -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help 
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I 
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured 
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN: 
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
 <br></blockquote></div><br></div></span></div></div></div></div> </blockquote></div><br></blockquote></div><br></div></span></div></div>
</blockquote></div><br>

------=_Part_31475_7634827.1163694645743--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGG3EY05941 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:03:14 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAGG3B2t027355 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 16 Nov 2006 08:03:12 -0800 (PST)
In-Reply-To: <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu> <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-3-702200778
Message-Id: <561A0747-A239-4E5D-92B6-0E7D79F02ACA@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Thu, 16 Nov 2006 08:03:14 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-3-702200778
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Hmm... That's a strange one. You could try just using the filesystem  
store by changing 'storage set type berkeleydb' to 'storage set type  
filesysdb'.

-m


On Nov 16, 2006, at 7:27 AM, ryan m wrote:

> well that got me a little farther at least... this is where it died  
> this time:
>
> [1142289491.726722 /dtnd notice] initializing persistent data store
> [1142289491.767648 /dtn/storage notice] creating new database  
> directory /home/root/Applications/DTN_wireless/tmp/db
> [1142289491.884849 /dtn/storage info] initializing db name=DTN (not  
> shared), dir=/home/root/Applications/DTN_wireless/tmp/db
> [1142289492.284995 /storage/berkeleydb error] DB internal error:  
> unable to initialize mutex: Function not implemented
> [1142289492.290986 /storage/berkeleydb error] DB internal error:  
> PANIC: Function not implemented
> [1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal  
> error, run database recovery, cannot open database
> [1142289492.316046 /dtn/storage error] can't initialize berkeleydb  
> -1000
> [1142289492.316369 /dtnd critical] error creating storage system
> [1142289492.316683 /dtnd error] error initializing data store,  
> exiting...
>
>
>
> On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> The only reason you could be getting that error is if the name  
> lookup failed for some reason. You could try putting the IP address  
> in the llink configuration and seeing if that works. If it does,  
> then there must be something wrong with the host configuration or  
> some other reason why the gethostbyname wrapper (in oasys/io/ 
> NetUtils.cc) would be failing. You could put more debug logging in  
> there to trace it down further.
>
> -m
>
>
> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>
>> so I've got a static version of dtnd compiled and on the zaurus,  
>> and now I'm getting this odd behavior when I try to run
>>
>> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>>
>> [1142213113.431028 /dtnd info] parsing configuration file ./ 
>> dtn.conf...
>> [1142213113.433018 /command debug] executing command file ./dtn.conf
>> [1142213113.438962 /dtnd info] dtnd parsing configuration...
>> [1142213113.447671 /dtn/interface/table info] adding interface  
>> tcp0 (tcp)
>> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
>> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created  
>> pipe, fds: 9 10
>> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
>> set_nonblocking: nonblocking mode set
>> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
>> set_nonblocking: nonblocking mode set
>> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
>> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
>> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
>> 0.0.0.0:5000
>> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
>> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
>> LISTENING
>> [1142213113.462443 /thread debug] delaying start of thread  
>> 0x42bb54 due to barrier
>> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->  
>> AVAILABLE
>> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
>> rcm2.cse.lehigh.edu:5000
>> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
>> rcm2.cse.lehigh.edu ' in next hop rcm2.cse.lehigh.edu:5000
>> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address '  
>> rcm2.cse.lehigh.edu:5000 '
>> [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '  
>> rcm2.cse.lehigh.edu:5000'
>> [1142213113.467679 /command error] error: line 137: 'invalid link  
>> option: (unknown)':
>> invalid link option: (unknown)
>>     while executing
>> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>>     (file "./dtn.conf" line 137)
>> [1142213113.468105 /dtnd error] error in configuration file,  
>> exiting...
>>
>> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a  
>> failure in name resolution.
>>
>> sorry about posting the "wrong" list, I knew there was discussion  
>> of making multiple lists, but I wasn't aware that it had actually  
>> happened, since I don't have the time to read everything that goes  
>> through dtn-interest. Thank you for the help so far.
>>
>>
>> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu > wrote:
>> First of all, let me say that this discussion should be on dtn- 
>> users. I don't know if ryan is on that list or not, but if you're  
>> not, please in the future use that list for dtn reference  
>> implementation questions, not dtn-interest.
>>
>> As far as building tcl statically goes, it's a bit confusing, but  
>> you need to run tcl's ./configure --disable-shared to tell it to  
>> build a full static libtcl8.4.a. You don't want the stub library  
>> linked in.
>>
>> As far as your original problem goes, I suggested linking  
>> statically to try to confirm that it's not a library compatibility  
>> issue due to the cross compilation. I don't know if this will help  
>> or not, but that's what I suggest to do first.
>>
>> -mike
>>
>>
>> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>>
>>> my libtclstub is libtclstub8.4.so.a and if i try to link to it  
>>> with a link name of libtclstub8.4.so.a or libtclstub8.4.so in  
>>> the /usr/lib directory.  ldconfig complains it " is not an ELF  
>>> file - it has the wrong magic bytes at the start" so I had to  
>>> leave that link out, but I did do the other links, but dtnd  
>>> crashes the same way.
>>>
>>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>>> I added links in the target for the following:
>>>
>>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>>
>>> For some reason, it seemed like the tcl libraries wanted to be in  
>>> the same directory as the pthread libraries (but I haven't  
>>> confirmed that).  I just moved on as soon as things started working.
>>>
>>> Let me know if this helps for you...
>>>
>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn-interest- 
>>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>>> Sent: Monday, November 13, 2006 10:34 AM
>>> To: DTNRG
>>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>>
>>> is that something I can do with a configure argument to building  
>>> the tcl library (I can't find it in ./configure --help)?, and do  
>>> you think that doing a static build is the best way to fix the  
>>> original issue I was having on the PDA?
>>>
>>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>>> I suspect the answer is that you need a 'real' tcl library (a .a  
>>> file) that can be linked statically.  I don't think shared  
>>> objects (the .so tcl library you have in the arm directory) can  
>>> be linked that way.
>>>
>>>         --keith
>>>
>>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn-interest- 
>>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>>> Sent: Monday, November 13, 2006 10:17 AM
>>> To: DTNRG
>>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>>
>>> when i configure with this:
>>>
>>> ./configure --build=`uname -m` --host=arm-linux
>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>> libraries
>>>
>>> configure completes fine, but... when I do this:
>>>
>>> ./configure --build=`uname -m` --host=arm-linux
>>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>>> libraries
>>> --enable-static
>>>
>>> I get:
>>>
>>> configure: checking for tcl installation (version 8.4 )
>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>> include... yes
>>> checking for tcl library in /opt/arm-linux-libraries/lib: - 
>>> ltcl8.4 -ldl
>>> -lm -lpthread ... no
>>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84  
>>> -ldl
>>> -lm -lpthread ... no
>>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl - 
>>> ldl -lm
>>> -lpthread ... no
>>>
>>> configure: checking for tcl installation (version 8.3)
>>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>>> include... no
>>> configure: error: can't find usable tcl.h
>>>
>>> and it is there:
>>>
>>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>>
>>> without enable-static:
>>>
>>> configure: checking for tcl installation (version 8.4)
>>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>>> include... yes
>>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>>> ltcl8.4 -ldl
>>> -lm -lpthread ... yes
>>>
>>>
>>> Thank you for the help
>>>
>>>
>>> Michael Demmer wrote:
>>> > try statically building dtnd and see if that works.
>>> >
>>> > -m
>>> >
>>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>>> >
>>> >> So I finally had a chance to try out the DTN on the zaurus.  So I
>>> >> copied over the libs that I had cross compiled, which seemed  
>>> obvious
>>> >> to do. Then DTN was complaining about stdc++ lib so I copied  
>>> over the
>>> >> libs from the lib directory of the cross compile tool chain, I  
>>> figured
>>> >> that if it was linking in those libs to make arm binaries the  
>>> libs
>>> >> themselves must be arm compatabile, is this right?  So the sum  
>>> of it
>>> >> is I get this when I try to run DTN:
>>> >>
>>> >>
>>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd - 
>>> l DEBUG
>>> >> -c ./dtn.conf --init-db
>>> >> ./dtnd: error while loading shared libraries: libstdc++.so.5:  
>>> cannot
>>> >> open shared object file: No such file or directory
>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l  
>>> DEBUG
>>> >> -c ./dtn.conf --init-db
>>> >> [1142218881.762749 /log debug] adding log reparse signal handler
>>> >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14  
>>> for
>>> >> signal 1
>>> >> [ 1142218881.931204 /log debug] adding log rotate signal handler
>>> >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c  
>>> for
>>> >> signal 10
>>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up...  
>>> (pid 1870)
>>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>>> >> Illegal instruction
>>> >>
>>> >> any thoughts?
>>>
>>>
>>
>>
>
>


--Apple-Mail-3-702200778
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV>Hmm... That's a strange =
one. You could try just using the filesystem store by changing 'storage =
set type berkeleydb'=A0to=A0'storage set type filesysdb'.=A0</DIV><DIV><BR=
 class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 16, =
2006, at 7:27 AM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">well that =
got me a little farther at least... this is where it died this =
time:<BR><BR>[1142289491.726722 /dtnd notice] initializing persistent =
data store<BR>[1142289491.767648 /dtn/storage notice] creating new =
database directory /home/root/Applications/DTN_wireless/tmp/db =
<BR>[1142289491.884849 /dtn/storage info] initializing db name=3DDTN =
(not shared), =
dir=3D/home/root/Applications/DTN_wireless/tmp/db<BR>[1142289492.284995 =
/storage/berkeleydb error] DB internal error: unable to initialize =
mutex: Function not implemented <BR>[1142289492.290986 =
/storage/berkeleydb error] DB internal error: PANIC: Function not =
implemented<BR>[1142289492.315647 /dtn/storage critical] DB: =
DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database =
<BR>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb =
-1000<BR>[1142289492.316369 /dtnd critical] error creating storage =
system<BR>[1142289492.316683 /dtnd error] error initializing data store, =
exiting... <BR><BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/15/06, =
<B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV style=3D""><DIV><DIV><DIV><BR></DIV><DIV>The only reason you =
could be getting that error is if the name lookup failed for some =
reason. You could try putting the IP address in the llink configuration =
and seeing if that works. If it does, then there must be something wrong =
with the host configuration or some other reason why the gethostbyname =
wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more =
debug logging in there to trace it down further. </DIV><SPAN =
class=3D"sg"><DIV><BR></DIV><DIV>-m</DIV></SPAN><DIV><SPAN class=3D"e" =
id=3D"q_10eed6312fceb047_2"><DIV><BR></DIV><DIV><BR><DIV><DIV>On Nov 15, =
2006, at 7:37 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE type=3D"cite">so =
I've got a static version of dtnd compiled and on the zaurus, and now =
I'm getting this odd behavior when I try to run <BR><BR>./dtnd -l DEBUG =
-c ./dtn.conf --init-db<BR><BR>[1142213113.431028 /dtnd info] parsing =
configuration file ./dtn.conf... <BR>[1142213113.433018 /command debug] =
executing command file ./dtn.conf<BR>[1142213113.438962 /dtnd info] dtnd =
parsing configuration...<BR>[1142213113.447671 /dtn/interface/table =
info] adding interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp =
debug] adding interface tcp0<BR>[1142213113.452019 =
/dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10 =
<BR>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set <BR>[1142213113.456037 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set<BR>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket =
11 <BR>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting =
SO_REUSEADDR <BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] =
binding to <A href=3D"http://0.0.0.0:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
0.0.0.0:5000</A><BR>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] =
listening <BR>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state =
INIT -&gt; LISTENING <BR>[1142213113.462443 /thread debug] delaying =
start of thread 0x42bb54 due to barrier <BR>[1142213113.464152 =
/dtn/link/link1 debug] set_state UNAVAILABLE -&gt; =
AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link =
<A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.465856 /dtn/cl/iputils =
warning] invalid hostname '<A href=3D"http://rcm2.cse.lehigh.edu" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu </A>' in =
next hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A>'<BR>[1142213113.467679 /command error] =
error: line 137: 'invalid link option: (unknown)': <BR>invalid link =
option: (unknown)<BR>=A0=A0=A0 while executing<BR> "link add link1 <A =
href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A> ONDEMAND tcp"<BR>=A0=A0=A0 (file =
"./dtn.conf" line 137) <BR>[1142213113.468105 /dtnd error] error in =
configuration file, exiting... <BR><BR>and i can ssh to <A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu</A> from the =
pda so it isn't a failure in name resolution.<BR><BR>sorry about posting =
the "wrong" list, I knew there was discussion of making multiple lists, =
but I wasn't aware that it had actually happened, since I don't have the =
time to read everything that goes through dtn-interest. Thank you for =
the help so far. <BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu </A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a and if i try to link =
to it with a link name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, =
0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2"> <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
 I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>  <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV></DIV> is that something I =
can do with a configure argument to building   the tcl library (I can't =
find it in ./configure --help)?, and do you think   that doing a static =
build is the best way to fix the original issue I was   having on the =
PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV> when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this: <BR><BR>./configure --build=3D`uname       -m`    =
   --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the help =
<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically building =
dtnd and see if that       works.<BR>&gt;<BR>&gt; -m<BR>&gt;<BR>&gt; On =
Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <BR>&gt; =
<BR>&gt;&gt; So I finally had a chance to try       out the DTN on the =
zaurus.=A0=A0So I <BR>&gt;&gt; copied over the       libs that I had =
cross compiled, which seemed obvious<BR>&gt;&gt; to do.       Then DTN =
was complaining about stdc++ lib so I copied over the       <BR>&gt;&gt; =
libs from the lib directory of the cross compile tool chain,       I =
figured <BR>&gt;&gt; that if it was linking in those libs to make arm    =
   binaries the libs<BR>&gt;&gt; themselves must be arm compatabile, is =
this       right?=A0=A0So the sum of it <BR>&gt;&gt; is I get this when =
I try       to run       DTN: =
<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/DTN_w=
ireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286  /dtnd notice] DTN daemon starting up... (pid 1870)   =
    <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump     =
  core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV> =
<BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>=

--Apple-Mail-3-702200778--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGG1hY05899 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 08:01:43 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAGG091t027309 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 16 Nov 2006 08:01:42 -0800 (PST)
In-Reply-To: <f0d10dd60611160711tddd788al11e7de5414bcbd5@mail.gmail.com>
References: <f0d10dd60611150634p40b32bf3nb0d94de0c3835f23@mail.gmail.com> <B81B2646-852E-444E-831D-A07E49B8B7A2@cs.berkeley.edu> <f0d10dd60611160711tddd788al11e7de5414bcbd5@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <2372CB8C-1C8C-4A1D-A92C-A9A469DFB144@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] DTN using 2 NIC cards, Identification of which link has the bundle come on
X-Applemailsentby: demmer
Date: Thu, 16 Nov 2006 08:01:49 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

StreamConvergenceLayer.cc:1142 -- that's the base class used by the  
TCPCL and the Bluetooth CL.

On Nov 16, 2006, at 7:11 AM, Zahir Koradia wrote:

> Hi Mike,
> I saw that the BundleReceivedEvent class has a field for Contact  
> but none of the convergence layers provide the contact while  
> creating a new BundleReceivedEvent effectively the field remains  
> NULL. I have checked this in the latest cvs code. Please let me  
> know if I am looking in the wrong place.
>
> Thanks,
> Zahir



Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.235]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGFR9Y05672 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 07:27:10 -0800
Received: by wx-out-0506.google.com with SMTP id t12so603669wxc for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 07:27:08 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=dY1SleG6336+/17JvQHY8WYVGTDjoxJphoJ8p9gjwduvah53ccwBTGVEylF2zQ5Tu46gx8oT3ngVHEaenALZA6oyTM9jwFq02IdFFByRAH8X1qsqNp9V3MiYEIssqNokt40JVLU7+rUoDg1FFR6cCi9hOBAp5bQ3l4EyPpGRXDo=
Received: by 10.70.29.7 with SMTP id c7mr950067wxc.1163690828277; Thu, 16 Nov 2006 07:27:08 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Thu, 16 Nov 2006 07:27:07 -0800 (PST)
Message-ID: <d35f8e370611160727j1ff8d9e8gaa5628f3a2a0b2cd@mail.gmail.com>
Date: Thu, 16 Nov 2006 10:27:07 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
Cc: mcchuah@gmail.com
In-Reply-To: <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_30718_12469718.1163690827968"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com> <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_30718_12469718.1163690827968
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

well that got me a little farther at least... this is where it died this
time:

[1142289491.726722 /dtnd notice] initializing persistent data store
[1142289491.767648 /dtn/storage notice] creating new database directory
/home/root/Applications/DTN_wireless/tmp/db
[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared),
dir=/home/root/Applications/DTN_wireless/tmp/db
[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to
initialize mutex: Function not implemented
[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC:
Function not implemented
[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error,
run database recovery, cannot open database
[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000
[1142289492.316369 /dtnd critical] error creating storage system
[1142289492.316683 /dtnd error] error initializing data store, exiting...



On 11/15/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
>
> The only reason you could be getting that error is if the name lookup
> failed for some reason. You could try putting the IP address in the llink
> configuration and seeing if that works. If it does, then there must be
> something wrong with the host configuration or some other reason why the
> gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could
> put more debug logging in there to trace it down further.
>
> -m
>
>
> On Nov 15, 2006, at 7:37 AM, ryan m wrote:
>
> so I've got a static version of dtnd compiled and on the zaurus, and now
> I'm getting this odd behavior when I try to run
>
> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>
> [1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf...
> [1142213113.433018 /command debug] executing command file ./dtn.conf
> [1142213113.438962 /dtnd info] dtnd parsing configuration...
> [1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)
> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds:
> 9 10
> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> nonblocking mode set
> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
> nonblocking mode set
> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to 0.0.0.0:5000
> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -> LISTENING
> [1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to
> barrier
> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->
> AVAILABLE
> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
> rcm2.cse.lehigh.edu:5000
> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname 'rcm2.cse.lehigh.edu'
> in next hop rcm2.cse.lehigh.edu:5000
> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address 'rcm2.cse.lehigh.edu:5000
> '
> [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
> rcm2.cse.lehigh.edu:5000'
> [1142213113.467679 /command error] error: line 137: 'invalid link option:
> (unknown)':
> invalid link option: (unknown)
>     while executing
> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>     (file "./dtn.conf" line 137)
> [1142213113.468105 /dtnd error] error in configuration file, exiting...
>
> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a failure in
> name resolution.
>
> sorry about posting the "wrong" list, I knew there was discussion of
> making multiple lists, but I wasn't aware that it had actually happened,
> since I don't have the time to read everything that goes through
> dtn-interest. Thank you for the help so far.
>
>
> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> >
> > First of all, let me say that this discussion should be on dtn-users. I
> > don't know if ryan is on that list or not, but if you're not, please in the
> > future use that list for dtn reference implementation questions, not
> > dtn-interest.
> > As far as building tcl statically goes, it's a bit confusing, but you
> > need to run tcl's ./configure --disable-shared to tell it to build a full
> > static libtcl8.4.a. You don't want the stub library linked in.
> >
> > As far as your original problem goes, I suggested linking statically to
> > try to confirm that it's not a library compatibility issue due to the cross
> > compilation. I don't know if this will help or not, but that's what I
> > suggest to do first.
> >
> > -mike
> >
> >
> > On Nov 13, 2006, at 8:12 AM, ryan m wrote:
> >
> > my libtclstub is libtclstub8.4.so.a and if i try to link to it with a
> > link name of libtclstub8.4.so.a or libtclstub8.4.so in the /usr/lib
> > directory.  ldconfig complains it " is not an ELF file - it has the wrong
> > magic bytes at the start" so I had to leave that link out, but I did do the
> > other links, but dtnd crashes the same way.
> >
> > On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> > >
> > >  I added links in the target for the following:
> > >
> > > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> > >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> > >
> > > For some reason, it seemed like the tcl libraries wanted to be in the
> > > same directory as the pthread libraries (but I haven't confirmed that).  I
> > > just moved on as soon as things started working.
> > >
> > > Let me know if this helps for you...
> > >
> > >  ------------------------------
> > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > *Sent:* Monday, November 13, 2006 10:34 AM
> > > *To:* DTNRG
> > > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> > >
> > >  is that something I can do with a configure argument to building the
> > > tcl library (I can't find it in ./configure --help)?, and do you think that
> > > doing a static build is the best way to fix the original issue I was having
> > > on the PDA?
> > >
> > > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > > >
> > > >  I suspect the answer is that you need a 'real' tcl library (a .a
> > > > file) that can be linked statically.  I don't think shared objects (the .so
> > > > tcl library you have in the arm directory) can be linked that way.
> > > >
> > > >         --keith
> > > >
> > > >  ------------------------------
> > > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > > *To:* DTNRG
> > > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > > >
> > > >  when i configure with this:
> > > >
> > > > ./configure --build=`uname -m` --host=arm-linux
> > > >
> > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > >
> > > > configure completes fine, but... when I do this:
> > > >
> > > > ./configure --build=`uname -m` --host=arm-linux
> > > >
> > > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > > --enable-static
> > > >
> > > > I get:
> > > >
> > > > configure: checking for tcl installation (version 8.4 )
> > > > checking for tcl.h (version 8.4) in
> > > > /opt/arm-linux-libraries/include... yes
> > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4-ldl
> > > > -lm -lpthread ... no
> > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84
> > > > -ldl
> > > > -lm -lpthread ... no
> > > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl
> > > > -lm
> > > > -lpthread ... no
> > > >
> > > > configure: checking for tcl installation (version 8.3)
> > > > checking for tcl.h (version 8.3) in
> > > > /opt/arm-linux-libraries/include... no
> > > > configure: error: can't find usable tcl.h
> > > >
> > > > and it is there:
> > > >
> > > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > > >
> > > > without enable-static:
> > > >
> > > > configure: checking for tcl installation (version 8.4)
> > > > checking for tcl.h (version 8.4) in
> > > > /opt/arm-linux-libraries/include... yes
> > > > checking for tcl library in /opt/arm-linux-libraries/lib: - ltcl8.4-ldl
> > > > -lm -lpthread ... yes
> > > >
> > > >
> > > > Thank you for the help
> > > >
> > > >
> > > > Michael Demmer wrote:
> > > > > try statically building dtnd and see if that works.
> > > > >
> > > > > -m
> > > > >
> > > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > > >
> > > > >> So I finally had a chance to try out the DTN on the zaurus.  So I
> > > > >> copied over the libs that I had cross compiled, which seemed
> > > > obvious
> > > > >> to do. Then DTN was complaining about stdc++ lib so I copied over
> > > > the
> > > > >> libs from the lib directory of the cross compile tool chain, I
> > > > figured
> > > > >> that if it was linking in those libs to make arm binaries the
> > > > libs
> > > > >> themselves must be arm compatabile, is this right?  So the sum of
> > > > it
> > > > >> is I get this when I try to run DTN:
> > > > >>
> > > > >>
> > > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > DEBUG
> > > > >> -c ./dtn.conf --init-db
> > > > >> ./dtnd: error while loading shared libraries: libstdc++.so.5:
> > > > cannot
> > > > >> open shared object file: No such file or directory
> > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> > > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > > DEBUG
> > > > >> -c ./dtn.conf --init-db
> > > > >> [1142218881.762749 /log debug] adding log reparse signal handler
> > > > >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14
> > > > for
> > > > >> signal 1
> > > > >> [ 1142218881.931204 /log debug] adding log rotate signal handler
> > > > >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c
> > > > for
> > > > >> signal 10
> > > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid
> > > > 1870)
> > > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > > >> Illegal instruction
> > > > >>
> > > > >> any thoughts?
> > > >
> > > >
> > >
> >
> >
>
>

------=_Part_30718_12469718.1163690827968
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

well that got me a little farther at least... this is where it died this time:<br><br>[1142289491.726722 /dtnd notice] initializing persistent data store<br>[1142289491.767648 /dtn/storage notice] creating new database directory /home/root/Applications/DTN_wireless/tmp/db
<br>[1142289491.884849 /dtn/storage info] initializing db name=DTN (not shared), dir=/home/root/Applications/DTN_wireless/tmp/db<br>[1142289492.284995 /storage/berkeleydb error] DB internal error: unable to initialize mutex: Function not implemented
<br>[1142289492.290986 /storage/berkeleydb error] DB internal error: PANIC: Function not implemented<br>[1142289492.315647 /dtn/storage critical] DB: DB_RUNRECOVERY: Fatal error, run database recovery, cannot open database
<br>[1142289492.316046 /dtn/storage error] can't initialize berkeleydb -1000<br>[1142289492.316369 /dtnd critical] error creating storage system<br>[1142289492.316683 /dtnd error] error initializing data store, exiting...
<br><br><br><br><div><span class="gmail_quote">On 11/15/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><div><div><br></div><div>The only reason you could be getting that error is if the name lookup failed for some reason. You could try putting the IP address in the llink configuration and seeing if that works. If it does, then there must be something wrong with the host configuration or some other reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would be failing. You could put more debug logging in there to trace it down further.
</div><span class="sg"><div><br></div><div>-m</div></span><div><span class="e" id="q_10eed6312fceb047_2"><div><br></div><div><br><div><div>On Nov 15, 2006, at 7:37 AM, ryan m wrote:</div><br><blockquote type="cite">so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run
<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf... <br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962
 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577  /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10
<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set <br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR <br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening <br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING <br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier
<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu
</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address '
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 </a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop ' <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)': <br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br> &quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137) <br>[1142213113.468105 /dtnd error] error in configuration file, exiting... <br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest. Thank you for the help so far.
<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp; 
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in. 
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first. 
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);"> my libtclstub is <font face="Arial" size="2">
libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span> <span style="color: rgb(0, 0, 0);"><font face="Arial" size="2">
 <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">
 I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">
 </font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>
  <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>
 is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org 
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">
 I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way. 
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith 
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
 dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
 On Behalf Of       </b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>
when i configure with this: <br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this:
<br><br>./configure --build=`uname       -m`       --host=arm-linux <br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 
8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes <br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl 
<br>-lm -lpthread ... no<br> checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm <br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h
 (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>
-r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       
libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh <br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 
8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help
<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote: <br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I
<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       <br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured
<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it <br>&gt;&gt; is I get this when I try       to run       DTN:
<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG 
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1 
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286
  /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction 
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div> </blockquote></div>
<br></blockquote></div><br></div></span></div></div></div></div>
</blockquote></div><br>

------=_Part_30718_12469718.1163690827968--


Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.229]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAGFBjY05558 for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 07:11:45 -0800
Received: by wr-out-0506.google.com with SMTP id 68so161889wri for <dtn-users@mailman.dtnrg.org>; Thu, 16 Nov 2006 07:11:44 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=lrzAH2nLYCzqA7rIWpXdaJtc9GwgP5AG35h0YfVFrpuWeWyI+FPUFHZv5qzxW8CWytoAkvwkF6kmGnmaDTiNEfvQKSLyDRfPq0BzoigqV5AdQZDDmpJ5aTsO3RAgVFMSSNV1QsUpfTSASLfHdjoRAu4M0OUc9lnITU5xLtZ62Qg=
Received: by 10.78.203.13 with SMTP id a13mr667030hug.1163689903195; Thu, 16 Nov 2006 07:11:43 -0800 (PST)
Received: by 10.78.140.2 with HTTP; Thu, 16 Nov 2006 07:11:43 -0800 (PST)
Message-ID: <f0d10dd60611160711tddd788al11e7de5414bcbd5@mail.gmail.com>
Date: Thu, 16 Nov 2006 20:41:43 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] DTN using 2 NIC cards, Identification of which link has the bundle come on
In-Reply-To: <B81B2646-852E-444E-831D-A07E49B8B7A2@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_68011_21130475.1163689903112"
References: <f0d10dd60611150634p40b32bf3nb0d94de0c3835f23@mail.gmail.com> <B81B2646-852E-444E-831D-A07E49B8B7A2@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_68011_21130475.1163689903112
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
I saw that the BundleReceivedEvent class has a field for Contact but none of
the convergence layers provide the contact while creating a new
BundleReceivedEvent effectively the field remains NULL. I have checked this
in the latest cvs code. Please let me know if I am looking in the wrong
place.

Thanks,
Zahir

------=_Part_68011_21130475.1163689903112
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>
I saw that the BundleReceivedEvent class has a field for Contact but
none of the convergence layers provide the contact while creating a new
BundleReceivedEvent effectively the field remains NULL. I have checked
this in the latest cvs code. Please let me know if I am looking in the
wrong place.<br>
<br>
Thanks,<br>
Zahir<br>

------=_Part_68011_21130475.1163689903112--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAFKioY30070 for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 12:44:50 -0800
Received: from [10.212.2.189] ([12.46.129.68]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAFKiiwI017298 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 15 Nov 2006 12:44:48 -0800 (PST)
In-Reply-To: <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu> <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-1-626146691
Message-Id: <00DCCA49-9F67-4D45-8F19-0E65BBC3750E@cs.berkeley.edu>
Cc: mcchuah@gmail.com
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
X-Applemailsentby: demmer
Date: Wed, 15 Nov 2006 10:55:40 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1-626146691
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed


The only reason you could be getting that error is if the name lookup  
failed for some reason. You could try putting the IP address in the  
llink configuration and seeing if that works. If it does, then there  
must be something wrong with the host configuration or some other  
reason why the gethostbyname wrapper (in oasys/io/NetUtils.cc) would  
be failing. You could put more debug logging in there to trace it  
down further.

-m


On Nov 15, 2006, at 7:37 AM, ryan m wrote:

> so I've got a static version of dtnd compiled and on the zaurus,  
> and now I'm getting this odd behavior when I try to run
>
> ./dtnd -l DEBUG -c ./dtn.conf --init-db
>
> [1142213113.431028 /dtnd info] parsing configuration file ./ 
> dtn.conf...
> [1142213113.433018 /command debug] executing command file ./dtn.conf
> [1142213113.438962 /dtnd info] dtnd parsing configuration...
> [1142213113.447671 /dtn/interface/table info] adding interface tcp0  
> (tcp)
> [1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
> [1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created  
> pipe, fds: 9 10
> [1142213113.453889 /dtn/cl/tcp/listener/notifier debug]  
> set_nonblocking: nonblocking mode set
> [1142213113.456037 /dtn/cl/tcp/listener/notifier debug]  
> set_nonblocking: nonblocking mode set
> [1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
> [1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
> [1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to  
> 0.0.0.0:5000
> [1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
> [1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT ->  
> LISTENING
> [1142213113.462443 /thread debug] delaying start of thread 0x42bb54  
> due to barrier
> [1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE ->  
> AVAILABLE
> [1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link  
> rcm2.cse.lehigh.edu:5000
> [1142213113.465856 /dtn/cl/iputils warning] invalid hostname '  
> rcm2.cse.lehigh.edu' in next hop rcm2.cse.lehigh.edu:5000
> [1142213113.466250 /dtn/cl/tcp error] invalid next hop address  
> 'rcm2.cse.lehigh.edu:5000 '
> [1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '  
> rcm2.cse.lehigh.edu:5000'
> [1142213113.467679 /command error] error: line 137: 'invalid link  
> option: (unknown)':
> invalid link option: (unknown)
>     while executing
> "link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
>     (file "./dtn.conf" line 137)
> [1142213113.468105 /dtnd error] error in configuration file,  
> exiting...
>
> and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a  
> failure in name resolution.
>
> sorry about posting the "wrong" list, I knew there was discussion  
> of making multiple lists, but I wasn't aware that it had actually  
> happened, since I don't have the time to read everything that goes  
> through dtn-interest. Thank you for the help so far.
>
>
> On 11/13/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
> First of all, let me say that this discussion should be on dtn- 
> users. I don't know if ryan is on that list or not, but if you're  
> not, please in the future use that list for dtn reference  
> implementation questions, not dtn-interest.
>
> As far as building tcl statically goes, it's a bit confusing, but  
> you need to run tcl's ./configure --disable-shared to tell it to  
> build a full static libtcl8.4.a. You don't want the stub library  
> linked in.
>
> As far as your original problem goes, I suggested linking  
> statically to try to confirm that it's not a library compatibility  
> issue due to the cross compilation. I don't know if this will help  
> or not, but that's what I suggest to do first.
>
> -mike
>
>
> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>
>> my libtclstub is libtclstub8.4.so.a and if i try to link to it  
>> with a link name of libtclstub8.4.so.a or libtclstub8.4.so in the / 
>> usr/lib directory.  ldconfig complains it " is not an ELF file -  
>> it has the wrong magic bytes at the start" so I had to leave that  
>> link out, but I did do the other links, but dtnd crashes the same  
>> way.
>>
>> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
>> I added links in the target for the following:
>>
>> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
>> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
>> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>>
>> For some reason, it seemed like the tcl libraries wanted to be in  
>> the same directory as the pthread libraries (but I haven't  
>> confirmed that).  I just moved on as soon as things started working.
>>
>> Let me know if this helps for you...
>>
>> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn-interest- 
>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>> Sent: Monday, November 13, 2006 10:34 AM
>> To: DTNRG
>> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>>
>> is that something I can do with a configure argument to building  
>> the tcl library (I can't find it in ./configure --help)?, and do  
>> you think that doing a static build is the best way to fix the  
>> original issue I was having on the PDA?
>>
>> On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
>> I suspect the answer is that you need a 'real' tcl library (a .a  
>> file) that can be linked statically.  I don't think shared objects  
>> (the .so tcl library you have in the arm directory) can be linked  
>> that way.
>>
>>         --keith
>>
>> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn-interest- 
>> admin@mailman.dtnrg.org] On Behalf Of ryan m
>> Sent: Monday, November 13, 2006 10:17 AM
>> To: DTNRG
>> Subject: [dtn-interest] DTN on Zaurus sl-5500
>>
>> when i configure with this:
>>
>> ./configure --build=`uname -m` --host=arm-linux
>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>> libraries
>>
>> configure completes fine, but... when I do this:
>>
>> ./configure --build=`uname -m` --host=arm-linux
>> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
>> libraries
>> --enable-static
>>
>> I get:
>>
>> configure: checking for tcl installation (version 8.4 )
>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>> include... yes
>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4  
>> -ldl
>> -lm -lpthread ... no
>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 - 
>> ldl
>> -lm -lpthread ... no
>> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl - 
>> ldl -lm
>> -lpthread ... no
>>
>> configure: checking for tcl installation (version 8.3)
>> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
>> include... no
>> configure: error: can't find usable tcl.h
>>
>> and it is there:
>>
>> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
>> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
>> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
>> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
>> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>>
>> without enable-static:
>>
>> configure: checking for tcl installation (version 8.4)
>> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
>> include... yes
>> checking for tcl library in /opt/arm-linux-libraries/lib: -  
>> ltcl8.4 -ldl
>> -lm -lpthread ... yes
>>
>>
>> Thank you for the help
>>
>>
>> Michael Demmer wrote:
>> > try statically building dtnd and see if that works.
>> >
>> > -m
>> >
>> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
>> >
>> >> So I finally had a chance to try out the DTN on the zaurus.  So I
>> >> copied over the libs that I had cross compiled, which seemed  
>> obvious
>> >> to do. Then DTN was complaining about stdc++ lib so I copied  
>> over the
>> >> libs from the lib directory of the cross compile tool chain, I  
>> figured
>> >> that if it was linking in those libs to make arm binaries the libs
>> >> themselves must be arm compatabile, is this right?  So the sum  
>> of it
>> >> is I get this when I try to run DTN:
>> >>
>> >>
>> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l  
>> DEBUG
>> >> -c ./dtn.conf --init-db
>> >> ./dtnd: error while loading shared libraries: libstdc++.so.5:  
>> cannot
>> >> open shared object file: No such file or directory
>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
>> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l  
>> DEBUG
>> >> -c ./dtn.conf --init-db
>> >> [1142218881.762749 /log debug] adding log reparse signal handler
>> >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14 for
>> >> signal 1
>> >> [ 1142218881.931204 /log debug] adding log rotate signal handler
>> >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c for
>> >> signal 10
>> >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid  
>> 1870)
>> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
>> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
>> >> Illegal instruction
>> >>
>> >> any thoughts?
>>
>>
>
>


--Apple-Mail-1-626146691
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV><DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>The only reason you could =
be getting that error is if the name lookup failed for some reason. You =
could try putting the IP address in the llink configuration and seeing =
if that works. If it does, then there must be something wrong with the =
host configuration or some other reason why the gethostbyname wrapper =
(in oasys/io/NetUtils.cc) would be failing. You could put more debug =
logging in there to trace it down further.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-m</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 15, =
2006, at 7:37 AM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">so I've =
got a static version of dtnd compiled and on the zaurus, and now I'm =
getting this odd behavior when I try to run<BR><BR>./dtnd -l DEBUG -c =
./dtn.conf --init-db<BR><BR>[1142213113.431028 /dtnd info] parsing =
configuration file ./dtn.conf... <BR>[1142213113.433018 /command debug] =
executing command file ./dtn.conf<BR>[1142213113.438962 /dtnd info] dtnd =
parsing configuration...<BR>[1142213113.447671 /dtn/interface/table =
info] adding interface tcp0 (tcp)<BR>[1142213113.449577  /dtn/cl/tcp =
debug] adding interface tcp0<BR>[1142213113.452019 =
/dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 =
10<BR>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] =
set_nonblocking: nonblocking mode set <BR>[1142213113.456037 =
/dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode =
set<BR>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket =
11<BR>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting =
SO_REUSEADDR <BR>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] =
binding to <A href=3D"http://0.0.0.0:5000" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">0.0.0.0:5000</A><BR>[1142213113.461=
546 /dtn/cl/tcp/iface/tcp0 debug] listening <BR>[1142213113.462014 =
/dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING =
<BR>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 =
due to barrier<BR>[1142213113.464152 /dtn/link/link1 debug] set_state =
UNAVAILABLE -&gt; AVAILABLE<BR>[1142213113.464947 /dtn/cl/tcp debug] =
adding ONDEMAND link <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</A><BR>[11=
42213113.465856 /dtn/cl/iputils warning] invalid hostname '<A =
href=3D"http://rcm2.cse.lehigh.edu" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> rcm2.cse.lehigh.edu</A>' in next =
hop <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
rcm2.cse.lehigh.edu:5000</A><BR>[1142213113.466250 /dtn/cl/tcp error] =
invalid next hop address '<A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000 =
</A>'<BR>[1142213113.466579 /dtn/cl/tcp error] error parsing link =
nexthop ' <A href=3D"http://rcm2.cse.lehigh.edu:5000" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</A>'<BR>[1=
142213113.467679 /command error] error: line 137: 'invalid link option: =
(unknown)': <BR>invalid link option: (unknown)<BR>=A0=A0=A0 while =
executing<BR> "link add link1 <A href=3D"http://rcm2.cse.lehigh.edu:5000" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</A> =
ONDEMAND tcp"<BR>=A0=A0=A0 (file "./dtn.conf" line 137) =
<BR>[1142213113.468105 /dtnd error] error in configuration file, =
exiting... <BR><BR>and i can ssh to <A href=3D"http://rcm2.cse.lehigh.edu"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu</A> from the =
pda so it isn't a failure in name resolution.<BR><BR>sorry about posting =
the "wrong" list, I knew there was discussion of making multiple lists, =
but I wasn't aware that it had actually happened, since I don't have the =
time to read everything that goes through dtn-interest. Thank you for =
the help so far.<BR><BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/13/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank" onclick=3D"return=
 top.js.OpenExtLink(window,event,this)"> demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV>First of all, let me say that this discussion should be on =
dtn-users. I don't know if ryan is on that list or not, but if you're =
not, please in the future use that list for dtn reference implementation =
questions, not dtn-interest.=A0 <DIV><BR></DIV><DIV>As far as building =
tcl statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in. =
</DIV><DIV><BR></DIV><DIV>As far as your original problem goes, I =
suggested linking statically to try to confirm that it's not a library =
compatibility issue due to the cross compilation. I don't know if this =
will help or not, but that's what I suggest to do first. =
</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN><DIV><BR></DIV><DIV><BR><D=
IV><DIV>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite"><SPAN style=3D"color: rgb(0, 0, 0);"> my libtclstub is =
<FONT face=3D"Arial" size=3D"2">libtclstub8.4.so.a and if i try to link =
to it with a link name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, =
0);"><FONT face=3D"Arial" size=3D"2"> libtclstub8.4.so.a =
or</FONT></SPAN> <SPAN style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial"=
 size=3D"2"> <A href=3D"http://libtclstub8.4.so" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> in the =
/usr/lib directory.=A0 ldconfig complains it " is not an ELF file - it =
has the wrong magic bytes at the start" so I had to leave that link out, =
but I did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">=
 I added links in the target for the following:=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> </FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV>  <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN><B>From:</B>=
 <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org </A>   [mailto:<A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of </B>ryan   m<BR></SPAN><SPAN><B>Sent:</B> =
Monday, November 13, 2006 10:34 AM<BR><B>To:</B>   =
DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] DTN on Zaurus   =
sl-5500<BR></FONT><BR></DIV><DIV><SPAN>  <DIV></DIV> is that something I =
can do with a configure argument to building   the tcl library (I can't =
find it in ./configure --help)?, and do you think   that doing a static =
build is the best way to fix the original issue I was   having on the =
PDA? <BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org </A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"> I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     way. =
</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">--keith =
</FONT></SPAN></DIV><BR>    <BLOCKQUOTE style=3D"margin-right: 0px;">    =
  <DIV dir=3D"ltr" align=3D"left" lang=3D"en-us">      <HR>      <FONT =
face=3D"Tahoma" size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
dtn-interest-admin@mailman.dtnrg.org</A> [mailto: <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B> On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, =
November 13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV>when i configure with this: =
<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this:<BR><BR>./configure --build=3D`uname       -m`     =
  --host=3Darm-linux =
<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=3D/opt/arm-linux-=
libraries<BR>--enable-static<BR><BR>I       get:<BR><BR>configure: =
checking for tcl installation (version 8.4 )       <BR>checking for =
tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes =
<BR>checking for tcl library in       /opt/arm-linux-libraries/lib: =
-ltcl8.4 -ldl<BR>-lm -lpthread ...       no<BR>checking for tcl library =
in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <BR>-lm -lpthread =
... no<BR> checking for tcl library in       =
/opt/arm-linux-libraries/lib: -ltcl -ldl -lm <BR>-lpthread ...       =
no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR>-r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> libtcl8.4.so </A><BR>-rw-r--r--  =
     1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh <BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: - ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the =
help<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically =
building dtnd and see if that       works.<BR>&gt;<BR>&gt; =
-m<BR>&gt;<BR>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger =
wrote: <BR>&gt; <BR>&gt;&gt; So I finally had a chance to try       out =
the DTN on the zaurus.=A0=A0So I<BR>&gt;&gt; copied over the       libs =
that I had cross compiled, which seemed obvious<BR>&gt;&gt; to do.       =
Then DTN was complaining about stdc++ lib so I copied over the       =
<BR>&gt;&gt; libs from the lib directory of the cross compile tool =
chain,       I figured<BR>&gt;&gt; that if it was linking in those libs =
to make arm       binaries the libs<BR>&gt;&gt; themselves must be arm =
compatabile, is this       right?=A0=A0So the sum of it <BR>&gt;&gt; is =
I get this when I try       to run       =
DTN:<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/D=
TN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG <BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; =
[1142218881.762749       /log debug] adding log reparse signal =
handler<BR>&gt;&gt;       [1142218881.929239 /timer debug] adding signal =
handler 0xd6c14       for<BR>&gt;&gt; signal 1 <BR>&gt;&gt; [ =
1142218881.931204 /log debug]       adding log rotate signal =
handler<BR>&gt;&gt; [1142218881.933055 /timer       debug] adding signal =
handler 0xd6b9c for<BR>&gt;&gt; signal 10<BR>&gt;&gt;       =
[1142218881.935286  /dtnd notice] DTN daemon starting up... (pid 1870)   =
    <BR>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump     =
  core<BR>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<BR>&gt;&gt; =
Illegal       instruction <BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></DIV></DIV></BODY></H=
TML>=

--Apple-Mail-1-626146691--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAFKinY30066 for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 12:44:49 -0800
Received: from [10.212.2.189] ([12.46.129.68]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAFKiiwJ017298 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 15 Nov 2006 12:44:48 -0800 (PST)
In-Reply-To: <f0d10dd60611150634p40b32bf3nb0d94de0c3835f23@mail.gmail.com>
References: <f0d10dd60611150634p40b32bf3nb0d94de0c3835f23@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <B81B2646-852E-444E-831D-A07E49B8B7A2@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] DTN using 2 NIC cards, Identification of which link has the bundle come on
X-Applemailsentby: demmer
Date: Wed, 15 Nov 2006 10:58:53 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> Shimin at University of Waterloo is using a machine which has two  
> network cards (one wireless and one wired). I am assuming that to  
> have the daemon listen on both the IPs we would add an extra  
> interface with appropriate ip:port.

Yes. Although if you listen on INADDR_ANY you should still be able to  
make do with just one interface.

> The question I had in mind was that when I do a fwd_to_nexthop and  
> provide a particular link as the parameter then which interface  
> will be used to actually sent that bundle? Is there anyway to  
> control the interface on which the bundle is sent?

You can explicitly set which interface a link should use by adding  
the local_addr=1.2.3.4 parameter to the link configuration. That will  
cause the daemon to call bind() on that address before connecting to  
the nexthop.

> I had asked this question a few months back. I wanted to know if  
> there was anyway to know on which link has a bundle arrived? I  
> remember there was no way to know about it then. Since you have  
> made quite a few changes since then I thought this facility may be  
> available now.

The current implementation of the tcp convergence layer will fill in  
the Contact field in the BundleReceivedEvent, corresponding to the  
(bidirectional) link on which the bundle arrived.

-mike



Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.236]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAFFcOY28031 for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 07:38:24 -0800
Received: by wx-out-0506.google.com with SMTP id t12so258953wxc for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 07:38:24 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=UNH4xvLkyEy6J/EdA7GIQ1C1LUDZ8Sk0YvAnSMYgvCw477rysjtMq0C5818RncI6tEKjHigKMk7ckHuFQ4DGnooy65ckGpMSzornQcYe3nMDbC65xqEZpUvr86LFs51YwT+DwGFpfxz+c9dAValFc33soYTqgCwsxbyOSCGWM5E=
Received: by 10.70.76.13 with SMTP id y13mr3223291wxa.1163605072094; Wed, 15 Nov 2006 07:37:52 -0800 (PST)
Received: by 10.70.72.17 with HTTP; Wed, 15 Nov 2006 07:37:52 -0800 (PST)
Message-ID: <d35f8e370611150737x38cd4c73u44b4a9eb0037cee3@mail.gmail.com>
Date: Wed, 15 Nov 2006 10:37:52 -0500
From: "ryan m" <smarts40@gmail.com>
To: dtn-users@mailman.dtnrg.org
Cc: mcchuah@gmail.com
In-Reply-To: <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_15731_22065537.1163605072044"
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com> <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu>
Subject: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_15731_22065537.1163605072044
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so I've got a static version of dtnd compiled and on the zaurus, and now I'm
getting this odd behavior when I try to run

./dtnd -l DEBUG -c ./dtn.conf --init-db

[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf...
[1142213113.433018 /command debug] executing command file ./dtn.conf
[1142213113.438962 /dtnd info] dtnd parsing configuration...
[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)
[1142213113.449577 /dtn/cl/tcp debug] adding interface tcp0
[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9
10
[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
nonblocking mode set
[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking:
nonblocking mode set
[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11
[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to 0.0.0.0:5000
[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -> LISTENING
[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to
barrier
[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -> AVAILABLE
[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link
rcm2.cse.lehigh.edu:5000
[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '
rcm2.cse.lehigh.edu' in next hop rcm2.cse.lehigh.edu:5000
[1142213113.466250 /dtn/cl/tcp error] invalid next hop address '
rcm2.cse.lehigh.edu:5000'
[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
rcm2.cse.lehigh.edu:5000'
[1142213113.467679 /command error] error: line 137: 'invalid link option:
(unknown)':
invalid link option: (unknown)
    while executing
"link add link1 rcm2.cse.lehigh.edu:5000 ONDEMAND tcp"
    (file "./dtn.conf" line 137)
[1142213113.468105 /dtnd error] error in configuration file, exiting...

and i can ssh to rcm2.cse.lehigh.edu from the pda so it isn't a failure in
name resolution.

sorry about posting the "wrong" list, I knew there was discussion of making
multiple lists, but I wasn't aware that it had actually happened, since I
don't have the time to read everything that goes through dtn-interest. Thank
you for the help so far.


On 11/13/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> First of all, let me say that this discussion should be on dtn-users. I
> don't know if ryan is on that list or not, but if you're not, please in the
> future use that list for dtn reference implementation questions, not
> dtn-interest.
> As far as building tcl statically goes, it's a bit confusing, but you need
> to run tcl's ./configure --disable-shared to tell it to build a full static
> libtcl8.4.a. You don't want the stub library linked in.
>
> As far as your original problem goes, I suggested linking statically to
> try to confirm that it's not a library compatibility issue due to the cross
> compilation. I don't know if this will help or not, but that's what I
> suggest to do first.
>
> -mike
>
>
> On Nov 13, 2006, at 8:12 AM, ryan m wrote:
>
> my libtclstub is libtclstub8.4.so.a and if i try to link to it with a link
> name of libtclstub8.4.so.a or libtclstub8.4.so in the /usr/lib directory.
> ldconfig complains it " is not an ELF file - it has the wrong magic bytes at
> the start" so I had to leave that link out, but I did do the other links,
> but dtnd crashes the same way.
>
> On 11/13/06, Durst, Robert C. < durst@mitre.org> wrote:
> >
> >  I added links in the target for the following:
> >
> > in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> > in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> >  in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
> >
> > For some reason, it seemed like the tcl libraries wanted to be in the
> > same directory as the pthread libraries (but I haven't confirmed that).  I
> > just moved on as soon as things started working.
> >
> > Let me know if this helps for you...
> >
> >  ------------------------------
> > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > dtn-interest-admin@mailman.dtnrg.org] * On Behalf Of *ryan m
> > *Sent:* Monday, November 13, 2006 10:34 AM
> > *To:* DTNRG
> > *Subject:* Re: [dtn-interest] DTN on Zaurus sl-5500
> >
> >  is that something I can do with a configure argument to building the
> > tcl library (I can't find it in ./configure --help)?, and do you think that
> > doing a static build is the best way to fix the original issue I was having
> > on the PDA?
> >
> > On 11/13/06, Scott, Keith L. <kscott@mitre.org > wrote:
> > >
> > >  I suspect the answer is that you need a 'real' tcl library (a .a
> > > file) that can be linked statically.  I don't think shared objects (the .so
> > > tcl library you have in the arm directory) can be linked that way.
> > >
> > >         --keith
> > >
> > >  ------------------------------
> > > *From:* dtn-interest-admin@mailman.dtnrg.org [mailto:
> > > dtn-interest-admin@mailman.dtnrg.org] *On Behalf Of *ryan m
> > > *Sent:* Monday, November 13, 2006 10:17 AM
> > > *To:* DTNRG
> > > *Subject:* [dtn-interest] DTN on Zaurus sl-5500
> > >
> > >  when i configure with this:
> > >
> > > ./configure --build=`uname -m` --host=arm-linux
> > >
> > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > >
> > > configure completes fine, but... when I do this:
> > >
> > > ./configure --build=`uname -m` --host=arm-linux
> > >
> > > --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux-libraries
> > > --enable-static
> > >
> > > I get:
> > >
> > > configure: checking for tcl installation (version 8.4 )
> > > checking for tcl.h (version 8.4) in
> > > /opt/arm-linux-libraries/include... yes
> > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4-ldl
> > > -lm -lpthread ... no
> > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl
> > >
> > > -lm -lpthread ... no
> > > checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl -ldl
> > > -lm
> > > -lpthread ... no
> > >
> > > configure: checking for tcl installation (version 8.3)
> > > checking for tcl.h (version 8.3) in
> > > /opt/arm-linux-libraries/include... no
> > > configure: error: can't find usable tcl.h
> > >
> > > and it is there:
> > >
> > > edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> > > -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> > > -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> > > drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> > > -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
> > >
> > > without enable-static:
> > >
> > > configure: checking for tcl installation (version 8.4)
> > > checking for tcl.h (version 8.4) in
> > > /opt/arm-linux-libraries/include... yes
> > > checking for tcl library in /opt/arm-linux-libraries/lib: - ltcl8.4-ldl
> > > -lm -lpthread ... yes
> > >
> > >
> > > Thank you for the help
> > >
> > >
> > > Michael Demmer wrote:
> > > > try statically building dtnd and see if that works.
> > > >
> > > > -m
> > > >
> > > > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> > > >
> > > >> So I finally had a chance to try out the DTN on the zaurus.  So I
> > > >> copied over the libs that I had cross compiled, which seemed
> > > obvious
> > > >> to do. Then DTN was complaining about stdc++ lib so I copied over
> > > the
> > > >> libs from the lib directory of the cross compile tool chain, I
> > > figured
> > > >> that if it was linking in those libs to make arm binaries the libs
> > > >> themselves must be arm compatabile, is this right?  So the sum of
> > > it
> > > >> is I get this when I try to run DTN:
> > > >>
> > > >>
> > > >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > DEBUG
> > > >> -c ./dtn.conf --init-db
> > > >> ./dtnd: error while loading shared libraries: libstdc++.so.5:
> > > cannot
> > > >> open shared object file: No such file or directory
> > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> > > >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l
> > > DEBUG
> > > >> -c ./dtn.conf --init-db
> > > >> [1142218881.762749 /log debug] adding log reparse signal handler
> > > >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14 for
> > > >> signal 1
> > > >> [ 1142218881.931204 /log debug] adding log rotate signal handler
> > > >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c for
> > > >> signal 10
> > > >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid
> > > 1870)
> > > >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> > > >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> > > >> Illegal instruction
> > > >>
> > > >> any thoughts?
> > >
> > >
> >
>
>

------=_Part_15731_22065537.1163605072044
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

so I've got a static version of dtnd compiled and on the zaurus, and now I'm getting this odd behavior when I try to run<br><br>./dtnd -l DEBUG -c ./dtn.conf --init-db<br><br>[1142213113.431028 /dtnd info] parsing configuration file ./dtn.conf...
<br>[1142213113.433018 /command debug] executing command file ./dtn.conf<br>[1142213113.438962 /dtnd info] dtnd parsing configuration...<br>[1142213113.447671 /dtn/interface/table info] adding interface tcp0 (tcp)<br>[1142213113.449577

 /dtn/cl/tcp debug] adding interface tcp0<br>[1142213113.452019 /dtn/cl/tcp/listener/notifier debug] created pipe, fds: 9 10<br>[1142213113.453889 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set
<br>[1142213113.456037 /dtn/cl/tcp/listener/notifier debug] set_nonblocking: nonblocking mode set<br>[1142213113.458433 /dtn/cl/tcp/iface/tcp0 debug] created socket 11<br>[1142213113.460564 /dtn/cl/tcp/iface/tcp0 debug] setting SO_REUSEADDR
<br>[1142213113.460922 /dtn/cl/tcp/iface/tcp0 debug] binding to <a href="http://0.0.0.0:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">0.0.0.0:5000</a><br>[1142213113.461546 /dtn/cl/tcp/iface/tcp0 debug] listening
<br>[1142213113.462014 /dtn/cl/tcp/iface/tcp0 debug] state INIT -&gt; LISTENING
<br>[1142213113.462443 /thread debug] delaying start of thread 0x42bb54 due to barrier<br>[1142213113.464152 /dtn/link/link1 debug] set_state UNAVAILABLE -&gt; AVAILABLE<br>[1142213113.464947 /dtn/cl/tcp debug] adding ONDEMAND link 
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</a><br>[1142213113.465856 /dtn/cl/iputils warning] invalid hostname '<a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu</a>' in next hop <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
rcm2.cse.lehigh.edu:5000</a><br>[1142213113.466250 /dtn/cl/tcp error] invalid next hop address '<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000
</a>'<br>[1142213113.466579 /dtn/cl/tcp error] error parsing link nexthop '
<a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</a>'<br>[1142213113.467679 /command error] error: line 137: 'invalid link option: (unknown)':
<br>invalid link option: (unknown)<br>&nbsp;&nbsp;&nbsp; while executing<br>
&quot;link add link1 <a href="http://rcm2.cse.lehigh.edu:5000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu:5000</a> ONDEMAND tcp&quot;<br>&nbsp;&nbsp;&nbsp; (file &quot;./dtn.conf&quot; line 137)
<br>[1142213113.468105 /dtnd error] error in configuration file, exiting...
<br><br>and i can ssh to <a href="http://rcm2.cse.lehigh.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rcm2.cse.lehigh.edu</a> from the pda so it isn't a failure in name resolution.<br><br>sorry about posting the &quot;wrong&quot; list, I knew there was discussion of making multiple lists, but I wasn't aware that it had actually happened, since I don't have the time to read everything that goes through dtn-interest.
Thank you for the help so far.<br><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>First of all, let me say that this discussion should be on dtn-users. I don't know if ryan is on that list or not, but if you're not, please in the future use that list for dtn reference implementation questions, not dtn-interest.&nbsp;
<div><br></div><div>As far as building tcl statically goes, it's a bit confusing, but you need to run tcl's ./configure --disable-shared to tell it to build a full static libtcl8.4.a.&nbsp;You don't want the stub library linked in.
</div><div><br></div><div>As far as your original problem goes, I suggested linking statically to try to confirm that it's not a library compatibility issue due to the cross compilation. I don't know if this will help or not, but that's what I suggest to do first.
</div><div><br></div><div>-mike</div><div><span><div><br></div><div><br><div><div>On Nov 13, 2006, at 8:12 AM, ryan m wrote:</div><br><blockquote type="cite"><span style="color: rgb(0, 0, 0);">
my libtclstub is <font face="Arial" size="2">libtclstub8.4.so.a and if i try to link to it with a link name of </font></span><span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> libtclstub8.4.so.a or</font></span>

<span style="color: rgb(0, 0, 0);"><font face="Arial" size="2"> <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> in the /usr/lib directory.&nbsp; ldconfig complains it &quot; is not an ELF file - it has the wrong magic bytes at the start&quot; so I had to leave that link out, but I did do the other links, but dtnd crashes the same way. 
</font></span><br><br><div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Durst, Robert C.</b> &lt;<a href="mailto:durst@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

durst@mitre.org</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div> <div><span><font color="#0000ff" face="Arial" size="2">

I added links in the target for the following:&nbsp; </font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from <a href="http://libtcl8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

libtcl8.4.so</a> -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">in /usr/lib from libtcl.so -&gt; /usr/lib/libtcl8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

in /usr/lib/ from <a href="http://libtclstub8.4.so" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</a> -&gt; /usr/lib/libtclstub8.4.so</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2">

</font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">For some reason, it seemed like the tcl libraries wanted to be in the same directory as the pthread libraries (but I haven't confirmed that).&nbsp; I just moved on as soon as things started working.&nbsp; 
</font></span></div> <div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div> <div><span><font color="#0000ff" face="Arial" size="2">Let me know if this helps for you...</font></span></div> <div><br></div>

 <blockquote style="border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; margin-left: 5px; margin-right: 0px;">  <div dir="ltr" align="left" lang="en-us">  <hr>  <font face="Tahoma" size="2"><span><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

dtn-interest-admin@mailman.dtnrg.org </a>   [mailto:<a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>

On Behalf Of </b>ryan   m<br></span><span><b>Sent:</b> Monday, November 13, 2006 10:34 AM<br><b>To:</b>   DTNRG<br></span><b>Subject:</b> Re: [dtn-interest] DTN on Zaurus   sl-5500<br></font><br></div><div><span>  <div></div>

is that something I can do with a configure argument to building   the tcl library (I can't find it in ./configure --help)?, and do you think   that doing a static build is the best way to fix the original issue I was   having on the PDA? 
<br><br>  <div><span class="gmail_quote">On 11/13/06, <b class="gmail_sendername">Scott,   Keith L.</b> &lt;<a href="mailto:kscott@mitre.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">kscott@mitre.org
</a>&gt;   wrote:</span>  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">    <div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2">

I     suspect the answer is that you need a 'real' tcl library (a .a file) that     can be linked statically.&nbsp; I don't think shared objects (the .so tcl     library you have in the arm directory) can be linked that     way.
</font></span></div>    <div dir="ltr" align="left"><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>    <div dir="ltr" align="left"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;     <font color="#0000ff" face="Arial" size="2">--keith
</font></span></div><br>    <blockquote style="margin-right: 0px;">      <div dir="ltr" align="left" lang="en-us">      <hr>      <font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

dtn-interest-admin@mailman.dtnrg.org</a> [mailto: <a href="mailto:dtn-interest-admin@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.org</a>] <b>
On Behalf Of       
</b>ryan m<br><b>Sent:</b> Monday, November 13, 2006 10:17       AM<br><b>To:</b> DTNRG<br><b>Subject:</b> [dtn-interest] DTN on Zaurus       sl-5500<br></font><br></div>      <div><span>      <div></div>when i configure with this:
<br><br>./configure --build=`uname       -m`       --host=arm-linux<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br><br>configure       completes fine, but... when I do this:<br><br>./configure --build=`uname       -m`       --host=arm-linux
<br>--with-db=/opt/arm-linux-libraries&nbsp;&nbsp;--with-tcl=/opt/arm-linux-libraries<br>--enable-static<br><br>I       get:<br><br>configure: checking for tcl installation (version 8.4 )       <br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes
<br>checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<br>-lm -lpthread ...       no<br>checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84       -ldl <br>-lm -lpthread ... no<br>
checking for tcl library in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm
<br>-lpthread ...       no<br><br>configure: checking for tcl installation (version       8.3)<br>checking for tcl.h (version 8.3) in       /opt/arm-linux-libraries/include... no <br>configure: error: can't find       usable 
tcl.h<br><br>and it is       there:<br><br>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld       *tcl*<br>-r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <a href="http://libtcl8.4.so/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

libtcl8.4.so </a><br>-rw-r--r--       1 root root&nbsp;&nbsp; 6894 2006-10-31 17:28       libtclstub8.4.a<br>drwxr-xr-x 8 root root&nbsp;&nbsp; 4096 2006-10-31       17:28 tcl8.4<br>-rw-r--r-- 1 root root&nbsp;&nbsp; 7333 2006-10-31 17:28       tclConfig.sh

<br><br>without enable-static: <br><br>configure: checking for       tcl installation (version 8.4)<br>checking for tcl.h (version 8.4) in       /opt/arm-linux-libraries/include... yes<br>checking for tcl library in       /opt/arm-linux-libraries/lib: -
ltcl8.4 -ldl<br>-lm -lpthread ... yes       <br><br><br>Thank you for the help<br><br><br>Michael Demmer       wrote:<br>&gt; try statically building dtnd and see if that       works.<br>&gt;<br>&gt; -m<br>&gt;<br>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger wrote:
<br>&gt; <br>&gt;&gt; So I finally had a chance to try       out the DTN on the zaurus.&nbsp;&nbsp;So I<br>&gt;&gt; copied over the       libs that I had cross compiled, which seemed obvious<br>&gt;&gt; to do.       Then DTN was complaining about stdc++ lib so I copied over the       
<br>&gt;&gt; libs from the lib directory of the cross compile tool chain,       I figured<br>&gt;&gt; that if it was linking in those libs to make arm       binaries the libs<br>&gt;&gt; themselves must be arm compatabile, is this       right?&nbsp;&nbsp;So the sum of it 
<br>&gt;&gt; is I get this when I try       to run       DTN:<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;&nbsp;&nbsp;root@collie:~/Applications/DTN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; ./dtnd:       error while loading shared libraries: libstdc++.so.5: cannot 
<br>&gt;&gt;       open shared object file: No such file or directory<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig<br>&gt;&gt;       root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       DEBUG
<br>&gt;&gt; -c ./dtn.conf --init-db<br>&gt;&gt; [1142218881.762749       /log debug] adding log reparse signal handler<br>&gt;&gt;       [1142218881.929239 /timer debug] adding signal handler 0xd6c14       for<br>&gt;&gt; signal 1
<br>&gt;&gt; [ 1142218881.931204 /log debug]       adding log rotate signal handler<br>&gt;&gt; [1142218881.933055 /timer       debug] adding signal handler 0xd6b9c for<br>&gt;&gt; signal 10<br>&gt;&gt;       [1142218881.935286

 /dtnd notice] DTN daemon starting up... (pid 1870)       <br>&gt;&gt; ERROR: dtnd (pid 1870) got fatal SIGILL - will dump       core<br>&gt;&gt; STACK TRACE: 0xce810 0x403c5d00 (nil)<br>&gt;&gt; Illegal       instruction
<br>&gt;&gt;<br>&gt;&gt; any thoughts?     </span></div></blockquote></div></blockquote></div><br></span></div></blockquote></div> </blockquote></div><br></blockquote></div><br></div></span></div></div>
</blockquote></div><br>


------=_Part_15731_22065537.1163605072044--


Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.233]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAFEYNY27588 for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 06:34:23 -0800
Received: by wr-out-0506.google.com with SMTP id 68so40186wri for <dtn-users@mailman.dtnrg.org>; Wed, 15 Nov 2006 06:34:22 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=ljWqXHbHxF3/oia9nIneONbfZTg19+9iB5ZTzxUWYKmnta8qHFFo4M/Jmek2h6EZzyVdDqC+rZ7W+8UiC1TjRxEz/m7NUPzVfwMsE2Cwh+ERKWHviueonpY5FD8BfQlSEVLnMUqDRGET0GyiM/9utikc99G3LF9w9f5efKk0iQQ=
Received: by 10.78.149.15 with SMTP id w15mr296597hud.1163601261374; Wed, 15 Nov 2006 06:34:21 -0800 (PST)
Received: by 10.78.140.2 with HTTP; Wed, 15 Nov 2006 06:34:21 -0800 (PST)
Message-ID: <f0d10dd60611150634p40b32bf3nb0d94de0c3835f23@mail.gmail.com>
Date: Wed, 15 Nov 2006 20:04:21 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_46322_33371132.1163601261351"
Subject: [dtn-users] DTN using 2 NIC cards, Identification of which link has the bundle come on
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_46322_33371132.1163601261351
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
Shimin at University of Waterloo is using a machine which has two network
cards (one wireless and one wired). I am assuming that to have the daemon
listen on both the IPs we would add an extra interface with appropriate
ip:port. The question I had in mind was that when I do a fwd_to_nexthop and
provide a particular link as the parameter then which interface will be used
to actually sent that bundle? Is there anyway to control the interface on
which the bundle is sent?

I had asked this question a few months back. I wanted to know if there was
anyway to know on which link has a bundle arrived? I remember there was no
way to know about it then. Since you have made quite a few changes since
then I thought this facility may be available now.

Thanks,
Zahir

------=_Part_46322_33371132.1163601261351
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>
Shimin at University of Waterloo is using a machine which has two
network cards (one wireless and one wired). I am assuming that to have
the daemon listen on both the IPs we would add an extra interface with
appropriate ip:port. The question I had in mind was that when I do a
fwd_to_nexthop and provide a particular link as the parameter then
which interface will be used to actually sent that bundle? Is there
anyway to control the interface on which the bundle is sent?<br>
<br>
I had asked this question a few months back. I wanted to know if there
was anyway to know on which link has a bundle arrived? I remember there
was no way to know about it then. Since you have made quite a few
changes since then I thought this facility may be available now. <br>
<br>
Thanks,<br>
Zahir<br>
<br>
<br>

------=_Part_46322_33371132.1163601261351--


Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.238]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAEHwDY19502 for <dtn-users@mailman.dtnrg.org>; Tue, 14 Nov 2006 09:58:14 -0800
Received: by wx-out-0506.google.com with SMTP id t12so427085wxc for <dtn-users@mailman.dtnrg.org>; Tue, 14 Nov 2006 09:58:13 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:to:subject:message-id:x-mailer:mime-version:content-type:content-transfer-encoding:content-disposition:from; b=I/Dpbl+HZRht3sdi3AXuAWc5jTVYQhaWUdK8Wkgoi0sCSYAoFKwiPZJdEi8EsceSHgShWe2cuVvLZHDNA7AUoHIsDDIRWakhJ+QJPR7wg+2nNWVRtKbEigesfwejNyqEWV2+OkNDH1E4A4kl6SbF4x7d7TsToBeR9Q6jjDyMwdc=
Received: by 10.100.124.5 with SMTP id w5mr395233anc.1163527093174; Tue, 14 Nov 2006 09:58:13 -0800 (PST)
Received: from ?192.168.31.244? ( [24.37.122.218]) by mx.google.com with ESMTP id 6sm7672104wrh.2006.11.14.09.58.11; Tue, 14 Nov 2006 09:58:12 -0800 (PST)
Date: Tue, 14 Nov 2006 12:58:06 -0500
To: dtn-users@mailman.dtnrg.org
Message-ID: <CAAFEA101CAD0249CEDB26D9@[192.168.31.244]>
X-Mailer: Mulberry/4.0.7b1 (Mac OS X)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
From: Florent Parent <florent.parent@gmail.com>
Subject: [dtn-users] Bundle protocol dissector
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Hi,

I'm writing a bundle protocol dissector for Wireshark (new name for 
Ethereal). It's currently stable and working fine. The bundle primary and 
payload packets are decoded and displayed in a protocol tree. You will find 
the source code, instructions and snapshot at 
<http://homepage.mac.com/florent.parent/dtnrg/README.html>.

There are still limitations, but this is work in progress :)

This will hopefully be useful to some. Comments/bug reports welcomed.

Florent



Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAEFtNY18584 for <dtn-users@mailman.dtnrg.org>; Tue, 14 Nov 2006 07:55:23 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAEFtKEt026165 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Tue, 14 Nov 2006 07:55:21 -0800 (PST)
In-Reply-To: <cc97bb9b0611140302x69e32212ge43efaa4140bd5fc@mail.gmail.com>
References: <cc97bb9b0611140302x69e32212ge43efaa4140bd5fc@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <CC99DD63-FCF9-491D-94FA-7731A4B3BAD6@cs.berkeley.edu>
Cc: dtn-users@mailman.dtnrg.org
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
X-Applemailsentby: demmer
Date: Tue, 14 Nov 2006 07:55:22 -0800
To: luo cheng <richard.luocheng@gmail.com>
X-Mailer: Apple Mail (2.752.3)
Subject: [dtn-users] Re: Compile DTN2 in Cygwin, Link problem: undefined reference _Tcl_CreateFileHandler from tclreadline.c
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

Try running ./configure --without-tclreadline and then rebuild.

-m

On Nov 14, 2006, at 3:02 AM, luo cheng wrote:

> Hi,
>
> I was trying to compile the newest version of DTN2 for Cygwin.  
> After correct these known error by type casting, I finnaly got a  
> link problem. When linking libtcl.a, it can not find the  
> Tcl_CreateFileHandler and Tcl_DeleteFileHandler, I check with  
> libtcl.a (which is linked to libtcl84.a) by objdump -d libtcl.a |  
> grep Tcl_CreateFileHandler, there is not such object. So could  
> anyone can give me some hints?
>
> NB, I tried compile the tcl from source code with version 4.5 by  
> Mingw, and the problem is still.



Received: from nz-out-0102.google.com (nz-out-0102.google.com [64.233.162.197]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAEB2nY16394 for <dtn-users@mailman.dtnrg.org>; Tue, 14 Nov 2006 03:02:49 -0800
Received: by nz-out-0102.google.com with SMTP id k1so744806nzf for <dtn-users@mailman.dtnrg.org>; Tue, 14 Nov 2006 03:02:41 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:mime-version:content-type; b=ABjWjHocBYOUT/jQNdejG2SiZFE7xczD/j4kd+z6DhqDYefpB56Awwf3HXyH9D3bd1Q2wUoedQzweAwykhHHNlAi/WhGgjNxlFxg5seymoqlMTynnSfDn6SFviRs7CioumazYHmi36V0rSvpEemq+1JxBRytbCvNjHD2bAQTvro=
Received: by 10.65.213.13 with SMTP id p13mr405521qbq.1163502161632; Tue, 14 Nov 2006 03:02:41 -0800 (PST)
Received: by 10.65.98.9 with HTTP; Tue, 14 Nov 2006 03:02:41 -0800 (PST)
Message-ID: <cc97bb9b0611140302x69e32212ge43efaa4140bd5fc@mail.gmail.com>
Date: Tue, 14 Nov 2006 13:02:41 +0200
From: "luo cheng" <richard.luocheng@gmail.com>
To: dtn-users@mailman.dtnrg.org
Cc: demmer@cs.berkeley.edu
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_113549_4002010.1163502161588"
Subject: [dtn-users] Compile DTN2 in Cygwin, Link problem: undefined reference _Tcl_CreateFileHandler from tclreadline.c
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_113549_4002010.1163502161588
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

I was trying to compile the newest version of DTN2 for Cygwin. After correct
these known error by type casting, I finnaly got a link problem. When
linking libtcl.a, it can not find the Tcl_CreateFileHandler and
Tcl_DeleteFileHandler, I check with libtcl.a (which is linked to libtcl84.a)
by objdump -d libtcl.a | grep Tcl_CreateFileHandler, there is not such
object. So could anyone can give me some hints?

NB, I tried compile the tcl from source code with version 4.5 by Mingw, and
the problem is still.

------=_Part_113549_4002010.1163502161588
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,<br><br>I was trying to compile the newest version of DTN2 for Cygwin. After correct these known error by type casting, I finnaly got a link problem. When linking libtcl.a, it can not find the Tcl_CreateFileHandler and Tcl_DeleteFileHandler, I check with 
libtcl.a (which is linked to libtcl84.a) by objdump -d libtcl.a | grep Tcl_CreateFileHandler, there is not such object. So could anyone can give me some hints?<br><br>NB, I tried compile the tcl from source code with version 
4.5 by Mingw, and the problem is still. <br>

------=_Part_113549_4002010.1163502161588--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kADH2tY09341 for <dtn-users@mailman.dtnrg.org>; Mon, 13 Nov 2006 09:02:55 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kADH2qjn009884 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Mon, 13 Nov 2006 09:02:54 -0800 (PST)
In-Reply-To: <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com>
References: <d35f8e370611130734x13ca12dcic3d112aa4b6d5522@mail.gmail.com> <3B660B4ACB06BE488E3938F95115E4DE0147E378@IMCSRV4.MITRE.ORG> <d35f8e370611130812o4f587ca1la4dfc13d9a19bbad@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-1-446581435
Message-Id: <B89E46C1-56D9-48D2-A7E5-6EADA9D5CC32@cs.berkeley.edu>
Cc: dtn-users@mailman.dtnrg.org
From: Michael Demmer <demmer@cs.berkeley.edu>
X-Applemailsentby: demmer
Date: Mon, 13 Nov 2006 09:02:55 -0800
To: ryan m <smarts40@gmail.com>
X-Mailer: Apple Mail (2.752.3)
Subject: [dtn-users] Re: [dtn-interest] DTN on Zaurus sl-5500
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1-446581435
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

First of all, let me say that this discussion should be on dtn-users.  
I don't know if ryan is on that list or not, but if you're not,  
please in the future use that list for dtn reference implementation  
questions, not dtn-interest.

As far as building tcl statically goes, it's a bit confusing, but you  
need to run tcl's ./configure --disable-shared to tell it to build a  
full static libtcl8.4.a. You don't want the stub library linked in.

As far as your original problem goes, I suggested linking statically  
to try to confirm that it's not a library compatibility issue due to  
the cross compilation. I don't know if this will help or not, but  
that's what I suggest to do first.

-mike


On Nov 13, 2006, at 8:12 AM, ryan m wrote:

> my libtclstub is libtclstub8.4.so.a and if i try to link to it with  
> a link name of libtclstub8.4.so.a or libtclstub8.4.so in the /usr/ 
> lib directory.  ldconfig complains it " is not an ELF file - it has  
> the wrong magic bytes at the start" so I had to leave that link  
> out, but I did do the other links, but dtnd crashes the same way.
>
> On 11/13/06, Durst, Robert C. <durst@mitre.org> wrote:
> I added links in the target for the following:
>
> in /usr/lib from libtcl8.4.so -> /usr/lib/libtcl8.4.so
> in /usr/lib from libtcl.so -> /usr/lib/libtcl8.4.so
> in /usr/lib/ from libtclstub8.4.so -> /usr/lib/libtclstub8.4.so
>
> For some reason, it seemed like the tcl libraries wanted to be in  
> the same directory as the pthread libraries (but I haven't  
> confirmed that).  I just moved on as soon as things started working.
>
> Let me know if this helps for you...
>
> From: dtn-interest-admin@mailman.dtnrg.org [mailto:dtn-interest- 
> admin@mailman.dtnrg.org] On Behalf Of ryan m
> Sent: Monday, November 13, 2006 10:34 AM
> To: DTNRG
> Subject: Re: [dtn-interest] DTN on Zaurus sl-5500
>
> is that something I can do with a configure argument to building  
> the tcl library (I can't find it in ./configure --help)?, and do  
> you think   that doing a static build is the best way to fix the  
> original issue I was having on the PDA?
>
> On 11/13/06, Scott, Keith L. <kscott@mitre.org> wrote:
> I suspect the answer is that you need a 'real' tcl library (a .a  
> file) that can be linked statically.  I don't think shared objects  
> (the .so tcl library you have in the arm directory) can be linked  
> that way.
>
>         --keith
>
> From: dtn-interest-admin@mailman.dtnrg.org [mailto: dtn-interest- 
> admin@mailman.dtnrg.org] On Behalf Of ryan m
> Sent: Monday, November 13, 2006 10:17 AM
> To: DTNRG
> Subject: [dtn-interest] DTN on Zaurus sl-5500
>
> when i configure with this:
>
> ./configure --build=`uname -m` --host=arm-linux
> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
> libraries
>
> configure completes fine, but... when I do this:
>
> ./configure --build=`uname -m` --host=arm-linux
> --with-db=/opt/arm-linux-libraries  --with-tcl=/opt/arm-linux- 
> libraries
> --enable-static
>
> I get:
>
> configure: checking for tcl installation (version 8.4 )
> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
> include... yes
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 - 
> ldl
> -lm -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl84 -ldl
> -lm -lpthread ... no
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl - 
> ldl -lm
> -lpthread ... no
>
> configure: checking for tcl installation (version 8.3)
> checking for tcl.h (version 8.3) in /opt/arm-linux-libraries/ 
> include... no
> configure: error: can't find usable tcl.h
>
> and it is there:
>
> edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld *tcl*
> -r-xr-xr-x 1 root root 743365 2006-10-31 17:28 libtcl8.4.so
> -rw-r--r-- 1 root root   6894 2006-10-31 17:28 libtclstub8.4.a
> drwxr-xr-x 8 root root   4096 2006-10-31 17:28 tcl8.4
> -rw-r--r-- 1 root root   7333 2006-10-31 17:28 tclConfig.sh
>
> without enable-static:
>
> configure: checking for tcl installation (version 8.4)
> checking for tcl.h (version 8.4) in /opt/arm-linux-libraries/ 
> include... yes
> checking for tcl library in /opt/arm-linux-libraries/lib: -ltcl8.4 - 
> ldl
> -lm -lpthread ... yes
>
>
> Thank you for the help
>
>
> Michael Demmer wrote:
> > try statically building dtnd and see if that works.
> >
> > -m
> >
> > On Nov 11, 2006, at 10:31 AM, Ryan Metzger wrote:
> >
> >> So I finally had a chance to try out the DTN on the zaurus.  So I
> >> copied over the libs that I had cross compiled, which seemed  
> obvious
> >> to do. Then DTN was complaining about stdc++ lib so I copied  
> over the
> >> libs from the lib directory of the cross compile tool chain, I  
> figured
> >> that if it was linking in those libs to make arm binaries the libs
> >> themselves must be arm compatabile, is this right?  So the sum  
> of it
> >> is I get this when I try to run DTN:
> >>
> >>
> >>  root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l  
> DEBUG
> >> -c ./dtn.conf --init-db
> >> ./dtnd: error while loading shared libraries: libstdc++.so.5:  
> cannot
> >> open shared object file: No such file or directory
> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ldconfig
> >> root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l  
> DEBUG
> >> -c ./dtn.conf --init-db
> >> [1142218881.762749 /log debug] adding log reparse signal handler
> >> [1142218881.929239 /timer debug] adding signal handler 0xd6c14 for
> >> signal 1
> >> [ 1142218881.931204 /log debug] adding log rotate signal handler
> >> [1142218881.933055 /timer debug] adding signal handler 0xd6b9c for
> >> signal 10
> >> [1142218881.935286 /dtnd notice] DTN daemon starting up... (pid  
> 1870)
> >> ERROR: dtnd (pid 1870) got fatal SIGILL - will dump core
> >> STACK TRACE: 0xce810 0x403c5d00 (nil)
> >> Illegal instruction
> >>
> >> any thoughts?
>
>


--Apple-Mail-1-446581435
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">First of all, let me say that =
this discussion should be on dtn-users. I don't know if ryan is on that =
list or not, but if you're not, please in the future use that list for =
dtn reference implementation questions, not dtn-interest.=A0<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>As far as building tcl =
statically goes, it's a bit confusing, but you need to run tcl's =
./configure --disable-shared to tell it to build a full static =
libtcl8.4.a.=A0You don't want the stub library linked in.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>As far as your original =
problem goes, I suggested linking statically to try to confirm that it's =
not a library compatibility issue due to the cross compilation. I don't =
know if this will help or not, but that's what I suggest to do =
first.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-mike</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR><DIV><DIV>On Nov 13, =
2006, at 8:12 AM, ryan m wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite"><SPAN =
style=3D"color: rgb(0, 0, 0);">my libtclstub is <FONT face=3D"Arial" =
size=3D"2">libtclstub8.4.so.a and if i try to link to it with a link =
name of </FONT></SPAN><SPAN style=3D"color: rgb(0, 0, 0);"><FONT =
face=3D"Arial" size=3D"2"> libtclstub8.4.so.a or</FONT></SPAN><SPAN =
style=3D"color: rgb(0, 0, 0);"><FONT face=3D"Arial" size=3D"2"> <A =
href=3D"http://libtclstub8.4.so">libtclstub8.4.so</A> in the /usr/lib =
directory.=A0 ldconfig complains it " is not an ELF file - it has the =
wrong magic bytes at the start" so I had to leave that link out, but I =
did do the other links, but dtnd crashes the same way. =
</FONT></SPAN><BR><BR><DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Durst, Robert C.</B> &lt;<A =
href=3D"mailto:durst@mitre.org">durst@mitre.org</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2">I added links in the target for the following:=A0 =
</FONT></SPAN></DIV> <DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">in /usr/lib from <A href=3D"http://libtcl8.4.so"=
 target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtcl8.4.so</A> -&gt; =
/usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib from libtcl.so =
-&gt; /usr/lib/libtcl8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">in /usr/lib/ from <A =
href=3D"http://libtclstub8.4.so" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtclstub8.4.so</A> -&gt; =
/usr/lib/libtclstub8.4.so</FONT></SPAN></DIV> <DIV><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" size=3D"2">For some =
reason, it seemed like the tcl libraries wanted to be in the same =
directory as the pthread libraries (but I haven't confirmed that).=A0 I =
just moved on as soon as things started working.=A0 </FONT></SPAN></DIV> =
<DIV><SPAN><FONT color=3D"#0000ff" face=3D"Arial" =
size=3D"2"></FONT></SPAN>=A0</DIV> <DIV><SPAN><FONT color=3D"#0000ff" =
face=3D"Arial" size=3D"2">Let me know if this helps for =
you...</FONT></SPAN></DIV> <DIV><BR></DIV> <BLOCKQUOTE =
style=3D"border-left: 2px solid rgb(0, 0, 255); padding-left: 5px; =
margin-left: 5px; margin-right: 0px;">  <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">  <HR>  <FONT face=3D"Tahoma" size=3D"2"><SPAN =
class=3D"q"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g </A>   [mailto:<A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B>On Behalf Of </B>ryan   m<BR></SPAN><SPAN =
class=3D"q"><B>Sent:</B> Monday, November 13, 2006 10:34 =
AM<BR><B>To:</B>   DTNRG<BR></SPAN><B>Subject:</B> Re: [dtn-interest] =
DTN on Zaurus   sl-5500<BR></FONT><BR></DIV><DIV><SPAN class=3D"e" =
id=3D"q_10ee206ceb4bf1cf_4">  <DIV></DIV>is that something I can do with =
a configure argument to building   the tcl library (I can't find it in =
./configure --help)?, and do you think   that doing a static build is =
the best way to fix the original issue I was   having on the PDA? =
<BR><BR>  <DIV><SPAN class=3D"gmail_quote">On 11/13/06, <B =
class=3D"gmail_sendername">Scott,   Keith L.</B> &lt;<A =
href=3D"mailto:kscott@mitre.org" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">kscott@mitre.org</A>&gt;   =
wrote:</SPAN>  <BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: =
1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;">    <DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2">I     suspect the answer is =
that you need a 'real' tcl library (a .a file) that     can be linked =
statically.=A0 I don't think shared objects (the .so tcl     library you =
have in the arm directory) can be linked that     =
way.</FONT></SPAN></DIV>    <DIV dir=3D"ltr" align=3D"left"><SPAN><FONT =
color=3D"#0000ff" face=3D"Arial" size=3D"2"></FONT></SPAN>=A0</DIV>    =
<DIV dir=3D"ltr" align=3D"left"><SPAN>=A0=A0=A0=A0=A0=A0=A0     <FONT =
color=3D"#0000ff" face=3D"Arial" =
size=3D"2">--keith</FONT></SPAN></DIV><BR>    <BLOCKQUOTE =
style=3D"margin-right: 0px;">      <DIV dir=3D"ltr" align=3D"left" =
lang=3D"en-us">      <HR>      <FONT face=3D"Tahoma" =
size=3D"2"><B>From:</B> <A =
href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A> [mailto: <A href=3D"mailto:dtn-interest-admin@mailman.dtnrg.org" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-interest-admin@mailman.dtnrg.or=
g</A>] <B>On Behalf Of       </B>ryan m<BR><B>Sent:</B> Monday, November =
13, 2006 10:17       AM<BR><B>To:</B> DTNRG<BR><B>Subject:</B> =
[dtn-interest] DTN on Zaurus       sl-5500<BR></FONT><BR></DIV>      =
<DIV><SPAN>      <DIV></DIV>when i configure with =
this:<BR><BR>./configure --build=3D`uname       -m`       =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR><BR>configure       completes fine, =
but... when I do this:<BR><BR>./configure --build=3D`uname       -m`     =
  =
--host=3Darm-linux<BR>--with-db=3D/opt/arm-linux-libraries=A0=A0--with-tcl=
=3D/opt/arm-linux-libraries<BR>--enable-static<BR><BR>I       =
get:<BR><BR>configure: checking for tcl installation (version 8.4 )      =
 <BR>checking for tcl.h (version 8.4) in       =
/opt/arm-linux-libraries/include... yes<BR>checking for tcl library in   =
    /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<BR>-lm -lpthread ...     =
  no<BR>checking for tcl library in /opt/arm-linux-libraries/lib: =
-ltcl84       -ldl <BR>-lm -lpthread ... no<BR>checking for tcl library =
in       /opt/arm-linux-libraries/lib: -ltcl -ldl -lm<BR>-lpthread ...   =
    no<BR><BR>configure: checking for tcl installation (version       =
8.3)<BR>checking for tcl.h (version 8.3) in       =
/opt/arm-linux-libraries/include... no <BR>configure: error: can't find  =
     usable tcl.h<BR><BR>and it is       =
there:<BR><BR>edifyteam@runabout:/opt/arm-linux-libraries/lib$ ls -ld    =
   *tcl*<BR>-r-xr-xr-x 1 root root 743365 2006-10-31 17:28 <A =
href=3D"http://libtcl8.4.so/" target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)">libtcl8.4.so </A><BR>-rw-r--r--   =
    1 root root=A0=A0 6894 2006-10-31 17:28       =
libtclstub8.4.a<BR>drwxr-xr-x 8 root root=A0=A0 4096 2006-10-31       =
17:28 tcl8.4<BR>-rw-r--r-- 1 root root=A0=A0 7333 2006-10-31 17:28       =
tclConfig.sh<BR><BR>without enable-static: <BR><BR>configure: checking =
for       tcl installation (version 8.4)<BR>checking for tcl.h (version =
8.4) in       /opt/arm-linux-libraries/include... yes<BR>checking for =
tcl library in       /opt/arm-linux-libraries/lib: -ltcl8.4 -ldl<BR>-lm =
-lpthread ... yes       <BR><BR><BR>Thank you for the =
help<BR><BR><BR>Michael Demmer       wrote:<BR>&gt; try statically =
building dtnd and see if that       works.<BR>&gt;<BR>&gt; =
-m<BR>&gt;<BR>&gt; On Nov 11, 2006, at 10:31 AM,       Ryan Metzger =
wrote:<BR>&gt; <BR>&gt;&gt; So I finally had a chance to try       out =
the DTN on the zaurus.=A0=A0So I<BR>&gt;&gt; copied over the       libs =
that I had cross compiled, which seemed obvious<BR>&gt;&gt; to do.       =
Then DTN was complaining about stdc++ lib so I copied over the       =
<BR>&gt;&gt; libs from the lib directory of the cross compile tool =
chain,       I figured<BR>&gt;&gt; that if it was linking in those libs =
to make arm       binaries the libs<BR>&gt;&gt; themselves must be arm =
compatabile, is this       right?=A0=A0So the sum of it <BR>&gt;&gt; is =
I get this when I try       to run       =
DTN:<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;=A0=A0root@collie:~/Applications/D=
TN_wireless/DTN2/daemon#       ./dtnd -l DEBUG<BR>&gt;&gt; -c ./dtn.conf =
--init-db<BR>&gt;&gt; ./dtnd:       error while loading shared =
libraries: libstdc++.so.5: cannot <BR>&gt;&gt;       open shared object =
file: No such file or directory<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# =
ldconfig<BR>&gt;&gt;       =
root@collie:~/Applications/DTN_wireless/DTN2/daemon# ./dtnd -l       =
DEBUG<BR>&gt;&gt; -c ./dtn.conf --init-db<BR>&gt;&gt; [1142218881.762749 =
      /log debug] adding log reparse signal handler<BR>&gt;&gt;       =
[1142218881.929239 /timer debug] adding signal handler 0xd6c14       =
for<BR>&gt;&gt; signal 1<BR>&gt;&gt; [ 1142218881.931204 /log debug]     =
  adding log rotate signal handler<BR>&gt;&gt; [1142218881.933055 /timer =
      debug] adding signal handler 0xd6b9c for<BR>&gt;&gt; signal =
10<BR>&gt;&gt;       [1142218881.935286 /dtnd notice] DTN daemon =
starting up... (pid 1870)       <BR>&gt;&gt; ERROR: dtnd (pid 1870) got =
fatal SIGILL - will dump       core<BR>&gt;&gt; STACK TRACE: 0xce810 =
0x403c5d00 (nil)<BR>&gt;&gt; Illegal       =
instruction<BR>&gt;&gt;<BR>&gt;&gt; any thoughts?     =
</SPAN></DIV></BLOCKQUOTE></DIV></BLOCKQUOTE></DIV><BR></SPAN></DIV></BLOC=
KQUOTE></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>=

--Apple-Mail-1-446581435--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAB2PbY05407; Fri, 10 Nov 2006 18:25:37 -0800
Received: from [192.168.1.3] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kAB2PZJe022382 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Fri, 10 Nov 2006 18:25:36 -0800 (PST)
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/mixed; boundary=Apple-Mail-5-221142683
Message-Id: <F460723E-F734-4D80-8E34-60A07320CA8F@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
X-Applemailsentby: demmer
Date: Fri, 10 Nov 2006 18:25:36 -0800
To: dtn-interest <dtn-interest@mailman.dtnrg.org>, dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Subject: [dtn-users] interoperability at IETF 67
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-5-221142683
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed


This week several of us completed the first DTN interoperability  
testing at IETF 67 in San Diego and it was a great success!

The setup:

There were six teams present, running several implementations,  
summarized as follows:

DTN2:	Michael Demmer -- UC Berkeley / Intel Research
	C++; TCP + UDP CL; Mac OS X and Linux laptops & Nokia 770 PDA

DTN2-ECL: Jeff Ward -- BBN
	C++ & Java (external convergence layer); TCP + UDP CL; Linux laptop

DTN2-ER: Keith Scott -- MITRE
	C++ (external router); TCP + UDP CL; Linux laptop

DTN#:	Kevin Webb + Jon Olson -- GA Tech
	C# (.NET); UDP CL; Linux + Win32 laptop

ION:	Scott Burleigh -- JPL
	C; UDP CL; Linux laptop

TKK:	Joerg Ott -- Helsinki
	C++ (Symbian); TCP CL; Nokia 9300 phone

Note that the above list contains four completely "bottom up"  
implementations of the bundling protocol, two variants of the DTN2  
reference implementation with externalized components, four  
programming languages, and six operating system/runtime environments.

The tests:

We demonstrated basic bundle generation and successful parsing  
between _all_ pairs of implementations over compatible convergence  
layers. In other words, everyone who spoke UDP successfully  
transferred to/from everyone else who spoke UDP and ditto for TCP.

All nodes demonstrated status report generation for (almost) all  
status report types -- reception, forwarding, custody acceptance,  
delivery, and deletion. We did not test the "acknowledged by  
application" status report since no-one implemented it yet.

We demonstrated custody transfer signalling (both positive and  
negative) between DTN2 and ION.

We were able to successfully handle extension blocks generated by  
DTN2 and processed correctly (in this case dropped) by ION when  
forwarding the bundle.

We exercised the recently-specified TCP convergence layer protocol  
across three independent implementations: DTN2, DTN2-ECL, and TKK,  
including the keepalive functionality and some preliminary  
experiments with varied segment lengths.

And finally, in what was perhaps the most ambitious test, we set up a  
ten node linear topology involving all the implementations (see  
attached file) and successfully sent a bundle along the entire chain,  
with various sizes of bundles, custody transfer both enabled and  
disabled, and all status report flags selected. It should be noted  
that for this test we sent the status report signals to an alternate  
report-to EID that was different from the source EID of the bundle,  
and that the status report features were quite valuable in debugging  
the network.

All in all, this testing exceeded my own expectations and those of  
many others, and moreover, it was a lot of fun. Thanks to all  
involved and I look forward to the next DTN interop event.

-mike


--Apple-Mail-5-221142683
Content-Transfer-Encoding: base64
Content-Type: application/pdf;
	x-unix-mode=0644;
	name=dtn-interop-topology.pdf
Content-Disposition: inline;
	filename=dtn-interop-topology.pdf

JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCA0IDAgUiAvRmlsdGVyIC9G
bGF0ZURlY29kZSA+PgpzdHJlYW0KeNrFWtty2zYQfd+vwIxfms6YweKO17rpTJsmndaa6XOi2JOm
cuI47uT3u7iQBCRSFkXJlG/iMUDu5WCx2NVX9if7yqSh74bTS1tmBWdacfZww/5mn9nLq2/I1t8Y
xq9v6zBY2zTaxMGXaTTcPnkvyb7TPX6jn0/MsTfp3lfXjMev6yuazhshfXxBwC7763BbxPhOW904
x7ll6zsmLF3R4wQL/23iAEIdii0UhNM8Y8LoNLLApOQJW1eoN3kkapMxZQSEX+ES4yXNscZno0Qg
CcVRM9TCpluUmJf5YVCgRmURfIG5PJsUiaBkaLET9Zqsnn0EyY7kIyMb5WgqNoomBHtYkYynI0rP
4Y5tmDGNDvcJY11jeDDphn1ktz/CobygJzaOxxfSW5PeiiCFFUwplYwCZHJ2aeL020iEvc5nu87v
WQfkdSQHaabptyLxHWloyI462r9HNwVKQnZomt0hEHQOhpygdDL0tsxQi8zTfXzg6U8r8n+cR3/Q
E42sUmx1x17+gg2nNbG6ZT98uLm7u3m4vHu3fgGrT+zV6jmFkpFuekeon1dvxQsWxYFJ4owRQ0h1
PmY4scsD4osMLg+ilOzo0ZId3R2gRE/AkLRAD2QIF3qQIu/ffw7OgNNwo5Runzieq1FuXL66+j3z
I4kEM/mh+FkjR3IvVvwQPDFBVPzo0Tp65Dssyg8dovZ4CLlfIoKg8fx5QoimXSxsXQ46orDZRIE+
sQmJBfrtPUZY1BW0aaGSCWnikuSgAIuD5Lj/sv735nEBZgipRwPIxUmZQVmHRHfOrAM5JRUq5Zl9
ftGjZdaBUnRont0iz591RB8QO7d98Ol+g0f5YN6eIhXZB8WOOL/+8bbaTipp4Lh0o6NEESVgLiVY
mW5ASYs+sShpUaAFLfqEZUFqeDdMjbt/Hh9uxBIJR9hJBshR7CSnYQd583zsECInEBU74pE1phUl
Owq0YEd3hyXZIZQWg/T4/u5hgcAhVDipDJPjYpscMDcTLXYT6c6TiVbkQM4HyNGj1Y7SZqIl+tyZ
qNV8kBzW8gUCB9pxcoiTkiPsK3SQP/cxFk1wfb2pJKjaUZxOUDExQgsUNzgdFo1Xg3vJAuHC00na
8JGj618npYT05nyUoPyx9n84top2z2gpUUAtJYqJS1HCWD9ECS85X4AR8Zw6QInV69eH5xaTqtnb
zoWRarbJ1WBD71So8cZzp/WyuN6URd/gg2QMIUxDJz7FfWRnpIdUDamgUHYl33YU2ob0oeekeu+T
5J+sLRxQu4/hKy6jUltUtbpQqdv6Xnq1rS7t1o0MVYFK43ZgqzFUGs/pVsDexTvcreBtZ6HUWKB2
MOrgVmOtVcNlqNaXSodKiKUn2V5p0rAYO+zpA/WGN5OD1kiXBjVUKltd2kBYWpE2tT/aS8d1vlxn
wGICQCBiMqOXJg9CJXNHpsfWtNpVcV30WmhyaguVmHFtX6VAEXOzyKseM2KnK0PBNT4G1sP+S10Z
4WzsyuiqKxPQZKyyKyPoibErsyhn+5hUdtgoJkF/PULZHG2Ek5Gvro9JpcJpFAiPM5haagszmNrH
pL5zmGPSk+rmUFOq28ekTmPoYtJcjeE0azOcLXg8pJYdVJHOPeJptTUtm1rtWElFUXm5HTVRZ5i1
zw7pDLWXrYjJtTKuAMYc7KIOqG3SlJgRGsQoqrZqO8roCZrCtPxmX7oFlodzkNnJbx7X9+P5zVC2
BSeQhmzt4gFRwVxxOuPAbHFK60AS578PR4hTfC6C00+brisKckESxS6Fa2zafeI5YGqSC/P0VNKf
RM/ZZQKTSbDNySzNM1cJKObpfeJMLi9OXSKw6yvj/FELFuZL0xoHknG4Ho4fU5gDuyuEUjEhXd4j
6hUSMBxZIWe0ug6dbX+UmjCpJdUVBYa7lHB0hTk3ldqCQNd5gq4gUDSjioJAmNRe7i8GnJ5elNkO
1ALWH989fPl8IL9OuVuGz70M14cuDo+TMUuBE2cpReYdiqypEBDf7s+3UeNWvg2o9Va+HT5CMC37
3Pmc2bFbU9gLTAwvML7u/gc0lYkBCmVuZHN0cmVhbQplbmRvYmoKNCAwIG9iagoxNTM5CmVuZG9i
agoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgNyAwIFIgL1Jlc291cmNlcyAzIDAgUiAv
Q29udGVudHMgMiAwIFIgL01lZGlhQm94ClswIDAgNzkyIDYxMl0gPj4KZW5kb2JqCjMgMCBvYmoK
PDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA1IDAgUiA+PiAv
Rm9udCA8PCAvRjEuMAo2IDAgUiA+PiA+PgplbmRvYmoKOCAwIG9iago8PCAvTGVuZ3RoIDkgMCBS
IC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
bQp42n2ST0gUURzHv7MlQqwFZSZS8E62B1cG7WAdjN31b8q2rGumCLLOvtkdnZ2d3sxuJR5CiC5B
1jG6WNFJOoYHDx0CDxGCYl0i6CgZBIKXkO03M7vuiNqDN+8zv/+/33tAXShtmnqAAXnDFsn+KLs7
PsHqN1CHBgRBK61YZiSRGHaZbHFk7X2F5Jyb4eP1/10NghICElWAxqzH1xye9njA4fu2aRNPOqzk
0hlik7hNpJIx4lfEZ7M+nvZxhlsK8TLxTcUUFCeQIh4oKVkn5g6xbGQ0g+SXibsylpInJt/AU2cW
Xpn2ENB9BTj1uSabsIDld8Cl1pos1AxcHANWOmuy3aQ7H6lp3VI7O1yRFIwCdT/K5d1WoP4FsP+8
XP77ulzef0M5vgMfdaUoSpUZSdIXwOvDXY393OBCU5hzXwlRUDWd+0Z6vNrr14tH9SWrdBJ7M3FX
F7BE9zB2Bhh6DLz8CVx9D1z4ACQagNR1BB6hum3+wM0TK5gPhZbN2axDljtY2Dk6WYReCGexQt4s
2lywQUNpb2NpXWeuqcUEt7go8Uw78nqx2u852kFujI7QSfMKqNzqrbA0k0n30N2gnXgjw3t6nXdB
vKhqfYPOhdD+pIq+UY+l85o9mPI40G3o8eEKwyjEb3sxsWPa0WQ1vlUa6a3KZ9K3EnS2kPzGbGHI
sWki39BcLjXmsZSay8XiFV7FOHRwaDDoa4AhiX5EEYYJgQJU0mhkoZGUuzaC2MLssZY6Ej5mpN8m
n23X5x6K5O143UE0joW2gwhM/ib/lrfkJfmt/GuxpRiqaRbElKasP/tDcZ3M1bgVbaUmL75CeSOk
1ZElaf6gJ8tXqa861VhsqUVycvAn8T1fl9yXKYxpN9Ksm6nk6iz6RnzZTpoe2a7NrzbXcm2dXpnc
DK7NH5pV4UhX/KCrw/81O78//wfNsAFoCmVuZHN0cmVhbQplbmRvYmoKOSAwIG9iago3MDYKZW5k
b2JqCjUgMCBvYmoKWyAvSUNDQmFzZWQgOCAwIFIgXQplbmRvYmoKNyAwIG9iago8PCAvVHlwZSAv
UGFnZXMgL01lZGlhQm94IFswIDAgNzkyIDYxMl0gL0NvdW50IDEgL0tpZHMgWyAxIDAgUiBdID4+
CmVuZG9iagoxMCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgNyAwIFIgPj4KZW5kb2Jq
CjExIDAgb2JqCjw8IC9MZW5ndGggMTIgMCBSIC9MZW5ndGgxIDIxNTI0IC9GaWx0ZXIgL0ZsYXRl
RGVjb2RlID4+CnN0cmVhbQp42pV8CWBTVdbwvfetedneS9IkTdLkpWkKNGChLZSWSh9LQSn72iKV
simrtBQQ3KgLoBWVcRTXEXAFHSS0BUt1PjrK6IgyMOM2OqOi4jpTYRwGF2zyn3uTlqLO/39/0nO3
d9+7957tnnPuaxBGCFlQI+KQsWDFvDr8FCmEltcBOhasXa1vq/vLWoTwFoTEgVfUXbmi6rF/jUBI
egEh4c9XLl9/xa/f+WYNQtatCJU8vHjRvIWnOh++AaGx/eH+IYuhwbHC8hTUF0I9Z/GK1eseddmf
gfqtUL9n+coF805XdT2N0CUBqI9fMW9dHf+Y5V6oL4a6ftW8FYs+cl++Guq0v163smE1V8hvh/ou
qC+vW7Wobmri8JcIXepCSElCG0Z0PXRFImqFPIJmpFsu/BCWcohHAvRMfSQA+Rf6mpCCzOmyBcCK
bJDakcpaNAAH+m8fJ3KhDORGHlbzokzkQ34UQFkoiEJIh7YwQDbME/AjtKNMAJ/wFMrkc6E3Sn4O
8AXNE0uSX9DrNCdfQe+2NCC0C+3BS9AedAi9iE/DXXvRQVj7H2HM0ehhdB26B22GNc6GltvQVPgK
0H4Pzky2ony0E3CwEx2FvrPQDagdubE3+SXagDZyb8BdG2Gt2WgEmoxWojvw+OQaNAd9yN+MitF4
dBWqw43JquSdybuTj6Mn0EHuj8kuwJMPLYDv0eTXwl+Tf0cD4I570QPoQ3y3aT8yYJRG6PkbtAo9
yNXwOHll8geYQRhdDXPg0QR0FHeQGDx9Efoce/F13Ch4ymPJePIw9AqgGrQYPYja8WA8loSFOckJ
yaOA2wFoHTz1AdSMDsC3Df0OvYctwunk48nTgO/+6FJYTyv6E+7gEl03JsoBYwJgqR8qgSsr0f+g
V9BxHMG/JysFi1AgGMI1yTeBaoOAc2ahp+DOz/C35Ab4buBe5sckRwL1N6JfUWyjP6CPsA/n40l4
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
l4vp5bF0rGI6VjEda6wxlo2FGI9Prtono5HVYKuzvIWYFeDXWn+4eqRbrRvOmHdY2HuDvx0Mkl3I
HKuOWyIj41YAemnAiAEj6CWQKXrJRn+TKX3Je8OwsL8d70pfUqFZi4xEsdVrGtYgb8WS0am/BvhA
0+o1FOGpNNbw3z5wrSJuzBvdsBqhynge+B7l4HvskyRoraVLipd2t5nNFW3JjlTjRdBYShs5rqcj
bSujbSZTuuPP6b/m/P8OHQRD4/kWbATxatRQzcWDldMJqILp6R+/aQdziW4PDdWwwAYcww3dz2DT
TgcZEF1vN6xeky6l8bA6nafuglsautHR86FYQv8Hmtn8EAplbmRzdHJlYW0KZW5kb2JqCjEyIDAg
b2JqCjE0NjY2CmVuZG9iagoxMyAwIG9iago8PCAvVHlwZSAvRm9udERlc2NyaXB0b3IgL0FzY2Vu
dCA5MDUgL0NhcEhlaWdodCA3MjMgL0Rlc2NlbnQgLTIxMiAvRmxhZ3MKMzIgL0ZvbnRCQm94IFsg
LTY2NSAtMzI1IDIwMjkgMTAwNiBdIC9Gb250TmFtZSAvRlBUUFhXK0FyaWFsTVQgL0l0YWxpY0Fu
Z2xlCjAgL1N0ZW1WIDAgL0xlYWRpbmcgMzMgL01heFdpZHRoIDIwMDAgL1hIZWlnaHQgNTI1IC9G
b250RmlsZTIgMTEgMCBSCj4+CmVuZG9iagoxNCAwIG9iagpbIDU1NiA3NTAgNzUwIDc1MCA3NTAg
NzUwIDc1MCA3NTAgNzUwIDc1MCAzMzMgNzUwIDc1MCA1NTYgNTU2IDU1NiA1NTYKNzUwIDc1MCA3
NTAgNTU2IDc1MCA1NTYgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzIyIDcy
Mgo2NjcgNzUwIDc1MCA3NTAgMjc4IDc1MCA2NjcgNTU2IDc1MCA3MjIgNzc4IDc1MCA3NTAgNzIy
IDc1MCA2MTEgNzUwCjc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAgNzUwIDc1MCA3NTAg
NTU2IDU1NiA1MDAgNTU2IDU1NiA3NTAKNzUwIDU1NiAyMjIgMjIyIDUwMCAyMjIgODMzIDU1NiA1
NTYgNTU2IDc1MCAzMzMgNzUwIDI3OCA1NTYgNzUwIDcyMgpdCmVuZG9iago2IDAgb2JqCjw8IC9U
eXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0ZQVFBYVytBcmlhbE1UIC9G
b250RGVzY3JpcHRvcgoxMyAwIFIgL1dpZHRocyAxNCAwIFIgL0ZpcnN0Q2hhciAzNSAvTGFzdENo
YXIgMTE5IC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZwo+PgplbmRvYmoKMTUgMCBvYmoKPDwg
L0F1dGhvciAoU3lzdGVtIEFkbWluaXN0cmF0b3IpIC9DcmVhdG9yIChQb3dlclBvaW50KSAvQ3Jl
YXRpb25EYXRlCihEOjIwMDYxMTEwMTM0NDM5LTA4JzAwJykgL01vZERhdGUgKEQ6MjAwNjExMTAx
MzQ0MzktMDgnMDAnKSAvUHJvZHVjZXIKKE1hYyBPUyBYIDEwLjQuOCBRdWFydHogUERGQ29udGV4
dCkgL1RpdGxlIChEVE5SRy0xLnBwdCkgPj4KZW5kb2JqCnhyZWYKMCAxNgowMDAwMDAwMDAwIDAw
MDAwIG4gCjAwMDAwMDE2NTUgMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAxNzU5
IDAwMDAwIG4gCjAwMDAwMDE2MzUgMDAwMDAgbiAKMDAwMDAwMjY4MyAwMDAwMCBuIAowMDAwMDE4
MjI3IDAwMDAwIG4gCjAwMDAwMDI3MTggMDAwMDAgbiAKMDAwMDAwMTg1NyAwMDAwMCBuIAowMDAw
MDAyNjY0IDAwMDAwIG4gCjAwMDAwMDI4MDEgMDAwMDAgbiAKMDAwMDAwMjg1MSAwMDAwMCBuIAow
MDAwMDE3NjA4IDAwMDAwIG4gCjAwMDAwMTc2MzAgMDAwMDAgbiAKMDAwMDAxNzg2NyAwMDAwMCBu
IAowMDAwMDE4Mzk5IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMTYgL1Jvb3QgMTAgMCBSIC9J
bmZvIDE1IDAgUiAvSUQgWyA8YTQ5NTFmYmEzNTY1ZmNkZjliNDU3OTYyZmYwYWY3M2Q+CjxhNDk1
MWZiYTM1NjVmY2RmOWI0NTc5NjJmZjBhZjczZD4gXSA+PgpzdGFydHhyZWYKMTg2MTYKJSVFT0YK

--Apple-Mail-5-221142683
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	format=flowed





--Apple-Mail-5-221142683--


Received: from snatch.gtnw.de (postfix@gtnw.de [217.160.108.65]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kAAHcYY01906 for <dtn-users@mailman.dtnrg.org>; Fri, 10 Nov 2006 09:38:34 -0800
Received: from localhost (localhost [127.0.0.1]) by snatch.gtnw.de (Postfix on snatch) with ESMTP id 43FC7FD3F for <dtn-users@mailman.dtnrg.org>; Fri, 10 Nov 2006 18:45:04 +0100 (CET)
Received: from snatch.gtnw.de ([127.0.0.1]) by localhost (p15092256 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 17270-08 for <dtn-users@mailman.dtnrg.org>; Fri, 10 Nov 2006 18:45:04 +0100 (CET)
Received: from [192.168.178.102] (p548D066E.dip0.t-ipconnect.de [84.141.6.110]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by snatch.gtnw.de (Postfix on snatch) with ESMTP id A50C2FD3D for <dtn-users@mailman.dtnrg.org>; Fri, 10 Nov 2006 18:45:03 +0100 (CET)
Message-ID: <4554B912.8070707@jgre.org>
Date: Fri, 10 Nov 2006 18:38:26 +0100
From: Janico Greifenberg <jgre@jgre.org>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060922 Thunderbird/1.5.0.7 Mnenhy/0.7.4.666
MIME-Version: 1.0
To: dtn-users@mailman.dtnrg.org
Content-Type: multipart/mixed; boundary="------------040105070806070307090804"
X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at gtnw.de
Subject: [dtn-users] wwwoffle_dtn compile problems
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

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

Hi,

when trying to build wwwoffle_dtn, I get the following errors:

gcc -c -g dtnwh.c -o dtnwh.o -I../../DTN2/applib
dtnwh.c: In function ‘do_dtn_client_sender’:
dtnwh.c:206: error: too few arguments to function ‘dtn_open’
dtnwh.c: In function ‘do_dtn_client_receiver’:
dtnwh.c:333: error: too few arguments to function ‘dtn_open’
dtnwh.c: In function ‘do_dtn_server’:
dtnwh.c:454: error: too few arguments to function ‘dtn_open’
make[1]: *** [dtnwh.o] Error 1

I'm using the current CVS versions of both DTN2 and wwwoffle_dtn. It
seems to me that the parameters of the dtn_open() function have changed
in DTN2/applib, but wwwoffle_dtn has not been updated. The attached
patch should fix that.

Cheers,
Janico

--------------040105070806070307090804
Content-Type: text/x-patch;
 name="compile.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="compile.patch"

Index: src/dtnwh.c
===================================================================
RCS file: /repository/wwwoffle_dtn/src/dtnwh.c,v
retrieving revision 1.5
diff -u -r1.5 dtnwh.c
--- src/dtnwh.c	2 Jun 2006 23:34:11 -0000	1.5
+++ src/dtnwh.c	10 Nov 2006 15:10:10 -0000
@@ -185,6 +185,7 @@
 	static pthread_mutex_t clientSenderMutex;
 	static int clientSenderMutexInited = 0;
     sigset_t sigs;
+    int err;
 
 	/*
  	 * This portion of the code is NOT written in a thread-safe manner, and lots of browsers
@@ -203,8 +204,8 @@
     // open the ipc handle
     PrintMessage(Important, "Opening connection to local DTN daemon");
 
-    handle = dtn_open();
-    if (handle == 0) 
+    err = dtn_open(&handle);
+    if (err != DTN_SUCCESS)
     {
         PrintMessage(Fatal, "Opening connection to local DTN daemon");
         exit(-1);
@@ -312,6 +313,7 @@
 	static int clientRecieverMutexInited = 0;
     struct sigaction action;
     sigset_t sigs;
+    int err;
 
 	/*
  	 * This portion of the code is NOT written in a thread-safe manner, and lots of browsers
@@ -330,8 +332,8 @@
 	pthread_mutex_lock(&clientRecieverMutex);
 
     // open the ipc handle
-    handle = dtn_open();
-    if (handle == 0) 
+    err = dtn_open(&handle);
+    if (err != DTN_SUCCESS)
     {
         PrintMessage(Important, "Fatal error opening DTN handle: %s", strerror(errno));
         pthread_mutex_unlock(&clientRecieverMutex);
@@ -442,6 +444,7 @@
 
     char s_buffer[BUFSIZE + 1];
     s_buffer[BUFSIZE] = '\0';
+    int err;
     
     endpoint = "/dtnwh_server";
 
@@ -451,8 +454,9 @@
     sigprocmask(SIG_BLOCK, &sigs, NULL); /* Do NOT give me signals when system() calls exit. */
 
     // open the ipc handle
-    handle = dtn_open();
-    if (handle == 0) {
+    err = dtn_open(&handle);
+    if (err != DTN_SUCCESS)
+    {
         PrintMessage(Fatal, "%s can't open connection to dtnd", __FUNCTION__);
         exit(-1);
     }

--------------040105070806070307090804--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA8F87Y13773 for <dtn-users@mailman.dtnrg.org>; Wed, 8 Nov 2006 07:08:07 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kA8F86PK018152 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 8 Nov 2006 07:08:07 -0800 (PST)
References: <88412B03-8757-4FB9-9F1D-F605ABAC7DCB@cs.berkeley.edu>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <DCD07D10-A251-487F-AE74-239420D5D995@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] dtnd assertion failure
X-Applemailsentby: demmer
Date: Wed, 8 Nov 2006 07:07:57 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

i'm not exactly sure what's going on... but i see a couple things.

first of all, you're running into a TCP convergence layer bug that  
i've been trying (unsuccessfully) to track down -- you can see it in  
the logs like:

    [1162936595.827720 /dtn/cl/tcp/conn/0x8e86b48 error] protocol  
error: got BUNDLE_START before bundle completed

as for the actual assertion, it's strange and i don't really  
understand it. somehow there wasn't a forwarding log entry created  
for the given link, but there should be since every time send_bundle  
is called, an entry is created for the link.

i saw one missing lock in the forwarding log which i've fixed but i'm  
still skeptical that was the issue.

-m

On Nov 7, 2006, at 10:18 PM, Shimin Guo wrote:

> Hi Michael,
>
> We are doing some long-term stress test on the DTN Reference
> Implementation. I just encountered an assertion failure. The code I am
> using is as of Oct. 28 from the cvs, with TCA extensions. I attached
> the info-level log. Could you please take a look and see if you can
> figure out what the problem is?
>
> Thanks,
> Shimin
> <dtnd.log.gz>




Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.224]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA86IdY10140 for <dtn-users@mailman.dtnrg.org>; Tue, 7 Nov 2006 22:18:39 -0800
Received: by wx-out-0506.google.com with SMTP id h27so1541235wxd for <dtn-users@mailman.dtnrg.org>; Tue, 07 Nov 2006 22:18:38 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=qE7t7gxY4PmcEY8pnHYzrkzH6yGV+TNArSJYEBGvjd558g/1qL+D8wBneT0BGsbHAw/5Q0z9AMcSRXzemvixQKpCHK1PE79Avc0sMyuGQlWEXLwNn/w2aqEjGg6g08SzqdhtLlr6erc1d6eE8EExHYKj/GmQa8NI4Kl9l93ipkc=
Received: by 10.70.33.10 with SMTP id g10mr5209598wxg.1162966717685; Tue, 07 Nov 2006 22:18:37 -0800 (PST)
Received: by 10.70.21.6 with HTTP; Tue, 7 Nov 2006 22:18:37 -0800 (PST)
Message-ID: <17fb7c570611072218kf1d5431mc547a2b3d8c796c@mail.gmail.com>
Date: Wed, 8 Nov 2006 01:18:37 -0500
From: "Shimin Guo" <smguo2001@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/mixed;  boundary="----=_Part_18857_17488747.1162966717350"
Subject: [dtn-users] dtnd assertion failure
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_18857_17488747.1162966717350
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Michael,

We are doing some long-term stress test on the DTN Reference
Implementation. I just encountered an assertion failure. The code I am
using is as of Oct. 28 from the cvs, with TCA extensions. I attached
the info-level log. Could you please take a look and see if you can
figure out what the problem is?

Thanks,
Shimin

------=_Part_18857_17488747.1162966717350
Content-Type: application/x-gzip; name=dtnd.log.gz
Content-Transfer-Encoding: base64
X-Attachment-Id: f_eu9byvso
Content-Disposition: attachment; filename="dtnd.log.gz"

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
IKC7vL2awX02FFXsPCS5MfcFvNYDz/rOboRv+fyvhgzFg9tyX2Cgr1CCq+D+xLy+E1QMoSOf3zTn
9bE5T+YoLH6Eed/G56Bo9pl7x/dqKNhO7eNbc1/ABzf0rE/cKJiATytDUJT1ehfuEwxNC5ARheNm
Yl7fCaqxDtqFnExzXh+Zc4bMqWIzs4fhvvPPwSmFmbY947gvhmjh/Hh1fGfwcWBO79mNUC3P+sQQ
KH9IrHaMV9Civ0IZrYL7E/P6TlBpEV7KhMxxvzmvj80FVpkPJfGAgsr8EOG2FRhvYf+3XwczQPRx
AQZ4ZHyFfMt1MAP0zBZg4nNEA65CSmmjKbxmjrUKXuevKiGlV9Ek+BrMz2qNCo0espXuSJmrVXZl
qPjMqxPVcX0GrcquyRytP+EOFIUHBE98BtrNlbJZSorCPTPVSlnpS/j5rSHUK6IYR/QdADNRyTpB
jap82ZXzu2YlazLH9bTehhbJocvRwGVgqBF8Nf2Crye8wUIccRBv2y/gcQsVi1C5tVbzmyRg58c2
vckYQkVd3660pm2fFzd9aRYfXRsYvl5/W3J/++Pff3377c83KeRvv//n5TcCw9PSJ/aXH+ijT79/
/d9fn3791x+fftzGix9+XBsIq9Wq6Cq/Pfr8sJcvX75//fPPuofGy64Wrw9Nms1/vHwX/R4JrPz8
WqzmLO1Dg/z6zH98fvk7y8x+/+mnz9+/kv/+n6jO/vTp9JdY+eXl229fv1w8zittS/N+tRcUlJyX
bP+bj9t3H/Pv3pvo7H4k3go2E6Dzg5NgM/1VFmx+3XpsPlpBsj5UNHGqCCkdgs3rJkqLj66NniT0
tYcU+/bYlpBCmyDtWjIecs7Uvu7fdJdafDRbsDn9+KhZKiH9+IVkO9RKtr89KzzjYjVe7IjTICNr
SiplaXtEqx7FysArlTI+ded/SciWKmVnqCG2qpS9ftXCgVZc79eL558r2M64kS2JU4cQvtFc0ok2
iCFmOkXGn12ArzOcAPiAy+BVH4BnVi3QKxcAbqsQsMMD6BcixJKa+PRWQwmGJucvldGVRV97IdSI
vi6bnZywaq32dHLHS3C3dw5a80aQu9DbvE7sbYljnpFo43E9RgZL5Ws7+tTH2iStkFAkr5UTHt6s
qaRRfdnA6YTW+JqS34qVzdwbDIZqzZhCattx4ForfXuCyjcGQ6BOrPt8hRqwaU+YhTpRpvkENSjb
kbJqe66wxBwHlXZzoVVy92wu+o6Fe3MB7qs5Yn7HYDbLJbO5SPMtRcWHb+dNv4W+pLUNuVr/nqW6
owe6CUv1BNVDa+OP16/KuNzkMvJA58wzeOu6kpCuLtjPPhzehAVfDQUIt+yae4JhrKvo0VMRxScW
HJ6gWhV0R1jtKTgERSMTVKmn6MMEHrA8dMrUnBEcSkQQQ7QuvFES0jHuJ/Aex3XNPbtRuLgyEkMm
6kMiI4O8AkOFYtc+993cgkOGyhce7cnHrqfgEGRt6+6g6Oj4W47kgKz5leliMI77YkiHUnHI/XJf
wBtluxIQs9wXN4p+Oe+LIWv8oYLDQV6BgCPuOt3cgkOGCqrmDmXD/Z6Cw+hoSEPcqwx5DO4DDx1e
SuZN4T4bMnpPLvNOuS/gXV/fshz3xY2A/vFpZciGPf2a6dwnGFEFNaKRgJtbcChQIXZcSrqegkPU
ZM7a0lHKw3Cfvqi0UTmhgXHcF0M2diqy3Zj7At75vsKDHPeTG8HFebkYCrinWTmb+wyDX/yI/b6b
W3DIUJ1RHX3ZXE/BIYZnZXXYuwh6DO4j/RafLToayH02FGKpfvWOuc/gadXSJTSQ5X54tsb45bQv
dqIrqeS9C/UJhnNYOnGsp/7cekOG6o3tqDlyHfWGWlk2p+6gf9Dht6wVhTEftMrUHA2jfjIE9kBG
zu2ofwIfoKvJd4b67EaethHmaWUnxlJK8TtQX2AEbyt68VVQf+plvUAFY0tnoznqd9zVaq04b8p3
blzvi/ra8tD5quvFQ9QXQxZu1T7oGPUFvNN6KPXJjUJEo55Wdohzt531BUbUY8pT3NRqwwSVYmUH
9TuqDbUGNtcrjnlf1DcUxtCsdHJnUF8MObN3dXWf1E/gve9SEs9SH54jd7x+WtnxUCodfQ/qEwzu
iDsk781NTSZLUDk3s536HTlM2jgy53eV3h+D+v6ZNky+4jT3amnwlCK7BTpOl0anZp9EiCHN+icP
GZgEPMLIrKPk5IHcfPU6tKEv3zgyMYzoK2b6isg0scXBCarx0HMK2dzigMxZTeZ0vAP5k+Nv2Toe
upiTPxnHfTEE+latjY5xP4F3fa2NctwXNzJmKXWcDMWiusZ7cJ9hWG/0PqEquD8141CgOlOjyL7h
fkfGobaRzRn4ALeP2mlOfbG5lobjuC+GwD/mMWQCH2FceeDZjUJYzvtiCNVebtZs7jMM2n4NaWPu
p2YcCtRgoCSnl+G+78g41M6Lub2ek4/B/cgZVOeuUBO5z4Zg9079TrnP4Gkghs774kZWq+VphBhC
v7c6ms59ggFBVxzsV3B/asahQI3goX3N7zsyDrU3nC5i9u6HH4L73vPQ6ZBpYz6O+2Io2ofMNj6B
XzWAOsr95EbBhqeVIcS9RPbZ3GcYGFxpZVvP/akZhwzVKOt1eztT35FxqD2KuXj7dqbH33Iw9Fvg
3HFoHvfFUMRSRvj9cl/AoxmbepDcCOOS+2xIK3fr3AOBEYovq577UzMOBapxqkJAasP9joxDWiOz
OX0HrYwHvGVyQBO1ml1pkAyhtf2aJrfkvoA/t/Ydw/3kRl7j06UhSyHyxskHAgNchWxtBfenphwK
VEf/115p4HtSDsGwoC9USMBevbUbIXm2AsNKnZ1gBkg6LsBYehHqQ9Re0n5XnCpOPwkRQx5K/QTu
NyoKeL6oHBkVkxtd1F4mQ1BUWHqPqMgwvI1Dmj/4udmYDDW4Hs0F35ONGRWNDK0VP0I2Jv+W4G1p
QikpVfdQaiMH9wJxNbpAy4UhfteRClivVJ2gRl0qxsn5XWhXqtZRP8eIqiRbUStG6mHxy//78tfn
XzPDYbcCVjYjYMX4UGGxaiuruL8WhrPow+sRSqUw3KsIHH6htZxa4dLobMdrgref2/Ka0FBQanHg
3GuKzWuWTXuGxUfXXlj0oE4zzZvAq461Aq8T9Wd1NCw+FCrS7SoiQccdfEskYKd1bW0dMu88qPw7
v5boZvcT3fJq8gLckQ+0907x2BPCyJwHo/Z7p2zFr2lgzr8jiV/TX2Xx69dl1+ajFaTg/JCCs9B+
44NbvmKWr3x27r1qv/EhYOfHNr2sGGjXPsCpC0rqtU1vFh/NF7/mH28DYIvy9+Uvtpez1/pXL1wg
bOfYkJ1jCRZEX8oJzrmAfXtsiwvYGNo6v+ZcoKPv0XYP4HJ7AGK4j6hztQUXXczGaUvzAPnoPF5T
LeSTWg8hrtSlX6Fq06xaKF+lFWBn4uUxgfHWrjT/XMHWqq+kIds8jRsG0U7Br7wA+bT6yN75cP+f
BCNiqcNtWX67F0KF/PaqMxBb4FONpiifnf/m7vMZqjZ2zFQ9VSI5QUXV0cQo9BxJJHNQypjPmesQ
89VoyWc0dHZwvqteXUbxb/Hx8qbz2MTh6LFx/MRxggoYmyeO9FUKlje6kDrUe/ME3vcloWWmj+TD
RodFz+1kKELpJugdpg+BQd8udZauj3NTS+IEqgm2pD+bCzwdJXFGOZYIoMXTNbJGYpP70rHIgx2u
opN5x16jKjhuc+Ltiqn0DR9Nuy51+oVgdL9GXWc3jNael5dLvBNusF1J4q/Wtmu8+BzBacC1D6D2
LRpV49p7XuIAb0tnPoVOGIdbjJb6YKzbjgrWqF0pH6E+okwtZUtQoy0pW9ZD7Tj1q1/kCVT0ukK1
YBP8OqruTuawI9k/YPsizyj/zIc/ePvy4+MzqubfEiJkEn57Fnne0g50wiLvBFV1LPLkq1HvVfTf
5yIvgfd65BnByYdjXFQZJUMIpcYn77HIYxiWVk4jbjdgapWRQHW07W4/d4aOKiOjkUYGbWnv/DCB
xxgeOhsz2cYXgedIbk0y5MLeydd9cj+Bx6Hngyc3Ihd8WhkK+lg/kzFe4c25xc4x7k+tMkpQMVSE
qQ33O6qMjAlkzsfSFdfjcJ97S1qwfjr3UxPLvYyxO+W+gEc98nAnuVG4SANhQyFE43dcazr3CQZQ
DBrR0wCmVhkJ1OhdSa0mx/2OKiNjNZljlboPwH3r6Lc47TKVBuO4L4b8eYHxWNxP4MF05dTmuJ/c
yOvlml8MheKF3Htwn2GgtUO6UcLUKiOGCtyUr2Pe76gyMjbSyNDM/xG47zQPnZ+/5hdDupiifb/c
F/C0tezSNc9yX9wI3aLCMBmydk8Hdjb3GQafaI+4Z4epVUYJKv9/7dzvqDIyzpO5gHtlYI/B/fgM
hv47U0szkPtsyJjOAqRbc1/AB9V5WXSd++JGYHG55hdDNu6p507nPsGwyg+5foGpOTYJKoRScUuO
+x2JK8YbMmedvb2i0PG37D0PnXPT9/tiiNMyH5H7Ah51HMr95EbRwNOlIadunQuYYIRYUX1Swf2p
0uYClUv+2uvooEPa3HikkcFYEjB6GO4Hw0OHqiaL7BD3xZDXJfWH++V+Au9g6Fkfu5GnZy9zRMRQ
gFJS63twn2EE5+IIZQGYm8jFUFmgsmPe70nkCoHMKXsHNbQD3jI5IDg7f80vhrx/zDV/Ao9j1/zJ
jcBccJ8NQVHC7124TzCipR88gvtzU64YKiosaS/muN+TxwSWRiZA6fbzYbgPgYcOYDr3xZBRpQYK
98v9BN6OPesTNwK9VA9PhmxQN573CUZUSldcnFVwf6p6eIIKupQNleN+h3q4iYrMWf0hkgqjlaHD
TO/icdwXQ9HtZazdJ/cTeOjrGpLjfnIjv1QSTIYQ4yE1sTFeocOYs744N6+PoXJUbk8ojj15fRFo
ZDDcQT+j428ZFQ9d8NPv+MSQi3v9MO6T+wLeGzM0r4/diBZCdlH3mwzRTvvG8z7DsKYoZFzP/bl5
fQzV0W9r3+/Hnrw+dGKu043vjPvkgM7pXOeAgdxnQ743EfrW3BfwZ7G/MdxPbuRgueYXQwFvfdbH
MLwLJWmGeu7PzetjqFwu3n6/Hzvy+qzSrCLqSrXHJeHOESJYF2BiUL5UtfcogciqJM9aIVp9dWBH
KLKswPDtUSeYAQpBCzAUJ4JbFRNNCNHJkOdOWo8XohP4oHDkscyJYKhg/TrA3Tj1WmCAU6X2RfUh
emr6pUCN2lbMJpsQ3ZF+aVV8RlXWlX6cqIjPrEJZuvcvSZr2UKosscOItFJGjehuHjtS/+qFDBNU
TqVo9zvXrgdotXomPqpSb6ysZOj6HTlafb3mR1RV0L9Wy798/uyXVWIJFYRSUlL9++pI12p4XwzV
oimlAuXel+95XywWxdUr9SNzORoXL2hQH+e8vKXgZfnyIW+y/QIet1CxBNUatO0J9wTs/NimN+mI
6gOU/WL7An2jrL/46NrA0EYS3lYp3/7491/ffvvzTaP22+//efmNwHB4+MT+8gN99On3r//769Ov
//rj04/b+P7DjysDQZkLcYAkePv26PPDXr58+f71zz/rHmpWcvGnhyYx3T9evksdv0yE/PxqrP41
b4IG+fWZ//j88ndWufz+00+fv38l//0/Eb386dPpL7Hyy8u3375+uXyc96a0fK32Asx7wZLtf6P9
3Obdx/y7B1pLViiebvViCdD5wUkvlv4q68W+rmk3H60gSePIASEF28/3cd0gY/HRtdGzNnQIhhCw
82NbQgpYmoVbTj8zzoTtzTo2nUMWH83Xi7XasirRuYjhTUvb6lot7fOzDDejojdX05Z4nJYpvz+j
TQjX1EoMckMwhzZcqJWcoJrgmtVK0lejif0ZDe/XCuSfa9hRDe2MJi0lwC7zl9kQ/f+2lDz4Dn1A
EoyIpddU1jLthVChZbrqHSFYrbcVAa8iNk89gxWoztQI51VA7TiLqJe5SlAhuKviSfFnF+BrRzTa
EcjkaERzV9DXVPc4GrFTareJRoTUQ+iKRuQ5sXRElZsre87ExRytavvPDTtl/tobbWzjn/X+fIjW
Gv+SvW0A1M8RQ/B6PUa0SWkJgCO7ilwioX8qtS0oSP0N6G1SEvtb9ztJaNF0lHGgbdeJE3Ng9ZBE
V5xa2CpQOTFvxEEcdhzsNAbdiFjRfmvzEjtqcMUcqtDRVBR9j89YCu42lrYKj9JCi34H/RbA65q0
fat1p7WdsVo/QdXYPj/KV9GUtr1327vvBD70aQtm1uzJh51xi959YshxquZt1+wCA2xpzV4f56bW
HArUurSJTeDpqDmk3QGZU8UjkYcJPI5/i8Occn1P4PFW74madgWeE1Sl2gOPfDWYvdS++ww8CbyP
QwNP8mHERQJkMgRQUk1+j8DDMIJzJRmf+sAzteBRoIK2JdWRXODpKHi0Dtmcu4Ni5+Nv2fOKn+hs
KgLPoewaMRQC3igB8hj3BTwo15UAmeN+cqMYlgeFYigaPJQAOcYrosOmu6Qs96cWPApUWgVXNNjY
cL+j4JFmADFX2iE/DvdF1DTbLmcg99mQV6V3dMfcF/BO40juixsZtyx6SoZCKFUbvQv3CQbQyx8h
Zo5TCx4FalTatmfMYEfBow2aVf7NHbTKOv6Wg+OhMyFT9DSO+2JIczrXA3I/gY9qKPeTGwVrn1aG
7Dlv5VbcFxgYKtL7d7kf1dSCR4HKSJtPxqPqKHi0NJweTYgfYc0PWoYOMxn147gvhgBLybL3y30B
H8+HFYO4z25k1cVNtxhCF26cHEAwgvKoBqz5OaNiJvcZqq6qzdxwv6PgkfbHNDKoS5dwj8P9SENn
tc0IHQzkPhty1vUFzFtzX8CHGEdyP7mR18t5Xwz54m30u3A/cm611QPW/LSonMt9hoq+1DIwx/2e
5I7IWefe75U7PQT3o+eyPjCdZX1TEv4v0PGLhYzk6rjIxIZ4Cn7IVYmA1+fd+ZjIlJycxn71Oqwp
Vq29R2QSGG+SM8ci09w6P4bqPLT3CWdgHZEJyZzhsXz8yISpbENnWqyM474YAlNK1bxf7ifwPozl
vriRxeWqRAxFLDUMeQ/uo1S0FOv767k/NxuNoQaLpeOBHPd7UrwwkDnj7O3bLAx4y+SAIbic/NJA
7rMhCJ1LuVtzX8AjDt2RJDeKS8nVZAjNXvee6dwnGBTqSr2w6rk/tc2CQI2m5tB0w/2ONgtOWTYX
O7P37or7TgXp5RXdZO4nQ9GWZHHvlvsn8BQjB3I/uZElt31aGcK4V8kwmfsCA4Mp9cCs5/7UlEeG
Csr69htIBtbOfa1oZNCWzmgfhvvaSi8vM/skMhlyRRXP++V+Ah/72izkuJ/cCJR5WhniY+7bcp9h
aOMrehVWcH9q1mGCSiuyDu53ZB06DWTOo7m97OLxt2wUDx3EmqroQ9xnQ0YhPuJ+P4HX1sJQ7rMb
BasXGcfJkIl7gvSzuS8w0JUSn+u5PzXrUKDaEHxH9kFH1qEzjs3p+BHmfQPcy8uE3Dm/koLiEdxn
Q9qFG+n5HeS+gI+6q8VKjvvJjXyMTytDVsFt9/sJBrqKA7QK7k/NOhSotEDxzWVODKyd+1aTOdTh
9m0Vj79lKyqnETvlY0dIyazAcAuzzuvQAVJZCzCO24sFmzsFHRYVxZCPJW2y+42KAp7HfmRUTATz
Pq5fB1i87Q2IwAAbK27s96OinpqPKVBpYxOai9wZWEdUjNwZTH2EOgz+LdG5Ym5pSeW0h1Jl8R1B
5LUeobUYdUcuYL1qZoIKNb3ZNn6n21UzncVnAwZKJ3BZldO1eIi35nw1USkestA5pX3SGlfECs2b
ijfWkcHV8sbw2UZrK4La5o2ZjjfmzLPx2jbVsV6XsovaLn75f1/++vxrZjjsVh3EZtRBBF9wyrdf
HxGc82ObhgOCLS0nq4ejXXR+o+a/+OjKwFhr8TUBeyHDB7UyfBNVAhme1xGaxCNzA+nzA3ktr84e
EdIV4M7ULCo2QpyM9PzgJMRJf5WFOF+XXZuPVpC8dkNyz3X7jQ9uvRILXukDTdcddA1vj22hqw9o
/Qi6QjNdN20ZFh/NF+LkHw8q1PShuCpRHXW8nF3Xv3rhAmEbsUMhYoMO2HEAQIDOj21xATDe4nFh
X24Hf7hNyOKj9cB48xwQnLu6iY0etfvSoS4YyiImPD4BTQzhioiJM/QvaYeB5kLE5ITUBmgWMUlf
jbHUbWuO3F+rSP6l2F/CjdZ0Nm9M1jYpRFo9a0djj5duAEpBqWXqjtjfkX4AKxxQbFRWkPo73JOg
JPS37lMgWGm/VaGOvT8Dmrk7fYZqlGuSm89C7dgc1ivvJagUPNuvaUzPoUQyhxVJaxtzul15zwVH
S3mlXSZr+qIzUkO8tTvx1pNZVpr31+KtpX9J6yN9KRp1gqqgI97KV3VvrusxbenWBjL/XMNG36Ut
nW3IJL194rJ0PBmy9lj56OFWPQkGxpI4QllbuhdChbb0qomPYI2hqEdSH8GmlrsJVLSqotytAupU
bWmGapnO7Tsj01GZdzIHFTolG3Md0rguePIZYvTtZU6PcxX4t4Tor6qA900cjgUDJ0wcCSrE2D5x
yFejvlW+/6F+fifwri/fPzN9JB+22i0XnmIIi40n32P6YBgYXGn6qI9zU2t9GKpV1rX36WJg7XEO
QMyFjxB4oqLfsq5gm9DLMxmKuFfFcp/cF/BohvbyPLlRDMucXzakFe1rb8t9gcFZziO4P7XWR6Aa
p0qL7Rz3e2p9Iq1xjC1qsjwO98kBaYcQahYdx7jPhvCcJPJg3Bfw3ozcNiY3ckT/p0tDFIv3ysim
c59h0PZ1yP5mbq0PQ3XOVbQc3nC/p9YHNZuzpfS0h+E+kgO6aGE698UQ+lKC4f1yP4FH23lCf537
yY3gos6PDXlt3aFanzFe4QFLZQf13J9b68NQg6tJr9lwv6fWByObgztQGzz8lr0iBwwRMFPrM4z7
YghUscHo3XL/BN66rlqfLPfZjbyGha5PMqSLBXbvwP0EI6oh+Wpmaq2PQI2+BuqG+x21PmSIzZnS
uebjcD9y5yvjZu/3xRAq52+kMnyQ+wIehp71ndwo6AvusyGj9raT07nPMKLX+wdoFdyfWuvDUB0x
v1Q7nuN+R62P14bNhZKw6cNwX3v6LRggU9EyjvtsSKvYWQpwY+4LeG3syLO+5EZBefO0MmSK7Xze
g/sCI8YRXYW4RHwm9xmq8bFD08t2JI94jWQu6DtoZ3b8LRtyQKt0Ts9vHPfFkLZ7qWb3yf0EPkBX
jW+W++JGISzO+pIhq0qCOu/BfYGBrqLSoYL7UxXGBaoLLrTXqNgOhXFvApkz3n4I7iMPnfeZjmID
uc+GAPYSn+6U+ww+atWl65PjfnIjNP5pZQjtXt7KdO4TDE+T6Yg1v52aciVQg1Uden62I4+JSE/m
DJbSCR6G+5YcMLC01Gzui6FoSi2175f7CfwqQh7lvriRtcuk8mSIPOvGa36GwX2zhnB/qoa3QCUa
VzQ+3HC/Q8PbO0Ujg+4OOoscf8vO8tA5nL7fF0MOOjdKN+a+gPfKDZ33kxtFvdzvi6Fg9mRjZnOf
YaBBNSLV2k7N62Oo/NN61vwdeX3eAY0MxlIV4cNw3ysaOhsh01FsHPfFkFedQmg35n4C7+zI3B52
I/oXxi3u95OhAKV+2O/BfYahaTIdMu9PzesTqEaZ0pyS435HXp/3jkYm7LZ5fgzuAw+dnX/OL4Z0
KMXnO+Y+gzdKjcztOblRQPe0MmTN3pJyOvcZBoYhfXvs1Lw+gWoDlHrC5Ljfkdfnuf2rNdApwHZf
3A8ioad1n57fEDmCNRgo6X0WwQyQx1iBCTVn3dfBDJDWWYBx4uFu+pGsGIJimtz9hmgBHw2OTMFK
bLd6WX6aDHEjyNuGaIbhPJY6vNWH6KnplwLVm9iRgmU70i99wGcNOnyIrRn9FqfI/wp7gZK4YA+l
1tXX8Msv6mmFCGCM33Wk/tVL1QlU7UxJeyDnd7Fdqs6DfjbG2BrBko244BW5kvg6iVTJlZylSb6G
rxenyIIqxiEtGWxHulbD+2Ko3mOFWtbmfWHP+zLP0ThVIQR1XZ/KqeULGtRRNa/8JnitV0Ma6rn2
C3jcQsUSVOd7LuEI2PmxTW/Sv2kNVo1MRmPLmeal20YXevHRtYHxMSwawH77499/ffvtzzdNxG+/
/+flNwLD4eET+8sP9NGn37/+769Pv/7rj08/buP7Dz+uDZybQJ2WQSKw+Pbo88Nevnz5/vXPP6se
Sv8Qrj00iTf+8fJd6vhlIuTn12LFc10RDfLrM//x+eXvrDf3/aefPn//Sv77fyI/99On019i5ZeX
b799/XL5uBBDxe3PvhfYvBcs2f43H7fvPubfPSrtKhJnt8qNBOj84KTcSH+VlRtf17Sbj1aQtLFN
Q5YNKe3n+7iWd198dG30TFnpIBdS3NtjW0IKWsWaYcedqaAPWqt7v/hovnKjB/tsndG40W41sVa7
9fws7k6t0GOuSaBaSOM3yFyZsloJv7/A5XNwRa2ENiPPHkGhvlAreYVqbLNaiXyV4uOBjIb3E+X/
5wo2JzD3bJqzivwi7u7iMoeRDUUf1NUrpvizC/C1Q+usxgmiQnVNW5KdIIBVFrdOQFtV2651xl8F
7UJJQukd2g4IDKOtrhCkv67l1QuhQstrJVWfsEKA/iOnTjnOdjX3LXXARK27rgNf7W25g88mRNBh
PUZY1MjfEeQ8Jl1/icT64jq7IMk5QEB/R5TzQlRf0PLuf8RJhZt7iSFQy2me9VA7DvPqdeIEqg+m
QkehAurc0k+GGmgRN2R123H00Tiq4G0phTy3uu25xRJzoSdZxkG7+t7JHFQoNm7M9dTgijnwFdr+
G3PY8+ssxeegze1TgI+vHZB+i+V8lHGrdae13RGl7VqtJ6ga2rUF01e1f8h+4ifwMYxcs5982Jtl
DqIYsmqv++rs5azAwDCk9sDPrTlkqI5CT/uxp++pOUTPC5y4JwL1CIEnKP4toHSun3hH4PFWux1R
057Ak6AG9Ko58KSvRlPqkXu3gecEPlz2hzgaeMSHLe15nlaGMO61fp0ceASGD76iV0xF4Jla8ChQ
gw2lJUgu8HQUPAaFbA72lCcfIvBo3iRAdLlm5mpQ685kCCnkPCL3E3inRnI/uZHTdtF9RAyBCua2
Z2gJBughG3I/teBRoEanOwSNfUfBY9CBzRVzrR+H+8A3htrMbmaeDKF1j7jhOIGPYSj3kxvR8urp
0hDo3a6w07nPMGKsmEwruD+14FGgRo+l9WSO+x0Fj8FoMud8SfLxYbhvHP2WNxmredwXQwgljdz7
5T6DR6Wgq+Axx/3kRqjM08qQNjc+bEgwaAM/IsfKTy14ZKjcTahD4Mh3FDwGI82LivnGD8N9q+m3
xKyY+TjusyHWnn7I/X4CH/vEzbLcZzfy9mLNL4ZMsUvSe3BfYNBGcMR9oZ9a8ChQjfclkfwc9zsK
HoP1bM7egaDxgLccOY/MYs0NxzHuR84gC6V03TvmvoBHH0ZyP7kRwAX32ZDRpUrDd+E+w4gwpImJ
n5orIFCdB9vB/Y6r4uAMmZMkxsfnvvNc1qdwf2d3taxvSsL/BTp6sTHXEHRcZBJDoPbERe4zMiXw
TnXJLecikzi5MQ7Wr+MtVf9WkYlheK9K2tj1kWlqnZ9Apc1dzy1ER51fcEgjE02pyORhIpM3PHQm
J8EyjvtiyIYD/XhvyP0EHlfFLUe5L24U/CLlMhnyujRRvAf3GQZojyNq9/zUXDuBGo2tUInbcL8j
xYveFo2MKyaFPA73yQEhgpk+74shxNKF9h1zn8BHda6EHsN9cSOv4vIkUgxpf6y90hiviPS2Rkit
+6ltFgQqeqP2oW6439FmIQRL5rTuvEi/L+6HwEOn/fR5XwwFCw95GpHAgx56C5HcyAf9tDIEWGoY
8h7cD0D7VGeH3EKEqSmPAlVrWyEHseZ+6Eh5JB9gc76kh/Ew3AdHv8UHpWdzXwyF+JDpzgk8y7mM
5D65kTbaqqeVnWjjjQ8iGYZxWHGyX0H9uUmHDNXSHqm9qiP0JB1CJHNG7UnhPwT1I4UxG2g1O5v6
YgiKitj3S/0E/twOdhD1I3dT1ovi5GQnxpIO3ntQn2E4VoQcQf25OYcMldU823MPQk/OYfTP3AZ7
LyH8Magfeei8qdFDOEZ9NmTxVg1VD1Kfwbtz3BpDfXIjF2O4oD7b8UWZj3ehPsEIVg/pqRjmphwy
VFC2ou3zhvo9KYcosqCqlA9evLIboL2yBgOlK6EimAHaUpdgaA3WeZJ/X0ERKcCDQTN9KySGaPZ/
yOuPBN7FoYnYyDIo0S5PQMWOD6Vrh/cIigwjGlNqp1ofFOfmYgrUKv2GTVDsycVEFHN30Gh2wFtG
+orBUvJfSeG0h1FlTZqECF0YcfIeOvIA6xUzBaoLupQ1nfM7366YyeacAm0r9F82Cqdr9RcX4bxJ
qVR/eVV6cT9/+erUChehKt0I1L+xjuyttjfmjMUKzfXNGwvtbwyUYe1wV1EgsitjF5YK6/99+evz
r5nhsFvdE5vRPRF8DlXPahLeHts0HDQaJe3u6uGIzYu5jcb74qMrAxOsO+dFvknwEfkqJfgmKgQy
vKjBl6J29UAW2ghcy6mzR0R0BbgzUKExvBXhJKTnBycRTvqrLML5uurafLSC5NWY2x5ov+3BrVdi
wSsjdyJoV2gmYOfHttCV6zNHiHCCbqbrpj/E4qP5Ipz84xGxmIdQlKeG1ey6/tULFwjbiB2yEdvy
HjhUHFVsXMC8PbbeBSxfy7R1oMu5QEHUt7ZfyeKj9cAY92whOnVVwYTlk92XDonLHeUk0GyVpRiu
CJgEpH8ZvAJ7IWByQmpZ+bJRwCR9FeFAGkGnXmOrQP6lWqPg5uyhzuZtydpGvISvEVkJJqzcgEJW
aYLZUWs80gtghSOq0lKnoNV4uB9BUalx1aNAsKIzQ3KdYOpOn6E65VSpQVc91I7NYb2mYIIai1Ia
uUjdcSgh5rSPHUt58O2qe2LOshDF9SPDi65IY+OtsxZYde5qvKW1UTR+E28JqvW6K946i6Gz1eAx
XenW5jGXwcc5Zcb2y5O+PvRMWHkBeV3YOQmb3IwpwQAs1fiXJZd7IVRILq8a+AhWTy9nxGEJTC11
E6hBqSEtSGGqLG6C6lzHSRx0VOWJOeJChSjixlyHgCsYTz6jcO9G4BFaaoHl3+K1qWmnVy1xqugr
4yeOBFV50z5xyFeDe8g26yfw4LqUBzLTR/JhbeNy+hBDgMeUBse4JAWPIUqDMLXOR6ACTbj7699N
4Omo86GdLY1MudvcwwQep3joYtWK9cgldzJkVWfJ9o25n8Cf83DHcF/cKGq75L4Y4uXFbbnPMCLn
1Yzg/tQ6H4GKGiou5Dfc76jzAUeTYmTpgY/AfeDUM5NL+B3IfTZU7tx9x9wn8KhWItBHuZ/cyMMF
99mQNqVq1XfhPsMAUCMOk+LUOh+G6hVNxe37m9hR5wNei7nSndjDcN87+i0x5Op7x3FfDGG8VX3v
Me4zeM0VOCO5L27klXZPK0O6KPP1HtwXGIBD1Mbi1EIfgWocmvZ5P3YU+tD6gszpYnOah+E+N5A3
/ixtN4/7YiiYUkXG/XI/gQ+qq8Yvy31xI+cX6f7JEER9KN1/jFdY7nowgvtTK30EqtM9uh6xo9IH
gqeRgWK+2uNwP/LQeZVRFx/IfTZkoJSSccfcZ/D23BZhDPeTG0XUTytDNEyHqvzGeIXnJNoR3J9a
6pOgUgRor/KLHaU+AIbMWSwJGz4M98Hz0KGdftYnhtCWirDvl/sJPJjOrJzr3Bc3ouX9kvtsKKhd
15rNfYERYUiFb5yb58JQwWPF0cSG+z3JI4BkztnYJ1FxX9yP5IAQVyfYM7gvhtDvqdTdJ/cTeLRD
5/3kRhcKw2Ioat2UkDfJK4j6pRYw9dyfqi4uUJE2Th37/Q51cYiBze1uyh6D++SAGOP1PvdDuY/P
QaliHuIdc1/AWz/0nF/cyBsVn1aGtN9LV57OfYYRValvej3356ZcMVTas3ZUssaePCa0ZE736tPc
F/cx8NCZMH3eF0PBlTq+3S/3E/iou/S7c9xPbhTc8qxPDEW1V+o/m/sMwzhnh9zxTdXvFqhWu4pC
tA33O/S7o1I0MgB7skuPwH1yMx66EGfP+8mQ1Xv9Me+S+yfwZ7WdIdxPbhS1ck8rQy7sNayZzH2B
4bRpKl7Lcn9qXl+CGk1JWDPH/Y68vqiAzLliq4CH4b5WPHTaZlqXj+O+GELrH5L7CXzAkWd9Jzei
Rf/TpSGvUN32nD/BAFuRoV/B/al5fQKVhrHiWHLD/Y68vqjdM9/1drafuTPuAw9dMNPnfTHkY+fl
yK25z+CD7uvbkeN+ciMM5mllCOyxLqJjvIKoPySvD6fm9QnUqKJv1+7Hjry+aDSZ00p/gHP+aEQN
UGOnNOEIRYo1mFiRTnYVzAg1mwUYm0Qb98+7ro/MAKGGBRiKE+Tf2s4O0WIoGHsjmfVjITqBP5+U
jgnRie1O2fXrANi76ZsdohkGOl1Rx1QRoqemXzJUUNpUdIDbhOiO9EvaA9LIAC0HP0KIxmcAg6X1
QFawbm3YIvfcbJDAeJW78OEXXFZgJ1QYoOB7JcnDHqJvJA9ViCtEIlEzgg0dCYn1AnoMlfw6DMmf
wo78qTaoKBep7cQ17Vp/Yo5vu9qPb9F2mLM0yQd9ltSpeRGXg3+hJzOom2pe+U3wgo4lPfR6x2m/
gMctVCxC5XLF9jfp3x7b9CaRRekbRiajsYWheem2kbhefHRtYNAb+3Z59O2Pf//17bc/3zQRv/3+
n5ffCAyH8k/sLz/QR59+//q/vz79+q8/Pv24jaQ//Lg24FanVCKw+Pbo88Nevnz5/vXPP+seCtpd
e2gSb/zj5bvU8ctEyM+vxoqveUY0yK/P/Mfnl7+z3tz3n376/P0r+e//ifzcT59Of4mVX16+/fb1
y8XjNG9nBkiFIuS9YMn2v/m4ffcx/+41J/bte+lWuZEAnR+clBvpr7Jy4+uadvPRClKwWKpUqQ8p
7ef7uFaqX3x0bfTAWdURUuLbY1tCCm8qR8j2YUEftFbCf/HRfOVG/vHsqK+rzoV2K9Rqt56fxZ2p
aV8fapTxG2SuTFmtJFo2qzWqK2olURtaglkXL9VKTlABbbNaSfrqW1JAx9b5/TT5/7mCDdZ05TBm
Bfl5gQt+uTx3fJ6i4/UukfFnF+DreKkz8QEEHXI+gLSEc2sf4DATXYcHsM6nKu5A3qHngMAw2pVS
astCXr0QKoS8Vjr1CWtUnaJMB7Q426Xc17wR5N529vRL9q4RxwblEFdjRL5eEmbbUeM8plu/QhJM
SR6xoMc5QD2/pMi5VtQXtM6AGrCyQTX3BkOgYhyRYEVT3kyROIHqA1YoclZAnVr3KVCDjSPOR1F1
HLM0jipAjaT7ammLqucKS8xF55srY9i7mqX3kjksdrvOmesowD2Zi645/5ffcsev43anwZX2CY/S
ySZ67odKO+hcZz9jYquw4P8zinuF0PNdZrHGk5sBQy/smf7RI6CxZrlgk9kPgf43F/+D5aKNgFvl
XMe6XX4yLfgesb1oAm+07bryyqze2aFNiGa5BhE71u7VtM9e2jIMp1QYkJCEamrxYYIKtpTgngtC
HcWHtK8ic1aXGj49TBAK/FvA5267+4OQpuUgTAxCBNyBc+1Sp+knR8BH7OmXwKO2XeUQuSBEDu2s
98uMaLbjlS1dIr9HEBIYnGgwIghNrYIUqLQCLuWQ54JQRxVkBEXmlOoU77qvIAS8eXDK5tqbL4PQ
oZQbMeRNabV6v9RP4H1fRnSO+uRGgSaz5fpD7IRYUlF/D+ozDLCmgk8V1J9aBClQozIVF6Ib6ncU
QUYAGpngOpvq3Bn1Iw8dhc3p1GdDJtyqAPog9QU89hVAZ6kPz8BT69PKjjN4qP55jFMg6wmNoP7U
GsgElZanzfnQDKyd+tGQuVBUhHkY6kf/TKv182HAPOqLIY230j05Rn0Bb6wdSn1yI7mpe1rZoU3A
bZt4CwzyijjkyHtuCaRAheIxQI76PSWQEcmcNZ2qffdFff6iBmNyWQrDqC+GeEZ7ROon8ABqKPXF
jYJecl8MIZb66b0H9/mLJrgRnaZYiGwm9xmqta5CnWnD/Z4SSAw0Mhg69613xn3koQuQkTocyH02
5OKtZE8Ocp/Be9Mne5LjPrsRn6cu62vEUCjqjbwL9wmGs6ok7FPNfT03gYCh0m/rWPLrjvtjVJab
xupSasWjcB+Vf1YqmJJ0W6nQb0oJwAJdkBeLNReyRyJTMkRMvJEww6HIdAIfXFfDpUxkOjm5X4qy
JEOmePb/DpEpwUBbqm+rj0xTK/8EagimJPiRi0wdlX/0/8icCXvd8B4iMmlOzQ/ezd6RJEMAD3kF
kcBHFUceRiQ3smopzJAMod2r+5/NfYbBqsYj0hr11AQ8gRpNLF0K5LjfkfeFGjhxGz9CDgQaxUOH
kGm4NI77YsjpkmjW/XI/gfemS4wty312I7TLHUky5Hcj5GzuMww0pqKbQQX3pzZeSFAxtIuwMrB2
7htH5vxuR6zH4D7w0Lkwn/vwbDib7kYNlg9yn8HTFnTomj+5Ec1ZTytDxhxrtjbEK4yinceQNf/U
3EeBqtGWrmxz3O/IfaQlGZnzsZRe/jDct46HLlMmN5L7bIg71D0k9xN4p4ZyX9woGLfkvhgyoaQC
9R7cFxhY08GsgvtTUw4FqmW16Hbud6QcoqXhtDQ2HyDlEJ3mobOqJu/5EPfFEIS9NmL3yX0BH9Wr
5PYg7osbhWWztWQIjb0x9xmG86GUBFHP/ak5hwKVNmMVEkwb7nfkHKLzNDIROi/S74z7kYcO5p/z
iyGnHvOcP4G3rqvBco774kaozQX32ZD3ezlt07lPXwpGl+QY67k/NekwQaU1VLPCHwNr5743ZM7r
vYXZQ3Dfi9Soq2ile/0GcoBe1QpMUBXVLdfBDFC6WYAhaoLV83dDYsjZx9wNJfAwdjeUCOY1rl+H
x1JzlfeIigwjGjvmBmRqPmaCigY7VkQd+Zjokcz5YoO+x4mK+GydNyWRzJLCaA+lymI1gsjr2KIW
mfe7jlzAetnOBDXakjxrzu+wXUeTzdEOxZRW4lmN2iuyMPA6OJWyMK8SMD+bn1+8WuGKpljbX/3G
TEcGV9sbCyYUDzEzb8yojjcWzDP4YJsUZ66L2/F08Gbnvy9/ff41Mxx2K4hiM4Iogi/EoohVbjj0
22ObhiNq39TdMDccpnkFtJGhX3x0ZWCiddEdEOabqBuIgWWxPFa48f5AFiT0r+XV2SPSugLcewv7
W62NNCcjPT84SXPSX2Vpztdl1+ajFST6pyGqUKb9xge3XolZr+RqUxs6srwI2Pmx9XRlc7RcP67z
isY303XTwmLx0XxpTv7xfHpbISJ7VbQaTbicXde/euECYRuxQzZiWz6N8x0HAATo/NgWFzC05rAt
RVk5FyhI/db26lh8tB4Y4DxSj3hd+ZIV67+0K1+aWFa+5PHRTttoryhfIktcagjqUr/kFakJzQIm
6atgSzLCc4QcW1scXMo4nnBH6LpNeLW2bRqCz6CtQVi7AYWblhSicd0cLnF4qOrccEXE8XBHiZKE
47rLhGDl7pMjiq7N3J0+QwWtK5pQVUDt2BzWiw0mqIA9k3XPoYSYi6G9hQSPQ7McH0bpihOgpoX1
OKVhBDarlMNr8dZzwyBtLVzG2xNU5dvjrXzVI9xCbbq1ecs/V7CDiyM7Z5+6/cSlYEwyBMWecO/Q
oolhgHK2pJZa1mLuhVClxXzRQEew0pIhDmigg3ZquZtANXpI5yu0U/VyE1TWWm2OfranMk/MRV+S
4MqZ61B2xejJv8F0LvvuqtEWIv0W+mc/cOJwWtFXxk8cCaqPHROHfNWgvVG+/6EOfwm8NdDVrCAz
fZx8OMTl9CGGnNvTpZ89fTAMo1XFoVRFnJtb6yNQoy3dDeYCT0+tDwKZc2qv18IDBB7mLA+dUpMb
MJ8M7We03SP3X8F76Gq4kON+ciOn3rifDFkFx5RHxniFBT3kttHOrPVJUJ3THRtK217rQ+ZojeOU
KzUJfBzuAw+d1xnlkYHcZ0MeStKVd8x9Bh+0Gcj9VzeilfnTyhDR7lCd3xiv8BZLwpD13J9Z65Og
Bvqvjnm/vdZHK63JnIqd5ar3xX1NDhhY9Xs298UQvaQHXPO/gndu4Jr/5EaaFl1PK0MQmg7oJ3kF
0GQ6It/fzqz1SVCji6XOVDnut9f6kLlIIwP2DvL9j79loznh5Pxb5nFfDBlfuiq/X+4n8KxPN5L7
4kZgzNPKkNtNJ5/NfYaBypf0NOu5P7PW5wSV2NiuOGbba33InCdz9h5Ehge85ShDF8x07rOhuKuh
eafcZ/C0Qey8mb/OfXEjt1QZFkOR6y8O9RYY4hWRG0AO4f7MWp8EVVuEjjuN9lofrawhc8qoj3DW
Zz39FnduoTmP+2LIu0c8538FDzB03k9u5HF51ieGiHQ3nvcZhrFFwdN67s/Mc0lQrXIV/eI33G9P
HiFzSCND27+PcNbnOHVbBVtzwXiI+2JIx3CjGt9j3BfwxvRVs2W5z24EysLTypB1Jc3c9+C+wEAs
Hc7Uc3+mwniC6gKUukDmuN+uME7mApkD1ZnjdGfcJwf0nJY7nftsyBQzju6Y+wI+hKHn/MmNHNin
laFyY7x34T7BCJqWJAO472amXJ2gRt+h6eXa85homWbJ3FsP0IfmvicHBO319DW/GDJQyrS9X+4L
eLtSOj/K/eRGqJdnfWKIdf1vy32GwRv+Eft9N1PD+wQVQmkiznG/XcNbq6DInMU9kfWH4H6wPHSr
LnkzuC+G8GY6vse4n8B7M/SOT9zIWb/c77MhVLAnkDCb+wIDTIU4bgX3Z+b1CVRUTlfowfx/7t6t
R5Ib5wL8Kw2/eOphE7qT8vM+7y4Gs9gnY1DdXYYbMDxG23P5+UtSWVmRESmlpJAqM+ubD3ZXtit4
UsFD3cjDDffb8/rIHBw4GVZ9hDU/KB46G6ef84shHx5zzZ/Ax9Cl6ZXlvrgRKv20MkSkuzJKs7nP
MLSFCpG8Cu7PzetjqEaFCrnxDfd78vrA0cgE7ExPvTPuAw8dxoyG90DusyGjS32e75j7At6FLv3+
HPfFjcCcnfWJIRtKLTzfhfsEwyrdJDOS5f7cvD6G6qyDduUq15PXh/rAd72lK8WH4T43RFbehOs7
u0sSekMEZBZgRFwwqF4wA+QxVmCCqeiodxnMAKGGBRiKExYMTD+SFUPoO++vbxyiE3h0Q0N0YnsA
t3odjlx1V9PHAeRlGKFGjLMiRM9Nv2So3rrSsj8XonvSLxFpZCKUwtrjhOh4oB0HlrLXSuKCPZRa
VV+Dhc/4dI4IlClddNf7XUfqX7VUHff0oyiOuiPt14VmqTox5ylQl1YiWXHBzTvy4M4adtZKC8JL
MJ/VOaqglDPXVS0q3ldHulbb+yJf9x2NoR30vC97cM5gqV9OUZ/KnenJDOqomlV+S3i9o6lnxJts
v4CPW6ixBDWo0HEBT8BOj216k5yPPEDMz6vmpdtGpHrx0aWBQXvKRqZVyrc//v3Xt9/+fNNE/Pb7
f55/IzAcHj6xv/xAH336/eV/f3369V9/fPpxG99/+HFtIOL5KZUILL49+vSw569fv7/8+WfVQ51R
cOmhSbzxj+fvUscvEyE/vxarc6/XNTTIr8/8x5fnv7Pe3Peffvry/YX8958iP/fTp+NPYuWX52+/
vXw9fxwvAVv4kfMCnfeCJdv/5nH77jH/7r2l7db1ZdBWuZEAnR6clBvpp7Jy4+uadvPRCpKzWJIP
qA4pvv18P64V1RcfXRo9b7Vun8wJ2OmxLSHFB9DYMm3mnKmgD1orNb/4aLpyo3x5TgJ6lSPu0W59
fZbm7tR87pcpHD6Txm+QuTJFtRL5ClqD8xdkBbVipS9WgrBLtZJXqMqrVrWS469aVTowmyZz1aog
/vMatvdjFflZ3D0ou8hjYkPGXE+Rm6vIn2BYWmIW4l1Z5qoXQpXM1VLFPWF1ypUqiepj89Qz2AQV
oHRwVA+14yyiWuYqQfUudMi/+I7j4mSOpq32hbD3zTJXnP3GPcdCSYfnQfoq0P/xJOTAX7yVxs8u
wEvHvBHL8wa/MCSY0V+aN5D+0nJTqvN5IyENLGHbOm/IrwZVEg6dI0fb3s1gNXUk5N52KSS+2rs0
d9CCFOwiDy5ZgtjU42pk64ZzJMEVb+YLkrQDGkiURGlXTSUSWlBxyCWen1qkm6DS/4042vAdh1QN
EwhDReexI6J31BMnc95UdAbZmIOOCUTTBOIMnItX7VutO/oOM1brR6iqWQT8+Ku0trpRvfGeLlqv
4C2qcWv248IhKgxrX6DJaVftwYB1gOOOk7rlmDYfG6bWHCaoRLz2iy7fUXNI/+LFpbsDbcH9b9kE
GTpX00GvMvDQsttdWe51BZ4E1UFH4OFfDQpL24H7DTwCXmvfVeycCzzJh1Etd75iyBSvrN4j8AiM
GEoX/fWBZ2rBo0CFUCyoyQWejoJHbRWb+wjNzOm70A4dlYVMAuSo1p1HQ8SeG2XX7ON+As+yGAO5
n9wonC06xJDVpau89+C+wIihoknQde6HqQWPAjUS99uTn0NHwaO2QOa4jetH4D4eLCKYyW17j4Zi
LKnd3zH3CXxUBruKnbPcZzeiBdrywEIMaV9qQfAu3MeDU0a19C3Lc39qwWOCGp1uz5gJHQWP2hky
53tPK++L+87z0KnLx8sjuc+GtDLQ33HshtxP4IPuKnrKcT+5Ea3vn1aGNF5zrdncFxjRVJzuVXB/
asGjQDXBhfbCh9BR8EhbaTLnXby90MH+t+zJAU30OXGzcdxnQ1ZBKUn7frkv4In8Q/f7yY1w0cTk
aMhc3U7O5r7AiMqOEDoIUwseBaoLpuJqZ8P9joJH7QOZ87GUSP043CcH9Eqb6ft9MaR9aW12x9wX
8OiHzvviRsGeJQaJIRr1lsvdWV4R/ZCzvjA32YahhuArCn823O/JYAmcym1s5/L1vrgfwkFpvtLq
K+ubkvB/ho5erA0Z2UXjEAFHRCYxBL6UKH2/kSmBj2ZoZEpODgDr1xH1PgmWIT7rwMMQ6bUwtc5P
oKIB254aETrq/DQoGhlaSX6EZDfgUggTc6cR47gvhlyxI+n9cj+B97pLaj3HfXEj2vL7p5Uhvo6+
LfcZRjQehtxCzM3gIqi0qi6268xxvyctCoBGxps7aK+0/y0jOWCkCS0jvTaO+2SIgLnSTdH9cj+B
hzj0BjK5UVi2V0qGjFK76vuHeIVXGPwQ7k9tsyBQdVCqPe0pdLRZ0OjInA5w+/ZKA94y0HfxoKbP
+2IoxGsi4nfKfQYPJgyd98WNjFrKLSdD6K651nTuEwzjYlPxYZb7c1MeGarVPS1WQk/KY9RkrltF
7L64H8kBbThtMOdxXwyBfcx5P4EPsUvXJ8f95EZE9aeVIYyl5sDvwX2G4QjIkHl/btYhQ6U4hdcv
TDbc78k6jEgjg8Uz2kfhvlGah+6UKT6N+8mQhVL9yN1yP4F3JwGfQdwXN4rL1mrJkC9Whb4D9wVG
MKrU7aGa+zA16zBBjbpD4QU6sg6N8myuuMV4HO6TA4JVPlNjNZD7bMgZuFGbhZ3cF/BBD5QmeHUj
p+zTypAvSqy9C/cJBhoz5AYSpmYdJqjRVlyjbbjfkXVIq30y590dyC3vf8s6qZzG66u7izeQI9Sp
VmCCrTizvQxmgK7NAoxnp3J2+oqIDUUV/COehBzBnzrljomKiWBoYPU6ojHX+hvMjooCA0MYcRIC
U/MxGWoganfkZEFHPqbRkczRRvYD3H7Kd6GZvqQOVFI57aFUWXwnIQIcopoJHbmA9aqZApXbRLUr
2oBtV800Rh80Wl/qtZBVOd0oYLhwqsiuVMB4VbuIX/k7r3HFYmlt/RvryOBqeGMMNdIf26s1wfW8
MXOgxZodoY4JS5X1/z7/9eXXzHDYraKGzShqCD4frOvYSvq3xzYNhwdT0Sjo+nCE5hXQRgF/8dGl
gYkOXuuhFjJ8ulaGb6JKoDH2oCE636IEnRvIgmD+pbw6u0dIV4DHGGyPECchPT04CXHST2Uhztdl
1+ajc0i01nJuxKkvtN/4xK1XxqxXspSfMhWXUxu64ttj6+nKkn2qWHNW7WWxma6bHhGLj+YLcfKX
txFVxU77skQ1qvPZdf2tFy4QthE7ZCO2PThFq/L2g38CdHpsiws4o2JFa5CrLoAFYd/azhyLj9YD
4xxF7DfJrZVmnY/afe3QrLNlERNjySoGg+qCiInR9JcAzpgzEZMjUgTXLGKSfnVX5+ZOzbpWkfxz
xbojbrS9jVvF2qZFiKj+01ourt2AhrwljWBcP4AFDn+gtwk13SMu6NXt7klQUqtb9ylIWEGVrl+r
Z0Ccu9NnqFpDKYe2HmrH5rBerS5BBV9K+8lF6p5DCTZnnK3oGbgxZ9vV6sQc76NqmtaOjLd8VGn1
Jc0oPgVykfZaq2jrDxSfoV1YOn1FZ0qy59OEpVu7x/y8hg2mK2Mr240Jaeem6Ie1C4RTOV/fOeXu
Pj0CA8qqKGVh6V4IFcLSqw4+CSvG0gF4ffiaWusmUNH6pi1mFupUYekEtUv7DzvK8sRcBKPad2HY
ISxtXCCf8b60ZX6UnlrG83eJ4by2dd+s4bSiXxk9axBQiB59+6zBXxFVLJWy320nvwSeInqXsnRm
7mAHBlqnL6TGkh3jr+WUzJ46GEZUtkKRviLGTS3ySVBpE9B+UosdRT7GI5kLxZOmhwk6QR+ItzbM
7rGeDGl/q4S/fdRP4KPtut7OUZ/cKIawrO1NdmibsktpbJBTxFDR06iC+lNrfASqDr5UGZGjfkeN
jwmezcE1CdjHoD4euM4EMnX9A6nPhnTslGW9NfUZvLF25I4xuRFot8z3E0O0p9iV7zfGK+jdj9na
TK3xSVBBVZQkbLjfUeNjgC/IQN9Bnv/+twzkgE5rr2dzXwwZ29n0+MbcT+BBDV3xJzfyXj+tDDld
ynh8D+4zDK9CKYemnvtTa3wSVKgRRtpwv6PGx0Bkc0Xd5YfhPvIv6lP/jHncF0Msz/2I3BfwlgZq
KPfZjZC2W08rQ87ua0E4xiuAL14HcD/OrfERqIAdl0exp8YHA5nD3q48d8Z9ckAaODt93hdD1pQS
h+6Y+wL+1EtrDPeTG7mlymAy5HBfK6MxXhGZVyO4P7fGR6CiK8n+5bjfU+PDfXiiK2aAPwz3Y0hD
l1EXHsd9MRRB3aiSZR/3Cbyh/9Z16fjluJ/cCJeaHskQn13flvsCA4pS0PXcn5vfwlC1C9jB/Y6k
ESIEm4udTbHuivuW+/1qjDll8WHcF0Ps1o941ncE70JXR5EM95MbeVoKPa0MvckY34j7CQb6ihKd
Cu5PVRYXqDbYilbeG+53KItbBWTO2zvoJrT/LWvFPTRpOTub+2zIKV/aQt4v9xP4qLv0fLLcFzcC
t8gMS4aMbkrCneQVDoMbUUkYp2ZbCVTvQ8X2ZMP9jhQmK91SPdyBfu+AtwzcExRiRstrIPeBm3Aq
d6NuQju5L+At9mbgX+S+uFHQS/3eZMhc7bU4nfsMI6oh9/txqna3QAUfsWPe79DutkaTOWM+Qj4h
rTilG6rNdBEcx30xBO6aKvV9cj+Bhz4dvxz3kxuFZVpfMhSVvvGan2Gg9xVi+BXcn5rWJ1CjKbb2
ynG/I63PGmRzxerBh+G+1dx8NfhMN6Fx3BdDgKX08vvlvoBH06flleU+u5FVYXG/nwxFV6rtfw/u
EwyrIvoh3J+a1ydQdYAO1ZrYkddnrSdzoDvLme6M+3igCUiH6fO+GDK2dB57x9wX8GBG3u8f3cjr
M+6zIRuv7Yymc59gWOXGzPtT8/oSVHAVYnQb7nfk9VlnRPuutDAryc2NEFs5A2PJjT7EwaMTUcFi
8WFxYAfIYqzABFuhYXsRzAiBhgUYzx7u3ew0jGQI4VYS6/tCtIBn2YqRIToRLC4bvIshp6y+bcVV
ghFgSMVVnJp+KVC9DaojRHekX1oXD8iVkR/hKtYrlj7ASqG6IZRaiwp6j4vCa0Fk3Ahpf86cmClR
J1BpC1MxV5/7nUlKV40SdWwOKXqWVrhZUcH1O6IZyL2Sskqm5FWS5PnLFw9qhSra2KK+lH9fHela
Le9L0/sKtrkcXIB1vC97CEHZimL3S7pUhnXcx3dSzSu+CV7gZjUj3mT7BXzcQo1FqFDst5t7k/bt
sU1vkpsh7NbWIvuueem2EadefHRpYKKzi+aP3/7491/ffvvzTQvx2+//ef6NwHB4+MT+8gN99On3
l//99enXf/3x6cdtfP/hx7UBf76fT8KKb48+Pez569fvL3/+WffQ1cXg60OTaOMfz9+lil8mQn5+
LVavXssyaJBfn/mPL89/Z5257z/99OX7C/nvP0V27qdPx5/Eyi/P3357+Xr2OKA9a9ytiUle4PNe
sGT73zxu3z3m3z1tb4qZjhnFRgF0enBSbKSfyoqNr2vazUcrSJ72OftzeQli+/l+XCupLz66NHoh
QOlkJBdSwttjW0IKoG1b5uScqaALWisxv/hovmKj9e6gAvrXIoaFZqur1Ww9PStYvsW2WNMgrEHe
CspCJfz+jAcweEGphLZ0B+McRjyTKnmFqmKzVkn6VWs7yz33KVy1Kof/vIaNMLIvWRJ1p2Fc5jGR
IUvkvXbzM1mJX2CAc6Wy6bLCVS+ECoWrlXq7YEWFFWIFFbF57hmsQMVizX491I6ziHqFK4Eajb7c
qxQ/uwAvHWJ7/no0sugDxEw0ssA6c5toREiV6YtGNoIt1VLm5sqeM/GQBH53lG91aqm2S/Fv4x8h
976zH3OytwmAouJvwPvzMXL03kJL4ebIvgMrJKhLsloFPdUB3Q9KiqrrjgiCVrt2RToJJM0Scckc
+lLf7OpIpqcWtgpU433FdqICasfBTlvQdZbbXja/RN1Rg5vMBVM6oc+Z0z0+4w7cm/IOZH72L5BA
0URlT5UT0xpYJUPOl/p53G0DqyP4k5b7kGVzcqNolw2skqGgryVNzF42M4xoRqQCcbXX1KhIUJ2y
seIaecP9nrI/MDQyHu8gFWjAW/b0XaIzs1t6siFaC4VwozTAndxn8FrpLomvHPfFjUKAZQqwGDKm
pFP5LtxnGLS5G7LMmFv2x1C1j9iq7CnAOrgf2Rx2dqa9L+6joe8SMUznPhsyWnf2QL4x9xN450e2
8k5uFMzZ2Y8YMqG0YH4P7guMaJvu1bLcn1v2x1AtBOiY93vK/jDwFsPq22feDXjL5IC0ZjKZkt+B
3GdDuriXv2PuC/jY1wwix/3kRuDOuM+GrL62OprOfYJBvxD355cZPh+dyn2GCq4jz0f3lP1FS+bo
pd2+5Hf/W47kgEHh9IbVyZBRt0r/38f9BN71yfrmuC9uBNot9/tiyMKNG1YLDFCuYjKt4P7csj+B
CqEkIZPjfkfZH21b2ZwuXco9Cvdpyj841ObyVdhA7idDRJ9HPOs7ggeMA7l/dCO/LPdPhmjHv0vq
Y4xXROUrOqNWcH9q2V+CCiF27Pc7yv6cAjFXysV+GO5rdeAmZC5T9jeO+2LIqpJi3P1yP4G3MPKc
P7kRKrMo+0uGXNC75PzHeAXLZg6Z96emnCSo2N5vXYC1c187Nqc6S6PujPtw8MaokGkdNpD7bMia
Uny+Y+4L+OCGzvvJjdyy+WMyRGN+2zW/wLA6VOhnVHB/aj1ZgopQkW624X5HPZkzms25O5D42v+W
DTmgM15nms2O474YsnBNsPY+uS/gaYrpkvbMcT+5Ecblml8MeXvtKGk29xmGN6okZFXNfTM16ylB
jUVBxAz3TUcqkTOBC8GxQvjwQiH4pBKxBTqkwcBobl/put8HLdEj5Ntgj4tMYsjpUmXH/UamBN7b
sZGJ3SjaZbOBZMjDtcvt2ZGJYYAZ0WyAAsDUZgMJKo1i+w2k6Wg24LgTL5n7ECeRFrmrsDMZhYuB
3GdDLjxk1mEC75UaWaxzdCNA97QyFMytVyUMIxqouNar4P7UrEOGGpQNoVXhQoC1c98ZGpmI19Qh
H4L7zvPQoc6ID47jvhjyxV6V98v9BP4kOzWG++RGgZaoGp9WhkIsaTC8B/cZhrZFDcR67k/NOhSo
Rvlm8UEB1sH9yOaupoU+BPc9OaChPdbsrMNkyBd7V9wv9xN4HJp1eHSj4JdrfjEE6lrr5dncZxjW
YqlIt577U7MOBarTRZnmHPc7sg6dD2ROFXsbPA73yQGdO503r7mvadM3RNUuGfK9hyS35j6DJ1IO
vYEUN9IK4WllCPw+wfExXuFdcetRz/2pWYcCldYoFf2PN9zvyDp0gdWqWDH6A3A/kAMGb1Rmvz+O
+2KIw8wjcj+B72w2kON+ciNvl9wXQ3jq83or7jMMcB5GKAuaqVmHApW2rBWFERvu92QdgmJzHj7C
DSSIzm/svlEZoM+2AhNqlEkvgxmg7HQGJrAWRaYOY1xUFEMhdl5o3zgqCniwbugNSCJYXNZfJkPo
S82E3iMqwrlI3r6oODcfE1iAr9ysLhcVe/IxAWhkaHrs6yR0Z1Ex0tBhLPX4LOn89lBqJT/1NXz+
ZXkQyIi0dxVirBV+15ELWK8bK1CNxtL0mPM7bNeNdUjBwgLECgGdjc7vWj7HIsf7JvmchdKvi7jC
5ZzGIXunjgyuhjfGUL2CUvPP3BuLPW/M0ogbU0qvrRVztGrxzf/7/NeXXzPDYbf6ODajjyP4AJ1t
P0YiOKfHNg1HRFXRJu/6cLR3Otj0s1h8dGFgjJXUHUG6EKKEWiHKiTqZDM8iQkXx0fWBNPmBvJQn
ZK/nCeWlpBm4Y0WX6w63laIlpKcHJyla+qksRfu67Np8tILkAg7oZ0AQO9Stt14ZC17pVfAdclbW
vj22ha4UK21TM56cl7XvnjZdUhYfzZei5S8fLGrbELrPv7E/n13X33rhAmEbsUMhYgeHoUJ8beMC
/u2xLS4QaPtfkVt03QXaOxBtetMsPloNDG1UDhqt0Zf1NX3U7muHvqYt62u66HkC9c5d0Nd0QH9J
u10dzvQ1j0i10836mulXnS/Vxs8RvGxtE3Eud5lwe2u7ahperW0KmaXvhQ8B124QoHSwckXuck9H
jHMc0WpfmKELYpe7u3KUpC7XnToSVtoCjsh1tFN3+gzVKGdLd2r1UDs2h/XakwJVu6LydC5SdxxK
iDnaaDS3oJZxaNaeFHP0HnTmFvWsN9jYeGt465qLt8bQ/sJv4i1B1S50xVvjnN9RRPp+Xcl+XsH2
qu+oMtuSTLpbxWWydjIUXGmR9A4tyQSGN1jq+lJWV++FUKOuft7GKmGNNRLZFRFsarmbQA3OlDqm
V0N1HdU5jcGWJv2OO3HbUZmXzKHtODdxqifYBvIZD3dQCLifq9qw/1MgqZg49lw2iaGg9a0um3Y1
lTyC965L+CcTwZMbBWMWl03JkCkeiL5HBBcY0Q05hHFTy20EKgRfSu3Icb+j3MZrx+ZsacP/ONyH
g0FlMJN2O5D7bEh723dDd2vuC3jEkQ1lj24E1j2tDNEedZfY5yCviHFIY083tdxGoEagrUY79zvK
bbzRZI5e2u1Fvve/ZeMOTPCcyPc47oshHTtzlm7MfQHPN08juS9uBNotuS+GrL8mkzCb+wxD0xce
IfzjppbbCFSjtWk/eXcd5Ta0naWRAQ23F/4Z8JbjAWgp/g7cZ0PGlsoh75j7Ah50V9ptlvviRh7j
08qQjfsE/sd4BSgXhnB/arlNggquQg1gw/2OchtvLZmzXn0E7tvAQ+dzjX3GcV8MIXTWJ96Y+wI+
qogjuZ/cKOrlXQ8bQmX3iX2O8QoMWDGZVnB/armNQI0WY8eav6PcxjtFI8PdcD4A953loYtu+lmf
GPL6WgHpfXI/gfeuq8w2x312o6jsUuQ7GQpQqnN5D+4TDIpArkI9t4L7U8ttBKpWxVT8HPc7ym28
AxqZYK9l/j8E9zk5Qysbp6/5xZAOtm+xdGPuJ/Cns69B3Bc3Ivo/rQxZc61X5GzuC4wIZsiV4txU
E4ZqAlTcfm6435O/4R2ZM2hu39hnwFsGHjo0Nckh+7jPhsjXH/KcP4F3eug5v7iRNWdZGmIohpK6
9rtwn2BYoPX0CO5PFfkWqK5L5Nt1iHz7oMmcNaVkwYfhfiAHdGAg09xjHPfFEF4VjrhP7ifwGLpk
tXLcT24Ugn86N0T/9TUp9NncFxghDGlv7uZmPTHU4FQF1A33e1KJaDjRx2JF/8NwH8gBuYtURl5j
HPfFkCvW8t8v9wW8N3Es98mNgtJ6IfCfDJGlG3OfYYA1FTWX17nvp4p8C1RUtiNn23eIfHvwNDJB
34GM9oC3jDx0GjJymgO5z4a0KyXQ3jH3BTzA0LO+5Eb+LLdHDFnVVAczyyuiDyPO+f3cvD6GGgNU
lKZuuN+T14eGzBl/bVP2ENxHf4hKWZ8RkBnHfTHk1LV2VffJfQHvvR5ZlXF0oxiX+30xFK62QJnN
fYahnRvS1MvPzetjqEaH0qVbjvs9eX0Y2dxV3bOH4D79IoUxFaav+cVQMJ2XIzfmfgIf+tpnZLkv
bkQ7/qeVIcCSfvV7cJ9h2KAqdOoquD83r4+heqs6RHx8T15fDIfovCstMx6H++SAgfNVp3OfDXnX
mQx5a+4LeDRDuZ/ciBasTytDcOqveDPuEwywWLqUqef+3Lw+hkq71o6Gfr4jry8oUX00pby+kurj
CAWNNZhYKpotghmg6LICA6GioPIymAFqUGdgIsSi9MujhOigKE7wtjbTb3lYiBZDUWPnoN02RCfw
RuPIY5mjG3nrn1aGrCtJ5b1DiA4KiG4K1YgULD81/TJBRfDtV7G+I/0yaHWwRqEtnC5mNRbXr8S5
qF7Pq6tUW04KLS/hZanQklCBK+3o699XR8pcvcIiQ3WW9mntlfg+tCssBq3JPYwNH+AIXb6LtbFU
DFXSYu0JgWWxCkHklB2ixeo70rVa/I6g+oAVcsUbv4Mev7N8kG9Dg2bS+WjgMjAMatCaF14UvDTD
ldQQ6t9k+wV83EKNRajY09OOgJ0e2/Im6V+mVCteK3EXVPMydKMRv/jowsBEmhAXpTTf/vj3X99+
+/NNkvTb7/95/o3A8LT0if3lB/ro0+8v//vr06//+uPTj9t48cOPawM2nlefir7p26NPD3v++vX7
y59/1j00GHfpoUk79Y/n76K/JIGVn1+NNb5ecNEgvz7zH1+e/85yj99/+unL9xfy33+K+uNPn44/
iZVfnr/99vL1/HEm+KYu9DkvKGxGlmz/G8WAzbvHwrt3YCq0OLfCqQTo9OAknEo/lYVTX9e0m49W
kLwLQyaH0H6+H9cNDRYfXRq94GrkRdYhhYCdHtsUUmjl3zI5ZJ3JNoeUTaeHxUfzhVMDK01Eh6+J
AD3SyadnGXtwkTN9Lu9ezzpTNKjMmbLKHL8/F502cEFljkLEwSHfQ5ypzB2hemhXmUu/GsO1+7op
KnOtAv4/n8Gm/1CHoS3CpLcCWljUK4shNMFevF7Gzy7Ayxwn8ADR+YwTeKB9h904AR/0BuhyAgql
V/MAJ3f9EBhaFX2xLKXXC6FCSm/VKSJhhT2NdTvVcNubKWypQ8hdn8TPq70Nd1AdPDNIr8eIltMt
rTVHdo44R2K8Ke3UC4q4A/pXXNHEPetpIWhZf2PI4mbqJUaCSvPtiMO80HGYVy/TKFCdj2OgTi39
FKjeQCm41EPtOPpoHNXgsGJvv1nd9txiiTlfs1XamPPt4pfJHP2x/Y4udNTgJnOgKlRJNuag59s5
is/dlet31UsqWP4u0fua7pqVCzWntb2iCd21Wk9QHbZr8MuvGhU7CzZu28QugdfGd+mLZdbsRx8O
y9qDZMjAtSzt2ctZgRHtEI2hMLXmUKA6ZTsOsENHzWGwgRc4sdTw+HECT6TvQlTP1BwOa2CZDNGi
8BFbeh/BO+hqwpHjvrgR7YPd08oQwjXJ2uncl/7ruqLhawX3p9YcClRvtOo4n+yoOQxO1rb22qbw
IbjvyAE9+XUmB3Ec98UQ+HijuqN93E/gT9F+DPeTGwEsuS+Goi7NYu/BfSeN3mv6AVznPkytORSo
YLxr33BAR81h8Ip7rmOnNPZ9cd9bHjrM6YqO474YcqrUIel+uZ/AW+jqJZDjvrhRpBX+08qQLyZx
vgf3GQYa7UekOsDUmsMElUaxPVkKOmoOaQYQc6VcusfhPh4ggs4ltg7kPhtC21mwcWvuC3gwXVoD
We6LG1EIeDozhErpa50Jp3OfYYQAI3RGYGrNoUDVNpS6L+S431FzGIIRc9eKQx6C+8HTdwGf0xoY
x30xhFg6Prpf7gv4aMbO++JGTvnlvM+GuBruxvO+wEBfkjis5/7UmkOBaqPT7ft96Kg5pIUamXNK
f4R5H8gBLarzDhkzuC+GeIX7iNxP4H3o0hPPcl/ciLz26dyQU3DreV9ggBmz5p97Xc9QPY1ix7zf
c1sLgQXgnL+9zsiAtxxl6Px87rMhH0rar3fMfQEfY5emcI77yY3wbN4XQ2CuTSvTuR9ZdQ7HnPXN
LWZjqKBqkko23O8pZkPLAnD4IZILMByUsqrUuKJUITyl3uYMHb3YqKZHJjFk9DVdr/uMTAl8MF1l
trnIJE4O5ix7TwxxiuBtIxPDQOUqpEUqItPcdDeBCl07kp4sq6jYnL2DLif733LkejVtTabD0Tju
iyHjb1Viv4/7CXzsUz3NcT+5Eeol98WQM9f6QczmPsGg6SC4IauSqZ0OElTwHZ0NoaPTQYhA5izc
gdr57rcMSvHQAcy+gUyGrufx3yX3E/joYOhphLiR08sOR2JIKyhpd78D9xMMtDgizR2mZh0KVBNN
RUOWDfc7sg5BOTLnTKdo/51xnxzQoJm+5k+GonvINf8R/Kkt4xDuH90oqDPukyGr4rW7muncZxhg
Kwq1K7g/NetQoDpX7AWZ435H1iFozeaC/wjc1+SAjvay07kvhmJ8yFsIAe+VU51ljpe5L25ET11y
XwzpcC2ZfTb3BQbWpPFe5z5OzToUqMGriguTNfexI+sQNJI5rUoroofhvtEydJhROx/HfTFUrny7
X+4n8MGOzD44uhEF3qeVIcCSJ78H9xkGuJpUvgruT806FKioTUlNN8f9jqxDMJ5GBnqPre6M+8hD
53F2tUEyZKAzYN6a+wzengRUx3A/uRFtVZ9Whpy9pgAxnfsEI9LEOIT7U7MOE1Qo9oDOcb8j6xCs
ObCyzbVSsIfgvk3qzRVh8+IN5AglpzWYqK9XjVwGM0CpbgGG72Z1zPWAGBcVxZDVt9KB3xcVE3ja
poyMiolgGN36dTi4VuIzOyoyDM3/HhEVp+ZjJqioK9ReNlGxIx8TnCJzfPLyAaIif5cQio3GSqK1
PZRayUK9fH75gqvRpdXCEKlT7MgFrBetTVCjrZC93/idaxetZXM2uuLZZFbcei3A5NHY10mkUoDp
VWzJff764tQ5Lkce1CTBmn1jHRlcbW/Ms9BsuxoN+p43Zg+i+tmiX5FRksRl94j/Pv/15dfMcNit
9JDNSA8JPnRQSpTMDUd4e2zTcNBspwdo9SI0r4A2LSMWH10YGG89vJbb9KhgThTpZHjgvKlodHp9
IDE/kJfy6uz1vLq8jrUAB+Lf9SPWrQ4uIT09OOng0k9lHdzXZdfmozUkZCWGAdGrQ1p765Wx4JUQ
va5oy7Wha3x7bAtdyRxWlLZf9bLYvmHZtJtZfDRfB5e/fLS6KVadf2N9Pruuv/XCBcI2YodCxObs
KNd+6UeATo9tcYHoaTnWch2acwHT7gLbPYDL7QG8o0W5An8xlQcp4rivHSqzUBYvA8faWUZfkC6j
aZ+2ds6gP5MuY5xaBf60UbksfUNzatHcsXvu1EttbYxyrpZ6xB16G6Yna5v8Ie6povn0cO0DTpV6
Yl1RS93TA2aFY60Pm+naVO+MRl13Rq0IetYbIUS99UZw2vZ5o9GuUw92d6+dohrsqv9OwsqT/Hzm
7G7rsnIjg0Z33b/n2lppfaCh8OvRiVjKHX+HplYCwwZbCm9l6epeCBXS1avGOoLVGSglKVevGePc
szGBGkPFsXcF1I7jlHohXIEalNUtu5os1KmVYAkqqFKmaj3UjtKQxlEFjB2pIrHncFTMkb+1V6JE
1y7AK+ZQWexYD3eU5CVzWnfU2cTQ8+08kdfaUnrvo7RHg8DfBUBnVD57FkVOcwbU8EURIXUQXLu4
cPqOGEva2nfbRTOBj9Z2NQTJLDfYg52ll/B0bscrf606e/Z6Q2CAbjqMzIbwqRU+ArWv/1HsqPCB
AGyO9QoeP+oA328hn95fjzq77rbFUDTXlDTuk/oJ/En6bwz1yY3IacNy3cx2QGHp9Oo9qC8wwA5J
9otzC3wYKjpfkZu0oX5PgQ/Icqpo7nGoDzJ0JpPsN5D6bMhDZ2XEranP4IPVXcl+OeqTGyFtH5Zn
MGIHfFMno0lOEZ2yI1oxx7n1PQSVVq6q1E84R/2e+h7UZI52RbdXGtr/lpEX/e5UbjuP+mKIRvwh
qZ/Ae9eV0ZajvriRtj4+rQxBvNblezb3GYZ2cYTSkFZz63sYqtGx4oJ/xX2teup7ENncPXQU2P+W
o+JtrFOZ+p5x3GdDnsh/o/qefdxP4GPwQ7kvbnR+uyCGjMZdeh5jvMJjKOVs1nN/bn0PQw2+WA2Z
435PfU/ko2xdFDV7HO7zyYUHzDQcHsh9SOf/N1IY3Ml9AW9dVyehHPejtCZzZ9RnOxiuDdJ06hMM
8GpEQrFWc8t7GCpKcmUz9TvKe1BpvhrSdyAqvvsto+KTC2N0RlR8GPWTIdub/X9b6h/BR+iS8MtQ
n90IWLL0aWXHm2uaJ5OpLzCihtISrZ76U+/pE1SEUpltjvod17SokM2Fktr6w1Bf85bTBD97xZ8M
Wey8GLkx9QW8M3rkrM9uFCON/dPKjnf7ytfGOIXWxT6v9dSfKimeoLLoYTv1OyTFUftD+uNHoD7t
OOklx9kHfWLIKKtuVNC/k/oCPvihs35yo7AU80iGNIYbT/sCA2uS5Cu4PzWRTKBaX8zwyXG/I3+J
FshkTvvOfet9cd94HjrvpnNfDHFrvEfkvoAHFYdO+8mNolZPK0NoS0kq78F9huEcjCjnYpn2mdxn
qJ5rbNq53yHajSbSyEDs7IpxX9y3hodudXw9g/tiyOpSR7r75X4CD30iXlnusxuhXbYPTIbcTvHO
MV4RiP0DUvq4yHIm9wUqulKj5Rz3O1L60IYDN3zuTEy9M+5HGTo1+5A/GYq9ZyS35r6Aj30txHLc
T24Ey1oYMQT07xvv9wUG/d+QeX9qTp9AZdWFjv1+R04fOnvgg5pSDe/DcN8FHjq009f8YiioUu37
/XI/gbe9FbeXuS9upI1xTytDEPQu8c4xXhGd0kO4PzWpj6EapWKpHXWO+x1JfejVgbOI7qBl+P63
7C0NnTbTU/mTIdOrenhj7ifw6EYm9hzdKPgl98WQU6UV7Htwn2Fo5Yck9empSX0JKrj2WkUG1sF9
IHMWOnNT74v7QfHQAWYkKsdxXwxhjA857wv4aN3Qc35xI660fDo3xFLyNz7rExg0u43Y7+upSX0C
1Trb3jaYgbVzP4i+bLGne0lfdoRc0woMmIosjMtgBggHrcFgrwzwCN25BRhHXqG07TtdvLMQDezh
Zv51jBjy7jGvYxJ4GHsdk9zIW/O0MgSqJKbxLiGaYDjrhlzF6qnJlwLVK+eaq6wZWHuIBk0jE0Kp
/vxhuM/fBZSrVKYdQqmVQs/X8NnganQhYIXAeoXfdWT+1WvSClS0piPpV9t2TVo2570ypcOSrIrw
RrYravOaG1Ul2/Uq0eXDL/EXtUYV/JBMTT1V9ZmhYsBYmrRz76tD9Rm5JFupWCE5c1GIUmu/fEGD
WqfnJV4FL0XEUi1Z/Ztsv4CPW6ixBJXzRtsP4wjY6bFNb9KA1fvFNLVuX4ZuGkAsPro0MNYo96Y8
9+2Pf//17bc/38SPv/3+n+ffCAyHh0/sLz/QR59+f/nfX59+/dcfn37cxvcfflwbsOq86lyUlN8e
fXrY89ev31/+/LPuod7ApYcmleY/nr+Lco9MhPz8aqz4ipUG+fWZ//jy/HcWlv3+009fvr+Q//5T
dGZ/+nT8Saz88vztt5ev549zDod4QUG7ecn2v3ncvnssvHukJer1RPSNRDMDOj04STTTT2WJ5tc1
7eajFaToY+kUuz6kdEg0r/u4LD66MHoU/ACuQ92ElPj22JaQQquAU1OSPc5k2vf8mwY3i4/mSzTz
l6f1unm9o+sRaT89C+0BLZ5qw4s9cBr0g01ZnQyBzTrjwwV5Mj4vRpqeDJ7Jkx2homuXEE6/GvcU
MLxf952fz2G7N5G/Ma13nDpo+puFfjDbiYb+dLGQBD+7AC9zfCBySqXP+EBkKYu48QFCii52+UB0
dqcYw+7GMwLDK28K00xZ7rUXQoXc66olTcIKKrwDbfZ2bdkyh5Cf8r2bmSP2LlHHOm/tZowwxha3
Gtmi5hxJ8MVE5IIy9YBGOSVt6nXzHEELGkr6CNVrGzP3DkOgIlbkLVVA7TjLqxe9FajoQxxx7Gjm
Fn4y1Gh8HHGJZaYKNNOagzvTYcWorhe3pucSS8yxRGe7OdMutpvMBdeut8Ue0vntoKbj8MZch1Ay
m4veO3d7Zb/9a4fI3yWiqWlYWS0lrK2dsFhPUMG3iwnLr4bribV32S3zCB50V/pxZsl+9GEMyzQk
MWTijXsIJxgxuAG6gtrMLTlkqBCwtJrNBZ6eksMY2JwuzW+PE3giLSvUKZNhWqfcZEgX56I75r6A
P6Xij+F+ciMi/9PKkIml9ci7cJ9h0J664YYmz/25JYcMlaJUKb0tx/2OksOoZG1bVF17FO5HFXjo
gs80dRrG/WQIsDNg3pb7CTxtmbuaCGS4n9zIKuOfVoaiC7tKDwZ4BfAe5VSIuo/7U0sOBarmUWzn
fkfJIf0/jQwZvX3pwf63rPlO257avszjvhhytnOXdmPuJ/ABR6752Y2iA/O0MsMNHW/LfIZBu/cR
3aq0mVpwmKBSBG3PczAdBYdRI5vzpQyjx2F+5CjmXEZWcCDzI/cvNQ+52z+Cxz6BoSzz6W9j1Pbp
zI7WNpbEPd6F+pH1lFzp7qqe+lPrDRNU8CW3ylG/o94wGkvmPH6IBb8J9F24w+xs6rMhy72LH5H6
CbwbetCX3CiYpa5gMmRCSSXvPbgvMCKn3u7nvp1abyhQXdClK9kM921HvSFt0MicMR9iwW8tD53J
CYmP474YgmLe8/1yP4E/yf2N4X5yowD6aWUoqmuSlbO5zzC8D0M0Re3Uu3qBGsRJm7nfcVUbLbA5
uKb3/BDc58SwEDAnJzyO+2IIi8L098v9BN71tQzMcp/dyKq4kBJPhmK41pdqNvcZBgRTSpur5/7U
QjaBSkvwigzuDfc7Ctkid9iFSIHxI3A/cIaLxetDd6k6eE6tzQId8IvVYfoVhBiipeONmpnujEwC
PvqR149HJ/ce1q8j2H0KKAN8lmDQqqniTq8iMk3NdWOoRlnsUEGwHSlW0WsamehLbH6YyOQdD104
r5iawX0x5OKt+pvs476A9waGrkqSG0VYnkSKoeCuXdLO5j7DoN26H3ESaad2ORCoRqmOslnb0eWA
WE8jQ3T5CKuSoNPQhdncF0O6uMi9X+4n8EEPvYRIbmTPdiRiyKC58bwvMGLxvK2e+1NTDgWqpY1d
u8SB7Ug5pM0imTPuDlQPB7xl5KFzOH3eF0MA1wRj7pT7DB6V761zusj95EbolyeRYohIt6ud6Riv
cD5UXOtVcH9qyqFA9SaUpMdz3O9JOQRDI4OxJEXzMNwHz0MXTU1R8i7uiyFnzSOmGx/BBxjKfXGj
aK16WhkK+lpS9mzuM4xgfEn/rJ77c1MOBSrtnzq435NyCJHN2TtQOt//lpEcEOyqZ9cM7oshhyVV
2vvlvoD3xg5d8yc3ArPkvhgK7lrznNncZxjoTKkNXT335yYdMtSoje046+tJOsRAIxOLddSPw31y
QFrB+OnzvhjyxX7Td8x9Ae/M0MwjdqOoNC73+2IohBuXGDIMq6yCIfP+3KxDhqqVCu2V27Yn6zBa
GhlukfABuB9TFXqFSPzlG8gBwnArMKBL5QglMCMkpRZgAjuV8dNPQcWQLr6C+42KCTz29XzLRcVE
sKDM+nVYdeu8DIZh6BdGrIjc3HxMgUoLy/YbENeej8ljwubCB1gRpe8SQvGsuyQw3EOplSaU+4WG
cjW6YHCIYK3ryAWsFqw9Qo22Q9jE6WbBWjHHpeulw/6swPBafckF7V+vJSvVl16Vlj6bz8+LJpUJ
l1FQylOqf2MdGVwtb0zTELjYUarpTM8bswdQXjfVs2RUJJ1dfPP/Pv/15dfMcNit7pC9rDuU8BmH
pQV4bjjs22ObhsN4jy0JNbnhcM0roE27iMVHlwYGbYg7FDDnCXQKvBjQDhlInx/IS3l19npeXVbD
OgGPxlVkT281cAnp6cFJA5d+Kmvgvi67Nh8tIfFSXBcbEtZHrw5Z7a1XxqxXcoEuYGzvb+nC22Pr
6crmyFqL1lvOy9p3T5u+N4uPpmvgypenmULHhkOB82+M57Pr+lsvXCBsI3bIRmxOl8RTtlqLC+Db
Y1tcQNMKp6koK+cCsd0FtnsAd3kPwG0FDzSxwOUrPeSq9q8dErNl5TKjNFulFZm7oFwWI/0lOItn
ErOvSAOrnbUplx1/NepSncwcvdTW/hRnaqmvuIPubM6TrG2Ui7i1hQNwceUGURe1OK6ope5pxbHC
AUW9iYJW6u52ICWl1FWLEMEaOAN2xPmnn7nTP0JFgyMUoXzH5rBa0zNBpV1DqbQuE6l9z6EEmzO0
immvR/e6WfUymSPu6UwN91lTsrHxNjirtcnE22CdQdzEW4IanOuKt3xiXLoZmCbr3tq76ecV7Oj6
9GJyvdCkrRYohSsv8ApL+5D5vdCOMMCEwrq4LHneC6FC8vy8f1bCGqwdUu7mZ5a7HaGiMSNy4XxH
/UtjsAUbXfuy2LdX5iVzaKCj3MbbnmAb6EUo21k1dk8d7bjShr6LC1jTzbJaYljRr4yfOI5QdbPE
8PFXfews3bxpK80jePpjl9Tg5enj1Ydh0e34aAiKWWzvMX0wDPCmYk9dEedm1vokqLT79+15f769
1ocrCsmcVte0IB8i8DhN38WfvsusNrpHQ8HgjWp99nE/gQ9WjeR+ciOH7mllCIpXD+/BfYYRnRki
Nuhn1voIVFBaVzTY3nC/vdaHzNGkGMFd04B+DO4jD50PGdWhgdxnQ1aVuuPeMfcFvA1dGS457ic3
wmifVoZoYXVlWz2d+wRDa1VKPa7n/sxanyNUrBFJ2XC/vdaHC73JHER3ZWH2ENz3lgtOAKbP+2zI
K1+qx7pf7ifw0XbV+uS4L26EFFGezgxZ72ypyOY9uM8waDtih5x5z6z1OUIFIn8799trfcgcSEZY
qbzgYbgfOEFLGZfJ9x/HfTGkXXhI7ifw2NfLMMt9caNg4GllyKp9uj6DvCL6pryGLPdn1vokqLQd
65n322t9WHeFzJlQOkh/HO6DDB3O5z4bgqhuJDC+k/sMHlcRci/3xY2I58uzPjEUr0bI6dwnGJET
RUZwf2atj0B1ymBF8uiG++21PkaBppGJ+kNcMoCjoePCldncF0POl7SX7pf7Cfzp9nYM95MbebU8
6xNDQV/bTs7mPsNg9fMR+/0wN89FoEZf0orLcD/0JI8AkjkPnVPYfXEftQxdrrvAOO6zIRq6Ui3m
/XJfwGutuvT8stxnNwr67I5PDBl77UR0NvcFBta0PK7g/kyF8QTVVomhb7jfrjBO5jyZY0WRj8B9
5KGLmFEYH8h9NgRmRyLuLbkv4L3rzMa9zH1xI2NRP60M4dUIOZ37BMN5PaRnfZibcsVQPavFtXO/
J4+JhtQ5dO4jrPmj56Fzud7l47gvhmzoFEK7MfcT+Ihduj457ic3wrNzfjFEpLvxvM8wgvZDWgiH
mRreR6joOvT8QruGN5mLZM7hRzjr08rw0CHM3u+LIVA36yyyi/tH8MF2dRXKcp/dyJuFfv/RkL7q
WpO5n2CgHcP9qXl9AhW9Vx37/Y68Pq0CmeOWxR+B+5GHbpWtOoX7bCh4/Yjz/hE89vXuyHD/6EYh
+qeVIbzac3E69wlGdK6i30wF96fm9TFUz72pO7jfkdentT1wOkznkfV9cV8HHjrINREex30xxFp1
j8h9AW+tGlgOdnQjmkPM08oQ719vy32GobWGETm9YWpeX4KKurQBz3G/I6+PlmtkzumSUNbDcN9Y
0fOrEP26KKE3QkDmDAy9R+NmHz4kQ7G3A8ONA1ECD3HoIiT5tEe1eh00sepdosJDXJRbJpV2i/WB
aGqSoUC1zpUUvnOBqCPJUJskxlkRoi+Td4CczAoM1HSevgxmgLDJAgzQi1Chc5dxXyHaqgMEWjbN
Tr1mQ2ixd9BuHBUT+OiHLs/EjSgCLrdmVh84KebaKM2OigID/JAWK2Fq+qVAdQDYcSTbkX5Ji2ni
S/ClyT0r8Lh5JRBPOvRVkjGv8jDwEsxntUIFBocIpIWOlLl6eUeGiuT6FdV8m/cV2+UdtXWc69TU
tvxsNEAtX9CgrrZ59T3G61SMboT2BLQnQcQt1FiCaqzvkPQlYKfHtrxJZ5xpavWa0TkD07wc2AiF
Lz66ODAY1dsh/rc//v3Xt9/+fNOl/Pb7f55/IzAcHj6xv/xAH336/eV/f3369V9/fPpxG85/+HFl
IOrzOukkcvn26NPDnr9+/f7y5591D7XnydivD00Cmn88fxctBZli+fnVWE8tzGmQX5/5jy/Pf2fN
v+8//fTl+wv57z9FAvCnT8efxMovz99+e/l6/jjOihogeAg27wVLtv+Ngv3m3WPh3UeFpTzKrHom
ATo9OKln0k9n6pnr+eRv2/lkjQWwohd6RSxpv1yJazn7xUcXho02576U3ZiLJe7tsS2xhHa5pnQK
Vu1FBXHWWp3/xUfzZTP5y6OP4I8z8JtwLq06K4Vz357lafVl9R10nBuw6KXv4o0t1RyVdNZ7dhgr
ISqw8PmMwIQIA1ZIJlUQuOOUtGVZR1Cj4+uOZgKHjmWdcwcVuCDu8rb1rB9Gg7adKUsUMXWC8Sps
FYpoSnIsdenhTKCIgRLODn2i9BXRlmpKpwnbtfYM+HkNG/uqlS734Di2c6ANTjx3Ae29hosXS/jZ
BXiZ4wGaHMBAxgW0455sGx9gpMp3OQGtVo25afulI4yoS72yyup9vRAq1PtWzSkEK3p77YZrvABv
e/+GLXUIOfSdMr3au8QdiOr8FlAsgS0Jn16R4N3XrOIcSbShlPRfEOEd0DKjJMO7bqPBaHlAh8iQ
wdzbAoFKgbhliZuF2nGEV68MKVBpCVnR9qsC6tSCT4HKZZ8joGJHfVrjqNKk2dGJAHqui8Sc9aWO
Szlz2K63mcw5gx3frqPyNpnzqrTPyZhD1fPtPMVnFny4+bZq/9rB83cBtLmlOj2LvmfTQu3/8NGz
lCxt1S6v1mglZ7mHCb02+mNQDq071/+3oI7rSqU80rNQnS/aEmwIqn3RJr9Kf7iR0sieHnqv4F3o
ykDOrN+TPzutl2sQNhRVuJanPXtpKzCguMKuj+hTqw4ZquHTlnaVIeyoOtQeeLHjOpXV7ysIBf4u
DnNZiN1ByIDLbhkHBKEEGwDag5D8ajDXumzcZxBK4P3YICT+rJVb3reLIYBrTaBnByGGQfQuqS7V
B6Gp5Y8C1ZjQIW+MHeWPmlsa8Oni7eWN979l4M0Dp3BVBKFduTZiKPiSaub9cj+BxziU+8mNwNmn
lSHU+2QPxniFdcWalXruTy1/FKhO+w6ZQ+wof6SN4YHrrO9A9mDAW44s5gG50ueB3GdDJpZKVe6Y
+wzeGuiSOcxyn90I9dkhsRhyLu7KPh7jFZam0yHz/tzyR4Eae853sKf8ES3rUmh1e9mD/W8Zg+Ss
mJoTkF3cF0PWljLE75f7CXyArrYGOe4nN3Jn5Y9iyBVbtL4H9xmG12P65OHc8keBirZUj5jjfk/5
Y1Rkjv7Xp9xzX9yPlofO+4zU2Tjui6EItyp/3Md9Bh9ob95583mZ++JGxDD9tDKkbVPv0UleEQDH
cH9u+SNDBV88R8pxv6f8MQKZc/HazfQjcN8oxeIW8XwnO4H7YgiVUY944XAE74cmDCU38nbZzigZ
0li6vH8H7icYaIdk5eLUHAKByrUT7VJn2HGFbBTnK2tXEn99HO4DFyz6ipyGiwWLU8pOztA51l/N
iDAOjExsiDs0PmRkEvCxT3w5E5mOTo7Gr18HFrsbvktkAtaGCHZEFRlOrfoTqPTnCq3YTWTqqPoz
WtPIlCspHiYycZ6ypsVZzVXoLu6LIWs6FaxuzP0E3ruuRms57osboQn2aWWI1iq7Gq6M8QrCN2ZV
MjUHT6BaazsEWbAj9Yt+68CapXfQZHH/WzbkgAZNnD7vi6HobyW+vI/7CfwqWWQ398WNQlyIMIoh
GvRw2xvIBIN2SyMarcWpTRcEqnO+orxyzf3Y0XTBGE/mFHyEk0hjkIcObabZ0kDus6Gg3CNmHxzB
WxyZfZDcSGunnlaGIKjbZh4JDHLxISWGcWr6o0ANKkJ7jXDsSH801pA5rUsFFA/DfUsOGDxn2k/m
vhgi+jzkvJ/Agxl5C3F0Iw/L/b4YgnhtWpnNfYYBfF88gvtTsw4FKmrTIcAaO7IOjY00MhA6M/jv
i/vO8NCFXKO1cdwXQwZv1XRhH/cFvD3Jbg7iPrsRnil8JUPOxl0KX2O8IiqoSOep4P7UrMMEFaAj
6zB2ZB3SHo3MOXWt+/VjcJ8cMFLcnD7vi6FoH5T7Aj6M5X5yI9qqPp0ZCkqdUptvxn2GgX5IaXCc
mnUoUGnxFDrW/B1Zh8ZbMqdc/AAZx8azZKrBUmev4g3kAF2jFRhb0zzjMpgBgm0LMIHe8lvy77yo
KIY8qEeswUrggxp7CpoIhst8zGSIpvfb5mMKDNpnDGlBF6fmYwpUq3zH7WfsyMc0QdHIhAgfoBpd
vgsGX7o8Kol89VCqrFcjiKLBkhB6vd9NFflKUKMrOULO7zpEvthcJGf3de/qijIMT4VtyjCvKjDx
Kzir1rgQhqgjx44MrpY3xkLO1oX2zO0IPW/MHqKmXcAAXcWIi2/+3+e/vvyaGQ671USxGU0UwWc8
VtTbbIYD3x7bNBxO+xFipbFdwX7TC2Px0WZgaH3G7Vg2mpAWajUhJ0pWMjxtoy6lkVUOJCdZZQfy
Ul6d3SPnLMCDCxXqEhs5WEZ6enCSg6WfzuRgc9PT3zYfrSCBURUh4Wr0MqpDYXrrlbHglRqjKa2f
L9OVgZ0eW09XMRcrEkuue1n7hmXT/WLx0XxVWP7yFLd9Ra7vRaF0Tj4/m13X33rhAmEbsUM2YrN+
u9Ola9KcC9i3x7a4AK0UfMUK57oLtHcv2vQcWXy0HhhwB++9wYvFBegpWH4dL3/J4+O9CuGS/KVx
rIDKYsBnIiavSHW7iEn6VbLWf6zYqeXY2qrhXMkx4Qbdp2Hwam1T1MBXic4r9Gs3uN5WpaDkuKcr
xTmO4Is9JQs6jrs7Y5RUHNfdMgQreGsG5Dzw3DRzp89Q0dgKtZUKqB2bw3q9wQQ1mors8U2k7jmU
SOZiu+A0j0OzIp8BT0spb11N++qGeGuvxVs2q8DGi/GW/pJLRWAVbwWqAdMRb/lXQ+hsPLpPc7pV
P/3nFWzQfmTXbFY0d9afHdWIHfSlLmTv0J1JYDgXS5pIZTXmXggVaswrCXvB6rVxA+6ZjZpb7SZQ
kbtwDIA6VTFXoAYX29NgeQw7Yi2b86GiOGBjrkPb1UBgn8E7yLjfz1Xk7xKUzdw19cwbtBuix42f
NwSqj8G1zxvyq2BLTb3utrnfEXwIXaU+mdkj+bBxuBAfSIZwZ9rfGJcMtD0ZkPZn1NxSH4YKBkoq
QLnA01Pqg8hDGjp18+4r8EQtQ+dmN/ZMhmwMNxIf2Md9Ae9OgWsM98WNuAnY08qQL9aDvwf3GQaa
toP0HPf13FIfhhptzTn1mvu6p9Qniu61uqYK9RjcRxk6zJT4DuQ+G3LFUsw75r6AD1GP5H5yI3dW
5ieGeGF1Y+7TLynjR5T3Gz231EegRigpgeS431HqY5Vhc75TM/OuuG+V52Yq3mVEh4ZxPxlyxdTM
u+V+Au9P/eSHcP/oRtHC08rQWz3hjbgvMFgVdsi8P7XUR6Cym3bM+x2lPlZFGpkYO3Xz7ov7Wh18
tDEnNDqO+2LIa/uQ3E/gHXaJDGe5H9lrLYSnlaFwtYvPbO4TjKCsqehdVMH9qaU+AlUr+lc79ztK
fax2NDLBXqvBfgzugwydms99NkRz541KfHdyX8BjX2ORHPeTG4FWTytDFBVuu99PMGIYM+9PLfUR
qCbQMLZzv6PUxxpN5gy4j7DmN9yWOICvuWTYxX0xBLH0ju6X+wIerRm5309uRBEAn1aG4tX2K7O5
zzBsUKX0+XruT01zEaguYEkIKcf9jtwRa5BGJupS8fPDcN+SAzqrMdNYZBz3xZBz6kYlvvu4n8B3
tlbOcl/cyC/P+pIhXm7flvsMwxtvhpz1TRUYT1AjlMr/ctzvEBi31pM5XxQ5fRzuowwdTl/zs6Gg
4rXC9TvlPoPX1g1d84sbcU/Hp5UhU6yrfxfuM4yoSo1V67k/NeVKoELQ7V2cGVg7950Rc/4jrPkd
OSAq5eNs7oshbUqya/fL/QQ+mK7mAjnuJzfyfsl9MWQw7JLwHuQVMVRcnFVwf6qEt0CNoUPWh4F1
cD9ymbUvHS0+DPe94aFzORnfcdwXQwAPmdeXwKMamtd3dKO4lPRKhujDXU2FhngFKI8VC+kK7k/N
6xOomkvo27nfkddnfaCRwViqonkc7kceulMyyUTusyGnSz2q7pj7At7boWd94kaRnv20MlQWqHoX
7hMMY8OQkjYzNa9PoFqFqj23x3Tk9dlgaWSiDbcXr9n/lgM5oLUn0cZ53BdDBO1GwlX7uJ/A26HV
YEc3Aliu+cUQ7fhvnNvDMByrY4zg/tS8PoFKS/D2JsIMrJ37oGhkIl57QQ/BfSAH9OBzzQTHcZ8N
BWX1Q571JfBh7P0+u5FXxpqnlSEd4cbcFxjRD9nvm7l5fQwVQihduOe435PXB0DmHJQaGzwM95Ec
ECl6Tr/jE0O2KH9yv9xP4KPpEqzMcp/dyNMK/2lliD67cV4fw4gh6BGl1WZuXh9BpQV/VO05vaYn
rw8tS9/6koR3SW12hNbaAgxL34ZYkX55CcwQJakVGJohr+8TL4MZoGl0BgZpodF5q3hnIRoOqDnD
YHqIZkPBdRbH3zpEC3h0XUrruRCd3IiWrE8rQ6huXXbBMIyH0q1QfYiem37JULkJXHv6pelJv4ws
TIoBC1Exq+26eSXWnnJUqtSiXpWhnr988aBWqJxXpcy9+vfVkTJXr+wqUD0NQcdy2rcru7I5tLr3
NPi+YjV/F0AoqaeUNKB7QuBKJeeXz89nJ0mMCNmNR/jdVA1ogRp1dB1LuQ4NaBu5PS5iqSy7KEtp
YBkYBjVSzwu+Cl4Tw5BiG9N+AR+3UGMJKl8ZdER8fHts05v0ylSI1l+V1jTtC/RNO4jFR5cGxnu3
OET69se///r2259vUsjffv/P828EhqelT+wvP9BHn35/+d9fn3791x+fftzGix9+XBs4pT4cl0Gi
q/z26NPDnr9+/f7y5591D40eLj00aTb/8fxd9HsksPLza7EG81pBQoP8+sx/fHn+O8vMfv/ppy/f
X8h//ymqsz99Ov4kVn55/vbby9fzxwXvbcuKKOMFtqDkvGT732ijvnn3WHj3UUFF9elWsJkAnR6c
BJvpp7Jg8+uadvPRGhLaUofw6pBiOwSb111dFh9dGL1A28sKucp1SLH67bEtISXQbr1iN3vdmdq3
2Zt2N4uP5gs285dnR31Vk+qRbH99llPuwLVQNiMYctYRZ5y6JX8FnqEDXlAps+BYyACiO1MpO0K1
oV1NOP0q2thfufh+vXh+XsOOfVoFuUY80tMFLCzuNNiQ1d5d1qrDzy7Ay3iJU3YCcjCwJuMEVmmI
uHECQmqD73ICa6/nAU7uNpRgRFe6mixrePZCqNDwXHWoEazO72ns2anC3d7EZUsd68jPO7t5J3uX
uBM1C32sx4jvtxrcamTHmnMk3hXT/wtK3AP65pS0uNe9dAQt1+CPSFq0Uy8xElRaGY44zLMdh3n1
+rACFVwcIvFop5Z+ClTUNW0KK6BOVTgXqNzPpz1zzXbcYh3NYUkyMGfOtavuJnO+2GshZ66jBjeZ
C67j9MF26Lc75Sk+24i3TwfYv3bQ/F1Q60w6QM9q3Wl9TVO4a7WeoCpn2xdq8qvRxhvVHe1qnnkE
fzpiHrJmTz7s7FJXVAx5WotcOZefvZwVGLTxH3HsaafWHArU4GJH3ZHtqDl0Gsgc/fv2Yub737JR
PHSoM5fcwxrnJkNBlToc3C/3E3gbR7YTP7pR8Iu6o2SIthy7NIbGeAU4M6T2wE6tORSoqF1FYtCG
+x01h87wMhxM6aLxcbgPPHQ6ZOqNB3KfDdFk95jcF/Dgu+qOctxPbkRz1tPKEK1nd2kNjPGKqPyY
3dvUmsMEFbFUy5rjfkfNobOazNnQKZdzX9y3vFeDoGuuB3ZxXwwhlroF3S/3BXzUsUtrIMd9cSPa
JS/PGi03qVTO7Ko3HuIVjhNbR2gLuqk1hwJV0x63/eTGddQc0haNzFFUvH1i64C3HA/kaaf2HhO5
z4ZAxxv1EdnJfQHvXZfWQJb74kZxmaGYDNEstquH0BivsL6mr3UF96fWHApU8uAObUHXUXPonGVz
9lpxyENw3wX6LsHmNIbGcV8MgccbaQrv434CH21X3VGO+8mNICznfTEU/T6dkTFeQdQvHaXXc39q
zaFADTZ07PddR82h8+rAt8130Lhw/1v25IAhoMpoDI3jvhiibdmNNIb2cT+BdzB03hc3skYtz/rE
EC0FbnzWxzAoKDVl3GW5P/e6nqGidR0FLa7nttYDmzOdLTHui/uBHBDh1LR3HvfFEMK1hsr3yX0B
H1Xo6iOS5b64UVjqioqhqMy+XgJjvCIGHJKq46YWszFUryyWyv9y3O8oZnPBsbli64LH4T5whTBW
9Hq+WCE8pd7mDJ1XsOrZNyUysSEudHrIyMTgo4GhtxDi5E4hrl6HVv7aIff0yMQwwJQOROsj09x0
N4ZKW6dSD+hcZOrJsgJN5pzuFPC8r8gEXFqHWk8/jRBD0Zaa5N4v9xP4EIeeRiQ38nrJfTZkKcrc
mPsCg3NdR3B/aqcDgeron+0Zlq6j04EDJHPK34Ha+f63jJqH7nSIO4/7YsjDrTod7OO+gA/ajeW+
uFFcqp4mQ2BLVZLvwX2G4W1R17ee+3OzDhlq0F3zfk/WIXoydz0t9DG4Tw7IgjcZxeOB3GdDrDH9
kNwX8B6GZhyLG2m77HCUDAHeuoCOYYCzdsiaf27WIUNFGsV21VPXk3VIQ+oBnPkItxDR89A5N537
YsiEUsXU/XJfwFtlhp5EJjdCu7yFEEPOlFoMvAf3GUZUxRBUz/25WYcClaJlexGX68k6jFHMlU7v
HoX7XplDIHZPzzxKhmgr+4jz/hG8G1tpJG6EZllplAy5ouDYO3BfYPA52oisQz8161CgGlucUzLc
9x1Zh14FGhm0JT3Yx+F+PEil5+yzvmSIu+Q+JPcFfPQjM46PbgQGnlaGvL5xlaHAsBrMiP2+n5p1
mKAiVhREbrjfkXXotWVzUOr1/DDc16JRrFWfevMQJac1GKiI4ZevQwco1S3AEDU5zXj6ikgMOeUf
MR/zCN6pkaegiWDxTAc+GfLhWouB2VGRYXhT01SlIipOzcdMUGkU2/MyfEc+Jg0K93o215LlHyIq
0ncB+u9LKS0l0doeSm1Ea9VSFiohCq40uvV+15ELWC9aK1C1NaVqyZzf2XbRWvK4g/WItk5guCzA
ZA03mWkSYFrIW7uIK1zB24pSiIo31pHB1fLG9CEEtKX+Ork35nremDtojF636FdklCS9X3zz/z7/
9eXXzHDYrfSQzUgPMT6jfCwlSuaGw789tmU4KGoWc7KrhyM0r4A2zTQWH10aGEt73uMc3KOCOVGk
k+G5EEzT3JwbSMgP5KW8Ons9ry6vYy3Ao1EV1ytbHVxCenpw0sGln8o6uK/Lrs1Ha0ixWFVZH706
pLW3XhkLXklrHTDtt70e3x7bQlevwVUEy+te1r5h2bSbWXw0XweXv3yg5XmpbrSoEB/U+ey6/tYL
FwjbiB0KEZubnVVUSa1dgACdHtviAgEam0BmXCDodhfY7gFcbg9gRbT5NNWuVGZpjnNfO1RmoSxe
JuOjHS2lLoiXecWy1TSNmDPxsiNS52KzeJn8Km/J3kFqeF9vlHPB1IRb277M4Vdrmw49UbNgqls5
gTEILW2TxzWBWeGIpnSTWBBL3d2IpiSVum5OI1itd3aEDnyYu89nqI4F60ZA7dga1ot6JqhR+/bk
jNBzJJHM9ZwLB9sue+ldOGiufs9UcZ61JRun6U1bTFq/xWDtpWir+S8VLeTOo22CSruw9mgrv+r9
tVTkKcLurd2Afl7BDspiZ7C9dFB5bNTkEdZeADsFY3b3XRIY3mJpmVrWPO+FUKF5vurIlLDGOKSk
JEwtdhOoIdR0ZKqA2lH90hBsGSrY0JEFGzrq8pI550NHbPc9wRboRahigeSj9Ejznr8Ll3uOmzic
VnbGxJGgYuyYOORXgyn549020zyC9zhy+kg+zP9+WhkCLAl8vsf0wTDAhzEheWqlj0DF4DvOf0JH
pY/3kczRnH/7jN/9bznQr6APkMn8GdZINxkKUd+o0mcf9wU8GD+y1/nRjSIuegIlQ+jVLr2xMV5B
Kxw74uYqTK30YahG6djD/Y5KHx8CmaP/3V5vbMBbjvRdaAWVyfYfyH02BLazLPrW3BfwwXdpDuW4
n9zIGfu0MoS4T198jFdo75oah2a5P7XSR6Cydlj7rXXoqPTxYMVcZ9HKfXEfyAFpl5fL+B3HfTEE
4VYVvvu4L+C52/1I7ic3wrg8bBZD0ZRKa9+D+wzD+pp2rBXcn1rpI1Ad+Wl7ikboqPTxqMgc/en2
lT773zKSAxLzdSavdRz3xRDqaxmb98n9BN693iiP4b64kbVqOe+LoRj26Y2N8QrPZxEDuA9zK30Y
arC6Iz0Leip9ENicw9trDe5/y5EcMIB10+d9MYS+dPtwv9xP4E+HFYO4L26EsLwqYkOgdKk/+3tw
X2CEoiB0PffnVvowVC6Xak/0gZ5KH+7Ch7a4Inoc7gMPHcSMzuhA7rMhltB8SO4LeAtD531xI6eX
/b/FUFThmubhdO4zDNAVt3YV3J+b50JQreIeDe3c70geCUqzOWM+wLwfuP+rQnM5DXAg95Oh6G7V
U2gX94/gAUfO+0c3Cks1PzGktVK7qvvHeIUGW1rZ1nN/qr64QGWt9o41f4e+eFBI5lTozCi9L+5r
zUMXcDr3xRAXHD4i9wV8MH4s99mNWLL3aWUIXFMy7iSvsDbaET2EYWrKlUB1itZP7dzvyGMK0k1a
FyviH4f75IDOa2Wmc58NBbsjKfSW3BfwIXT1EM5xP7mRi/FpZQjw2lHSdO4TDO8Mjrjjg6kK3gKV
AkBHBjd0KHjTr3Fnde8+wprfcOt17XNqfuO4L4YMdDZkuDH3Bbw9abaP4X5yI5pcn1aGnL1xWrjA
AB3HnPVNzetLUKPqKBaBjrw++gc3fqbt3wfgvjXcPzxCRsF7HPfFEG2V+gLmjbmfwK8i5G7usxuh
XdY3JEPcyuu23GcYUdccoFVwf2peX4KKJnbM+x15fcEGNudKBb2Pw/14cMo4nL7mF0M0mTzi/X4C
75Tvrb29yP3kRqjOuM+GvCnJwLwL9wmG1lA6za7n/tS8vgQVoWfN35HXF7j5q0YMt1fz2/+WnQjo
uQrNoYsCeiP0KFZgUFcIR18GM0DLZg0GY6e04AiZhgWYcHDG4Plh44wQLYacKklx3W+ITuBdn9B6
LkQL2+NZyVUy5EOp1v89QjTD4Ea0I4TWYWr6ZYKKNQIomxDdkX4ZvD4o0PfQ8nH/W6bvYribTyEQ
laQFeyi1qr7+Gj4bPB9drgX1I7YF2JH6Vy9UJ1CDUxVSF2u/Q9UuVBe8Jb9DW+ohlpUWvCBXYl/P
SqvkSk7SJC/hZSlNIqjQ+yFXN9iRrtXyvix99RBLxwO596V73pc7AFjVksxyPhpm+YIG9VPN674J
XrSmVBlV/ybbL+DjFmosQY3gK/KDN2/Svj226U3yhrxFfDyjsIWueem2UYVefHRhYFBZr982kt/+
+Pdf3377800R8dvv/3n+jcBwePjE/vIDffTp95f//fXp13/98enHbXz/4ce1ATjvxpfkFd8efXrY
89ev31/+/LPuofG8te/rQ5N04x/P36WOXyZCfn4tVseiavJYGuTXZ/7jy/PfWW3u+08/ffn+Qv77
TxGf++nT8Sex8svzt99evp4/jv5YoSR73Qt83guWbP8bbTs37x4L7552FqV1SVa3kQCdHpx0G+mn
sm7j65p289EKEmhvR+g2Yvv5flyLuy8+ujR60ZjYnstLwE6PbQkpGGlvNUC0DwvqoLWq94uP5us2
Bu+5rDO+dttbKLfqWuXW07O4N7X3oGqE8ceJCvL7814re0lUMFhuTIsO/ZlayRFqsL5ZrST9aoBS
xtk0matW/fCfV7DB6JEdio7S7mFZr8yGaMcM6uIVE352AV7GK0uyE9C7jiw/c9EJuAuEgY0TBJa5
gS4nCCwydCUXaHLTgQQDivrcZS2vXghVWl5nQvWClaDa/myATjHOdi33LXUCOB06G/sle1vu8JYV
0G/GyBdb61wR5NwnXH+OBI0qOXhBknOAfP4VUc4zSf2EFm2pLUP94mbuJQZDjbTnH3GYhx2HefU6
cQwVlPGlGv1qqHFq6WeCGotJNPVQO44+GkfVaCj1N86tbntuscScKapO5szFdvW9ZI68u117I3bU
4CZzrmerEHXPt/MUn2k0b58OsH/tAPxdaPFT09S3WltQ2xmr9SNU5doXavKrEEq9ju62h9YRfIwj
e2gdfZiG+mllKF4taZu9nGUY6KFUJFYfxafWHArUSHGnvato7Kk5BOAFTiylPT1M4EH6LtFqm8lD
6gk83mrvJgSeBFUF0x545FeduybfcZ+BJ4FH11XsnAs84sPRLjWxk6Gg9hU9DXHJcSvduQWPAjWG
kgxsLvD0FDxGTeY83oHQwf63HGWTsGrUO6FxpxjSWpe6ztwv9xN4b4ZyX9yI/rhcdIghA6Xr6vfg
vsCIekhDqzi34JGhco5N+9Yx9hQ8RuSto72D5OfdbxmUohUunval07ifDEV/K5GTXdw/gsc+kZMs
98WNYCluJoZQ231CB2O8AgFK+/l67k8teBSotCSrSAnZcL+j4BG4GVd04Q7EzAe8ZV5kYt295D7u
s6Fyu5I75j4vLJUJIw8bkht5BfFpZUi70mH9u3BfFtK6lMNXz/2pBY8Clf7Yw/2Ogkda/ZE5r6/d
Qj0E93Va3ZnZa34xZJR1j3jQeAQf+pqY5Lif3Mjr5bwvhnQsVRq+B/cFBrohBY9xasGjQGVRho79
fkfBI2harFntr1WkPgT3jeah81U3HLu4L4ZoTrtRI4N93E/gne3MbshwX9wo+iX3xRBelYGazX2G
4bzFIfP+1FwBgeo5BLRzv+OqGIxnc6pTp+vOuA8HpSjAX3/LF8v6piT8L9ARPXxQKiO9NjAysSEw
nc3wbh2ZBDxglwRLLjIlJ3fLPsjJULwav6dHJoIRvKvoy1gRmabW+QlUMKG0TMhFpo46P7CGzblr
R8UPEZksOSAEFzISLOO4L4YgxBvJL+3jvoBHZYdyP7kRmuVphBiKpnQM8B7cZxjoIQ44ibRqaq6d
QI0mVhyarrhvVUeKF9jI5q5q4z0E9x05YKRtdi71gYviRtT3J0OoS0p+98v9BN6bLgmWLPfZjawB
/7QyFOFaI5rZ3CcYqIKpyJms4P7UNgsCVYMqFRzkuN/RZgFcIHPWlnJlH4f7kYfOutwtxDjusyH0
pQvtO+a+gI9q6C1EciPQ6uncEO1190mvjfEKTmMecBrBt6lTuU9QrQ0VXeA23O9IeQRv2Rxc6333
ENz35IAWwGfaK43jvhjC2LlYujH3BXxcVswP4L64kdNueRLJhpwqaj69B/cFBphSimg996dmHQpU
VoZuriJhYO3cD4rMKR0/wklksDJ02cyjYdwXQ95dq0m9T+4n8ABdbRZy3E9u5HG55hdDIV5zrdnc
ZxjBuoreBRXcn5p1KFBBhXa5ZQbWwX0Qcx/irA/IAcGBUrO5L4Z87OxJdWPuC/hgeuurM9xnN9LK
hKeVIXofN84+YBi8ShtQ5mTV3KxDhhpVrBDa2XC/J+sQRKbUQKdM6Qj5lTWYU7fPZjAD5KXOwCCF
RfcR8jGBqBm1yjWZHxgVIQkJPeTtZwIfxt6AJDdybnkSIoYsXkv1nR4V4RCVMiNuPznNf2pUZKig
oSMq9uRjoj5E74t6yVm1ybUSh7N8MNikxPGquuE+f305cxzGFXQY0SLUqo4sunq9SUBzoBUs3kHv
rv1Eke8CxdT8nPdBu3Ymm9O0kjKdurQ9QbCsJCSIovUj1DGt6sjgavM72uNBBUU27wp73pU7eBVj
UwOvy1J2Vi0l3//7/NeXXzPDYbfaJzajfSL4TMSK3LvNcMS3xzYNB4XciiL9q8OhVfNqbiM6v/jo
wsDQTB9fz9cWMnyuVoZvokogwwNesg3wK10QzL+UV2f3COkycNRGl3JgckKcjPT04CTEST+VhThf
l12bj9aQaN4cEb10+41P3HplLHglWpo2ry/J1nQlYKfHttAVLdgBQpxW22a6bhpWLD6aL8TJXz6C
CSX595JENVfpnq3q1t964QJhG7FDIWLT7l/HDhdwb49tcYEYta+4Z7juAgVh39rOHIuPVgNDS8mD
NejNxet89FG7rx0yl7YsYgKRrVoM9oKICQD9pXbeuTMRkyNS59u1TtOvxlO+UscGulOzsVUk/1yx
UXBbZWOX2OmrtU0hszcHNJ6Wcys3sBpKDntFsXFPP4AVDtSlg7qCXuPungRFtcZVnwLB6pxrInl2
Bpy6009Qo6roDlQBtWOLW68rKFApcFacn2widcehhJgLDkrFIjlz0K68x+acNytVkkxnpLHx1jla
+kIm3jpLq2K1ibcE1XndFW+5NGlHIdn79WT6eQXbWdMbbi/KRngtNalu7QQerp3iTO7HJDCCUaWG
sGXV5V4IFarLqx4+CSuaihKyigA2tdpNoIKNLSvgPNSpyrgJKu1VmoV4eAy7Yq1DUKb92ER3aLii
AvKZ8nnzo3TVQs3fJRqbqbTrmTecVvQr4+eNBFWH2D5v8K+ColXbbS66drXzO4LHvtSfzOxx9GGv
Ftf/yRCFwl1pf2NcEjCMEByzZmqpj0BFD749zpmOUh/Ukc2RwQ8QeIyh7xJjLt1/WCtPMRT11UT2
++R+Au+VH8l9caNAm4WnlSFTbHP8HtwXGFGFEen+ZmqpD0Ol8KlKpeM57neU+qAJbM6UJFgfh/vx
wErDLpPgMpD7bEj7UkfsO+Y+gzdadSW45Lif3IiWUU8rQ9aWSPcu3GcYEYdsxczUUh+ByhenHfN+
R6kPWnvwJlytw3wI7tvAQ5ct9RnHfTGkY7iR0Og+7gt4uVUfyH1xI9DLzgbJkPVNHZVmeQWtBgd0
/eFjtpncZ6guYMmvctzvKPVBp8gc6FLK78Nw31luMaAhIzY4jvtiyNjSbc/9cj+BBzN0zZ/cyMNy
3hdDNtorrjWb+wwjKFfa1dZzf2qpT4IKrkKFZMP9jlIfdMDm4JoS7ENw35MDskhrRmxwHPfFEIXp
GyW17+O+gLcahq75xY1Qw/LeQww5uy+pfYxXoMIhSe1maqlPggpYUZG44X5HqQ9yOx7EeyhoGfCW
yQGjUT4j6zOQ+2zIGrhRY5Gd3BfwxNOR3E9u5Jbl/cmQV9ekmKdzHw60g/YjRIatmZvmIlAxVDQl
3XC/J3ckaDbnOpXp7ov73M9VG59rLjCO+2LIgn7INb+Ad8p3lfjmuJ/cCHHJfTHkzbVTkdncZxis
eTXkrG+qwLhAtbZr3u8QGEcazmAwdl5V3xf3QfPQqZyc3zjuiyF3s0LWfdxP4DsLWbPcZzciL1qe
9Ykhj9eWlLO5zzCcNBgewP25KVcCNZoSGXPc78lj4qapLlq4vazPgLdMDugpbk4/6xNDrtib8o65
L+CjHZrbk9wIljWhyRDN/Dc+52cYwbTVr2S5P1XCO0GNvrRLynG/Q8Ib0ZA5j/oj7PfR89ChrklG
38V9NgSa9cAfkPsJvD2/Cd3LfXGjYPTynF8MGbg2rczmPqYm6hUXZ9e5b+fm9TFUJDPt3Lc9eX0Y
xVznsdV9cZ9+MURl/PT9vhjSxWav98v9BB7H5vYkNwphud8XQ/Z0sHAr7guM6Co08iq4Pzevj6CC
og1Ke+GW7cnri4HN3UMj0QFvOR5oNoZ34D4b0vExc3oFvDmV8Y/hvrgRKFzm9Ioh60ut8d6F+5F7
GpoKQlVwf25eH0O1Rqv2c37bkdcXlaWRIV/4ANyPitUAbdTXT3UuqQEOEaRYgXG+QkfnMpgB0ggr
ML7G/y+DGaCsswATuPGgtnpyiE6GjL1WTHSXIfoIPuDIgt0j271V69dhsSQf8g4hWmA4VaMrWhGi
p6ZfJqhgTMfWrCP9MmpF5qwvVbI+TIjmhsO0AS8NXUmprodSa6U6TzH56RwRlgvW6/2uI/WvXqlO
oEajS7LbOb9z7Up1UdsDT4qV76qsVmKdO2laVqmVvCqT+PBL/EWtUQFUDELF++pI12p5X/bgFae5
tL8v3/O+/EFjKKZpF+Wp7NkLGtRQNS/8xni5k+2Yw7j2C/i4hRpLULU3pSKu3JuEt8e2vEkyF5vm
wozElsXmpdtG4nrx0aWBMbzpO61Svv3x77++/fbnmyTit9//8/wbgeHw8In95Qf66NPvL//769Ov
//rj04/b+P7Dj2sDMZw3nBF9xbdHnx72/PXr95c//6x6qNbnF4OvD03ajX88f5c6fpkI+fm1WFnd
Kz2WBvn1mf/48vx3lpv7/tNPX76/kP/+U9Tnfvp0/Ems/PL87beXr+ePo0hQuiuv9oKY94Il2/9G
Hr5591h492h9RSb6VriRAJ0enIQb6aeycOPrmnbz0QpSZHXVASHFtZ/vx7VS/eKjC6NnFaqOnB4C
dnpsS0ghc1ARwa46kyvIg9ZK+C8+mi/cyF8+OFpCH7/8QroVaqVbT88yTtp4QE2voAaVKyirlUTN
ZrVVl9RKMNJfeqQ10ZlayStU/p1GtZL0qyGW1n7TVK5a5ah/XsGmzdLQ1oRyn2nU4liT7fDdcqlm
4B30+BMM8KUDjrLKVS+ECpWrlSK4YI3OVggkVYTmqUew0fgD685VpFxVQO04iqhXuRKotJCp6FOz
mUV6TovFnMEORUFn21Wu2Fykf5R07R+lJUC0mr4LRdTMqeewjirJEGr7iH2mjuAdjAzgRzeKbtFj
LhmKxWOE94jg1lCoCWaIoJ6bWngqUCkodpxmuI7C02gdm1PXbg4fg/ueK6BOO6WVEPVnF+BlvDAq
u71HG+0lIeqo6C/Bm5UQ9StS49qXjPyrUYXS3muOEHV7/5zVqlGQ69OhdGvQSfa2y0bNrXKNh6eV
JeOaOlqPbBa0QkKBtk+MekDLopIc9bqNEaMNtNouBYP6MDm1Rleg0p9hxH2C6ygpbFg8ClS0JW/M
RfSOcuJkjiJE+7WZCx2LRws0gYDC+QsuNoS9smi3XnAJ+GC7MoBzCy6au2n9qf36bUS8JoM2fb1F
MEwolrfUs3Nq0Z9AtZwB0E6XjqK/6DSbc+Ej7LUcrR25XHJ2P+9kKBaLsu+X+gl8hC6Rnxz1yY24
4io+nduhd7FP13OMU7B07ZADqKk1fwLVezQddwMdNX/RIZmz2Llyvy/qewpjHqLKiImPo74Yoj/c
KP93H/UTeBfGUh8P3tmz+zi2E1S4ph41m/oCA2hPNoL6U0v+BCo43XOg21HyF70nc8peOwZ7DOoj
D52DjLzXQOqzIR/iQ876Av5NM3oM9cmNQIG1Tys7YK4N0nTqEwy0RVHxaur7qRV/AjXSu2lX8/Yd
FX8xGBqZAHeg6rn/LQcvQweZqp9x1BdDtI/tG7QbU1/Am9MV7Bjqkxsh91l/WtmxEHcV+g9xCq2U
wSHUn1rwl6CCrYC6oX5HwV8MkczZYsvdh6E+GB46nxP2G0d9MYRQOr68X+oL+KhV5xVHhvriRh6X
53xsSNNuclcDnzFeoUNbl/Us9+dmmzBUw8Lj7dzvSeGAwObCtU4Lj8F9ckADwWcEfgZynw0hdpbg
3Jr7DD6e+guO4b64kVPLQn8xZJWzu0Q+xniFUx6GzPtzK8kEKviKRvMb7vdUkqElc6g+xLyP5IDe
KJx+0CeGuFX1I3I/gQ9u6EFfciMXlyd9YsjRfvK23GcYQfshVaR+bj6VQEVf0bd6w/2efCoErke3
FQchF0vApxSHvaGLin7N+VJ28MNEpmjlxZrpkUkMRSiVkNxvZGLwoBQOXZUkN6K1ztPKEK1Lbrwq
ERgAQ+SG/dwUJoaKLpQSWnKRqScvKAKZ00o9/kGkpf+Uhy7GyUlHR0PBlvL37pX7r+ARh55GJDdy
i/vHoyHU18QZ53I/wYjOD2kn7Ge2GRCoXJRdKrnIcb+9zQCZczQyYO+gpeiAtww8dE5PvoQ4GjKh
dJ19x9wX8DEMrPB4dSPA+LQy5PS1q5rp3CcYWoWSsGY992dmHB6hQrHHZ4777RmHVml9YDGTzs64
98V97XjoMExe8x8NRVW6Kbpf7ifwzgxc8x/dyBm/nPfZkFHB3TTl8AgDrBpR3eVnphwmqNaZiuzI
DffbUw7JHCZzH2HeN+SAFg3CbO6LoehLLZ/vl/sJPLqBeUevbhQWbQWTIUcz7k0Tj44wIPghN5Az
cw4TVO9Oh8Qt3G/POSRznswpLMl0Pg73kYcOYqbNwEDus6GgHvEW4hW81wNvIY5upI02TytDACXS
vQv36ZeAItCIeT/MTDo8QoVQurPNcD+0Jx1aZQ2Z8zrcvr3Q/rdsWSYEQkXt/sUblREySiswWDxI
KV7vDJCJOwNjIOow/RSUDaGypWLb+42KCTz0NVvNRcVEMO/j6nWgjrfVujjCwDEKv2FmPmaCGr2p
6Au7iYrt+ZhkLpI5Fnz8AFGRCwCVCPxdFRa4pPDbQ6mV8tRX+OWX5WGAIMJiV9Z6v+vIBaxWjE1Q
OV+j/eYtmGbFWDJnDtHRXqkwG2cVfi9IQODr4FRKQLzKPXw2n5/Pjm8Yl1cWh6yfOjK4Wt4YQw1Q
ygzMvTHb88bcAcDaisrQqzKOwS2++X+f//rya2Y47FZSwl6WlDjii8Va39xwuLfHtgwHKq0r8ueu
D0d7w4VNj4PFRxcGhlNC/DHELyQoda0E5TyFTILnuWLel6q1qgcy5AfyUp6QvZ4nlBWRTsBD1dnF
VoSWVXteH5xEaOmnsgjt67Jr89EKEhijRhSahw5d661XxqxXSqVOMVs/R1d4e2w9Xdmcc011uDkv
a9+wbJq1LD6aLkIrX56PvUqLvKI8e4jns+v6Wy9cIGwjdshGbIIVtKuQTN64QHx7bIsLmBCLJzS1
LgDtXWk2LXIWH60HJoQDGIQYL21iKVRq93W4aJtVnq06zVK+a9E22ifQX2rvglmKtp2QWtUq2pZ+
1Spdaoo3R7SttUHEmWTbK+4QukoZX61tUoi4twTtoM82z2JJ4zWdh4Jk255eGCsc6EqX8wXBtt39
OEpybaseHQmrc2OKrmHuTl+gvl1J74PasTmslmtLUL3Hin3sOlJDz6EEmws6lqp4c+ZMs1ybmEOa
1VVNV7Cx8RZpOxVCJt4i3y/6TbwlqBQVuuItWlSd9977dNVbmyf9vIZ9OqAa04xM+lo5vSgfPRqK
sK+EbG+bqgTDBVVSYSkLq/dCqBFWP2tglbB6Y4YclsDMcrcENRhdajRbD7WjOqct2GIIvqJb8Cb6
tVfmJXPgivdiOXOuJ9gC+Xe0d5B+M4Cr3DDV2pARABjVTvJoyPnO6smbtpN8BR/twHaSr24EeLb2
Y0Oh2DXuXSI4wXAGK25wKkLNzHKbI9SIuv2yCdrLbawCzeZ6s8fvi/vgaElMy9uM0Oc47osh2if0
75NvyH0B7w12bpYvc5/diP5mUWp3NBT8tUqu2dxnGPSnUneeeu7PLbcRqDHGDu73lNsAkrmg7iD9
Zv9bRm4lqxRmxD/GcV8MaVuq3Lxf7ifwwXeV2mW5L27kAjytDJmrEimzuY+pwTCOuOyHueU2DJW2
QxW7oQ33e8pt0JM5voH4CNxHHrpTQeVE7rMhcqiHnPcFPGo7lPvJjaKyTytD0V67RZjOfYIRPVbc
BVdwf265DUFF9ZYO0ML9nnIbGlKIGN1H4H60B28C4MV7uZHcF0O0kOxvaHRD7ifwEdRI7osbRevc
05mhYLW99bwvMAAqMhkquD+33IahOtqBtyf5QU+5TQQyZ02pSeijcF8rRd8FTMiU2A/jfjLER6QP
yP0jeLRdZbZZ7osbBbu4rRFD9F+XWgK+A/cTjOCGyGvg1HIbgRqs62iiiB3lNlo5GpkYSruhx+E+
8NCdvstE7rMhF9WN5P13cp/Be+P0QO6LGwUaYHhaGQrO3/acX2AA/WtEsiVOTTURqKhUR6kdduRv
aK1pZILWH+CcX2vHQ6ft7LO+ZEjbhzznP4IPfbJaOe4nN/LGPK0MmVhqkP4e3BcY0ZY8vJ77M0W+
E1S+c2vf72O7yDeZQzbn76CZ3/63bPQBaI05/X4/GSKcNyom3cd9AW8MjFzzH90o+uWaXwzZcOP9
vsDQLFQ3gvtTs54SVNCh/ZwfO1KJtPFkzhT7CTwO95GH7tQEfiL32RAa+4i5PUfwHrqkdXLcFzey
FpdrfjEUoXRj9S7cJxgmmAqNygruzxT5TlCt1R3SOtgu8m21NTQyXGH1AbhvPQ/d6ahkHvfFkAv+
ilffJ/cFPP3XQ/f7yY3w7KxPDAVTqj54D+4zDGfAjLjjw6l5fQlqDBVpSBvud+T1actphB7hA9zx
aWckJTLX3GMc99mQ16qUf3W/3E/gTyVhg7jPbkQ71eV+XwyZcOP7/QQjqopS1QruT83rE6g0o3QU
T2FHXp92XKtlbCnb+XG4Hzm57KTpNJH7bAj8rXp57uS+gI99vTxz3E9uRPvqp5WhaK9lQUznPsGg
d1W6lKnn/tS8PoGKBkK7JAx25PVpb8Wc/wj7fa5+xwAh08J7HPfFEMRbtc/Yx30Bj1YPPecXN2Ln
fVoZiv7G1ZgCI/qahJkK7k/N62OonNcXOub9jrw+HRQnZJlSq8OH4X6wNHTW+On3+2LIuWunWPfJ
/QQe7dD9fnKjAO5pZSio0u71PbjPMLRxpUVaPfen5vUlqNF36DNgR16fDk7kZyuWGRcVX0fonS3A
iBauq9APuwxmgJrTCgzq0mF+CcwIXaEFGGCvoP3MBwjRoFgPI+Q6G44L0WLI4bXkovsM0QLe63Ph
qN0hmtzIKGUX5ZbJUHD6xsszhmEHlVrHuemXDNWFYvecTIiOPemXYDhl0ZfKLrL6qhvFJnrc611V
lWLTqzoTvATzWa1RxVja0de/r46UuXp1VYbKJXIVkXzzvnS7uioNMAv7qM6boDuL1fRdnLelhj4l
HeaeELgSqnG/hICr0fW0NxoSJ6bqMCeoUVUsZzZ+16HDrMEfLPepbChaPR8NuwwMg5oz50VXBa9V
Rd3o+jfZfgEft1BjEWpwpaSu3Jt0b49tepOeV8INI5ORt4ztC/RNS4bFR5cGxnuNbxvJb3/8+69v
v/35Jkf87ff/PP9GYHha+sT+8gN99On3l//99enXf/3x6cdtvPjhx7UBvzqlEm3jt0efHvb89ev3
lz//rHsonB8SvD406Sb/8fxdtNcksPLza7EG9ZpRQoP8+sx/fHn+O0u9fv/ppy/fX8h//ynKrz99
Ov4kVn55/vbby9fzxwVvK6o8rntBQU15yfa/edy+eyy8+6hjqS1uVjSZAJ0enEST6aeyaPLrmnbz
0RpSLAqR1oeUDtHkdWeVxUcXRs8pjBUStpuQAm+PbQkpzmgTBogmx/Zt9qblzOKj+aLJ/OVBm1P9
fY9s+ulZ6A/a8ihc3r2edaVpUJg0ZYVJ/gpyMOwvKEySv9NcbCG4M4XJI1TarjQrTKZfBXOt3f0U
hcnW5h0/r2GDGdgS/LWvSozLQEOGjHHmcikJfnYBXuY4gdHRW5dxAqNpJvYbJyCkIk3a4QQsIr1P
iGl3L5gEA3Xp4qYso9kLoUJGc9UlRrB6dKXj1DlK2O2NVLbUIeQRulIBXu1tuCO9Yax1YTVGQYVr
7bYKWtj7usaskIAqyTYX1LAH9K4p6WGv+9kIWqB4PuTEZe4lBkpTMqzoAX4VqlMdh3n1Eq0JKuoR
545OzS39ZKjRYelgqR7qVJVxhkrzhqpoJLhZ3fbcYiVz2N4wyMmOolH4NpnjE8V2cz01uGIu2naZ
H37LHd8u0ExgAD9AZ13+RePhlOw5rYdkMoT22kX3XfaQPIIPsXPuv3zXJG5EU//yrkkMxQi77prG
eEWgiX/AMYFTc8v+GCrQlru57I+BtYea6Lixjr+Dsr8Bbxl46E7V0hO5z4acL1WT3DH3BTzCyP6x
4kagzs/mxFDQ+6Q+xngFGhxR7u/U3LI/gRpjbO6rxsCauW+UPrCW4B1Ifex+y0Y5HjrQmRTgYdwX
Q5HWuTdKAd7F/QReW91V7p/hfnKjoB0+rQzRknKXxNcYr4jRViRuVHB/atkfQ7Uq1EDdcL+j7M8o
ZHPFziEPw33N7Y+Vnj7vJ0PaXStmvU/uJ/AQusr9s9wXN/KwOO5LhqxSV6rJZ3NfYMSiDms996eW
/QlUE6Di9GzD/Y6yP6M9maNt2e3l/Qa8ZeShCy5T9jeQ+2yIdbEfkvsMHl1f2V+O+8mNYlzO+2yI
qH9z7jOMUHM8WMH9qWV/AtU50176w8DauW8MmbPK3r7cf/9bNuSADpTLyPuN474YwmKvvPvlfgIf
7NB5P7kR+e3TylDc2cpjjFf44EdIfDk1texPoAYLFdXJG+53lP1RrKaRic5/BO5bw0PnMCPvN477
YshB6RL2frkv4L0KI8/6jm5EO/6nlSHaB+yS+RnjFUC7nCHn/FNvzBPU6HvO+TsuTI0NZM5H3adO
fWfcjzx00Uw/62NDSD884h3fEbzXQ7kvbhSsdk8rQwZufM6fYEQ75I5PT60nE6jxrQ9VA/d1Rz2Z
cZbN2U43vi/uu3BwSlnIlPuP474Y0qEzYN6Y+wl8DF0SXznuJzcCtE8rQ3z9d1vuC4yIbkD7Pqen
5nQJVB1iqTVcjvsdqUTG4UEpF8L1k5CLRe1TSsTe0HlFg2GgdOH5MJHJW36xJ6mpeZFJDKGyNxIi
2ReZEngbh0YmcSM+7H9aGSof/79HZGIYhvePIyLT1GYDAtXydrE9MnU0GzAe2Jy5g4bi+99yIAe0
YMJ07oshdJ3pWjfmvoCPp3LJQdwXNwp2eRLJhpwycOPsA4ERxiTF66lZhwKVq/6vX5ZuuN+RdUgB
8cCtDK8dFT8G94GHLszPPhBDvtiz6o65L+Cd71K3yXGf3YjL5pc3kGIohGutl6dzn2AE6+KQeX9q
1qFABRrE9moD3ZN1CJrN6WtFhg/BfSAHBGfd7GqDZMh7fMSM4yP42NdQPMf95EZeL08jxBDQL96W
+wwD+eB4BPfnZh0y1KiVab+F0D1Zh4BkTvnOPnn3xX0kB4w01ejZ3BdDHm7VbGAf9wV80L5LeDTL
fRSvPcs+EENQFK56D+4TDK9okzOi2kDPzTpkqFrFUo52jvs9WYfoaWRCvINGIwPeMtLQsQNO5z4b
MgYek/sCHsfeQIobgY3LG0gx5FTpPu1duE8wjPIV5TsV3J+bdShQaanUwf2erEMaUm+s+xBnfVE0
i6F0BFe8URkgprQCg67UsbUIZoBY3BkYcipnpq+IxBDerPXavqgo4KNSQ09CEsHw7BSUDVll9kmx
D+GL59ywIVFxbj4mQ3U2dNRg6Z58zBhpZCJ2lhHfVVS0ihaTXvlSp+qSbmwPpdbKTOGzWRwEJkSg
RrQAcLojF7BeN5ahBpodS6c7Ob+L7bqxFBMOnD1Xo6+10ZfeaiDhKVGyUgPpVe8ofgVn1RoXp3AN
eGOmI4Or5Y1ZmneD6Tg3MarnjblDpOVtqUFrpZgjz85vdv77/NeXXzPDYbfqPzaj/iP4TChmlueG
Q789tmk4DJgmCafccJjmFdCmn8Xio0sDg6xll5D2CFFO1Mm0yh+0tJkYMJA2P5CX8oTs9TyhvJQ0
AzdaF1tM5aRoGenpwUmKln4qS9G+Lrs2H60hYXQjxLpMh7r11itj1isJqg26o97UuLfH1tOVzYGq
iA7Xvax9w7Lp+LL4aL4ULX95vgoo1Y6VRNpZgvxsdl1/64ULhG3EDtmIzcLJPpQOlnIuEN4e2+IC
NgbXVJCZcwFod4HtHsBl9gDWhEN0Wl1O5UEftfvaIfQKZaFXq8mqDfRGLgi9mkh/SQSy50KvCamK
UTcLvaZfpZ1hv5BBp2ppa3uSc83SI+6TQE5rj5xkbSNexJ1NaB+m49oNnG0qaBrXieUch1fFzoAF
xdLd3WBKeqXrDjEJq1M+kwlz1uepgTuugjsOiQk57nCtRdxyh/fe0McdX1Ynrp/np55nCNRgUL2D
OPHuTjArnw+cKd/H8ssKZalJj/N2PT6umPH6Dp2wBAaY0/e9yvFhECr0rlfdeAQrEqtGnOaZjlOV
eknaBBVcxcprs8TpOM1L5tCUTvOqR8ZOrT8TqFzAOwRqR7lMy0uEA80AoV1XmL2rWQo3mfOuvXMY
v7IOn2FzQVdU52zM6b5vF4GC4O3TbvcHTWvpu8Dp8HxaU8lkKKpSN767bSp5BM8dZMZNpcmNnAL/
dG4IFV7rHzJ7KhUY4OyIxZmdWm4jUKPX7S3GGFh7qLGezFEo/RDcR/ouTueEfwZynw35q7vAO+W+
gAdjR3I/uZFf9vdIhkK8pic3nfvxoJQNQy787NRyG4GqFfRwv6PcxjrL5vw1NdaH4L4LvCD0mEky
Gcd9MURjdqNSu33cF/Dh1BdvDPfJjThfdEl9sbM363aMUxjWJRlB/anVNgLVOqjYJm6o31FtY70i
c17dgcb3/rfs9cHRn3D6tC+GnFGP2Ef+CN6PpT65kfXOLA/PxI6HkoDVe1CfYQCRY8isP7XYJkHl
5WQ79TuKbaz3bM6WDhceh/rIJVWn7zKR+myIlhcPueJP4GOf1GeW+uJGAMubHjEUrgqjTec+1wGZ
WNFvvYL7U4ttGCp/tZ6DxY5iGxsMjUzsrRm7L+4HrviwqGquFXdxXwyRqRtJfu3jfgJvsavQLsd9
ciP6C6PgaWUohGsrytncZxja6jHXLVOLbQSqUT3pVraj2MaGSCMTjLm9qNb+twxc16CMnc59MaTd
NcmY++R+Ao9mLPfFjYJdbvfFkC1m8r0H9wVGDENauNq5KRgM1VK0bL+Etj2X0BDInAmdSvV3xv0o
Q4cZcY2B3GdDEEvudMfcZ/BowlDuixtZhcvMDzEU3a1P+RkGbfiHJKDYqRLfAtUH7Nnvd0h8W7Rk
zuqS7MjDcB8DF29pnSmwH8d9MYTWPuQpfwIfcOhRX3Ijf5YNK4ZiNLtae4zxihBqktavc9/NTbFi
qEBj2d7Wx/UkEkVFIxPpvX0A7kfLQ+dzgnrjuC+G3J702BtyX8D7TmGdHPeTG0W/5L4YCvbW5/wM
A623I+Z9N1XiW6BGrg5t536HxLeNQCPDh32Pz32nyAGjjTEjpDuM+8kQ7/gfkPtH8D4MzexhN4rK
4iKrLxmi+fa2Z30MIyhao40453dTs/oEqla2o7WH68jqc8rRyASWAfgA3AceOudm3/ElQzrAI17v
J/BGmZHFMUc3QnPGfTZkrzY7ns59hhERR2T0uqlZfQLVhFhKG8lxvyOrz2l9YAWKaynXD8F97WTo
/PR5XwwhV0E+IPcTeD80oze5kbUqPq0MxZ0tvcZ4hQUoLdLquT81rU+gOgwV3cc23O9I63MayRyv
Nj4A9w05oAMbZ5/1JUOctvKI3E/gYxg67yc3wqWIthjySl9LHZnNfYERsEk0JMv9qXl9AjU41XHH
5zry+pxxUudQWvMXNB+HKB4twIgApSopexbBDNBzWYMJFU0XLoMZoCxyBiZ4mkM/wJGsMxQnaCY+
r8ifEqLZkIudjWFuHaIZvLdD0zDEjYLSyyPZZKjc4vxdQjTBAKtKO8T6ED01/VKgolK+Y3nWkX7p
rKGRoc3ZR1ie0Xfh25jSeqCk7NlDqbIGhSByxpZOJev9riP1r14nMkGtkrTc+B2060Q6aw/I0aJO
hbWsFeQQTzIUVVpBr7pAz1+++GW2uKACCoxDjnA60rVa3pc9RGdjz7Ut9rwvz3FClXJqiuJwLi5f
0KD2rHnZRcGLUJPFfv1N+vYL+LiFGktQIxpoX5QTsNNjW94ksEJry8hkBO68bl6GbkTZFx9dGBjQ
ennM/u2Pf//17bc/3wRJv/3+n+ffCAyHh0/sLz/QR59+f/nfX59+/dcfn37cxvcfflwbQHcucC7q
pm+PPj3s+evX7y9//ln1UKMwXHpoUk794/m7KHbJRMjPr8VqTq3RaZBfn/mPL89/Z7HH7z/99OX7
C/nvP0X78adPx5/Eyi/P3357+Xr+OKNDxQnwdS8obNOWbP8b7ZA37x4L7z54h9e9dCubSoBOD06y
qfRTWTb1dU27+WgFiRaRFRvIipDSfr4f170VFh9dGr3Iu932kGLfHtsUUqLCijSC687kmkPKpunE
4qP5sqnOcpk07S6OM2OPcPLpWc4fDKpT09xiX4oGXUJT1iXk92fAo9EXdAmdpr+kHYlzZ7qEr1CN
b9YlTL+qnb+F2F+rfP/Pa9gxdOUwZtthcJKwMkt1eTZkA3nBxXRy/OwCvIwXdmUnsJ53Txkn4C0C
+o0TMFITu5zAovfXGu1M7vkhMCJNhBV7xsuKhr0QKhQNV30iElYMnVcpO7Rw21spbKnDqVK2s79W
srfJA5IuDJoWs+dj5JQq7uCuqOHu6xuxQgLFVl8FPdwB3StKirjrjhaCVhP/RyQu+bmXGAzVqFM7
y31QOw7z6jUhE1SouWutgDq19FOgWgdDWsH6jqOPxlGlSbCjWsX33GKJOQg9+/PQLn2ZzKEL7QfA
vqMGN5mLuqOntseebxdoJgBlPkBvTXq9FOG1hkw6gHGIgG0Ltf8DUQXkNNbMYo0MKoxBHWhJ59EC
KrVcr/Gn3tHHjv+DoF1UYM7XbEfUyrav2eRX5QDxJndeu7rZHcFDnyJ/Zvl+dGci0NPKkDv1ZbjV
ypZhaGfjiLQEP7X8UKDSGrxUtJWLQR3lh47FWDRAqQPcw8SgoHnoEGti0K77bjFkVanj4P1yP4F3
BkdyX9wI9dkFkhhy4cadLAWG1WpI+WGYWn6YoKJy7fdYoaP80IlODBZLkIr3WEFfONmeeI/FeHX0
QzoNhvaCkpZ7LIbK/2xv1ETA2u+xxJyvqV+5eugcCh3hBtxjMVKnlH2LPoPvsZIBE8+zrXfeY6WH
eo2XHtp/j5UeC691c3vvsfhx3ho/oF1XKFw9dN9jEb6gLFTcQ2/vsQjQjHsshqRNUR6jPqS0H/W0
3GMF6XcVTcfk4DvusdicU9gUbHPOFJpDyo3vsYIcAJlS+dLjrIqRFxUmJ8I5cFXMhqIvrV7ueFUs
4BG7EvVzq+LkRmDc07khp/W1i4vpq2KGUVZPqg98c09jGar3WnUEvp5DwMBJpzaUkpnLq2J851Ux
4Y3Ol45Y6t9k+9lG06oYOd1Kd+RVErCOVTGZ0w5H9N8GNXdVzEgjLMRSR6+KxUBc6Y3tXRXTQ406
HZcPWxXLY50flN0lj4vBtdw75bygkOPXvyomfDHW1B9vV8UEaMqqGA+oooERx6XQsdFuWRUTVBNC
xVXdOqSA6VkVszmwpRqOamdq32jfeFUMhiZiB9cO9B5iVQz2wG2RSvpIxVn+vCHv/Fme8TqvSy1b
6inZsVFtmOUZquceae2U9B2zPJsLypQq9qop2b5RbZnlBalXi0l48CyfDFjtR87y6aFgLj60f5aX
xwb1Kueyd5bnxwHWdOm47gWFgtLuWZ7xRQxdOdwEaMYsT5CcCq7UpLw+pLRnubTM8gzVgOnI4SZg
7bO8mENVcdR23Zniw83ynmZ5BJ0RcB53XsSGglKl3LX7PS9K4J0amkEhCyyvYZnoKoY0lFKg3uO8
SGAgVpTiXg8WOPcWlaFCKKYxZ4IF9tyiAtDW2jbVtZ6PxjvfojJe40GNkOTEubeoDNXGaNvT/7Dn
FpXN0YzoB6whcO4tqiD1DsK0laQYAKuGriTlodGPXknyY8Opm+XulSQ9jue/AbeoOOMWlfChUb7U
4TS7ksQ5t6gCKWKpDUt9SJl7i8pQHQW/jpDSc4uazEFTKUHOmR7uFhUiTcS8nPkA50WoDwrNSXV8
3qqYDUUVSw56v6tiAa+d65I6zK6KxY3Csp1ZMmROm5RbrYoJhjbBDSmDxrm3qAyVb6TbT+Ww5xYV
PZkzvtQr/XG4Dyx1WNMVIrPCf+cbYcbrKYKMOCvGuTfCDDVE39FkD3tuhNkc6tC0UMlMx3HujTAj
jcotpHUHr/CTAVBD8yTloVq5i9uG/hV+euxJom3vCp8eB0qrioSS614w40aY8Xmi73Uv3a7w45wb
YYbEClUjNH3j3BthhgpgO0oUY8+NsJhDXbEdu+5MD3cjjEiTKYXvjMLkwFUxGXLck/UhV8UCHtRI
sYzjAivqpfi/GPKqdKPzLqtighEshhHrjzhXAJyhspRUe/pI7BEAT0NqO3tW3teqOJIDArdNms19
MeRBPyT3BXxQfij3038R4rLSVgyBudYeZTb3GQZ6VerMWM/9udoZDJV2SRW9yTbc75FOiMjqOkH1
3hPF8L67SMLrFPoKWe6KN9l+ttGyi4xSfRorUoA2bxI6dpFsjohWcS11fcmHU3eRjNSasGjIOngX
mQzgeXHJ3l2kPJT7GI/dRabHWh/H7CL5cc7giNvCWEgS6d5FMr5ooeLU6sIuMk7ZRRIkmhp0RX3z
1ZBCT566i2SoRnlovidiYO27SDGniwvDSmfyql2I9sa7yBhpItaudN7xKKtir8zBKLn/n7sqToZc
8c71blfFCTw5vBq6KmY3MtEv7omSoeBKNH6HVbHA4GuxAWspetbMVbFANTpWnGdtAl9HK0yvAplT
qD7AHbFXeFDKxdJGtdTIZoos/AJdpJFGH2af1YkhSwH9EfM6E3hjlRsYmZKTs2Dx6nXQYtRd0RCa
HpkIhtOmqaApG5mmNupMUGOoyFffRKaORp1e2wOrsZQC4cNEJk0O6NHpDPfPtLR3cZ8NBdXbPuvG
3Bfwb6X5Y7if3MjHJffFEIWZ22avJBjRlPqF1nN/6jm9QIVQ7DCW437HOT3t/Mgc0eUDZK94Qw6I
IaKfzX0xRAvwh9yRJPDBxJHcT27k0T+dG4oKS4Wn78F9gQGmQuq2gvtTz+kZqlVkpPmcnoF1cB/I
nCnqBTwM9606WG0Ra3po7OK+GGIZkkfkvoAHM1T7J7kR/W95GiGGIuJt7+cFhgHdonCT5/7UDpAC
1TrTrobLwNq5bx2Z075U5fY43Oe2usFXKAZcPI2YIu65QEf0sBh8nB6Z2FDE0CdacevIROCdMqqz
V8jlyJScPHq7eh203nU3XpUwDMJX0SS7IjJNzacXqMHXNAnZRKaOfHrvNLM5VtTfXmbzjBT0M3TW
x1i6C32YuOmIHmBVnH5WIoYcdpZH3TgyCXhv+rpm5yITu1FQ1qunlaHg7I0jE8NAa0vpVfWRqaMl
TENkYqhRm56ra+yJTIEiE5gK/cGLkWmKkNICHdJ7g2LvzIeJTF7xSPuKJIGLIz1FaGCBjuX+weW6
L4yLm2IIaS58xLgp4Pu7v2Xipjg5ufnqdVhVFAN/j7gpMEJoqZ3Lx82pnVcEqqOp//qGaRM3Ozqv
0NKR2Iy6ovTtIptH9JtegwG8fsZ2GcyATrVnYFiLubS0fpyYzeLFSnuYHhXZkCkmXt9xVBTwFoZG
RXYjbtG13OeKIdqq3PjmjWEEIv+I1aSeqqbEUL1B17HP1R1qSj7wGsep2BmIppRaL9CZQzAQS9ow
r31M/9//51oXU6XN68VJZRfT146lz1++uLMLZekNEVyLmmnen3S7P6mtP6mMP6W+EjF+hLQK+S7k
cx3c0G9DVM8NcwCvMVb0ZybvGxKiV12YwcLnld9BBF/R5qjC7zryGtv8DtG4UqJh7l2ZnnflD8YY
X7GguprQrZdlwf99/uvLr5nhsNu+sTbTN1bwWQwlAZXccNi3xzYNhwvFi5Xq4Whfa8K2ZAYyJTOC
FL17XYo8//Hty2/fuAKCtmynopn00bEWRZLa/3yLOTNz5RmeV8Y2ZRLnBtLnB/LSTGn3lJMJcO7I
0SGAy0hPD07lKPRTuRzldVG4+WgFyRqFAzQtvW6/B41br4wFr/QuqtItVo6u4e2xLXQlc9BU+5fz
soKacoauzm0G5vTR/HIU/vIB+SSgr1CTu8SdrerW33rhAmEbsUMhYofoYrtUDgM6PbbFBUBZNWQC
a9dAdtsdisvtUIjdDmhPd3GLzQWs7uvrDruy8zR3jra5rtOLLRz909hly+nT5SAXpEa0cNZu+hWp
weZ20+lXXVFU/8r2vnpvf75tOV8w6p9ouWvVcpO12rTIknyFm2asrnz6V2ubUh9rWVYRQZ+7AY2s
vuwGn+mVwmfb7ge6wg/ICTyEjB/QegWC2fgBQzWhyw88cNedhgOMfS80s/UhHGiLGkWve5H/8//+
//6vgRguOu9qd+xBrTwj0pvsT0rvPxfT202XLm26fl7D9qErJVVfPhRzlrasEIKB9fgYZa7ElvKh
WMsXzbtURFeSjTlzqWEQrnkUF0f9EgKeD1lQXoURZTNm7gEeQ9VG2RFnjabjbGi7xNHZJQ5BNSYM
OU4wc8skBWp0Q/YOpqNuqnFUbagp8VovHE3XCa6YixX5ABtz+u1btJmjiNae7WB66lXFHC3s2stj
je35dlHiTKmF4Tudlu6P78ApbK54rVc62p+if7NAxyONCJn0hZ7lo9MqugnLxyNUpduXj/yrmosp
bnNL2LoaOr8lTODRdWlpZRZER4Y561a+QFNmqYPIeyyIBAYGPSJ3wsytz2OohhjeEfR76vNQkznt
SreEDxMW0VBY9AjX3/LlzN4BbQFWYIIv9WQqghnQ9mQBxrFTkW9VhORduRNiKECpGO5+o6KAB21w
ZFRMBEMM69eBvsTx94iKDMOOURj0Zm7lIkN1RlWcJG+iYk/lIrL+SNClIo5iJu4ARfM1GOgtPxrR
HfcMDG0S4rWC+4eYLyJR0+l4rrE+IyqKIVssE7zfqJjAe91Vn5CNimnzZ8zTyhCt0W8cFRkGfVs/
oqbTzK3pFKioSvnbuajYU9MZLQciVzrdLAaiAT2BV2Cg5tzwMpgB3UQXYDy9CFc8y3icqAj8lkPp
oKSYNzh0FS1gwJaa3xTBDF1FR2S6WczUsw2cL9hQLKYU3fF8IeBPp5Zj5otEMAiweh1BF7uTvst8
QTBA25L8WP18MbfSVqCi7cjcMx2VtkHxDZnDUn/UR4mKQfmDiwpDRvtnGPeTIaNKTXDvlvtH8M6O
3EEnN/Jm2bUuGbJhn/bPEK+g/96O6ADszdRa1gQVTMXh2Ib7HbWsQaWJu6L36+UripGb1iOYYlF9
EczI7XxQkaW7TUnz/mGiojbiVLmuReOiohhCd60nx31GxQQe9cj0k6MbBbtIzxFD3I1tl0bzGK/Q
wZUy7Oqj4tRKVYFKVKw46NtExY5K1aADmwtwe3WPAW8ZJaiWCgCLQXVAv44VGCwObAHMEKX/BRii
poGQq98fGBXZEBaL6O44KjL4aHxXpWouKgrBHE1Jq9dhlSu1MXyXqMgwaMU6Yp9opya6CVQHEa+f
uqyjou3IcwrGkjmnO934vqKiIQd0qM30faIYiqcePI/F/QQelBnJ/eRGtNJ6OjdES6JScuF7cF9g
QCgJ+ddzvyNztIH7DDU4XyEzsuG+7uC+VWLOfYD7xGDJAQN6n9GIHcd9MRThVvrQ+7jP4EFpO5T7
4kZEff20MlQ+mH0P7gsMgDHz/tRUbIFKm+zYwf2ODOBggc0VlxkPw31HDohRqUy3qnHcZ0NRmVup
0+zjfgLvoUsfOst9diNvl9rwyZBGc+N5X2CgwSHcn9oThqEG5XXFffqG+x09YYJzKVn49spUA94y
0HeJztTUS+7jPnDadvCPeC+cwHNi/UjuJzcinj+tDBlTkoR6F+6D5JwP0euzU3POBarxvmfe78g5
D55TYn2vkPh9cd9zKm9EmH4DwoYs8echuZ/An6TPxnBf3Ij+t1zziyFTrGF7D+4zDKecul7EUcH9
qZnVAtVrZdozq21HZjXNXTQy4dQV8KG5Hzj9Ulk1/axPDGl/Tbn7PrmfwCOOzB8+uhFCfFoZsura
qchs7guM6CsIVcH9qfnDAjXQGqrjnL8jfziw7k4IcO1A5jG4z6l0CnI9YAdyX9ILY3zIzAcBb+zY
fDBxI9B2ec4vhqy/1i1zOvcJBipVQagK7k/NBU1QQVWkrm2435MLCobN6TvoTL//LQPrh2l9PqPN
4L4YMq5Utny/3E/gwY+sMT+6kQf7tDJkY0nt5j24DyzzpmwJRj335+aCClQWwG3nfk8uKEQ2F68d
xj4E99EcgP6c6wM5jvtiiP70iPoSCbw99UMexH12I7R6ueYXQ66odPUe3GcYRmFFIV4F9+dmPApU
wJ7cnp6MR5R2GLYkk1JKzBuheboGEztL24aob67AROgU8Rki3rwAE8grXFEV93FCNMUJq4yann4p
hrSz/UqitwzRAh6tHRmikxu5syNZMUQBoEVnc5ZXRDMkDcPNTb9kqC541X4k63rSL6Mlc+hLnYEf
hvv0XVChLjV2KzV26KHUSt/yl89qqW8piLTzpezjer+b2lBEoJqudoeuowkHm4sGXWmFm20Bs35H
NtrQJHt7krh9CS9LiVtBZTmHfMT7mtqII0R3UB5DR8qG62jEEaI/IAWlCh2ay2ruzi5f0CDZwXyf
BMHLMksjDuJd+wV83EKNJajA+Yvtb9K9PbbpTaID1zIyGUV6V2h9UVvGs/jo0sAga/WfVinf/vj3
X99++/Otg8i33//z/BuB4fDwif3lB/ro0+8v//vr06//+uPTj9v4/sOPawOnoTgug6QdydujTw97
/vr1+8uff9Y9NIK+9NDU6uSP5++iKykTIT+/EmtU5nX7QoP8+sx/fHn+O3dn+P7TT1++v5D//lOa
Nfz06fiTWPnl+dtvL19Xj4u6aUWU84KC6MeS7X/zuH33mH/30fkQrmelbPucEKDTg1OfE/qp3Ofk
dU27+WgFyZsYhiwi28/347rmbPHRpdELsVgblgsp8PbYlpASQYUmLbmcM7VXBm6K8RYfze9zEmLg
VrT+9Uylp9PR67OA6/RjgFDT/Hdc8wV+f6xcHy814eDzYm5RYPyZeu4RauDfaVTPTb8KUNL1mdZI
oLV7288r2GjG9hyW3nfaLhUi2VBABeHiFRN+dgFe5jgBe569JKEs1ywByPs2TkBIQ2yXUOZfBaWv
5gFObiGaYHCbouv7kMvdEnohVHRLWLUJFKzaoe5Xh+lsXtPec3NLHdC0r+oSQXi1d4k7llaHy37d
yVIA19/YZV+D0XMkxurS3r/Q2mVAm9MrzV3OWp8mtNEPET50Uy8xBCpfZYzIrfYdh3n1PSMEqrOh
5I31UKeWfgpU2lCOgdpx9NE4qiHUtEvdrG47brGSOaJyuyi7V+29Ko7mYse38x01uMkcFsW0cuZM
z7cLfDlsOxuw3VXfYppn6LvAae0wYrXuNPfXGr9aT1AtuPaFmvwqwq1qD3raLa/AR9W78Li4Zj/6
MKjluoMNGWWuifvMXs4KDFr+jDjA9lNrDgWqtVhqwZcLPB01h+TCfDGsSvcbDxN4jKbv4rTPaJef
BZ49l9zJkLelI6/75X4CD6orBzHH/eRGYXlrlAyF4sHge3CfYTjrSpK49dyfWnMoUL2yHdrlvqPm
EIyXO3XoK6G5M+4jD53PaQ0M5D4b0uhvVHuwk/sM3qy62O7lvrgRTfv+aWXIFu+x34X7DCNi06Ve
lvtTaw4FKgXlitS3Dfc7ag7BGtrfmGhvrzG0/y1b2fhGn6k7Gsd9MYS6dPt2v9xP4P3YeV/cyNLG
9WllKIK58bzPMCDokjBEPfen1hwKVE7ibk9u8x01h2AjjUy0d6Avtv8tO3WItOvUGZ2RcdwXQ9JQ
8AG5n8CvlPp3c1/c6Kz/RDLkFO7SFR3jFajG1Bv7qTWHCSotXdsT1nxHzSE4R+b4sOwjcB946E5H
cBO5z4Ywlq5W7pj7DD6a4EZyX9zImWCfzg1F5XBXUvsYr+C0myFnfVNrDsGxQrcLpUazOe531BzS
zo/MqWIXt4fhvudKIedDpuZwHPfFkIdrStn3yX0BH04q0mO4T27k3fKQX6wAbQJuS3yGoS2aIcSf
e1fPUI0qbpFyxO+5qvWRzfmS5OLDED9QEDPO5xoJjCO+GPJFjdr7Jb6AD0F1CQxliR8P3IRrmR8j
dmjvuqvn1BinsM5VVNRep36YWsgmUJ2vaY+1pn7oKGSDEMicVp0l83dGfV4ucRvavurgKbU2C3SR
X6wy03cjYiiYWymf7QxMAn4VvvcGJnJyp50O67cBcG2fOz0wEQzvdGlPVB+Y5ma6MVRaKpZKXnOB
qSfBCiybc3dQXb//LYM7KKAY23DcdP5mzYTIlK8CFLyooXSHWe+V7ekwDVWAAjVq9O1X4gSsuQow
mYvRDqgCDO1iFA1VgIxUUyTVb5deY6sAjwYinOeI7asCTA/1Ro+tAjw+9nT0tLMKUB6nCeWAwq1Q
qAXtrQIUfCG6kv5htgqQAE2oAhRIEPwQlb/QftvWUAUoUCPNPx0hJbRXASZz6JpKCHLO1K78c9sq
QADafgTv1fSreTEU8JrI9X0uigU8GNUlDZZbFNMCi7X2lwd1YgevngPNXhQzDPA2DlkUzz2hZ6ho
Qk+s6DmhR8ULs1iKog+zKEZa4KOP5znmM6gvhqCY6HG/1E/gverqApCjPrkRGruU3El2EEqH4+9B
fYYRvanYZFZQf+4ZPUHVypjSrUaO+j1n9Ahszn6IhDz6LrR4hooahsv7YVDvux9mvIYW1CO8EtpP
aVr2wwzVSe5Hq1cSsPb9MJujRX1FZtrVxSuYqfthQRqDNrP2w8nAOodq536YHxrUqT/DqP1weqwN
g/bD8rjoR+yHwU7YDxM+q6CoAJDdDxOgGfthhqSDciNupKBDaKthP8xQLYFtv4wG17EfTuZOQlC7
nKldaOvG++GoaJYPFqeXqIkh2gM+5O21gGepl6GLYllgxbPMFTEUXWl79x6rYoah327r9wWLuanq
DNVY7GiNBT2p6tEdmBOli/2HWRVHckATMNcScyD32RCqx7wgTuDt2AticSOrY3xaGYqhdNXzLtwn
GJYlOUdwf26qOkN1lhbB7dzvSVWP8cDr+Yqrv8wuEt93F8l4wagmub/sm2w/22jZRTJUNKqj2QkB
a99FsrmowLfoPWeWfKim7iIFqfdulrbq0QDEMHIXKQ+l5cPFq9r+XWR6rHkVN965i0SlJJO66ZQl
5wV6/C5S8IEJFfFmu4skQBN2kQxJa6eH6JZgu/pUwy5SoFpjO25KCFjzLjKZs6ophSXnTIUjibvc
RaLS9OXj6XjnkVfFqJwsKvTsa6JkyHl4ROGGI/iou5pGZlbFRzfC84jDhoK+cUK3wPD0pxGiLThV
tEWgBtqvdAS+DtEWVEgjE4P/ALUcqDUPHejZRVzJkIsPWbydwHsTRp6GiRsFpdzijjgZIku3Ld4W
GECb9RE7Ypwq2iJQUZnYviPGDtEW1FL06OD6DvNyAcSAvhQrMF5XnONfBjNA0f4MjIagSilFjxMV
kZ1KxdlSVsmQLpYi3XFUFPDY104zFxWTG3ltn1aGrL7WqXV6VGQYESr0byui4tQ7AoEaA3a02cCO
OwI0+hC4V1uFovimZ9ZaTzwoOOUpVOqJv2qHu89fX5xa4fIB7IiUaOw42a3vmsVQIRioSCjfvDFo
75qFxrCD+PAB0hz5uxhuVVH4LqXuej1BsNwPQRCBKfb7q/e7jvTaFr8zB/pH6PE77PE7f/Bem5Lg
ZfWh0bLv7X+f//rya2Y47FbB3WYU3AUf7Yeg/Vie4Jwe2zQc4FEPOEOL7cfym867i48uDExQ3r5e
rfQ0E5p5HmdEv802tV7IDWThZPvSlZXdc2XFwGknGCqmqO2RNyE9PTgdedNP5SNvuz3ytusjb4bk
fRzScSN2HHlvvTIWvBKhavTWdI3m7bEtdEWItuXI+3w07PnCZu1ei1EI26AVCkELo1bQckeRc/72
kslNZ/PFR+9wEm/CQRnjK+bajQvYtzGtdwEyZ3VN6dr1sW4/DNg0bl98tPYKpw78h3Ax2QUpeLiv
45t10b6YrDoKHxd6QKCmv9REPXfWA+KIVMXY3ANCftUqv0MLurPzVGur3/O+Uwm3VqGr/cOrtU2j
c26VHBUsE+ySJVPMH7/Sd2pPV+MVDvrN2n5mgzsrF3tOrbotC1ZHfjqiO3acu9NnqJ7IM0JnM3Zs
ceu7IyWoMVTkWW0idc+hBJsLqqbGcWMO2vsHsTlWwb3cG/EzN/j4PKFDJsdbUOjR5OJtZLHRTbwl
qKqjOWL6VedK6RDTOmTq7UZdlzbqP69hR9+V0qgvH1VytAWHFCXWXhBsU5e/XV80G2zBmFhS4Cw3
j+yFUNE88pfPalkXmbBG54YE26m1yAKVZjAzQtA8dtROtgVbcFaXZKBz0a+jbPpoDmN774QYe4Kt
Zp8Bd/sr+AFcDawQqiquFS7e4k1RLnpD51NHJ5spl+mZ1pzmDN3x01qCSkPZPq3Jr3pfukmdeQ/X
OrOd38Ml8PSngZObMMwqvZSWT4Zg5z3cfsJ4aSflmypiM1E4qKlSkwLVq6Cbw2JQHVKT6G1qwXT7
O/gBbzlw21evMyqzZ4Fn1x28GPJgb3QHv5P7DD4o6JKXznE/uRFG/7QyBO5ahJzO/cDdbiIMaLHM
xX5TuU9QgStA27nfoeaIrDAt0kJ9y4gpgg9v6ILi3lr30Oxqvw8Goge4aDPZQeMikxgKvd0CbhyZ
EngXh65KxI20tcsttxhi57ptZGIYtGoqdSOuj0wdbcobIhNDjfRD80EcA2uPTAHYnL2DBrcD3jIe
FK1JQkZNbyD32ZA5pSA+GPcFvLNDVyXJjSDEpzNDmtZu11xrOvc5ldtoNaDuNKipza0T1Kgr+nFu
uN/R3BrBHJT2oaIjyOVVyYwC4jN0OthiveHDRCbw9IsQwvT9khhCLHVzvt/IJODjWv14Z2QSN3Ln
lRxsCJTbV8kxxisoZKoB5atBza3iYqhIAao5Z5mBdUSmSOacKp1YPwz3kX4FUcXp3BdD0WH/9d8N
uZ/Aoxm6Kklu5HBZr8CGolb7dE3GeEUEV3EAUcH9uVVcBNUo5+z1Y50N93uquDCwOX+tXdpjcJ9b
QqG3mertgdxPvac6exbfmvsEXiuFXdXbOe4nN4pmmW4lhrS9dgQ/nfsMA3BE9XZQczOYGKrxunT+
nuN+T1pQtGTOxTvoerP/LUfHBaCmtx3XiP4oazAUiTrBDOissABD1DT0z+lntGyI2P6YN8cJvB97
cywE8zao1euwGq61b54dFQUGFg/U66PiVKU3geq8Lmml5KJih9IbbRDZnCudYD1KVIyKHNBFZ2pS
VvZwXwx5FUrpYHfL/SP42JuBfpH7RzdCZZ9WhkyxAd87cD/BwFBqJlvP/alphgI1eGhXeGVgHdwH
SUCrUF27fEY7QAJ6DaZG7v4ymAES92dgTKDt/QfYJ0at2KlO32VeVBRDoB7y1voI3saRieLJjYyx
y6gohjCUrovfIyoyDHBxzBnR1G4wAhWNrciT3UTFjm4wUTsaGTSdR513xn2QoYOMytdA7rMh60tZ
53fMfQEfh54PH90ogHtaGfJFwYp34T7BiHxvPYD7emoebYKKvr10jIF1cF9y6XyvytcIheQ3MIZF
ewNUFJ1cBjNAW3UBRtOLcGBurxuz3/+NPTjykDB9nyiGLJbq8+83Kgp4Z/TQFZG4kddGPa0MeXft
UmZ2VGQYoGkLOyIqTs0wFqhoirJbuajYkWEcDdDIRK0/wm7IKho6WktmOoGM474Ycqf2u4/FfQHv
le1S+MtyX9zIq0V1QTLE2/fbcp9hRNr/DVkRTc3hTVBjMes5x/2OHN5oHZvznZe/d8Z9OJBPez99
NySGHJSqsO+Y+wzeazV03k9uFF18WhkKVt/2bkhgaAMVd6kV3J+aw5ugRtoStHO/I4c3Os3mIval
ot8X9507eOPUfO6LIW9KhWr3y/0EPmg/kvvsRkZZgKeVoYC3XvMzDBYPHJEto6dmyQpUp0y7XicD
6+B+0juvMHfx8GGEKOUKTPncrAhmgLbdAgzLNjhTUe91GcwA8bcFGCQHpl36B0hqil6zh7sqxYld
IVoM6eAfcnmWwMexF1XJjSgcP60MWVOSMHiPEC0woi+l7dWH6KnJzAKVgLaLrzOw9hDt3SFg1CVz
WfH1zSuht/+a7Vklq/cqoefDL/EXtUIVvR+hSxd0RwJqvQQ2QwVlsKMkTod2CWwaFHYP7FwZ3lms
ZrlsX1QfLEmv94TAlZrY1/D5F1yNLljd1Ogy63dTJf8T1OgrtCw2ftch+U+xkxYsBisUwS6KFwf9
vs1cBa+2fkTzhqCnNnMVqMa6jtQE3dHMVcxZY9x+1XguzN19VZlv5ipIncJFKubYZq7JgF7r3+xr
5np8qIl46aHdzVyPjz313PhrXzNXeRzNr26/5D2nAGS9oLeZq+DDiHidFBtlewY0oZmrQIpgS03o
qkOKmdrMlaHSks5WrHfXIcV0NHNN5rwqnfFVO9OjNXPlL+9Qn87q3npb0JRX2dvi9KzgD9F5ZfHS
7hU/uwAvHSrApiyXyEuJ6GhOuKS6Hi39paX3Es/kEhNSF0O76vrxS8Yd4iSdquvtzaLOhYATctry
d+V4vdrblLxwnylLAxIWjAoSnn1TgufIzlgrJCG6QiAuKK8P6M9V0l5f9+wStMGpEb2Tgpl7FstQ
QZvS3X491I4ziXo54AQVbUXfpc100nNsLOai6sjXM75dDjgCBfBoT8ryxX6N9VGXFiHlqBt43vDG
2ktR19FfgnFOn0fdI1Rt26Mu/apXGrG/3Oj9OkX+vIJtXN9Fcq5NZOpfF5dFhsmQxZKQ+Du0iRQY
Vp06ZV0Nt8MgVGivrxrVJaxghghXmall4gLVQSwNaz3UqY0uBKrn9VF79OuoaE/myOXaRYZNR6OL
CEA+44qbqEdpHRnRklMZF2omjl13TWLIFnuf3G2j3wSeAjgMjOBHN4pqWRghhrzBXYURY7zCAy3o
R4SauaWiDDWEnnQA01Mqinzeb+K1Ov7H4D7Sd0GjMqlAA7lPhkAVD7LvmPsCHqFLOCfHfXEja/Uy
FUgMmZ1FUWO8AmJRCKGe+3MLIhkqhprGORvu9xRE0pBy+XCn7uN9cT+SA0bwOXkY45A9fgD3xVDE
Tu3jG3M/cs9f5exQ7ic3olnkaWVIh2sFUrO5LzAwNt2r5bhv5xZEMlQdVKkPW4b7tqcgMkZu3Bns
7Yuh975lp5Q+KPAeJ3P/aCigulEx9B7uH8Fzq7+h3I/itYuOeUdDaMNN5/0EAx2WrjTquT+z7C9B
jR4rNLU33G8v+yNznkYGYknX7XG4jzR0OvqMWOZA7rMhWuDeSCR7J/cF/KmudAT3xY0QrQtPKztc
wXpj6uNBK22aEimy1J9Z9XeEii5eTzrfUL+96s/RoJA5dw+qcPvfsvYydCpT8TuO+mIohk6JhBtT
P4GPoaviN0f95EYQl9xnQ1qbfYqQY7xCQ7AjjvrszKq/BNW40KGTa9ur/shcZHPYeWp1X9zn20KD
pzKzedxnQ5amuhuVlOzjfgJ/KrEYxH12I1pK4NPKEK2NbrzkFxhYc3Zewf2ZmSYJqvOmQlt5w/32
9A0yF8icvirH8BjcRy4atJ2CknOy3hfoorxYyFxADoxMbCgUCznvODIJeLRDI1Ny8uBx/TrwVB5+
s8hEMLxzYUQRi51Z7JagsnBL+wWkbS92c8paGhkoqjQ8TGSy5IBBg84Uuo7jvhgysVSecr/cF/DW
gBrJfXEjpP3g08qQc7dNPkgwuIn3iMJJOzMlK0FFozsK2Gx7npNTTtHIoAkf4SDSWR46k+vaM477
Yohz0x+R+wk8qqHcT24UPDytDHlVWiS+B/cZBjcnHLIjmdmf4gg16o4Mb9ven4LMAZnDYkrlw3Df
q4NR5h0uIMUQhem+49sbcz+BP1UsDOK+uFGMywtIMeT9rU8jGIbWsWIyreD+zKTDI9SoO/pT2Pak
QxbrInNefYjkAw88dGr+vM+GOMo85LyfwJ8E7sZwP7mRM/ZpZUjHUqbvu3CfYaAbs+afmXSYoFrO
mW/nfnvSoVNBc+Ow3uXrfXE/OBm6MP0WQgyFsKNQ7IbcF/CsxzOS+8mN0C+5L4bQlGR/3oP7DMM5
1Nev9K9z381MOkxQPR9ONHPftScdkjkaTgdYSnZ4GO6D5qGL87kvhsjVH/IGMoH3Rg/lPrsR0h+f
VoYc2F3dl8Z4RTBjOnS7uUmHDBWsK/U1znG/J+kQPLfHstdqeR+D+6IUWmyKVLqBHKGnsgLjXUUL
1MtgBra2ITA0nEBLleknIWLI9h4f3ToqCvjohp6CJoKBc+vX4fW1TN/pUZF+CWmnNuIkxM3NxxSo
6HuiYk8+JhoyR2vFj5CTRd/FBmVKPbaysqVrTRoX4DT9VWrSvOrPfDafn716WuEKvrTjLEla9lC9
KNKQEIFBO4QPHTmK1ZKWR6iE//oOoQJqR0pVI1QkD2w/yHC2WX3zaC5CR88G53rM+QNwyX5LGWtG
z80tlcr/+/zXl18zo2+3Ehn2skRGwkfsL6lK54bDvz22aTiAthYtolK54QjNK6CNpP3iowsDg06j
3mjRWV2rRTdPKo/gsdJpLB6aVA8k5AfyUl6d3aEmm4CztsT1ILpVoySkpwcnNUr6qaxG+brs2ny0
ghSM9iNue137jU/cemXMeqXoedVcTG/oim+PraermGub8XJeFpvpumn6sPhouhqlfHljWIi9/suf
fWOvzldC62+9cIGwjdghG7EDn15jRQhduwABOj22xQWMI762rCQyLuAL6ra1rTYWH60GRis4eIzo
wqVNLHr6T752KH7aovacU5Gteo1uqz1H2xL6S6CZ8kx77hUpALRqz6VfpX+XmtDOUfxs7VBwJj73
ivt0wdfcJkOsbeqYpeUCahNWbhCtDS2tjMY1Y1jhoJdcCNUFtc/dDSFKWp+rJhGCNaig9Ig8Zz91
py9Q6R+lMvV6qB2bsGr5uSNUUCXdgVyk7jiUEHPGqVJaZs6cbZafS+acR3dRYHnVHmhsvA1OG6My
8TZY44zZxFuCCqi64i0tO/WOlO33a0z08xp2sF1JW7muRNIwBUzAtRdEVVoezO9KlGB470oKwGWt
z14IFVqf551RElbyUjvisslPLXdLUAFLZTj1UGcKKyeoYMG0nwD7jso8MYe6R+vTtwsrkzmkF2Fc
ZwbpPfUqclrzdwk+dwXfM3HQANHQjJ84ElQXm0Wij78KeC2j7R6b2h3Bo8auOr/L08erD6Nf5Pwm
Q9HdtqldggE+lhK16uPc1FofgYpWl3pZ5wJPR62PNopGJvbq59xX4DGWh87kRIdGNbQ8GnKu1HHn
frkv4N+yvMdwP7mRB/u0MhSM35X7M8YrIu9kRnB/aq0PQwWa6Dp6EfmOWh9taFKMMdzBLff+t2wV
Dx037JvMfTHkikfm98t9Ae81dKkOZbkP9FDa2S8PnMQQbU93tYgY4xXaYEU3lgruT631SVBjLBXc
57jfUeujrTuAUeoO8v0HvGVyQONOYhITuc+GvIErR893yn0BH7Qdyf3kRu5szS+GwkkE6mbcJxjW
mpY2rHnuT631EagsoNMx73fU+tD/aGRo13t71aH9b9k5Hjofpq/5xZCGW9X67OO+gDd67Jo/uREu
a3yTIWtLLfDeg/sCgybTEZl8YWqtj0Al9y1d+Ga4HzpqfbRDMmfiHagN7n/LXsvQWTOb+2II9bUK
tvvkfgIf/FjusxtZaxe1PskQke7Ga36GEYIdktUeptb6CFRao1SUJG6431Hroz3ngkZbygR/HO6j
DF2uE+VA7rMhF0ptUu+Y+wI+juV+ciMI8LQyFHQpl+5duE8w0GJJwaKe+3PzXBhqdDWZ0hvu9ySP
BHPgCt9rFzEPwf1ADhgtqouJgCO5L4Z8Mbn/frmfwNvQm5F3kfvsRlHRTuJpZSjQ+ui23CcYyCnz
I/b7YarCuEDVSlWIoW+436EwrkOkkQlFUeOH4T4YHjoz/6xPDNGS/yHP+hJ4HHvWl9wouGWukxiy
al9nkUFeEWuKrSu4PzfliqGyTkf7/X7oyWOCQOZMiB9hzQ+Rhy7g9P2+GKLl0kOu+QU8OjcwNfTo
Rlbhcs0vhmKAG6/5GYalPw7Z70/V8BaozpqOO77QoeGt0dLIlOUDH4b7GHjoVifYM7gvhpx9zLO+
BD6MzetLbuR1fFoZ8lHdmPsMwxunhnB/bl6fQI224mhiw/2evL6oyJz31zq9PgT3o+WhyzYRHsd9
NhQUlK6M75f7Al5rM3TNn9wohuV+XwyZ4gH7e3CfYYCqKYeq4P7cvD6GigoqwtSG+z15fRFoZILq
PLK+K+4bpXjoVJh9zp8MaVo4PyD3j+CDGXrWl9zIqcW8nwyZq1UPk7mfYHDb1xHcn5rXJ1Apfpa6
neS435HXZ5Rjc+4OencMeMue9fxCaZFZktAbISCzABMOSrM2Rx+YEdoIKzA6VNxxXx6ZAVodCzBw
iKy7OPtINhnSoXNNe+sQzeANvbWBIfrIdly2WEmGrLnxkWyCEaEir6kiRE9NvxSo7FYdIboj/dJo
c/AawH2ArZl8F66fLwSikohfD6XW1dfwy1LqQhCBVhV1wtf9DjpS/+qV8RJU8B3NRkG1S9UZ7Q7e
WVOqLsoKQa7fEed4vu6ZquRKXqVJ4CWYz2qFyts4JGUDOtK1Wt4XQQ1adcQJ0D3vi5WZQrGbYFGf
CszyBQ3qqJpXfhO8HkJp4ql/k+0X8HELNZagBsBSJlzuTdq3xza9SfCxJFlUq7EFrnnpttGFXnx0
aWBQoXq7PPr2x7//+vbbn2+aiN9+/8/zbwSGw8Mn9pcf6KNPv7/8769Pv/7rj08/buP7Dz+uDGgV
zjvOiMDi26NPD3v++vX7y59/1j3UYLj00CTe+Mfzd6njl4mQn1+N1fujQ9Mgvz7zH1+e/856c99/
+unL9xfy33+K/NxPn44/iZVfnr/99vL1/HG0JGpKSs95gc97wZLtf/O4ffeYf/cU1UOpqjmr3EiA
Tg9Oyo30U1m58XVNu/loBcmVG6vVh5T28/24lndffHRp9PjsuD2Xl4CdHtsSUmzgZl0DnKmgD1qr
e7/4aL5yI395Fu147Sqx0G51tdqtp2dxd2oNVtU0DGmQuTJltRL+Clpz1/gLaiU60l8qBxDP1EqO
UI3BZrWS9KtYbIAxTeaqVan75zXsGIf2Ixdxd2+W9cpsyGhr4sUzDPzsArx0aJ1VOIFRGHTIOIFR
CoLaOAEjNb7LCYwx9lpK2+S2AwlG+WSgrOXVC6FCy2slCS9YKaxjf7V/pxxnu/L+ljqE/KTr2kqd
ZO8id2Kgxex6jCCW9pVXBDn3tRk4R8JathUtBS5Icg5odlAS5Vw3QBC0XhdzJ+sXN3MvMQRqDKUO
YfVQOw7z6nXiBGoIIYxIA8eppZ8CFayrkEqvgNpx9NE4quh9h/oe9NxiiblQo36/MRfb1feO5mJJ
yjdjDjtqcJM5gAo13o053fPtuJOoRdeXyX5XzWxonpG5JnfX1LNad1rbK6K0Xav1BBWxY6EmvxpN
5w3BbbtoHcH7OLKLVvJhZ9xCCFwM0Ypkn87IGJd0tFIYoTGEU2sOBarHntoD7Kg5JC8gcyqoPonM
+wo8LkojSzMw8HirXZwQeBLU4DsCj/xqKEoX32/gSeB9HNnUNPmwPhM3S4bg6oQ6O/AwjOBcRRVh
ReCZWvAoUEGHCknsTeDpKHg03vL1TlFH8WECjw/SutNkCh+Gte5Mhspn7ffL/QTenp/f7eV+ciNc
ipomQ8HtK3Ye4xWchzlk6zi14FGgRqUq1kcb7ncUPJqgeHOF4fYFj/vfctC06tVR1Sw6dnFfDNFy
5CE3HAm8GzvvixuhgeW8L4Zc8eD6PbjPMFh1dcRhHE4teExQ0VVA3XC/o+DRBM/nv6Z0SvU43Ece
ulOt6ETus6HoblXwuJP7Ah4iDuW+uFEwy6xa/g3aB1yTfZ7OfYaBMKSVJU4teBSotBvrEDnBjoJH
WiPzbijcgaDx/recesZzrtlk7ouhsk7m/XKfwYMyoavgMcd9cSNvzLLoSQxpf+1UZDb3BQbWdAap
4P7UgkeBygVaHRcqHQWPBiLfTulSMtTDcF+yU7hyYjb35SqfJrSH5H4Cv5KC2c19cSM4u2QQQ7oo
y/8e3BcYaCu62ldwf26uAEG1ytuKXIEN93uuijGQOe07l693xn08KOWxQsLuYlnflIT/BbrIL9ZX
3b3ui0xsiCbch9yRJPBejUxZPDp59Lh+HRivde+ZHpkIBtGvdAtbH5nm1vkxVFrZlU65cpGpp84v
WjKnr+bFPURkiuSAkgE2m/tiCMy1xkH3yf0EPrihqxJxI0NT/9PKEBa1Tt+D+wzDele64K/mfpyb
a8dQHe0V23cksSPFyypFI8NK1I/PfassD90pwWXNfU4r0CO4nwzZ0KlTe1vuJ/BOqZE3kEc3gmif
Voa8sbe9hRAYXsfSRWg996e2WUhQo8L2k8jY0WaBVn9kzqHr6xR0X9zX5IAe0WXW/OO4z4aCUqGv
L82NuZ/AOz1yzZ/cyBvvnlaGdNjXXmmMV4DGMCLlMU5NeUxQWSqqnfsdKY9WOzIXTSnUPA73yQHR
Wp2pjBzIfTbkfEkC4o65L+ARR2YfHN2Ilp5PK0PBqNuu+QVGlDqLAdyfmnWYoLI8Ujv3O7IOaa9P
5jx8hOwD2tDz0IHJtFgZx30yRIvm6PsC5o25L+C1VV2yiznuixsFbcLTyhAtBa5EyNncFxgYSwJs
9dyfmnUoUHUoXgnmuN+RdWgNkjmj70B2cf9btpqHzthM9sE47oshOAkHPhb3E3gczH1xIw/LNb8Y
iqrUKOw9uM8wuH30kHl/atahQLVipZn7HVmH1voD39CUZMEeh/vhoJSc5ffdQA6QklmBib5X5XSE
VNYCDIpTmUzzmYFRkQ3Z05HLg0VFBs/5PyOjohAsKq3Xr8P7kgL0u0RFgsEyrENWRFPzMQWqN1ih
pbWJih35mOQEBy6bK22+smqTGyUOLqNuU+J4Vd2IX8FZtcY1qFw3dmTR1etNMlSjte2onInQrjfJ
5pzzqqSC8DDzGH8XACypgJR0aXuCYFlJSBCh00Myt2NHBleb3/mojW3Xp4jY43f+EG1E0xJDM1J2
cSls/t/nv778mhkOu9U+sRntE8HnjVUdgTO+PbZpOEJoK++5PBygVPMKaKOAv/hovrKfdVzSHuNr
XuceZT9+ltG2eFlSPZAF9f5LeXV2j5CuALeIFbpAGyFORnp6cBLipJ/KQpyvy67NRytILoRSSl5t
9ALVfuMTt14ZMxK2AjWA1835pwzs9Nh6urI5elctcT3nZbaZrpu2DIuP3oeuLJ9T2quUJKpBufNV
3fpbL1wgbCN2yEZsgmVo6dQcsRnQ6bEtLkBrTFc6w652gYKwb22bkMVH64EJcEBNb+zisT7SpO++
dshcXlFPsp6sqkibjwsiJtbyX9KC3J+JmByRKheaRUzSr3q3o4tbp2Zjq0j+uWJjwh2U6soefLW2
SR9k0XpaTEBYuwHtgVquE8b1AzjHYWwsheqCXuPungQltcZ1nwLBapV2mbqcsy43g7ljyJlVjjvS
uGTLHQYU+7jDOgADdincT2XmeYZA9VhqrDVN0ri1b8nK522wtpPll3OEpaUMamvW4wOwrz5gd4cY
geFCsXC6rPbbC6FC7XfVO0aweo8jehaB6jgbqhfkFKhBmZLMSW6J03OaJ+YofgxZ/0+tP0tQwZZu
FeuhTtWqFajobUW91+YlQrsQaDIXfHv/Gn5lfT6DYFzHt+sQcbUUGpC+W6kP/KO01bLg6Ls4DFix
2Nh12SSGgop9qgm3bal3BO9cl/hHZipNbqStXa6XxRCE0pHce0ylDCM4PUKFG/TUchuBCrrYbyLD
fd1TbgOBY74uNed8HO5HHjod53OfDVF4vlHK/U7uC3jou2jOcT+5UTD+aWWIDyJuzP3IfbCDGbGq
0XPLbQQqFMu4ctzvKbdBK+auyUA/BPeRHDDqkEu9G8d9MWSK96P3y30Bb40euYVOboTKwtPKkAul
m8n34D7BiEqb0nFdPffnltswVG1UqTgxx/2ecpuoaGScuoMS+/1vmX7RBndqBzOP+2LIG3ejlPt9
3E/gfZ/Qb477yY3cUug3GQpYmnDfg/sMA6wd0QGRuzTP5D5DpQDaLq/BwDq4H2hkgi01XHwc7kce
OqcyJfYDuc+GdFEG4Y65L+AjdpXZZrnPbgRKLdf8YogWGDde8wuMGIccR+u55TYMNYaaDscb7neU
2ziu6OfCvg9w1kerF66AQ59JLB/G/WTIqJKG3N1y/wjemZFr/uRGYIJ6WhkqZ429A/cFhlZ6RHMP
0FPLbRJU0O0i3wysnftakTlWnPoA3NeWh87ETJntOO6LIYoxjzjvH8EjjJz3j24Ugn46N2S4aOG2
3BcYIYxoDMrX/zO5z1Atbcjar6F1xzU0cYUrga52YHgI7hvFQwd2+rwvhly8lazWPu4LeH9Kvh/E
feCETW0X+/1kKPhrO6PZ3GcY9M+mdOIs96eKfAtUr20pASvH/Q6Rb8cV/V7pziPrO+M+OaB3Okyf
98WQt6VS6DvmvoAHN/KO7+hGgMt5XwyFCLtEvsd4RXhrZLSP+1OTrAQqKN/eMZmBtXOfK/pDCJ01
0ffFfet46ML0s75kSOOtZLX2cV/AG90nq5XjvrgRKBefVoasKzXjfg/uC4wYK0pWKrg/VUZboGLA
il4EG+53yGg7rlsnJ76md/oQ3HfkgAin7zKP+2IITek89n65n8CHoff7Rzeihz+tDMViF8334D7D
iMFWJMtd576ZmtfHUL2yxZyxDPdNR16fc55GJnr4COf8DmXoYqaR70DusyEHJdmIO+Y+g+c07pHc
T24UYTnviyH64y4BmTFewb08h3B/al5fgkpLlPY7PtOR1+c81zT5q52XHoL73qehmz7vsyEufL6R
eNQ+7ifwbmhuT3KjQKP/tDJEbnnb3J4EI2oYsd83U/P6BCorj7fn9JqOvD7nI5vz/iOs+QM5oFMu
18h3HPfF0IPm9hzBRwxDuS9uFMOS+2KI+zLdlvsCI2KFqFAF96fm9QlUz11i27nfkdfngj8oWr6q
67I9l1Qfh2geLcCwBCUF6T49zCFyHmswxYZiRTAD5GXOwHhvIPadLt5ZiKY44aOdn4bBhoIKnXVq
tw7RDF7TTDYyRIsbWR2XxzJiiNZnN96aCYwYRij28VJzaogmqBCKWg+5EN2TfgmWzNmrL+ghuE/f
JSD9s0KfYqNTekGBJrxG/CoFmle1mecvXzyo8xGmKIGlLhsl/coeope1MRIiNKVW8fVs6EhIrNev
ZKig3mpD90HtyJ9qhRpDaM+dNL5dalPMacRSW8KcudBjLhyC0qrlYPt88M/knAY1NM4LLwpe+nNJ
VLrecdov4OMWaixCRePbL+EI2OmxTW/Sal/RSueqxJ2JzcvQjSz74qNLA0N7Pv12iPTtj3//9e23
P9/0Q7/9/p/n3wgMh/JP7C8/0Eeffn/531+ffv3XH59+3EbSH35cGQANZzW6SYz07dGnhz1//fr9
5c8/6x7qVmlux4cmodM/nr+LZpdMhPz8aqw0v6XH0iC/PvMfX57/znKP33/66cv3F/Lff4r640+f
jj+JlV+ev/328vX8cS5gU4JKxgtsYZu2ZPvfPG7fPRbePahQqmzMCqcSoNODk3Aq/VQWTn1d024+
WkOKPo5YRNr28/247q6w+OjS6EVlSju6TEghYKfHtoQUmqXbsp1yzmSaQ8qm7cTio/nCqQ7goLgh
+XHeX+gcQ6vOsZPm8N77zMXiWWeKBmVCKCsT8vuj/wzjJWVC58PBICqwZ8qER6gOsFmZMP1q8J2p
3/vk/lrl4H9ewQblhrYGTUr9Dhdyf2Iogr9cRoafXYCXDnnKGifgdpeXpF3ZCSwqFczWCSI4dF1O
4DQ98La9jxMMcCWpsbKmYS+ECk3DVd8BwWq4WHI+b/Y28dhSxxl30iJtpU6yd5E7rHS8HiIfS/U2
V+Rw9zUsOUdiTTETqCCIO6BtSkkSd91KJaGNRWnP+rXN3DsMhupCUfOiHmrHWV69KKRA9bYYXOqh
zq38ZKiBVowjLrFsx0FL46iCKfYazC1uey6xxJzVJXGKnDnXrn15NBexuVMQe0jnt3NQ0aBiYy70
fDsQOX91e4Wv/UuHyN8lmPON/r7FOndgwAmL9QSVnt2+TpNfJQ/pX3TcrofdEfypbmLIkv3ow34p
K5oMRb2v9GCMS1oPpYL6+ig+t+SQodJOpiRXmws8PSWHMdLIIIbb33HvfsteeRo6a4OuCDx77riT
Idebs31b7h/BR9OVgpjjvrhRNGHB/WQo6H3px2O8wlOkvn6NUMH9qSWHCWrEUh/kHPc7Sg69imyu
dwq7L+5rI4WlOLt3bTLkip2X75f7At6PPao7ulE0i31zMhR25reM8QqgPw25mphacpig0ih2bDg6
Sg69DqkY80NwP3LfUZWTFxvIfTbkTbhR2dFO7gv4k9LvGO6zG6Hyy5LDZChg6RziXbhPMKKtSQS5
zn03teSQoXpFbtp+cuM6Sg69sWROWd/nxvfFfRO4EtCGmpvBXdwXQyzV8YjcT+BPk8sY7ic3gmCf
VoZAX1sdzeY+w9AWW5p25rk/teRQoBqFpb1kjvsdJYfeKq4Vg1Ijz4fhvrUydFUHjbu4L4aMKiXN
3S/3E3gbuloI5bgvbgR6KSuaDFEk3iU1MMYrrHZNvdaz3J9acpigYujocOc6Sg69BTIHtpTf/DDc
d4qL6YzNlByO474YMq6UhXq/3E/gsa/fbpb74kagFykYyZBT9sb7fYbhVSgJ6NVzf+p1fYIKoUNe
zHXc1tLLEXOdW9c74z5wlVaYf9YnhkxUN5IX28l9Bm+N76ply3Ff3AjNspYtGeIb8xtzn2CANiVl
43ruT61lS1DRV5TdbbjfUcvmXUxFtdeXGReLaqeUqLyh85oGg6byD5D64L3jF6v19MgkhmKxre79
RqYEPsDQVUlyI2/g6dwQqnjj7IMEA+yQHDI3Nd1NoEbnSqokucjUkWVFUwmZU6e8/ofmftA8dD7C
bO6LIY8lkar75b6Ap8Xb0FVJcqPoFw2OkiHw9sbcJxhBOV3RMayC+1MbHQhUrX2FTtuG+x2NDnzw
B9aJgA/BfaShUxEz4mcDuc+GjFEPOe8n8Kv6nb3cFzcCC2fcZ0MWSld/78J9gkGvqpQAVc/9qVmH
ApXctNRhOMf9jqxDD4ZGxrpO3e774j6QA/LGbPqaXwxheMyTSAEf1diTyORGaOPTuSGrzLV72tnc
FxgBKhTEK7g/N+uQoXKbo+uFQxvu92QdQiRzFkunEQ/DfSQHdIC5JifjuC+GonrIaoMjeGeG3kCK
GzlzNu+zIa+Cv/EthMAAXepGVc/9uVmHDDXQ9qTjJLIn6xADmVO2c/l6Z9yPPHQ22OncZ0Pe36qp
6U7uC/hohu73kxuBWp71iaEy6d6F+wQDuMnaAO77uVmHDBUVlmRiM9z3PVmH0dLIBLh2RfwQ3I8i
U6oqJG8u3qiMEHNZg4GKS+/L1zsDxKrOwJBTAeRqsIzBITqjyZCO1/b49xkVBbyxdmg+phAMtDPr
12H9tcX27KgYk+7SENU5PzcfU6ACuvaTEN+RjxmUInNWX+vL9whRMShzgKBVqcFXVmd0K+yh4+uL
rhT2WCiNuohPK1xcBlSFawjVy4o1gohWCRXaCRV86MhRrJfvTFBxjACG70ipaoSK3naUTnvTLv0p
5vjWqV1Mztsec+GgvfYVAhhXxeS8Wwz0f5//+vJrZvTtVn7EZuRHBF9wxSOK3HC4t8c2DQdFm6ay
3txwtEvYb/T0Fx9dGBjjgn/dKPYI4U3U6WN4FoxVA3RPfcgP5KU8IbtHypaBO8WCeVeBb6UwCenp
wUkKk34qS2G+Lrs2H60gaV3TM7YiWLbf+MStV8aCVzprnG3PPSdgp8e20NXRere0+6v2Mmym66bJ
w+Kj+VKY/OWDNrak6VcUifbxfCW0/tYLFwjbiB0KETsQ8V37hT8BOj22xQWC1a4pFSLjAqG9A8qm
6cjio/XAGDzo6CxeLCpkZT33tUNo0pYFjIImqxgpFF8QMPKR/1Ir484EjF6RqtgsYJR+1cOOgsZO
1cTWlgLnmokJdzC9LdSStY2ACfd7wBjQr90AQqkzzhXRxD3dE85wGO6uVZhVCpKJuzs4lAQT110d
BKtWOGQGDFN3+gmqH3NUGzo2YfXSfgKVsJr2SB16DiXEHKqKSL0xZ9rF78Sc1TZXx3nWm6gh3rrr
8dYYWqvFTLw1OkTrN/GWoBobuuKtsTaWTkemqTu3NktZBR/rMPi+cHtZLip11wlLdedkiNYjt22J
JDCciEbWBdthECqEj1cNawSrJ6IOCbZTy90SVHCldNx6qFPVaQVqcL6kxZmLfh2VeWIOrO6QbQ0d
Oqr0Dz6NKBYDPUpjq2A9OZXWLnMFP6ypXTJE0ekR+44ewYMeGcGTG1EIX6TeJUM27isEHOMVQfmK
nJaKUDO13CZBBSgp8eS431FuEyywOVfqrvkw3HeKwiav4mZzXwyZ0NkF9MbcF/D2tJIfw/3kRlEt
GgwkQ85eK0qazX2GgSoOKQIOU8ttElSI2LHM6Ci3Cc6JuVLP4cfhPjlg5LOy6dxnQ7Tfu5Ho107u
C3gHnQdll7kvboTeLM/JxJCDknzdu3AfDlbp4gaynvtTy20SVPSlPNgc9zvKbYLXbM6WznMehvve
HiAoi7MbWSdDOqgbiX7t434CH32X0G+O+8mN4Oy8VwxZU5KtfQ/uC4wIFcrZFdyfWm4jUFG5nnm/
o9wmeDgA8KL/A3A/KB46mL/fF0M6PuZ+X8Abq7uaimW5z24E2i/X/GLIFjOS3oP7DCMqNWa/P7Xc
JkEFFdrFPkNHuU0IjsxZjR9h3g/AQ6fj9HlfDKHrVEa/NfcFPISh835yI392Ny6G6P92takc4hWo
gh9yhwtTy20EqrahY96HjnKbAJpGJoZrHR8fgvvgZOhMRuR7HPfFkMNSn6j75b6A9zoO5T67kVa0
k3haGQqudEX6HtxnGMbEkohEPffnppoI1Fi8Gclxvyd/A5DMBVXK2X8Y7iM5IDN8+jm/GNLFQof7
5X4CH1xXQVmW++JGXi2aeiVDBvc19hnkFdGVDmfquT9V5Fug8olfx7zfIfId0JM5Ezq16u+M+yhD
N/+cXwyxpPVDcp/B0yp46LwvbmSVWe73xVC8qt4wnfsEg5V+h6z552Y9MdQAsaOYFHpSiWhIkf5k
PsIdXyQHDOFUXTeP+2IIew9Jbsz9BN73NfLNcV/cyFrrnlaGIpSKrd6D+wwD6I9DuD9V5FugonUl
fcsc9ztEvkOMbO7U5uWRuQ+KHBDBqdlnfckQ+fqNpHR3cf8IPmKXpF6W++JGcZmZLYZYveG2d3wJ
RoAhIhIwNa+PoUZloYf7HXl9oAKNTMRrnZceg/uRhw797P1+MuTVrRr67eS+gHdmZE4vuxErdCp8
WhkKV9sdT+c+wdDW4AgVCpia1ydQDZG/g/sdeX2gLZsznTpI98V9TQ5o0EBNIdgu7ouh6Er6XffL
/QQe3cj7/aMb0Yb16dyQ1apEuvfgvsDgPIMR3J+a1ydQnQ8dGijQkdcHRpE5V6xVexjuG3JAb830
c/5kyPtOHcIbcz+BR+yS0s1xX9zIa6eeVobgaqOB2dxnGMEXJcXquT81r0+ggula83fk9YER1Udf
aptVUn0coaCxAhNs6eCxBGaEossaTOwV5xyhBrUAAwdOS72WJ/MQIdpSnEAXdabn6rgQLYaCLmXz
3m+ITuDd4BDNbuScXlzHJEMA1xrnzQ7RDCP6Yo1MfYiemn4JVlNksMUFbS5Ed6RfgrUHbbQpVXdm
9TDXr8QGPNWkVKm2nBRaXsLLMmM/oYJQUXN6/X1hR8pcvaCjQLW0wG1fTqNqV1gE68iTIZZG5nFi
tT+oQKuDwtCVNE97QmBZrEIQgYaKmqcKv+tI12rxO4aKrkISceN3usfvwiF4rUupmkV5ODTLwDCo
QWteeFHwhuBxyJtsv4CPW6ixBBVCzyUcATs9tulNIv0wQKMVXfMydCPLvvjo0sBgUItj9m9//Puv
b7/9+SZJ+u33/zz/RmB4WvrE/vIDffTp95f//fXp13/98enHbbz44ce1Aftab3xcBom+6dujTw97
/vr1+8uff9Y99LR3P39o0k794/m76C9JYOXnV2PF110mDfLrM//x5fnvLPf4/aefvnx/If/9p6g/
/vTp+JNY+eX5228vX88fF6MqNeqq9oLCZmTJ9r/RFmrz7jH/7sGBrlgGbYVTCdDpwUk4lX4qC6e+
rmk3H60geV88kK0PKe3n+3HdXWHx0aXRo81+Bcc3ISW8PbYlpABYgwPkeRGaQ8qm7cTio/nCqWCB
PCY4dxzrhXSyq5VOPj3LhYMLb21zi50pGlTmTFlljt+fC1pbvKAyx+fFznM67ZnK3BEq7feaVebS
rwboLPXepzLXKpT/8wo2mL565UxDjGNvBX92p0GGPCi8cXvABAOK2pNllbleCBUqc6tmBYIVbSxd
AdfH5rlnsAw1ag1D9rYdZxH1KnMMNSiNpcYfuWmk57hYzJnQIWqHsV1lLpmL2l6s1MbPxPWXjljr
r8da+obGqEys9ZFirdnEWkKqPHbF2qBpT9t/i9ypoNzeLGUbbmlOMrZLGubV3jbemgPQjsLbc0cA
7WJJovKKhvK+zjDnSBwWD5MKKsoD+tNc0VE+61kjaH0YI2IXpxa2CtTgdEVxWwXUjoOdtqALoFWH
7k7sqME9mkPdYU73BF2gidrcQwrw/gWS5+8SHOQ663as1p3m+Wj8av0IVZn2GUR+FeAhW3on8Fwc
PHDNfvRh2vE+rQxFu09XdIxLRprkRlx0xak1hww1KGsrZBA3gaej5hB8pJGJumTuYQJP8DJ0OlN3
NKyBZTLkvLtR/vE+7ifwGLtyEHPcT27k3aKtbzIUdKl1zntwn2Fo2hmPqDuKU2sOE9TYs7GMHTWH
ECKb+xBtfQEMN0TK6ouN474YcjRqj8h9AU/roM7N42XusxsZRTvFp5Wh4OMurYExXmFDbOnelef+
1JpDgeqc8h3c76g5BAhs7qr442NwnxzQofGZ5LaB3GdD0V1TzbtT7gt47NMTz3E/uRFgeDo35LW6
1hd5OvcZBviSrHk99+fWHDLUwF322rnfU3OIVszdgc7I/reMnNCCp+8yj/tiKJ6KGx+L+wwe1Kkk
YAz3xY28Mst6YzGkiwq578F9gYFqyGVSnFtzyFARbEcnz9hTcxgVmfPqDvqI7H/LkRwQowIzm/ts
KCrbWaR9Y+4n8MEPXfMnNyLvfVoZ0kVRv/fgvsDAmu7IFdyfW3NIUEH5nhTH2FNzGEHMlRRYHoX7
qBR9l+hzmsLDuC+GNHdgeEDuJ/BaY5fWQJb74kYYF/v9ZMhcVV6ezP0EIxZnt3ruT813Eagm0Fdt
535HEgkqR+Z8/AhnfbSuo+8S4/SzPjFktb6VzshO7gt436czkuF+cqNgnX1aGZLWVrflPsFwyg/p
IxKnFrMJVK99z5q/o5gNVZQS39ILKlXVTqlReUOnNb03QvcRIpMmenhlzwtIZ0QmMaRp+njEyJTA
Rxh5Enl0o7Psg2TImmuX27Mjk8CIwQ9YldCyYWpkYqiB1rvNXU5QdWRZoUYyZ+5B/Wz/WzbkgCHg
5bzZkdwXQ6g620DfmPsJvNNdaudZ7qN0MluqnyVDMeCNuc8wuBfdgBtIVFM7HQhUtMWa9xz3Ozod
oPE0MtFcaz35GNxHGToXp3OfDTl3K8XjndwX8GjiSO4nNwpqeRohhsLVCDmd+wQjGj/iNALV1KzD
BDV23EAysHbuW0PmfOi8SL8v7lvPQwdh+pqfDFGkLWbA3y/3E3jrR95AJjfiZjlPK0PG33reFxhR
V+hQVHB/atahQKWtZGg+iWRgHdyPYu4Oupvtf8vOHNAobTKqp+O4L4aIPjdSPd3H/QQe1NCTyORG
3i6kCJIhE6/VZMzmvsCIrnQ4U8/9qVmHAtUGMM0nkQysnfsucAsqfwcyTQPecuShC2b6DaQYAiyJ
6N4x9xk8xciha/7kRvHsrE8MRed2dToY4xXO4wg1FFRTsw4FKsXPCoHWDfc7sg7JFJnTqlMZ8r64
70XBNVRc3l6+URmg5rICE4prgyKYAWpVZ2DQg1LTT0HFEJfMPmJUTOA9jtRMORLMOb9+HZEWRbeN
igwjBFuheFwRFafmYwpUsLYigG+iYkc+JgbFzbnch7gBCdzVSOlSG9aScGUPpcr6NwlRCCNqAFB1
5ALWC1cK1GihdLKb8ztoF67EYA8KYzH9KCtwuxHUMJzK0CSo8Sqe4T5/fVmK1zMuTbNZhRx5xRvr
yOBqeWP2YBRgRTPLzRvDnjfG+gYWm7ScLqvJoYqLb/7f57++/JoZDrsV6LAZgQ7BB8GVMsxywxHf
Hts0HIiuVINdOxy6XVB/Ixu/+OjCwHjrzGuJSo8S3kShPoZH851T+4VPWaAvO5CX8oTsHi1bAR7A
VjSU3GhhMtLTg5MWJv1U1sJ8XXZtPlpBAh9Km9Dq6KXbb3zi1itjwStpH+IqksLWdCVgp8e20BUi
ONgvrIraNtN103Ji8dF8LUz+8tFQsGpIAjj/xu58dl1/64ULhG3EDoWIHW2Eio3jxgXc22NbXCA6
bn81wAXaG31sWqAsPloPDBK7tQvuopAI7ae0+9ohgXdFwAiBrKpIJLkgYER7xQNfNGh9JmB0ROqh
XcAo/WpQ4R3kRvf1RzgXwDvi9tB1ovhqbVPUYO3BOath7QUQr11SF/Tv9nSCOMdhXLGQuaB+t7sb
RVH7btWhQrBa2liMWL7ruRt9gUrMGXFSqzv2hvXadwLV6Zq+H5tA3XMmIeYglkqdc+agXftOzHET
mpreRIPDLQsN61y4taAjbsMtERGgL9z6t13AzHC7uyXIz2vYJx3EMS2RpFsL2uDXXlCuh3qHlkgC
I5hiZ6ayunMvhAp151VbloQ1qlIPyfoINrfajaGC5VaZA6BOVXcWqKhse6cpHsO+YIuooCPYdqg7
I0byGbjaEP4RGiVh9ORU2sZM1u2wpnbJkAmdzVpv29TuCD5iV/1/JoIf3Sj4hfZHMuRMSRj/PSI4
w0Bagg6o/0czt9pGoGKHpjEDaw81Ecgciyg/PvejUgf6N+Syb4ZxPxkyN9P728X9BN5a01Vtk+O+
uBG3ynpaGXL+Wlf2ydxnGFZpjSOWGeb/5+7bdiS5cW1/peGXmXop6E7RnzGYV2Oj3N2GGzA8Rttz
+fxNUllZkREphaSQKjNrH2DvrvTJ4EoFF3UjF6dW2ySo0ZYUE3Lc76i2QeXInNN7wfkxuA88dNrP
nveTIfQlGak75r6AP8vxDOH+yY38st+BGNL0x23n/QQDoCQ/VM/9qdU2AtW4YlZOjvsd1TaoNZvz
2Cddd1/c14Y7VnjM5JeN474Y8rGUiHC/3BfwQceh3Bc3utT7S4bAlXJI34P7DANcKHl4PfenVtsI
1Ehxqlnnl4F1cJ+veRXupUU/BvfxGWjddP1abij32ZCxt1LXOMh9Ab9SQj/MfXYjbb17WhmyeEzr
c4hXRM4YG9DSOJqp1TYJarQVp6Ab7ndU25AHkznv9hp4PQT3TeB6SmcyLUDHcZ8NaVUUa7lf7gt4
TYMxkvvJjaJezvtiyJhjvTjHeIVRtgSjnvtTq20EquX2SO3c76i2oW0fmbOxs0XNfXHfWq6pymp9
juM+G/I0lTzkWV8Cj9DV0yvHfXEjR6v+p5UhY/Z0CGZzX2BE4tQI7k9NNRGoIfhSZ+cc9zvyN9AC
mzOlgv6H4b4jBwQHkFHXGMd9MQT+QH7GDbkv4HFVdXeY++JGISzP+thQVObGWRoJRohuRJqZmarx
LVDRgengfofGNzon5krdzh6H+/DMWs56+lmfGIJd3Yg75T6Dj7avt0eO++JG3i77+SVDWDxgfxfu
Ewz6ZoV4bgX3p2Y9CVTjVEeFmOlIJUKvn/nU6kPM+9490+ITdaa3xzjuiyEbb1VHfoz7At516vvn
uJ/cyIcl98VQ8KW87vfgPsNwTqkh5/xTNb4Fqte2Q1XLdGh8o480MrTj/wjcD+SAHq3PqGqN4z4b
Cqr3YvTG3E/gsa+fX5b74kbglrk9Yoj2+4d6eY7xClBFD6/mvp2a15egRtex37cdeX0YPJmD3jYV
d8Z9csBIc9r0Oz42ROvI0nnsHXOfwRtlhp7zJzfycXnWJ4asCYd6eY7xCvqfET28o52b1xe42QYE
3X6/b3vy+sCSuW5B6PviPrCQVXQ4fc0vhmjoHnLeZ/Caxmnofp/cyKtlF99kRttbZ/YIDHRDCkrt
3Kw+hmq9L3lVjvk9WX1RkTn61+11dI+/5UhRzLkQpmf0iiGkBz4i8xP44Ife8JEbWVpU66dLOxQN
4o0nfYGBVo8o0LZzk/oYat8Fn+1J6osiP+ljn/zkEPWMFZhgXJ/85BA1lzUYrFCFug5mgBLUAgyQ
V3j7IXIvkWYbLh2bHqHZUNQuPGTuZQIfdac2SSZCw3Pw4BYNTpIdq/aS1GZHaIaBqibsVUTouamX
AjXWVIdsInRP6iXaZ1qb+VJySlZecf1KnLPnO+oqxZZXdRYffsGlYICgssGN2UZ3pMvViysK1MAu
3v6+fLu4IqIj97Cwl9fwGKHaPWujLdT53pAIWBaqSIgoqI9I07QdqVotfkdQPRbF9nN+F3r8LjxH
BOcbIujlaFwEhkG9WfOai4yXMyWGJNvb9st33ELFElTtajSnN28yvj225U2iAV8hf7qrbmexeRW6
UWRffHRtYOybGDctUr798e+/vv3255sa6bff//PyG4HhaekT+8sP9NGn37/+769Pv/7rj09/28aL
H/62NuBX1Wcibfr26PPDXr58+f71zz/rHhr11Ycm2dQ/Xr6L9pIEVn5+LVZQr+2iaJBfn/nPzy//
YKXH7z/++Pn7V/Lf/xPhxx8/nf4SK7+8fPvt65fLx7lgR4j0usJeZMn2v1Os2rz7WHj3MUBFf9et
ZioBOj84aabSX2XN1Ncl7eajFSR0tkkZNBdSXPvZPq4bKyw+2owebeiUxZJkYiakELDzY+tDCvDZ
p2k6AMk5k2kOKZuOE4uP5mum8o+3Pga3VU2GWtXk07PI37j2wimsadHXoDBnygpzMrnTJiBeU5jj
0+JoaKsYlgpzZ6jGtyrMnb7q1QGlkvdrh/HTGraPQzsCp7YKcdEVVAwhpzFc9YL4swvwdY4ToMbI
L/SqE3BKZXAbJ2CkLPba4QRocVfnY27DjwTDBVWtWToMQoWM3mWTiITVG9eZNnlACLe9j8KWOoT8
3BKglTrJ3pY79jnYCGE9RG732qQghXusZ8QlkqDQFxZYBTHcAZ0rSnK4q24WJ7QRh/QfcTOvMBJU
AO2GQO04y6tWaExQaZNUOuCohzqz6jNBRVpfDBnVjpOPllHlxa2PHSekrv0O62QuFBXDcuZcs+7l
yRwYbC+/de3ltydzUVUUKG3Mhb5fh77cNedBukh5pfm3RLA1fTUr12lOa3rc+MV6gkrb6fZ1Gn81
KFVqvHqv7etewdswsKnnyYe1cvZpZUgHd9P2dScYtIQfcX7tZpYbJqjge9q6uPZyQzKHZE7bUibC
wwQew7/Fg82kH/YEHm95JzY+8CSoIXScEshXQd0qA+pY4EngrevKgMoFnuTDUS0X7mKIO2feNvAw
jOg1jLhgdzNrHRNUNLYj+9G11zp6ZS2bM6VT44cJPJY3CcH4TAOMUT1zT4bAleax++V+Ag/YpWOe
435yoxDM08oQKn3jRYeV/Zgbs8udWeuYoGoXKvJKNtxvr3X0ymkyx/LzH4D79FvQqVC16DjEfTGk
i/0y75f7CTz09TDIcZ8eqq0Ky6NgZ56V8/rW+w2G4XWouKXdp76fWep4ghpBtefL+PZSRzIXyByo
O2hfMuAt47MKWmmYTn02ZExJav6OqS/gvR961kBu5MEp97SyY6E03b4L9QkGKJrcRlB/ZqXjCSrY
jlnft1c6euUtmbPFVLmHob4PPHTnyXge9cXQWxbFY1E/gT834BxDfXIjsNHpp0s7UZm9vjizqS8w
aFU7YrPvZ5Y6JqhoY8UCZUP99lJHrwKXO2AsZdU9DPWDlaGrykU6RH0x5NWeZM99Uj+B96ZL3CRH
fXIjVPSvp5WdAO5QqeMQp9DKujGz/tw8AYaqaSg7Fvw918QBaGRoe/whqI+1V95XixOn5Pq/oQPF
L/Y80vMCkxjS3jzkSUQCH0MYGpjEycGY9evgDmG3jUwCA4s3sPWRaWaJX4Jqgi/1a89FpvYSPzLH
RU2m2NL2YSITAA9d1JnuCgO5z4bi7tn6nXJfwK906Y5yX9yIG5c9rQyhL/UIehfuEwzrMY4QYPBz
8+wYqjPFtNAc93vSuyIfHXNa9wfgfiQHdNaojMryOO6LIedKm8b75X4Cf94ojOF+ciMfl1cQYojW
iDfmPsPwxlfUX1dwf2Z3hRNUjBVJ1hvut3dXYF0cMkex+SPkWqLmoQuuJtfyEPfZEO0ZH/P2UcDz
on8o99mNAj33aWXI7EbI2dwXGKiGZB74uemODBWCqhCF3XC/J90RvZjba3n3GNwnB6SVuM0o+gzk
PhvS9lYK6we5L+DPMrFjuJ/cyMEy41AMmYi35j7DQFeh5lXB/bkZhwwVQXV0UvUdGYda0WCiKQo8
PAr3tSIHpCWmmc39ZAjgVl2UD3E/gY+qr6NahvsnN0IDTytDaEonV+/AfYZhFK1sR5Q5+KkZhwJV
06a1g/sdGYdaIY0MFvtMPgz3teGhU7lOquO4L4acuVUX5WPcT+B9GHkBeXIjWM77yZCHvWTW2dxn
GKx1N6JQNUxNORSo1vtSukaG+6Ej5ZD+j4itmt5buwFiThdgjLWudPv6OIFIEtxD78COkLRZgCFq
WrA57fmBUZEN0Sz0iDcgCTxqG0dGxeTTgHH1Opyy4bbZmAlGgFKDoPqoODUbU6B6G0v9S3NRsSMb
UxtLI4OxVGf6MIGIfwvYoixqSTCzh1JlSRpBFJUeshIPHamA1YKZJ6ghljKocn5nmgUzxVz04Eqb
/qyw7hX1l/CaLFWp/vKq9PKz+fnFqxWuYMOYSNGRwdXyxtyzBq9LsuS5N2Z73lh4BkXbgJZiloyK
XXCLX/7fl78+/5oZDrvVPbEZ3RPBR5Na6YgiNxzu7bFNw0FzSsXo7w9Hu47/Rq1+8dGVgYnc0OQ0
MD0KfPMEAgUeAmLpWLl6IEN+IK/l1dkDGroEXFQkfam9RlaDk5CeH5w0OOmvsgbn67Jr89EKEsWF
UoVQffRqv/HBrVdi1isJqlW6oiHQhq7w9th6uoo5dC0jk/Oy2EzXTaeLxUfTNTjlx2ta/La0XLz8
xXg5u65/9cIFwjZih2zEBr6jsBVy4hsXwLfHtriARqfNABeA9v4im84ri4/WA2NP3LiaykN7Tu2+
DFe4lPExYPCKwKXXil8VbZ4v5EsYp+UK7mb1kvQLtX9/rcbWpgyXSo0JtzlfHLc2BknWNp1BkNbe
XoWo1j5gd6+pClKNR/pPXOJwSpU2iAWhxsM9MEoyjau+GCeswVWcRO1PfzB3m89QvfUV2/wKqB07
w3pBQYEaOB41h2noOZEQc1pVCPBvzJl2yb1kzphQ06i2PtgatR9sPaAKmWBL+yy1DbbBaGzXEk4/
EYu1yNMEpVu7kPy0hg19ZaO5JkzInef1xRkl2wFt9rqHz23CdIIBvkSzstRyL4QKqeXLRjAJa7Q1
7dkqotfUOjeByjlwIxJgYaoeboIKLravh6GjJC+Zi7bUDz5nrkO5VdtIPmMg3P7u/ThXHf+WECEj
+dEzaTitiE6jJw0CSjgVtk8a8hMjLdFvc791pH/fK3ivuu63rk8d4sCR1v4LPfVkB2FPy2L21EEw
6ItjkvxhaoGPQAUfSoVjuaDTUeCjvSJzujgyDxN0Av8WH6+fCvQFHW+1Leua9gSdE9CO3ifpq6A7
E7NvHHUS+HPj8DFRJ3kw6kVNcTIU0R+SNxvjkNEXxVXrw87U2iKBirT4aL8rg47aIh0cm7MfoA0l
/RY+NuVGIhVh51BGjRiC4tRwx9wX8Bi6uh/luJ/cKF4sOcQQ6lvvVgkG5xirIUdtU2uLBKq2riTR
n+N+R20RBWsamRhL1wwPw32wzyrEqDJaIuO4z4ZAqZLq9P1yP4G3faqmOe6LG9EcsuS+GNK7EXI2
9wVG1CUtn3ruT60tEqiRQkB7GwXoqS0CEHN3IHB2/C1HEWsjH5zN/Sjd54tpe/fL/QT+fLw4iPvw
HH1QyyW/2DFK75yezaa+wCBsQ6b9uaVFBFXTCqXiMnBD/Z7SIlYvUD50zmB3Rn3WsaK17PRpnw1p
FUtSmXdMfQavjTYjqS9uFGgx8bQyZIK/8ZJfYKCKI3RN49zSoig6WNq3L/ljT2kRqxcYU1QveBju
I+tYBRUzBTTjuC+GwHZKwN+Y+wl8CEOX/MmN3LLzaDIUD8oJjPEK6+2QdJU4N7OGoTrjsL2sMPak
q7B6gY3+Dlo2Hn7LtLzkoVtdm03gfjJk4SG3+wm8U32NzrPcFzfC5XY/GSqT7h24LzBoTzIkgyJO
1TNPUPnit537HXrmhvUefCwmlT8O9/kO2aCfvd1PhpwuudMdc1/Ae9slIZbhfnIjor5/WhnyEA5J
iYzxCjC2pGpQz/2piV4JKjrbXsAYO7KnaNvHl9yudAHyMNzXrGOFFjNSIuO4z4aiCnsz2n1yP4HH
MDKp6ORGUdunlSGjS/ry78F9gYFqSDZ9nCoZLlAx1CgdbrjfIRlOr4bM8Sv6ANw39BX00c0+60uG
QJV64N4v9xN4pwfmop/ciB69XPOLoRhunFHIMGhZMqZ9WZyaUShQWXm9Y83fkVFIb4uv901n5dqd
cR956EyYvuYXQ9bhjWSDD3JfwEc38qzv5EZh2bU0GfLqmITYGK+g2FTK/K7n/tS0vgQ1RmgvTYsd
aX3GWjLnsbPjzX1x37Jak4H5874Ysnig+uyG3Bfwzuou2eAc98WNgjX4tDLkvb/tOb/AoFXOkJTe
ODWtL0FF1XPW15HWZ5wic16XMogfhvuO681Zu3Y298WQd3Aj6dBj3E/gz4mcY7if3MiDe1oZAn2s
eeEYrwjEqCH3+1PT+gQq2J52AbEjrc84kQ6FimXGVYXLEfpOCzAnuc3913QVzAjpkhUYVmPuHJkB
UjoXYGgvEz5C5rXxFCcAgqmRJTgUosVQvFlHl2MhWsDj+aR0UIhmHRxW9nq6NBRVsYbgPUK0wIiu
VFdUH6Knpl8yVKuCKiWt5UJ0R/ql8Y7MedV5s3Bn3HfPLuhYWmqWdEx7KFXWe0iIoh+iKo4dqX/1
qpgCFXyN1tna71C1q2IaH56DV6EUPrM6put3RPu/y97AtSqm8DWYn9UaFehS87n699WRrtXyvghq
sKEiq3TzvnTP+4JniGgqVEKvS+GhWb6gQc2b8yKTjJebO5WumurfZPsFPG6hYgmq1k63J9wTsPNj
W95k1Ogr9v+7cn7ompehG23/xUfXBsY4Y95Sar/98e+/vv3255v86rff//PyG4Hh8PCJ/eUH+ujT
71//99enX//1x6e/beP7D39bG3CrAjTRcn179PlhL1++fP/65591DwV99aFJJ/aPl+9Sxi8TIT+/
Giu+XgXQIL8+85+fX/7B0pbff/zx8/ev5L//J0qXP346/SVWfnn59tvXL5ePszbaAaKOWNimLdn+
dx+37z4W3j2gr8hG3YrEEqDzg5NILP1VFol9XdNuPlpBQlPTZ7MipLSf7+O6ecPioyujh1rpjpag
BOz82JaQQuZik1x7zpmgOaRsulosPpovEmt8fHbRmtd0j4VMtKuViT4/K4BUxLrMAeNFF45xCqb8
/oKPTl2RKjFWZEyCvZAqYaCgaGfXrFSSfqK2B7ogv1/zj5/WsKMZ2gvNiH6p8csdM+sUgN+t6pzc
+UNgRJp6C/G3rKrXC6FCVW/VLSJh9e56Cm782QX42kEa3CeNBhu8y7CGdhHR4oY2hNRiH280zWxD
bpdx7ilz0vRQezI740WK2xtcbFnO6UrY2e002btGc4jc63g9Rqj2lG4KMsXHunlcIDGKAk7hBKgg
VDygp0hJqnjdZ0TQah3jEBp0nOTVy1ImqGgqDhM2i7CeyxY2ZyhuDbiG4rusyQGC1ktxxDELqo5j
lsaXSPG6Ymm7eYnYLvYp5pzBdr0tVB0FuMmcDe3NJHjYO34dN1cOWHLRR2maZYC7L6tzxseIpbrT
fPw6eql+Amo71hzyVfohN0o9PtSr7wSe2ySOW7EnDwarlyt2MeT0Xn/32St2gkHhH8KA4wlUc8sN
BSoU40Au7PSUG0bF5kKnJO99hR1UnHqsVE2fznoxU78jZtoRdgSoRuvaw4581dq9Gr77DDsJPJiR
jZOTB0cVlithMeTQ3bZpusBgHEPCztxKR4FK2+/mtRwDaw876MRc6QjlccIOL4ON15mKh2HtgZMh
C+5GWc8Huc/gncIuUbMc95MbodVPK0PeljZQ78J93j7wemgE9+dWOgpUPj9r535HpaNVmsy5e6h4
OPyWrTLPGB3aTJXzMO4nQ+FmrRMOcf8E3quR3E9u5K2JTytDAPa2877AIDrFhoSQPPenVjpaZZ9p
wVyToL3hfkelo1Wc21teET0M97XipGlrM70TxnFfDIVzs93H4r6AB61GrvmttI7ExZ1BMhNtvO3V
oMDQ3lVk9Vcwf2qdo0A1prgEzzG/o87RakfmdFE69XGYT1GMtv25/n60mGKp5xHMZ0MBSzc6d8x8
Bg8uDJ31Na/4tTVPKzsRSlPYu1Cfm6v64slMPfWnljkKVMeloe3U7yhztEazuV51rvuivnHcDvac
0TSP+mII3IFEgRtSP4GPqkvOMEd9ciNnPOqnlR1UpUzN96A+w/Del3a09dSfmn8iUIMJtmPW77h4
p90ZjQztW29f4Xz8LVteYpqifF6pLnFKlv8CnU4vNnMKOS4wiSEbS3L99xuYBDzNRZ1JTJnAFJ89
Ko3rt+FdKTXiPQITwwC+6R0RmKbW9iWoEUtl/bnA1FHbZ60ncxTTPsJ2RLrgWp2TXRlIfTbkdgVF
7pT6Ah5Vl9xajvrkRoAOl9sRsUMz3o3PIBkGsiLMAOrrqSlvDFUr69obKjGwduo7QyODvrMn4H1R
33keOj9/OyKGuAj2Eakv4P3gM0jHh/yol9cPYodFmG5LfYahTSz1daqn/tTGCgkqxpJof476HY0V
rEM2h3vLsoegvucdgsUwnfpiyOtSueH9Uj+B93borM9uZCjsLlf8YijA3rZoNvcZhrV2RB9F1FMz
HQWqUx213Qysnfs+0MjQ/vgjHEV45KGz6KZznw3poPvkj27NfQF/Vokcw/3kRoDLeV8MWXPrGwiB
gcGNSDnSU9MNBaoPwTQrqjCwdu4Hy+biHTRTO/6WAzlgUFlx9XHcF0PG7nn1fXI/gQ9+6A2EuBG3
LnlaGbLForv34D7DAOXckO3+1HTDBBVoL9nO/Z50Q1BsznTqhd4X94EcMNL6bvq8L4bMg6YcJfCD
T/qSG4Xon1aGHL2R23KfYXDrkBGn/HpuuqFARVWRGbnhfk+6IYiUaFHBr3hlN0BwZQ0mlLylCGaA
oNQFGI3kzh/hJEQqgGj2m34SIoYMli7P7zcqCnhr4kiVluRGkfj8tDLEsua3jYoMQyusOFqsiIpz
UzEFKmB7mzkG1h4Vo3tWliVu91UtNvqSa00Lb9Q5SlZqWrzqV+AXcFatcDlXFMStf2MdGXT1CpMM
1VLEaW8IzMCaFSaTuag7t2J3Fq3ptwSEUmFUSYm2JwiWNZIEEXBWyAi/60jfavM7F5UJHX4Xe/wu
PKOVRrb1I3NdvI6jzZud/7789fnXzHDYrQKJzSiQCD4umW+vWiU458c2DQefWx8XhkTTLpm/0e9f
fDRfy89Gzm/W+vUo+IiWHz+L5jso9e6qHkidH8hrSXX2iHQuAzfaabW/f9lIbzLS84OT9Cb9VZbe
fF12bT5aQSJMI9rpomm/8cGtV2JGtFagWnSlpiQZuhKw82Pr6cp1rUqXaoKqvcw203XTVGLx0fvQ
1UYDpT7iJVFqLs+9WNWtf/XCBcI2YodsxCZYNKWo9ohNgM6PbXEB8gCoqHTYd4H2jiubJieLj1YD
4xRLpYJ214UaPWr3pUOocUe7xCJb5ZZXV8RLLNB/pLUSugv1khNSBdisXpK+Gn1ng+sD6oetsviX
2ocJN6o+hdNXaxv1ApapdxghrNwAldMt6gXjOgCscIRYOjkrKB8e7kJQ0j1cdyZgrJ6WJkOKLs3U
nb5A1RrcCCFC07HFrVf3S1AhqP3d+CZSdxxKiDnjXOlQImcO2uX22Fwgn/EZibqLXkhj463HSD80
E299RNBhE28JquoQxk1fda6UDTRNULq1ZcxPa9hoh3bI5G4+2vsY1l4Q7LGkrcPNeQSGpm1sIYCV
BaV7IVQISq/a9iSsrB04IoJNrXUTqLTfqLj9qYA6VQ83QWVd6Pbo11GWJ+YsLe3apVRNh3KrU0g+
46GU7fMojbRogqI3pbSuaaJXrW1K4X3CxJGg0mKyfeKQr2raPt3mputQB78TeLBd6f6Z6SP5cNBL
ofJkyGBpj/0e04fAwLMy+6E4Z6eW+ghUG7C9+QoDa49zRpM54zr7hN9X4DGOh87F2c3VkyGA0sL/
frkv4OO5v8IY7ic3isE8rQzRVufGS0eG4fyY3B87tdZHoPoQwj7UDfc7an2coTWOi3gHEqPH37Il
B/SS/ziZ+2LI6b2etPfJ/QT+LL41iPvsRuSB9mllyIe9iqjZ3GcYtNApScTUc39qrU+CiqaiJHHD
/Y5aH2c9m7OdSrl3xn1yQLA2JzY2kPtsyEGnNuOtuc/gvbZxJPeTG4G74D4bopn/xvM+w4hWhSHc
n1rrI1BRadUx73fU+jhnaGR8MSfkYbjvyAEjxqrDhkPcZ0OoVedi6cbcT+Bt6Kr1yXFf3CgY5Z9W
hozfOxWZzX2BgapiIV3B/am1PgwVVFDQfolkO2p9nENuvWnuQFr8+Fv2hofO2Ey/03HcF0Pg9k6x
7pP7CTzg0P1+cqOgF3V+yRAWW8i9B/cZhvZFsdN67k+t9RGoxoSKY8kN9ztqfZwPNDIxdApm3hn3
UYYu1txOH+M+G7J4oOPwLbnP4J1xYST3xY1QueW8L4a8Vy0NSSd5hbWmqS99lvtz81wYKmt7tF8w
2p7kkWBpZLjj4AfgfiAHdFbb6Wt+MeS8f8h5P4FHNZT7yY28Wu73xVDQe7r1s7nPMLwZIzFsOxLH
GrgvUNFXhKkN9zvUxR0oMVdSPXkY7gM5YLA+ZFqKjOO+GHIAN1IXP8Z9Ae/PlShjuJ/cCG18WhkK
tlSX+R7cZxhgYhjC/bkpVwIVY0ddpO3JYwIgcx47m/DeF/ej4qFDnM59NhRZv+4RuZ/AezcyNTS5
UbCwXPOLIQOlbuPvwX2BgaYiC7uC+1MVvAUqBtOh52c7FLxddGTO9OY23xn3gYfOq+n3+2IIoHQP
e8fcZ/BR+S5dnxz3kxvFpXp/MoQGbpzXRzDo1xZDUDX33dy8PoaqTU1B75r7rievDzWNDBeSfQDu
o+OhizB9vy+GnCoV898v9xP489XbGO6LG9EcstzviyEf9xRPZ3OfYfBF1oiqbjc3r0+g0ih2cL8n
rw8jmfNmLwHjEbjvleahs5BpHzyM+2LIKv+Q3D+BRzP0rC+5UcDFHV8yZPSN8/kTjOhLWev13J+a
1ydQnQ8V15Eb7nfk9Xnl2RzYD3DW51Xg9sFQktgsyAEOEZBZgBFtQl2RTnYdzABthDWY4hRcBDNA
q2MBhuKEQwizt2ZiyCss1eTdcYhm8Nr29VXLhOjEdr56Wb0Ob/xeBJgeohlGxCFS625q+qVADR4r
qL0J0R3pl14bMmd0Sd35YUK0ts8RaIlQ+C0lqboeSq2rr8PPv8SnC0SorWsSzsr6XUfqX71UnZeG
39y2vt3vXLtUndfh2dGmoLQSyYpabt4ROmiSK3mVJnn5/NmDWqGyQVVMZRXvqyNdq+V9EVSKtth+
bet8z/tifSrW064fmcvRCMsXNKidal75TfBitKUGaPVvsv0CHrdQsQDVKRegY0MOb49teZOOhrgi
v39XY8vF5qXbRuN68dG1gTF6ecz+7Y9///Xttz/fBAy//f6fl98IDIeHT+wvP9BHn37/+r+/Pv36
rz8+/W0b33/429rAubz5tAwSNcS3R58f9vLly/evf/5Z9VDaldprD01Ki3+8fJc6fpkI+fm1WM25
/RIN8usz//n55R+sN/f9xx8/f/9K/vt/Ij/346fTX2Lll5dvv339cvk4a3xT07mcF2DeC5Zs/7uP
23cfC++er1f3vXSr3EiAzg9Oyo30V1m58XVNu/loBSlCk0RfNqT49vN9XEvVLz66MnpEm+Dbc3kJ
2PmxLSGFVv+2lM9X60y+oA9aq+G/+Gi+ciP/+Oicei34OyK06g3NWsGANtd2r/FnmiS+dqhcmbJY
icyVHtD4K2IltJem/6hoh3AhVnJC6sE1i5Wkr1o40Ja4U1WwXQz9UugqIXe2uzuh2NuI8ovCtltc
aLIdetWhpJC3oyp4TPf9EglEVcpjLOgKDlCfLykLrhXpBS1x0Y1Y9Pm5J7EMFW2NMngF1I4TiXqx
K4bKM2GH1J/vOTRO5sC056J72y525S3QFl0bn7nPvehGMk5ZkH8lqhC0uRJz+UQ1YqSnXMbcBFVH
2x5z5asGXH+DqPfrg/LTCjYtU7uuknJNUFJ3Bq9w7QUUcw9dJR1utiAwjNalS4aysmAvhAplwVUb
hoQVQkUb+IoINrWsVaBaF0qNvuuhdhzrNARbhup0T8cI31GBezKHFS9xY873BNtIPmNjSY//URqj
eMe/JWqoaWM1Tlmwa+I4QVXtEuDpqzSz3igT4VAPrRP4CF3VxpnpI/mwM2YZC9mQpfG9bWfBBAPA
jshE8FMrDgWqc9CRheQ7Kg6JGWzOl243HibweEu/JfpwtfXAwP55yRBC6JejviH3GbxXWvmR3E9u
hMtq42SIFqk7OdqzuS8woiutYOu5P7XiUKAG2vx2nE52VBx6TzNmcIgfgftB8dCpMLubuBhiUY0b
pbcc434CHy7rMw5zn92IZv8l98UQd16+LfcFRnRDqo781IpDgRpp29GeZuA7Kg59cGROu72S0Mfg
PvDQOZ/JPh7IfTYUgr9R1dFB7gt4xKHcFzcyyi/X/GIoFjUy34X7BAPdoGOYqRWHnn4fbU17qo58
R8WhB00jA1hqX/cw3AdPQ2e9yygMjeO+GPIYbqQqeoz7Aj5YNXS/L24UrbVPK0Pg9zpkzOY+w9BV
m+h97oepFYcC1dBKqf1WJ3RUHHpAMmfON7UPzf1onnkhPn/NL4bAl1KP75f7CTyOXfOTGxkDdpnR
LnbQlG5D34P6DMOCKW1q66k/teBQoHoFJTm2HPU7Cg59DM+cTbmn9v4Y1KcwFtS5f/FE6rMhPtV+
SOoLeAhDp31yI0dbe/20smNpSXlj6hMMQjZEUzTMzXJhqNG60r1Ijvo9qSOoeFlWk6lytRJtSo76
Ap2l94amlHj9MIEJKcjGGMP0/Qgb4syMhzyLEPDmLKU/JjCRG7GsyvIoQuxYW8p7e4/ARDC0Uq5U
6l8fmOZW2QlUiKWOI7nA1FFlF5Qic8HuLRofgfq0HHm2tPctzYLFSqDgJkTZfCWQ4NWxZg6q8Mr2
5J+GSiCBalBVEGjjlb69EkjM8R6ipSlJJm0/hM0vH1gJJEhpcepnVQKdDPiVPu2xSqDTQ9eNLY9W
AqXHWq3GVALJ47xxI4o3AuS9oLcSiPE5xYuNjkogAjShEihBool9xF17aL9va6gEEqhWqQox0k1I
ie2VQCdz0DI5ZJ2pUFZ2l5VAQVnyFe/C7Au6ZCi62KepdNtF8Qn8+c58yKL4tMACBU+Xhgwn7N10
VZxgoBoiDwRTD+kFqg3Fs81MsICOQ/qggM3pzhyT+1oVa3JAZ6PPtP/hTFs9hPtiKJ71Bx+L+wL+
ra/kIO6LG3m/aPcrhrxyJVH79+C+wACwI3bEMPWUXqAGbzpO6aHjlD5oR+act333zHfGfeAv+pws
4EDusyHEUvfoO+Y+geeMwpGHYSc3QrNcnYshipE3nvcZRqyqwa/g/tRjeoGKVWIQG+53HNPTAoNG
hnOWPgD3jXs2SkGu7d847osh6w5UcN6Q+wk8xN7C+avcT24UvX9aGaL/cmPuMwxtfSmDsp77U0/C
BapxNdodG+73nIQbGk4NHyIhN1hNQ+d1Tgp8HPfZkCV/esj9fgIfcGQN98mNollyXww5rW+blCcw
nLZuRKtvmFoXnaBG29HuFzqKjYP1ZC7ozmOrO+P+MQXeETJHKzCgSlq0xbyHATJuCzA0nB7CdQ2j
oVGRDIVoOzvI3joqCvgwtEzhRDAfzep10J5xT39/elSkL0E5Gb8+Kk5thCxQo0PVXqIEHY2QgzNk
zphOrf/7iorOPltaktfIRW1UXddiUS7YswZTpVjUQtfVYXy6xIUBSkuDkjJwD9VX6im//PwCK0RO
2aKuQj0fOkr165VmE9SoYMghZkdlcSNU7XpSjSG0i+KKOaN0h3oKQI+58Ix1gWn3chWWU/5/X/76
/Gtm9O1Wu8ZmtGsEH60MO7pIE5zzY+uHg1c92JSIlB2O9rvmTXeGxUebgSGkzjp7QCJy5r01wTM6
nE9njgxkLLS5uJbaZQ+ldjFwImDc379sU0MI6fnBKTWE/iqnhrwuuzYfrSGhL9XPVQfL2H7jg1uv
xIJXWgWmo9MAATs/toWulqaRUh/Tai8zzXTdtAxZfPQOqSH04x3n4TS4xeUvtpcrofWvXrhA2Ebs
kI3YBMtbWyEasnEB+/bYFhdwAaxpIUfOBVy7C2z3AC63BwiaC74Rrx7tRY/afekQ4t0RhQxes46D
De6Kthcf1mCg6VVdaHu9IjW6WdsrfdV5159K0CnE29rA4VIVMuH2ynftnV+tbfLqpSMFS1Os3SCY
UtXqjhDvkV4VlzjQYCl2FmR4D/fLKInwrntoJKxom5Zl2Rlw7k4/mGdF//Yj8jhjxyasXhcyQY22
JAmdi9Q9hxJijv/Rbi6060KKOWJgrs7xomvXyHhrWCZfhavh1tBW0jtYRVv6Bn+lI9jyTwzugLDC
+zUL+2kNGy/vuBpi7dUSptR0yoe4doGozaFzysM9pAQG5yV1K/D2QqhQ4F11lxKsoGIFSSvC11TJ
twQVYAzUDoWqxkgbnatI7t+Evg51umSOGNF+2hxjT6S15N/g4fanzQO4yqpMEKytmDUO3TSJoRhL
zaTuttdjAo8au6rjMxGc3SgABvt0aQdpatzZTUwP4CzNo0Ip+68+0kzVw0pQq+R6N9Tv0MMKQW6J
sWTuYagPilfuMWbS7sZRXwxZXTpzv1/qJ/BhaJtXdqNol+rXyYyLpQui92A+wzDaDtHFwLmFNgKV
D3qamY89hTbgiPnOVgjvXc0PmVKxfYmOpWf6JB7uLC4Bv1gDmeSXgXGJDWGxqv2O45KAj7b3AO9q
XCI34uyyZUYg26HYXerY9y6BiWGAq6hgrghMc6uAGKpzvmPzgz1VQFE/8/lLZyu4+6J+dDx0oGvO
sA5RXwzxGe4jUl/AB9NXCZCjPrmRoyXa8hRa7IAvSWK/B/UZhneqdMVST/25RUAMNeiaNJ8N9XuK
gGKkkQFtbi/TN+Atx2entDKZAsCB1BdDsST4esfUZ/BGx6G7EXqoB6/NpWd55b298UEEw6AtaoXS
fQX159YACVT6R/tBBPbUANGQeg3FkqOHoT76Z2/0WThzHvXFkIm3ashxjPoC3ho1lPrJjSDi08qQ
c8cacozxCquwdMpez/25NUACNaoOYW7sqQFCJHOc4/L43AdFDugowrvJ3E+GyJ9uVOlyiPsn8O7y
luYw99mNojELZe5kyIV423lfYNDEX7pBruf+1PyXBDXqnt1+R1IJqMDmzN4LegzukwMGY3PdPwdy
nw1Zj48475/Ao+3S+spw/+RGYZl0lgx5vXcmMp37BAO0L1W41nN/agPOBDWGUiveHPc7GnCCtmwO
3Ac46QNNDhjXevMzuC+GLHYGzBtzX8A7e3kocpT74kaol814kiHa7x9qxDXGK5A2tSP0fnBqNhZD
DcqoimLcDfc7UpzAKDKn/B3o/B1/y0ZzIy6n9w90r1+lDhA1XYFxptTqpAhmgGjzAox9DlqdryXm
RUUxZHul424cFRP4CEOjYiIYely/jmBufPcpMIz1Q9RPcWprUoFqVbFHeC4qdrQmBQPP3LSmU9Dr
vqKiJQekHT7OzsQUQ14Xlerul/sJfOyuW7rOfXajqNzyJEQMWbXXuH029xlGUHpIeQ1OTcVMUGNN
ZeKG+x2pmGAdmXPqDhQQB7xlcsCA7h24T4ZAIzwm9xm8sX3KxznuJzdy/oL7bMjShujG3CcYUemK
dfIe9y2bncp9htqRhm2TGEAr951+ZrHgUin4w3DfkQMioJm+5idDoJR5yMSHE3gfh3Jf3Cgo1E8r
Qxrwxmt+gRFdab9fz/2p+Y4CVQddyj3Ocb8j3xFcJHNWl3RhH4b7Xj+DCefqw3ncF0Oo9/S875P7
Cbw3Y7kvbgQXa342ZFXcuyeazX2BQXHpeOYDedDUhEeB6nyNVM+G+x0Jj+A9mytqrTwO98kBPWg3
O+ExGUJVcqc75r6At25k5sPJjWBZOy+GgvJ7+SHTuU8wQMcBt5+WZaKmcp+hIjRrfAqwdu4HQ+YA
O6t17ov7gRww6ojT530xZHcVIe6T+wm8CyMzHpMbRbtsSp4M3T7riWGgDqXDmXruT814TFARSr2h
ctzvyHgEKbsOvveSboTW3QoMmFIHoSKYAaprazCxYgF2FcwI0c4FGOS22qYksPQwIRrMc9Rqfj1K
MmSUfsir2AT+rB8/KESLG4WwTE4TQ9bvnfbPDtEMw5hiNWx9iJ6bmCpQkf5qD9E9iakgRYk+FEJ0
VrZ8/Uqsi2fxgCpxvbOQ3tfw9SKnkVF5a0rkqn9fUyXCBWqwvllHVIA1C2EDBHKPEOKHiNX0W2xQ
qjB0JWn6nhC4khX7+vPXz3E1ujFi6ay93u+m6r0LVAymlPab87sOAXbawj27qGqSv66p+Fp+yeOF
NPL62IIXVbFXbP2bbL+Axy1ULEIFW8oPzr1JfHtsy5v0Cn1Tk6arSsRW6YLkeW0W3eKjKwPjtVum
1X37499/ffvtzzfl+G+//+flNwLD09In9pcf6KNPv3/931+ffv3XH5/+to0XP/xtZcCf+4+clkEi
Q//26PPDXr58+f71zz/rHuovxRBeH5ok7v94+S5KmRJY+fnVWOH1oIsG+fWZ//z88g9W5f7+44+f
v38l//0/Een+8dPpL7Hyy8u3375+uXyccVi6K6/2gkJDpyXb/+7j9t3Hwrt3zlTEm7W+vQA6Pzjp
29NfZX371zXt5qMVJBqzJhX3XEjR7ef7uE6GXXx0bfToX6U80UxIIWDnxzaFFIi6Seoh50y2OaRs
soQXH83Xt+cfz6LPr2vVng4X52dFbhRgzmqLxQZiDWLApiwGzD+BOxvEa2rA4Pk/Kgd4IQd8ggrR
NesBp6/aWCLSND3g1n5GP61gO6u67jRyfctSC6wAy6oOMsRdh/aE9yb3LRMY2hUVN8p6wL0QKvSA
Vz2lBKvRtqKhR0VsnnsGK1DRDdnb6o6ziHo9YIFqyUXbV6a657hYzIHW7TdT2rfrAYs5F2K8Gmzj
zy7A1w7h9YpYy+sagEysddbR/2xiLSPV7Y0u0lej3uuBOL7RRXtPu224JeTdzXOTvW28tTSb2biJ
t542My1VdCMb+K2QEMbCpr7Q7GJAG8GddhcXrQUFbTAw5LREzy35FagYSg1T66F2HOw0Bl0I3u8v
pjdRsKc6WcyB6Th90NATdCMtKsqz36O0/ATUNJMTxTLpAMPa/SZDDm5V9neo3W8C788VOUOWzSc3
oi3L08oQ+eWhFOAxXmFNzdVuRaiZW/bHUGmBZ9rPkHVP2R9aGhkEc/sGDAPeciAHZAmu6dxnQ6I4
9YjcZ/DWmq5UoBz32Y1Yc9I9rQzR0unW3OdGalqVJL7quT+37E+gRlVxwLrhfkfZX1SKpzDd2QPq
rrgfFfc+jtpf7ZA4kPvJELpO5Zjbcv8EHqBz/3aV+yc3Am2fLg3RoOtDAkhjvMLSZmjEbshMLfsT
qI52h60CSAKsg/u8k1dFvaWH4b5WMnS65oT+EPfFkMdSfL5f7gv4YFxXflmW++JGiAvB42QI3F5V
2WzuMwzvOKNnAPenlv0JVNY6b219LcDaua8djQyoO+i8NOAtgwydmb3mT4aM2ZP1ulPuC3jfl/6f
435yI6L608qQhb1+ftO5zwdoylXklVdwf2rZX4IKoeM+x3SU/UWjyZx1naoV98V9Y569oRCfKfcf
x30xFIK+UdnfMe4n8OhGnvWd3CgupT6SobhbTT6b+wyDK52ONzqwLEM+k/sM1XlfOh3Ncb+j7C+a
wALhED/Cmt8gDx3tPadznw1B8Uzmjrkv4K3rKvfPcp/dyNi43O+LIVY9vTH3CQarnY+4UjRTU04E
ajCh1HAox/2OPI5oLZsz5iNw35IDBl6Lz+a+GALXOWg35n4CD2FkatzJjcKywVEyFHeF0GZzn2GA
dyXVgXruT60nE6jRuNJEnON+Rz1ZdIrNhTuQ9zv+lh05YAzn1d087oshwANJWjfkvoAnsnbJ+ua4
L25k1cWaXwyh3ztKms19hoGhqM1Qz/2pWU8MNShbo0K64X5HKlF0wOZUqdz/YbjvlagFxP0If6VA
f1K52wW6oEDh9NMIMRTtgVT9G0amBD7YoTeQycndxY5EDGEsNRV4j8jEMOifJVnt+sg0tQ2DQDW2
J+vQdLRhiN6JFPsdCI4PeMsinu5jptnyQO6LvDY8ZOZRAo/68q7mKPeTG6Fd3kKwIYqPt16VCAxa
qo7IOjRTsw4FKtd5tJd5mI6swxg0jQzegwDZ8bccHA8dy/9M5r4Y8jo+JPcT+HUF9kHusxs5ZZeF
I8lQgHDj0wiG4a0uNRWu5/7UrEOBGpTz7eo2pifrkIaTzHn4CNkHoEXx3mRarhoXIwzhvhji8vFH
5H4Cj2NPIpMb0ab/aWUI9I0zjgUG2FCh4r3PfTs365ChRhU6uG97sg7B08jAufH2Y3OfHDBqlTuJ
HMh9NsRNqx6S+wI+xKHzfnKjsFQCSYZsPCY6PMYrUIEdoXFk52YdClToER61PVmH0bC53mOr++J+
9NzZwuF07oshi6V92f1yX8A7h0P3+8mNovdPK0NQbJvxHtxnGPTNIYLjdm7WIUM1aCqk2Dbc78k6
jEjmPkjmEX0RzJvo1zzui6FQ7OB7v9wX8GDt0DW/uBH50TL7QAxFX5rF3oP7DMN51SS3leX+3KxD
huqN7sg8sj1ZhxjInNotAX8M7ot4uqtI2Lx6AzlCSG0FBmraZl8HM0AocgGGqOmdDtNPQsSQt3t7
/DuNigL+3OdjTFRMBKNl4vp10EbkkMb3AL4QjGCtGhIV5+ZjMlRQptSsLhcVO/IxUVk2F0rnw48S
FeW3oDO6UzO6h1Ir6Tmw8HO8HN2oFO02R/hdRy5gvWZ0ggquAurG73y7ZjQq92xNMCUlo6y2/FrL
ypt4FnKv1LJ61a1yP3/56tQKlzVYkXxQ8camqssz1BAtlNbluTfWoS6PCp6N0sWKrVohVwuLX/7f
l78+/5oZDrvVxrIZbSzBZxyWOpXkhgPeHts0HMaHpk12bjhi8wpo07Fl8dG1gYk2mtNk3yNCO1Ej
l+G54HSpa0H1QBZa31zLq7P7eXV5GXkBHqOt4N9WhpqQnh+cZKjpr7IM9euya/PRChKST47IPXft
Nz649UoseKVX0XX0xiBg58e20NXTriAM0DR3BU3z2tZTi4/my1Dzjw/OQEvovvzFK6XI9a9euEDY
RuxQiNjBl2uAcy5g3h7b4gIh6LPozCEXaN9Abxp+LT5aD4zBZ4oQ5+Z1xUZVDfKztiw/ixqfrVfe
XFGf5W0J6+eFC/FZBko4FTZrz8pPdFqVZGam6Xy3Nof5aQ3b94mX5JpjSd8e0F6tXIAoW9qxvkNz
rAQDQ6lneVnnuxdChc73qkGPYPVBlSQE6ye/qZt8gRqq0h0qoE7V+U5QQ/E+Oxeke84j2BxYVcrI
zJnr0Plmc57W/9dlWiOFRPdlTqB1iMrrTKR1tBs3cRNqCWnwsSvWUlhXe0XR43W+W5vAbYMtoab/
6Qu2ydo22trnCLQW9Gs3CLinPFxQ+T7S7+4Sh7ZRFXAUNL4P99wrKnyv+vAJVsO3ECNi2NRatwTV
gR1xqOOmKnwLVAp/2J4A7zrK8pK5WNOfeGOuQ+EbraIp2pjS/vRROhSiNbQ0csZlbpqGdZNNhnxx
63q33WRP4Ff6KAcXzOxG3tBm/mllB9St18sMw1tf0h6qjzRTS20EalDeday0Okpt0HLb1uA79Wvu
jPogQ6cyYn8Dqc+GNNwq3f4g9Rm8UaFL9CdLfffsAxrztLJjzY37SCcYOGiRMbXSRqBCiKWmNjnq
d1TaoNNkzqC7ve7H8bfsKIwBKJ3JuB1HfTEUTalo836pn8D72FVdn6M+uREn8i1nfbGDEA8l3Y1x
ihhVHEF9P7XQRqCiNxXXlmvq+45CG3SRzFl7B7Ifx9+ypzCGrDM7m/piiDZlDznrC3hcBcjD1I/P
aHGp8Mt2tFKmlD36HtQXGAFKaYD11J9aZyNQNW322/NtfUedDXov5kzftvXOqB/pKxDt9FlfDKHq
PCC5NfUFvMUude8c9cWNnFHLmx42RBuL0lL7XbjPMEBXFK5VcH9qnY1AtU6XVONz3O+os8HAySnO
+NvX1x5/y4EckMPY9M2+GMLwmOd8DN6xxMhI7ic3Cm652xdDxP4bc19gQKholVHB/al1NgLVOyhN
xDnud9TZYEAxt9cx9yG4D/QVH89DN4/7YgjxMXf7DD4oM3a3L27kaVv9tDKki3q178F9hgE6DlH3
9nMTTQRqrMn823C/J3sDApnzunSn8DjcJwcE1DajpzWQ+2QoKlvKS7xj7gt40EPv95IbgdJPK0N6
t+fZdO4zjGiHdPTxU9W9BSp6o9srenyHujdGy+Z86RD0YbgfyQFpNs7V1o/jPhkySkX9kNwX8LQ5
79LUyXE/uRFtg55WhozdWx3N5r7AiDUHaBXcn5vxxFCloV8793vSiFCRuaD2DmQegvtonw1xcv4N
nxjSpiTVcL/cT+A9DL3cT27k9JL7Yojbed2W+wIDTUktsp77U/WzBaoNpqLR+Ib7HfrZiMDm3Ae4
3Q/0//WZ+OjC5DX/yZAOt9LPPsL9E3ij+vSzs9wXN4oGn1aG7G6zqLncP8GgrfSQeX9mUl+C6gP4
jrO+9qQ+MufInCkqjT0O94GHLuJ87rOhqO0DnvW9gndhIPdPbmTdQj/7ZIi2ATdN7UkwuPXakNSe
mVl9CSpEUyH3u+F+e1ZfoI3fswirfQTua3JAAOtrCm4PcV8MRf+IZ32v4FEPLH59dSMw8enSUKT/
cmPuC4xQfFnV3A8z0/oSVLTFcuEM90N7Wh+Zi2IuPn5uT1CGHBAhXvaom8F9MYSqpOx1v9xP4J0d
uN8/uZHTi7JCMURjfuPcnhMM0BWNaCq4PzOvL0HllIj2c/7QntdH5jybM51N6O+M+6KjWWxjVZKu
HCEDsgIDtN/tBDNAlmYFJupSJXIJzAhJqwWYSC4Xz7m+E0M0G0JXUn+74xAt4AEGXse8sp02YqvX
Ybin4Y1DNMGwFoe0Nwkz0y8TVKdiRZzZhOj29MugrKGRieEOWhoef8vWPdtgoi4cvJdEPXsoVdSZ
OSFCN6SdXuhI/auWiExQwWNHO71gmyUiyRyNr3PFFW5W1HMjXkHLr9fzkirxilehCh9+wV/UCpVX
IYy4ugkd6Vot74ughmg6RPGC63xfAOo1tblHGfLiWaihVOlV1JgLfvmyB3VFzqo3Cl5LS+dSXKn3
ivbLfNxCxSLUqCpyjTdeEd4e2+IV1tCGYoAgZ4DmZeBG233x0bWBMcHGt+YO3/7491/ffvvzzXu/
/f6fl98IDIeaT+wvP9BHn37/+r+/Pv36rz8+/W07V/zwt7WBsOpfL1R4e/T5YS9fvnz/+uefdQ+N
/upDE83+ePkuUk4yqfLza7HSjvU06dMgvz7zn59f/sGakd9//PHz96/kv/8nEpI/fjr9JVZ+efn2
29cvl4+jibfp0ivnBYXNwJLtf6dAtHn3sfDuKVRWyFds1VcJ0PnBSX2V/iqrr76ujzcfrSDR8rtJ
ITkbUtrvCnDdomHx0bXRQ1PsTJwLKfj22JaQ4pQzFdeSu84E7e0iNr0rFh9NV18NysGzpzWYqWnU
M0xkjsaczToKCFuRuaA0/UfnfbBLkblXqCIB2iYyl74alMJ3EJk7rNz/0xq2x5GdMFJTBa2iebow
FCxqffV6Of7sAnwdrjQoThAsbd8h4wSBOAl+4wSEtNcJQnBmr5vE3HYfCQboUMqsK6uW9kKoUC29
bBFxwgrFhgNzxBnbuyhsqRMgOuy6Dny1t+UO5wIoNJsxQty7birIMx5rGXGJJAZTQlIQaBzQuKIk
0bhqZpHQoinmUFQvSGDuJYZARawoVqiA2nGYVy3RKFCBliFqREt1mFn6maBqCxVquhVQO44+GkfV
cK1l84oUem6xxFzwHTrDYJqFL0/mwHXcz0N7De7JXCw2Is2Zcz2/LlJ89qHUxfNBmkixIGKaayY3
kEuGotadvUhv2kDuFbzvSwG+vmw+uVFQ0T2tDBFzbtpW8wQDrRpR8gszy/4SVAyuoh3jhvvtZX9k
LvAaQ99B2d+At4w8dDpkpD4Gch+lB/mt0v8Pch9Tv/bedf9V7ic3CmqZAiyGIu6pyEznPtJ6zxeV
a+u5P7PsL0HV3BS6nfvtZX9BBcvmQmnR/jDcD4GbpgdjZ3NfDEEsSTHdL/cFfNTQJfWR4764kdWw
nPfFEBYXzO/BfYZhPA4p+4OZZX8JKre47dhitJf9BdoA08igKimdPwz3wcrQhencF0POPGLT6Ffw
QQ1d8yc3otXq08qQj8cEvcd4Bfd3GHJ4MrfsT6Cir0gd3XC/p+wPgMz50NlQ6L64HxUPXdDT1/xs
yCu8ldTHMe4LeFrq2aHcZzeibf+S+2LI7BZIzeY+wwiqRj+jgvtzy/4YKq3JShevOe73lP1FRyPD
jYM+AvfJAQOizeSVD+Q+8DvS9kbSnge5L+AddMn65rgvbhSs1U8rQwb2dkbTuc8w0A6R94tzy/4Y
aqRRbF/zx56yP9RiLnwE7iM5IKqzbMk87oshHUqqUffLfQFvzpvKMdxPboQXZX9iyJpjJb+DvAKh
tLKt5/7cG3OCGrnzQPs5f+y5MMVI5iRf4eG5r5XmoYsm08ljGPeTodiri3Zb7p/AW+iS9M5yn93I
alys+ZMh9Hupg5O5LzDo/5SuG+q5P7WeTKAaqyvaDG6431FPppWnkUHTmaN2Z9yPPHSrDu5TuM+G
PMa+Hgi35j6DDx4GpsW+ulGw7mllCHfV4qdzn2A4jUPO+uLUnK4EFUNFmNpwvyOVSGvFVem+onvA
1ULwKWVdC3SGBgPCHQiQHfdBTfTwOmBGeHRcZBJDplg4fb+RScDbsSeRyY2igvC0MuTcnmvNjkwM
g0jvRhQVxZnNBk5Qo6mAuolM7c0GyBySORdKiU4Pw31DDgjmvPacx30xZG1nutaNuZ/AgxmZeZTc
yBu1KNZJhtxuUcZs7jOMqM8dJ49xf2rWYYJKU3HHaURH1qE2gc35zj55d8Z9ckA0Pic6PJD7bMgC
PuSORMA7bUdmHp3cCL16WhnyxQXvu3Afn1EZZUdUmcSpWYcJKuqOG8jYkXWorSVzNJYfYc1vAw8d
bbBmc58NaWUeMuvwBN7D0DV/ciN7cRIphjTgzrQym/sCI9pS/Wo996dmHQpU412pHWOO+x1Zh9op
MqeLxQ0Pw31neei8nZ15lAwF2Munu0/uC3jQcWTW4cmNolvu98VQjHuy7LO5zzCst2bImn9q1qFA
dcaXKthy3O/IOtQOyJyOJXGsh+G+Jwd0Hu3s7INkiLUQHpH7CbxXQ+d9cSPjLDytDEXYOxGdzX2G
EXxN554K7k/NOhSoNF6mvX46dmQdau/InLIlNarH4T45IDirp6/5xZD3pfPYO+a+gI9x6FlfciPQ
y/2+GKKPbrzfZxjRhtIGrZr7ODXrUKDS1qmjyRB2ZB1qH1mkO1S0Ybh6AzlCMGwFBmwpk7d4HTpA
EPENTNDkMzQwH+EUNNBiEiFUascOCTYrZSb3SwhxObqOXrVTQ3R+sSMXsF43VqBqFSrU2jeM1O26
sWzOW+VNgZFZnd+1BpJTb8r1lRpIr3pHP5ufXy6ObgUXq3eMeGMdGVxtbyxG5zruStH0vDF4dkpr
bFlZZgQYcdn04L8vf33+NTMcdqv+YzPqP4KPxXg7HNi+PbZpOOgffoC4KbrmiL7pdLD46NrARNq/
nVy6R6J5orYlwwuGCNxSK5EbSJ8fyGt5QnY/Tygv/yzAnYkVSglb+VhCen5wko+lv8rysa8L0s1H
K0he6Qrhloro1aFIvfVKLHglLchsx40PhrfHttCVpmZdmm+qvax9AbbpkrL4aL58LP/4yFXXvcLq
GC9n1/WvXrhA2EbsUIjYkTuNdkTs+PbYFheIgSLhiIiN7S6w3R253O4o4rNchtb0ER2n9KoBOTdG
mytCr5plYaKPeKHzykBR09zSLPOafqK1ql/G4P165Py0hr2Sdqs9Usg1yJFeK6hsXLuAt8eKmA+3
TmEYWhlVWuWUZXB7IVTI4K6aqiSs0esBxx/kwFOPPxiqtrp0SVwPtWNfWC+qmaCis839RLTqOalh
c8ZDhTLqxpxul51kcxE8Xk+Yjh61+zIr0Gprrumqc6SNwQQWXV+FWkZqoCvWRhZb6z/E7dSHbm3I
sw22hDuazm5kydo22kbuCK+NXbsBGtcSbcf1HrrEIRnjleF2cP+jkjL0uieSYKX9b0UBWUUMm1vr
JlDBwoCSXK06SnPawi0qHUvlnrn411OWJws45f3+tmhjznaEW1QyRZc0UB+lq5xR9Fu0iTFTa9Oz
SHc0qm70Iv0VqA7NM0f6qiue+d1tM8sTeG+7ChAza/XkwaiWzSyTIQ/+tr3GBYYxttRTsz7KTS3z
SVCx4+iagTVHOaMMLyqN+RBhx/PQ2Zzg0LBGtmLI0tTwiL3GT+AjdgkOZbh/cqOgzdPKkNF7rayn
c59hUOgfcPDLaQxTuU9QnYd2wSEG1sF92lA6DXeQ9nP8LWv6iqNpXs/mvhiC3dOn++R+Ag+6q8wn
y312I+L5YgeUDEXck2aZzX2G4b0f0YZUq6llPgI1mOKtf477HWU+Rgc2pzu1c+6M++SAIegwfd4X
Q2A79RBuzX0BD2bkmv/kRrR+fFoZinistH+MV8Ao7k8t8xGo0YQKFZAN9zvKfGgjRCMTfama+GG4
bwIPnY8ZcfFx3BdDdreA5T65L+CdDp3Hxde5L26ExLGnlSG/GyFnc59hoB7SK1irqWU+CWrEdrEx
BtbOfavInFd30FTk+Fu25ICIav5+nwwZpUzpkPx+uZ/AB92V6p/jfnIjp/BpZYhi5KGmIkO8wqho
3YA0Va2mlvkIVO1tqXwsx/2OMh9jgczRjv8jzPtO8dA5P33eF0MB1I0Eho9xX8CDskPn/eRGUS/n
fTHE67Dbcp9hmDikmZjWU/NcBKr1viQVleG+7kgeMc6ROR3j7ct7B7xl4KFDlSntH8h9NgTa912O
3Jr7At5hl8BwjvviRsZAfFoZ4qSdG3OfYDivK+7rK7g/VVxcoPryzUiO+x3i4sZrGploP8RZn+cG
9rRwms59MWSL8gv3y/0EHnvTw65zP7kRWvu0MuR16WL9PbjPMIIOpY6v9dyfmnCVoMZQkXC14X5H
FhOtyMicgzuQ9Tj+loPmoYP5Z31siFb8ezvZ++R+Am/HnvWJG7F88tPKkC5erL8H9wVGVEMyGPVU
cXGBGr3qSCnUHeLi9MLInN7t+vIY3I88dAamn/WJoVC8Nrpj7gv46Ifm9iQ3Cmq55hdDUe1dIU3n
Pn0JXU1H7gruz83rI6hWcYOBdu735PWBoZGBUEqXfxjug5ehm3+/L4YM7rXLuE/uC3h7biMzhvvi
RvGiiWgy5Nxey7XZ3GcY2tR06ang/ty8PoZqbPHSLcf9nrw+QBqZqDq3rvfF/Who6IzONRIcx30x
ZC3eqInoMe4n8DA0n//kRrSpfloZcrg3rczmPsOwekjzcHrkVO4L1HJdT477PXl9MYi5ksDp43Af
nmkTrkvTcUkNbIQSwRpMUea3CGaAMsYKDLn/fuXxdTADVHUWYChOOD6UnR6i2RC9gofcmgl4p9XQ
1OvEdtSwfh3emluHaIJBGzMz5FhmbvolQw3+3CagJUT3pF+iJXMGO1sW31eIRvdsYygKx5R0BXso
tZK6+AK/LGuvBRF6H/ZDY4XfdaT+1avUMVSnTIfIDwNrVqkjj3sGH0JJBCSrK7h+R84ZbKqff62V
h6/B/KxWqIItZo7Uv6+OdK2W90VQQYVSvVTufWHP+4o00tq0yOhdjIZRyxc0qDlkXvRN8BpOux3w
Jk37BTxuoWIRavQdiXcE7PzYpjfpXGjqOHJdXksb07x020jcLj66NjC0vVv07/32x7//+vbbn29y
iN9+/8/LbwSGw8Mn9pcf6KNPv3/931+ffv3XH5/+to3vP/xtbSCGy2WQaCu+Pfr8sJcvX75//fPP
mod6dd4oXD406Tb+8fJd6vhlIuTnV2L1tOY/OTQN8usz//n55R8sNff9xx8/f/9K/vt/ojz346fT
X2Lll5dvv339snochlIFQbUX2LwXLNn+dwqrm3cf8+/e0KaitHDMiTYyoPODk2gj/VUWbXxd024+
WkHStLkYccZn2s/3ca1Uvfjo2uhZZSve7iakuLfHtoQUY7ULLVXNOWcqSIPWSngvPpov2sg/3lt/
ri7tkW19fZZV8BwQbS6pgAJu7BEUNGWtEoNs1tFq4opYiQH6j7Smxku1kleoHWol/FVOaAj9FQzv
16ngpzXsGLruM3NtCkTXHfRS25oN8S1Hk8rVeJl2gcHqdxXS39c1BXshVGgKrgTcE1bwTaLX2dg8
9QxWoBpXVL+vh9pxFlEvcpWgotFXw1H82QX42hGNdpSTOBpFYwJeU93jaBSJLUFtohEhpXVtVzSK
1piKg93NXNlxJn4yh6WuEnNE/trV+Lfxj/N2Q9e9zqu9bQB0z56CXTTrMXIxtPRnG9l64BKJ094X
tpEFob8BDRBKUn/rpggJLWBoF+U00K4SJ+a8jiN6MNAGeHrQ9REqitoroHYc7DQG3RADdqzdO2pw
kzn0pavmnDns8ZnI8bs3/N1VHxur6bcYonRG/rtnte5owTVjtc5QNSJg+/wov5JQPWJL0RP40Dtn
XV2zJx8O3i60BZMhE/cyNmav2QUGhoo+nftxzk6tORSottyqNhN4bEfNoTWK111hL0H8IQIP97K3
NEfUHBMcueROhqIqpbTeL/cTeKe7ag9y3Bc3oknTPa0MYSglAL0H9xmGC2Mur+zUmkOB6mkX1H7J
bTtqDul9sTlbSnd+GO5bS78FrJrOfTFEw/aQ834CH2HovJ/ciBZeT5eGglK3nvcFRoAhWgN2as2h
QAUaxfb8Y9tRc2gt7W/IWOyTyrov7jvFQxd1Rld0HPfFkFfmIef9BN4OPac/uRHAkvtiKIS9ndFs
7jMMWpMMuZe0U2sOBSqqUJEquuF+R82hddx5k6zdvu5owFsGHjoNmdqDgdxnQ9qVzp/umPsC/iyM
OIb7yY0uag6TIZZdvzH3GQZCRTfgCu5PrTlkqET9YveFHPc7ag6t12yuKGP6MNznXvaawmamhck4
7ouhcleb++W+gDcaurQFc9wXNyJ++aeVIWtL9x7vwX2BgVjRgq2C+1NrDgWqCVhRGr3hfkfNofWR
zFlVykd6GO5zgoiBs6LEPO6LIb5Ef0TuJ/DhUn31MPfFjZxfrvnFEMZbz/sMw4aa9MgK7s/Nd2Go
7q0ctIX7PfkVwbM5XzpeeBzukwM6cJjRGhjIfTYUi8dHd8x9Bo+ra9ij3E9uhMsEYDHk95WXp3Of
YYRYUflRwf2pxWwCNdhYauiV435HMZsFxWWxsaJd77VK1Dk1Kgt0ht4bYueB+n1FJvD8Ys+l9/Mi
kxjyunMpd+PIlMB71dWFPBeZ2I24F/lyRyKGQJVKiN4jMjEMcAFHlNnauQlhDDVqdB2rkp4sK0Ay
90FuISI5YKQV3fTTCDHkfUlI8365n8Cfy0IGcV/cCEA/rQyB3hul2dxnGGjBjehwZKd2OrDR0jJB
QUearO3odGBFH0PFO1A+PP6WkVdYXuualMdD3BdDwT5m9kECH6BLXiPHfXIjWqEu7yDEDBzsazjG
J7iieERutZubc8hQjbe6Pbfa9eQcoiNz2uzVMTwG8+Fi6CYynw0Ffyu944PMF/ARhp5DkhsZ2gEt
J32xs6+qN536BMO6GhGKCurPTTlkqE5H15525DpSDp3SbK4oAv8o1HeKwpjzMP36MRmi7eMjXkEk
8GBgZOoBu5GjSd89rexEd+OMQ4HhvRpSUeWmZhwKVIpRJa2hHPU7Mg6dimxO2w+w3neawlgIOs5e
7ydD4EqX2fdL/QQeht5AsBsFbvrytLIT8cYXEAID3o41j1F/asKhQI3GlyRic9TvSDh02ou5kgLd
41A/8u5SqT5ZzyFCLmswIfTe7AwQqroEE8O518jEoMiGIJbkeu84KDL4qPsk4HNBkQjG9Y1m/TbQ
luoI3yUoEgz0MKQY3k3NxGSomneP7XcfriMT0xlDI4PqDiRGj79l40QGsZRdUpIY7WFUWfkmIaKl
xxC/68gCrJesFKjGIrZLVjrfLlnpDDc6CFgS2slKjK6VOzytIV4vJSqVO15VOvALOKtWuKytEWGv
eGMduVstb8w/+wCmdMKce2Oh543Bc7Bg1QBpSreUOP/vy1+ff80Mh91Kc9iMNIfg8zao9pJ1gnN+
bNNwBF0sWa8ejti8ANqIrC8+ujIwoLV/vVHr0cCbKNHH8CLQjNeiDpYbyIKO/7UMIXtExVaAo7EV
cg5bFUxCen5wUsGkv8oqmK+rrs1Hl5DQ0S50xObPt9/24NYrseCVnH3m2u95Cdj5sS10xcBKVse9
zOtmum4aNCw+mq+C6QyvKb1qUbW7/MXmcnZd/+qFC4RtxA7ZiB1ldVRRG7lxAfP22HoXYCnngBW1
zfsuUFDVrW0YsvhoPTAOn4NTxlxNLY4etfvSIe1ny9JFzpJV672/Ju3nNP1HEzzYC+miE1IKZ83S
RemruqgKOUdrr1Wh/lJpL+E2WnV2T0vWNv05RHLfe4trN7Cu1KBgR2nviBj/CgcW5ZMKOnuHGwKU
VPbWTQIEqw+mlJpSPwPO3ekz1ECb7xGXNL5jc1gve5egBqzooLeJ1D2HEmwObE+7C+/bZe/YHHDr
uMyR4UVborHxFgz4CJl4CzpGB5t4S1A1f9wRb8FaV1oETBN2bu3e8tMKNsXbod2QpLEOb/PXXuB9
6QDkHbohCQyeXrqFnXshVAg7rzroCFZvTByRYeKnFrolqAGbdplZqFOFnQVqoEHtCLYdNXliDpQr
5cHlzHXo0jqvyL9j8dc9Sk8r53nRZjDXEWBYP7tkyJlbXcAf6md3Au/7LuAzETy5EWpc3sCLIQ/H
buDHeAWtQCuutStCzdRCmwQVnW8vAfQdhTbORzLnbWluexjuB81DZ5WZzX02BMqXajful/sJfIxx
KPfFjcIF98UQLZtu28sywWCJ5xHcn1poI1AjRct2mU/fUWjjghdzpZq+x+E+OWDkYsrp3CdDqM4L
jAfjPoPX1nQelF3nvrhR0O6C+2zI+GMSv2O8ghV/Rlwdh6mlNgw1qmCgPfMudJTaODBkzmj4CNwH
rveI2rvZ3BdDWLxevF/uJ/Bghs77yY1o4n+6NET7omO1NmO8wtDmY8TxQphaayNQbbQdcl+hp9YG
aDgt7TD60iTvi/tR89B5kymzG8d9MYRQcqf75T6Dd2+q24O4L26EeplcKoa0LbURfg/uCwyAIfc4
YW6xDUP19OPaU8ZCT7FN9GSOE28/AvfpS95hrq3HQO6zoWBKeXZ3zH0B7+3Qsz5xI20dPK0MATR1
oZvkFZxcNGTNP7fahqECbcfaz/pCT7UNDakJYPcqIR+C++hl6DBTaDeO+2LIhFtJ/B7jfgKPfRK/
Oe4nN4KLIlsx5Gi9fVvuM4yoYlNKYZb7c1NNBGpUFUrkG+735G8gkjmgPcbjc98rckDU0c8+50+G
rDqQD3c77p/AOzsySyO5UTTWPq0MubBXrzSZ+wzDKm0qqtYruD9V3jtBjaYiJ3zD/Q55b68CmXNn
pYXH5j7K0OF87rMhBP2I876A10r5kef8Jzcinj+tDOniYvtduM8wUFUspCu4PzXrSaAaxJ5z/o5U
ItqjkTmWWfkA3NfkgIZ7oc3mvhiid3QjIc1j3GfwVlndJaKb4764kdcmPq0M6d2Gh7O5LzCiGpLb
E6bKewtU501JrynH/Q55b28Um9MlCa+H4b4hB3So/ez7fTHklS1pMt8v9xN46BPRzXE/uZG35mll
SONep7jZ3BcY0ZVg1HN/al6fQA0+uPZa6NCR1+cNkDntP8L9vrdKhm56Xl8yFKJ7xHP+BB507NLT
y3Jf3AhhueYXQzRIt83pFRjgYknDv577U/P6BGrUxSZIOe535PV568icUaUi3sfhPjlgDGr+ml8M
we5O9k65L+DD2DV/ciOn3dPKUIz2kHj+GK9Ab0un2dXch6l5fQzVKWM72nhCR16fd5rNuY9wv++d
o98SvJ99x5cMQezsgXZj7gv4yFJjA7mf3IhW1k8rQ+j3Kp5mc59haIpLI5rmwNS8PoHKSdDteX3Q
kdfnHTfOsKrE/ZLo4wgRlTUYqKhjugpmhADTAgzLYYZYkRNyfWQGaItcgHGG/vURtmae4oTlkZ0d
osWQgdIp3/2GaAFv1dCSq+RG9NRFClYyRC/ktmkYAoOiXoWKUEWInpp+maByZ7P2EN2Rfum9e44B
iqvBrMbiVrWFIlOLasurQsvL58/+YkfPqMBik3Be9n11pMzVKywyVARW6Gh/X7ZdYdF7T+5h7Yc4
RuPfQv8qLQ9KWqw9IbAsVpEQYfEGqd7vOtK1WvzOP3vibSkVKOd3rsfv4rN1objWLsrDwUVgGNSa
NS+8KHiD1qVzgfo32X4Bj1uoWIQKoUNcg4CdH9v0JqPmC7z6kclI3AE0L0M3quyLj64NTAxm0YXt
2x///uvbb3++SZJ++/0/L78RGJ6WPrG//EAfffr96//++vTrv/749LdtvPjhb2sD3l5WoYi+6duj
zw97+fLl+9c//6x7KARz7aFJO/WPl++ivySBlZ9fixX06xKGBvn1mf/8/PIPlnv8/uOPn79/Jf/9
P1F//PHT6S+x8svLt9++frl8HHK/jgFeUNgZLdn+d1pkbN59zL97Z6Ix+6dUW+FUAnR+cBJOpb/K
wqmva9rNRytItFDyQ/b57ef7uG6usPjo2ug5rzqa4xKw82NbQorzECpUbnedKarmkLLpOrH4aL5w
Kv/4aDW+HnctpJOhVjr5/KwAz+h98DVducepzHnPZhUtt6+ozPF5MTriRLxQmTtB9fxxo8pc+moI
ezocU1TmWgX8f1rBhrPq2ph+GIa77rpla0BPX1DOBndVajD+7AJ8neEDPL9gCFddgH4CbUnNygMk
HkK7zKD8wqDCMRm9w70gEgzwpcyasoxeL4QKGb1VlwjBCk4fyADsVMJtb6Swpo0gP29Ummkj9ra8
kbJRq8J6jILeq4guaOEe6xpxiSQa5wpvq6CGO6B3RUkPd93PIqGNsdSAp3phE+deYDBURBhSSxk7
DvLqJRoZKs0VMCQFPE4t+xSomlxuxHFb7Dj2aBxVvsFqv72OPTdYYo625u0db6JpF75M5iBUyANt
zHXU3yZzsaY7xcac6/l1SPGZJV9ufnZ5fO0A/Fv48HLcSt1pbf2ElTqIVqzpWKjLj4RgH7Gn5wk8
QpfESGa5zi4Mxsfl7Cl2UO81ip69mGUY0WOFHnpFDJ9bbchQ0dqOo+vYU20YuYVoxNLF/8OEneh4
6M5Nm9dhx7gYIY643hZDrtgj4X6pn8Cfu7iOoT65EXepXFJf7NAO+FDRwRCn0MqYikz+CurPLTZk
qNpa17HA6Sk2jLwGRxtvX2h8/C2j5qFzKiMuNI76YsgFc6Oig2PUT+Cxr9A4S31xI8ClyIAYCvqY
uNAYrzAGSsrP9dyfW2woUBEqLtc33O8pNkTP5mKnG98Z98kBrY02U3A0kPtsyKs9mdw75b6At2NX
/OxGtOBSy2JDMcST2Y25TzAcYxvB/bnFhgIVa/pYbbjfUWwYFA0mzWClbvOPwv2grPT1MBkx4WHc
T4b8rkT2XXL/BD7CyMu5kxuFpZB4MgSq1M/oHbgvMIINQ4oN49RiQ4EKuniKlON+R7FhUEAjE4o9
nh+G+1pxa4ygMwVH47gvhnQ0j7jdT+CN9l2ColnuixthXGSzJ0PWNzXbnOQVUZkhAiM4tdgwQQVT
SvXIcB87ig2DdmxOwQdY8wcN3BpD+dlHfcmQMaWp5I65L+A9dlWy5Lif3Mj5+LQyZKM6JCw2xCui
0n5IoTFOvatPUCP49rtT7LiqDUaTOXB7m7KH4L5xz1Frr6ZzXwwZ6FRmuDH3BfxbeekY7ic3IvY/
rQw5W/Lk9+A+wzB8DjmC+1Or2BLUqEqpdTnud1SxBRPJHM0DH2HNb/WzUiwz0FcaPKXQ5gIdZztb
NTsyiSGr7Y3qa49FpgTeQZf0UTYysZPT4Ov163BhT0l3dmRiGO4tB/5YZJqa65agRuwojcCOFKtg
PZlztlPF584iU+Shc3r6qkQMYXjMVUkCj37ojiS5EfjwdGnI8xXXjbnPMAa1NsKpLQ4EanBd3O9o
cRCcIXNqd8v4ENx3nocuquknkWIoqE4xkhtzP4G3fW3Mc9wXN9I6Lm8hxFC5l+B7cJ9hgAt6RI47
Tk06FKhR+wpJiQ33O5IOKcqwOdOZOntf3PfkgNEbN537Yoh7dz8i9xN4wKFr/uRGwSyyD5IhwL0m
MLO5zzBoKq3Y4ldwf2rWIUNF5YsZbTnud2QdBh/IHA3qRziJ9MhDB7lWxgO5z4YClmQp7pj7DB6s
6mprluO+uJFRYXkDKYbiwTbmY7xCQ7G+sZ77U7MOBarxWnXM+x1Zh7T4I3Om99jqvrgfyAFN0C7T
yngc98UQ2L1c2vvkfgIfsEvuNMf95EbeLM/6xFDEYzLnY7zCelvqP1nP/alZhwLVGfp17dzvyToE
RSMTfbh9e5PjbxksD12Yn3Uoht5Smx+L+wLe6TAy4/jkRniRdSiGvL31OT/D8DoOKTLEuVmHAhVr
ujBtuN+TdQhcmOuKCc6Pw30WJ7amtIYp3UCOkHBag4kl4ZPidegAibo3MFGJU6npUZENBWVu1ezx
WFRM4L0bGxVFb8pCWL2OoHc1mGdHRYERNQ6IikbNzcdkqBCxPS/DqJ58zOieo6JtcWFksurCGxUc
iq6vSSuVKjgLfWGHcY0LfSlfpP6NdWTR1eu8MlTkqrnmeYyBNeu8ijnOcf4IZ1eRS7esL/WBLukL
9wTBtb5w+Nlc+B0jquq1WuF3HRlcLX7nuVt3zdXOxu9Mj9/Bc+QmoS03SdclJI1aNkf478tfn3/N
DIfd6g7ZjO6Q4PNK62aZb4ZzfmzTcHhuKz1gOFzzCmjTuGLx0bWB4Rh/CqU98pcT1TlDZI0/RyFt
wED6/EBey6uz+3l1eQFrAY5WV/QB2AjgMtLzg5MALv1VFsB9XXZtPrqEpPlAesis2aGpvfVKzHol
K1tZ337jw8DOj62nK5tzpnQdX+1l7RuWTdObxUfzBXD5x1taTFXU912VhufioItV3fpXL1wgbCN2
yEZsgmW0bu9zxoDOj21xAUsr3SYhhpwLYLsLbPcALrcHQBaHBghXRYajR+2+dOjLhrJyGY8P9wdx
cEW5jP7rM/03el0XymUnpAGxWbosfZXjZ/cGulMvtbUpyqVa6gl37G2cmKxtRAy8ew4s4KtXbuDp
o5buaeP6v6xwsJTe/ir9ilbq4R40JaXUdV8awRos6gH3nkbP3ekzVFBYcfdRAbVji1uv6ZmgQqgQ
dV1Hat1zKCHmelQveRyaVS9Bq2daNPmqZtHj9LxBqWea+2y8Fm6jegYN/iLYMk7aK1jdHGvTL9QU
p+fH2sNNgH5awTamr0gj1wQt9WeCZdJGMsRK6UeOKQ+3WxIY1sbSCqUsd94LoULufNWISbA6NUTa
xuippW4JKigzoCKXz/snBlqB6m1Rdz8X+Tqq8pI550rN/3LmbE+g1fQitLoDnc8BXAX6Ld74mknj
yEVTMhRc6Yz0bttYnsADdhUAZyI4u5GjbcpFNGI7gHvC1dMDOAif/ID6X6OnVtoI1KC92l8ob6jf
UWkDGsWcu322/fG3bMwz9xiH6dQXQ8SeR2wynsCDNl2VNlnq43PQaJdrN7ETbWl2fw/qMwxwZ3mz
Y9SfWmgjUKOOpv2KWXcU2oAJbA7j7RNuB7xl1nAPSmeK6wdSnw2BgcekvoA/tw8bQ31yI3LZiE8r
O/Q/hxR/xjgFett0g5Wl/tQ6G4aqVbntUY76HXU2YK2YK7WteRjqW//sVXCQqa0fR30xBKHUr/p+
qS/gozJd6t456ic3ito+rQyh2VMgmM19hqF9KIWgeu5PrbMRqIZFStq531FnAxbJnPTYeXzuO8ND
F31G2X8c98VQLEoL3S/3E3inupp6ZLnPbmTNsr42GcKwV5Ewm/sMwwZVsY6u4P7UOhuB6gyWZDdz
3O+oswEXyJy9B3XvAW+ZHNCBy6l8DuQ+G4phT7v2TrnP4FH11dfmuJ/cKPjlSR8b8opLQG7LfYbB
rWlHcH9qnY1ADTaq/eT3Dfc76mzAWzYHpXLeh+G+JwcMALlmXuO4L4Yi3kpL7xj3BTwaGMp9cSOn
lh19xBAotyfVNpv7AiPEioT/fe6bqTkmAjXaGumvNfdNR+IGBEXmnHYfYc0fyAFj1HA1CW8k98UQ
2lJx0v1yP4EHM/SCL7mRt/7p0hCqXQHZ2dwXGOArNtEV3J+q7s1Qg3JeN3fzYmAd3Acxt9dq8SG4
D4p+Szx3KJnHfTHU3QLtxtxn8FrpPnXvLPfFjfDidl8MceOw23JfYKCyI6pIzdyUJ4ZqENs7+TGw
du6DI3NedcrC3Rn3gYcO4vQ1PxuyWu2pxdwp9wW8tUNv95MbObe83hdDJuhDyv5jvMKiKvWsquf+
VP1sgeqCsR1r/g79bIiazHn3IZL6IjmgQxenn/OzIa/CXr7afXJfwGtlh97xJTeizePTyhDNSDtH
SbO5LzBiKOVi1HN/blYfQ+W+Pu2VE6Ynqy9GMqfjnsD5Q3AfyQGDxzA9tUcMgX7M1J4E3quh8764
kTHLTn7JUNw9Rp7NfYYBXpdmt3ruz03rY6jcfahjzd+T1oeeRibaDzHvY+Shc/P3+2LIhpJIxR1z
X8CjH1mOdXIjcO5pZcjrUheId+E+wUDwI7p5GTM3r4+gguLZq537HXl9URky57CzdvuuuB+Vfwaa
e3B2Nn8y5HSp3vduuX8C72xn1ftV7ic38gbxaWXIB3vbvD6BYa2tUBOq4P7UvD6B6pQz7cXZpiOv
LypguUdVkoIuyD0OETtagGHtSTBxP+5dBzNAx2MNBkuuWwQzQFdmAQbJgdF+hBSsqClOOGtg9tYs
GXIuPuJV7Al81F2intkQLW5Ei6CnlaH9BlCzQzTD8E6XYNSH6KnplwKVtvy+vc7adKRfRh3InA3x
9jLnA95y4HamplQ9VpKI7KFUWfkgIaLXOSQFoCP1r14iUqA6pyqyFDd+h+0SkVHDswdrSuoFWTHZ
jUyQRvd6T1IlE3SWBPoavoJaoYpal5Saq9+X7UjXanlfDDWGjqJsq3reF+vsGK0aPPlyNPTyBQ3q
ZJxXXBS8kaajERty234Bj1uoWIKKzIX2N2neHtvyJr3ytkJLf1fbztrmZehGj33x0ZWB8bQHXrSt
+PbHv//69tufb1qk337/z8tvBIbDwyf2lx/oo0+/f/3fX59+/dcfn/62je8//G1twITLrBQRNn17
9PlhL1++fP/65591D3WXhwSvD02iqX+8fBfxJZkI+fnVWM9Z5DTIr8/85+eXf7DO4/cff/z8/Sv5
7/+J7OOPn05/iZVfXr799vXL5eOMUqUOXdVeUNimLdn+dx+37z4W3n0o1+1kFVMJ0PnBSTGV/ior
pr6uaTcfrSABWDdkcmg/38d1W4XFR9dGD53B9n0+ATs/timkoNelpKtqZwrNIWXTb2Lx0XzF1Mhy
JZoWMlvNZF2rmXx+lonP2ntUmUTii5YUDfJypiwvx+9Pe5bYvaIvx+fF2llvL+U8T1CjDc0Sc+mr
Ie71vZsiMdeqA//TCjbxv6tmMdcJI0n0g110wmBDRnu8fsUUf3YBvnZoDFY4gdHaKMw4gVHWK7tx
AnMSJuxwAhMU7qn8TG73kWBAsQdjWUevF0KNjt5lwwHBCja6nbz28TK47d07ttQx4EzoUvl4tXeN
O8CyoXY9Rh73eu0UhHCPtSq5RBKNUX1SuAMapuyI4V40UUloaTs5InnBzr3EYKiIWBrYeqgdh3n1
Go0M1dIae0gqqJ1a+ilQta0pAdmH6jqOPhpH1RAh2tUpbM8tlpgLxfZdOXOxXfnyZA5LaiU5cx01
uMkc1Gy01uac6vl1SPHZOHf7u6bjawfr6bcEgNktdZMhwFtJfRxqIJfAR6u6UoEyy+aTG8WwSAFO
htCXitffY0XJMCLvvkcE0qllfwIVraq4nthwv6PsL1rgNUZxZB6G+07R0Bl0mdKfcdwXQ07fStP3
GPcTeNen6ZvjvrgRWruQ+UmGfDgm9THEK7hBYoVIdgX3p5b9CVRN7G8v/XEdZX/ROe4rZPf0Fx+D
+/As9WyzG8cmQ86XLknvmPsCHs3IxrEnNwK44D4bCvpYuf8YrzA084+463dTy/4SVIwVKqQb7neU
/UWvxVwp6/BhuO/JAbnvxnTui6HuOukbcz+Bt9hV9pfjPrsRza7LvlfJUDgo7zfGK5zBipz6Cu5P
LfsTqPTbSglfOe53lP1ROGRzppQC/DDcD+SA3lkLs7kvhuh/bpRbeoz7CXyMYSj3xY0CLI+sxRCo
eCi3dIxXBOuH5Iy5qWV/AhWUq0j92XC/o+wvBk/mtO504zvjPjkgONA1N/PHuM+GfG8LhFtzn8Gz
GuRI7ic38stOHskQhGMlv2O8IlqsqCmp4P7Usj+Bilp19Dx3PWV/YNicLqkKPQz3gRwQvXaZsj9O
dtBDuC+GaC7p7714Q+4n8GHsmj+5kV9KeidDgHtq8bO5TzCc8lDR072C+3NvzBmqDj0NvFzPhSng
M9falIqhH4b70dBv8R4z8/447ouhEEvdiO+X+wIetOvN77nOfXEjvDjrE0PRxkMlv2O8gpZ8paL2
eu7PrSdjqFbHjuwF11NPFgOZM0rfXuZnwFsmB+SmDZn9/kDusyEwpczyO+a+gD83RB7D/eRGTl9w
nw1FgFtzn2A4b4ekn7m5OV0M1Rtb0Whww/2eVCLUz0rRa9sPNVeL2qeUiC3QWR4MdwdtRY/7IBI9
fHA5wfFxkUkMQcCHXJUI+KjM0FVJcqN4cRohhtAc6ys6xiuCD0MEyPzUZgMCFZwqCdxkIpPvaDaA
SnH1auzUzb8r7qMiByRGmozw6DDuJ0O0IXnEW4gT+FULxoPcT25kzfIWIhlCKC0H3oH7AiOGovZB
PfenZh0KVLSuoifKhvsdWYeogEYG7R00Fzz+lrXiobM+Iz44jvtiiGb+R5z3T+Cxr6dwlvviRqAX
834yFHSpvOM9uE8wvLKx1Pu9nvtTsw4FqqaZv/0k0ndkHaJ23Pn1nKH/2NwHGjoLOcHxgdxnQ764
Nrtj7gt4a0dmH4gbcfcSfFoZCn6vDdt07gP3PK1ZSFdwf2rWoUAlpD3c78g6RKPZnCldejwM9w05
oHXGZSqNxnFfDHG3ykfkfgKPQyuNTm7kUT+tDIG+caWRwHC2uEir5/7UrEOB6lWoOBrccL8j6xBN
FHOdlfL3xX1LDugdmIyi5TjuiyF/s8aix7gv4ENnY9Es99mNtHILFaBk6K2rwa24zzACrfmHcH9q
1qFABa0rjiY23O/IOkTruRGvLikZPA73RSbYd9+oDBBTWoGJGvYrxq6DGSAWdwGGneqyuciUqMiG
jN1rLHSnUVHAB9/VgiUXFRPB3MWKSAzZ6G+bjykwojKlbhD1UXFqPqZARZpbOqJiRz4mOsPdnX2n
G99XVHSO1e1sqSNaSee3h1IrZaZfuMDh6QJRoNg4pNWv78gFrNeNTVAhxna1UQ/turHo/LPxrDFQ
9a52NJC80q/XkpUaSK96R+7nL18vlnGMK3hvR2Rx+I4MrpY35p9tQCztNnNvLPa8MRptPlBqiaEZ
MUe/7Jnw35e/Pv+aGQ67Vf+xGfUfweejey31P6K3KM+if5VKh3NDi28Qm4YWggot5QKZoQ2qeTW1
6Y2x+Gi+Tib/eEd7gZKITfWP1/kffy1PyO7nCeWlpBm4Nw5LlwhZKVpCen5wkqKlv8pStK/Lrs1H
K0gswDRivgkd6tZbT8KMiLNA9Tb49lPfYN4e20Ix7zlNcICXtW9YNk1WFh+9D8U4QallGXL5i93l
7Lr+1QsXCNuIHQoRG8h/K5qhb1zAvT22xQVARTtC2jr4dhfY7gFcbg8A6lk5B9cLiiNtD9yXDqFX
KAu9YlDPTtES8IrOK7KODtDQXci8Mk7nQsBmldf0C0Ox2nyOZGlrj4hLwdITbt9XxPxqbZM7KE0v
jF+K/SZLgLGlmmlcO4xLHP6ta1tpoX5FrvRwS46iWOmqTYdgpU1MqVamfvqbu80XqN6ZEZUioWNn
WC+rmaBGgEy5w0XrrIZwZPfDUaCVzDXZaQ5HNJtrvwlH3O63MxyB9nvtqKYoj7e2F1pxE8yqEKU+
Gl1PZJbOT05tiAXOlHbr79CuS2BEbhpaGYuGQagR5b5s8ZSwRuioqw4953hiDmuSJyviydTKM4GK
tLxpz/EO0K4sm8x5XSoNrB+ZjrqctkhL/yw2Lc6NTEdNXjIHNbnBG3PY8yI0uai3nUH2rlrKIQDT
zeuMzOewdpJiCBWU5Bjvtp1kAq8VjOz4y24UPSwrAJMdc77kv9n0xDBooTSizgam1tkwVK3KajIZ
6kNPnQ0gmdNRfYBukhgND120mZy7cdQXQ1DsvHi/1E/gbZ/Cb5b67EaGFrxPK0Ox2Lb+PbjPMGgD
Uaomqef+3DobhmpoFNvXX9BTZxMDjUw0d5BzN+Atowydz9TXDuQ+G7Ju7/TnTrkv4KPuqrPJcT+5
UfAX3GdDfldUYjr3CYbVNfJ5FdyfW2cjUKPrqPyHnjobtGTOhTtQ9z7+lum3BE5Vzqh9jeO+GNKu
lIJwv9xP4KFP9SPHfXEjryBcuhZwEu6N532GQTv2UqCu5/7cOhuBisp1zPs9dTYIZI4izuOv+fmS
8hlAYczU147i/smQ2T1ovUfuv4L3rqu2Pst9diOwi9r6kyELe0vKudxPMKIypRYs9dyfWWdzggqm
Ikd7w/32Ohsy59icK/UqexzukwOiPp+sT+Q+GzLhVsr+B7kv4M9K9yO4/+pG0dinlSGnb7vfFxhR
qTAk0wpm1tmcoEIoqRDluN9eZwNKazYXw0fgvnbPkXedmdr6cdwXQ3ZXs/4+uZ/AO9NVY5fjvrhR
NIva+pMhF/aKFWZzn2EYrYboasDMNJMT1Kg7moZC+y00mYtszt5Bbf3xt2zIAVl8cPqaXwxZX+q2
eL/cT+BRD9zvv7pRwOWaXwx5vdcsajb3GYZj0YoR3J+p7n2CyqPYzv12dW8y59kc3EEXzwFvmRzQ
m/MGcyL32RDL4z8k9xm8s2rgfv/kRrTfuuA+G/L+WFePMV4RdPFl1XN/Zo7VCSpaaNfVgPZMIlDW
kDmv4+31tI6/Zet56ExOR3Mc99kQd116yLO+BB7iUO4nN4Kon1aG9O4x8mzuCwya+UfUhcJMde8E
leNyx7zfru5N5pDMab/XYvkhuO8MD11w07kvhsL5YOGxuC/g4ZxAMoj74kaIy7M+MRTdXtrYbO4z
DHSx1G65mvtxZl6fQEXaPvn2+/3YntdH5gKNDGfkfwTuIw2dUaGmzOUY99mQLaZd3zH3BXwwQ8/5
kxs5Z55Whmj7ekhLb4xXaO0qypQruD8zr+8ElXaT++nHG+635/WB8pbMOdfpxvfFfR9k6GD6vC+G
EDobDtyY+wzeKN3XNyPH/eRG8WLNL4b0rjT7bO4LDICSnlA992fm9SWo1sVSbU2O++15faCCInMK
9ePn9NJvIQe08o3J3BdDYbcbzH1yP4H3Yei8L27EZbdPK0MA4aY5vQmG42r1EdyfmdeXoHptK9r7
bLjfntdH5oBGBuyepN9jcJ+lK50uldiUpCtHyICswUDpIKUIZoAszQqMd72iniNkqN7AgBIPzzVb
HReixZAJpVO++w3RCTz6ocuzxHZwuH4dxJqbqgEkGEF5P+IqNs5NvxSoUDwjzYXonvRL8M8ajC3d
/D5MiKbfYnSsFYocQqmiskNCZLwtKWVmpSs3SMD5i/aWtcKVPvyCG1S0lhqSmBA7EhKrhStPUEPx
trAeakf+VCNUR3veDuL6Zo3Nk7moOlI2YugxFymQh2LX7KIuXISl6w7qzJpVXEx4Q4Ahokmx/QIe
t1CxBBVkd938JuPbY5veZAxQod67q20XsXnpttFjX3x0bWDQLAXav/3x77++/fbnm0jrt9//8/Ib
geHA+Yn95Qf66NPvX//316df//XHp79t4/sPf1sbsOGy24sovr49+vywly9fvn/988+6h651304P
TWqyf7x8F3EpmQj5+dVY4+vpMg3y6zP/+fnlH6zz+P3HHz9//0r++38i+/jjp9NfYuWXl2+/ff2y
eBzSop0MDvACLCzgl2z/Oy03N+8+5t494bNWlVLDs4qpBOj84KSYSn+VFVNf17Sbj1aQnNYVh+b7
IQXbz/dx3VZh8dG10fPKdOg9E7DzY+tDCpkLJlSsWfedyTSHlE2/icVH0xVT5cdbF/H1MnAhJg2N
YtKgIiv6m7MAVbElRYN+ninq50ls8RG8NlsBPVCe+zIgXgp6nqHq0Cqhd/qqLR6lTJPQa1Xu/2kN
O/ih/YBTUwXUy1yGyBq8tJS8Wj4ef3YBvnaIKFY4QQB0MWScIICmZcrGCQiptqrLCQKGNtHS4Y0g
BAb9dCjNM2WdwF4IFTqBly0iElbtivLnc5Rw27sobKlDyH3sUvd6tbflDu+uA+2B1mPkz3rIVW41
smXEJRJjVGm5UFDDHdC4oqSHu2pmcUIbTYXAdsXiZu4lBkO13jR1AchC7TjMq1ZpTFCdYRn6AVDn
ln4KVFSlpnT1UDtOWhpHNWij2zPWsecWK5lD3bGYds3alydzJvSs3XtqcMUcfbf9HAlDz69Dis8G
SsoiD9JEChRqbkoAVav1Q3dNYkhjKbvkXhvIncAbawe21Ty5kbV2uTwSQ3a38fDsFSXDoFff1Dsi
G0jnlv0JVChKyOS431P2x6pCIiz2Ebgfnk30ys/nPhsK5lbl/ge5L+DP0X4M98WN6JnwtDJEu9eb
ttRNMJB2HyPK/XFu2R9BtcrRXNzO/Y6yP+IDmdNQSo5+FO5rZZ+tthoyJb/DuJ8M+ehvVPpziPsJ
fDj3bB7C/eRGRi/T/5MhKDYJeAfuCwzj1RB5P5xa9idQLblwu9QHdpT9aQXPHDXgA8z7WpMDWogx
I+05jvtiiBXxH5H7Cbxzeij3yY2I/GGx5hdDToW97eRs7jMMb6IdUO5v1dSyP4Eayvr617lvVUfZ
n9aORgZ16VjpcbhPDkjrTp8p+xvIfTIUjS5JL98x9wW810O5n9wIlHtaGbJQOpd7F+4TDNS64niw
gvtTy/4SVPpH81kfA2vnvtFkLu7exTwE9419pl14VuZnHPfFkMUDl3w35L6Ad7av3D/HfXEj1CY8
rQx5X9povwf3GQZfiw+436GVzVTuC9SI7TI/DKyD+0DmcFeD7SG4b9VzjFabTNnfOO6LIWc7L0du
zP0EPvR18MpyX9zI68VVdTLkY6mZ+ntwn2GgOce6Y9yfemOeoKJrv8FkYO3ct47N+b26zMfgPrCI
BahMPdlA7rMhV0zIvWPuM3hvwlDuJzciP3paGQpuT/h8OvcJhrZ6xB0fK+BO5T6wEgO0y/oysHbu
O83m1B3I+h5/y87Rb6H9/nTuiyFvOjURb8z9BD7ornL/HPeTG/mlrG8yFOJexe1s7jMMa0OFfkYF
96fmdAlU99ZUtYX7HalE2kUyp86nvg/Nfa+lwr6iYvhqUfuUcrcLdOjcuY3cvMgkhnzYy6m5z8gk
4INSQ08ik5NHq9avA4rlNu8RmRiGt6Gkg1YfmaY2GxCoQYWK8sxNZOpoNqC9Z3PxDpoLDnjLXNnK
6unXuW9cjDCG+1JCqzrTtW7NfQF/bis1hvviRtqhfloZgoONRsZ4BThlhtxATs06FKjcV7TjJLIj
65D+N40M2L3Orw/B/UAOGLU1fjb3xZDxnR0absz9BD7C0B1JciNYZh0mQ07BbTOOBQaqUOp5UM/9
qVmHCWq0Ff2PN9zvyToMSOYsdC5f74v7QA6ILK80m/tiKBYvte6X+wIerRqadShu5HRYrvnBsoCC
2tO1nM19gQG+1AG6nvtzsw4ZqnahdDyQ435P1iEAm9Ol1msPw/2o6LdEA5nMo3HcF0PoSlqW98v9
BD7aodkH5EZcubzQHRU7RqtSrex7UF9gxKL8aTX19dykQ4Zqg6pogbqmvu5JOoyOzLlgPsKSP1IY
szGYzFHfQOqzId6YPST1CbyjEGlHUj9y0iFFlKeVHV2UQXsX6jMMiCOq9a2em3PIUL2Lfj9NYkP9
npxD1GRO284uefdFfaQw5r02mZzDcdQXQ8G6h6wzSuAD4Ejqkxt5DX652Rc7EG8sWCMwgncj1C+s
nptyyFDBeGwuMWRgHdRnHepyPnjxym6AmOElGNBefYg4xFqBtqZbzNWBHSHpdgZjFAV4oKg4+/oj
GQrFWt67DYoJPKgwNiiytlLEsH4btDE91Gr5sIcKjPimL3UsKE7NxRSoqH2pUj0XFDtyMY3yNDKA
pRSQR4lD/Fu0sb50gFTS9+5h1EqR7evPXz/HpxUiLMoO1PtdRx5gvTy1QLXBuea2PwysWS/aqPDM
OWElSdCs8vla+8yySG+b9tmrztnP5ucXr9a4oq64gKh4Y1O1zwUqUKDoeGMdguJGxWdrTFuPhOsi
rlaHxS//78tfn3/NDIfdqn7ZjOqX4HN87NY+HOHtsU3D4UzULVNKbjigeQG06XCy+Gi+pi3/eJay
f53W3zRtTWzVtOVn+eBDhcDY/kDG/EBey6mz+zl1eQl5AR4pWOwD30hQM9Lzg5MENf1VlqB+XXVt
PlpBQhdGaExY3X7bg1uvxIx4O0MNWkPFkmxDV3x7bAtdgzZugAS1Ne0NiTbdkRYfvQ9dIcZYsdG+
2pzBGn05u65/9cIFwjZih0LEBkTb3l2cAZ0f2+ICUQGWuo1Vu0D7lnXTrWvx0XpgrGIlaWUyIiIX
TaoaFJ5tWeHZGDIbo0W4ovBslGKZb1DmQuE5QTXobbPCc/qqs6Ve2NNkvlt7+fy0hh1j19Y51xsr
tVmCZcvyZCio0or8HXpjMYygWLVsf6V+XQG7F0KFAvaqn1LCirpiSbw//5m5+3yGqiFUdMWrgDpV
pVigGuuwuRM8j2H7kQSbsyqUMmdy5jr0dNkcBK/s1VuU6FG7L+2xlki7G2uBuK1sJtaCxhDiJtZC
oNfQ3lIhfZVGqD9vo1MavrVL2TbYEu5ou3oqvFq7Fm2NBtB67QZQ1D/YEYY/0pDtEgc4VUpLKsjC
H24KVxKFXzeKE6xR1ejDVsSwqaVuCWqwQ3JgzVT5coGK2pTWRbn411GVx+aIX6riXGdjrkPg21j9
zJ02S7vmR2koaaylFRr4OLuZbDIU414RyV02k03g8dzOZ8iC+eRGCMvLJjIUlLJ7yYnTF8wMI8RS
iXt9qJlaaiNQtcWSgGyO+x2lNsZ6Xp7HzlXInXE/ytDlkm8Gcp8Ned2plnJr7gt4r7ry7rLcJzfS
xPOL5RsbCqAOXTSP8QqKTSN6AFoztdRGoNo3B27hfkepjXGGd3WmtN99GO47ckDrzPQm8smQ97fK
uT3G/QR+JYV8lPvJjQIsuS+GaDd3SPRnjFc468OIy34ztdRGoHqWT2nnfkepjXFII0Pv7PalNsff
sjc8dGAyZXbjuC+GND7mvC/gjVVjuc9uBFotxP2TIetKnvwe3GcYtPcotSyt5r6dWmuToIIqnedn
uG87am2MD2xOd1aM3Rn3kbuc6lBzL3eM+2zIuJJ25B1zX8CD7Sqvz3E/uZGPywsyMWRxbzs5nfsE
Iyo7pM7OTi22SVDBdpTY2o5iGxPsM5/d30FDr+NvOQQeumCnc18Mxdi5Ubox9wU8Gt1VYpvjvriR
09E9XRpC5dyNuS8wApYqo+q5P7XahqGCsliSRs1xv6PaxoDi5peqU6/2vrgPln6LU87O5r4Y4kYx
j8j9BD7oLmmNHPeTGxH5n1aGQiwpbL4H9xkGl/4PWfPPTTZhqIYrdNq535PBAUDmlLuDItvjbzmS
Axrnop7NfTHkoXQee7/cF/BBhS4pzSz3xY3iUuA7GSJTh7Q1xniFtWHMmn+qwLdAdaooQJjjfofA
t4mORoaWZh/hfj/Cs6TiZBp7DOQ+GzJ6r3b8Trkv4L3uzdG6yn1xIzBLge9kyMJey8Pp3CcYXukx
Z31zs54EKuuTtXO/J5WI+4V726sTcV/cR8dDZ/30c34xFENnR4Qbcz+Bx74G3jnuJzeihz5dGgpK
7wmOzua+wGDR4xHcnyqhLVDJf9ub+DKwDu5HGhnc7br0CNy3SvPQRT17v58MedrxPyD3T+BthKHc
JzcCZfxCVCsZCmGvV9xk7guMSC9/yLw/Na8vQcVYUZq64X5HXp9VnpOrTUmx+3G4z0WJytiMlOZA
7rMh7Ur3sHfMfQEPODKv7+RGweunlSGDeNv9foLBvXJGcH9qXp+VMtfgOnJ6bUden9WGzRWbijwM
97V/jlqFOHvNnwxpLLnT/XJfwBvjRu73kxuBcst5XwxZd0w+f5BXcJ/BEdyfmtcnUE0o9rHJcb8j
r89qJHNWlcptH4b7hhzQsAj5bO6Loej2MtXvk/sJPNiRd3wnNwpLHaZkiGfc23KfYdhQbA5TzX03
Na9PoDprSoWjGe67jrw+awKNDHp7+9YZA94yK4NyI8TdobsmYDlEDWQNBiryM6+DGaBOswLji8Gq
BGaEstUCDLKH+5DpbjQwRLMhB/ERU7ASeK/1yHLLE9vRuPXrCNYcEjweQF6C4Q2UcmXrQ/TU9MsE
FWtOjzchuiP9khZ1ZI4LlD9AiLbh2eqgQuE0u6Tt2UOpstaMIDImlhLb6/2uI/WvXilSoFpvsT3l
35l2pUhr4Zk2bcV9W1bbc/2OrOcTsgYBi1exCvgazM9qhSraWBL4qH9fHelaLe+LoKLWPXHC9ryv
+EyhHUq3EEV5OOeWL2hQM+O88CLtVXmFpIYU2br2C3jcQsUSVG1jhezg5k36t8fWv0nkzkNY6mdX
K3HnQvPSbSN3v/jo2sCYsEwW/fbHv//69tufb/qh337/z8tvBIbDwyf2lx/oo0+/f/3fX59+/dcf
n/62je8//G1lgNNEL5ZBIkb69ujzw16+fPn+9c8/6x5qFVx7aBI6/ePlu0gwyUTIz6/GGl4nNxrk
12f+8/PLP1ju8fuPP37+/pX89/9E/fHHT6e/xMovL99++/rl8nE2xKZC1JwXFBbwS7b/3cftu4+F
dx91qDhM3wqnEqDzg5NwKv1VFk59XdNuPlpBQgVD8vhd+/k+rvsZLD66Mnpa66LSQS6kxLfHtoQU
rY0r7fOrnam9g8am0cPio/nCqfzjuZvT6xrvTefY6ladYxr95+BoW5lJJrxoTNEg6glloTme3AOL
bJorQnNWswaEoh3JhdDcCaoN2Cw0l76KtiQ1O03Us1XA/6c17IgjWwOypH6kUVzumckObQOdu1pF
Fn92Ab52CLtW+ABnU9trYoPsA6Ader3xAUJqQXX5AHjrj+kxHG4HITCCUlDRYuC6cGkvhArh0lWj
iIQ12M4MigP6jO29FLbMIeQQO5tpJ3tb6nAbBoVOr8co6qbeeiMbR1wiAVeUZSloNA5oX1FSaVy3
tBC0UaEdIX3o595hCNSoSlme9VA7zvLqVRoFKvoxig9+auUnQ43cHnjEJZbvOPloG9WonerofuR7
LrGSOaholrcxp9u1L5M5Chsdv66jBDeZoy12u8KXtz2/DkWeGPqSWu6qlZT1nrOZrZrdWlMMgQqd
0ki37SJ3Ao++S+Uns2pObuR9WCh9JENGl8LCe6woBUaMQ04J/NSqP4Eagy75VY77HVV/1gOZo0h6
+yzA4285sFS0d1izUT/EfTEUYO8C9T65L+C53n8k95Mbkd8+rQzFYl7Le3CfYaCLYcjSdGrVH0Pl
9V5Fa4kN9zuq/mxwNDJwDxW/A94y8NBhLvt/IPfZkNUlNZY75r6Ad33Z/znuixsRz+FpZciFvdPE
6dwHTtfWpeSDeu5PrfpLUGMN1A33O6r+LGjeQO1Krj8E98Hx0Nk4u3N0MoR+b0a7T+4n8GhGdo4+
uRHNIU+XhgwtYA8pfI3xCgNQEhqr5/7cqj+GSpv+UrPtHPd7qv4gkjlV7OD4MNyPWoYuTOe+GAo0
ao/I/QTeaTeU++xG2trldYgYgnBM4WuMVzinSols9dyfW/XHUL3WJbm9HPd7qv6ip5EBYz4E9yMP
nfHTz/rEkHGl0+Y75r6AP7eyH8P95EZBm6eVIdpb7OigTec+wQgmVrTHqOD+3Ko/gYrQc63QU/VH
QxoD3/l+AO4jOSBoUBl1v3HcF0P0r74D0htzX8DzYIzkvrhRVN4/rQw55w+VlIzxiqjVkIrfMPfG
XKDGGlGSNfdDz4UpIpvT6gOc8ztFDohG51R+hnE/GZJmuI/H/RP4EEZmxp3cyMVFtX8yRFuw257z
MwxU2lZsoiu4P7WcLEGNLM3fzP2OcjKnAplzu1Isj8F95KHzYfYdXzJEa7Mbqfsd5D6Bp1jfp+af
4X5yIx+sf1oZ0nZvdTSd+wwDalLrK7g/NadLoBqHpQv3HPc7Uomc1lxyddZ5bK0Dn1IhtkBnn7nn
ROcEe1+RSQd5sZjRIBoXmcRQMJ3XtjeOTAm8dyMzj05u5JZt4ZMhiKX7tPeITAzDOjuk5DFM7TUg
UGkH15F5FDp6DTijaGQAOi/S74v7hhzQaedmn0QmQ8yfR+R+Ao9x5GlEcqOoXXhaGXJ6r33VbO4z
DK9o0zSC+1OzDhPUqGLHqqQj69AZIHMQPwT3LTlg0OfL23ncF0O2+I7ul/sJPM0xQ7nPbhSNW+5I
xJAL+ra3EAIDtBpzGjE16zBBjbqUzZrjfkfWobOOzNE08AFuIZwFHjprp8/7Yghv1k/8IPcFfIwj
sw5PbhTQPF0airpYOPou3GcYULwMqef+1KxDgUpLpdDB/Y6sQ1qTkTkFe9dED8F953jowGdE7bQx
cYioXTLksbMp2425L+Bp1TKU++JGWtvlLYQY4pYMt+W+889KWaw42q/g/tSsQ4GqaRTbxcVCR9ah
cyjmSp3XHob73tBv8cZlzvrGcV8MBVcqVr5f7ifwgEPX/I5lbXxYLvnFTlR7wsyzqc8wjA+ltNp6
6k9NOhSo1sTSuXuO+h1Jh84HMqdDZw7NnVGfNewAcT/F5PqFygB1thWYGNx+wdh1MAN0nS7BWB9M
JhV7YFBMMml7BQZ3GhQZPGgYegHiWdJUKb1+G9GWVDPfJSgSDNoJDem3GqZmYwpUHzV27IU6sjFd
sGTOqL2DqocIioGWkqEsqVsS+e1h1FrkN/z8S3xaIUIzpOIfOjIB60VjBSr40KELCKpdNJbN+QBF
UZmsyO9aAcnpeJ5DKhWQXtWO8AufPK5wgdNqxKkJdORvtb0xFs5S7csn0D1vLD57sqlbzpIzSo6w
7Hjw35e/Pv+aGQ671f6xGe0fwecj9jiweXts03BEMK+yWAttR2jVdpRnobelDoXVQ2ubF1OblgmL
j+aLZPKPp82Zcy1zc+7Hu/yPv5YlZPezhPI60gw8asCKTmlbHVpCen5w0qGlv8o6tK+rrs1HK0jB
xyEZaNAhbb31JMwoOAvU6KFCVWxDV//22Ba6RtqiVGSg7XtZ++Zp0yJl8dF7UIwPvVzNmvK6QjvA
5ey6/tULFwjbiB2yEZt1q50vVQHmXADeHlvvAijHDU1NGHMuENtdYLsHcLk9ACAxXHlf00S0QefV
lnVeeYA0N/y4pvMqJ17EonCp83qC6iI067ymr2oslcZP0/ptbejx0wq2cU73bJ1zDXKk10q4EPtN
hmzcy7Ka3CBHYIAqdv8o6+D2QqjQwV01VRGsUYUhlVcwd58vUCGWSqGqocaOrWG9qqZA5Uy2jpV1
z5GEmPM97UuiateddFE9S+vLPsnxu2pz5JB/Cxg3cOKgvTB9ZfzEkaBqiO0Th3w1+pLM7932VzuB
jzCy7f3Jh/1S71oMRXrjt22BmWCEACNCcpxbEMdQ0YaOq+jYUxBH5miJZ8J1MX+P2n2ZsMiLbNXQ
ku0aVwP9R2e9wg1XCSnNAV1c9T6GvYSI8cr0rZ3AVqs8wY1adXapTta2yzxubRacCis3CLQP6tel
P9L0bIUjmNItXkGV/nDjtZIm/boZm2ClaS6OOKWNcyvtBCraip7aFVCnqqcLVIo7Fa1jN/GvpyhQ
zIXg27P9Y4e+uGPvpPfQ2VrmztZ5nn4LrHJZJ7SyTYZQxRtl/B5cagl4Z0bu1JMbOXtR5UeGjFLB
HMr6G+IVRoGqEO6tCDVzK30YKi3/OzSGY0+lDyKZc9bcPtv/8Fv2ytBviVZnsv2HcT8ZwuLx7N1y
/wQ++pFtrE9uBGbBfTFktCoJe78D9xMM8GO2WVMrfQSqdaHU3yvH/Y5KH68Cmys2aXkc7pMD2ggw
e95PhrC39/etuU/gnTrLgQzhfnIjrwM8rQxpf0x3ZIxXOL5DH8H9qZU+AtW7ol/luN9R6eO1JXPa
qI8w72tyQD65yWgNjuO+GArFaqz75X4CD9h5bnOd+8mNPManlaFY7CL+HtxnGMG5itzrCu5PrfQR
qMBpCO3c76j08UaxudB5S3Bf3DfkgLS405mk9nHcF0MBS1d998t9AQ+dOqM57osbGeL508pQLKas
vQf3GUb0dkh2cZxa6iNQ0dQIEG2431Hq4w2wObVXdvAQ3LfkgBgUTN/viyEwnc1Ybsz9BD709RXJ
cl/cyF2s+cVQLAp7vwf3CYZV3GV9BPenZroIVM0lWe3c70gfoXhI5mi51lesemfcB/otwZvpa34x
BFBKj71j7jP4eD73HsP95Eao8GllCM3eqch07hMM2aEN4D5O1RcXqNYE237Whx364t5pNocfYt53
5IA2oI+zuS+Goi4dHd8v9xN4P/asT9yIC9ueVoYQ9vROZ3OfYbigm+oYstyfmk4lUD3F0Pb7fexI
p/IuPnNPyVLu78Nw32seOpfrHz6O+2LIhb3V7H1yP4HHMJb74kbgFylayVAwpaLQ9+A+wwjGV8hj
VnB/atZTgkrz8P4SZcP9jlQi7z2Z87GUufk43I88dNFkVH0Gcp8MgVal/Ks75r6AX3VbPcp9caNg
0T+tDBHpbrzmFxg4RsECpyp4C9QYVEdlJ3YoeFNcZnOmc/l6X9wP5IBIIzd93hdD2u+JVd0n9xP4
aLsUvXLcT24UlpJeyZBVx3oID/IK9DhCwRun5vUxVFq1hoqqtg33O/L6fEAyZ6DULOBhuA+Ghw5U
RslzHPfFEOCt+okd476Aj8aPLJ9KbmT1UrkqGUJ34+pbgaFp9THifh/n5vUxVFZX65j3e/L6INDI
0Bx2+x7CA94yOaCxev5Znxhy9jHz+hJ4UEPv+JIbebe83xdDQZcyVN+F+wTDmprJtIL7c/P6BCr6
jtJJ7Mnri5bMeX8HPYSPv+UYeOiCz3TuGMd9NkRz56269hzjvoDXZwmbMdwXNwraLO/4xJCxt97v
C4wYwxDuz83rY6jeFzuu57jfk9cXI/cSNBXXClfVZkeoN63BRNxf81wHM0CtbQGGZZ6U0vt54NfB
DBA1egODirzCqJIE/cOEaKQ44YPC6ccyYggMPuTyLIEPdmiITm7kLkquxFCM9sbXMQwjsIuPCNFz
0y8ZKv3vUmpfLkT3pF9ieKZZVekKKYGNuOtGSCD4s1xolZDAq2jAy+fP/uIGX1BF2j+MeF8dKXP1
0q4MFYwB1fG+sF3a1SOQJ0evPsIROv0WTz5jC6wsiUD3hMCVKNkvnoLT5eh6R5PEgPIsp6aKQCeo
6EsaCdf9zqkOEWjP9bR8vN5wuHU5GnoZGAb1hc4rvgpep2NFj7qKN9l+AY9bqFiC6unfzTLyDOz8
2KY36YOpkA7Z09Z0qn1NvOlNsfjo2sAE7RepNd/++Pdf33778021+dvv/3n5jcDwtPSJ/eUH+ujT
71//99enX//1x6e/bePFD39bG1h15EoS0G+PPj/s5cuX71///LPuoQhXH5rkpf94+S4STBJY+fm1
WM1Zn54G+fWZ//z88g/Wmf3+44+fv38l//0/kZ398dPpL7Hyy8u3375+uXwcC74dV1h1qiDlvGT7
333cvvuYf/fWKFPqY5RTbGZA5wcnxWb6q6zY/Lqm3Xy0hgR2xCLSqQ7F5nUjlcVH10bP0T6oWW+e
gZ0f2xJSaGYwcFwXnPPoDneYWXw0X7GZf3xw5DOnKLVQl3et6vJBsfS1CljTIrBBaA7KQnMeySwZ
t+qK0JwHFiqn1xsvhOZeoZp2obn0VR1uoibc2jnkpxVso23XnUauEU+wz7RnVotUBraDtPexVytJ
4s8uwNc5PoCRIMaMD2CgbY7a+AAhDR67fABjOFibdbgPjcBAC6UC+rJici+EGsXkyw41QXHvLvqf
/gTgTn3G9iYua+YIcmc6+/ole1vq+GcHCBrWY6QjtjSxGtmxZoUkFi8mCxqNA/rmlFQa1710BK2m
yDJkbTP1DkOgGh0qenlUQO04y6tXaUxQox/R29WpqZWfApVLQEacfOipGucC1UHX4rbjEiuZo4mq
Y3se27UvkzksHsjmzHWU4J7MQbtgPL/lrl+HCKaUI/UoPeyCDjzXeJjd0zcZMnFPHvwu21cm8Pas
6zRk1Xxyo+iXy2YxxFkTt11RMgytzYhqf6enVv0lqLFYfp/jfkfVX9CRzNFa+/bXzMffstH0WwD8
7Na1yVDEeKOqv2PcF/BojR3JfXIjzUp+T5d2jCquCN6D+gIDFI5Y7umpRX8ClYxAx7TfUfQXjBdz
dyDoPeAtR+6T7Nx86rMhDJ3x8tbUF/CIXQJfOeqTG3FFvXm6tOM4geHG1GcYsSgvWk/9qTV/AtV7
KN2656jfUfMXrCFzLpRSDh+G+tZzw++Q69k0jvpiCIsppfdLfQYfaN4fSn1yI08rVfe0sqP9nmLs
bOoLDMBSImA99aeW/AlUoN1+c9kPA+ugPnKfchVvL+91/C07CmOAOlfqP476bCjSYulGbTyOUT+B
D32l/lnq4zP4EJfH/GKHtkWH0krHOEWMtmIDXUH9qRV/AhW9a+/gw8Daqe8Cm9uVW38M6lMYo/Bu
MlU/A6mPz1op6JRGuTX1GbxWYEZSn9wIParlgl/sGAM3nvUFRoxhCPWnFvwJVO3RdOz1Owr+grdk
TmPpfu5hqO+DDN38Bb8YAv2YC/4E3uHQI35xI2OXxb7JUIQ9KZTZ3GcYxushl+V67mU5Q7XG6OaC
PwbWzv2g2JztPK2+L+4HckAbXE7kYxz3xRAE/ZDTfgKPfui0n9wIYHm9J4ZQu53N5GzuMwzn/Zjr
vamVZALVW9WRuKA7KslCABqZGPc6Kz4E94Ec0BO/M2Le47gvhpza8+r75H4Cb+PQ6z1xI7yoIk2G
PJRWsO/BfYYRjHZDDvnnpnMJVDSlo7cc93uyiEA/K+U17tcUXStnn1MctkDneDBsCd3jRCaiB1gT
p69KxJBz+JCJBwn8Kn4fjUzJjSCGp5WhoPfWbtMjE8GIxoUBbQacmdpmIEFF33EHYTraDISo2Rx8
iIPI6LgtOujpqxIx5G4mO3iM+wLeGz/0+pHdCFmx5WllKLhSieJ7cJ9gGGVVSSuqnvtzEw4Zqla6
vbUYA+vgfhRzpZr1h+E+au5nrX2mnfA47oshb0sdau+X+wl8wJEleic38naZeyCGQO3d0s7mPsMw
1lek8VVwf27GIUOlKBXbTyNMT8YhejF3B1LjA95ylC7sNiM5OpD7bCgodSNNq4PcF/DWDT2JTG6E
S3GiZAh8qZfnu3CfvuTcuRz5GPfnphwyVK91qdg3x/2OlENQhs2pkuzgo3AflOdW4srOnveToWBK
nerulvsn8H7oSeTJjej/Pa0MQSxttN+B+wIjODOixYgzU3MOBSp4ZdpPIk1HziEolM7lH6HICLTh
ofM6o2U5jvtiKIB5xBvIBB5UGMt9caPoF/oLyVA04ZDc8BiviK54XVzP/alJhwIVdai4MNlwvyPp
EHRgc6j6OuPeGfdZkCGYilOd6zcqA5TZ1mBihdbgdTADNJ0uwBhOCpydk5UMkQ/fqNHywago4J3v
lFy5HhWFYIb+uX4dMRxrvjKEL7Tdt0MKsMzUfEyBqk00zYqxDKw9KhpLIxOt/QCnoMAFgDrGUr+6
kmJsD6W2okxmuShgRJwLOOQEriMXsF4xVqBaTmtp9ztoV4xlcyzSUgqfWWXptfyRt2Aa5Y8W2tIO
V28MAktpjnhjHRlcbW+MnD10ZHGY2PPG4jMtLIvrp1oZx/PbYjv/ffnr86+Z4bBb4R+bEf4RfB4p
crYPB749tmk4QNumnj6Z4bCqeQW0aR6x+OjKwCBfUZz8pEeCcqJCJlH3WRttmhqh5wZS5wfyWp6Q
3c8TyotIC3DaacX9iLkVoSWk5wcnEVr6qyxC+7rs2ny0guRdUQSwOnrZDl3rrVdi1isJKmhV8drX
dLXm7bH1dBVzRSnHai9r3z1tGs8sPpovQss/3mpQquEy4PIXu8vZdf2rFy4QthE7ZCO2SCa7UrFW
zgXc22NbXMBaoyvaG+27gG93ge0ewOX2AF7R3AI+d6V30aamQeTVlkVewbFZ+pe5IvIKhv5jcNrD
hcjrCSqtC5pFXtNXI5aqT6YJ/bZ2h/hpBRud7sogynbHkcYdcdmwXAxFFY+Jlxzuw5FgQLFIqCyC
2wuhQgR31aFDsKINfsTNh527zxeosallRh5qx9awXlKToaKibV77ytr2HEmwOa1VqSdkzhy0i06C
Z7EryBRw045Cuy8zYq2muY/iyNVQy8kw6M0q0tI3wHnfEWj5F8ZiP9850tCtLaDWkZZxY2fOxqu1
bagNz0Eh2rjyAW6l3ZKsOa7b1QpHwNJxaUEW+nDHrZIo9LoLl2D1tijWWh/Apta6JahRN20xs1A7
SnNaYi1BDbSD6wh+HWV5Yg64/KXdHPbF2ohKl+SLH6U/GXig3+JW0WlCL8lkyPsDDTFu10vyBD7G
zhh+/aYpuZG3F+GIDYHa67g5fbUMtFayZ9nnQ6HGTa21Eahcrdx+0+Q6am1o4qWRCWFPgfkhuB8M
DZ0KOqP3NY77YkgXr7Tul/sCnjaOXcofWe6LGyEuWn0nQ6JFdVPuCwzEUqJUPfen1toIVBOwoiv5
hvsdtTYQApmzRe3jx+E+OSB3dJ3dQzoZisbfKOf2IPcFvMeuvLsc95Mb0Wr1aWUIY+ls+124TzBs
sBWNOSq4P7XWRqA6ayv6zmy431FrA2BpZNDFj8B9CDx03k+f98WQgz3N+vvkvoD3Wo3sH39yowjL
7DIxRKQ7lG8/xit8VSJGBfen1tokqDTtt2f5uJ5am6jInMfOspH74n60PHRops/7bCjoYh30/XI/
gXdh5O1YcqNgbXhaGSLSHaqzG+MVgTYfI44W3dxaG4bKbX3a6+xcT61NBDLHq7UPwH1UPHQrLasZ
3BdD4Es5RffL/QQejR/KfXEjCMuzPjHEO/7bcp9hRJr2h+z359baMFT0rqIsaMP9nlobdGTOxM5m
tHfGfXJADDGnqzOQ+2woqltVlBzkvoC3fuhZn7gRTfsX3GdDGG6938f4rFTQQ5q3urmZJiid9XRH
R1TXkb5BDkwjg8Z9gHP+qDwPnck18hvG/WSIYu0jzvsn8IBd1WQZ7rMbYXDwtDITdjucT2a+wDAm
lPQj6pk/Vd87QcVQ0iHKMb9D3ztKQ2sM0HdRfV/M1xTFaOaJs2/3kyEXH3LFn8B7Y0bO+uxGNL5h
sdlPdoIrJfC8B/UZhjPFxmv11J+a8pSg0uKpvbzCdeQRRW4W7ILq9OI7oz6FMa+0V9Opz4a0fcgL
vhP4gCM3++xGLrion1Z2DB7r4zfIKZCbXA6g/lR1b4Eagu0ohHQd6t7RWDbnw+279x5/y4bCGCjv
awpvDlFfDLGSzCNSX8Abrbp0NHPUJzcKQEH3aWXH2r2eEbOpLzAQSg5eTX0/NaVPoMZQ7LKRob7v
SOmLVrE53EubfwjqWwpjqNX0Y75kyJjOTig3pn4C70NXC88c9S1X1Fk0Tys7Npam2/egPsHQinb7
I272/dSMvgQVjG/f6/uOjL5ogcyJ9sfjU98pHjrnps/6YiiGx1zwJ/A4NKPv5EZRL4qxxJBWRt32
di/BCGFIRp+fmtEnUI0NFYnHG+53ZPRF59hc7ExOuzPukwMawOnZvMkQnk8VHoz7At7FkVk9yY2c
8fbp0pBVYa8Z03TuMwxQFZKGFdyfmtEnUJ3Tun237zsy+qLje0+n7f45yFWxxxFSRwswrDxJE+r+
Ied1MANUPFZgtO/tcjZCVeYNjNfkFaoor/YwIdo79vBzav28EC2GvNc3ard4LEQn8HFoAsbJjSgQ
Pq0MgTomdDzGK7x1pRO0+hA9NfFSoII3pWOSXIjuSLyMXAlLrCgVXGSlFdevhAI2vIbsKgmBs1zA
1/B1KReQUIVijV79++pIlqsXVhSozkKp7Wruffl2YcXoI3lygL1OYY8Rq+m3hKBKq5GSBGtPCCxL
AgkisDoO8buORK0Wv2Oo6Du0H3zo8TvWQ6OtT0NruMvRgGVgGNSXNa+3KHhdDCUZm/o32X77jluo
WILqY7GvZO5NxrfHNr3JAMU+0bXKdh6bl6EbafjFR9cGBnRcNKz59se///r2259vSqTffv/Py28E
hqelT+wvP9BHn37/+r+/Pv36rz8+/W0bL37428qAWWekiKzp26PPD3v58uX71z//rHuoWzWROD00
Sab+8fJdxJcksPLzq7HCq0PTIL8+85+fX/7BKo/ff/zx8/ev5L//J6KPP346/SVWfnn59tvXL5eP
izS2LenoGS8IhW3aku1/J3fdvPuYf/e0nDB+nxRbvVQCdH5w0kulv8p6qa9r2s1Ha0hRlVb81SEl
tJ/v47qPweKja6PnXVTt+3wCdn5sS0ih1YyvaMa570ymOaRsGjwsPpqvl8o/noikXzNN3xSTTaxV
TD4/K+CzMQoh16KLHFLH04g26Mv5sr4c/wTD/wxXBOaipf8o2WEXCnOvUJVulphLX9W4d183Rcuz
Vbf/pxVsc87qGdMHI7VUoPni6dIQmowXxJ9dgK8dIoOmwgliNKBzThA5j2PrBIS00wmsCcrftvWh
wLAmliT8y4KlvRAqBEtXDSISVhrsfm2vTmnG9h4KW+oQcmd7W8iIvS13/DOYEKxejZGjsLSTW1oQ
ZzzWMGKFhLVwKz1reNuKHYHGi1YWgtZ7VZERULG4mXuJwVCDxgoZwgqoHYd59QKNCWoMQ84dw9Si
T4EK3lYI6VZA7Tj6aBzVGEzF3n6zuu25xUrmsMeca5e9TOYgdHS2Dx3Vt8lctB2tfELo+HWg+BzJ
dya03VULqRjptzgdIVPw17Nad5pbDoxfrZ+gKtu+UJOvWn2rPKRDvetO4F1fHlJmzX7yYVx2802G
XCglAbzHcpZheG0qToUrovjcekOBGl2HomjoqTeMhsyVdekfJ/B4HjobM8piF4Hn0CW3GMKgbqQs
dpD7Ah5t1yV3jvvJjcJFwSEbYg2mlj3HJK8I4Icoi4W5BYcMlfvAtF9ehZ6Cw8hrWwV3oCR+/C3T
F2noINvJexj3xZDHUj34/XJfwAcT9VDuy32UVsvaAzEErkS69+A+w6C1X2mRVs/9uRWHDBVVrNgT
b7jfU3GIgbdTupT29zjcJwdEThuczn02ZIpVoXfMfQG/ipBHuZ/cyLtlcpsYsrs9yaZzH5+5i+OQ
ZCmYW3IoUBF9+9kGdJQcorJkjuawD8B9VI4jvFeZuqNh3E+GHJRuRO6W+wn82zH2EO4nN4pKwdPK
UCg2NHoH7guMRaw7xv2pNYcJKoZS5mKO+x01h7TCYHO41xDxIbivNTkgbfenc18MeV1KRbtf7ifw
zo3lfuTJ1Sx7bSZDIewJVc/mPsPQVpcUtOq5P7XmUKAaZSqWKBvud9QcovZszroPwX1yQONsTmBo
IPfZkD9X6z8Y9wU8qq4uAjnuJzeCZeewZAjUsZrDMV5hra+4tavg/tTreoHqlCvpL+e433Fbi8aw
ud1GyA/BfUMOSPMZwGzuiyGPe6dY98l9AR+s6ZIZyXFf3Ehr1E8rQ+DNIa2BMV7huQHtCO5PLWYT
qEGrDokh6ChmQ4NsztxBIevxt2z1s6K1XYUw29UK4Sn1Ngt0RI/AXdpmRyY2BMq5hzyNSOABupQQ
spFJnJz+3+p1gEa47Q2kwIha4ZBVydR0twQ1mpIGaS4ydWRZoQ1kzodSeuXjRCZywIhnYaKJ3CdD
yBJ1D8l9Bq+N6uplnOO+uFFQ7oL7bMi4YwpIY7wCI8QhpxFTexwwVK986Cixh44eB+gsmTMKb9/f
5PhbdoF+Cy2xMvIa47gvhsDaR8w6PIE/p32P4X5yIxfd08pQLN6lvwf3GYYelDsOU7MOBSoXcXXc
QHZkHaJXbM6XOr88DPc9OaAJ3tYUJx7ivhgC6GwEeWPuC/iohmYendwINT6tDKEpHQO8B/cZhvVh
iGQGTM06FKiOC8baud+RdYge2NzupuwhuB/IAWkr6zOCx+O4L4ai6RSIvzH3E/izqtsg7rMb0UJo
mX0ghhD2lpSzuc8wfDBNIhJZ7k/NOhSogQt927nfkXWIwZE5p/dSwx6D++SAoJ2eftYnhkxRmfaO
uS/gMQyd95MboYpPK0NOH5PUG+MVUUcYkXkUp2YdClTUtqIT05r7sSfrEDSNTFTwAaoNEBwPHc7n
vhiy+lb9TI9xP4F3vqu9UY77yY0c2KeVIVfMoXsP7hOMoLSyI9b8cW7WoUCNRZmRHPd7sg4hsjnz
ITKOAVm9uZjmVrqBHKHktAJDG+tOKekRSnVvYKJ+5mtmnB4VxZD1D1l/eQIfh9ZfnggWANevwxfD
0XtERYZhtBvS8DHOzccUqNF3nITEnnzM6NkcdEoI3FdU5N/CO8nCFFwSre2h1FoWCn75Ra1Gl/41
JB8oduQC1ovWJqjoKjT4N35n20VrMYZnHaMtHSZlxa03AkwqnIuiKwWYXsWW3M9fvjq1woUOhnSM
iB0ZXC1vLDx760xPpHA9b0w6ZxaP/2qVJOOyYcN/X/76/GtmOOxWeshmpIcEH6Cq6PG1GQ7/9tim
4eA1bMuUkhuO0LwC2jTTWHx0ZWC0Bfsqr/Gmgml1rQrmRJFOhme5fK4lMyk3kJAfyGt5dXY/ry6v
Yy3Ag/Gl7I6sDi4hPT846eDSX2Ud3Ndl1+ajFSTQpuIKtSJ6dUhrb70SC15pIxGo/dQ3xrfHttDV
xhhLNz7VXta+Ydl0eFl8NF8Hl3+811VNxK8rxKO6nF3Xv3rhAmEbsUMhYntarZV25BkXoK+cH9vi
At5pU6FqtOsCqNtdYLsHcNf3AFFp9Rydh4zKrEftvnSozEJRvCxSJCGrWjt1RbwMI/1HE4N2S/Gy
M1LlWsXLTl8FHfoLGzolU1t7o1wIpr7iDqGzh1qytu3QA898NgVx7QZYbAm2I5h6pA3MJQ7vHRQu
fwpyqYdb0RTFUi/b0ySsQUOpVK56BsSZO/0T1GBLlxH1UDs2h9WyngkqGF0xgWwidfuhxMlcLCoF
58zZZuFLMYfBA2bEIi8akzXEW7sfbzFo7WMm3qI3zqhNvGWoxnfFWwygSlnA06TdW/sB/bSGDTi0
ZaW0agK9kIw5GUK9d8U9tx9aggHeq4pDrOuq570QKlTPL3syJaxRQ0UnkIoINrPc7QQ1nDMljkHt
qH9pC7aIxriOYNtemXcyh7GiOmBjzvcEW03+HW2puudBuqTRbwFyKhNUpgh4VEfLkyEbS8LT99rR
8gTenRf6IyL4qxtBvFj7sSFv94qSpkdwgoHOVRxEVoSameU2BJW7AGsmcjP328ttuD/TM0eaUmLS
w3DfWBo62hFnBP/GcV8M0cR1I+GfY9xP4J0dy312IzRhuRQRQ77YVPA9uM8wtFFuRAMMnFluc4KK
qkPkG9vLbcgckDlfrOp9GO5bxUNn58/7bMgoX9p33y/3E/jYe1B2nfvkRtoHXE77YseoUonbe1Bf
YESvR2Tc48xqmwTVcqviduq3V9uQOUfmNHSe9N4Z9d2z45KPTIX9QOqTIS6FfshpP4GP2JV1m6M+
PdQafXEAQR95GiJ341mfYQTjSoqj9dSfWWxzgoq+1KguR/32YhsyF8lc3M3/ewjqO81lJMqa2dQX
Q7a4gbxf6ifwELra+mSpL27kFq04T4ZoH3qowH6MV0RtccAZKNmdyn2BGm2pbcR17nvVXmxD5nyq
kvgQ3CcHRONg+m5fDFl4zN2+gHeqr5dojvvJjWLwTytD3pQ0Nt+F+5zxTv8ecKng1cximwRVq9gu
8c3A2rnvDdcCYGc/3PvivvdcUoI6I64xjvtiyOmSHOv9cj+Bd2N3++JGaJV9WhnysFd4M5v7DMMY
bQYU2Xo1N9FEoKIq7ZJy3O/J3vDI5uxe/4WH4H4gB7TWhoy4xjjuiyHnS52T75f7CTyarnKyLPfF
jSLA08oQBeOd1dFs7jMMZ7weIKbJBYQzuS9QsdjUN8f9dolvMhfYHHSqVd8Z98kBvYWYEdQbyH02
RNBuJKp1kPsC/tzQYQz32Y1o4XnJfTYUfCkt5l24j1zSF0vJsPXcn5vzJFDxnEbewv2eRCKwZC6Y
Tl3I++I+kAOCMmE698WQ5nqgB+R+Ah/NUO4nNwomPK0MWVW6W3sP7gsMDGrAOb9XM0W0E9QYPDQL
6zCwdu5HxeZC523VfXE/kgOiApdp6TWO+2JI44EKmBtyX8Abq4ae84sbgfLL630xJEknN+U+wQCl
fUkmvp77c7P6GCr3Qm4urWRgHdwHGhlQJc3uh+E+Kh46baZzXwyZYtXz/XI/gQ84lvviRsHrp5Uh
G/GQgP4YrzDKjbnjm5vVJ1DBl+aUHPd7svrQibm9TdljcJ8c0Grvpp/1iSEDezKRd8p9Bm/P0X4M
95MboVnWY4khFmm+MfcJhqPV4ICCUu4QPZX7DBVixbHkhvsdaX1aaTaHnT1g7or7WpEDeqPs7Ize
ZMjeTET7EPdP4D2OvN9PbhSth6eVobIK0ztwX2AEXaNsWMH9qXl9CWq0pfbQOe535PVpFdmc033X
VXfGfRHTjBVDd1W/coQWyAqMd25//XYVzAhtmhUYIkCnsucIXas3MJriBJizQN28EC2GbDhQKH/D
EC3gndIj0zBObI/KrF+HN6XFxnuEaIYRPZQCUXWI1lPTLwUq2liRJb4O0boj/ZL+D5FXYani/WFC
NP+W6LzvUYvc6M8EPnVp0J951Zrx4RdcqHsmVKhiqelwSW+0h+hlQYaECFTF7FHBho6ExGr1SoFK
S78AI/ZVuiN/qhUqdEij8hi2Cm0mc9rFdiFLHocOc/gcjYJS5WxJHM5ruyTToHbGWdnFhNfSlDQi
8U63X8DjFioWoUKNEsDmTbq3xza9SU4jaZkLrwvcee2bl24bUfbFR9cGxjtcbLe//fHvv7799ueb
IOm33//z8huB4VD+if3lB/ro0+9f//fXp1//9cenv20j6Q9/WxnwetXqTdRN3x59ftjLly/fv/75
Z91D3erK6/TQpJz6x8t3UV+SiZCfX401vB7Z0iC/PvOfn1/+wWKP33/88fP3r+S//yfajz9+Ov0l
Vn55+fbb1y+XjwsUPY7r9HpdWMAv2f53mlA37z7m3z0qNBUZaRvZVAZ0fnCSTaW/yrKpr2vazUcr
SPTfShN5fUhpP9/HdW+FxUfXRs8EaG+OzcDOj20JKeiMbjr9zDlTbA4pm6YTi4+my6ZGbdSzBoev
6R4L4WSoFU5+exY+0zxgXKZ48KIvRYPGnClrzPH7c8b5YLcac1Eh/Udye+cvNOZOUDWoZo05+apV
Zi8/d4rGXKt8/09r2GCGNgSXzgpI1Hm6MEQ8NNdLSOPPLsDXDqHBCiegpaE3mHECr2i1qTZOQEh1
6HMCb12xDcP8nh8JBrl3aZ4pC+n1QqgQ0rvsE3HCGnUpuWSOFm57K4UtdbivJnRdB77a23KHtkAe
rY2rMfLk7P1quMf6RqyQBFu6Yy/o4Q7oXlFSxF11tEhog4GKTMCKxc3cSwyBijUn8ftQTcdhXr1I
o0CFECpyrCqgTi39FKhRargHQO04aWkcVfTFbOjc6rbnFkvMcWOoZnNGtUtfnsxhqb4zZ66jBjeZ
g1gheboxZzp+neXGxx5KhREP0kkqaqdkrsmlA9AkFFsVoWmJxX1Oc2s1WsfREjR43nPYYMEpay6W
a68fPlu+kgvKqXi5YkuY6RHtKzb5qnZ7PavvsZfdK/hoB3b4PDlz0LgQHUiGrNqrbZu9rhUYWEy7
qQ/nU4sPBWoA0yE4YjqKD7UzvNLxnSq5dxaBPP2WEHJFCBcR6NBttxji5o0PyX0GH60eyv3kRuiW
mw8xhP62nb0TDCAXH7LqnFp8KFCjDRXt4jbc7yg+pMmLzalw++LD42/ZkwPGgNfb/4zkvhiKurMl
8o25n8B705XpkuW+uJELyw20GEIoNfF8D+4zDAy2dLZaz/2pxYdaZFssdNx7mo7iQ+0Dm3Od9fN3
xn2k3wLOzOc+SrfmzsqNW3NfwJ8XLWO4n9yIlkJPl4a00qXKn3fhPsMIMGben1p8KFANhJ5Th47i
Qx0sjQxG9xG4H9wzrTFjTlt4HPfFEKh4oyKEY9xP4J1RI7nPbmSUccsMVzEUw56exWzuEwxQ3gzJ
cDVTiw8FqjauNGI57ncUH/JwcrPbOyhAOv6WQdNvCTpM3++LIbDxRsWHx7ifwIPpKjzOcl/cyPvl
fl8MxXOC2q24zzAM396N4P7U4kOBak1Hz0YG1s598GwuqI9w1gfkgDZEnyk8Hsh9NhR7D0luzX0B
75Qbyf3kRnix5hdDGPb0K6dzn2BwrcKIPGcz996eoXpX0/9gw/2ea9touAxVd2pn3Bf3Izmgp/Vd
Rlh8HPfFULS3Ehg9xv0EPsJQ7ic38hfn/GwoKLU3SrO5LzAGZZfYuVVtDJVmr4qOZ2vu256qtohs
zsXbC40df8v0Re5ZV7pUKpTXzim8uUAHAA6n70jEUIROrfgbRyYBj8p3SSBmI5M4OQ3J6nVEZUqN
7d8jMgkMUEMkEezcvDeGis6U+sLlIlNPuhUGGhnEvYLox4hMyKXKWJX/dIz7bMjrUhPKO+a+gD/L
go3hPrsRcru8p5WhACXd0XfhPj5HZU1FD5EK7k9teSBQtXKl44Ec9ztaHhhlaWTKe7VH4b5RIQ3d
7BvIZEhDZ3+o23I/gTdajzyJPLkROHhaGbK3rqZJMBBK18X13J+adShQadavqFnccL8j69BoJeb2
tKoegvuaHNCqaDIaO+O4L4bI3x9x3j+BtzCwXPDkRiym/rQyZP2eOPxs7jMMmkphxEmknZp1mKCC
rxCH2HC/I+vQaGBzxXzMh+G+IQf02kzPOE6GjNvbyd4n9xP4qMZyX9woLLMPkqE3Ia9bcZ9hBOVw
RMsDOzXrMEGFUKrPyHG/I+vQGCfmSnWVj8N9ckDQoHLqBOO4z4boXzdqeXCQ+wye9r9dbc5y3Bc3
olW/floZcg4OtToa4xUUnCoO0Cq4PzXrUKCiLaYC5bjfkXVorKaRoc3r7dubHn/LlhwQjY7T9/ti
yNrOPhE35n4Cf1ZJG8P95Ea06HpaGXJYatb5HtwnGKi0q6hVruD+1KzDBDX6Uq5WjvsdWYfGRjHX
WSx7Z9wX6eOaU53rN5ADJJ1WYLytEC67DmaAZN0bGKefkZMCZ+diJ0O22KTvfqOigHdaD90NJYJh
hPXr8Lak0PYeUZFh0G6t4sa+IipOzcdMUGkV2ZGX0ZGPaZwnczRjfISoyL/Fh6AKO7uSrm8Ppda6
vj+rEFejGwzNcSP8riMXsF4sN0FFV3KEnN9hu3qtcdxw2BXTj7LK0GslJksbiNfBqVRielVd+tn8
/LLsWie4vEI3olrTdWRwtbyx8AweTYVs7PqNOdXzxvBZg4dS0XGtpKRbtl7478tfn3/NDIfdahDZ
jAaR4ENfo4e8GQ799tim4cDAyXDHh8M0r4A2/RYWH81X2OQfb0CZ1/SPIwqb/CynVU0i4v5A2vxA
Xsurs/t5dXlBawFuHZSy8rOCuIT0/OAkiEt/lQVxX5ddm49WkJxVccRtr+vQ2N56JWakpAUqTdUd
De6de3tsC11d0KrUHKTay9o3LJteLYuP3oeuwZliZ5SiVLwLl7Pr+lcvXCBsI3YoROwQtC5J2ORc
ILw9tsUFyByWmlFXuwC0u8B2D+ByewBQz8E6lSssumiZU683a3RZb9YEMms0KndFb9Y4+o/agL4U
HU5QLUbTrF4mX3XGHMghfL9mPT+tYUMY2UhRc+8Ig7jyAWfRHlIwONzBRWCwrEVFB5frary9ECrU
eFddVARr1MXiz/rZb+4uX6AGP2Rj6Do2hvXangIVja3oTbOJ0j0HEmKufEybM4ft6pcU0J45b+p6
HRfB0O5Lh7K33Yu00qoMr6m78wEQuQbEVZzVnMeHuiPM8i88dH3TqVHd2sBpHWcFN/ZlbLxauxZo
vbGg1i5Ae/6WLO1xraoucfDZdcXx1RV56sPtskri1OsWWgkrWD9io+GnFroxVK1sTTlJBdSOypeW
UMtQuXirOfb5jpo8MaeDKy3AcuZ0X6ilsBZK6+9HaWxnwD4H2sQHX7FCP3TNxIaCKfYVvdumlifw
56Y3Q5bKyY1QXVy+iyGnjsl+jPGKqIv5P/WhZmqhjUBFgz2hpqfQBjyNDPBYfgDuRxq6oCCTdDeQ
+2wour3L0zvlvoCH0FX6n+W+uBEtCp9WhhCPyXwO8QpQoIfIffm5hTYMVTuj249efU+hDes18L8/
wrzPqgnGga05mTvEfTHEDvWI3E/gnRp5RJbciHbq7mllKIZSo/P34D7DsB4r+q1XcH9uoQ1DdVb1
rPl7Cm1YEYH84A6K7I6/ZdYl8AbV7Eb2yZDXt5L5PMb9BN7HruL6LPfZjbTFJffFEO0EbtvIXmAE
6yp6EVVwf26hjWieaNNRaON7Cm1YESF0K1XfGffJAVkndfq8L4b4Pu0huc/g3Vnqfgz3xY1Q2fC0
MuSLyTfvwn3W9zC6qXF3lvtzC20EKsaSX+W431FoY5Vl5RMsHbo+CvdtEtbQkEkpH8b9ZMh49Yj7
/RP46Ebu95Mb0dI6Pq0M0ZrykLz3GK+gdzWknZefWmgjUCkoY3uhje8otLGiiIDqDkR1jr9lUXII
0WRkPsdxXwyh7dREvzH3E3hQXQW2Oe4nN3JLmU8x5LRSt93vJxgEZESSuJ+aaCJQublee1sP35G9
YVkRwTNhPgD3RZdAezv7ji8ZMsVr3/vlvoC355LqQdwHEdEA+7Qy5A6Wko3xCjBuiJienyrvLVBp
QVaKljnud8h7W1ZEiBpLOW2Pw33RJQA1fc0vhoLv7Idwa+4L+OhG7veTGxm7POdPhlhO78bch2de
16oR3A9Ts54EqpZK71buh45UImu5zlf1JhneF/dZl0C787X7PO6LIV9stXq/3Bfw4ZzRMYb7yY1g
eb+fDIEpke49uM8wDNqm6pEs96cKaAtUp3vm/dAhoG257t/GuFep8BDc5+p7r3Wuhe847osh1u56
RO4LeDxfIg/iPrsRGrMQ1BJDQZm9LIjZ3GcY4E1Fj6wK7k/N6xOoXD3Qwf2OvD7LqgGAZm9h9hjc
Jwfk4JkRzx/IfTZEO8gbCWgf5L6ARzuU+8mNglmu+cVQsHsy49O5TzCQFtJD5v2peX3WsRCTKmZD
5bjfkddnvaGRoe3fR7jj84GGDp2evuZnQ1r7W7XxPMb9BB772njmuO/t81I8OxmxN9/rCwyMOCKv
J0zN6ROoBqBDCCZ05PTZoMicxzsQ0D3+loN9VhZinJ3TJ4ac2t3F3ifvE3jvRtbxsBuZYMOS+mJH
Fx35PagvMGJRyrOe+lNT+gQq7dor5D431O9I6bMByJyJpSKHx6G+yFbqUrZNSbZyhATIGgxUNI29
DmaAJM0KTHAVOgrXwQyQs3oDAzTbBId6+omMGAJ9K5njYxE6gWcpvpERGp69Ncqt30aMJTmQ94jQ
DAMQK8QKKyL01MRLgRqhJk9sE6F7Ei/BkTm0pWXrw0RogGfttTaF3JWsRuTGsDFtcgiv0gfwNZif
l/cRggqgVMpa73sdiX/1CpECFXSsOLfc+B60K0RawGcEY0sbg6LMWLh4QYMa4+YF/AQv/W875Dq3
PZUDt1CxBBVVsX1y7k3i22Or32RUrC+uKypFdqXSQDWvBjby3ouP1gMjSNGZtyStb3/8+69vv/35
pkP57ff/vPxGYDg8fGJ/+YE++vT71//99enXf/3x6W/boPXD39YGzu1iTjOriFq+Pfr8sJcvX75/
/fPPuodGhGsPTYKZf7x8Fz0fCa78/EqsnKl+wkqD/PrMf35++QfLBn7/8cfP37+S//6fqAj++On0
l1j55eXbb1+/rB6HfCl43At03guWbP87BenNu4+Fdx+8rjii2QpwEqDzg5MAJ/11IcC5nk/+vp1P
VljAKj9izwjtV0S4ludffHRt2GJQFcO2jiUE7PzYpliC0Tet1XJeVNB3re1bsPhovvIm/3jLzaVP
4emIUK6Nlgcylo6OS/LmPRuMsuAeI9IKTMUWusLpO85IG5ZCDFW7c8/nFqd3HUuhiM8OwetMveBF
G4oGXTlT1pXjZYJDE42+IixnPf1H4qEyF8pyJ6jOYrO0XPpqdK7/MuP9GmD8tIaNzvdslnPdL1Ij
Bafg0gtop+Di1Qzy+LML8HWOE1CkjirnBD54mqo2TsBIdbuMK381KGP30n4nt/hIMFCVjibLQqW9
EGqESi/bQghW7S32947plGRs75ywpQ4hj7qznVayt+VOoMhEQWgzRgGb7gJGtom4RGKsLZ2xF3QZ
BzSrKCkzrhtYJLQYSquE+jl57uUFQ7UBhlyxQscpXr0yo0B1FipkUyqgzq32ZKhe+dKpWT3UjuK0
xlENBkpdRXOLsp7bKzFnnelYA4Z2vctkzumOFHzoKbtN5mKFEMnGXOz4dch68E5/hHZ6lr4YVNA5
ZZ9hTeOSIditYbvLpnEn8CF0Vftkls0nN/IRn1aGYjym7DPGK7T3QzSOYW6lH0M1Bkqt2XPc76n0
Q0cjQ5S4vbLPgLcMPHTWzm6jmwyJlNIjcl/ARxzZMPLkRgGXKUBiyKvSOc27cJ9gWA12xCo6zq30
E6gxmvaGCbGj0s8pzeagtKp5FO475aSVi8ko+Q7jfjJk0d+o0u8Q9xN4Z7Cr0i/D/eRGqJcq3smQ
96WWYO/AfYHhTSgJCtdzf2qlX4LKdwLt3O+o9HMqsjld0j54GO5rzZtBncv8Hcd9MeRc52LpxtxP
4KEvryzLfXEjv7w/TYY8ukOJZWO8AkxNL/MK7k+t9BOorJLUMe93VPo57WlkPOy1WHgM7kduIRFU
ptrHuBghDuF+5IYQKjwm9wX8WdNhDPfFjYK2y3lfDFlfSlN7F+4zDCzWtdRzf2qln0AloK59vx87
Kv2cMdLxotT6+WG4b1hOwiifmffHcV8MWVPqbnq/3E/gz72axnA/uZGL/mllyMVSdtB7cJ9hGD1G
xTtOrfZLUKPvSAWNHdV+zkQy59wdqHgff8ssL2PoJ2XUPMdxXwzhzZR9jnGfwVvVqeyT5b64UVyq
eCdD2pQO2d6D+wIDEEYUk8SpN+YC1TnsUPeIHRemzno2F+9AxXvAWyYHdG/ZkxO5T4Y81/g/JPcF
vPNdFf457osbeRPs08qQDnsnotO5zzDo/4y444tTC8kEavBF1Zgc9zsKyZwzbM7uSS0/BPc5NzOg
NXE290XHRhXThO6X+wJeq6F3fCc3ArXkvhgy5sZ3fAlGhFLBbz33p+Z0CdSIvueOryOViFYYZE5D
Z173fXHfG66sL1ZNlIrZp9QkXqDD6AEydQLjIpMYAnUrneFjkSmBt2NvIcTJjV4mzyZD0bsbRyZR
1vJnJbpjkWlqfwFaKRK9rKnINt1Epo7+As4DmTO6dPjxMJGJdZRU0Did+2IInHlI7ifwMDTrkN3I
eFieRYiZ2FZuMMkntHdj7h+n5hwKVGNiRfHfhvkdOYcuOBqZGDoFc++M+cBDF+z0OwgxZONjnkMK
eGfUUOaTG2lUWj+t7HhXukh/F+oTDEu/dsQxJE5NOUxQUZXOBTPUx56UQ9DJ3O01bY6/Zdbncfac
ETCP+mLImQM1hjekfgIf7NCjCHIji+4i60js+Fgq7XsP6jMMz3PpCOrPzTgUqFg8FsxRvyfjECKb
K66HHob6kcIYjYOZvt4XQw583ybpxtQX8F6NzTYmN+I02eWCX+xQhLnx5SPD4JqqEYkHODfhkKHG
cm+/HPV7Eg6jZ3NYOgR5HOqHZ+98k6Ls5Zu1E04h88pogtfTpnvIWrQ9HaZBGU2gBojQsRZ17cpo
Yg5CUbqhVs0I20VbG5TRBCl3ZH5bQ41VRjsZgMss2oPKaKeHolPXHtqtjJYea87y2weV0eRxqF1T
jX3OC0LeC3qV0RhfCFGVTvyyymgEaEcZLSct9ffNR5eQyFXCmDVu+21bg0CaQDXGunZZAnpks0Ba
MkdbwgECaRibQ8ptBdJozUuzPHlqpvx24KI4JmHch0zHTeChr+lOblFMCyy+n3dPl3ZQq1ufggsM
wFLOaX2smHsKTlC18qqiWHATK3pOwXlIlbN7qRMPsShGT78lOsxU346jvhh6a0//WNRn8JrFeEdS
P7kRLAW3kiFtSmrI78F9gQGxohPCLveDmnsMzlCNw5IEznXuB9VzDI7clsHVFPpfzWQZIcR8AUYb
FT/CdRz9/5VOIKEzRWiEKu0CDG/eHW3cJkfFZCiovQOwu4yKJ/DWD80IEp/m2rD16wDvd/x8clQU
GNbpEoz6qDj1hkCgOu0qVMM3UbHjhsCrwOZ2k0kfIxDxsUK5eWtJ4bmHUiul0i/wyy/qcnS5u9SI
TDQKNTMVnhkqty5qr4llYM0Kz8kcQI3e7KY5yVoT1NNm4PVIo1IT9FX/E7+As6s3xvnCdoAQfVAd
VcyNb8xjMTsl98ZszxvDZxuJDcfbGbBywJud/7789fnXzHDYrRqmzahhCj7EWFGLshkO9/bYluFw
tOxxx4+dgmo/yd50/Fp8NP/YSX58pD9OvnBEl5+fFYzB0slS9UAWDoOv3fLYI7c8AtzxoWz7KTEj
PT84nRLTX+VTYrs9JbarU2KB5L0rJWDXR6+OU+KtV2LmfkWggtUV+VobusLbY1voSuZohhvgZe2n
xJtugYuP3oeu0Vso1VSW7k+DWilur3/1wgXCNmKHQsSOwVndsdTFt8e2uEAE4yt6WOy6gG4/DNh0
r1x8tB4YHVg6xr06a7FpY33nA6PKnQ9ktQoBEK90Pkh3YgqUv+h8cIJqAzR3PkhfNfZAtd/7tYv8
aQ07+q7LhFyvSHDPEemVXzoB3+SWLknfoVekwDCheK5ZbgzRC6GmMcRlQx3Bamm7NaAkMei523yG
6nwYMlPrjp1hvcy8QPXGVAg7rcO07jmRSOYQmgu1eRyahdi9BvaZ4vLzUTp+ek0znPHgMimSw5r9
iiFr0NwoO/pQs98E3pq+kqhMAE9u5JyBp5Uh5/f0P6ZHcILhNMKAoqigpwqzJahdRxq6Q5jNG03m
gtnrvfQQ3De0gqDYGTMiDeO4L4Zc8RzofrmfwFvXlR6d435yo+CWFx9iyB8shR7jFSEMaWfESdYz
uc9QaYde0S9iw/0OYTZv4rP0Fb99A5bjb9nqZ+DWPFfn/cipll/GN8pjt4egab94ZbvoFf1H8n69
2i4mpAbaG+Wlr0Io+cecrm+tvdBX+0XBHXXoKsZ6tbbdMAL9xwBq0fglWUJXOk/Z6fl2pO37JQ7w
obQ6LHR8O9x6vtTvbd2OXrBGoyq6TFUEyKnqdQkqKj1kHTe135tARe6i2R7LO4T2krngKtqNbMx1
dCZjcxEcQCbHZNxSSwzRkNxID+vYUiuBdxiGLrV41tYq6vXroMB3KOt2yCQcY7Qjsm5ZpmFyJIkY
saSrnuNLhx6Wt57Meb7m/ABLrfiMKlo/fZvFhrQKpbKGO+Y+g6c1XZf+dY774kbh8sJTDBmjb3xI
LjBiHKF9H/RUxSmBaoLryPPRHYpTngUMjS1euj0M96VH+bqD4wzuiyFyp4c8Xk2d3I0eerya3Ahx
Oe+zIavcsb4XY7zCRl/q6lTP/anVNgLVoyv1UMxxv6PaxrNEoKe91UfgvuemqkrZjP71OO6LIU5h
f0TuJ/D+UiX8MPfFjZxeHq+KIQMlMYX34L7AQNOUE5njvplabSNQNfG4udCfgbVz33Pms+mtF70z
7kvlkK+oqbpa4DJFfeICHb1YpzJdOQZGJjYEwdyoDvBgZBLwGIaeRiQnh2UH3mQI9a0vfRmG4Quo
EZFpbioMQ7UGSnu4XGTqyS8JlkYmxjvownn8LYfAQxfD9FWJGHLqVt24jnE/gXd93bhy3Bc3QqLY
08qQL6pRvQf3GYYzqrR9rOf+VFGsBBW1bdbDY2Dt3AfFLZLNh7j0BctDZ+YnfLAhrwjbI3I/gY9j
Ez6SG4W4nPfFkFHH6v/HeAXtvypaWldwf26yF0MNPkD7SaTpSfYCIHMazEeY96PioXuHRE8xFLAz
Q+7G3Bfw9MJ7My+uc5/dyGiznPfFUNyVWZ3NfYYB9I0RJ5FmbrIXQ42mRrRrw/2eZK/oaGSiLh18
Pg73gYdO++n7fTFkbSkR/465L+BBj6zSObkRRZSnlSFawt54zc8wUPuKybSC+3PzmARq9CXV8Bz3
e5KDUIu5kszQw3Af3TMoE+af9YkhG2/V8+YY9wW802MLPJIb4cVZnxjy52SQW3GfYWgNQ8rezNQu
nAlqDBVNAzfc7+jC6TGSOa/2svAfgfuBM6o1qksRywncF0NGFUUE7pb7J/AQh+73kxs5t+jCmQxp
LAnyvgP3E4y3nuzHuD8161CgWu9Kkj857ndkHQblyZx2nUfWd8b9wDeQxu5f3l6/gRyga7wGEysa
vl8HM0C3fQEmilPlVFAHRkU2FM5y7Q8WFRk8YR95EnIiWAS3fh3RlJKg3yUqEgzy0BF9yYOZmo8p
UL3vaMDAwNqjojZkTqP+AKegQXseOtSzb0CSIdAld7pf7ifwLsSR3Bc3MlYvV0RiKO5mrM/mPsMI
Xo9ZEU3NxxSotFqtuKzZcL8jHzNo5EpEWxIsexjuG3JACvF+9g1IMhR0Zx+lG3M/gXdD8zFPbgRu
UYeRDEGxzvw9uM8wolOl2a2a+3ZqPiZDjQZqpPrW3Lcd+ZjBBBqZCPEjzPuG8zG9K9WTFTYgQ/T7
VmBCjQrkdTADtD/XYEJFO42rYEbI2l2AATRRTV+eiSGn9pTS7jREC3jrRyanJbbTP3D9Orz3t72k
ZhhRGV8h8VMRoqcmpiaoCBXd5DchuiMxNVjL5kxnfvV9hWgbnlGhLt2KlqTYeyi11gb8WYX4dIlI
+2IWW73fTZViF6gWoWJ+2/hdhxR7cOrZs3rMaQZbiDm7VjFnflbUtFOue++7wh/wuv+qEv54Ffl4
+fzZg7r8hSw0GkeU6dipou4ClabGilqTzbvvEHUXc97Flv65l6Phli9oUG1LXnNb8AZvS9Iy9W+y
Pc2hobOqQAUdSvcPuTfp2zurirnoIAyQUbcFGfXjnVUTUoyLA6mxnVXFANIm8LLW51hn1dNDOf3s
ykO7O6ueHhtf+3X/dayzKj8OFVdgDvACyHtBb2dVwUczTWmNk9XMJ0ATOqsKJEI05K7Att8VNHRW
Fag+nJu7t4SU2N5ZVcyF6EotrqqdCZtDym07qwZH2yVa/F/uyzKNxMaJ6tFAcUqRsfaKqB6fvAUE
G9SFqN4Jaoi+WVRPvqoVdB4JH9Ngb+239NMKtjau61wz07/s1AoL1HLX4HgL6AGuKyv+7AJ87VBW
DPtOEBU3Ks04Ae3trTUbJyCkAWOXE0ROlLhtkzaBYXQoHVCUleZ7IVQoza8aeyWsNN59x6kHxCjb
e19tqUPIXexKBXi1d407PFNcHDiJJcQ9wc6CHOWxRl+XSHiDVJjICoKUA9qNlSQp1y3IBK0zWFIA
qV6QuLmXGAzVOz2ki4HrOMyrl6QUqEFbPwTq1KLYBJVC/AjRZtdxXNE4qlGbji5OrucWS8wZVXFc
sTGn24U+T+bAdJjrqE5O5qyrUJDcmLMdv87zqRj979ur3x9fOwQ5NnNVbX8rF2pOaztjtZ6gWqfa
F2ryVb2rdHqXPYcTeKNM10VXZs1+8uF4se4QQ/ZgDuIgl0SoaItdEcWnVmMKVBewojX6JvB0VGOG
YMicLepTPEzgAf4t4NTAYwJvtcMJgSdBpVVwe+CRr0bYa+N9n4FHwKPCrlLQXOBJPuyW7cfEkFfm
WBn4GJf0YYwYrZtaCipQg40VMXITeDpKQQNIx2TcUwx9jMDDmwRWRK0IPIeya8SQ16WSvTvmvoD3
r/pCY7jPbhSI58vCBzHEHWZvzH3ucWpthcpjBfenloIK1KhsqYAux/2OUtAQrZi7g+Tn4285+met
jXH2OvfpP8UxmXViyLoDPXduyP0EHmKX5GOO+8mNwOmnlSGHtz4/Zxj05odk1rm5paAMlTsSt5eC
up5S0Ig0MnE3O/0huM9ftAZUZt4fx30xZHGvtcJ9cl/AO+OGrvnFjVDBQgIiGfJub1qZzX3+otM1
VYQV3J9b8ChQaTvWXvDoegoekW91UesPwX1yQG91ri/8QO6zIdre3qjY+SD3Bfy5CGIM95Mb0e7+
aWXI455IznTuE4xgwpAEJje34FGgYuhoJe46Ch5BWTbn70D27fBbBs5OAbtqrTCB+8mQK1Y93C33
E3ivh14ynNwIl/IvyVCwpSPzd+C+wOB88RFnfX5qrkCCilhRm7bmvu+4KgatxBx+BO5rw2V9pqJv
z9WyvilJ+gt0RA90KmaEqcZFJjHkd8/X7zMyJfDBjDyNECdH1ulbv44Qbx2ZCIZR1rZUluQj09Q6
P4GqVVHGLxeZOur8QAObc6XmuA8TmYyi3+JcLkt6HPfFkA+lm6L75b6A5/ZhQ7kvbhSXbbGSIfrf
t019EBhcbzdiR+Kn5toJVD7gbj+J9B0pXmAcjUyI0DeF3Rn3yQGtQj2f+2zI6L0Z7U65L+BdGMp9
cSN6tHpaGbKhdPz/LtwnGKzAMqJC009tQJGggulIe/IdDSjAajZnP0K+JVhaMtFSPExf84uh4Eq6
5vfLfQEPSo08iTy5UVimPCZD0ZTu096D+wTDKhcqlN0ruD815VGgag0VXXs33O9IeQQLNDL00vrc
+L6475QMnZrOfTFE/3rEdOcE3tqxJ5HiRlFdzPtiyEHpCPA9uM8wjB6035+adZigRt9RZ+E7sg7B
OTan70DXZ8BbJgek1+wyml4Duc+GrO28urk19wV8iF2SqznuJzfy2j2tDLmIt+Y+wXDalbSx67k/
NeswQY09NVa+I+sQvGZz/g6azR5/y54ckJb888/6xJCNey2U75P7At4Z1VtffZX7yY3QhaeVIe/2
8rNmc59hBB0rCFXB/alZhwlqjB16fr4j6xB8JHOoSjJuD8P9oERyteKo5PoN5AD5lxWYoEqN6Ypg
BshbLcAQNcEqMzsnKxlyxfYp9xsVE3jwI+swTgRzSzWnZMhjqe/9e0RFhhGNG1LC76fmYyao6HTH
7WdHPiYEL+ZKrWweJyqGZ/I+W1rdlVROeyhV1qVJiEKxyXG933XkAtYrXQpUPi9ozwP22K50yeYi
QrEFbFaZdK0AY+klvU4ilQowC21Sh/ESFyobSjeC1W8sdGRwtbwxeDbcqaZ9/RRUzxvjPgMATe2M
M/JzQS9++X9f/vr8a2Y47Fb7xGa0TwRftBDak1npK+fHNg0H+iap1uxwmOYV0EZ0fvHRlYHhOmjY
CgpDraDwRGU/8qhn5YwuZQZWD6TND+S1vDp7RPxWgEdrSp1ss+KZhPT84CSeSX+VxTNfl12bj1aQ
0KimscxGr/YbH9x6Jea8kqBqhfTi2+nq3h5bTVc2p5UulU5We1l7j4hNw4rFR/PFM/nHG+9DSznS
5S9eza7rX71wgbCN2CEXsRkWBb8KQdONC4S3x7a4gAHnm45Fcy5QEOOt7cyx+Gg9MMh3ysH7mlYd
DTqXtqxiApHNarTuiooJ70uMtSb4CxWTE1SH7fJJ6av0v/sSL4+JnbZ2NPhpBTsGN7SBW2o2EYxa
eQH//75tK/sEIxSLzss6oL0QKnRAV10lBGsIsaKooWL+m7vPZ6ig+ShuANSOrWG9qmCCCug6Nho9
RxJsjiVM23NBArbr7rE5j87D1XsUbjTvvsyJtT4i6pCJtbSz0MFtYi0jVe2awumrPnb2GzsgkNva
RWQbbD0SSXRnsBVrm2grbVGCtrh2A4ilo5odedwjDVMucBAyXVKuKYjjHm7aUpLGXTdySVjRVbSe
3o9hMLfcjaHS4mYM1KnSuAkq1zc2xz/oqcxjc3xG337wBx0irkDeaYLVpX3fo7TViop/C/ic2mDP
Ot1pZd34dfoJqrPtc0f6atzVo7/Lfn4JPJ7dbchq/eTD3i4qkMUQKKsPqQ6NcUkIMYy4/4eptT4C
NVosNRjIBZ6OWp+oHI0Mxs7U9TsLPMBDFzGjODasl2cy5HVnf/pbc1/Au75b7gz3xY3IdYN5WhkK
8Vi+/xivQFtTl17B/am1PgzVKmds++kvdNT60F6KzCmrbq82ePwta8dDZ20m338c98WQ96XGF/fL
/QQ+xi7FsRz3kxsF9E8rQ6BKzSzfg/sMQ8sJyADuT631Eahc4N+e8wsdtT5RRzKnoJTY8DDcN+SA
xgFkstvGcV8MeYwPyX0BH85dSQdxn92I1VefVobAl7rDvgf3GQaLDA8525ha6yNQncLYcbbRUesT
jedKCN25db0z7pMDOm9URnFsIPfZUHB7O9k75b6AB9+V75/jfnIjD8t5XwzRfvK2t3MCwzs3Zs0/
tdZHoAbdk/EBHbU+0Ro2FzplKu6L+5YcMPhQlRBwiPtiqNys4n65L+D/n7tr25HkxrG/0vCLp14K
ulP0ZwzmdbAod5fhBgyP0fZcPn9JKisrMiKlkBRSZWbvAjOu9GTwpIKHupGHsIqQR7kvbmTUUtcn
GYo+3Jj7DAO8qriXreD+1FofgRrfu021cL+j1idaFHPh9toex9+yIweMQeWURsdxXwxB7yHJjbmf
wAc3dN5PbuT84s4zGYrFAruP4D7DYMWXIfP+1EwXhuqUMaXCuxz3O9JHouOaC+NKXdkfh/vI9SNn
aYSJ3GdDAJ0B89bcZ/CRdpUjuZ/cKAI+rQyh2ROxnc59gkG7kZKGfj33pyqMC1TDZzHt3O9QGI/e
0shELHUVfhju+8BDh/Pv+MSQM4857yfw3o28309uhNYt530x5GFvZzSb+wyD+82M6CwSp6ZcJagY
dPt+P3bkMdESmc3Z7+J+P5ADOnsWk5jHfTHkQqml9v1yP4HHMJT7yY3g4n5fDNEkduM1P8Pw5txB
7Rj3p2p4J6hYXE/muN+h4R0DkDkfO4+s74v7oHjoUE2f99kQRefOVkw35n4Cf65KGcR9dqNAK6Gn
lSHDDW5vyn2BgSqOOOuLc/P6GCoEXVEovuF+T14fODZn9g5jH4P7tGTiwwsznftsSJ9T4x6M+wIe
YpeOb477yY2CX877YshgacL9EO4zDHS4LwlTwf25eX0M1YMJ7RresSevL/JcyS/tO+B+pCVTUGCn
c18M6WLe9f1yX8BzW92R3Bc3ArWsB0uGWCzyttxnGKDCEC3PODevT6ACVKQibLjfk9cXgc3tJl4+
BveR9fxqNFCuSuiNEJB5B4MiLljMaiuCGaCNsAJDS/J9/78OZoBWxwUYF91ZCXVeiBZDYG4lLngs
RCfwfqhAwontblntnwwhliSYPiJEMwwMrrQBqQ/Rc9MvCapXTmPH1qwn/RIdmdO+pHHwMCEaw7M3
0ZRSSUvigj2U2ohdvMCF+xMiSxPuiNY+sSP1r16qTqCiqclW2PhdaJeqY3PAu5AeccH1O7Iezvck
VRX052r51/C6rJYXVKCK7Y/r31dHulbb+4qgY8e1bYT294VKGvLVdH+5rk8V4/IFDeqomld+E7wG
ikKj9W+y/QIet1CxBNXaULrczb1JfH9s05uk/UqT0G5GYwtV89Jtowu9+OjawNCKe5FW9/WPf//1
9bc/3zURv/7+n5ffCAyHh0/sLz/QR59+f/3fX59+/dcfn37cxvcfflwZMMZcLoNEYPH90eeHvXz5
8u31zz/rHrouaT09NIk3/vHyTer4ZSLk51djhbcyXxrkt2f+4/PL31lv7ttPP33+9kr++38iP/fT
p9NfYuWXl6+/vX65fFzQxSziai/QeS9Ysv1vPm7ffcy/e+sQS2f6WeVGAnR+cFJupL/Kyo1va9rN
RytIUUNF48v9kILt5/u4lndffHRt9GjRXdFWbB1SCNj5sS0hxSnnK7Tu952poA9aq3u/+Gi+ciP/
+GBp0XAKIj3aredncXdq8jpT0zCkQelqR62EfwJfNAR1Ra2ET940zaMOLtRKBCoR1PtmtZL0K3Vv
m4djqoKtCuL/XMMG01W7kFPkT+Lu0SxqF9gQJ3tdP2aOP7sAr+1OYPS+ExiLNN9mnIDTg53ZOAHL
3ATT5QTG+6La6we0HRAYgb7eLZ3YC6FCOnElVZ+wRltSnZqjENeu5r6lDusTha4rgTd7W+7wFiiA
w9UY0RS9VxVd0Ig7Jl2/QhKglPBSUIkbIKC/oxN3IaovaKPVFZ1+KhY3Uy8xBCoqM6R/EnYc5tXr
xCWoESr0kyqgTi39ZKiWAnzFuWMF1I6jj7ZRtRqKXU5zq9uOW6xkLnITpGZzvl19L5lD6zrW7h01
uGLO0FqsvewPoefXifzvWTf7hufNx9cOhkV3FahMCnDPat2xfMWE1XqCSv/cvlCTr9Ia7xG7aCXw
xvTVHWXW7MmHQZnl/CmGrNc7GRuzl7MMIypdcZZYEcWn1hwmqLSb6ojiHTWHaCwvcOxe88fHCDzI
QxdUJg9pWAe9ZIhiymNyn8GjVV05iDnuJzcKF2tnNoTKN+lST/IK5BSpEdyfWnPIUK1yRYXhHPc7
ag7RWjJnMXwPiw4bWMwO3eyewskQ6pJc3f1yP4H3amT3zORGznr3dGlI0xrwUA7iGK/QYEbUHvB6
dib3GSqXgzZvp0B11Byi4/2NsyXltYfhvrPS0N5O574YQijliN8v9xm8pTXwyH7iJze6qDlMhvTu
knI29wUGQEUmSAX3p9YcClRHm6TmpBUG1sF9IHPuHmoOB7xleI7WhFBz2HCM+2zIxpL+4x1zn8E7
o2Eo99mNPHnS08qQdyVP/hDuEwyni+VP9dyfWnOYoKIuRcsc9ztqDtFrMud1Kc3pYbjvnQydymgK
j+M+G6JFc0nz/X65n8DH3kvG69xPbuTNct4XQ0btRcjZ3BcYEUbUHHJS00zuM1SaunzznQYD6+B+
JHPel9KfHob7gRwwYLbR6DjusyFQUNpC3i/3BbzWY+f95EZ4wX0xZGypec9HcF9gRBxRWABq7nU9
Q40e22sOGVg794Mnc/r7OOujL/HQxenn/GIIiiV8d8x9AX8uYRrDfXEjY314WhmK4G58zs8wKDZV
5CNUcH9qMRtDRcWnyO3c7yhmQzBciWorapiuVqJOqVG5QMdpS3u1kA8RmcDTbwnOTd+RiCEIneH8
xpFJwEc19hYiuVFU+mllCM2tTyIZBqueDsjMAzU33Y2hGgPtaU8MrCMy4TNn5+xlOz8E96PhoYuX
mn4L7tOzdBzBfTHkTHjIHUkCH1SX8mGW++xG9Nhl9oEY8lHdmPsMwxqjhtxCTO10kKBiUY4sx/2O
TgcYA5nzZk+m5jG4jzx05+TUidwnQ075x7yBTOBRdSkf5rif3CjA8jRCDJndQ+7p3GcYNCEMkNcA
NTfrkKF6DKVWgznu92QdoiVzrHPwHXAfAw9dnM99NhS0ekzuJ/Bu7LwvbhS0XnJfDJlgD3UzH+MV
rHo65DRibtYhQwVub9bO/fasQ4r+iswZg4+ffUC/xfLQnZdMs7h/MgTuVl1Nj3D/DXw0AzOP3two
RHhaGUJ1rJv5GK+I3pek6au5r2dmHSaotOSH9nlft2cdkjmgkYkeb9/d7Phb1kqGzuQyj4ZxXwzZ
eKC++YbcF/DOjlQHeHMjXHQ4OhnyvnT8/xHc1/pZKaNgQLUB6JlZhyeoqKF93tftWYdkzrM5ZR5/
v0+/JT4rbbWZPu+LIU60eUjuC/gYB2YfiBvx3v5pZea9zeTNmE8wjNWldW0982fmHCaoVtkKrbMN
89tzDonyrISLPu7ff1y9fxyhfXQJRitTIcp0HcwAbbcFGEM+g0V1gYeJiYbiO7mUnh4TxZA7S749
VkwU8F75gdmY4kYGaSP/tLIT3F4/wdlBkWE4elkjrj71zGTMBJVeTOnCKBcU25Mx+ar62bDKYiEO
ZZVer6jgmLfBqVTBeVO8cT9/eV10C0y4aBbTIw6udEcKXbXW6wkqqnatVwbWqvVK5pAcBEK4vWz/
AF7SbwmgalSYrmlC98TAlYrX68+vn+NqdMGpUsCq97uO9K0WvyOoUdlSonvO73yf30XDh38NI3Nd
RhJ0WPzy/7789fnXzHDYre6Qva47lPA5GzsqVwnO+bFNw+F1bMrxzQ1He8OHTfeJxUdXBob+49zZ
/V0Ck9ZBlRKY8xQ6OQGR3NhrOK54DDrmB/JagqDdTxDMilgLcG3AlcpxciK4jPT84CSCS3+VRXDf
Vl2bj1aQrIuluaE+enXoam+9EnNeaZNeZ0eKl8b3x1bTVcwZ17QtzniZad97bVqiLD6aLoIrP561
R1qWv5e/WF+u6ta/euECYRuxQy5iWxa1g9Bx8keAzo9tcQGrPZoBE5hp7xe0adGz+Gg9MFLObrS+
WlUUPWr3pUNn2BSVy07jw+vYrXKZnGtbhcG5pXLZG1LarrQql52+SluG/mrGTr3U1gYVF2qpJ9xO
KdezdX6ztmnPg+E5RO+iWbuBd02qZeN6cVzisDqUtMAKWqmH+4EUlVIve4ScsEIcsm80c3f6DNW5
WHHpWQG1Y4tbremZoHrdIbLJY9h+KCHmKDa0F6YY16x6ydpgz4pLImoaRjfEW7sTbx3RIRpzRdFb
jtJwpectOI2B0KzpfvqFTusPiLWHGzf9cw076K4KjVwjtNRTC01Ye4DHvbvtuY3QEgyaE0OtKPUw
CBVy55fNs05YYzEdoD56zaxzS1CdDxUHJRVQOwpfGgItQ6XI17Mkbi/JO5mzNemBG3OhJ9BavnVw
pRX4g7Szo9+CzyxamKuzGdXKMhlyKna2ab1pK8sTeG30wE7j4kbWR7Nc9okdU2wh+SEBnGHQFDPi
/MXMLLNJUH3QpTyYHPXby2xQBU3maPN9+1T74285OPotiNbPpj4bCvTHjdJtj1E/gfeqK+0mR31y
Ix+sXi5ExI6B2zaxPcGgfxiyyJhZZZOgQrAViTAb6rdX2ZC5SObKq9qHoT5oGTqYPuuLIfClji/3
S/0EHm1XlU2W+vGZpp6Lwx6xg9q2tBOa5BSRJrcRifZmZpFNgkqL1p4Ff0+RDXgyZwC/h1kfwrMJ
DnJSXwOpz4Y8ls4F75j6QTrImIFHNuJGFEzictYXOwDuUGLZGKcAZ4YcN9u5NTYMNWrTcbRge2ps
uCdh1MUmAg9D/chtJby+1LCaQX0xFOytNDWOUT+Bh77a2hz1kxvR2D+tDAGW2uh8BPcZBjo7oh09
2Lk1NpF7I2hXUQq44X5PjU0EzjfwnWWi98V95Itv63ymvm4c98WQh1t18jrGfQEfdJ+mRpb74kZ4
ce0ghsgrb3xTwzC4IGpEfZ2dW2XDUGmBYtvTRG1PlQ067sdYbJD4ONyHZ0tjF6fP+2LIYudi6dbc
Z/DO+KFn/MmNwLqnlSHv9o5Dp3OfGw4YX5G5WMH9uSkmDNWrUNp/57jfkbehlaaRAVquPT73tSIH
DMbYTB3ZMO4nQ9btaVbfJfdP4BG76sgy3E9uFI3yTytD3hzr6DHGK6J2JSnmeu7PVPZOUNGZUu+z
HPfblb3JXKSRCbGkOPAw3NfkgKLYOpv7YsjoUueF++V+Au+wS08ny312IzCwyM5KhuiFHKqsH+IV
TmlV0RK3gvtTM54S1Gg6ShJtRxqR1p7M0Vdvr6cz4C3HZ27zHWfv95MhU5RlvGPuC3j0I8/6Tm4E
3j6tDDld2mh/CPcJBu1wSluPeu7P1M5OUHnR33HW166djdoYMmd6b6vui/uGHJAPdKdzXwwFt6cQ
d5/cT+AhDJ33xY2sDfFpZSiq0r36R3CfYXhfPM2u5/7UpD6BSnvJ2F5UaTuS+mgCIHOs7/EdcN+S
A4Zoc7ox47gvhtC7vkOSG3OfwQPrpw3lvrgR+OV+XwzpW5/zJxho1ZBz/qlZfQIVTaxor7PhfkdW
n7bh2cUYSuYeh/vIJUHnSryJ3GdDzuhHTOg9gfdh6Jpf3Ii29sv9vhjysLeknM59gqH55Y/g/tS0
vgQVaxoNb7jfkdannSVzEDvLCe+L+y48e0thc3ZaXzIU3UPe8Z3Aw9A7vuRG0ajlml8MYbF15kdw
n2E4CKX0wmruu6l5fQLV+2Da1/yuI69PO3xWyruKus9rwpVDtI7ewXiW9PQB9rdmV8GMUHJZgQm2
4tD1OpgBmiIXYLy3/rtYnnmKE0H7XDvDcSFaDBkoFcbcb4gW8FYPLbU8uRF6eFoZcr5JlmSSVwDE
Uhvx+hA9Nf1SoEYXO45kXUf6pfbARbe+lPGV1fTcvJLI26IGtZY3ZRYffsFf1BpVNBV5aBXvqyNl
rl5ZkaFqb2zJw3Pvy7QrK7I58mS8g3YUA1gJzxQbfCkNoKTo2RMCy0IVgsgbBUPiREe6Vpvfgda2
dC2Q8zvb4XeBg7uDUk5NURbOuWVgGNSROS+4KHi5tGhEwr1rv4DHLVQsQQWjOxLvCNj5sU1vMjqo
CFi70nYuNC9DN8ryi4+uDQz3+npfpXz9499/ff3tz3cp0q+//+flNwLD09In9pcf6KNPv7/+769P
v/7rj08/buPFDz9eGkBlLs/xk67p+6PPD3v58uXb659/1j3UOX3toUkz9Y+Xb6K9JIGVn1+N9Vy6
ToP89sx/fH75O8s8fvvpp8/fXsl//09UH3/6dPpLrPzy8vW31y+rx2FUAyRpXWGbtmT733zcvvuY
f/dBYwz7h+lbwVQCdH5wEkylv8qCqW9r2s1HK0gm6jH7/PbzfVw3iFh8dG30bPSxY1ES3x/bElIC
rfFLubzVzoTNIWXTOWPx0XzBVP7xCDG+bQTfJZNpt1EpmXx+FqhnEYnPqIVcNKRoUJfTZXU5/gma
FuE6XpGX047+JW2dlLoQmHuDqk2zwlz6qjauvxvGx7XC+OcaNrihfcEM0hyn3KIPBtsxSBvp27YF
YxhWGV/qr1sWmOuFUCEwt1LiT1hj9CN6dvi5R7AMlQhXKkith9pxFFEvMCdQjYGKNcJ6FvE9p8Vi
zobSNX7OnG4XmNOguQyRAtvNd9LHuRppDrIKtbk2b8SfXYDXdlFSCzvTBr0w7iYZwrVpw6vniNZH
fzltJKTRdUwb8lVjOhUBD4hAt/euWc0cCTn0dpRM9rZTB/1r49zFlZhYcmrveKggA32sUc8lEkcY
C2+rIAQ9oF1QSQp63UIooQ3Frmb1UXlqja5A9RZKvQProXacUTVMIAw1KFfRYmIT0TvKiZM5bTva
RHjbMYFEmkC0Qnc16PYt1rmaYEd6v2uxnqBGaJfeT181u8V0d9m67gTeD21dlxYOYC7W7GLIwt4V
6uw1O8MwylXk9lTEhrklhwIVQim1NUfWnpJDVjUxttjQ82FWe8i/BTBXbtwTeLzVtB0fH3gS1Bh0
e+CRr+KR5d4NA08C70OXtFku8CQfxou6BzbEW98dv54deBiG09a1XCpkA8/cekeBGn3cX+ptAk9P
vaMoQDhXWpQ8SuAxiruQROcztc7D+uUmQxgfsoe4gOeuEV11DznuJzeKbpFckwxpW6rg+QDuJxgU
+4fsnabWOwrUwB7czv2OekcjQhQq4u0T6wa8Zf/sjIs5nYOB3GdDtGu8Ue7zQe4LeAsj7wiSG2kT
7dPKEPhjuc9jvMI6O+YwYmq9o0B1ujhiOe531DsahWzO7GU+PgT3taHf4s187ouh4NyNkmqPcT+B
h8HcFzcKSj+tDAGWuuB+BPcZhie3GFHr7KfWOwrUoENFNtiG+x31jkYHMVdSe30c7nPBrQ+h5pTz
GPfZUIilnJU75j6DB6O7GpjkuC9uRLP/ct4XQ9HtyeZN5z7BAIclIbp67k+tdxSoUWNF6+0N9zvq
HY2xz6xHdwdtDI6/ZcMFt2ul3hncF0NQPLe+X+4n8LH3dvc695MbOVzO+ybVP5facH0E9xkG+mJi
UDX3w9RkG4bqFYXQ/SXKmvuhI4PFWEXmjC9V9T0M963lCkWoSMC9WqE4Jd//Ah29WG+mr0rEEOCB
zuM3jEwCPhrbVeaXi0zJyS964iZD6EpHgB8RmRgG/eMQFYYwtcxPoBprSgr+ucjUUeZnLJA5g3eg
vnT8LTtyQBMQMiW+47gvhmjpeCP1pWPcT+C9Gct9diNrvXlaGULYu6edzX2GYYOGEdUZYWoGl0B1
nDrUzv2OtCjjHMtkeP093EA64KFzdvq8L4ZceMwbyAQe49AdSXIjXCqtJ0NB7+3bpnOfYNCUMERx
NUztspCgIpa6duW439FlwXjN5op3sw/Dfe9YtCL66fO+GKKF80PeQiTw5wPCMdxnNwqK5qynlaGw
q0k9m/sMA+jlj0h5DFNTHgVqVKrUgjbH/Y6UR+MjmzOlu9mH4T738o7OgJ3NfTHk3Z6O8H1yP4GP
Y9f8yY1CXHJfDIEyN97vMwy0Xo/IPApTsw4ZalDK2/bahNCRdWiCZ3NwBx1VB7zlSL/FgZnPfTbk
sZTEesfcZ/DBwFDuixtprZf7fTEErqSj9yHcJxjaYkUqXwX352YdMlSji0V5Oe73ZB2CoZEBs/eC
HoL74HnojM5w37gYYQj3xZBxezPafXI/gT9XH43hfnKjsNTHSoacUofk/MZ4hVU2DFnzz806ZKjO
9iiuhp6sQ0AaGUs7/u+A+1EEW6G0FC/eQA5QklmBoTe5/x6vgxmglLUAQ9Tk9JSMBv24qCiGYm+T
zhtHRQHPIsRDoyITzJmlMJQYcsqW1Ec+IioKjIBD8jHD3HxMhuqdwo5T0J58zBieTcRQuhfOipxu
lAhc8I1KBG+qAz+bn1+8usTFOhulXVr9G+vIoquXm2So5OK6o5Q/YLvcJJsL5Px77ZsfYx4Lz7QR
L14llWROe4JgWS4pIYq6YjLb9zvoyOBq87to31srN/gdqA6/Q5rmOU98gJId6MUv/+/LX59/zQyH
3Spq2IyihuAz0fv2I2SCc35s03A4beMAlUhol6zfiPkvPro2MKC9Pm0JFip8UKvCN1EkkOEZb4pp
ZNUDafMDeS2vzh7R0WXgVitTkei91eEkpOcHJx1O+qusw/m27Np8tIYUsaKAuyJ6td/44NYrseCV
tCw8dyNooat7f2wLXa3XpjTTVHuZb6brpt3F4qP5Opz84x24Ghnl6wrVEC5XdetfvXCBsI3YoRCx
HRrVceFPgM6PbXEBMgdNCuY5F2hvv7JpMrL4aDUwtPB9DhidulpUGD1t3L60a9bpHfUkHp+AFlBd
ETExQP8yBuXDhYjJCam1tlnEJH0Vo+4vbOjUrGvtzXCpWMe4gXYmuku/5M3atkMIPCMuSxqSHQ24
c09V0Ks70oRihcMrl6lwvWgb0+CNrsYbISrIeSMq69zGG0E5hHYFxfRVVKVVSEGT73C7j5Ii37oF
iGDV3vj+i/iPa67zzzXsAL3EuSr+IU0/oo1+PT4UWw4VAx3u4SEwaHdWymMvqwT3QqhQCV5190hY
iThDFo5TD8gEqoWiCEY91I6ToXqRR4HqRBzpONQ4tRxMoHpVIxBZAXWq9rJADbTtar8zho4T0mSO
5dbazWG7dObJHFbIhqzNxY66vGTOBdjfxG7MdShLW6UpzrwXqNzw8PJ4fNf0W+g/LjvFHVsYOa2c
mrAwSlBpFde+MJKvGtcp2HDbZn4n8BDjwCVH8mGwYaE9kAxZ3Ltcnr3kYBhOuZL8SX0Un1rpk6BC
MUc6F3g6Kn1ouyZTcadk5n0FHsO/JerrxwN9gcdb5Xc07bsCT4KqbMeOTL6KRf2s+w08CTzooYFH
fNiZuCgvFkNe4THRkzEu6aGoTlUfeKaWGQnU4IoNxHOBp6PMiGYfWWB1ioTfV+CxvFiMQc/uIJwM
YSwJ09wv9xk88FXpSO6LG7F06tPKkLal8/OP4L7AgDFnB3FqmZFAjQ4q9Fg33O8oM7LWkTmvSonY
j8N94Ah/Fm+ayH02RNR/xO7hJ/DhsvHFUe4nN3LWPK0MUYS88YaDYYRgS1nP9dyfWmYkUClKlSSh
c9zvKDOyjvY3YN0dpGkdf8vO8dC5+dwXQxFK8g/3y30Bj8p1iZvnuJ/cKPrl/QYbisockxQa4xUx
hDFr/qllRgKVO661HxnHjjIj6yKbQ3P7jirH37InB0TAy53sDO6LIdR7M9p9cj+BdzCW++xGjsLu
04WhyOJzhxLqh3hFVKBLwjn13J9aZiRQtVM9NxwdZUbWezZnv4sbDh/pt8RzMdlE7rMh9PEh9/sJ
PGo3kvvJjSC4p0tDhkuOb8x9hgFeDblkmJsrwFBp8i9lguS433NVHAybgztoanL8LQdyQBvPJYbz
uM+GHCF7yHk/gbdj1/ziRl7H5VmfGNJ+b1qZzX2BQXuPIfP+VHFzgeodluaUHPc7xM1tQDLni9U4
D8N9IAf0aNz0NT8b2umCe7/cT+BXEfIw98WNglkmF4ghWmHceM0vMDAMKS7BudlsDJWiVCl3OsN9
7EmigvAcwe9uyh6D++SAgCFkCugHch/5HcVbNTY4yH0Gr83Y+31xI6L+BffZkHHHpATHeEWM6Idw
f6p8uEDFYCqgbrjfIR9uo2VzuvO66r64H8Mzl0DkWgeM474Y0rZUZX2/3E/gQ+gSz8hxP7kR7VSf
VoZM3LtCms19gYE1hKrg/tykQoaqQ01J7ob7PUmFqNic7yzEuS/uo33mRpDz1/xiSEOpLOZ+uS/g
jcIuObEc95MboVtW/4kha0qL7Y/gvsBAqLg0r+D+3Lw+hmopKrff72NPXh8CmTO412H6EbjvlOKh
O2evT+N+MsRn2A/I/RN474bu98WNrF1KCCdDCDfO7REYLuiKzqAV3J+a1ydQvVXQXqOFHXl9Tjka
GexVxLwz7gMP3bm/4ETusyEHpbK9O+Y+g/dnffoh3D+5EQI+rQwFc3PuE4xgYEjrAJya15egYqjo
brThfkden9OidukrGqpcVbscoRyyAgNGdeqAjlCyWYGJqmIBdh3MABWsBRhNXuFj5y7jvkK0duzh
cXoahhgCfbPuLsdCdALvunVZroZocaNg/HJ5JoZM2Mvqnx2iBUasKRSvCNFT0y8FavSxZ3nWkX7p
NDxra7yv0HLZaJquX4mLVr3tW6uUXN5UW+A1mJ/VGlWMFTKhFe+rI2WuXllSoDpvSjVrufcF7cqS
TkdyD+6d+D3EanxW2itfIfpyTdG0JwSWpV0EkdEmtsieZf2uI12rxe8YKpjS4OX8Lnb4nVGStFvh
5tdl8RCXgWFQI+e84CTjjZpVDI+/yajaL+BxCxVLUI2DirOD1ZtkYOfHtrzJaE2xCrpS2i8q3bwM
3cjRLz66NjBkBN8Txr7+8e+/vv7257sU69ff//PyG4HhaekT+8sP9NGn31//99enX//1x6cft/Hi
hx/XBtzqdkp0Xd8ffX7Yy5cv317//LPuoaDctYcmzdg/Xr5JHb8EVn5+NVZ8W9jSIL898x+fX/7O
Mpfffvrp87dX8t//E9XLnz6d/hIrv7x8/e31y+XjXNQtfM56QWEzsmT733zcvvuYf/d8vVrKeMgJ
xjKg84OTYCz9VRaMfVvTbj5aQwJrWlSMsyGl/Xwf110lFh9dGz1DC/LmyYGBnR/bElI4A65pZHLO
5JpDyqbdxuKj+YKxzuhnjVq/XfkuJKN1rWT0+Vk2Cf16dX33etGRY5yaKb8/62jP4a+olfB5MZ+5
B7xQKzlBdRCa1UrSV2nh198g7eN6gfxzBducuxaNaQSSOhQ4D08Xhmid78PV1JL4swvwOl7Slp1A
NNqvSdqyEzgVNGvTrJyAkLqIXU7gvPclneUP6HYiMIJxJRhl4cleCBXCk6t+CwkrRYAP0DI92rxk
Sx1uKYNdVwJv9q5xR6PCpc6HWAK1q4ZSUAI+1qllhQRMqVajoJI7oF9MSSd33UNG0EbrS3nT9Yub
uZcYDBVdjRp+BdSOw7x6+U2G6inyjugsG9XU0s8EFdAO2TB3HH00jqpGrFhubla3PbdYbI6V9zv2
56Fd9jOZ4zPZdnMdNbjJnFE95mLfrwPDvTj7zpGi+uBzJCsKynqELHHUc8+RGKqjfVhzUhcDaz9H
Et0x6yrM7W769NxzpCTFZk2cdY6UDHi4euTTe46UHgpox54jJbm4s6Tf0XMkETSLWHHSsO8FM86R
LJ8Doy6twrLnSHrOORJDMgGa2utkQ8rccySG6tBD+0yre86R2JxXpqLD9b4zPdw5ktW0R7Km81Tk
rnoVOse/BXQuSbbnHMtpTQF8/DnWCarx7UcY8tXYW9Jw27a2J/AR9cDTrJMP06rg6dIQKO12sotm
H/QIDNBuQFtbbmQ8cyvGUKOz0LGQ69nfOMtb/2hvn/51/C17/i004Weq8noCj7fc+3l84DlB1R1n
p/JVdHAj6b9jgSeBPzcDHxN4xIedMYuSQDGE2oRD5cBjXBKjKuk01geeublnBNUrX3Ppugk8Pbln
3I9KOeiscLmvwBP4+Cyef0sx8BzKOxVDiKXTz/vlPoPXysSuvNMc98WNKEovpP+SIZrsD5UGjPEK
TXuRAflkUc89/2Woxtcc52y433PsGByfcuqSucfhvueGcArnc58MWVU8Gr5j7gv4ELpKAnPcT27k
3fKaVAzRJHbjeV9gxGJLw3ruT5X+E6jOn3tVtHC/Q/rPBWRzvcvX++I+GD50d/O5z4a8glIrlvvl
voDXynfJgGS5L24UYXnYIIaMOdbmY4xX8HZwxBW1nir9J1ApKIf2+z/dIf3nIJA5jZ2drO+M+8h9
ZjDX1HAg99kQaH+jWrOD3Bfwrq+vYI774kbG6mWtmRiK4Vgr4zFeAd6WSt6quW+mSv8J1Gh8SXs/
w33TIf3nouW7QvtdrPlj4KGz13M0R3JfDFmPD3nWl8CjDSO5n9wI7TLtTwx5Xbqo/AjuMwzUxROt
eu5Plf5LUGMsafDmuN8h/eeQ68cc7B3IPAT30bKsAVb0/75avD+lFO4CHb1YuJTdmhGZyFBUSncq
uN84MiXw3g49iRQn9zqap5UhfVCgaIjPRhXNkNMIM1WYUKBqbyrotYlMHcKEDoHMaWNvL0p6+C3T
/1aGzmXUL4ZxPxkKFM8fkPsn8LGvCUmW++JGF2LkyRCx/7arEoFhnB8hRs41fhO5L1DJTSs2Txvu
dwgTesUzuYWK7MBrM/mcZOQFOsfNY0Jnvc+dRSaih9Xn48uJkQmkvL109HbHkYnBE/qRJYbJjaIK
8LQy5Iplbx8SmYBbwmBJRKk+Mk2VTUxQaYXRLJXOwNojk9Zkzmn1HeRGeO1Ea2D6OWkyhMVj9/vl
PoP3ygzNizq5kUP3tDJk9DFNrjFe4XnPNIL7UxMyBWoIvjQR57jfkZBJG0gyVy5wfBjuG3LAwL2l
ZnNfDCHcqi3iMe4zeFDnFqGDuC9uhHaRG5EMaVsqSP0I7gsMPrAdwf2pOZEClWavCg3TDfc7ciK9
8dzpB0vdmB6H++SANKVdVrBN4T4bCvTAh+S+gA+hqy1ijvviRtpG/7QyBEVRxQ/hPsFA54bkQ5up
OZEMFZX2pUyyHPc7ciK9NTQy4PR3cEfireehc3H6fl8MGdg7Y7tP7gt4q/xQ7ic3ilo9rQw5U5pw
P4L7DEOrWEpiq+f+1JzIBDUWW+3muN+RE+ktkjnAPd2ah+C+E9l3VepYVjxVHVC6uwYTSs2Ai2AG
SBMswBju54SmRt/tUFQUQ1Y/ZGnqCbwbWpqaCBatVevX4UKp3vwjoiLDsLqYtFofFadmiyaorEPa
HhU7skW9C2TO2ZIo0eNERXjmbIlS/4mS2nUPpdZq197H5WEAIyK3K6WWVfud7chUrFe7TlDxfDHS
4HdWtatde3+aNPbNXZ00RohPrMCALXVNLYIZOoMRGItWNd0lZyQ67BLYf1/++vxrxlHsVhvMZrTB
GJ9T/tySucVR9PtjWxzFcWeylgK/3HAM6Omy+Gi+Ygn/eM+eebpIOKJ8y88KQZsmeYbcQNr8QF67
k7dHBMIEeLQu9AhVE9Lzg5PAEP1VFhh6W95sPlpBQhWbNJmycb39VhW3XokZaS6GClr3ZKHSV86P
baErS7009RXJedmAflCLjz6GrtFRmGug2OUvfjtoP+mPrn/1wgXCNmKHQsSOPmJJ9yjnAuH9sS0u
EAPFrAHC93ZAf7LFR1cGhnsnlZBmW/Ns5GMjPbRNPvZNKha/gLNqjQuhpBdTH16mNkkRqFwR1H6I
YzuapHgwzxzUoab5WINyty2rz/hAZiGCv6bczTs2C2RZX6jPvEFV7fLt6asuQH/e98e1PfvnCrbX
MLId9akdExiz9gK+vz9yqnC4u5LAQBNL24aysnkvhApl81XfpYSVT8JHhJS5JyAE1SlXvKCthuo6
Ns31OskJKvYc1tiewxo2Z5TpyN11ql1JmM0FZ89br1WXBI/afWmPtUbvx1oCDOGa0hfH2mA0jfkm
1jLSDonB9FUH6gNi7bHefttgSxHQqK6Eljdr22jLbQG1V2HtBsHvlW8UBP+PtDG8xOFNMVm7IPd/
uJViSex/3V4xYY0wREHfTS1TFKj0fodUVLqOuqW2cBsCN59tj38dFZVsDnTVwcPGnOkJt5amaI+l
A5pHaTzpo6WJUS0FwQ+v053m1cv4dXqCaoJqnzvkqzqUEm3utkPxCTy6zgnk+h2g+HCwbqEakQxZ
Gw5lRA5ySVpVjlCKc3NrtBiqDj3tN1xPjVb0ZI62WLevzxzwliMPHehMRuSw7uTJEGDpXPWOuc/g
aVfddf+f4764kdV6WQkhhtCVLos+hPsEw/izSsYx7s+tgmKo1mCp5j/H/Z4qKOQtJfamsdwX95Ec
kDaBlzn+M7gvhpzrTJq4MfcTeICujMgc95MbebfcN4ohj6W8/o/gPsNwxtkRORhubhWUQEUwHfub
niooxGfnFa1zH5/7QZEDenuuwJ/G/WTIcRffx+N+Au+1G8t9cSOvFvN+MhRsqeP6B3BfYAQDcYRS
nJtaBZWgIpc0NXO/owoqqEDmgtorU3sM7iP3P1G25rDhGPfZkDb+Mbkv4M/9R4dw/+RGtOx/Whky
eEwhdpBXEIoR7Wjc1CoogRoDlOaUHPc7qqCC5lYexpU6Lj4M93XgoTtrgM/jvhiCUBLSuF/uC3gW
SRvJ/eRG0eHTyhCa0iHbR3CfYaAPFSXFFdyfWgXFUL0y0JGf5zqqoAL3oMcYSw1oHob7hpvpWOVr
koEOcV8MOVNKVr9f7ifwQXWpQ+e4L26EBpbcF0N+d2c0m/sMQ5saGaEK7k/NdElQ0VSUh2y435E+
QhshMudt55H1fXE/dSi3LqMOPY77qTe5LyU43i/3E/iIIzPyTm4EZqF2Fk49zvdENWZzX2DQhnjE
HZ+fqgwvUK13HfVWvkMZPlhH5jSE7+GszwIPXVQZ/eWB3GdDoG7VEeYg9wW89UPnfXEjo4N6WhmK
FA9uzH2C4bxpKb7Ic39qypVApXDpOrjfkccUnKaRiaZUF/sw3HdOhi6ncjqO+2LIur0T7PvkfgIP
Q+/3T27kMT6tDDkspch9BPcZRtA2jqjv91O11xPU6EoH7znud2ivBxfJHC2IvoOkwuA1D935VGce
98UQxlspHR7jPoPnNcvQeV/cyCu3nPfFkHZ7jcZmc19gAJaWH/Xcn5rXJ1Bp695ROu878vqC92RO
q84j6zvjPjkgKx3O5z4bClY/5FlfAn+O9mO4n9zILbtAJkMQ9wR0p3OfYKCzQwpl/dS8PoYalLYV
Klkb7nfk9YVgaGTAdwp23hf3g+ehCyqj6TWO+2LIRP2Qa34Bb7Xv6myQ435yIzRL7osh2mnfeL/P
MLRWQ/L5/dS8vgQ1qpIKWo77HXl9ISCZAyw1nH0Y7oPoRFnXKc00QkBiDQZL+4IimAGCJiswECoU
vq+DGSCGtAAjdbkI049kxZDVpZ4G9xuiE/hzJe2gEM1sJ9+K69fhbn4kyzBoJV0hDlIRouemXwrU
aCoUVTchuif9EuDZOKfj7Rv1DnjLkHIAK2QwNio6a8M2vq/Dq6qy3yqwXz5/9qAuR5gIUMxGKIlB
9hB9JcHhfgkhrhFhm7Bflg0dCYn1qj4CNdpQMetWQJ0qQCRQUYUOTQwP7QJEyRxNuh3buA69oxDV
MzqtW2RbLgd/Rv+8vFaf4PU+VEiN7TtOaL+Axy1ULEGlibOj9QABOz+26U2CM03pyBlVtDBAb3Tx
0bWBATz3+qBVytc//v3X19/+fJec/Pr7f15+IzAcyj+xv/xAH336/fV/f3369V9/fPpxG0l/+HFt
wMPlTlX0K98ffX7Yy5cv317//LPuoYDh2kOTNuYfL9+kjl8mQn5+JdbISrXpsTTIb8/8x+eXv7NC
4Leffvr87ZX89/9EMPCnT6e/xMovL19/e/2yehyapgOrnBcUFvBLtv+NAs/m3cfcu9fPtKcwFZno
W61NAnR+cNLapL/KWptva9rNR5eQtDGq1HKuPqS0n+/jWjZ48dGV0dMsM96+z6evnB9bH1LInLNQ
cayw70wD9JQXH83X2uQf77wKcPrxC2lcaJXGDci6nSaaq0JXq6YBDaqCpqxWwsEg2qi9u6JWEgL/
S+WcuVArOUEFb5rVStJXLcT+TMaPa1fwzxVsejsje0mfZO/BLLo3sSF0UFwQfECvAoHhvSo1ji2r
CvZCqFEVvNS3F6w0Wwypswhzz2AFKv3DiOPi0HEWUS9zJVAhqJK8QG4a6TkuTuago/I0hHaZK3oH
z8q7aK9mbsefXYDX8QquPF14+l9dE4YKQbP+jV5HWk53gqA7Ai3/wqA76+sOSAq2axKvY60gD74z
1iZ7m2ArcsYalV17QVS+RRRqpADzJZLApX2V8Xa4DHRJWHAtDS1owZwz+46FsblVrQIVQ0V/rwqo
HYdILRGXoNK2unQcmwuBPQW4yRyW6shz5mJfxGWVhju4DxywOoLnEL0uLWKLB2Lhgw/EGC+CrTgv
3CcBzD0QI6hAm/+KduFrr4SeAzE2pz2WMlRqd68w90CMkRoF8J5VNfhATAxodZnUfvRALD3UOHft
of0HYumx/u225+iBGD/O0vw7oF8IzDgQI3xRY7HxcfZADOYciDGkoEJF5VhFSJl7IMZQo4GOFp/Q
cyAm5qxvkjLOOdOjHYiBolk+0I8feIjFN0+7G6v2Q6wTVOds894qfdU5uJHk7qG2myfwsU+GI3OU
Jas7bgW7OJcBZWhPw8ukmx5lCQygTfSIzQpMPR4SqBSpKi5aN5Gq48wFlON7Fr1XO/EIS3LQ9Fui
crncr57A463xO1rfXYGHoBJS5drjjvxIDa4vYefGcUfAGxXDwLjDLgzBq4UCSLLjiklUHxF2GAby
gd6IsDM17SxBpcVO+1EvdKSdgY5kLmBn9uR9hR2jnzWLl2YUP4d1+k6GDG1SHpH6CXxwdiT1uScX
2Lg4z012nNqTSZlNfYahVSjJWddTf+rxaIIK0JEsAB1njmA8m+vVrL4z6nvOinOuZsVxjPpsyJhS
N9M7pr6A99hVDJijfnKjuLw4BxOelfNxT1tmOvcJhje+4h6zgvtTRf8SVOxJWoUO0T/a1ZA5ANen
W3tf3LeWtrYa/PRpXwwZhBuJ/R7jvoC3Vg+d9lmyKmoLTys7rpgO/RHUZxjAE/8I6k/V/EtQaW/a
seLv0PwDC2TO6U4pi/uivlM8dCZXBzyO+mIInXrIzX4Cf249OIj68AzOw6K9h9iJtHk9JPc5xiki
+FJXyGrqx6mSfwIV3bmOvYH6sUPyDxyfLdBceXuJ/wFvGWTo3HzqsyEfO/WSbk19Bh/OyRFjqE9u
hFotFf6THVqC3TZTlmFoVb4Lqqf+VMU/gaq171jwxw7FP/B8tqCV/x42+54WTMrqiuvuq3XuUyrg
FugcjbRXkOk/MC4wiaFgHvPiM4EPeuiaJDm5c379OiCWMgA+IjIxDOPckH6DcaoeoUC1wZSSA3OR
qUOPEHykkYmq1JHpYSJTkHIv7zP9BsdxXwwZ2KtMuU/uC3irVZcuUZb74kYOlmcRYsjtKrbO5j7D
cApL3XTruT9VjzBBhVjawuW436FHCMFzvSJ+F1cQ9CUaOrTTjyHFEOo9pb075b6Ad3HoMaS4kaOQ
8nRpyHPK0425zzBAD6lVjlP1CAVqcLqidG/D/Q49QhC1KmcqxE+uruKnpO0v0PHXnN07y3qIyASe
v2gx0xVpXGQSQwh7PT/uMzIxeFDaDl2VJDeCpVJqMqR3m+7MjkwCg/5zyDHp3FRMhkpLO99xTNqT
ignI5mLnYf99cT/SVyJtzKafRrAhVMUS5fvlfgJvw8g07ORG3iwrNZIhWg20FLlO8gqMbTohWe7P
zYckqEYF5dsLMWNPPmQMZM6bUlR8HO4j/RY0kOmMMpD7ZEirBy3BSODPEs9juJ/ciGb+p5Uhc265
ejPuM4zoSw1a6rk/NyGSoRrvKzZPG+73JESiZXMBb98Z5fhbRnJAw6dis7nPhqzqLSW/MfcFvLZj
TyLFjYLC5WmEGDL+WCfUMV5hY1uFdZb7cxMiGaoLqqIMeMP9joTIqJKqeOmouHgaMaDe/AKMcTRX
fAfHolFpHtiaA7DrAzug6nYBxrJTaT97N5QMgS2l8t9tVDyBD4gDo+LJp4Oz69cRsZT+9AFRUWB4
H0uVfPVRcWquqEClf+roGxE7ckWjAjbnS+2oHycQwbPVUbnCb8mKkm80nTwLtjZpOi1kyd2yYaLg
oqBUUhoqyZL3UH2l4fcl/PzLGpHVppTnXs0H7EigrNf6TlBprbU/bVdA7Uj4aoTqTI+oHqp2nXAx
560qFSrlzOkOc1o9gzYRWipsM0IbuFRt+e/LX59/zYy+3ep52Yyel+Az3lbcwW+Gw7w/tmk4LBQ7
IVYPh21eAW3asiw+ujIw0dlzTViPau5EDROGx53SStqn1QNZWEpeuy+0R2S+BDjqGofbygQR0vOD
k0wQ/VWWCXpbdm0+WkOKoIfE9fYbH9x6JWa9knYN2kPsCJb+/bH1dGVzIZgButkYmum6aem0+Gi+
TBD/eB0oWjXMoZe/GC5XQutfvXCBsI3YIRuxtdxPVnRv37gAvD+2xQU0Cz62JGnlXCC2u8B2D+By
ewAN3ObLVSzPru6oR+hYrcDE4ka3CGbouQmBidyUuKYlbL2SsNlRbeelVuTjGn9FdwYi/UtrXVAX
ujMnqM5is/BM+irYA72oP67b2T/XsGMc2uosdc3yUV96AXr0e6UOk1udCYwQXEn/oqza3guhQrV9
1YhKsIKBIXdCOPcERKBiaOqak4HKB08TNYQFKk8p7Yn02HNYk8xhSUD7ujmUhWPzhMmSL9qq29cR
H+eq4V2GtXZ2P+FkyHn3iL3ET+DHRvCTGwVcnguLoaD28glmR3CGAXwyPCLUTK0mTFDRtYcaBtYe
aowhc953at/dGfd9mlBmN6oVQ1zndKM7oYPcZ/D63GV3DPeTG6HFp5UhY0s3HB/CfYYRccwyY2q9
nkBFH0tpKznud9TrRYNsDr+HRrXRmufAXU2vKiRHj9p9Gd95ht0+AK3xwpX9YlT8L5WBS53SE1La
9rXvF+WrDkuV5nOaz7S28l1tGAW3D30J+W/Wru0YrTLWL2qEkyX6Ny21QuO6Fl/iQFMMOoXGM4c7
J5fazqy7KSesqJrOy7IBcmpRI0MFFVRp0V0PtaMGq2HLyFC5jLVjD9dRf5nM2eI6LmfOdWwZWemK
/i9cbfQ1cqklhrTrVLu48VIrgYfYlX6TXWrxrB1sVOvXYXa1f2cvtQQGqyCNoOfUQiSBqrk1WDtf
OgqRIku1kbnOHcN9LbVY6oorK6ZzXwxp2Cv6v0/uC3izEo85yn1yI/pfLGsRkh1r4MbUFxjcDGsE
9afWIQlUG8B27LI66pAiS7XZ0HtYcGfUpzDm1LmN7kTqsyHuy/WQ1Bfw55ShMdQnN7J8hPm0smOD
vjX1CYanQD3kgGVqGVKCCroit21D/Y4ypOi5ESqYUsrTw1DfO9ZmtjkxtHHUF0PGlzTh7pf6CTza
oYer5EYeUJmnlR2nSy2NPoL6DAOUr+isVEH9qVVICSr49r6sDKyD+pHNFZu/PAz1g5b+SCGjOjKO
+mLI4IF8mBtSX8Dbc5roIOrHZ4jaLLSZkx13sP/bGKdAhaXW2vXUn5toIlBjbJdBZGDt1A+e9YyL
ySKPQ31uKhXPzbMnUp8NoevMQbk19QU8uKHUD9zixV8c87Gul1JnYbqbUZ9hgGvK5M9RX0+VZReo
2nm1Xya9pr7ukGWPLBKlXSg1gHgY6rNUk45h/jGfGMK4p6J1n9Rn8KwEokdSP7kR4nKzL4a0PaY3
NMYrDEQz4pxPz82kYqjWRddcKMbAOriPZM4XZQ4ehvusKsVnHhm9oXHcZ0NOmXijlgzHuJ/ABzP0
nC+5UVALncFkSMdSwelHcJ9heGNKh7L13J+bSSVQsUYEZMP9nkyqGNhccUX0ONwnBwwUyKZnUIsh
B6VWvnfMfQZP0b6rHUuO+8mNIi63+2IomL2mNdO5TzDAQEVJQgX35yYJCVSEiqq6Dfd7Mm/Qsrmi
JvzDcB/JAaNFP537Ysjr8JDcT+Bdn6pOjvvsRlFZvZz3xVDYlbGbzX2GgbbYZ7Ce+1OVzxmq4ZSr
9qw73aF8jkrRyARvv4O7fWRBIhq5XM/1YdxPhpwq7cvulvsn8BbcQO6f3AidfloZ8r50vv4B3BcY
2hQDdT33p6b0JagIpf5QOe53pPQhK2pRxL4DfeHjb1kr1hhFO/uYXwxZ4/Yur+6T+wk8+JEpfSc3
Cm5ROZUMWTzWdH2MVzhVc2Vewf2pOX0JatSmY97vyOmjxQKZ86HUmPZxuE8O6MHZ2ef8yRDuNhW+
U+6zfiK3qhzJfXGjoJYCDsmQ3u3sO537BCNqN0JHgp41l/sEFa3xHWd9HUl9aDSNjA8locKH4b4h
B4wIUCOzc4j7bAgVllpE3S/3Bby2Q8/5kxsFFZfcF0MGbs19gYFQ0c+rgvtTs/oYqqX4Wap+yHG/
I6sPTWRzunPrel/ct0knPXb2Xh4hZrkAI9ritkLj9DqYATptazDEgE4wA3QDL8BYDWp+iBZD6NRD
Hssk8GDHhmhhu18KnYsho/BYI9oB5GUYUY05kp2afSlQrQ+mvdJSd2Rf0pshc663fODOQjQ5YCCG
FyhZEhTvodRaUBx++UU9rRAFp0ZsC8xUQXGG6oCXWFWDtyfA4O3bFFMlwHAWW3gNr7AaQBetb9cO
5+FqFvNO5pwpZYzWv6+pquoM1Zv3u8eWkemQOUdH62/vtG1IZrkcDbP0h0Fda/Mq1II3uOKRU/2b
bL+Axy1ULEEFVUxXyr1J+/7YpjdJlCp1ZKrU++V2SodFbBcfXRuYGC28X69//ePff3397c93ffav
v//n5TcCw9HoE/vLD/TRp99f//fXp1//9cenH7fx/Ycf1waCvux+KWLv748+P+zly5dvr3/+WffQ
6PS1hyYh+T9evolikUyE/PxarKjfJH5pkN+e+Y/PL39n7etvP/30+dsr+e//iRT2T59Of4mVX16+
/vb65fJxGEOF0+17gc97wZLtf/Nx++5j/t3TwtHCfpXsRkWeAZ0fnFTk6a+yivzbmnbz0RoSDulo
jqb9fB/XWtSLj66NnkUoycDkQkp4f2xLSLHeY6n9dbUzQXNI2Yh0Lz6aryLPPx4cDfVpi9PTR+L8
LK6ADlbFzOXCRZuuBl22HR1v/gmeAla8IsvGB2+edvf2QpWNgRJOrZtF2dJPpG1z/9Hmx3UH++ca
9kphvXbHnG0NBqmp1fIykwxpR8uB68p8P9OS5rVDma/CAzSteyNkXEBbMqw3PsBIO51AB8BS24kP
6H8mMMDr0iRYVirvhVChVL7qTSVYoy52sJwjZtjeAmxLHR2N9V3lfm/2rnIHHMXK9RhZX2qesiNn
eKzf2QoJ/VfhbRUEDQd0XduRNLzoxCZokU/uRqxs5t5gEFReFo5o4I6m4ySvXtJQoNJ6fUjdp51a
95mgAugRu2Xbce7ROKp8jN+etmZ6rrCSuY5+TOxdzUKRyZz2FTVDa3O2owA3mTOmQ9bP6p5fZzj3
v9ht6lG6alJop9+iz9K50zrqJkNWlZqX3W1H3RN467vqfTPLZnGjqJQzTytDzu9VSExfUTpepdkw
oubPTq35S1Bj7DgjsB01f+i5OAOwdID8ONxHWi9pNJn834HcRykluZWc70HuC3jXJ+eb5T67UbQG
nlaGXNhr1jyd+8gVIabliiTP/ak1fwlqtB1XDraj5g+DFXOdpav3xf0QuMLD+Yy61zjuiyEbbpX/
e4z7At6pvvzfHPeTG13U+yZD3pQ6B3wE9xmG0UWpoXruT635S1BRq/b8X9tT8wdcKxOhdGvyMNwH
KxUtYfqaXww5tdeX4z65n8A73dW+JMd9cSPUbsl9MeSLHRE/gvsMwxkdhhyezK35E6hkpGPN31Pz
J01KUe+dxz4E9yM5oLcap3NfDLmzHPZjcT+B76z5y3Jf3MjDkvtiKKg96bjZ3GcYYVCnRDu35k+g
YnAda/6emr/oxFypw8HjcD9IkZmbvt8XQyaGG9X7HuQ+g7dG+ZHcZzcCpe1yvy+GnDO35j7BAF1U
sKvn/tyaP4EadUkVKcf9npo/VHw3uxucH4L7aHnozsfv87gvhtDYh5z3E3jfp/OR435yI3+RHsOG
ooql8oiP4L7AoGXOkLvduTfmDBVd17zfc2GKXF7sXGej7zvivuE0Jk6SdT6j8TOI+2+GsHjLfKfc
T+AlxWzomj+5UbRnjZ83Q9ruXSFN5f4bDG4wMoL7E4vJTlC1V6WD9xz3m4vJ2Jwjcy52HlvdGfeB
fkuMcT73gTPd9YGE2FtyX8A711VIepX7b27kzXsh2JshHfYkY6dzn2FE21Q8k+O+m5jTdYJqvS01
Oc1w3zWnErGIIJccaGu+B+5rbsxqXUUz4msV7XNq3RbonLxYOz0yiaEAnVKtN45MAh6UHxqZkpOD
8evXEW2pEPMjIhPDcC76EacRbmKngRNUr7Fi87SJTM2dBthcZHNQ6mf0MJHJSKUVQKaj6Djui6GA
e1q698l9AQ9nOftB3Gc3MjYsuS+GYtwTtJ3NfYYRQJWandRzf2LW4QkqONeRvu2asw7ZnOc2sKaU
2P443CcHhGAmn0S+GQLXKdN8a+4LeAjjMo/ObrToMvJmCNUx9bExXhG9r0jnqeD+xKzDE1Q0viJJ
asP95qxDMmcNmwt3oDZ+/C2zTA+G4KZzXwxF7R4v8+gM3uO4It03N7LKmKcLQ47+x8f6CQ/xCqfC
GOVBNzHr8ARV21ihwLXhfnPWIZtDNqdKan0Pw31n6LeAwulrfjEU7QNWGp3Bh94q4wz3xY0cLLkv
hjCW0v0+gvsMgya3IZJ2bmLW4Qmqta6jobBrzjpkc4HNhZLo2uNwnxzQgteZzoIDuc+GItiH3O8L
eFQw9KxP3MgZvbyBZEOOVgS35j7DCLF0ZVTP/YlZhyeo3vZUGbrmrEMy5y2bK+ouPAz3PTmgj0rP
zTp8M4TmMbmfwHsYetYnbuSsX877bCgoiDfmPsMAPt0cwf2JWYcnqFFBKU8zx/3mrEMyFxSNjHP4
PXA/iKY2VCiqXb+BHKCitgID/dehA1QiF2CImhAtzq2/fDOEQT/kSUgCjwPrMM4EizGsXkfUxt04
J0tgwKDbz4n5mCeo6LCj75przsdkc0DmVCy1e3mcqAjP3paX31mN6rWmllMhvF11VWpqvelnuZ+/
vDr1tMIViuIjJeHxHqqv1OJ++XnRFumEyJk45lagI0exVsj6DSq4JiXaHFQ/USP9BNXbmirvDXWx
VXP7ZC4o01Gp7ZvFzw3r5j8j7dcq+njsqrh6vRjo/7789fnXzOjbrfKXvar8dcKnwXYkshOc82Ob
hsOgLy0nq4fDNK+ANs1fFh9dGxjOHj8h7VGgnSaQy/BY7BOxYvm4P5CFLjrX8ursfl5dTkP+BJyo
VNHyZ6tBTUjPD04a1PRXWYP6bdm1+egSklHGmxHrHN9+44Nbr8SsVxJUzmvuoKt7f2w9XcVctCPo
WhA0r+1ItPhotgZ1+vHWoy3dRxa7M/hwuRJa/+qFC4RtxA7ZiM15SRhL67WcC4T3x7a4gI1WQUth
Rs4F2jfQmw5Zi4/WAxM5CwrPfddXIs8etfvSIfJsSyLPp/EBD1dEnvmwht+V9xEXIs/vSBU2ijyf
vhpVOJBC2KlY3NqOZqlX/IZbO92lWfhmbVPQxK2AQGO0KzeIxvuWFKJxnXdWOFCVMmUKasWHu/8U
tYovOgKdsNKCakiHdT93p09QnTKmopVXBdSJWsVvUCNWrCs2kbrnUELMlc/WcuaaVXXJHHkneTeq
zJnhRVPAgfE2mueIaGDbV4E3d/wvlY/2Mt4mqNFCe7yVr3pdOjOe1lmhtXfaP9ewQ+xK2sr1Ikxt
7fDiqFIMBThWQnawS90JhrbB1UrDD4NQ03Rg2b/uhFUOIgZEsDC33E2gArFyBNSJEuYnqFxY1b4z
Cj2VeWLO2Y6U+9As8s3mLPl3cJ29q++ooyT/Fk8hI7pc+s2gbrJvhjDc6gr+QDfZM3jsE/+4GsHP
boRqeQXPhrTWpQafHxLBGQaEiny2ilAzt9yGoRoXKlbLG+73lNsgsLneLLK74j4tuOi3xHOS1TTu
iyF6nLmRAMAh7p/A29CVfpPlPruR1+8i32+GtC+1PP8A7icYUQ25WAtTy20EqqMf197cI3SU22jl
2JwurWoeh/vkgC53PjeU+2TIK6f7uiLcmvsCvlPsM8P9kxv5Zcp9MqSLvY4/hPsMI7ohwj9harmN
QA3edfQRCh3lNrQmI3M6dGrW3hf3teOhC6hmc18MBdwrIL1P7gt4MH7kvJ/cyOion1aGotvLX5rN
fYYBDisUNCu4P7XcRqBGjRXN3Dbc7yi30TqSOaP87Rv7HH/LhhwwBhUyZbbjuC+GwHQektyY+wl8
MGO5L27k3CKLLRmKcU9Tajb3GQZ6X9Elr4L7U8tttDHPtJOEiiyIDfc7ym208TQy0ZcOXR+H+8hD
d/4tE7nPhizsSdjeKfcZvFND9/snN4q4XPOLIW+OldmO8Qr656akyCz3p5bbJKixKNeW435HuY22
ls1xM8DH574Nz8oYNHE298WQ0531iTfmfgLvsDMx5jr3yY00OZF9WtnxYW9xNJv6DIOADWmKHKZm
miSoaEtbyRz1O9I3tFNkztuS3tjDUN9ZHjqvMuoa46jPhpzCknTs/VJfwGvjhlKf3Mh6COppZcfs
qsfPpr7AiEWNj3rqT5X4Fqjeo+pY8XdIfGsHbK4oPfAw1PcUxjzGy0Z1M6jPhoJWpZSf+6V+Au9d
l7BOlvpc2qRxudkXO2a3UeRs6gsM1EM0tWBqypNAhaBD+4IfOvKIyAWeuZj/Djp4D3jLwENn/PQF
vxgCF29URX6Q+gI+9nXxzVGf3AhMMOFpZQfVrc/4GQZLaY6Q1oCpEtoCFY2rOJbYUL9DQluzAgSa
cAeNPY6/5UBhDEOINcngh6gvhgA7u57fmPoCPho3Lis7uRFaFZZ7fbHDjX5uS32CoWktOORqH6am
9AlUbdB1zPodKX08nFqh7pRBuS/qc0GvttpOv94TQ853NkO5MfUT+PPmdxD1xY38UkE7GQpqr9vp
bO4zDGN8qY14PffnpvQJVPS2vW4KelL6wIu5cHsF7QFvmRzQWh+mT/tiyAE+5LQv4DnzdiT3kxuh
X6b1iKFgS6ovH8J9guEM6CHcn5vSJ1Ax9HC/J6UvGjZXVIN5GO5HckC/vrSewX0x5M1eieF9cj+B
P3dsH8N9diPaUcdlKr8YCnGvNfxs7jOMgGaIgjbMTeljqMBSiu3c70npi0jmnLuDXn7H3zIqTutx
cT/CXxWvHCHdtAAjsp6xIpPsOpgBqiQrMODN/nHXdTADVHIWYOjNQnRueogWQxhK1bD3G6L5S1Gd
q48GhWhhe9R29TqiNqVbxY8I0QID/JjLmLmZlwyVz7E6lmc9mZcYxFxnx/A7C9H0pRhC6dy9JJ/Z
Q6my7oEgQqsq9Ekq/K4j669ekzJBxdChigjQLhLJ5gKqUEowzkqwbt4RmHOn0SqhoDdRIB9+wfX7
ChjimDjRkarV9r6i0qbn+Da2vy8y+Oy9L5bMF5XhAJcvaFAv47zmouAN3g85iI/t1++4hYolqKCx
dDqWeZME7PzYpjcZvSvtmmrV7aJuXrptFNkXH10bGIoRi7Xc1z/+/dfX3/58VyP9+vt/Xn4jMBwe
PrG//EAfffr99X9/ffr1X398+nEb33/4cW3gvIw+LYNE2vT90eeHvXz58u31zz+rHqq1VtcemmRT
/3j5JtJLMhHy82uxavt2dUqD/PbMf3x++TsrPX776afP317Jf/9PhB9/+nT6S6z88vL1t9cvF48L
3FVlgMZhLGxtlmz/m4/bdx/z7z5wMdi+l241UwnQ+cFJM5X+Kmumvq1pNx+tIFlrS4076kNK+/k+
rhsrLD66NnqONkHtUj0E7PzYlpASfHC6YXLIOlN7k4dNx4nFR/M1U+n/n8lPzZvsRo9q8vlZWj8b
j9bVtOppEJiDssAcvz/jXQBzRWCOtm/PxhmtzIXA3AmqAdcsMCdfpVX6gf6AH9cO459r2Ks0z9pN
c7YXBrdVoGXcIo2JDZELWHc1lTz+TC/qtUNlsMIJLHcCxIwTWIPRx40TcFdDdpwOJ7A0tbtDh7eH
W0EIDNBQurQtq+j1QqhQ0Vs1Y0hYo/EfwJujPS+21CHkAbquA9/sXeOO53IrvRqjSB+2uNXIBh8r
JMGVdGwKYrgD2oyU5HDXrUcELZpYElmuX9xMvcRIUBGbFNqzUDsO8+oVGhkqvThs2mtloU6t+hSo
tL0Y4wAdRx+No2qqkuw2q9uOW6xkLoSStlLOXGjXvUzmwKn9F7Ex11F+m8zxEX27udjz6wxrx8fv
oaG20VHmmumNNZMh7eFGKh+HWsidwKMe2VgzuVEwcDH1syGr90Zp+oqSYSAMOUOOU2v+BCqC6ehD
FTtq/oxRvMYoHqA8DPeNfWZ9w5y6lzYmDrlnTobI1R+xqe4JPPalAOe4n9wIwD6tDKEutWz5CO4T
DKc8DFH3wqlFfwJVG/DtywzsKPozBthcLC0zHob7VtFvec87m8d9MRR7KyVvzP0E3kNX5U+W++xG
1qjlsQgb4iOq27aOTTBADdnr4dSqP4FqCWz7jgY7qv6MdWTOmj3J5cfgPjmgBRMzpT8Duc+GImF7
SO4L+Gg7z/uucz+5UfDwdGnIKeUOVfyO8QoHxQqkeu5PLfsTqJ64355tgB1lf8ZpMmdDZyb7fXHf
kQN6OFfkzOO+GEJVOgK6X+4n8NYN3e+LGzmt/dOloaD8XoHUbO4LDPAVhKrg/tSyP4EKDkz7wSl2
lP0ZF9mcLqUUPgz3PTkgRJ3LKx/HfTGEvlMY6cbcT+CjC0O5L24U9HLeZ0NRK7zxWZ/AgFBqKFDP
/allfwIVeY3Szv2Osj/jPZs77/4em/vkgCznPf2sjwwxsFL/1DvmvoC30NXFI8f95EZ4kQYhhrTf
6085nfsMI5qSLEs99+femDNUTavwjrO+ngvTYNgcdMrU3Rf3g3/2xiqd6eAzjvtiyJk9xcr75H4C
76FL4CvHfXGj4C/2+2KI7ByqJxvjFZZe/RDuT60nS1DRdij5Y0c9mQlI5rzbU198CO6D4aFz88/6
2JBTUEpouV/uC3it7FjuixvFC+6LIU73uy33BUaMFZfmFdyfm9PFUD2NYntuD/akEoHjQnAoyXmX
CsGnlIgt0AUZjL2p4zEiE9GDM+gzIkQDIxMbMvZW/YUORiYBf05pHBOZxI2Cie5pZcg7uPGqhGGA
gRKM+sg0tdFAgopQavaVi0wdjQaIDWSOi7e+A+5HcsBI0+30HYkYon9+yNOIBB790FVJcqN4UXAg
huxuUcZs7jMMVLZUTlPP/blZhwIVQkWixIb7PVmHqMhcgDvoJ3z8LaPlql2A6bcQYsjcrL/QMe4n
8J39hXLcFzcCHZaFemLIwjF1mzFeoVWTNkOG+47NzuS+QAVdcXByyX2XqrObuQ9srnhG+yjct0o9
B/olZvZpRDJkXGmDe7fcP4FfRcjD3Bc3Cks1gGRIimBuyX2BYVWxx1k996dmHSao0J5xLMCauW+V
Y3Ohs1r2zrhPDuj0+bdM5D4bMrE0ldwx9xm8NWpk1mFyo6gcPq0MOddUZDzJK7zCUvJjPfenZh0m
qIAVgpUb7ndkHVrNgiRRdXbLuS/ua3LA8L4Un8d9MWRtZ3OWG3M/gQc9Mvvg5EZhKc6RDDk0t13z
Cwz6tU36TVnuT806TFCjL+2SctzvyDq0OpI5583tOwsef8vmpPPbKTo8QkxpBQZ8qRqpCGaAWNwF
GHYqM/skJBlCeMi8DAEf6aWNPAU9EQx1XL2OqM2Nc7ETjFiT7FARFafmYwpU9LZCGnYTFTvyMa3x
ZM4VRSYfJyrCM7A0YKfObw+lNspML3Dh/oRIG13RN7vC7zpyAet1YxNUtBVpixu/8+26sdbQ+IKC
0s1bVud3o4GkaUnfpoH0pnf0s/n5xas1LlADOjPTwHRkcLW8saT+UaoIyL2x0PHGLMvcaRUPizmS
/WWfgf++/PX518xw2K36j82o/wg+8qee4YD3xzYNRwzFrKPq4YjNK6BND4jFR/O1LfnHW49oB2hb
8rO8taapK2puIDE/kNfyhOx+nlBeSlqA+xArjlnWUrSC9PzgJEVLf5WlaN+WXZuPVpCCgybB1Vz0
0h3q1luvxIyIs0CNGprlrATY+bEtdPXRuIr2Cbtepts3LJvGJIuPPoauYLRr6UJ2+YtXCoPrX71w
gbCN2KEQscEa61pLjgXQ+bEtLgDOeXtY2prs23YX2O4BXG4P4C03rtTXewlGj9p9GS/0Su+BrNJ6
wl0ReqXX9IwxBnWh83oCqjA067ymr4LX/X1yOkVLW7tEXEqWJtxR9SUQvVnb9MjhBhNWW7RrL0Bj
WvRLxjXEuMRhPHeq2l2qXxEsPdyUoyRXum7UIVitqelWUjEBzt3oC1Rwdshc3bE3rBfWFKjOGuwI
1D1nEmIOoWKnsTHn26UnxZy36rqs9qo1WEO4dRXh1lEAjJlwq20EjNt46w1CZ7z1Xh3I3Pq4pmT/
XMM+93sY05FMmlt5A37tBeCO3d8c7lUlMIINpRvKsu54L4QK3fFVFyvBCqpYBFAfwaZWuyWoDkty
M/VQO4pzGoMtH+u0X4nrjsK8ZA51SYQrZw56gq1jr4RS6dGj9JWznsKIUWBjxcRx6K5JDJldJbu7
7Cl5An9u6DAkgic3Qh0vIjgbsrGkZPEhEZxgWFVTVF8RaqZW2whUR2PWsa7rqLaxnnuyGywtIx+G
+0Hz6l1BzaLxEPfFUDQl/f375X4CH1xX5l2W++xG1uLyok0MIe4po83mPsNwoaa/VgX3p1bbCFRv
fUfWre6otrGBe7LTnuf2VbYD3nKUrYLP6P0N5D4bem+P82DcZ/CoTJfmV477yY3iReYdGwrKHMu4
H+MVgTZuI26OzdRqG4EKLLnfzH3TUW1jwbA58uPvgPtADgiANlNhP477Yoj2ZTfKuD/G/QT+nJow
hvviRs755bzPhmI5jeQjuC8wwIzh/txqG4aKzjbr/QmwDu6jmLuDSrvjbznSVzBaM537YgjhVn19
jnGfwBultO1qh5nlvrgR6OW8L4Zo1X/jeV9gVJWwVHB/brUNQ9Vemw7u91TbxEDm3D3o/Q14y/jM
B3C5SruB3GdDRP4bVdgf5D6Bl6TikdwXN/L6otJODGm/d5s1nfsM4z0Z4Bj351bbMFTrdUe1jemp
tkEr5uL3cNaH5IAWzxmK87jPhpzynU0Qb8z9BB7t0HP+5EYel/O+GDK7O6PZ3BcYEWDEWZ+Zm2rC
UGkQO875TUf+hlOKzfW2prsr7jtluZ19mH7HJ4aCip2FOLflfgLPhS4DuZ/cKCjnnlaGjDvWHX6M
V7De14g7PjNV41ugAnlwe12P6dD4dgrIXFB3UE92/C1rcsCoVE7ndxz3xZD2t+rleYz7CXyMY7kv
buTCQuc3GbLFFexHcF9gIFTUGVVwf2rWk0DFAKWS9xz3O1KJnHZszt9BX58BbxmeieCrE+wp3GdD
Gkqqh3fMfQZv1FjuJzfCZVlmMmTtzbnPMBBKqfD13J+q8S1QNRf5t3O/Q+Ob9mNsDku1PA/DfeOe
rVHnJdM87oshozvliG7M/QTe264e3jnuixuBdct5XwxZKB2yfQT3GYZl1ZoR3J+a15eggu2o1zAd
eX2OC9Gtdeb2qlrH3zJXNtPQxencF0Mx7M1o98n9BB59l6pWlvviRtEszvnFEN88H+rjO8YrXAhj
zvqm5vUJVG+hRMYc9zvy+pz1NDIYv4f7fWcjD1100/f7YsgbfMh5P4EPbmRuj7iRV8aYp5WhEEtl
gB/CfYIRKAiNUNO0U/P6BCrwfzVz33bk9Tln2JwppRA/DPcdOSA4a2A298UQVzQ+IvcTeFQjc3pP
bhTCkvtiCPSN8/oERrQhDOH+1Lw+gYqqvY+vAOvgPiZzfcdW98V9zwKWVldIOV0RsBwjBrIGE/2+
y10HM0CcZgXGedelMzpG2GoBhuIEd6qeXXKVDHkspcndb4gW8MHA2BDNbNda+fXrAF9aF31EiCYY
TklhwoAQPTX9UqAaFUs5UbkQ3ZF+6Xx4dlrrkt7R44ToSENHnCycAZakPXsoVRY/EEQ26Ioztgq/
60j9qxeKdNKRPKiO1D9r24UincdnhaqYHJGV9ryiFuTfJpEqtaA3ZSB4DeZntUYFbQJw2ffVka7V
8r6QE9t9cyM0Adb+voJ5Vt7HCnPX1eGsX76gQf1Z87qLgjdw/84Rb7L9Ah63ULEEFQxWaAFs3mR4
f2zTm4zkNy1pSRmFOwvNS7eNKvvio2sDQ9sH/b7d/vrHv//6+tuf7/KhX3//z8tvBIbDwyf2lx/o
o0+/v/7vr0+//uuPTz9u4/sPP64M0ILlsseraJG+P/r8sJcvX769/vln3UNNxGsPTTqnf7x8E/0l
mQj5+dVY/ZuX0CC/PfMfn1/+zmqP33766fO3V/Lf/xPxx58+nf4SK7+8fP3t9cvF47TSRaWnai8o
LOCXbP8bjfPm3cf8u9cmYKkcNKubSoDOD066qfRXWTf1bU27+WgFyTpdanFSH1Laz/dx3Vxh8dG1
0XM2lu6McyEF3x/bElI0p/K2BNuMMznVHFI2XScWH83XTeUf70DHtx4PR2SO6TnPvCszNe15G1Tm
TFllzgU2a9BdE/V0jv6l9saGC5W5E1TvsVllLn01Fg8MpqnMter3/3MFG1XoqlnM9cOQ1gre+uW5
JhkC+me4er0cf3YBXuc4ASigOSbnBEirddg4ASH1rEDY4QRgTdhrGDW56UeCgViqDy1L6fVCqJDS
WzWKEKwuONNf+dOphtveS2FLHUKOffJeb/a23KF/rUy4OHASS7F4u7Wjh3usccQlEs8zQ6VnDW9f
UdLEXbe0ELRBFxWkqhc3bu4lhkCNbkjHYtdxmFcv0yhQwUNFfmUF1KmlnwI1mliSNq2H2nH00Tiq
6FWHJLzrucVK5mKppXHOnGkXv0zmQuj5dR01uMkc2IqspY051/PrDOvr61Kl0aO0knKRf0ukdfO4
1bqTo/jxq/UTVKPbF2ryVb7pus1F16EedgLe8+3kwDX7yYd9WNQbJ0M0f7bo8E9ySR/VkFwEN7fm
kKEGbzt0RlxPzWF0vMDRd6AtOOAtA/2Wd6Hqaf0rkyEKNo/Y1fcE3kNX7UGO+8mNvF3mH4shOKgp
PMYrKC7BiMtGN7fmkKFG7Tv6V7qemkPktS1R//Y5iMffMpIDRm/fhC3mcV8MBbiVtuAx7gt40H3a
gjnuJzcCb59WhqLd6/A7m/sMg7ZEQ/KP3dyaQ4IaldEd+ceup+YQI5nT5MmPz32vNP0WD1hzPXCE
+8kQqM426Lfl/gm8hTiU++xGhrZnTytDMRzTEx/jFbTlG1J35KbWHApUY1xFafSG+x01h155Nte7
fL0z7odnBKfDfO6zIVrg3qjm8CD3BTy4kWv+kxuFZc1hMgRK33a/LzCiLXbKqef+1JpDgYoqVhzb
b7jfUXPotaKRCX5vU/YQ3NeWh87negmM474Y4sZSj8h9AW90GHnWd3IjvJj3xRDtJm+75vfaPdP/
XJdgVHPfT605TFD57rqZ+76j5tDrSOYCdh5Z3xf3jX5WWiulZ3NfDNFi6Ub6Yse4n8D7oWt+diO4
6CCUzNh46xU/w+B7iBEnfX7qZX2CCj62Xy/6jrtabzybc50b1ztjPkUxq12uk8BA5rMhE0rVhHfM
fAZPgzHypI/dyADicsEvdpwNhwSGxjiF02qIqKifWsmWoEZdat6eo35HJZu3hsxBLK0xHob6ltdL
Fku3yaWS2inFNgt0FGRpcow1eQ+HApMYsrqkonm/gSmBd35oYCInp30HuPXbcAEPKaAMcFmCEfSY
U0g/NdVNoIJRFalum8DUkWHlLdLIxF1ZyocITE5q1azKKKCMo74YskE/4u3jCTxe3tEepj4+hwh6
uSYRO17v7XNnU59hRA2ls9B66k9tcpCgRoT2pCPf0eSAwjKZc+C+hwsIhzx0EOZTX0rD1a0amx2k
voB3dij1yY2i18t8/WRHh73V7nTqM4xoKpqEVlB/ar4hQ9UcRdvvHn1HvqH3lgtse2V774v63AKe
NmUw/SRCDHVf2tyY+gl89F2iOjnqJzcCXN4/iKGobj3tMwztxlSM+Kn5hgKVj7bbc458R76hD4pG
BkJJbuhhuB/IAY0O03ONkyFTVIS5X+4LeGvC0PsHcaOoDDytDDlfqij7CO4zDKtVhYBwBfen5hsm
qLG4ScpxvyPf0AdglQjVKd15X9wHxUN3/i3zuC+G0Nyqp+Ex7ifwoa+XcZb74kYuLHKNxZBTMRzq
azbGK1wMQ3oZ+7n5hgzVo6/Ynmy435NvCI7MObdXBPYY3CcH9LSYnV1nkAwhlG6I75j7BD4oPXa7
n9wI1TLzQAxpe3PuMwzAktx6Pffn5hsyVPDFHPYc93vyDaMmcwrt98D9aPj6saaLzdXrxxEaTmsw
WCGIev0udIBG3QIMURPc+S3Pi4piKOz2L77PqJjA+6HVV4lg2i+VkpIhAHfj3RDDYM2ZESuiMDcT
k6GiLrZhykTF0JOJGSONDL2f7yETk36LcQZLF+0leeEeSq3lhcPPJj6tEKF3I07gQkceYL1crUBl
icD2i7eg2+Vq2ZxXIerCpJGVF15LL9lg1dvgVEovvcks4RdwVq1waWtgRPpW6Ejfantjnruat2dJ
BNPxxlA/B4eulH5cqyEZlr0W/vvy1+dfM8Nht6JDNiM6JPgC7Yj2Y/xmOOz7Y5uGA5xvEvLIDYdr
XgFtGiwsProyMGD9ORusR/9yojwnw0OFUQ/QJg0+P5DXkursflJdXsFagFtvSl3sswq4hPT84KSA
S3+VFXDfll2bj1aQnAkV7WMqoleHqPbWK7HgldwJoEMePYT3x7bQFWlcStnB1V7WvmHZNGdZfDRf
AdezxyhvK7Sar2vDh5Ww4fpXL1wgbCN2yEZsgqUDloo1ci4Q3x9b7wKcRovOjXABbHeB7R7AZfYA
QRlelIO9mr8byZfdl/H6sjI+tDlGe0W2zIPhwxoD9kK27IQ0BNcsW5a+yu1oujfQnWKprd0pLqVS
T7jDZY+52r3zm7WNfIHHZ37hceUFqLmHQP3eeVwfjhUOVpjbX6pf0Uk93AukpJK67g/CWI2ysaIJ
2P4ECFM3+gKVvH9IdgZ07A3r9TwTVIilQ4JMoIaOM4lkLnrTvpIH3a54GbR9BuOc99ei7aojWUO4
teVwGxSZ1RjtNTlvH/lf0v9dynmfoFpW+W4Nt/JVD53H38c03VsbN/1zBTuYsT2qU08tb2HtBRBK
N5Ef0AhNYFinQyHol+XOeyFUyJ2vmmcJVha1HXGqClNL3RJUertDgm1H8UtDsGWo3tW0uNpEv46q
vGTO69K9Zc6c7Qm2jl6E7hWuuqt2dsEo+i3e6NndhpOh4EonDXfbyvIEHrDrBj4TwU9udJF9kwzF
g4o/Y7yCc0xGnMHA1GIbgRq86zjzh45im2BY+5jG5vYZ9wPesk8ysxnFn4HcZ0MGSqpMd8x9Bm+1
7rpnznHfJAltwKeVIZozD90zj/EKUFiR0lLB/anVNglq5LuPZu53VNvQf/D5Bpaqjx+G+5YcEAAh
o/Q3jvtiiDcsj8j9BN4P3bklN6IN8ELZXwxROChd/H0E9wUG2IpDkgruT622Eajozq+mhfsd1TbB
BjKn3F6P8cfgPjzzf+qM2tdA7rMh0AfOa27JfQF/XliO4X5yo6iW8z4ZslrFUmveD+E+wwBT0c6z
gvtTq20EqnGuo1kSdFTbBKfJnAmlBusPw33n6LeEkGsnNI77YghuVml3jPsCPprQez92lfviRlbh
8sRWDKHbc63Z3GcYNjA7BnB/arWNQHUUqNov3KGj2ia4SCODutRA6GG477UMnZu+3xdD7twU57G4
n8Bj9934de6LG/llmmYytJ99P5v7DMOb4Iec9U2tthGowdqOjuPQUW0TvKeRoe3+7TW1BrzlyEMX
VKbSbiD32VBZsOGOuc/gvYauKtsc99mNgtJ6Oe+LIa5iujH3CQZt94fo6cW5qSYMNSpd6hiR4X7s
yd8IhkaG6PI9cD94Hjplp+/3xRCtlW5UYX+M+wn8WQxwDPeTG7lllW0yZOKxbl6DvAKtHjHvx6n6
3gIVg/Ud3O/Q96bdMZkzxdvPh+E+GB46l1PXGMd9MQShVLR9v9wX8FH16XtnuS9uhMvihmSIPrzx
WR/BYPWJivZ4Fdyfm/XEUHU5Wua435NKBIFGJsa9i5jH4D7y0KGaftYnhpztbHt8a+4L+LPSzBju
ixsRz/XTypDHW+f2MAxjXKlPbT33p2poJ6joOvp6xA4N7RAtmfPW3L6O/PhbjoGHzuY6+Y3jPhuy
yt+qk98x7ifw6Ibe7yc3ArO83xdDRu/JDc/mvsCIYEco6ca5eX0MlZatHXl9sSevDxWZ01DKWX8Y
7qPloYtu+lmfGIJi/tX9cj+BpwXSSO6LG3Gd0dPKUAx7mc+zuc8wvC8mYtVzf25eH0MNxpSkbXPc
78nrQ6CRiUZ9B3l9oJQMXa53xjDuJ0PW2Uc86zuBP8sBDuK+uFFQi745yRD9z2877wsM0GPy+ePU
vL4ENfoOFe3YkdcHypE5ekXfQS0PKOChCzif+2Qoco/Kh+S+gHc4kvvJjbyCC+6zIQ2lEuAP4T7D
iBpH5PPHqXl9AhW98R1nfR15faA1Nww2JRXtkujjCA2VNRiskBC6DmaA/tIFGCKI6pTKvq+oqEXa
U1VIjF0f2AEyKQswjj1cxekhWgwFu9dE+D5DdAIPbuRV7MmnXYT16wCE217FMgyvnC8JCdaH6Knp
lwJV+9gheRU70i9Bs5Sh9nuK1I8RiOi3oPelfL+StGcPpcriB4woKB0rcmoq/K4j9a9eKDJBpc1V
x9IA24UigauKuba4sDTISnuu35E1Ed/2TFVqQW/KQC+fP3tQK1TamiFXN9iRrtXwvhiqUdG2H+Gg
6nlfqRlmbFjkXo6GXr6gQc2M87qLgjd6Uyonq3+T7RfwuIWKJajcBLD9IJ6AnR/b8ia1Ckq1iP9n
FO7QNi/dNqrsi4+uDIyWFmnnVcrXP/7919ff/nxXJP36+39efiMwHB4+sb/8QB99+v31f399+vVf
f3z6cRvff/hxZYD++fKEWuRN3x99ftjLly/fXv/8s+6hEeDaQ5N06h8v30R/SSZCfn4tVmPeGiDR
IL898x+fX/7Oao/ffvrp87dX8t//E/HHnz6d/hIrv7x8/e31y+XjjHZNiak5LyjsjJZs/5uP23cf
C+8+OF2h0bbVTSVA5wcn3VT6q6yb+ram3Xy0ggQahuT0YPv5Pq6bKyw+ujZ6McaKXr6bkOLfH9sU
UiKvvAY4U2gOKZuuE4uP5uum8o/3hsb6RMyFcrKrVU4+P8vqZ0SaZO313etFY4pxop5g2Kw35prK
HCj6lxG88Rcqc29Q+TuNKnNg+cCAWNpX6n1MZa5Vv/+fK9jaha5zzWw/DGmtENUil0EM8envdWXX
n12A1xlOwFIMGtVVHzCsYw64cgHzHJXqkHXlb2rlcC+PfXLHD4GhdfF0oqyj1wuhRkfvsktEwhp9
6eh2jhJueyOFLW8IOfbV+b/Zu0YcBzYsEwDFklFuryyyIIZ7rGvECkmIparWghzugN4VJUHcdT8L
QWutNSOqlHDuDQZDdcqXbsXroXac5NVrNCao4IboPeDUuk+B6p2FAeejFP2nj2oAVeEAm6VtzxWW
mIu2JECeMxfblS+TOVQdup7YUYB7Mhdd89GDls1S86+zNBOEomrpo/SRogjKc825a9OIpbrTFIUn
LNUTVApF7Qs1+aq5mcDQoQZ2J/AOR7b0PflwtMu1mRiyu81PZy9nGYZ9T7w4FsWnFhwmqBArDto3
gaej4BCcZ3O6lPP0MIHH02/hqqOBgcdbmv0nBJ4TVNMReOSrxj9kL/ETeLRdVQ+5wJN82ONCzTgZ
4qz62wYehuFVbGpzlg08U6sdE9SoK/pxbQJPR7UjvS5eWKs7qHo4/paDSUMXKwLPodQaMYS2c9Bu
zP0EHnTnacd17ic3crA87GBDgTaYNz5DExhRl1pi1HN/arWjQKUAgM1bRwbWzv0QuMu02ytFfwzu
wzPNQM6E6dxnQz4cuBu4JfcFPGJXpXOO+8mNUJmnlSEwJX3OD+E+cJKFrjitqOD+1GpHgYrGlg5k
c9zvqHYE0GROxVJ608NwHxz9FhdzasbjuC+GQm/blxtzP4G3sSulNsd9ciPURi8vB8UOhJKq0EdQ
n2AQM3RLt9A89acWOwpUrW3FCmVD/Y5iR4DI5sye+tRDUD9q+i3euIzIwTjqi6HgSu50v9RP4KOO
Q6kvbkRD8rQyFNWeFMRs7jMMQxuPlgzCLPfnFjsyVKuhoi5zw/2eYsfIZzQUFL+HJT9nplgfcPp2
XwwF3JvR7pT7DB5MGLrdFzcyKi6X/GIohr1y8OncJxjO64quIBXcn5sqwFC58V7HvN9zU8xDSuZK
0i8Pw32kRaZyrqLp+tWSvinJ/gt0fIYbtMn04h0XmcQQWHcj6aVjkSmBXzWiOBqZkpN7Z9evI2Kp
EuUjIhPDCN6NWZXMrfFjqNywuGNV0lPjh8jmfKeK0F1Fpsh95iH4XFu1YdxPhrg32QNyP4GP2vmh
3Bc3wrCo702G0N4480FgRB8r+hRWcH9qqp1ARVDtrZUYWDP3owpcCYKd6oF3xn1yQJpmVG7ep2fR
HnwE99mQM6Ua7DvmvoA/Z04M4X5yI7SITytDPpaK6j+E+/hslLF+RNaTntpiIUFFX3Fouua+7mix
QG+GzblOFaH74r4Oz7S3cj53CTGM+2LIhfCIlxAJvFdDTyJPbhSXa/5kKJhjrZTHeAWt+EYULmg9
NeNRoFpVc3Cy4X5HxmM0is3Z7yHVOhpyQAsx5pIPhnFfDKHu7EF7Y+4n8M6PXPMnN9IKltxnQ06F
vWTa2dwXGGCH7Pf11KRDgeqdL6Vq5bjfkXQYDbA5u7cwewjuW3JAH63J3UIM474YwmK76/vlfgKP
amTC8cmNQC/X/GwoaH3jpMMEA6CUXlPP/alJhwIVHJR6HuS435F0GK0jcwpKnZweh/vAQ7e6V5/C
fTYU1ENWOZ3A2772Kjnuixtp7ePTyhCE0oT7IdwnGNHbEa2UtZ6adMhQrTK+XYaFgbVz3+lng/a7
KK+MjsU2iPy9N5ADZGRWYGLN3u06mAEyWQswRE2kf8g0mR4XFbkRuFKus1vPjaNiAg8wUqzlRLDo
8GllyKg9HdjZUVFgkKOOSMXWU/MxBar2rtQBLhcVO/IxI3cGp3/eW7I+RlSMz04BbXv3ZUWuKZz2
UKosSyOItI2lrpT1fteRC1ivmClQ6b/am5wysGbFTDaH4E0sTBpZhdMrAjD6LVmqUgBmoXHqcPXG
MOpQkdtT8cY6Mrha3hhSvDWxQqpy88ag4415/QwI1rfE0OsydlrHxS//78tfn3/NDIfdSp/YjPQJ
44vKFhfgueGI749tGY5ofCi1V6gejnaN9414/uKjawNDIeitMrVHgm+iQmD0tHwMLJ57fCCNyg/k
tbw6e0REV4CjCRXtITcinIz0/OAkwkl/lUU435Zdm48uIdEK15gBitratN/44NYrMeuVBFWDLXW9
ytCVgJ0fW09XI8UBFX18973MNNN103hj8dF8EU7+8SYYXiBW//jLX2wvZ9f1r164QNhG7JCN2AQL
+HSm3QXs+2NbXMBErZoUanMu0N7uZNOVY/HRemDAPgdrQF3toBg9avelQ+JyRzwpBrJKywmLVzRM
oqN/qdEbdaFhckJK669mDZP0VVHp7t1Ad0o2tgrkXwo2nnCHvtuEN2ub9EFR/Pfa6rUbeNwboYJg
45FeAJc4XKjqHHFFrvFwP4KSWOO6R4Fg9fRPQ2bAuTt9gQoBR2wOTcfmsF5WUKCS05cSWnKRuudQ
gs0RGyqkujbmQrvwHpsDCmKYyaC46Io0Nt4CxVu4pinM8RY0Wuc28ZahmtgVb8Ha3WZDU3SlW5vH
/HMF24U+1YhsMybp64MhrL0gKNi5H5jcjElgOONKa7Wy6nIvhBrV5csGPglrHJNgZqaWuwlUXxXB
KqBOVcZNUNGU7ltz0a+jMk/MhRBLPa5y5jo0XCM48hlvSq1yHqWlVoz8W9DpjNhgz8TBakpqwsSR
oFIgbZ84+KtenSPwR990Herll8Drc0HJkOnj5MOglgfHYsjYvezI2dOHwIhjbhzM3Fofhhpoe9Ne
62N6an1ieOb0jDvI9x/wlpFjtjY1gefQLbcYAntg0XhL7gt40F05vznuJzdyYblRF0MRSxWrH8J9
gkGLnCGqQ3ZurQ9DjR4r1P/X3Lc9tT5IkyJEB9/DogPJAaPxNlPjO477YshCp1zLjbkv4OWeZSD3
kxvFi3x/MeTtrbeNDIP+uyKZroL7c2t9BCqq9jbrDKyZ+6gUmYt4B/n+h98yKvsclUE9u393MuR0
Z6L0bbl/Au+GHhklN6INlHpaGfKgb9u/W2Boo4es+e3UWp8EFWsuqDfc76j1QQXPnJjqv4M1P2rF
Q3cWk5jHfTZkuAfuI3I/gUfXeTuX4b64ES2tn1aGjN5zrdncFxgxDKn1sVNrfQSq9TX5Mhvud9T6
oHZkTsMdaHsMeMvAQwe5zqcDuc+GQHUulm7NfQFvfZfaYI774kY0ucanlaEYbj3vMwxWGxwy70+t
9RGo3uiKMLXhfketDxpNI0Ph+fYC48ffsnE8dCbXSm0c98WQLTY9v1/uJ/BnuZ0x3E9uFIx5Whni
65Dbcp9hBF7ajuD+1DwXgQrGdyiM247kETSRRsaFvQOZh+C+JQcMMYTp+30xhLGzBdyNuc/gQZ0F
yQZxn93IK1hUsyVDuphE8BHcFxgQR7TO1XaqwrhApRBqO/b7HQrjaD2Z86wF+B1wnxwwojaZStaB
3CdDqGyp6dsdc1/Ahzh03k9u5JV7WhnScS8LYjr3GUZ0Q/T87NSUK4aKyrsOHV/bkceEzpA57Tt7
Y90X953noTvL7czjvhgK8JD3+wk8aN2l4Z3jfnIjtMt5XwxFu9d6aTb3GYambe2I3HY7VcNboBod
O7Q9bIeGNzqkkQEsFc0/DPc9OaAxKqdgMY77YsgW72Lul/sJvO/rLJLlPrtRtMvOIsmQg1Kh+kdw
n2FYrces+afm9SWoUfec83fk9aEPz5zuWtL2eBzuIw9dtpHoQO6zIbxZI9GD3Bfw2KfpleN+cqNo
lnd8bIhziA51FBvjFQ5Aj9CkcFPz+gQqqyK2n/W5jrw+DJbMqRhur15z/C2HwEOHub4947gvhoK+
Vd+eY9xP4F0cOu+LG2kTltwXQ2URzY/gPsMIzuj9JPkK7k/N6xOoxPyK+voN93vy+kCJub3g/BDc
54bIivaX+6u7axJ6QwRkFmBEXNCXWrWVwIzQRliBoX3k/iHSdTADtDoWYKyIVuH0q1gxFLx+yCPZ
BD76oUeyie1h2WIlGYoq3DgFi2FE50oyDfUhem76JUNF7UrN6HIhuif9EuJz0D6WapkfJkRHzbIf
vrQBL4kL9lBqVX0NFn5eZiExItbAH3EV4DpS/+ql6hLUCCVlxpzf2XapOozmmRXF3GnS6FE8e38W
i59EawsTUFaocPO+jTvnWFZJn5xlTl7D61LmRFB5f14GH3v3HalfLe+etUPQV7jp5t27nnfP2iGo
W6ReL0fDL1/QoO6seRU5wRsRhyTwuvbLfNxCxQJUoMWY6Vjgh/fHtrxJ4JqrAZJtDpqXgRuN6cVH
1wZG27McN614vv7x77++/vbne7T5+vt/Xn4jMBwePrG//EAfffr99X9/ffr1X398+nE7V/zw49oA
uMuudRK63h99ftjLly/fXv/8s+6hGPy1h6aw+MfLN9EEkEmVn1+L1Zm3gEmD/PbMf3x++Ttr1337
6afP317Jf/9PpOx++nT6S6z88vL1t9cvl48z1oSWS6+cF8S8FyzZ/jcft+8+Ft49cHvNXXxbFUgC
dH5wUoGkv8oqkG/r481Ha0ioS+nJ9SGl/a4A11Lxi4+ujR56rJjHNiEF3x/bFFIwgGqZNjPO5Ata
o7Ua+ouP5qtAInsMmHO6eFEav0HmypTVSngxpgO4cE1WEAP9S48h+Au1khNUBdisVpK+avWBLOaP
E+X/5xr2aEV+FnenYVz0JGZDxjl9PZ08/uwCvHZonVU4gbRf0xknMPTGVpI1J6QK2rUl5asAxh0S
ZDgsSC8woo2lfNGyllcvhBotr0upesGKypRWW3PkONvV3LfUIeQhdLb2S/aucYczSWNYj5Exe7em
BUHOY9L1KySxeEZbkOQcIKC/I8p5IarPaK1yOKRQyc+9xGCo2ugKUaIKqB2HefU6cQkqahgyqnNL
PxmqCaok+lYPteO4onFUKWR39F/xPbdYYg5tRb+JjTnTrr4n5pzihtnN5npqcJO52HHe7F3Pr7M0
38bQqVhzT81saI1juZuSypX99azWuWnijihtx2r9BNUgmNaF2umr5d6v99pF6w086q5chMyaPfkw
avWuL3YyFHSJRvOXswLDKtO2e85G8Zk1hwkq33N1BJ72mkMy52lkvLuDeuMBb5k2jQqdm9xXNBnS
Ktyq3vgg96VvmuqrPbjO/Tc3ov3i08qQMccuucd4hY7Q1D8ly/2ZNYcJqvFY0e1kw/32mkNyAV7b
0nrx9jmIx9+yJgekfWXM5B+P4z4bosfhzgHNfXI/gXeuS1swx31xo2ACPK0MmYCHag/GeIWlfxiR
aOBn1hwmqC6cFblbuN9ec0jmkM3Z0nbqYbhvyAG9sjld0XHcF0O0znrIeT+Bjzh03k9uBMo8rQzZ
4iXeR3BfYNDWbgj3Z9YcJqghQM+8315zSOaCmLuDeuMBb5mb18cQaw4bjnGfDWF8zHmfwUdl+noJ
5LgvbgS0mnhaGdLO3/T66gQD4pAkMz+z5jBBRYcd3Yt9e82hVpZbnWvVKY97X9y3jn6LV2H6ml8M
cYfBR+R+Ah9MV1J7jvvJjZyLTytDEOFQ3dEQr7DKmYoWbPvcDzNrDhNU7W1pxDLcD+01h9w/lEaG
2/58B9x3mk+xvJ7OfTFkoJQ6er/cF/D0zgfm5ry5UVzkF5wMud3eWLO5zzCMChXVaBXcn3ldf4JK
0bL9+jS039aSOT4fs1iSMnwc7vMxKayUsqdwnw0hX6w8IvcFvMM4kvviRs7qC+6TIY4xN17zCwzQ
OEJrIMwsZktQnTOhPXc4tBez0WJfchls53XVfXHfu2fFHTI6q2qn1Mgs0PEhrrO5frzjIpMY8kXx
/PuNTAk8+qGrkuTkENz6ddw6mTbB8BaH3EKEmeluCSpnu7WfRIb2LCsyh2LuDlRPj7/lwIe4Lurp
2QdiKKi9nJr75H4Cb2HoaYS4kTYKn1aGwJc8+SO4zzDAYkXLsAruz+x0kKBG3dPpILR3OiBzgUYG
dlPSH4P7yENnYPq8L4aMu5Xa+UHuC/jYp3ae435yI4ooTytDTh1TOx/jFazwPOQ0Ym7WIUF1iox0
7Eh6sg7B0shAwO8h+wACDx3oTHezcdwXQ/RPN1I/O8Z9AW9N6FI+zHFf3CiquFzziyHaXdz4JJJh
aK2H1I2EuVmHAjWaCt2JDfd7sg6jembdtL2W0w/B/Wh56LSfPu+LIbR7ubT3yf0E/txsdAz3kxt5
s8w4ZkMs33/jzCOBAc7ty9BVcH9u1iFDta7YFybH/Z6swwhszpcK/x6G+0gOyOV2NaIEh7gvhhAe
M/OIwdPyyA1d8yc3wuCfVob0ufjjVtwXGBCHSOqFuVmHDNV71aF6GnqyDtGJOfU93EIgOaBH9QHc
J0NBmc6UjVtzX8AHO/QGMrkR7SWeVoZ03MvLns59hsEdL0dwf27WIUMF7zvKm0NH1qFW+tlFjaUL
z0fhvlaWRYaL03HpBnKE+tIKTCymdBWvQweoyy3AEDUjuFzvp2FRMRl6by75UFExgUelR9ZgJYIZ
63H1OlCZvZSfyVExwQihoqHSflSEqfmYDJXWQ0G194CAjnxMWseyOSxVpT9OVKTfQuT3hfOukshw
D6VWslC/eL9odZ4QeYdD+g1CRy5gtdBsghroZ7cLzYJuFprVZI8rwWxpj5IVBl4LMLlo9VtKQqUA
05vYkvv5y6tTa1yApUSy+jfWkcHV8MYYavC6oqHd5o2ZnjdmnpXRULr2q1V/BLv45f99+evzr5nh
sFvpIXtdeuiEL+oKqdPNcNj3xzYNh0NtWvSjcsPR3vNh04Bi8dG1gYkR3maUhZ63rtXzniesKfDo
v01FAcL+QPr8QF7Lq7P7eXVZ7WkBbo2nVcUu8K12LSE9Pzhp19JfZe3at2XX5qMVJE7+GyFqBh1y
2FuvxIJXWtqmQgddw/tjW+hqaatZyvKq9rL2DcumK8rio+natfLjHUKTpPHlL46Xs+v6Vy9cIGwj
dihEbK/AQ8dSN74/tsUFvPZY6kFd7QLtLYM2XXoWH60HxthnCNHaq5vY6FG7L8NVZml82KoFpbbi
ZVoh/UtPlvWFeNkJqQmuWbwsfZW8sj+FsFMytbWvxIVgasINtKXtukl8s7YRLpNGGcSFuHID0L60
n9kRTD3SQmOFA4q7mIJc6uE2HkWx1MvWHoI1OnVuOFJsMtXAnbLwn3An0r7BmQx3iCK0BNtwh6Ca
AF3cwRh9RarU/jwf555nMFSkbXFf0dcxRfHWtkH/XMEOqpvlV07ITh2dAnnEenyAqH/khOxogyaC
wTUtNpReU1lsuxdChdj2ZeumhJVIUrFuqPD+jlOVaj3cBNU4X7HyWi9xYs9pnpjzxo44b4pT688E
qtVYoTFZAbWjIKXxJTobK7qIbl6ibtbhPZmLWJLEy5nrqMxL5jCUAlDOnO35dZ5vi/AOUu+OB01L
v0Vbq2qaDterDEeYsNggqNoa27HWkB/pPPTVR920m+Yb+HO+8ohpXFwYrV/OSGIm6FIay0dM4gzD
mJrIURFTpxb6CFRLs3hHTO0o9NEWaGSwKMrwMFHHqWfe4MDkVucnQw5LcpD3y3wB743vSvbPMZ/c
iM8QF+riyQ5t3XcGaTb1GYYzsaShXU/9qXU+CSpCh/JA7Kjz0Y7XN0GX7v4fh/oUxrzSJlPfO5D6
bIibMj4k9QV8wK583xz1yY1c8HqZ3CJ2DJZUvT+E+gwD/ZAr6zi1zEegsupnx6zfUeajvSZzxu+9
oIegPouOBO5aPJv6Yghg70DqPqkv4KPWXSKjOeqTG9E/LKt7kx209pDO4BinAA+lzXQ99adW+QhU
3ph2nGp0VPloH2lkIsbb6wwOeMv4HMnbQibTfyD12VDUnR2gbk19Ae9NV05rlvrxGYj5y1lf7CDY
Gx/YMwwdbBiy159a5CNQjbUlCaQc9TuKfGhQaGTQlhYZD0P9EGTo/PS9vhhyfm8be5/UT+A7W4nl
qJ/cCJbS4skQ/eMhMa8xXmENwJBpf2qRT4KKUKE/suF+T5EPKDFXSit+GO4D5wfQ3DN9xS+GvCrd
b90v9xP48zw4hvvsRk7ppbxwMlSuIfkI7jMMb5UfcdCHc1M/GGpQqiJBds197Ln8BqCRCaZTJfu+
uB8VD52pSmM6xH0xpF1nVeSNuZ/ARzX0jD+5EfnR08qQVSV5mo/gvsBAN6SwH6dKiwtUCMUmLDnu
d0iL6+jInAl3UNw74C0DD10I09f8Yghi5xnJrbnP4KMxQ9f84kZWhWWCnhjCopLOh3CfYESPQwr7
cW5qF0Pl5tsd835PAhNqGhlUe2prD8F9dDx0Wk/nvhhy5xKDx+J+Ar/KgDjK/eRGDpf7fTHki0o6
H8F9goG0GKwgVAX3p4p3J6hoS7IIOe53iHdrjGTOe/cdXO4bpXnovJu93xdDLLnYd0hyW+4n8CyT
MJT74kboFok9yZCxpd6dH8D9BINWOiPO+nBqTp9ANR5Kc0qO+x05fUZ5NvddXPEZRQ5oEHF2Yo8Y
stqU2rzeMfcFvB+a05fcKNhl5V0yZKBUYfIh3GcYBG6EeDdOTeoTqC7YktBPjvsdSX30/2TOuDto
JXb8LWvPQ+fM7Ov9ZAiCe8T9/gk8xpH7/ZMbRQ1PK0NoSgJMH8F9huF9qOjHXcH9qVl9AjVUXUdu
uN+R1Wc00sjEWLpWeBjuG8NDFy8l6WdwXww5VbqHvV/uJ/DOdIl4ZrnPbkQLyMUdXzLkw14/mNnc
ZxhglBtRG4lT0/oS1IgVHQ833O9I6zMmkDlvvoezPmPIAQFtyEhVDuQ+GYoqqIfc7yfw6Eae9Z3c
KCzP+pIhU9QP+xDuo0g7VCTLVXB/al6fQEUfSq1pc9zvyOsz1rDoLZaE+0s6syM0e1ZgaA2yv9+5
DmaAhtQKDE1lvSMzQH9uAYYFLeiZt++vcJyMNrCHw/Q0jGQo4EOmXybwYIemXyY3MtrZp5Wh6G+c
em24mFjRFnFICtbU9EuBqnUs9ezJheiO9EvjNMudmM6WwPfFff4t3hbz/Upqwj2UWuneuF9CiKvR
5Xy6AUsDozpS/+q1aRPUAKXLk+t+Z0TislGbls3p6IIqBIasmvD6HTmL6m12rtIne9Mi8+EX/EVd
ojIqDknVNGqq+rNA1c63q44zsI73ZZ7Bq5rssKuClEaZ5Qsa1EI9L/UqeINWIzrp8cFis67qFiqW
oIKK7RfwDOz82KY3Gbn9Q8PIXBfVNKp9GbppBLH46NrARBfV+yHS1z/+/dfX3/58F0H++vt/Xn4j
MBwePrG//EAfffr99X9/ffr1X398+nEb33/4cWXAq1Umuigqvz/6/LCXL1++vf75Z91DTYRrD01q
zX+8fBPlHpkI+fnVWL0/DQYN8tsz//H55e8sMPvtp58+f3sl//0/0Zv96dPpL7Hyy8vX316/XD4O
XWwqQc95QUHDecn2vxH2zbuP+Xcf+fxwnxQbqWYGdH5wkmqmv8pSzW9r2s1HK0icuDIkpHRINa/7
uSw+ujZ6YLxtlmpmYOfHtoSUCKysPcCZ2rfZm0Y3i4/mSzUbZ2muCuFt4fQu1q5jrVj7+VnePDva
qOhMQtFFL5xxOsL8/iz6GPCKPBmfF9sYCdSFPNkJqmVJs0Z9svRVbUvcniYw2toy5J9r2BG78piy
LXi4m4szuKhXFkNonLouJv2zC/A6XkyancBFWoj4jBNQ4EO0WydALhTucgKvKJretvOiwNC0Ou1W
Ue2FUKGiuupNk7BGu9ewbrz+dnv7li11PKfEdfbyTfY23JHOL8pHsxojep1h5yyzoMB9rFfNCknw
pb1kQYN7QMeckgr3uouOoLXWjChWoB301BMyhkrBsXSjWA+14zCvXoc2QQUzQujJ6KmlnwLV00TU
0iwoC3WqRLNADSFUtC/crG57brHEHNgec9gut5vM0aa3+QCYPaTz18XY3sub33LHr7PPLPTmb58C
PGDtgBThtcHZ/XyTIUMz6G3umg51rjyBj2Fk58rkRmCXUh/JkNN77UmmrygJhlVhTMyfWvaXoAKU
6u9z3O8o+zNB8xrDfRfcD46HzoGezX0xRFvzR+xam8AjrdVGcj+5UXT+6dKQ40YKt+W+wAgwIv3f
6KllfwKVHKu9zwUD6+B+FHOdbnxf3AdyQA8RMzkm47gvhrDYL/R+uZ/An3VKBnFf2vOauEz/Z0NB
hVufJAkM0BVdOSq4P7fsj6GCsxXZyhvu95T9gRdz9vZSHwPeMjkgxLNU4UTusyGumnhI7gt4tEPX
/MmNwCzT/9lQ1LqUe/sh3GcYNO0PSP/nQs+p3CeorMTQMe/3lP1Fw+aKlUYPw/1IDogxOjOb+2Qo
0MMOXJDdkPsJvDND1/ziRt6a5ZG1GNJhz7Vmc19gRF1qvFDP/bllfwxV+1gSQ81xv6fsLyKbKx4p
Pwz36YuBvm2mc58NGeVuJfVxjPsJfLy8uT7MfXGjeHHWJ4bMrgDqbO4LjOhLt4313J9b9sdQra85
ltxwv6fsD4OYuwNJ7wFvmRzQYvCZsr+B3CdDTu2KV90p9xm8NnZkekxyo6DsMj1GDNE69lDZ3xiv
IAcfc9Y398acofKdW8eav+PC1CpL5mhl9h1w3ypywPB+qTSN+8mQv1n/rkPcP4EPceSa/+RGNGU9
rQwFPCb1McYrwFo7IgVFT60nE6i0IDPNDbwYWDv3tWJzxczjh+G+JgdkpfrZd3zJEK1wbyTpfYz7
Aj7o2CXxleN+ciM07mllCPzeFdJs7jMMdMUNWjX3zdScLoYKSvvSrWiG+6YjlchqbhTuYkUJ4bWi
9jklYgt0QIOh8A5EiI77oFH0W+gbGfHBcZFJDAXzmKuSBN73dRXNRiZ2I239clUihmhDctvMI4Gh
nS8lQNVHpqnNBgSq0TUdUDeRqaPZgDWORgac+g5uIawBHrqzkOJE7rMhrmx6SO4zeKuGnkSe3AgQ
nlaG5JDsttwnGDQBlzy8nvtTsw4T1Bhie+W66cg6tFaTOYh30E38+Fu25IDcVH36vC+GrOq8urkx
9xN4Z7vEB3PcFzeKRi25L4ZcuHHWocDwWpc0XOq5PzXrMEGNtl18kIF1cD+SOWc6NTTvi/tO89A5
OzvzKBlC2n4/IvcZfFCqr514lvviRgGWpxFiiFPpbst9gRFrOvdUcH9q1qFApThVIYa04X5H1qF1
nsw56OyReWfcJweECB/AfTaEWNK4uGPuR1a2sWO5L25Ee+rlvC+G9O4h93TuM4yoS+J69dyfmnUo
UJFGsf0WwnRkHVrP6jb0x3eQeWS956Ezejr3xVBw/iHX/Ak84NA1f3IjH5bzvhiKqlQ38xHcJxg0
64chRfBmatahQNVRm455vyPr0Hokc9rvdXx/CO4H0SxWnQLKQ8SU1mBA7e/droMZIBZ3AYZm4KCm
R0UxFGJnItuNo6KABz02LyMRDJet1pMhbsB+26jIMIwfdAMyNR9ToFrjsOMUtCMf04bA5pS9vcb3
gLcs1UWxdDFR0vntodRKmekL/LLUjRVEGGGIbqzpyAWs141lqIECZ4XQz8bvYrtubDIXbEmHNavz
u9ZA8or1IJs0kN70jn42P7/41RsLBooH3PVvrCODq/GNWYsd+rAGO94YmGcLqJpy2jNijlYtfvl/
X/76/GtmOOxW/cdm1H8EH2pXgW89HATn/NiW4XCsKt6yyc4Nh25eAW26Niw+mq9tKT8elXvL7XrX
trTQqm3JzwpexYptwP5AmvxAXssTsvt5QnkpaQEOwZZaS2alaAnp+cFJipb+KkvRvi27Nh+tIEUb
h9Sa2w51661XYkbEmaECbRs6Mj2sfX9sC1055c22ZOflvKx9w7Lp+LL46GPoSmtwhQ2XAZe/2F/O
rutfvXCBsI3YoRCxWWW7ovPOxgX8+2NbXCDy3N5yJZJzgdDuAts9gMvtAdA9W4Xm+rF+9DTLfekQ
erVloVcb2arzEK4Ivdrgng16VPFC6PWEVAdoFnqVr+ry25+jWtraJuJSszTh1mfxldYeOcnapqBJ
+l5YWhKv3EAbv5dkWdAsPdIRY4UjFrvkFBRLD3flKOmVrjt1CFbjdcX2uWIGnLvTF6iIZsShhO3Y
HNYrawpU66FCyH0TqXsOJdgct5Zr34va2K49KebQGlfTunVwvOXmtzYTb2m3Fb3fxlskMqq+eIvO
u1uoq7e2UFoFH/RqbKd4bpJDO0W3dgKuHz1yUnm4VxXDcMpA6f6mrDveC6FCd3zVxSphjcVWd/UB
bG61G0PVLpYapldDdR3FOW2xlmKfrZgWNsGvpzCPzZmAHed+TvXEWs/HJnGPZo/QV84pTW+KvpDp
yjGsp2QyxN3Zb3PXdKin5Am89yNbfic3CmZZbZMMGSgpWH1ABE8waLE84szfTa22EahWhQ69P9dR
beOU5VBjSyd9j8P9wENnc7o/A7nPhrQvJXLeMfcFfIyde+Wr3D+5EZgL7rMhvt2/MfcZBtZcolVw
f2q1jUB1Idj22yPXUW1D8ySbg07puvviviYH9ApCRvtjHPfFkH7MXtIJvLF65MYtuRFRXz2tDFm/
JyM7m/sMIyhVkiGo5/7UapsEFbTZvybacL+j2sZpYHOm1NP3cbiPzzGCyVXYD+Q+G4quNJXcMfcF
PISh835yo6AuuE+GUKljVbZjvAKDK9WT1XN/arUNQ0VlXYUs6Yb7HdU2zlgaGQx7zVcegvsm8NB5
9LO5L4beGxw/FvcFvNe+S+M7x31yI+Qjbv+0MkSb151pZTb3GQZL6I7IGHNTq20EqiE3bb9wdx3V
NrQ/FnMlecGH4b4lB+TWqzV3RIe4L4b8zZR1jnE/ge9U1slxP7mRs/C0MsSCcrflPsOw1oxZ80+t
thGo7r0IsoX7HdU29LZoZGhF9D2c9TnFQ5ft6TWO+2JIh1Lywv1yX8AbZf1Q7osbxWW742TImlJT
jY/gvsBAsCMyTdzUTBOByp1R29M3XEf6hnOOzJliYsvjcB946M65TxO5z4aiLknH3jH3BbyLQ+d9
cSNL26CnlSEMeON5n2GEoEuNV+u5P1XjW6CCVRXXkRvud2h8O69pZHjm/w647x0PnfXT9/tiyPlO
YfQbcz+BR21Gcj+5EXh8WhkK2hzS+B7jFdGAGnLHNzXrSaDysUnHvN+RSuR8pJGhOex7OOcP5IAR
4/zcHjaEWpXqYO6X+wm8HZrbk9woGLXkvhgyvjSLfQT3BQaqUqCu5r6fqvHtRJUh1AiArbnvOzS+
XQhkzphSfdXjcB/pt4DS09f8YiiaUg+GO+a+gPcwdN4nNzLBLHf7bEYrWxKx/BDmM4wAQ7L6/Nys
PoZqXI04zIb5PVl9YMmcCZ3ScPfFfKAoRj9FZTS0xzFfDAGWMjDul/kCPpowdNYnNzLEcve0soNu
L2dsNvUZhvXFd1VP/blJfQzVVd1Fbqjfk9QXFY0M7fy+B+pHCmMuxDh90mdDXrm9phD3SX0Br3Fs
Uh+5kUW/7OmT7Fi9p641m/oMI1RdmlVQf25On0CFWNIdzlG/J6cvApvzpVSCh6E+UhgDfS6DmEd9
MUTh+SHv9wQ8UWHorE9uRCtHWKb1iB3n9jLGZlOfYUTjKnpiV1B/bkofQ0ULJQ23HPV7UvqQTxac
rUh6uKr3OEI7YwXG1xxzXAczQMtlDaYoLV4EM0AHagHGkVcYZW/f12wAGeFZKwtvF9gTIzQbAuwU
ib11hGbw0fb1N8lFaHIjNO7iSEbsoPc3voRlGDpg6aqxPkLPTbxkqCbait6QmwjdkXjplSZzypVk
wB6F+vJbrHWlW7+SqGcPo8qyB4LIKZp1R/hdR9JfvURkghqwlCqV87vQLhHJ5ozSRZmYrKjnRibI
eHjLjKiSCXqTBILXYH5Wa1SR+DfifXUkarW9L07ZqIC6eV/Q875YLpA2Pg3b28vRuHhBgzqz5hUX
BS/qYqvW+jfZfvWOW6hYgAq09vLt6bb0lfNjW94k8Lqlxccz2nZBNa9CN3rsi4+uDYymbeT7tdHX
P/7919ff/nwXDv36+39efiMwHB4+sb/8QB99+v31f399+vVff3z6cRvff/hxbcC5i7ViUiF9f/T5
YS9fvnx7/fPPuocGUNcemhRO/3j5JsJLMhHy86ux4tvuhQb57Zn/+Pzyd9Z5/PbTT5+/vZL//p/I
Pv706fSXWPnl5etvr18uH2eChhFeUNiLLNn+N4oBm3cfC+8+UFjfP0nfKqYSoPODk2Iq/VVWTH1b
0m4+WkECMKWEwuqQEtoP93HdVmHx0bXRQ6dKNQ+ZkELAzo9tCinItdYDnMk2h5RNv4nFR/MVU72y
zwrg3MlpIXCsWwWOvTbcDTK7eb1oSdEgL2fK8nLy/shbtLsiL+ci/UtrDNoLebkTVNpTNcvLpa8G
fRN5uVbl/n+uYYe+SuVcJ4zUVMHpRQZTMhT1sWPNwz0SBIZ3sZTBVNaX64VQoS+36p4gWAMnXY2I
zVOPYBNUVKWr6nqoHWcR9fpyAhVAdWh5ho7T4pM5KKWH5Mz5dn05NheJf3A1Zzv+7AK8dkh5VsRa
7qISYibWRkM/J25iLSNVfbE2Wlrt92tDdEont3fe2IbbaOO5EU97uGV723gbn4OKHv3aERD3augL
4snH2oxcInGEr4CkIJ88oNlJSUB53QBF0HozplVSmFrSmqAiDBFQDh0HO21BN4bgffvtfOiovk3m
oFh9mzMHPUHX0qICTGmr8ChNpLyxvOg4ixSuV+vGxQiNq3VtObUSi3OIMnz2x82kzXYOof0BCxYb
rczlHJLAGt8uv5++akKnKNNt+9edwKMfuWo/eXFY5iElQ3JNfNNVO8MAhRVtcisi3dR6wwQ1qopF
+yb0dNQb0kxF5iyWkp0fJvRY/i20jsz0ruwLPd6xMt740JPAUgBpDz3yVQy3Sn4+FnoYfFQKR7bO
TF7s7DIPKhnS59v8W4UegRHVmPXg1HJHgbpoFdASejrKHb1FPiCNezoUDxF6uCECbSldTeg5kmCT
DAW1V8R7n9xP4M/aeWO4L25EEWC57BBDEEoNuz6C+wwDHcYRB3AwtdyRoVqeyNozbKCj3JEm1Wdu
3fM9tM31Dmgb7bXPyBsN5D4bCrZ0PXnH3BfwYLoqH3LcT24U7HLeF0PRqBtfFDCMEFSpEU0996cW
PApUsLZUhpTjfkfBI1GFzOmwV5H6ENz3jn6LD3o698VQiLeqejrGfQEPOg5d84sb0Yy1PHwVQ9Ht
iUHM5j7DiA4r+oJUcH9qxaNARV+TpbDhfkfFo/eRzBnVqdJ1X9wPmkWrVa7saRz3xRCYzjOaG3M/
gQ96LPfFjZyzTytDZOrG+32WOFHeD8luhqkljwJVm1hKOclxv6Pk0QfP5ly8fcnjgLcc6be8C9ZP
5D4bornzIc/6BHxUQ5ODTm5E4/u0MoTWHqqoGeMVxhcXafXcn5tww1BpxV+hvrrhfk8WCxgxdwet
y46/ZfBSMlmRkXO1SnFK0v8FOrQBdUaCZVxkEkPRdl5a3zgyJfDRdQmu5iKTOLl1zq1eh1NqT8d7
dmQSGLR9HFGNDVNr/QSqd0Uh31xk6qn1A2SVXNupKXBfkSmSA3qwYfothBiKvlQuc7/cT+BxVeBy
lPviRuDD06WhoIrlJB/BfYERsCKZqYL7czPSGCo4VUoXyXG/J80rhqSSe3vRxQFvGZ8jly7V5F0d
4z4bsrp0qXXH3Bfw3gw9jWA3AqX98hZCDDncazs7nfvIJ682DtmRTG2yIFCj1z3c72iy4NGSOWPM
7YXWj79lDPRbgpl/EimGwIWHnPcT+NinvZbjfnKjYJbzvhhCtVfKNZv7DAO9HzPvz016RG5FZ0LP
aURH0mNQSsyF7+AGMiju7BdCmL3fT4Yg7uXU3CX3E/how0juJzeyCtTTyhCt+g8JL47xCh10hWBO
BfenZh0KVGNNR3Ml6Mg6DArYXG/y7H1xX5MDWn1uozOP+2LI2M6N0o25n8CvRKkPc5/dyHm3uIVI
hizeuNhBYDjlhjRZiFOzDhNUgI5myrEj6zBox+Z8ZxLNnXGfO3m9Z1FN5D4bMnHPq++U+wze6jiU
+8mN0PmnlSHnSvmzH8J9bqymcEibhTg16zBBjVq1Zx7FjqzDYLgjFuAdtFk4/paNKMjqCrWqqzeQ
I+Rk1mBihVLXdTAD5LIWYLjHmT6/5XlRUQxZo/vlWm4YFRN4H7pazeaiohAs2mjXr8PFUq+3j4iK
DCNCGLIbilPzMQUquljyq1xU7MjHDCZyXzD3PdyA0H88K97Y1alnDqFUWYBHEDnWrR3hdx25gPXK
mQkq2tLpTs7vbLtyJpvjuFDqtpBVOl0rejgHulHR4029A7+As6s3RvsDG4dEio4MroY3ZhU7V7F5
TO6NuY43Zs2zR/qvlpVlRs4u+sUv/+/LX59/zQyH3SqE2IxCCOML9M+h/QiZ4Jwf2zIcYSeZtXo4
2gX9N7L1i4+uDAxojeqAFN9EpUCGFykUNN1Q5gYS8gN5La/OHhHTZeA0qM7te8BWjJNFmN4enMQ4
6a+yGOfbsmvz0QqS1lDStaqPXu03Prj1Six4JRpUpf43ObrG98e20JXMxYry1n0vw2a6blpeLD6a
L8YZLItxeqUbypAvfjGqy9l1/asXLhC2ETtkIzbB4nrWdj1WAnR+bL0LkDl0xSVHrQtge6ORTQuW
xUfrgfHu2QQ+Ybq2iaWNtnZfOjT4oKzBFxxbddGoKxp8vC0xnjV+LkRM3pBq0yxiIl8FFTsrwQ5o
8LUK5V8q8CXc2vqu7ME3a5s0AtHYV3BxpCiWjC/tHnYU+I70BFjhwGL5WUF/73BfgpL63rpXgWCl
mDIkzxnn7vQZKi0gKiTtKqB2bA7r1fcSVETXEal7DiXInKU4XarizZmz7ep7Yk7km66fGV40R2qI
t3Y/3lrDOQmZeGu10Sxuuoq3BNViu15d+mqAA2mbH9eW6Z8r2GBVl+BppifTqb9PBLX2guj2imwn
N2USGNbFUKBaWV+6F0KFvvSqkY9g5VuIEdr/OLXcLUENULHdqIA6VV9aoHqrKjbEm+jXUZkn5oLu
CrYd+tLBe/JvWmTePu12AFeBFkZO+Uz6zbCuesmQN7dKvTvUVe8EnvxlYAQ/uVFYltolQ6Eo8vkh
ERxYCq6YI10faqaW2whULPe5y3G/o9wmeGT5N2tuf9l0/C0HI0OnzGzuiyH+50fkfgK/uo4/zH1x
IzDL1DsxRCuUQ2W2g7wCzyJnx7g/tdyGoVoVatI2NtzvKLcJIbA52GtI/xjcR9qcKYDZ3XSTIaM6
A+atuS/gLXSl3uW4L24EOuinlSEL8cbzPsMwyg9pk4lTy20SVPDYfvmCPeU2YNmcLjXweBjuAzkg
ufWlpM0M7osh40vpkffL/QQ++i55jRz3kxt5NE8rQ66oxfIR3GcYtBGEEa20cW65jUAFWoW3c7+n
3CYqMmeL5h6G+9Hy0EEuuXQc98UQqj0Zy/vkfgJvQ+cF2XXuixs5tRT6FUNeebzxml9gQI1ezS73
+Zh7JvcZanDFHorXuW9VT7lNBDKnVCnt9mG4j4qH7tygcB73xZC3txL4P8b9BD6MXfMnN3JhUWKf
DAXcO0aezX2GAdaNSCy3am65DUONyrVfKzCwdu6jo5EJXn8P+30EHjpvMyLfA7nPhjTcSl7jIPcZ
vFkVIx/lfnIjNMuiEjFEq/4br/kZBqohAv9WzU01Eaig2pP7GVgz90FpMkev7vaSeoffMij37Ogl
h9l3fMmQMaUkzbvl/gm8DyP3+8mNaHaNTytDFo419hnjFVrSuAdwf6rIt0A1mjZP7dzvEPkGFWlk
wO7pnT4E97WWocPZ834yZMJeq7r75H4Cj7FLWifLfXEjwEWGVjJEL+SQyPcYr7AKKi7NK7g/Nesp
QQWoCFMb7nekEoH2ZI7WgN/DvK8jD110s8/5kyEspnvdMfcFvLMjszOTG1FIgadLQ06FUlfcD+E+
w6jKTK7g/lQZbYHqOYa2c79DRhuMIXPKfA/3+2A8Dx03OJrMfTHkfWcntBtzP4GPfui8n9woePu0
MkQrgkMiEmO8ItBsOmTNPzWvT6DSgJVOR3Pc78jrA4M0MiGUTkIehvvW8NCd++3M474Y0lgq/7lf
7gt4Y9XQ/b64EWi15L4Ysn6vb8xs7jOMqGqqlSu4PzWvL0EFXdK1znG/I68PbBBzJVmIx+E+OSDq
bCPfgdxnQ8Z2JkTdmvsCHuzQeT+5Ea1Xn1aGLO6pNE/nPj7T/74mSb6C+1Pz+gQq+a/tOOfvyOsD
Z2lkrIfv4H4fXKDfAqsqlRncF0Mxlorm7pf7Ap4iV5dwXI77yY0Qlvt9NqSVK5VBfgT3BUbAEVK6
Vk3N6xOoxinTcb/fkdcHXpE5pTrLUu6L+14ULF1F28arCpYjBGFWYMj396eb62AGiEktwFgRGq3I
ab8KZoROygUY8fDpV7FiyLtOqdgbh+gEPtqR5ZYntjvr1q8DVElw7SNCNMOwNlTwZT9E66nplwLV
qeI1XyZE6470S/BAIxPcd3EkG8gBWaKjMHQlbc8eSpXFDwRR0LZCfrHC7zpS/+qVIhlq0FUNazd+
p9uVIiHY50Dj8jadLgQHXa3g4Puz3LOhQOzr3ntZeciCOuvkVCkPvakMvXz+7JdaIYLKx1hiVv27
70j9ann3rNDlbakoPvfuTc+7d1KtXFJRKUnNWX3xggY1R86LODJeq4ypqISreJPtl/m4hYpFqDGo
ZqEOBnZ+bMubtMaoUgJvpVye1b55GbiReF98dG1gTEDzvin9+se///r625/v0ebr7/95+Y3AcHj4
xP7yA3306ffX//316dd//fHpx+1c8cOPKwOg4+WuV0LX+6PPD3v58uXb659/1j3U6asPTWHxj5dv
ouUkkyo/vxprwNPxLw3y2zP/8fnl7ywd+e2nnz5/eyX//T9Rkvzp0+kvsfLLy9ffXr9cPs6yqvsA
LyjsTJZs/xsF+827j4V3T0ucioL7jQgrAzo/OImw0l9lEda39fHmoxUkcpaKZNuKkNJ+V4DrTg2L
j66NXtQa2+8KCNj5sU0hBcFVHE/uO1NsDimbFhaLj+aLsAI3h48KXU2/ngaVOVNWmYPAHZWDCe6K
yhw47gwdfVAXKnMnqASnWWUufVVjZ3e1YypzrQL+/1zBNgG67jOzDTG4t4JVdnmnAfZZeVpuXJWO
iD/TDue1Q2pw1wnss4vGXVN25dNXp5wxKxfgzX0M7TqD8gtplbKnWTG55YfAoMH3hYmhrKPXC6FC
R2/VJiJhpf1Sf7lvpxRueyeFNW8E+SpLsp43yd6WOPjMlWPLQn+2pBVtt/vFcI+1jVghASh1aCnI
4Q5oXlESxF03tBC02ukRDcCtnnuDwVANrUZG7MVMx0levUZjghp1U/eHLNSpdZ8C1XrVtOjKQu04
q2gcVaJDRUeFzXK05wormYvtHUPYu5qVL5O56DsKcE1HAW4yh7bHnOn5dY5mAnB7SZqP0EgKouO5
JoZMDmDPUt1pbd2EpXqCCujbF2ryVWv25DPusoPdCXxwXYUHmQU7+zBChIXOQLLD7/u2q1mGob0t
9dGrD+Jz6w0ZKteytdcdmJ56wxjYnNlbFz5G3EH6LcF4WxF3Dl1wiyFweKOao4PUF/CxLwcpR/3k
RsEs9+piCG2p68GHcJ9gsIzOiMsmM7fekKE6lq9v535PvSHyEseETrmM++I+kgM6+ik1a45D3BdD
sKuSfZ/cF/DR+K7klhz3xY2sWmqKJkNI26bbcp9h0JqvdJxaz/259YYMNVjl2nOPTUe9YVSKRgZN
pxvfFfejsjx0OmZyj2liikMS25Ih5x6S+yfw0KcpmuH+yY084tPKEOvW3ZT7AgOMH6IxYqbWGyao
iO1NqxlYB/eBzPne1nF3xn18VgG8z1wLDuQ+G4oxPOKaP4GnaD9yzZ/cKBgbny4NgXLHao7GeAVU
FfFVcH9qvaFAjc6UMvRy3O+oN4yarxft7oHMQ3BfB/otgCaz3x/HfTGE2vc1Xbox9xN4h131hjnu
kxuR08Jy2mc7yHfGt6W+wCgfpNdTf2q5IUPV3MG3PbfUdJQbRkNrNaVsqWPJw1Df8CWys/OX/GKI
tpA3KjU+Rv0EHodu909uBN48rQyB2Rul2dxnGNrCEDlhM/WyXqDS7ruiMmzD/Y672mhoraYDdJZk
3Rf3rZLuoyrTRmAc98WQUXsNpO+T+wn8+f56EPfZjUDDQmIkGaJZ5cbcZxhWYSlhrZr7dmodW4JK
/tvcQoSBtXPfOjIHplTZ/DjcD1zda0u78EJB7ZzymAU6oofTZv5hhBgyvdkit45MAj6argYnuciU
nDxot34dTu3Jwk6PTATDqzBE9NBOTXZLUAE6DiNsR45VdJrM2XAHAijH37JzPHThcr6dwX0xFPFA
tvMNuS/g0dnOhOfr3Bc3cmqZeCSGggJ149MIhgF+jPCZndrkQKDGiNB+AWk7mhxEF2lk4rndxUNz
35MDRmP09B2JGLKuJEZ/v9xP4CEOvYRIbuT1IvkgGaL/+W0TjwQGUhAacRphpyYdJqgROk4jbEfS
YfSezDnvvodLCB956DxMn/fFEALeSOz4IPfpC0qdm/yN4X5yI7TLWwgxpG1pBfsh3GcY9K5GXEDa
qUmHApX2Jx0KF7Yj6TByi3ftMPZNYffF/eDpt7z3GZ3HfTZklHEPud9P4H0cuuYXN/IW/NPKEGfT
3Jb7AoOm1BFJh3Zq0qFAtd6X2kLkuN+TdBiQzHHK8XfAfTA8dC5kxI7HcV8MhdCZsXFj7gt40KGr
qWGW++JGUS8Tj8RQtHsa+rO5zzC4j8cQ7s9NOmSontZK7eIltifpEAKZ0735c3fGfXJA79FOP+cX
Q0SfG4kdH+S+gD93ZxnDfXEjY/xyzS+GyJ8PNTMe4xWBRX1HcH9u0iFDBfLSDu73JB1GSyMTi+WX
D8P96J4VX/H1SfoOEV5agbHG7h8vXwczQFhuASawU9lc65dxUVEM0drrIXdDCXwcewqaCBYwrF+H
17e+AWEYUXs1Qj/Dzs3HFKjRleohc1GxJx8T1bNRsXjZmtVm3cjgKOPeklYqZXAW6qwO4wqX5tZ3
I95YRxZdvTqrQLWoSpEg98awXZ1VzEUHe5LdDzGP0W+xzhUPSkuK0D1BcCXj9Yv3ceV3vM+tqIDc
9zvXkcHV5ncOXIztZ6ZO9fideYYQdFMbjYzwo1u2FPjvy1+ff80Mh90KD9mM8JDgA1usi8wNh35/
bNNwoMKmToK54TDNK6BNu4fFR1cGJjpUbxUqCylvqJXynqipGVHaUxQXUtUDafMDeS2vzu7n1eVl
pwV4MK5C6WorW0tfOj84ydbSX2XZ2rdl1+ajFSQgUCNkJlyHEvbWKzHrlVwDRgRqP/V17v2x9XQV
czXdNPe9rH3DsmkVs/hovmwt/3jDCtANyX+XvzhcrurWv3rhAmEbsUM2YhMsZ2MpaTvnAuH9sS0u
YLxxFVJx+y4A7S6w3QO4zB4AtXt2Ihd2bRMbPf37Lx0Cs7YsXUYr2Gdab6torkiX8SbfSYnohXTZ
CWmAdumy9FWrdd869oBgamtLiUu51BPuYLpuEt+sbfRLUo8MevraDWhb1HKVOK57xiUOvjErhOqC
WOrhDh4lqdR1V4+EldaBI84/3dSdvkDl/PkhUDu2uPWingLVG1ORPb6J1B2HEskcFlur5sxhu+wl
m/PKZ8LtqifZ2HjrldbK5+ItGgt2E28JagDdFW89LQ4/It4ebt30zzVsf1lfXx9ur6tFpa5a0bu1
F9CK9LYd6gUGq0QWqFbWPO+FUKF5vmqfJViNdkMum/zUcrcENZhSx9Z6qB31L23B1lsDFRLa6+jn
OyrzxJxTrkPr0+ueYOvJv6O1t7+GO85VQ7/FGFA1zSyrNYYVfWX8xJGgBtveDCJ91eJDNjpP4KUy
bNz0cfJh8IsK5GTI+9Jp0EdMHwzDmholn4o4N7XWJ0HFGj3kTeDpqPVBw3N+uYHiwwQeq3joVE5o
dFgXXTHklD3QCuiG3E/gQ+jK989xP7mRW9b5JUN8dXtb7guMaIc0OvdTa30EKv1fxXHshvsdtT5o
acakVbX+HhYdFmToTM1u9Rj32VA4a3U+GPcZPCjsynDJcT+5ESp8WhmKds+1pnOfYAQi/4h7az+1
1keggo6l+tEc9ztqfdBpGhnAO1AcO/6WneOhwzCd+2LI6lv1FTnG/QQe9FDuixtFe3FkJIYc3nrN
zzCidqWXVc/9qbU+CWr0vmPN31Hrgy6yueIB1cNw35MDonG5+v5x3BdDNviHXPMn8IhdtT5Z7osb
0RzytDLkjT6U2TrEK4LiA+0R3J9a65Og0iapY97vqPVB78mcuweB8QFvOcrQ+en7fTakVVEV7o65
L+BdX1OhHPfFjbyxF9xnQzr4W3OfYUQ9JKvdT631EajGqw5NL99R60MLZDKnTelq/WG4HzwPnYkZ
gfFx3BdDwT/mWV8CH0NXnV+O+8mNAizX/GIo7h4jz+Y+w7DuXNd4jPtz81wYqtOuYomy4X5P8khA
GhmAkvLBw3AfDA8dmOlrfjFksLOo5MbcF/DW9dX3Z7nPbhS1WSaXiSEX9tSPZnOfYXivx3B/qsK4
QA1GVUjlbrjfoTCOENic7ty63hn3yQFD0D6j6zOQ+2wI7GOu+RN4GLvmT25EFHtaGYq4Jxc3nfsE
A7wriTFUcz/MTbliqNFYaOd+6MljipZGhpPjvwPux8BDF9T0/b4YstHdqKHYMe4LeKfjyNTQkxth
hKeVIX9Q12eMVyBLr47g/lQN7wQ1xopCtA33OzS8ERWZ82qv7dNDcB/JAekHYUbLcxz3yRAoZfcU
a+6T+wl8GLvmT27kzJL7Yuj2uT0CIxb7ZtVzf25eH0NlRf39JcqG+z15fQhkThdXRA/CfUP/Ux46
Fyev+U+GApRKuu6V+yfwoLGzAi/DfXGjuGggfjIU3TFNrzFeYVxRta6e+zPz+hJUq2vKrDfcb8/r
I3OORgZw7xL2MbgPPHRnteaJ3GdD1ujH5L6A933dBK9z/+RG0eoL7rMhB3vTynTuEwxn/BAdpDAz
ry9BZeXBdkWH0J7XZ5TWNDKRKz4fn/vasAaK9fsZXFcl9EYIyCzAJEEW2F+/XQczQB5jBcabCv+/
DmaAUMMCjGMPZ/WJySFaDFnfWaty4xCdwKPpavqYC9GJ7RQK16/D69J5yEeEaIYRtK8QnqoI0TPT
L09QowvtV7GhPf2SzEUy5+AO+rwff8tGPaMNoSQMV5Kq66HUqvr6S/j5l/h0icj7UDq7rfe7jtS/
aqm6BDVyJkC734VmqToyJ1J1xWaHWVHLzTsCaJMrOUuTvIbXhTRJQgX0TyPStENHulbL+2KoaEt9
0XLvC3rel332wTc1p7wcjbh8QYM6qmaV3xJeCGrIBXxov4DHLVQsQY201+tYlOP7Y5veJDpTuiWt
1dgC1bx02+hCLz66NjAYUb8Xhn/9499/ff3tz3dNxK+//+flNwLD4eET+8sP9NGn31//99enX//1
x6cft/H9hx9XBlCHy1MqEVh8f/T5YS9fvnx7/fPPuoeelXEuH5rEG/94+SZ1/DIR8vOrsYa3FC0a
5Ldn/uPzy99Zb+7bTz99/vZK/vt/Ij/306fTX2Lll5evv71+uXhcYCmVlsTUnBfovBcs2f43H7fv
PubfPc0ONfi2yo0E6PzgpNxIf5WVG9/WtJuP1pBwTE4PtJ/v41reffHRtdGL3Na0OaQQsPNjW0IK
53WWFpHVzlTQB63VvV98NF25kbttPdNWPLz1RFxot7pa7dbzsyxtpdEalSkevJDGb5C5MkW1Enl/
MXpzRVXQKEX/TkUNS60SAUprD2tbpUpOP9Hp0J/K9HGK/P9cww4wVI5fdMK99uHpwpCOWuN1Ycmf
CcLrHA/QtB73KuMC9EMA9cYHGCm7TYcTaIym1PZwfs8BgWFUuQtTWcirF0KFkNel6nnCqrWNH8Cb
oy0EttQh5FF39vdJ9q5xRyvv1WaMrDmgxnmsX8IKCQZXoZp/RY9zQNeGHUXOZSeHhNYqV7EDqVjZ
zL3BEKhQ1Carh9pxklctEpegOl9swl0PdWbdZ4JK838p16Aease5R+Oo0jzVkbYGPVdYyRxUCPZs
zPlm6b2TuVBzsbMx116AezIHpkPHEKDn1zmabxFKbagepC+KUc7xXBP9wKU6BWA7fqmegELsWKvL
V70uHajfawOtN/BuZDvh5MFa6YXEyMkQ7QwOyQuNcUhT1oSoj+Ezyw0TVKtiRzthaC83JHNBljcl
YdmHCTuef4uLIVNu2BN2vNW+LITdE3ZOQJVqDzvy1VDUV77fsJPAB9elaJgLO8mDUS3DjhiCWLoo
/oiwwzBcHHQqOrPSMUH1vqY91ibstFc6ckUldzIudk57mLATeIPgLUzuZHwyFIK6kZLxMe4n8Oi7
0mpy3E9uBA6fVoZi0ZM/gvsMIzgwI7gfZ1Y6Jqig0bdnPcf2SkcyB7yxgr1ytMfgPgvDEPUz1U4D
uS8KNKbUaf6OuS/gfehSMc9yn90o0v/waWUooNmJkNO5TzAskWMI92dWOiaoThXlRXPcb690NEok
KJQunVA9DPeBhWGcDpl02nHcF0Pe4o2UjY5xP4EH23nDcZ37yY28sU8rQ7TAOFTxMMYrvBtzXBxn
VjomqDR7leaUHPfbKx3JHEtQ0Ebje+B+ZGEY53OqZuO4L4ZoOfuQx4wCPmg/9JgxuRGGJffFEBS1
Oj6C+wwDLJbE1Ou5P7fSkaFG3aNoGHsqHVlQgVbJpRTZx+E+C8No66ev+cWQiZ0B89bcZ/DvZZpj
uJ/cyKnlfl8MuWJlw4dwH1ndxA7JE4hz8wQIKihTTJfJcb/nmlgUQaDYaPxhuI+B6/lCRert1Xq+
KZn+F+goxp61JOZFJjFEG+2HPIkU8Fa5oSeRycnjRYGfGHKmdK72EZGJYWg16CRyboGfQI26o79C
7Cjw0yKQYSPeXn/h8FvWimVrolI1l59HuJ8MoX1I7p/Aw1DuJzdyJrqnS0NGu710nsncTzAgVhCq
gvtT8+wEqvXWtNdlxI70Lp0EMormHob7mmVronUZ7RVOK9BxBPfFEHq4kdbqMe4n8NjXVynL/aSz
ov3TpSHOV7vtvJ9gQKggVAX3Z/ZXSFC9C9hxEtneX4HMsfKCgr30kMfgPsvWOIi5XMtx3GdDQXU2
obw19wW8HXoSmdyI/tBPK0P0/7c9iRQYwekhmmtxasKjQKXlU0mVPsf9joRHbTSbM+o7SHjUhhwQ
vMn1VBvHfTHEd5CPyP0EHvp6quW4n9wIlrcQyVBUJbGnj+A+w4jOVdRJVHB/atahQMWy+GmO+x1Z
h9pEGhkId9BL9fhbtpqHLmSTnYdxXwwZ7AyYN+a+gLdmaMZxcqOo/JL7Ysidm7jcivsEIyoVS1We
1dzHqVmHCSqgaq+vwo6sQ209mXOqs0b4zrgfparAz+c+G0LbqYB2a+4LeLBdWqs57ic3om3106Uh
rXBPynM69xkGFBVF67k/NetQoBrnSs1Nc9zvyDrUzpA55Ut6YA/DfSfyplDxlq/eQI7QkFmB8a60
NiiCGaCRtQDj2am8nX4SIoY8HJBpuWFUFPDhXJM0JiomgtE/rV8HS4LfNioyDGthiCgCTs3HFKiO
Zqz2GxDsyMfUDp8d6xYWXlBWZnKjwgHct7hJheNNccP9/OXVqUtcXgV0Q95YRxZdvdCkQKUgWJHo
v3ljtl1oks1FGzD2FYHc2TyGz0hzMhSGriRI2xMEyypCCRHQMmGE33VkcLX5HQZvcV9xdON3rsPv
PAt8aV268q/VsMOlvPp/X/76/GtmOOxW98RmdE8Yn1a2WBSdGw7//tiW4eB/bCrvyQ1HaF4BbaTv
Fx9dGxiHZ2W2Hv29ifKADM86Y0OLClBuIAtK+dfy6uwRBV0BHkIo9RzNKnAS0vODkwIn/VVW4Hxb
dm0+WkGiXUEp4aQ+erXf+ODWK7HglUQ8rBB/2tA1vj+2ha406G1yxzkvw2a6bppDLD6ar8DJP57m
WNuisr78xU6ttNXWv3rhAmEbsUMhYtPkq9obLTGg82NbXMDL3H7YBZwqKPrWtuRYfLQeGPDP2gRl
r4oJcHtY96VD4nJHwkQHtqothCsaJrwt0doAqgsRk4TUY4jNIibpq3CWge7YQHfqNbaq41+qNZ5w
R+y6TXiztkkdFrl/D96v3QDtXrJFQa3xSCOASxzWQ0lyoqDVeLgZQVGpcdWgQLA6Xdwd1c6ATs3d
6QvUgBXnnxVQO7a49ZqCAtWT0zdf0/AYth9KiLkYK3opbMzZdtU9NkcBTtmarnVj461R6BRk4i13
I1NmE28pRGNo16pLX/W21OJnmq50a+eYf65hR90bbq8WakhTH6+jXnsBJ7UfOao83KNHYBjrS6Xj
ZcnlXggVksur7j0JK/omWftsBJta7iZQbVRxQC4c33RMDraGVXWa82F4DLuCrWEJy+YDZx6HjmAb
yGdC6OzYfVf9tHRMqnM4cOKg90BfGT9xnKB2aNGnrxpTOqS920Z+J/BBD+yxfvJh7qj+tDLE9Re3
nT4YBi1lSi+rPs7NrfURqOBKPQ5ygaen1idGNsd3348feFCLcuL0PsvJkLmZ2uAx7ifw2Jf3l+N+
ciMIy9wfMeR06Qj7I7jPMIIKZsDpL00uU7kvUGkQO7jfU+uDNCkGG0vVz4/D/chDF+PsBr7JEOrO
ldqtuS/gz11ix3Bf3Mg5u9w2siFQIR5SHhnjFVxBMyBfwqm5tT4MNbqam9MN9ztqfYwyZE6ZPUm4
R+C+UfbZGadNnMz9ZMgXL2Xvlvsn8OeLniHcP7lRAPu0MkQh8lB22xivsNZVyHhVcH9qrY9A5ZPW
jpPdjlofijFszu+1UXsI7mtFv8UFnclsHcd9MeRjqf/t/XJfwNN2f+Sa/+RGGBaKY8kQuJII1Edw
n2H4MWqDfAQ4k/sMNaiiNmuG+7qj1sdoR+a0uoN8/wFvmRwweHWpozeF+2woGN8niHJr7gt4j11q
gznuJzdyejnviyGIpcSVD+E+wQB3jnXHuD+11kegRq077jR0R60P2WNz7g5Uho+/ZUMOGL2DjMrw
OO6LoQC3Uhk+xn0BT0v+oWt+cSOa/eFpZehoZ94xXoEOzP5CuoL7U/NcGCpNXcUTkhz3O5JHjIls
Lu7d4z8E962m3+IjZrQ8x3FfDEFvS4Ybcz+BX0XIw9xnNzIGF3p+yVAMpQn3I7jPMLQ3pczJeu5P
VRgXqPRf7QrjDKyd+9azueLt5+NwnxzQBOsy9f0Duc+GwO81Bb9T7gt4NGEk95MbwcVZnxjC3Vav
07lPMKwPLan8ee5PTbkSqM6EiiYoG+535DEZZ2hkIuyJrj0E953noQOYvt8XQ+/tix6L+wm81106
vjnuixuhDv5pZcjDsY5iY7zCGx1G3O/rqRreCSrqUt5IjvsdGt6GS7B5aG6v63P8LXvDQ2fM9P0+
GwrK3UrB4hj3E/jYp2CR5b64UVRL7osh7u98W+4LjOhgyH5/al6fQAVfbPWR435HXp/xgc2FUiHp
43CfHBAw5LoKDeQ+GYoqdnZ8vzX3GTz3MhjJfXEjCofqaWXIuL2b0OncZxgRK/rNVHB/al6fQEUf
K7YnG+535PXR9pjMBQXfwzk//RZkKcTpuT1iKMJj3u8LeP7/kdxPbuTicr8f3LPSxu8pns7mvsCI
0Qy535+a1ydQjY/tOr4MrIP7kcy5YgOzh+E+6Gdlw/lwaR73xVB0pS3k/XI/gY9q6LwfUj7/MrWH
7Tilb53aIzAI2QAJb6fnpvUxVB+gNA/nqN+T1gf2mV9PhXDINcXJIeodazDF6bQkfzlCTWYFRodS
0lMRzAAlqgUYT15h4p4U/mNEaJptPFg3PftSDGGxueQdR2gBj25oFga5kbfmIgGL7QRt7KEGK2Oc
IkRXyparjtBmbvIlQwXvOi5jTE/yZVQsw6JLed5ZWdH1K7FWm7eIXSUY8yYO48Mv+Itao4Ka6Fjx
vjoS5urFHRlqZ1W+0e3ijiaaZ8mg+B4uzyJ/RRV7CZVERXsiYFknIyGKUNHZrMLvOpK1WvzOsKCX
aW/AyMA6/I4l4Lyq2DNeV6YzF0pSg3op5zUfBS96X8qTqn+T7dfvuIWKBahBBVVqPJx7k+79sS1v
kgJr1APU9YxvXoVuFOEXH10bGGPdonj+6x///uvrb3++q6F+/f0/L78RGJ6WPrG//EAfffr99X9/
ffr1X398+nEbL374cW0AVufTIq36/ujzw16+fPn2+uefdQ9Fb649NMm2/vHyTRQ8JLDy82uxEndP
6wIa5Ldn/uPzy99ZafLbTz99/vZK/vt/Ijz506fTX2Lll5evv71+uXycNW1H1TkvKOxFlmz/m4/b
dx8L7z4oqKg732i2MqDzg5NmK/1V1mx9W9JuPlpDgljB04qQ0n66j+vGDouPro0eRetSHkQupMD7
Y5tCSvTgRoSU2BxSNh0vFh/N12w10T1rRf90QLX5/CzkOlV0ISMZcNEUY5zAHb8/mkto2XNFp4jP
3J323rkLnaITVIvtgqLyVatcp8jDMYG7ViX6f65hox3bi4ObBIC9qFwgQ17Duc/eSlX2ZxfgdbzK
oayYNO3hMeMEXlmv9MYJCGmvE3jLSWFHTgYONzYQGLR5q9n/Xlfx64VQoeK3anmQsILrbIJ+QIi3
vX/Iljrc9dh3Jf6/2bvGHUtx15v1GKHbE5EoSPEea5ZyicT7UNOw5YoY74CWLSU53nUbF0EbTJvs
enZxM/cOQ6DGmlaE+1Btx2FevUKkQI1KlVqX10OdW/gpUEOsSAStgNpx9NE4qhhjxX3bZnXbc4kl
5tBX9FNZm7OqXXeTzQVFC8r24wDbU4GbzGHHYFrT8+scxeegSsfbj9IUySBQhFcqZpIBhrWwS4Z0
sXHV3bawO4EPvqvYP7NsPrmRc8uiPzFksNRX6ENWlAwD3ZCCXzu36I+hhhArtJY33O8p+kNkc3ZP
efURuG+VkV5ykCn4Hcb9ZMiH0mrnbrl/At95zZzlvrgRLgt/kiHQpaukD+C+wDA2+CHrvalFfwLV
qlhxJb7hfkfRn1WBi2TvoehvwFtGHjqY3tA7GdK4J1l5p9xn8Maazj3/Ve4nNwId3NPKkPXHCn7H
eIVTY0R+7NSivwQVQLcX/tiOoj+r+UzGmlJq9MNwXwceOqunc18MxWAfkvsJPPYJfeS4n9wo6PB0
aciXSfcR3BcYYUjbavqFU7nPUANnfLVzv6PozxpF5my4g+T/42/ZyMGj9pmC33HcZ0OgnL2RmP8x
7gt4vhEdyX1xI6dgyX0xZE04lFs6xiuipa+M4P7Uoj+BirRB2Q9TG+53FP1ZA9I2NPZpVtwZ9+Nz
MO8tUCdynw2hKXUGvmPuC3gPI/f7JzcKy6tQMURbsGM94MZ4Bd/eD5n3pxb9CVTnQinpIsf9jqI/
aw2ZU7Z0afIw3Leeh86p6Wd9YsiHW4n7HeN+Ao/QVfCb435yI0D9tDIEBg4V/I7xCm9jaWVbz/2p
N+YCNWhXmohz3O+4MLUWOXczllqcPAz3HTlgcDHXyGMc98VQULcS9D7G/QTe9gl6Z7nPbqSNXa75
xRDsasjM5j7DoKBU6idSzX03tZ5MoEau323mvuuoJ7MukDltSvJHj8N95LRmA9PP+sQQtw14SO4z
eFDKjOR+cqMAy3lfDEXrDon7jfEKdHFIjZibmtPFUEFprCij3HC/I5XIeksjA1AqhXwY7vvwrJSP
FT1QrioXTCl3u0BHLxbU9Mgkhgx2pmzcODIJeHuei8ZEJnHyaLVbvw7nSjrfHxGZGIbWvqJmqiIy
TW01kKBGV5KyzkWmjlYDNig2dz65f+jIFOwz8Oq4pkboEPfFEL2pG0kPHuN+An9OBhzD/eRG3i1P
IsWQ13sJrbO5zzCshpJOZD33p2YdJqioSv29c9zvyDq0Acic83fQauD4WwZyQBs9Tr+FEEMYO3uy
3Zj7DN4p2yc5nOW+uBHCotgoGeIGH7flvsCIYIdwf27WIUP15ZaVOe73ZB2CY3Oq80D9zrhPDuhx
da8+hftkKChzK+nBg9wX8OHynvYo95Mb0abuaWVIx2Ny42O8IkQTh6z552YdMlTwpnR2m+N+T9Zh
1GzOlZYZD8P9SA4I6HJtRsZxnw1FFTqvbW/MfQGvlRt6AyluRBFleRIphsxup/rZ3BcYEYbcQLq5
WYcMFfvm/Z6swxjJnMbOgrn74j5qHjrMnfUZxy4wgvtiCPRj7vcTeD92vy9uZOxSBSgZinDreZ9g
REWT6YisQzc365ChaqMriuA33O/JOkRPIxPtnrDIY3A/8tA5lWkzMpD7bMgWW8DdMfcFPIah1QbJ
jcAtqwzFkNd7R0nTuU8wjPY4hPtzsw4FagwVXRE23O/IOnTKkDkHexcxj8B9p+yzUg67byAHCKmt
wPii2HURzAChyAUYz04FYfaKKBlCxBs1XjsUFQW8Vedq+yFRMRHM62hWr8Nq73dGaXJUTDAAw4jm
S25qPqZAdV516C64jnxMp5DM0TLiOzgF5d+CSkVTiIolzegeSq01o+GXpVZ5QgSmVIpQ7Xe+Ixew
XjNaoGrumdrsd161a0Y7rZ61UbHkd1lt+Y3+Gdrwtk2p1D970zr72fz84tUaF+iKXucVb2yqurxA
RVW8vMy9sQ51eaftszW2mIhYK+TqzeKX//flr8+/ZobDbpW/bEb5S/BZjxXaOpvhMO+PbRqOoM5J
BEekXdOzKHSNGFrbvJraNH9ZfDRfI9el0m0oFbNX/3iX//HX8ursfl5dXkZegIOqObvYylAT0vOD
kww1/VWWoX5bdm0+uoQUNLgh3aZ8+40Pbj0JMwLuApXeekVC2oau/v2xLXQNljbtLefhOS9r76+0
afa0+OhjKAagzkdFNT/+8hevZtf1r164QNhG7FCI2MD9a9sPAAjQ+bEtLgARbUnOt9oF2jfQm+Zj
i4/WA2Mkb8zHq5vY6FG7L+0izzTDFUWeZXyMVt5cEXm2LAWJnER2IfL8hlS3izynrwYsnVLPUSxu
bU10qVeccIPzXRoGb9Y2wmVRPcegVVx7QSw2OtqRKz7ShOkSh/VWFybogljx4UZQJanidXMoweo0
DGnt4udu9AVqRBix0whTpYoFqvcQO3YaPWcSYi74Dhma0CGqK+aCDlU9m+vDrfEV4dbT/uGapj6H
W+D0arUNt0F76/vCLQsj9t/gflw/wlXw4XKWoc0Io6Gh1yasnAC0PVY8erjtWYIBoXT8UG450Auh
ouXAqiGaYI3ODBEwD1OL3QQqljsZ1kOdKmCeoELxYCwX/Drq8pK56EuCCTlzHRLfzkh21D0U2wzg
aqAYrUysmTcOXTWJIe33xKvvspvsCfy5M9aQAH5yIx/t08oQrVIPJd4N8goMQ5plhKnFNgLVhWK6
Uo77HcU2zkQ250rLuofhvtW0glB8FDSZ+2KIMD4k9wW8UXbk4u3kRlHj08qQterQNfMgr8BYqo6o
5/7UYhuBykLp7bcloaPYxlnP5mKnct2dcT/yliS6TML9QO6zIaPCjVJMDnJfwDvdJfuT4764ETi1
TDERQzYck/ge4xVRWRxx8hSmFtskqOAqsmE23O8otnGOdtvRGvge5n3neehsrq3POO6LoRj2VrP3
yf0EHsPQNX9yowDLIwg2hEqX7js/gvsCI0BT2+ws96cW2zBUilJQEm3Jcb+j2MZxC1NFdPkeuO8N
/RZif0bqcxz3xRBq/ZDzfgLvQpfkV5b77EbO6EUnXDGkFZSy/T6C+wIDajT0Krg/tdhGoBp3vrls
4X5HsQ1tjtmc3tNkewzuI6eVG5sR1xjIfTaExbXZHXNfwMexa/7kRt4vz/rYkNW02r4x96VBt7dD
zvqmFtsIVOeg1DYix/2eYptgyZzypSz2h+F+CDx05x6v87gvhny0N5L5PcZ9AR80xJHcFzfStL5/
WhkCt1e/PZv7DMPbmnTjCu7PzTRhqEGr0kSc435P+gYoGhlQna3o74v7YGXoPMzmvhgyRa2W++V+
Ah/6ysly3E9udCGskwzZuHciOpv7DIPVNEfM+zBV4jtBjUXBpgz3oUPi2wGQORYc+w64zymZXNKd
KbAfx30xZKC0jLxf7gt4bhY7lPviRnHZ2iMZcvbW9/sMAxnhCO7PzXoiqKh8sU1kjvs9qUTRPfNZ
bGdnujvjPnA1ZMiJaQ7kPhuif7xRW5+D3BfwwQ1d84sbGeuW874YQrVXpTyd+wSDplI/QlAPpopo
C1RrfenSLcf9DhFth5rMKXsH7fyOv2UkB3RGzz/rE0MO1Y0E9Y5xX8B747tEtXLcT26EuMzMFkMh
lMpPPoL7DMM7o4Zwf25eH0MNhLS9XAN68vow0sigdn1X1XfFfa/IAcF5yLTxHcZ9MURrfvWI9/sJ
vFW+S1Qry31xI+8WeX3JkLM3vuMTGGjikPIBmJrX55V5Vkr3COlCR16fV/6ZNZD2VM4fg/v4zFWy
YfY5fzJEE/8jnvWdwBMpB3L/5EbB2qeVoWD3Gp9N5z7BoLVgGJHXB1Pz+gSqUb6jnR905PV5bWlk
MNyBiPbxt6zDM1E/5sQ0x3FfDHkFj3i/fwJ/lhcZw31yI0Pju5z2xQ451s4N0mzqMwwHMKRCG6am
9QlU72KF1P+G+h1pfd4oMleW7X0Y6hsKY0F7PX3aF0PcsPoRqZ/Au6FXfOxG3vhl25xkx8ONd/sC
A0xNeUwF9adm9QnUqHpu96Ejq88bYHO+dPf5MNS3FMZoV+dnZ/QmQz6WWhreL/UFfDB2ZEYvu1FU
GJazvtgpl6V8BPUZBqIrZV/XU39qUh9D1QpsRwEvdCT1eStCz65Cmvaq0PMI3bQVmFAj6XAdzAAF
rzWYWFH0fR3MANHGBRhHPq9dZxrhnUVooK9g1LPrrMWQ0Vi6K7/jCM3gWUNsZIRObhStf1oZou3r
oaaGY7zCahVH1FzA1NzLBJXWS+01F9CRe+md4tYvurQPzMoqX1Fqc2/JaVVKbW+qbPAazM9qhUrr
4mVH9fuKU2WwBaoTZ2x9X7FDBts7Te4BZx2Jh47V/FscqlKNf0l+vScErhSqfvn5ZVkeKoi890PO
buNUMW+BioAd9zaxQ8zbOw7uTrVksV2OhlkGhhqtZSPvslNrWfByIvuIRXlsv33HLVQsQbUKSnNk
7k3a98c2vUlndYWO8q6qbSzIZ9d2Yll8dG1gyFsXFSJf//j3X19/+/NdL/3r7/95+Y3A8LT0if3l
B/ro0++v//vr06//+uPTj9t48cOPawPOXiqzivj6+6PPD3v58uXb659/1j00hKsPTcLuf7x8E81F
Caz8/FqseJ6oaZDfnvmPzy9/Z4Xnbz/99PnbK/nv/4ng80+fTn+JlV9evv72+uXycT56HKBtHAv9
eJZs/xttoTbvPhbePcbiXVFWK50AnR+ctNLpr7JW+tuadvPRJSRD67Ihgh2x/XQf1w2VFh9dGT3e
m3QsIgnY+bEtIcVYHXWLjFHOmaA5pGw6TS0+mq+Vzj/eaTg3jFv0dYDWvg7e22f6BzCZq4WLZlT1
yrJ6R8jbOzbrrwt583Fx0GCtu1CWPUENQTcry8pXrQqdNR/HlGVbe/b8cwVbGzWyI/CpnRI5/tOF
IbDExEPJy4e7IwkM8uzSsVBZWrYXQo207GXfpIQ16lIJYX1snnsG60Ubu6aPRQXUjrOIemlZgRqM
7VmZ9hwXizmrTHsaasR2aVnvHesCFivdHqWTmQ/u2Xrl1NWLqfizC/A6XpGcR9BShLg+b1j6l8Yh
+st5IyG1HYrk6au0Zu1Pg+tsANHeP2w1dQhyrnfomzqSvc3cofmUzPhFzZsYCgpKlxw7LSCO9Uq7
RMKNNSv6tV1pAjGgY1upDcS6i1tCi9C0HcoFZZxaoCtQMcQKAe4KqB1nVA3zB0F1nP/Vft2IHbXE
yZwzHRKlqDvmDzIHFMliTT/tyqDrtN7rutO1WD9B1bYr6LKecKnBwN22rU3gjRq6ZD+tGwKqtS9Y
s9fyfPaSXWAgVqT2VMSGqfWGApUGsaPeEDvqDX0Isra8A13B428Z+LeAzdUa9wQeb7XDCYHnBNVA
e+CRr8YjpwQ3DDwCHpXp6vmVCzzJh51aiBqKIVCm1BLvIwKPwAhxyNkoTi12FKjR9jQRxI5iRx9V
Mvcd9Mv2kRv4AK2TKwLPoeQaMYRaPyT3E3huLTaQ++JGzsTlZo8Nodqtp5nNfYEBtqL7WgX35xY7
EtSonC3JQOa431PsGEHMlZoLPg73WbrSnCtrJ3KfDdGm8UbFjge5L+Bj7BI5yHJf3Aguih3FEEWF
G284GIajOXXEuTvOLXYUqAgd7d6xp9gRWYkyQkn+4WG4jyxdac43QfO4j0kjc0+25z65L+CdwS4x
4xz3xY1Q4XLNL4a8PyZoOsYrWDVkCPfnVjsKVFS+PUkTO6odg+LezKg7p7C74n5QrAdptb/aWnwg
95MhZ0vFs3fL/RN4MCPX/Cc38jY8rQz5Xc28ydwXGCwSOoT7U8sdE1QMFbnkG+53lDsGBWLuDhqX
HX/LfMGINuREDsZxXwy52KkAfWPuC3ivQ+flbob75EaotFoU0yRDwZaqWD6C+5pVQvmfRnB/aq5N
gopYUfez4X5HAkvQ7hm5yURfTdidcT88K2V0Rdi8WqE4Jd9/gY71PZ3KSS4OjExs6F218MEik4Bf
NaI4GpmSk19ILSdDoZgA/CGRieVWrQ9DUiOmlvkJVKt86WgwF5k6yvyCEZ1MF24vu3b8LRtyQOvO
29953BdDHjq16m7MfQEfzrpRY7if3CjCkvtiiAbpkOTiGK9wFkfIrZLdqdxnqF5r1ZwW5VVHWlQw
kfVwiyPzMNy35ICeWx3O5r4YMtreSG71GPcT+HPLgUHcZzcCg4t62WTIwp4IwmzuM4ygTBhwGuHV
1BYLAhUUVixRNtzvaLEQrH/ms4i9XtePwX1ywADWZaSWB3KfDcViFfgdc1/Ao+4SX8pxP7kRjf3T
pSFQuqQl9CHcZxgB9IDMI6+mpjwK1OhMRffHDfc7Uh6DMzQyNDa3l1k//padF2XN6dkHyVDEkhT+
/XJfwOPYG0hxo6i0h6dLQ17d+gYywQA1QuTBq6lZhwI1OF1RYLLhfkfWYXAo5koroofhvjf0W6KG
jKTXOO6LIbT4kNxP4MGN5T4+h8tOymKHFrCllkYfQX2BAbZUllJP/alJhwI1OtqPtVO/I+kw+CDm
cCcj/DGoT2EsxgDTt/tiCCM+5AUkg+cOaEMvILmLukO8oD7b0a6URfMh1GcYgCOaq9AaZi718VnT
MqniUHJD/Y6cwxAsmdPKfg/UD060Yyu0B67fPw7QkVmBCaqiKe51MAN0shZggjiVnx4UxVAwnf06
bhwUE/igR2ZinwjmjF+/jqiOSZwO4AvBMApKN3z1UXFqNmaCCliSBshFxZ5sTFBkzvN3Hz8q0m8x
xH0snOmUJDN7KFVW3hFEWkOp41q933VkAtZLZiao0ZYWeTm/g3bJTFq1PgeMoAqzcVZad61/YaPR
b4eTlfoXb1oX+AWcVZe4gOePIZGiI3+r5Y0RVPrn0hDm3ljseWP22QHGiqSMPR07oujil//35a/P
v2aGw271NGxGT0PwIcaKjPvNcOD7Y1uGg2JDTUvg3eHQqnkFtBGsX3x0ZWC8jU6fBuZdg8/EWg2+
iRKBDA+0V6Vy1uqB1PmBvJZVZ4+o6Apw63WF1sxGhZORnh+cVDjpr7IK59uya/PRCpJzxf7n1dFL
t9/34NYrseCVEHRHtw0Gdn5sC10hGDVA2Nfr9v4Sm84bi4/mq3Dyj0cbfIsA4OUvdpez6/pXL1wg
bCN2KERsdKDbiw4Z0PmxLS6ArC3YMrXnXKCg6lvb72Tx0XpgMCXx5RJ5Lvp0NCid2rKGSYhk1mBE
fUXDhHf5SGvZeKlYd4LqnGrWMElf9RH7d9Af1yHknyvYwamhvdtS54IY1NoLIJbWdx/QHkRg0Asu
0aasdNoLoULpdNWiIGENHq5mv0Zuq/5lEm8c751yvLGW9oBb3hBS5fp4403x5Kl+kp97mCFQw27/
wfGilK3dV65w3NOqtJPjydqW5OoZfLAK1yMUfZNE0bhGM5c4gkcozMUFRcrDzW5KepTrBjiCFXws
pZ/WE6DjVKVe5FGg0pbUt2c06p7TvGQORshfcgvX2aGBS2VGpKTrqUrPAf0zLbl0hYbP5iVCu3Tm
yVysSNrbmOupyxNz0euOVXiHsDSbo0V/8ZD2UXo0gfKc4Y25jgQ963QnN5TD1+knqNG3rzfSV0Px
UOFum/mdwIe+zJ/Mav3kw8Tup5UhiHudfCev1gVGYEnaAWHVTK30EahgalrDrgOP6aj0AQWcIR9L
B7YPE3i4dBucCRntgWGNPJOh0JsvdWPuJ/A4tMt6cqNolr2Wk6FY7BP5EdxnGBThK0rnKrg/tdJH
oCIX/LRzv6PSB7gsO0ZbKi54HO4DD501mer+gdxnQ9b7R2yzfgIf0Y/kfnIjsOZpZcjvyllN536k
VbyFplu0LPenVvoIVM3r5nbud1T6gDFkLkDp5udhuG9or2aiv6xfm8F9NmR18TL9frkv4K1VI9f8
7EYadNBPKzvOl1pqfAT1GYajdzUiZcVMLfRJUGMsVdzmqN9R6AMGyZy3nW3o74v6lsKYZ8G72dQX
Q7S7eMjtPoMPSvUV+WWpj8/Og1nu9sWOdqVubB9BfYGBRSGGeupPLfQRqLQZCx3U7yj0ARvInLPx
9po+A94y19+Ec9+yidSXQh+lb6Tpc5D6At6N3e2TG4GD6J4u7aAKtz7oExjl7IB66k8t9GGoWjks
jViO+h2FPsR6MmfsHYiMHn/LLtBXgrOZ0v5x1BdD5bqx+6W+gI8mdkn55aif3AhMfFoZQn+snGWM
V3A+2whJHzM1A0SgWufaO5kxsHbue0XmFJR6uz8M9z05oOPrvtncF0MOO09Ibsx9Ae+tGnrQJ26k
9bK2PxmiFeyNuc8wvIslzdV67k8VFxeoXR2yGVgH94FGBl0p1+ZhuB/IAUGBmr7kF0PWlaaS++V+
Ag/QJeeV5b64UVx2QE6GvCp18vkI7jOMaIZI+HozNb1LoNJOskPKz3QkMUFwNDLx+5j3AzkgonaZ
piIDuQ/Phi+NHnLNn8Cfpe3GcF/cCGl+fVoZ0rinGzGd+8ClxAb2z88quD9VvjtBxZoa2g33O+S7
ATSZCwZuL+xx/C2DezYG7fwLPjZkdTEB4365n8Cf22OP4X5yowDLy30xRJZuzH2BgbGi3cQ+9+3c
pD6G6iCG9rM+25PUBzSczu/ewzwE9yM5oDera+sZ3BdDtthe4X65n8BH6NLzynJf3CiaJffFkNcl
7Y6P4D7DCKBHNBH1dm5SH0MFH0t3bjnu9yT1RU/mXO/W9c64T1+iFRNOv90XQ9Z0Xo7cmvv/z93b
9chxI2vCf0Xwjd03tfwOhu4W72IXCyx2gTmzF3thGG2pDQsQbEGSZ3z+/RsRrK7OyiwymUyyq6pn
zrHVpemMp5jxBL8inhDwvk26P8f95EZx2kA4GXKwVvIwnPvxYBWtB7twf2xSH0PVSlUcSy6435LU
R0NqldfuLdzxoWUxv5rUzUv6eV20CGZggq04t7kMpoM2xgwMqJLeeBFMB12dCRhPHm5Pd3/jQrQY
oiB3l8cyAj7otl6vuRCd2E6rvvnrgLBPZb0DeQmGcbEEoz5Ej02+ZKjWqFIfulyIbkm+RCRz4Nfu
y+4hREelDs5pUzotKSkLtlBqrnThaWH9MEMEoUImssLvGjL/6nXqBKp3upRQmvM7t12nLipR8HOl
RVNWWXD+jmiET9NrlY7Bs2bB44cPHtQMlaZn9zi+tQ3pWlvelz5E62PFjnPxvnzL+7KHEH0xXaso
TmXD9AV1aqaal30TvAiqi8aC3X4Bj0uoWIBKQIup3Lk3CS+P3fImQfuot4xMRmDLxs1Lt4Uo9OSj
SwNjlLMvl0efvvz1/dPnby+CiJ/++NfjZwLD4eEd+8sP9NG7P57+/v7u9z+/vPtxGd9/+HFuIOD5
CbWoK748+vSwx48fvz59+1b3UNTx0kOTcuOXx69SxC8TIT+/Fqu2z5nZNMjPz/znh8d/sNjc1/fv
P3x9Iv/9RbTn3r87/iRWfnv89Pnp4/njaNe66aIq5wWY94Ip23/ycfnuY+Hd01qopHiclW0kQKcH
J9lG+qks2/i8pl18NIMUoyvtZqtDitt+vo9zbffJRxdGLyqPJdG2TEhhRaTnx24JKVEF0FtOQDLO
5ArioLWi95OPxss2RuUO2nsdj3uLF+FWWhdVCreenqV5IDVCTX/ADdJooSxVIp6NaCBekCqByG7v
6cWcSZU8Q1WwWaok/Sptctq3zq+nyP/zHHa0TTmMOTn+pOyOalKxmAxRFLtufyKBoU2xK3JZUrAV
QoWk4EzCXbDybrZHvqUbegaboGLN3WsF1IaziHpJLYFqg2+4JnYNx8XJHJgWc3a7xhWbQ25nd1Gi
If7qAjxtl6E0cT3WIv0TfSbWcp0g+EWsZelK/p2GWIvOmrVY0l/bcbv8/zLcEvLYljL+bG8Zb7mj
AaBzc0fwelPOeM9eB+dIgDygsG4r6Dt26LhQUnicd2EQtNFb16O4zQ2taxWoaE5lh/ugNhzsbAu6
iNiSk+saSnCP5mKF3vbCnG8Juo4WFXJyce3z5v0LJMPfJWJOALxltc7CgitCxk2r9QQ18sdbZxD+
VaOMuse+gkfw3vVsJX70YTyLhWKIRvi6rcQTjOhLa/b6ODe05lCgWh8bBIZcQ81hNIHNmRuQGujw
lpG+C5qqY4I9l9xiyKnVStob5b6Aj77pkjvH/eRGIU7362LIqNK+5VW4zzCiL2n21nN/aM2hQA20
WWpY4zTUHEZLG0vPaQhvgPuWHNB70BlhwX7cF0MBGws1r8x9AQ8Gm7QGctwXN+IF2MPMUPQl1fHX
4D7DCF7ZLudfQ2sOBSpf622XGHINNYc0A9DIxGJm9t1w31keutPWcBz3xZC1a/0ubpP7CTyYprqj
HPeTG3mcnhuJIYdr8oujuc8woj61Cd7H/aE1hwkq/Wd7/rFrqDmMDthceAttc2llR5vOl+5wA7nP
hgBKU8kNc5/BRwVd531xIzxPBhBDuCpaOZz7BMPQJrrHuaYfWnMoUC39a7vGkG+oOaSFGpvDUk7C
3XDfe76Hi5hJau/HfTEUdSn5+Ha5n8CflGX6cF/cyFplHmaGEEqt3V6D+wzDBVNS06jn/tCaQ4HK
F0Xb533fUHNIyzQaGbSlMqe74X4wPHQ2pyjcj/tiyNGO/x65n8Cjbqo3znJf3AimGkPJUCje0L4G
9xkGUb9iMq3g/th8F4YK1sftieq+JYkkyEkI4PXVxDu8ZT4mfZloBnKfDIHCxkG7NvcZPDGy67wv
bhR09A8zQzSLXZv7DAO3JfBnuT+0mE2gxoANxWy+oZiNXg6bM6WElLvhPgQp8a2o77lYVTuk3uYM
He2Ijc0oIPWLTGJIu1LbjNuNTAk8YNcbyOTkwdn567BKXfkWQmCg69It1o9NCCOoqGgQt+ea+pYs
q6jInAnhLUQmTlJVIcDwk0gxBDG25YpdmfsCPhrTpHyY4764kVUeHmaG0LldCkh9vEIHVZFHWMH9
oZ0OBCpNXQ3ZB76h0wH5L40Mav0WdiSoeOi0gtHcF0POrul63Sb3E/gQQlfuixt5Nd2RiCEfS3vr
1+A+w6B3X9JCqef+2KxDgYqhodjat2Qdojtwc87GNl03xn3goTudOQ3kPhlyqjVd69rcZ/Bat7U1
zHE/uRGerfnFEMXiXZ0O+niFN6FLpwM/NutQoHJb6O3cb8g6RKXJnMeS+Mu9cB+V46FDrCl12MN9
McTCVPd4C3EEz3dW/bif3IhPdB5mhmhJsEv5sI9XBPKLHqWsfmjWoUCF4BsUEXxD1iHt/MiccSUh
obvhvtY8dC6ndt6P+2IIWq9ursx9AR9PF4OduC9uFHV4mBmi1cAutfM+XhFDMVWknvtDsw4FKlrV
suZvyDpE7bnWNJYaK9wP98kBKcTr0Wd9yVDUOzRBrsl9Ae9Ck+JxjvviRtaczftiiN7Hdff7qJHv
pozukXkUhmYdClRtTYUwyJz7oSHrEI2oBMeKkviLt3Y91I9mYELNdczlK8QO6m4zMKBvQAd+v/+b
IE4VM33f+kVFMeR8qX3w7UbFBD66nqeg7EbgjXuYmQmqpJfwGjGRYRjjSkIr9TFxaDamQGWN4e13
n6EhG5NWXjQyHko3Q3fDfPoumqhfKvkpSQy3EGqmfOV+CyE+zBBBLLWJqfe7hkzAeslagcrRbHsm
YDDbJWvZHOfOlbb8WYnhC1I6p3ZslVI6E5Fhh7M3htGGUtuK+jfWkL+17Y0hKl3qrJV7Y7bljdmD
Q683nSVndCSDm3zzfz9+//B7ZjjsUprHZqR5GJ/nbpkNw+FeHrtlOLwRSbH9w7G9/cSiycLko0sD
A4DPmZETDUyo1cAcKNHJ8ID7nvQYyJAfyEtZdXY9qy6vYi3AvXd+vVZ6qYJLSE8PTiq49FNZBfd5
0bX4aAYp2FCROFURvRqEtZdeiQWvhOhthYbwgq7w8tgtdIUYlN+yAsx52fat16JBy+Sj8Sq4/OUx
mFDRBOayPnyYza7zbz1xgbCM2KEQsZGoX7pKzrkAvjx2iwvg1lLsjAvA9rY4i4ZBk4/mA+P9wXgF
eFn80qN2H7eLX+oV6TJ0ZNUFbfUF6TI09JcWXAxn0mXPSI3dLF2WftXoNVGu/uKXWztUnEtfHnHP
dekrd87P1hZJBEofaJvsXJy7gVNrVy4F6cs9zTjOcRA41SZ8ubshSEn2ct4kJGEN2KXHM4zd6TNU
0FDR47kCasPmsF72MkElpNsvaaDlUILNRRcrNmELc2a77CWbszZCVefIvvHWWqf9JalIjreWyM+B
dRZvGapRTfHWOvou7ceVr9cQ7ec5bB+bRCKz3dCksRaimXmB0zsFY3b3yUowoindh5aF3VshVAi7
zzpoCVbv3KatWzaCDS12S1AxhB4nwNBQ/bIt2NpQpdy8iH4NdXlijlbhcbvkF7iWYBvoRWhbMncv
Pe1oT0XfxXufSbrt1s8yGQpwrfL/Xf0sE3jQuinxLhPBj24EME2+EUOsK3PdCM4waK9doaNVEWqG
FtsIVKBv2hBqGoptMDgaGVjVYb4P7gMPXQQczn2Q+Nyok3Zt7gt41ybzm+O+uFE8k/pMhlzYJ/Pb
xyuirukPUMH9ocU2CWoslijkuN9QbEM7cjLn7A0k3e5/y+DS0GUS7vtxXwyhXxO0uU3uJ/ARmhLv
ctxPbgTeP5wbQq32teTq4xUsSNTl6GlosQ1DdYqsNBywtBTbQDzwyUOjTsRtcT+qA+3OZ7IRI7gv
hoJqrEy+MvcTeNsm95flPruR1tP2UMkQhLVRGs19hmEBuyTdwthiG4bqvK7oB7rgfkuxTXRkjn54
C/N+BBk6n5H67Mh9NhRaD0muzX0BD6Yr95Mb+am4RjLE7eKuzH1gecMaMagK7o8ttmGoQVuzXeYX
WoptUHOjh9CYIX1b3EfHQxf08P2+GDLF1ku3y30BT3vKnrc1RzfCszxNMeRcabH9GtxnGKAQetyA
xLHFNgI1qlLLmAz3Y0uxDUbuv6DWNNjvgPt8lytDlxPU68X9oyE0pZTCW+X+M/hTi6tO3Bc3cuZl
3k+GooprMgRjuX+EAWZLVl2e+yNTTRJUdKY0Eee4vz1/g8x5FqB0awoI98H9yEPnYk1yyD7usyEP
pSyrG+Y+gw/KdTzre3ajOMnSOBoCsyY/NJz7kbX+oEt35ThS4jtB1TyK27m/XeLbKm3YHK71XLsL
7nOVt3aohnNfDAW9Jl59m9xP4F2boF6O++JG2qr4MDMEoK96x5dgGO+7tPSKI7OeElQbbEl6OMf9
7alEZA7JnLalpid3w31jWNXNwuA7vqOh4EvJrrfL/QQeXcfcnmc3Au8eZoai9lfmPsNwzmOX/f5I
Ee0Elcs1G+b97SLaZC7QyACsqZ/cB/eRhw7i4HP+oyFbrH28Ye4LeNszt+foRlHHM+6zIQd2l4hE
H69g9cMu3B+Z13eEGltKw+P2vD6rpL7Qmcbl621x3wYeupMm0TjuiyEsLiNvl/sJfPRNrTxz3E9u
FPR0zc+GQKuSevVrcF9ggO9SWB1H5vUlqHJ5vJ372/P6aGvBghkqrC3M7oL7zsrQQUZAvx/3xZCP
JW3W2+W+gA/GNjXPyHFf3EgrPz3rE0PgSjdWr8F9hoFcdNeD+yPz+giqO9A3i6Uathz3t+f1kTmg
kaHo/Bb2+17T0NEPw8/6xJCxJeG/2+V+Ag+m6zl/ciOv7MPMkEW3q51fH6/QysYe+fxxZF5fgmp0
zRJlwf3teX1kTsQ0sUIv7KJ+ZQ8FjRmY4N36kexFMD0UXWZgoChsUQTTQQ1qAsaTA0NxZO4nREfx
cDd8eSaGDOwolb9miGbwVuuu1zHkRhrQqYeZHWfXRKGHR2iCYYluXVZnI7Mvj1BF/WRzhN6efWlV
MGQuqrUeNHdBff4uAX1pHi5Je7Ywqqh9kBBx3UEPQQFsyPyrFopMUKOp0b2e+x2qzUKRYk5H9CXZ
oqy05/wd2YD2OT2iSizoJAz0FJ5AzVARKNsjTmBDtta292WN0hXSkov3pVvel6PYDlCq0Ciqw+HZ
C+rUzTiru5jwIt9v9XiT2+/fcQkVC1CNCrFCInLxJu3LY7e8SaPAhw4Kd+g2r0IX+vKTjy4NjDbW
vJwff/ry1/dPn7+9KJJ++uNfj58JDIeHd+wvP9BH7/54+vv7u9///PLux2V8/+HHuYG5bJDIm748
+vSwx48fvz59+1b30KjCpYcm6dQvj19FfkkmQn5+LVZawxzXtTTIz8/854fHf7Da49f37z98fSL/
/UXEH9+/O/4kVn57/PT56eP544zXpUTCai8o7EWmbP/Jx+W7j4V3D86WtvZZ3VQCdHpw0k2ln8q6
qc9L2sVHM0hRQ6mKsD6kbD/ex3mbiMlHl0YPoy/l2ORCSnh57KaQgmg2dQ/NORNsDimL/hmTj4br
psqXDzE4dVx1tignn57FneF1NM5f3ryetaXYIDJniiJz9BXYLMvvLEXm5GQ7ckMUPRWZe4ZKa4Kt
InPHX8WipOswkbmt+v0/z2EH6NofzKqDCTpMTzVBurMbd/GQOf7qAjw1CA1W+AAq7V3I+QCygv7C
BwipBtfkA/Qvu0+OYW83iCMMxFLNQ1lIrxVChZDeeZ+IhNUGje0NtRu1cLe3Ulgyh5AH29hVM9m7
RJ2oVXR+PkbrTcgKarj7+kacI3GumLlR0MPt0L1iRRF32tEiofW6pt6/Ym0z9gqDoQZdc1BRAbXh
LK9apPEINWKPou+gRhZ+JqjgY487rKAaTj42jiqvg7bfYWHLHZaYQ6+2H8gibpa+TOZQ2YqN2cxc
UNsrcI/mtKrQJFmY0y3fjtug0yb2+oU/+9cOUXHyv8JMAnCvHnJHQ6EoyHCrPeSewYeenTWPbqSN
miYCiSEoRrDXWFEyDOfCph4i2UA6tuiPoXpT0/x7wf2Wor/IZRFgSqr798N9z+slEzPF/rwB0n24
7+UdlTr93TD3BXx0TUmAOe4nNwphmvwvhpwqCXe/CvcJRlChpMBcz/2xRX8MFXRRZTfH/Zaiv8i1
BjY2alTeFvfpFzEAmIy4Xz/ui6G4mt52m9wX8DjrsLub+yg1JFY/nBsC5dckEUZzX2DAtg51We6P
LfpjqNHpivY3C+63FP0h1xrw0eJb4D6mocskAHfkPhuiKe0u5/0EHvrO+8mN/FnBrxiC0+u4GveR
k/9DqU9tPfeHFv2Rg3IGu9ou6svANnNfKz5eCMWeUPfCfRo0rpsIIVPs3437yZBR1xL03sX9I3gL
Pef9oxthNA8zQ9Zf+QZJYBC+HgJftHUYy32GCtY07Pcbiv605rIIUCVzd8N97TirXNlMVnk/7osh
03pIcmXuJ/BBN3W9zHGf3EiDM/phZsfGfT18+jiFVa6imXgF9YfW/CWoAKXOJznqN9T8aS1J7G6t
0cpdUN9QGHPaxUytfz/qiyFi/pV0PvZRX8BbFRqv+DPUjwcLMUypL3ZolK57yi8wvFF9TvqG3pcL
1GBNaTWZo37Ddak2nkYGsLET1Y1Rn8JY0KgzN3wdqc+GrC7187xh6gt41ybpm6M+uZGPdnrBl+y4
uHZ3PJz6BAO0K5051FN/aC1Zghp9KRsqR/2GWjJtudopWteWoHZb1Leey6FsGH3BlwxZXzo7ul3q
J/Boe17usxsBsRweZna8Lq20X4P6DAN1n/s9PTSfK0GNoaLnwJz6uiGNSNvAtfWhoq3ZxXL2IdVh
E3TIgwGNSjq3FZgc/YoyMddeqF9gEkNOxbvcjiTwzja1GMkGJj7mp+Xgw8yOD2vKCaMDE8OghX7p
tqg+MA3tMpCgYrF1fS4wNXQZ0C6IuVJ+4/1QHw9cDmmHX0CIIefCXa5JEviouq5JkhsFbR9mhoIy
Vz6KYBjWxB4160EPTThMUBEr7kkX3G9IONTesrmwlhV2F9z35IDOZlUH+3FfDDm8y8SDBJ7TJXty
n93IKeXjw8xQWD3gHs19huEhlAJ1PfeHJhwK1OBiSf43x/2GhEMdFJvTJeWxu+F+sPyLWg1f8osh
9NfqKLqP+wk8mq6Xj8mNHE7nfTYEWpc09F6D+wIDQoVsSAX3hyYcCtToIG7WFmJgDdwHNuftW5j3
gRwwxjC80EAMoXL3eQ6ZwM8uanZzX9wIp10FkyHOz7gu9wVGLPbMref+2IRDgmqUr6mHWnC/JeEQ
WN3I4ZoU/H1wH+i7oPLD9/tsiA8VryRluZP7Aj60dRLPcV/cyFsIDzNDFBF2dRPu4xWar0Z7cH9s
wiFDNd5XiMYtuN+ScBg1m3ONjXJui/uRRdp9LO1fihcqHWSUZmBYdbgRTAeZuDMwxqBzw6MiG7Iq
rBUX3GZUFPBa6a5RMREsKj17HdaYa+diMgxH4LpExbG5mAzVGywdS+aiYksuZqTh5HZtb+EGBGkx
SWvJGrmmSwq/LZSaiTI9/fr0YXoQyIjoTxXZdRV+15AIWK8Ym6AiVgh/LvwubleMZXNIU0apxVBW
4Xcuf+SCPy1VKuWPnqWO3K8fn6aS5ILLayw1iK1/Yw35W1veGMXbaBtkHBlYwxuzh0ir3pLAWKWM
YzDTzg3/fvz+4ffMcNil8I/NCP8IPqdMgwMTnNNjNw0HnyBvOWDLDYfevAJatGuYfHRpYAKn3iWk
LRKUAxUyNTpOltaljVP1QJr8QF5KE7LraUJ5EWkBDtx0ZhX4QoSWkZ4enERo6aeyCO3zsmvx0QxS
jNBFUsw06FovvRKzXukOWpfXzzm62pfH1tOVzZGTbRHeyXnZ9g3LotXL5KPxIrT85S0f4GxYhpx/
Y38+u86/9cQFwjJih2zEJlja2u1tBhnQ6bFbXIDWu2rLKGRdIGx3geUewGX2AEb7A3BHkosaItGj
dh8bNF5tWeOV5vZDQJ5CL2i86kh/GRHiucZrQmoQcbPGa/pV2qi3Ny9tFCzd2iDiXK70iBtNY9/S
ZG2hX8C9JQyNMM7dINjSWnRFrnRPL4xzHNqAqejGcUGsdHc/jqJU6axHR8KKpqJBTsUMOHSnL1AN
Jzz1gNqwOawX1UxQubnm9kjdcCgh5mwIFQmrC3Nxu+wkm4u0FoHMmeFZU7C+8Taq4JzPxFtaW9Ly
aBFv6S0gbtdVT79qirPtMF31rc2Tfp7Djn1bxHN7HNq9ubkTOKOv2y1SYBjaVtTG2m4QKiTHZ/2r
Elaa/rvsNobWuglUzjTpob9lG2pztsXaaKNqkPg1DWV5Ys75UGrAmzFnVUusDewzxZzEe+koZ4xh
pzppjQ9rJpkMcVfQ69w17WomeQRvsWczyeRGUflJ9k0y5EJpi/8aEZxhOK1L3ezrQ83QapsENVrc
vqyzDdU2xjgyRxu+60v8dnjLwEN3qjkdyH02hPYuG8kewUOb5E+O+8mNvA8P54a8KvZSeBXuMwzo
o/ljh1bbCFTafFQcFS+431BtQzsavoQI9vqZd/vfsnU8dEGNbiKdDPlYWmDfLvcFPDev6sl9cSOt
7PTIRwyBXatLGM19hkEoSnnl9dwfWm0jUKNq6CnKwBq4Hw98J1Uydzfcd+pA687Tod047oshHUst
am+X+wKeFulNBfZZ7osbOTed98mQjd6taTeM5j7DwKB7NP8Mdmi1DUN1ytqGjHvbUG1jnCNz2sa3
MO87oO/ibXTDuc+GQjHV5oa5L+DRNt6PXeZ+ciOYSvwmQ7QFWznQHs59gqFdp6PFodU2AtXQKG6/
cLcN1TbGaxoZiKWoeDfc9+SAxigznPtiiCe7e+R+Au9jz8ua5Ea0CZrO+2LIwT557z5eYbUp9V6r
5/7QapsElUaxYb/fUG1jfCRzztxAK7/9bzloGbrxa34xhP4+9/sJfOy75k9uFGDSxVcMOa3W6hFH
c59heK36cH9spolApR3/9gp725K+ETyZ87GkLng/3CcHDDTT+OHcZ0Now12u+RN4aFPVynFf3CgY
sA/nhsCsCrcM5z7DiKC6cH+owLdAjbR+b1jzNwh8GzBkzpq1Pqt3wX0gB0T6IaOs04/7YsjYUtul
2+V+An/KDu3D/eRGAabpsGLI4trOaDT3CYZXtBvpst8fm/XEUHVE18D9llQiQDKnQ6kX+t1wP5qD
N9b64fO+GAqq8ZDkytxP4K3vuuYXN6KN6nTeF0MQ9kl89/EKS+B6zPtuqMS3QHUmlvJGMtx3DRLf
JgYyp1Qp6+l+uE8O6DXgeO6zIedL+Vc3zH0Bf6pt78P95Ea0r36YGQonYeOrcZ9g0H64JOhbz/2x
eX0MFTTL4m7mfkteH1oaGYT4Fs76kByQawSHn/OLIRvvc80v4J2JXed9diNQ+mzNL4a8L220X4P7
DIMi3Sbtgyz3x+b1EVReTZba7OS435DXR4SgkYm6sS3dTXHfKktDFwOMzukVQ9oQ0Dvk/hH8qbNu
F+4f3chPFfSTIRtLZaevwH2BYbTpktfnhub1JahY3EvmuN+Q12cVkLmg1pKu74L7Wh1o8aP1xZL7
ntxnQ96otRaVt8n9BN7pnuf8RzdyYVLLkww5wF2dc/p4RWDRox7cH5rXJ1CBlv7b8/pcQ16f1ZYV
KEPFKegl0ccukkcTMO6gtEgCt4HpIOgyA+NNRf3XZTAdpEXOwITAPSDeQoimOEHbTLTDQzQZAq0a
z7GvHaIFvHU90y+TGwU97bWcDBlYO/EbHqIZBkKXrotuaPqlQKXtRUNzM9eQfmmNJnPGuDdwLMPf
hTwtYJ1cZBdKlcUPBFGwGAvunxWwXEjieM772CCJ8yx/48Nv+JuaoQJlukgyuIaExHr5ygTVxdKx
bj3UhvypjVAj/bBdWtKF7UqbyRz4Url/zhy0mOPCtWBL3aqK6nAuTl23U3vWvO6i4I0hdimyddsv
4HEJFUtQ0aqGAnsCdnrsljeJtLPcdFSRUbjzavMydKHKPvnowsCgNsG/rOU+ffnr+6fP314UST/9
8a/HzwSGA+c79pcf6KN3fzz9/f3d739+effjMr7/8OPcAJ7v55O86cujTw97/Pjx69O3b1UP5e7J
lx6apFO/PH4V+SWZCPn5tVitU8fwQoP8/Mx/fnj8B6s9fn3//sPXJ/LfX0T88f27409i5bfHT5+f
Pp4/jrXOt/Aj5wWFbdqU7T/5uHz3sfDuvYaS8F9WN5UAnR6cdFPpp7Ju6vOadvHRHBJCl32+336+
j/PmCpOPLo1ewFAhUD0PKQTs9NhNIYVFpjuIZnq7OaQsuk5MPhqvm2qNPxjQ+rleqkU5+fQs68j7
jNeZIoKzxhT1InPWlEXm+P1pC9GFCyJzVvFfKm3PReaOUJ1Xm0Xm0q/a1uZq+0Tmtur3/zyDzXkH
LZvmbD8M+ls+XJrULLIhQ15wuYws/uoCPDUoDVY4gfEQjc04gfF8Y7hwAkLqXGxyAhMgqOu2PRcY
4HwpUpal9FohVEjpzRpFCNaocE27qr8Y7vZeCkvqmEhLosamusnegjuoDtHT9tbNx8gqs8WtejaO
mCFBW3pbBUHcDu0rSpK485YWghYR+yxuxl5iWBYqh+LJaz3UhsO8eplGgaotVtRSV0AdWvopUI1W
pVrMeqgNJy0bR9VaXbE3WKxuW26xkrli076cOb9d/DKZk/Yrm8011OAmc97a7alAHlq+Ha+WUbm2
rJabaiVlnfTWyUp9dGsjlwy5YqrmzbaRO4JH33PZfHQjZydpgMlQMCVN3NdYUTIMJHBdZtKhZX8J
Ks1ODdxvKPuzzpI5X+xFdT/cDzx0p76kA7kfDnxrDW01E9fmPoPX+vw8Yy/3kxuhny77xRDfnl6Z
+wRD06q/x62DH1r2l6AiVlwCLrjfUPZHWz8xF6+fBrj/LXtLS2Wblffrx30x5IvKMbfL/QTehyZJ
7xz32Y1ohsdpGqAYCnGfpHcfr7BuW6+/HPfD0LI/geq0NttLfkND2Z/1QOZoyX/99P/9bzmQAzrn
/PB5XwwRe9o7X12R+wI+KNV13k9uFKdy/skQmE3HfYO8wlsoKYzWc39o2Z9ADarYyznH/YayPxuc
mLuBkt8Ob5kcMDjMtfLoyH02FHTjRuna3BfwXjVJfeS4L26kaTnxMDMEsNbwZDj3CQa4Yp1WPfeH
lv0JVG7vtb3kN7SU/YEWc2u6y3fBfXCsIW1tJq9cG7516sF9MRR8ow76lbmfwJ/2v324n9wo4DSv
XAxxk7vrcp9hoCQcdeD+2LI/EHHk0CDpHVrK/iCKFnNjjsdtcT9qlvSGXBufftwXQwFL9VK3y30B
D1Y33vFnuM9uZLSZyPomQ9GvdYcbzX2GwclaPbLow9gbc4ZqQiydIee433JhGj3LYOsbkPXt8JYj
D53JtfHpyH02BM7c5Zo/gQfouuZPbuTDGffZUMS1ThHDuc+Kw95V1HpUcH9sPRlDdVWJ3gvut9ST
0ZCSudDYsP22uI/kgLz8yUh89eO+GIJiq6Xb5b6Aj7qtdWeO++JGVunp/b4YQldq+P0a3EcRrsZN
ye5Z7o/N6WKo9KeG3J7QkkqEcFC0fC1dxJSK2oeUiE3Q4YHbEYc3kHlES2L6LqBi7gayV2RKhuhZ
93gLcQQfXNdbiORGbroqSYYQS1d/rxCZBAYEV5E5WBGZhjYbEKjRettwC9HQbIA21WzOrXWCuQ/u
kwNG8C4jON6R+2wowrWaDezkPoNHrZoULjLcP7oRjcnDuSFU9so3kAkGTQlduD8065ChemWhtIfL
cb8h69BpSyODuKYQdxfc14GHDsPoW4hkyOvGdK0rcz+Bn9XP7eU+uZHnUkr7MDMUoDSLvQb3GYam
CNTlJHJo1qFANUT+Bu43ZB06o2hkgi3p/twN943lofNuOPfFkIaSO90u9wW80aor95MbQTAPM0Ms
w3Jd7gsM7CM4DkOzDgWqJSPbTyKhIevQGWBzsfFA/ba4bxX3aZh59QjuiyHn7jLj+AgeQpPwaJb7
7EZAIeVhZsjjWkuG0dxnGN74iiv9Cu4PzToUqIFbfG/nfkPWobOORgZuocFYh7dMDhi0DRnR4Y7c
Z0MsAXGX3BfwaHpmHh3d6KzBWDJEu4Err/kZBtAqrcctBAzNOhSoMRYn4hz3G7IOndNkTkNJ5/du
uO8c36ioihyTizcqPcSU5mCgomnEZTAdxOLOwHiMp5qScVGRDAX62vEe8zISeK3a2i/loqIQjBaj
8WFmyLhS75PXiIoCI2LpnL8+Kg7NxxSoRhVb+eaiYkM+pnPxELTT4S2cgnpFQ+diKRCVdH5bKDVT
ZvoYfv1t6v6MiIVeetT/QEMuYL1MrUB1OrrturHgtuvGsjnktuKFA7+sAvJcA4mLlp+XKpUaSM96
R7+aXx+9muHyxpSOb+rfWEMG17Y3RhHNVPSRXrwx3/LG3IH+GEuK4LVijjBtU/Dvx+8ffs8Mh12q
/9iM+o/g44V+w3CEl8duGg5e7m+RcMoNB2xeAS36WUw+ujQw4E950S1ClAN1Mhke10hWXPmvD2TM
D+SlPCG7nieUl5IW4IAR1yPmUoqWkJ4enKRo6aeyFO3zsmvx0QxShFPj4X3Rq0HdeumVWPBKp17S
A7fQFV8eu4WuZK4mB23Vy+L2Dcui48vko/FStPzlvXNqS1ry+TfW57Pr/FtPXCAsI3YoRGzvqzrv
zF2AAJ0eu8UF+CioR6CJZrsLLPcALrcHAH8IHq3ObGLPmtXUK71ShCkqvdJWXPpmXVR6dY7+kh8S
z5Rej1CNc5uVXuVXg4JSBvowud+tPT1+nsHWxjblNed65KR2K2GqW5YMmeIK4xV65CQY6GJhmisr
4bZCqFDCnfVVEazg+YRn//wXx+7zGWpUvkJrpQJqw9awXlczQQ22YWUdW44kyBwY1dKENrrtypMO
Atco2cu5U9HTkuFjg6q2XYu1bNUEhIuxlv6StxYwi7WC1KBuiLX8qzG49tyNRonord2K5sGWcaP2
jf1ik7VL0Ra8Ms7P3MDS9Lbl/qZfY6YZjkAbospw27k5VEkcet4wSrCSR1Ys4Cpi2NBytwQVXEVj
xQqoDdU5W8ItQfXWNDSMig2VeWIuqJZioBjawm0AHUvLiXtpLOcg0tLIxpzQb7emksmQV2sdbW+y
qeQRvLNN5TaZBXNyI2NgWm4jhmituksAoI9XgC1eqdSHmrHlNgw1Kl1xhLXgfku5TVRizlxf+Gf/
W46WvovTOdGvftwXQ96uyVndJvcT+IA9e34f3cif3duIId6mXpf7DANtjWp+BffHltsQVG6W0XL6
1lJuE0HM3YDQ7/63jIq+i/Pnpe0juC+GaMyulHq3j/sCPmjflGSS5b64EcbpvC+GwJZy3l6D+wxD
2xrV/Arujy23YaiG1vwNJzot5TboxNwNCP51eMvkgNzyrOZsfh/32VAoijLeMPcFvIeeh+TJjbRT
7mFmCKCksvkq3CcY1rlSj5Fq7uPYchuGSuvWhj5C2FBuQ0wRc2t50ffAfa/IAR3fWA7mfjIUwtqM
dpPcT+BBtTX3yHD/6EbR+oeZoWj2pdz38QpPOHocLeLQchuBGnQs7ZJy3G8ot/Eqkjmj11TZ7oL7
mhxQbrpHc18M0ULyHs/6juAd9OW+uJGPk1K7ZCjCPmmdPl4Bvk+5DQ4ttxGokci4XewTG8ptvPY0
MtGW+gjdD/cjD511mVK7jtxnQzastaq7Ue4LeHSNd7WXuZ/cCKaCf8mQ11dOjBEYqIPrMu8PTTZJ
UGNNju2C+w0ZHN4YMdeoEHVb3Df+EJU5qRKN474Ysq2HJFfmvoB3tusdX3Ij1D4+zAx5X8pwfg3u
MwytEXokmuFQke8EFVWpk32O+w0i394gmfPFvO674b41PHRGZ+Q0+3GfDRnldqRnXZH7CTwtkLpy
X9zI4+SsLxkyal8j3z5eYY1zPUS+cWjWU4KKNjRwvyGVyNtA5nxo3LreGPeRhy7A8LM+NuRUjPd4
zp/Aa9MmqZfjvrgRbYLUw8yQcXDleV9goKqouazg/lCRb4Hqgypp3OW43yDy7Z0lc0a9iTW/CzJ0
mBH478d9MQRXk9Hex/0EPvimxj457ic3clNJvWQo4j6B/z5ewYnZPRr64dC8PoEKxjaUhmNDXp/3
ikaGT2TeAPe95aHzbviaXwxZaOyAemXuC3inVVfuJzdCbR9mhvypFPJa3GcYUcc+9/tD8/oS1Agl
EcIc9xvy+rwHMufQv4U1f1A8dAjD7/jYEKrWi9Ercz+B96ZJQj/LfXYjb6c5vcmQhtJG+zW4LzCi
7iKjjUPz+hgqvZma0oMF9xvy+nxwZE7bN3G/H4CHzsHofP5kKIQ1kdgb5T6Dh0bhuBz3kxtBPOM+
G4rm6twnGFoEJ3dzH9TQvD6BanyNDOOM+6Ba8vpA08hAtNcXjtv/lkEULG3FTe5FBcseaiAzMKBU
o7ZnD3WaOZhiSV0JTA9lqzMwaHR0mZ6r/UK0GLKqcU175RCdwLu+WzNhezQ2zF+HC/rKKVgMw4Kq
uOOoCNFj0y8ZqnNqe691BtYQoiOZM7Z083s3ITq1QAdXcLaStmcLpcpaM4LIRCg1Z80qWC5kGjCY
Z9erkml4lmSAp2B+VTNUAbp0H+eOHAP1KxmqNw4ruo9XQG3In9oGNZhoSp3Lc8Q126U2j+YQN2/j
eBwazPmDMtptUfY8H3w3dd1ODVrzwouC1xrbo7cNqO0X8LiEikWo0W1PuGdgp8duepNeK79f4o4m
1M1Lt4Us++SjSwNDATW8HLN/+vLX90+fv71Ikn7641+PnwkMB8537C8/0Efv/nj6+/u73//88u7H
ZXz/4ceZgaBnjR9E3/Tl0aeHPX78+PXp27e6h9rzFejzQ5N26pfHryLBJBMhP78aa3ieqGmQn5/5
zw+P/2C5x6/v33/4+kT++4uoP75/d/xJrPz2+Onz08fzx4VgOij1gios4Kds/8nH5buP+XevaVPh
1jfVC+FUBnR6cBJOpZ/KwqnPa9rFRzNI2useSkagtp/v47y7wuSjS6NnnCm1Y8mFlPjy2C0hhQXM
oUdIwc0hZdF2YvLReOFU/vJOK3wWBWuRTj49C93B2QixpjPFBqE5Uxaa85HNOq3dBaE5PnlzhkKF
PxOae4aqt4t6pl9FWNPhGCLquVXA/+dz2E4Z31SvnG2IIb0V/FkuAxnyVsHlK6b4K63dn8Y4gTdB
gc84gdeR/m/hBIxU+SYn8M6uan0M7vohMLzCkhpoWbm0FUKFcumsU0TCyrKX43mzt5nCkjrcDMs2
dtZM9hbc4VyAaCiQzMcorkrHFSQa93WOOEcSiDG1mrjd+1eUZBrnPS0ELXhbkrasXtzosZcYDDUa
2sL0gNpwmFcv05igYuiRCgp6bOknQ8XgKrT2K6A2nLRsG9WgYjCbFenYM7cfkYo5tGaz1iZ712bx
SzGnWUR9u7mWGtxk7rTk3GLOtnw7T/HZ20ZB95vqJeURaAkDNmZSgLv1kUuGor9WKtCuPnJH8Gh6
LpuPbkQe/3BuyCtd2oW+yoqSYQQmY4dAOrbsD6UfaXFBmeN+S9kfIpmzvpQocS/cD8oclINTX5Jh
3E+GYmsOxXW5n8Bzel5X7osbYYCHc0NeFRtQvAL3BQbNpj1kflgxfSD3E9SoK8LUgvsNZX9BBTIH
GK+fCtThLeNBgcZcuX9H7rMhq++yf+wRvLc9u2qzG4XoQD3M7DgoJWa9CvUJRtTF3hD11B9a9Zeg
RlvSQ8xRv6HqL2jL5lxp/3Q31NcUxjiDMpMB3I/6YsgC3OOSP4F3uk3dL0d9LTUrejrrix1v7ZVn
fYKhlcZS3lE99YcW/SWoqLeL/DCw7dQ3isxF2rm+Aeobe6DVUoThs74Ycqp0eXu71E/gndE9qS9u
xGH3YWZoXUdiNPcZhjG6S4KaHlr0l6BiQzdVBtbAfZBey2sKbPfBfTxgQOsv9n/ryn0yBMqXsn9v
mPsCPmLP3f7RjaKJDzNDRq9JIgznPsPgziU9uD+06E+gEtLSRJzjfkPRX7CWzGko3arfDfdt4KE7
5XCP474YCnif3BfwYLCp6C/HfXEjo6fCnslQ9NfmPsNAr0pXMtXcN0Pvy4MFrlzTevt1qWm4Lg1O
0chEXYqKd8N9x6VtRl/u+9qT+2LI0r/vkfsJPGejd+R+ciPvp9wXQw7X9KJHc59h0CanRwMvMEOr
yRJULN4c57jfUE0WXCRzLjT2orot7nt9YPWNXBOfftwXQzzP3SP3GbxR9ENX7seDpr+Z5PUlO9rt
0/jp4xQGsCKxvoL6QxO6BKqlYLl9yW8a8oiC5yomr9z1e/Z2eMu8YqLVT1t5/Zhatwk6CrIWlRt+
EMmGOOH9PgOTgPfYNTCRk1vvnJu9DQpLa1Pe8MDEMKqqTysC09BGAwLVe1tKBcgFpoZGAyFwaoh3
jTdptxWYAhcBoseM+Fg/6rMhWsbtKDW4IvUFvDbQlfrkRlyLGh5mdoxXu/oK9nGKgLpCzK+C+kMT
DgUqBFNSac1RvyHhMARODfGo3sJRBFAYA0QzPPOADXFe2F1mHiTwLjT1Es9SH7m3GE5PIsSOCWsZ
2aOpLzDQYZeTiLH5hgwVaWfXsB1pyTcETg0J1r+FXGPAg5YDtuHUZ0PaX6ul6E7qC3jUXW8gyI0w
gLMPMzs06Fde8AsM9JtkPLLUH5tvyFA1BYCGWb8l3zCmRJ1Sj/W7oX4MPHQRhl9AiKGo7jPfMIH3
qmvSkbiRNTBd8Ysh5DTYq3KfYZhgKm70Krg/NuGQoVprKsLUgvstCYeoxFwpFfNuuI/kgBZmehMj
uC+GIss73yH3BTwq1yRlmeN+cqNgp0t+NsSnoVdONhYYoCrW0RXcH5twyFC9K54f57jfknCIQObs
qRvXPXMfFDmgB7CjD/qSoYj2Sh1GdnE/gUfT1kk8y312I6emijxiKHAl41W5n2DAqaPKPu4PTTgU
qEDcb1jzNyQcgnJsTq+1f7oP7ntRGi91SSvePnZQUJuBobfZCqaDQuQEDFETotbjoyIbQru2x7/R
qCjgQ+gZFY8EcxhnryOq1Y328KjIMMD36LHOGctDoyJBRRH83RoVbUMqJmjN5nx4A+lY/F2MCbok
GlgS926h1Fzc+1cV4vnoGtpqlnI26/2uIQ2wXps6QeVuUtv9Tm8XiwZtWC0QQ4X02UL2fCF8Ft2p
+Xml8NmzyBl+BDdtECu4jHdd2gDYocLnAtUaKKWV5N5Yg5o4aHdwmrYbHRRcrZ18838/fv/we2Y4
7FLyy2YkvwSfBYvbxdUJzumxm4bDxppSufXhcJtXQIv2JpOPLg0MonuutJmoz7pa9dmB4rgML7iI
m1QRcgPp8wN5KafOrufU5fXjBTjtXyrk9Zf604T09OCkP00/lfWnn5ddi49mkCLtd7tEr+03Prj0
Six4ZcAYGi57CdjpsVvoGogEFcuqdS/b3o1o0Rpp8tF4/Wn+8hG0KnVwKXZmsPF8dp1/64kLhGXE
DoWIHSMt1xqWuvHlsVtcgLtylqQgql1g+wZ60apr8tF8YIzn1BHUF2/zo0ftPvZXdwbtDxDNRXHn
gPR3tLS1Z9rOjDPSfho2Szunb+gMtHcvbNQp3toy51yl+IgbYmNXrGRtIVcmPYCIB2HuAx7XdDEK
KsV7ugOd40DaVRWm54JG8e4ORSWF4nnXooQVbcVJ1Pr058Zu8w03rwhFkdN6qEMVigWqhmIbu0yY
di0nEskctJhr0NKl1cQhKBtM5gr1rBvghmBrV4KtCQdPa168FG0p0tJfKoPn/RSOUL3fLqWfftXF
0uZoWD+FrU3Tfp7B9k517ROb+tmB1nMvCP7KTQgFhjZYkl0rtxpohVDRamDWuC5hRd2lRZwbWucm
UPlgsIf6lhsqXC5QrYmlIsZc9GsoyUvmrC+VS+fMNUh709aJfCYUq+bupZUk7UEONiqtM3l33drI
JkNaX6vQZlcb2SN453pG8KMb0RT5cGbIRReu3OlbYKDC2OPE3w2ttElQo25oD+kaKm1oMUjmgi2N
zN1w39kDF587HM19MaRjYy+EK3NfwM+lUfZyP7kRTHNukyFrSwp7r8F9gYGxIiujgvtDS20EKieN
N8z7DaU24EDM3UBLj/1v2asDrZdiLu+uH/fFkFGurUjhytxP4G1saumR5T67ERgzzbsTQzaUlHZe
g/sMwypToZ5Xwf2htTYJKtiK5lgL7jfU2oDnBoBA26+3wH1uVKOtGc99NmT8mlffKPcFfIQmsa8c
95MbhTA9tRFDbrUOeTj3pauQr1hIV3B/aK1Ngkr/XF+iLLjfUGsDQUtTx1KSxN1wn/ubBn1q2jSO
+2LI4H2u+QW8NW1iXznuixtxUu/DzJBzJTWb1+A+w+B0+x41tm5orU2CGpXZniDlGmptgIaTzOnG
Key2uA+a+4kalRH668d9MWRXNexuk/sJPPgmZY0s98WNvJlyXww5XCvjGs19hoHalXJY67k/ttZG
oEZnttfYupZaG/Bszq8dyNwH9+Mh0MYOYDj32ZAFvJK0xk7uM3jaGnU96xM3Qg3Ta0cx5ItpyK/C
fYKhNYQet59+bKqJQOXql83c9y35G9GQOa/WBBDugvvR8x23MsPP+dmQUabUdOl2uZ/A+9akuMvc
T27k1JT7YkjDvhrbPl5hoin1F6jn/lBxb4FqvWlY8/sGcW+ISOa0uwFJrf1vmX4xsJLrcO6LoVBs
vHK73E/gEZsqSbPcFzeiFf7DzFA0+3p49vEKJ6mGHbg/NuuJoXodGu74fEsqEQYaGXp1byG3B5GH
DlWmdXdH7rMhq/VdnvMn8M53veMTN+Lih4eZIRdKRZmvwn2CIYv+HtwfKqCdoEZTAXXB/QYB7ags
mXPWvIGzvsj9o0O0djT3kyH0jSKE1+X+ETyantw/uhFOm3mJIdDFdrSvwP0EA4LuUa/hh+b1xWMD
9IqegwvuN+T1Ra3InIJ4/a4e+9+ytjJ0cXRObzLEZ1v3yH0BH6zteceX3IgmV/8wM0Qz0i4d3T5e
gU6VMljquT80r4+hgtKqlBGR435DXl/UQCMDulEW8ra4bxQPndGZJp79uC+GjFtrUXeb3E/gITTp
6Ga5L250ls+fDFlcqxAezX2GoV8yvfdxf2hen0A12lcsURbcb8jri8bRyHDTk7fAfaDvAjC8licZ
ilg6j71h7jN4WvL3zOtLbuSUNw/nhozy+zS0+3iFYZGSHtwfmtcnUCHYhiaeviGvL1p9AGLFW6jl
iZY7xoZQUsAryVf2kAKZgQGr1+9rLoPpIE0zB4MVc99lMB1krc7A0BN1rsd6vxAthrxtzFe/cohO
4Lm9ZMcQndgezpZnYihgyVFfI0QzDGdtqeqzPkQPTb8UqF7ZikzRRYhuSL+MNtLIBP8WSq6i04eg
navRoLkk7NlCqbL4gSAy3m7Sksr6XUPqX71MpEDlf24v8/W4XSaSzUUToJTynxX2XLwjF/TznqlK
LehZGejxwwcKgjNUFCVij3St0JCute19oQ2xVPaXeV9Btbwvf7BOodpQsH4+GmdyTp06GedVFwWv
1yc1y31vcvsFPC6hYhEqQEMrSwJ2euymNxmwqBhWq28X7Oal20KTffLRpYEBr9XL5dGnL399//T5
24se6ac//vX4mcBweHjH/vIDffTuj6e/v7/7/c8v735cxvcffpwbsLNMdBE3fXn06WGPHz9+ffr2
re6hPupLD03CqV8ev4r+kkyE/PxqrPE5PZMG+fmZ//zw+A/Wevz6/v2Hr0/kv7+I9OP7d8efxMpv
j58+P308f1z0alOCSs4LCgv4Kdt/IpdbvPuYf/eOE4XXT6mWqqkE6PTgpJpKP5VVU5/XtIuPZpC4
s1mPuv2w/Xwf560VJh9dGj2jsKKt1yKk+JfHbgkpzilVutevdqbtbR4WPScmH41XTeUvDwFO4u0t
usmnZ3nZl6lcMuFZW4p+kp7RsVllQV9QmZOTN2NCNGcqcwmqw6g2q8ylXw2q1MVxmMrcVvX+n+ew
fZtGUa4bRmqsgB4ezgxFjcpeLCOLv7oAT2OcINKCyV6SGmQniCr4CAsniDoiO06DE0SLsaTq+wot
PwQGL4kLoasspdcKoUZK77xNhGD1NGbtFb+NarjbOyksqRP9y858K3WSvSV3pDkEzXPzMfLb2mn3
bBtxjiQYVUJSUMTt0LyipIk7b2iR0EZf6lNUv7gZe4nBUMGHUtVgPdSGw7x6mUaBGk0odXqshzq0
9DNBRdflqAoajj62jSoqYkfD6rblFkvMmVDRFWphLm4Xv0zm7EkKcYu5hhrcZM7piurkuTlQLd/O
U3zmPpFXP2/usHYAWjvY4DIpwN2ayCVDu2SZr9dELoH3puuyObmRUVOJr2Qo7JT66OMV3hb7n9cH
0qFlfwKV9mFhezoANJT9RY+8NjtJ4t0194M5cGKuuth7oyf32VDQeq2Q/Ta5n8A7bJL6yHKf3Si4
qdRHMmRgLWFqNPcFBtqKvNoK7g8t+xOoEGyJjDnuN5T9xRDYnHkT834gB4zKQCYNsCP32ZD2a8J1
N8p9Ad8o75fjfnIjotjDzJAt9rJ+Fe6j9I3a1Okvy/2hZX8CFUNUDWv+lrI/sGwObkDqY/9bhkDb
JU69G819MaSxsU76ytwX8Maen2Dv5b64EWijH2aGbChlS70G9xmGVq7LkRSMLfsTqBAargahpewv
KjJndaNa1W1xP1oeOh2G7/fFUCz257xd7ifw6LrO+8mNwrT1nRgySu+T8+/jFaac4lrP/bFlfwzV
WoTtpT/QUvYXgc35xmOr2+I+qoMBCDlpz37cF0Mv9Lkv7gt4tNCUV57lPruR0zC95mNDUe1s49PH
K1Cbit7qFdwfW/YnUDnjazv3W8r+0JE5W2xwdD/cB/ougDHT+7Ej99kQ/+EuuS/gTzc7fbgvbuTo
3w9nhriorJTm/yrcZxjgukh9wNgbc4aqnWuQ+IKGC1Patoo5+wb2+6jcgSXmcm18unE/GcJio/ub
5b6AN0rZnuf8RzfC6Zo/GdKmJFrzCtxPMCD2WfMPrScTqJZ7DW7nfkM9GapI5lRce0F3wX2teehi
GH3OnwwF3XhAemXuJ/Curdw/y312I01L/IeZIYC1aWU09xmGc65LKw8YmtMlUD1tnLZ3CYaGVCLU
XCMGtrED7Y1xHw40n9mSXFmpqH1IudsEXeQXa3MiRB0jExsyvlG95dqRScCjbhIhykWm5OS0OJm/
DrdTfLCDzxKMoEKXZgNxaLOBBBVCqYN9JjLFhmYDaAyZs9CYRHNbkclw/SYAjM48SoZQXUuAbB/3
E3gLTc0GctwXN3La24dzQ6CCu272QYIBRamdeu4PzToUqNGrhsyj2JB1iAbJnNKlS4+74b4lB4zu
dJs6jvtiyBeT0G+X+wk8YM+M46Mb+WlD8WQIinWvr8F9hoF8OdqD+0OzDhmqUwrMdpWR2JB1SINC
IxNCydz9cB956IIefQuRDOm4JqN/o9xn8MborieR4kbM84eZIevcLtHhTl6B2CXzKA7NOhSoOtRA
XXC/IesQnSVzdnVTdhfcd4G+C63uMk2FjYsRYg/ui6FoS7Ibt8v9BD7EJsHxHPeTG3k/3e+LIcTS
1d9rcJ9hmOAqFtIV3B+adShQrXV++w1kbMg6RK9oZNC9haxD9FaGLmY0QfpxXww5cHfJfQHvFXY9
60tuhMo9zAwF66981scw2MW7nPUNzTpMUGmJsr3KMDZkHaIHMbeWGnYX3A/kgN5ibr/fj/tiyJvG
Qbsy9xP4U55pJ+6TG3lFPH+YGaL1xZXX/Awj2OIirZ77Q7MOBSooVyEzt+B+Q9YhBkcjE+ybOOsL
/qCUqTnVuXwD2UFIbQbGmri+d7sMpoNQ5AQMsFPZkMnF7hgV2RD9+S5vQBJ4DD3zMY8Eg7NTUDFk
TSmz+FWiIsPAYuJ8fVQcmo8pUGPA2BAVW/IxQdNLg1B6QVmt5YUOlbWn4tRKHaqJ2rLDOMMFFit0
fCreWEMWXb3askCN6Esdq3NvLG5XWxZzLAL0FuYx+i7clLWUlVBSZW8JgjMdPfdbCDO/856TbXv4
3VBVdoYawBQ3Mzm/a1BlR3CHQJuAUqO2WiFXVJNv/u/H7x9+zwyHXSp/2Yzyl+CzoBqUvwjO6bGb
hsPzuqfDcOjNK6BFl5PJR5cGJsKpDnoiQhtrRWgHauQyPNZE8ltuKXIDafIDeSmvzq7n1eVl5AU4
TbqlnNOsDDUhPT04yVDTT2UZ6udl1+KjGaRIb7rHqS9uv/HBpVdiwSt5Fqvgz4Ku9uWxW+jKUnbQ
QdMctzclWnRImnw0XoYagXZozqgtJQnn39ifr+rm33riAmEZsUM2YhMsb0JFH4aFC/iXx9a7AJkL
LvoOSuS4fQO96Ng1+Wg+MBgOmvX8Lx7tRY/afdwu8uxdWeQZI1vVRsMFkWcM9JfcGdKeiTwfkQLg
ZpHn9KugdE2T9O7fMlzUM0/f0tB29cK3DOhc47eMuiSpMUaXeWsjnHNV5iNu75pyJZ6tLUo2uZGQ
V9raubMjrjX/Lqgy7+n5c44jhlDaxhU0mXf3HSopMs97EQlWpDVT++HT63WX+3kO28WunX9TlzLU
c59Cd2qI0nbstLvpGMOgWdeWUsvLAvKtEGoE5M/bkQlWF6DiFKNi6Tj2iIyhemsrRJcroA4V+U5Q
aero0fcdxxaEMVSWyexwRhrVUJFvgUqc19v7m2HLGamY81ZvL5XDBpFvMcf51dtz4LGlMk/MBb29
WVxUDSLfyFIQyrkbSLvdG9+dUvbATRxiRgCgV0PZoyGMpVPJW20om8BrZWzoOOsf3Sjalyv4oyFy
5C0ryUFeQSvakuZofSAdWW6ToBqsORhYcH97uQ2Z82Su3HrsfrhPv2QcmsxFc0fusyGKz/fJfQHv
YkfuH91IW2UfZoageDvxKtynX7LO+A7rvahGltskqE6b7WW2DGw797WhkYHV3Mi74L72PHQ2ZNJu
+3FfDBm/djZym9xP4NE0iX/kuJ/cCME/zAztLbHv4xVeedXh6pjlt0dyX6CCL5Exx/3t5TZkDnnD
DqW2wnfDfcNZizTRDJ/3xVAsijPdLvcFPFG/qcQ+y312I6e9ejg3FJUrtah6De4LDO6c3YP7I8tt
ElTkOsjt3N9ebkN2HKcr6ZK5++E+8NBpm5HX6Mh9NuRtKTX6hrkv4ENsKrHPcT+5kdfmYWYoxDUp
9OHch4NXXIXVg/sjy20SVK1sKWk5x/3t5TZOWU0jE3xo06u+Le5bx0Pnc2W2/bgvhjSU9mW3y30B
T3vzrtxPboR+uuYXQ9au3YCO5r7AQCh5eD33R5bbJKhWxe0l9gysgfvx4A3R4i2c9TlyQAMqJ6vV
j/tiKJpGZfQrcz+BD6Yv98WN/Nl+Xwxh3Cf22ccrLH3dLmd9I2/ME1RnTUm2Jcf97RemZM7TyGDx
BvN+uB956Jwfvt8XQ5yBcZfcZ/B+lsy3l/vJjaJ1DzNDway1PRzOfYLhqwowK7g/UuT7CBV9bFjz
bxf5dsobMudjKePlbrjvPQ9dHH+/z4aCLubt3y73E/hTJn8f7osbhanI99EQ3yZel/sCA1UFoSq4
PzKnK0GFoCpS3hfc355KROaQzBl7A7Ja+99yMDx0pyO4cdwXQ+BLV8a3y/0EPrZJ62S5L24EJj7M
DKEuddN6De4zjOh9l7M+PVJGO0FFAw3zvt4uo03mAo0Ml0G/Be6jDF2uuUdH7rMhrky6S+4zeGfb
5DRz3Bc3Qu+meX1iiJbb1+Y+HoKyvkKnroL7Y/P6GCqtyOz2/b5uyesDSyODRrWpwt4W9yHQ0Fmj
h6/5xZBz5i7X/Ak8Cwl15H5yI1quPswM+aIw7Gtwn2EYU+y6XM/9sXl9AhVr1P8W3G/J64uKzHko
nYLeDfej5aEL49f8bMiqWCq2ul3uC3it2yT1ctwXNwraTHN6xZApdtN6De4LDFqTdJAiinpsXh9D
db5BEoaBNXAfyJzR4S2c8yM5oOMJeTT3xRDYtdrU2+R+Ah+w6zl/ciN/dr8vhiJee7/PMFgPqscd
nx6b18dQg6npSrfgfkteH7qDUoHPCtbMXVR97CGiMgMDoaTtWQTTQYDpDEzw0Zfqv+4nKorQqK9o
aHl5YDvopEzAAHu4N8PLLsSQhcZz7GuHaAbvVFung1yITj4d0cxfhy8WEL1KiCYYQGuQHlexemz6
JUON3PFge4huSL/USh8QjWlsHXxTgUgrlrBSUNqAl5QiWyhVFMw4IoomdLkKaEj9q1aKTFC9hxa/
C5uVIslcOCjwp/6KE8FBXSs4+PIsOFilVUkjLKtPu3zf8aRMUqXJc9LfeQpPE/2dIyqwpaqT+nff
kPq15d0TVO1iRZba4t1Dy7sncwagdKpZkpqLOk5fUKfmyFkRx4TXxppqmIo3uf0yH5dQsQTVoSpJ
NefeJL48dtOb9KA3KTBflsuLRm1eBi4k3icfXRqYoOOkHPfTl7++f/r87SXafPrjX4+fCQyHh3fs
Lz/QR+/+ePr7+7vf//zy7sflXPHDjzMDRpvzajYJXS+PPj3s8ePHr0/fvtU91Dp/6aEpLH55/Cqq
cjKp8vOrsZ50nGiQn5/5zw+P/2DpyK/v33/4+kT++4soSb5/d/xJrPz2+Onz08fzx4GOFVI7615Q
2GVN2f6Tj8t3H/Pv3rFo+jq+hQgrAzo9OImw0k9lEdbn9fHioxkkBwp7LAzM9rsCnHdqmHx0afSC
xYp98zykELDTY7eEFEcL9bhlqZ5zpu1dIxYtLCYfDRdhdVq7A3Kr2EyPzrPOFPV6l9oU9S5pzNks
t4RZ6l3SJpH+0gS0Z6qeJ6gmbtW7TL/qlGk8Et6nTLhVDv7nOWyAru0Bk1I/uDChgKaluNXWXfSC
+KsL8LRd9JRW6StO4A8mBBsv+oA/aIfBzFzA07LRQIsH0DekZdxaf4KxLT+OMJAbUqxuHC5rL7ZC
qNBePG86kLCijyWsY0Rit3fwmPOGkQerGlvqJnsXieM5FWA+RgCl8+YVmdh97UrOkFBUNaFNKLZD
05QVqdhpI5WElvhve1QomqE3GAkqhFIaUT3UhpO8agXKBNW44hl/PdShdZ8Cla/ru0BtOKvYOKrO
erM9bc00XGElc65YS5Qz5zcrXz6bwwbhDdNQgJvM+WKDspw5aPl2QeawcP08oP1rBxMowluM0G+p
TgMEMGCpfoSqGxZq/Kva6DX5jFvsYPcM3tvYb8EuPkwL4agfZnYsrHWLHr2aZRgGjOtx4GyG1hsK
VFfVDnIRdxrqDbWJNJjO3kCt8f63bDXPEDZm8g97Na88GrpeDtI+6ifwoWdL32c3gqmesBjytLne
lXvcxys8IeuRg2SG1hsK1OD8dqV0Brad+5aWOIEWOtfXFuvwlskBJ1WlA7lPhkDZa+kK7uS+gA9t
uoI57ic38m4674sh2jStLGeHc59gRIuls4Zq7tuh9YYCFQ1WJATOuW8b6g21o8GM6G9AS3z/W3b+
YJT1Yfi8L4Z8vJa+0D7uC/hgVVfuJzdCZR5mhsCXWhO+BvcZhnYhbmm4muX+0HpDgWq8bzhrsA31
htohjQy2ymTdGPfxgB6iybTB68h9NhRDqRnVDXNfwGPsut1PbhSmGiO03j8o0Kp0I/4a3BcYYO2G
/f4535/zBlJixTHZ7kTz3x8/fT58+Hb4698UK75+/vPPw4fH//Ll659//+e7n+Iy+yLmsi8YZlS+
VKXx+OHD05fvv3z469v3Pz/+5ziUM1CgSpvb+rg5KVOYZau8++nTt19SrLTLzAKbS7kgdFp5DT2y
Q6zPonsezAnI5Xu1hfeqdYylivt6kENL3gSqM6bifmuZAERv9/SiUgIQ/bQ/AUggWVchFHABkn95
LUdIPXKSBJJzpYqGcjwJzUzV9sLbtMXXyYoyjRGlJ85zVN6Zir1NBR9gREgBE2KXTWIcF1KM4VbB
25eIDaWpYo7VRNYPzS5wEEaFBfpnUSEnDymOCQuOpkpjGjUobmsh7YG+SzC25tJu10JaDMFqgtNt
LqQFfPS+Y6KbuFHkFmUP53ZQubW2D8PX0QwDio2S60Pj2LNzgqqVC6UDrVyAbDk7D5rMmXADtfv7
33Jw9F1CgOHUF0OApRZPt0t9AR+Na6rdz1Ff3Mgqbx9mhtD5K9+bMQztscv5mRt7ds5QjTVqu06n
azk7p+Ekc6ox8+O2uA+aMyO0ymj19eO+GIqt4qZX5n4CHwC7cl/cKMRpmq4YIs7t6svRxytssBWZ
hBXcH3t2zlCddWF7FqJrOTuHlGPZuHq9Me7Hg1IWSkfaBXWKMbWmZ+i0A+8zikIdIxMbirDGuRuN
TAwetekamZKTozWz1+HVak+14ZGJb/QpMvXI5HNDlQQFKtKAbU9Ydg1KgjoaTiAoBsK7iUxcVIWI
kJGq6cf9yHfV2pQ6uN8u9xN475s6BuW4n9wIp1I1yZAptul6De4LDE7m7sH9sdcqDFUHW5FwvOB+
y3Ft5KtY40pR8W64T7/ImoimptB3F/fFEIS13re3yX0BH5Xqy31xozjtEpoM4WqEHM19hmF8iD2u
VN3YOjyGSlsn3N4d3LWUYWFgc3Etzfo+uE8OSDtiP577bCgWRSZumPsC3vUt3hE3on30NINfDGG4
9kkkw3AsY96D+0Ml6gSqt7RY2s79Bok6oyyNDJ5yOu+Z+0YFGTrMdAjuxv1kyJ10MO+K+0fwEXpm
8R7dKKB6mBkK6sonkQIjkF902e8PrRRPUNFXaD0tuN9QoGy0YnNQOqO9G+5rckB4OYkcx30x5LAk
oXS73BfwFCJ73kCKG4GizePDzFDwpY32a3CfYUSrNomnZbk/tENwgootSmCuoUMwbVsPBpVeS7O+
C+4bckB0xmbW/FyJr7twXwx5B/d41ncEH3XP/f7RjXyYVO4lQ6D2dQvr4hVW2WISRD33h1bsC1St
fEXC/IL7DRX7xjg2F/RbmPcNcBcErMgvu3gD2UPFcAYGfEmQvQimg0rrGRirXdCZnKyOUZEN+av1
UtoZFRl80NgzHTMRTJtpL6VkCNxai77hUZHloW3s0jfdDc3HFKg0jBWFOouo2JCPaaxmc+ot1DTK
d3EmlK7aS2L9LZSaKSw+/fr0Ic5G10fbRebbN+QC1gu2M1QX6F9N1UPmpTIulQnEtTKB5yCy+GgO
yddUI86p4NV2DXkxFwEr2hVcGIEwqeRJQ8A/dhkDDw7iBhWWc695ziJ7Fnmc+klb4Q9jCqqcZJ9t
jrDQoQxxqw7ls+ak+/Xjk5uNFWuClnZ3/9///Y9//p//9v9++Y//+T/+93/9X+8v1RkZeppFq8zB
oaV19Le/Pnx4evpIE91Pf/zJKuufOJI9fpYnzq3TerYQuMkdnh55cn21qtSECnWFUPmCQ/rFBSYc
mlJoYSfGDWcO535qxvipC1CR3lwRfRvuPrdF3+CN2gL1HN6cQx1r6AQcWFO6mN3MK9zEK6BZtJlX
Q2ozBVZ0pz4KW4hlthKL5jO7PU/Xu7ZJkMzRjNPqiH6wI6KNFbVKGXCh8NJ7IwXntN+w4ThHCuvu
mcHrl2HHF8IOhQ5vmsNOfMUBRdrVb8msP0eK7QM6bwA5+WgBkxVptCkpU9S2mgjTcxEC++H3zDxj
l1LHNiN1LPhoQV3aImWiCcE5PbY+mnjOQIib+pjmhqNDs8zJR5cGhhXPjv41aR4Wa5uHDeziwfAc
KFtRxL0+kCY/kJeKD+x68UG+0ZUAR+MrdsDLTRUhPT047anopw5bKn+gT2ypP2H1sjBsT4fFpVdi
wSu9blIvIGCnx26hq9fRVmThrHtZh0a7k4/GN8rhLw/cqa91cRFmK5/5t564QFhG7FCI2GCsa9A4
I0Cnx25xAWCNqh4TWIcuvJOP5gPD8iORNvuXW9p41O5jQ0ublb5GxrFVq9BcEEvnGy1iq+IGRhOx
9CNS2t9tFktPv4qr2UT9W7RsbWJ53qDliDu0pVk/W1vkWkr/S2U8zNwAtS7tw1YatOzp1znDAUGX
Nsn59iy7e4YWm7PM+ogyVsPndz2kysLYBBGGqmlB3SOPLTTcZ9e3EUlQo6rYTC0idUsuSzIHFQpk
C3Nxe6MNWsJxd92YKy8564JeG281Z++uxFtzAG2CzoRbYxWN3izc0q948L4h2vJ3BIUrsWRIF7mt
raJ/nsOOpqkbVqb1+rGL95m6jhiK3KFkz23u7qbcCUYIpd4L5R5rrRAqeqzN2nULVrTa1wuC/fLf
ydzLIZ5tVdlKpr2tuDrKmPb7TEMwzabDHtPM9IoDzIxp2Gfa6Iqj2ozpuM+0cyXd+LJp3Gc6hIr+
0BUz9NjcCobK7TZ6FMNBw3X8lsUEQRWV4O2ze0saiJgzJ6GWDeZAtSwmLMvBuVJ8eKWskw6zEVKs
o39mcvDPFka7Ms7EEIXzK2WcbV2gnGecCXiW7Ou4RmE3iuRG4WFmx9uwUqQ0fImCPBWoTcco2Ugz
VAgoQUVVKlTOUb9BCMiIclvE0j75bqgvUm/m1FpxHPXFkKOp6x6pn8A7CD2pL25EC+tpsmlS3oN9
Kfh9vMIYa3s0zoKhUjsJKrqKtduC+w1SO0aU29CG65fd7n/LIvVmrR8+7Ysh569VfrOP+wk86r7c
FzdCmJTcJ0NBlzK8X4P7oqpnQqmwvJ77Q6V2ElT0pcOuHPcbpHaMaKPRO7t++U2HtwwsqR51pmle
R+6zIatKl383zH0Bb0NTkUmO++xGXmk84z4bcsVb8lfhPsHwfBTSg/tDpXYS1KhLc0qO+w1SOybq
ZO76Env733J0LKygc6Lf/bgvhqwt5b3eLvcTeLBNchs57ic38jAtuxVDDktNSF6D+wwDtO8i/AtD
pXYEajSmocAMWqR2Ig0nxFAqi7gb7qPmoQvnAlIjuC+GbCwdH90u9wU8i+J15T67ESo/kdhLhvxJ
z+ta3GcYSL/eZd4fK7UjUGOxkUSO+y1SO+jJHAslvAXuRxZWUJBpltuR+2yIHf4uuS/gQ995P7lR
OJPbEEN+tRvScO4TDG1sSVSinvtjM6kEKrqKJcqC+w3pSVznZbX3+g3M++RoPHR++H5fDBmKMVeS
2NvF/QSe9r899/tHN8JpGlIyRCvYFQHiwdxPMGhR3GXeHyq1I1Cth9IGPMf9Bqkdq5BFJbCUCHM3
3NeGhw7tcO6LIdAl6fPb5X4C72LPc/7kRoae+zAzFMOVUxAFhvNFde967g9NehKong9it3O/IZPI
6sDmLLyBOz4KYfRdaLs/+o4vGQJfqrC/Ye4LeHRd5/3kRhDCw8wQ6rWjpOHcJxjBh4qivHXux6EN
/gQqBChduGe4Hxsa/FGsppGJp3uxu+a+IQcEM/6OLxlyplTae7vcT+CD6sp9cSM0yj/MDPm4r51G
H6+IZlND+zz3h+b1Jaiccrmd+w15fdYqNmftG7jftyy6pUHHmlqnXdwXQ1GV8q9ul/sJvG1r7Jvj
fnIjsOrhzBDfuNrrnvUlGFF3EfOLQ/P6BKr1ukHmIzbk9dH+mMzRGvANpPPT5pK+CwQ/+pw/GYpx
rTncjXKfwdMU3XW/n9wIw3TeZ0OurDX4KtxnGCF2yemNQ/P6BKq32LDfjw15fdYZMqeK5QN3w31H
Dujd6buM474Y8mYtW/U2uZ/A+9DURivH/eRGtFp9mBkKEK98zs8wgjVbpC3z3B+a1ydQuQfB9nYa
sSGvzzqkkQnFZgN3w31veOi8Hn7WJ4Y0Xqt95j7uC3hjVc/cnqMbxWluTzJk/VqpyGjuM4yoimUF
9dwfmtcnUNGaCqWBBfcb8vqs99z1oSbUXOz60EMcag4GSzvEIpgOYmUzMDFU6MtdBtNB6HACJpAD
c4ultxCiKU7EENEOD9FsKOrSG7zhEC3gne8aosWNrMFpGoYYwnDtNAyGgUGXWozUh+ih6ZcMFTiH
sOE6piH90gbL5t7GVSx9l8iCGAVnK/X2aKHUXNnnVxXi+ehGLgDtoUwWG1L/6tXlE1SEBjGRCNs1
xMUcT8YtrURoOE8i0Enz1a61EqkQqbHB0ZzsAtbr40wg+WGQnMNSgmQeUhgHKdakiV2ABC864wkS
/dQHklc1nc4uQIrDRslbVZIfy0PCF/Hw4yi5HpBo30/RMVaITy46siyjIvvkBunJZ5lJH37D3xao
oqsQFaqIkA0JklsiJEE1HitUwxYRMrZESD7ZArtFJv58NHD6gmpUvI24TKOKt+AFoyq6yKy/Sdye
8oJLqFiCGomd25WsCNjpsZveJOqaJparesm4feO3aIQ4+ejSwGCwk17Rn7789f3T528v+vaf/vjX
42cCw+HhHfvLD/TRuz+e/v7+7vc/v7z7cRmWfvhxbmCu+Sti+S+PPj3s8ePHr0/fvtU9NJp46aFJ
iP/L41eR85SlJz+/Fiuo5zRSGuTnZ/7zw+M/WDv86/v3H74+kf/+IlLi798dfxIrvz1++vz08exx
QMv6TcdEOS8oyPNP2f6TX3bP8JnuGYKP1hoVshTLKYsAnR58nLK6zKIEyZvixV59SGlQ4V/2kcJM
HymBKk64PaTYl8duCSkAyvVQ4cftB1uLRq+Tj8ar8NsQDsqa8LzPe+nDYar7cJyeBf7gvc4q8531
gu0nEc/vz/NWw1/QLOYbGr6c1eZMs/gZqtWbRYvTrxrfWGS5T7R4a8vMn2ewrQpNgoC5FrSpm6mD
6TEVyC2iK83Qr9CCVmAEWwwiZdHiVggVosWztqWClWaz0mFLfWwee+shUMHHHqd/2HD6Vy/pKlAj
xgpR5MU00nJBw+a4YH57/ieG7ZKubA6UDepyO45fXYCnhnYcYT3WkqM6dUkfXm7DI2jARazlVkoW
mmItzcxYatM4ph3H9rapy3ALygfddCvwbO9SvPW0MnJ+7ggB1kT0Cw059vWIPUeirSqlJxRacnTo
VFtqyjHvXpvQYrGyrT6SDS0lF6gm9NHRxqFNOQSqda6h/y22VL2LOVrGbU++w4amHBYCLSqiLh1b
3Uv3dguRvosyKnO7e7Za33W7K4a0K10YjrzdbWkzPwcPrin5LrNsPrqRD9MEHDFkVtOUhi+bGcaL
9MK+UDO20JahQogNRfbYUmgbFZ/JFq+07ob70fLQOZdJuu/HfTFElq4krrOP+wk8YpO4To774kZW
TcV0kyEsNt16De4zjOjjpoOwDPf56HMk9xkqUrTcvMxA1VJoG4FzfOINCGzsf8uoeOiiqTml28V9
MeSKndRvl/sJvG0T0c9yn92I3HYqsCGGfCgtmF+D+wSDNva2ooqlgvtjC20FKkKF7u+C+y2Ftuh4
J99aL35j3AceulNpxUDukyGt3LUENnZyn8FrFbrO+8mNzo9uxJCxpb6gr8J9hhHjpjv1LPfHFtoy
VBNOtxhbuN9QaOuUJnMaSiuie+G+U+SAxkNOYKMb95OhgNfK5t7F/QSexqnnvJ/cyCjUDzND0a3V
cA/mvsCwZT3veu4PLbQVqM6oigTOBfcbCm2dimyuVR/utriv9cEjd3EYzX0xpN2OC5srcj+BhzaB
jSz3xY28nTTOSoZo97qr2K6TV6CryPWt4P7QQluGGhSN4+Zzfga2nfvakzmaLN/Amt/pSN8leMiI
63TkPhuC1fLxG+U+g4/a2J7cT250JrCRDKFd680ynPsEQ/fJ4+Dr+aHcj5wrbkp7yRz3G/I4nDFk
zqpSrvjdcN9wmj2f64zmvhiKpqTXcrvcT+Dh/DZkL/eTG1mMD+eGyLNK7SBeg/sMwynQHcR1uLXF
SO4LVIDt4joMrIH7SObsaoeTu+C+NTx0Loy+40uG4uoJ9m1yX8DjaVPZifviRtFM7vjEkKdIvKtp
Xh+v8AF6ZD2hGpr1JFCDjaUTkhz3G1KJnA00MshinG+A+8Dlt7q0DS9JYgwpd5ugY/0ZmiAzLf06
RiY25E8X+HcWmUSl59Tatk9kYienLQmY+evAsHbQNTwyISdBhIqS0IrINLS9h0CN0NDWi4Ftj0yO
8zIoHL6FVYljYZNobUbyrx/3xRD6kiTr7XI/gY+xSeY7x/3kRqCnqxI2hFqXChVfg/sCA6CHpgyq
oVmHDBWUA9VwGtGQdeg8JzuoopTI3XDfWxm6XHuPftwXQ8GUpNhvl/sJvA9dTyPEjeiH6Q2kGAIo
VRW8BvcZhna2h8Q/6qFZhwLVaFchIzHnvm7IOnSe8zLI4PX1pPa/5aB46IzKzfvGxC5acskQ/fse
qw2O4KGtlW+W++JGtOp/mBlyaq0mYzT3GQZrh3SQ+6RVzFDuC1Rwpb1kjvsNWYcucF6GDY0H6jfG
feChCyF3A9mP+2woxjWFxBvlPoPH06KlD/fFjZwyZ9wnQ06FsEviv49XOJoTemQc66FZhwLVc/Hz
du63ZB2CJnNKxetL/O9/y+B46FROQ7Yf98WQL0p83S73E/jgus77yY0cwMPMUIhXrjIUGIHbVvbg
/tisQ4YKKm5v68XAGrgf2ZwvaXneDfcjOSA4j7kbyG7cF0NBlc5kbpf7Cbz1PYV5jm5ES8+HmSHw
cOV5n2GIOm4P7o/NOmSotHUvCVrkuN+SdRhFVV9X6PhevLXrIT42B1PTbf0ymA7iimdgIAZc05S6
j6hI1ESF2byMflGRDRl9rYZnO6OigPdtDc9yUVHciOVJHmaGLJRkm14lKsZDVKrTbmhsPqZABb1d
npGBbY+KNKRR0Tt7Cysi+kXUqErXbSVV/RZKzaTnPsJvU81oQWS8L3VErfe7hlzAes1ogWo1lurJ
c34XtmtGO7QHWoYXSw2zGt8LLasI5jkloVLL6lm36lfz66NXc1zBuh4VW3poHwSBarlD+fY31tAH
waE/GIO2Qop6Tcj1RZGd7fz78fuH3zPDYZfaWDajjSX4rIft2lgM5/TYTcPhyjnZ1cOBm1dzix5J
k48uDAwR2z+fSE5EaLFWhHagRi7Do1nPlQ5NagfSqPxAXsqrs+t5dXkZeQEO2lfcVy5kqBnp6cFJ
hpp+KstQPy+7Fh/NIEWrK4o51qOX2X7jg0uvxIJXEnjw26MXATs9dgtdvdIOtuTA5LysoGle219t
8tF4GWr+8iG6omhwqUEDmplS5PxbT1wgLCN2KETsgNggL8iATo/d4gJAdDEdJjDT0GJvuQdwmT2A
10BTWThlQszUZ7kE+GOD+qwtq896xVZZjO+C+qyL9JfG0hbqTH32iNRa3Kw+m34VoLSeGKM+u7VF
zLn2bMIdjW9uGCzrjbmAiXSX0c66uRugLd3fr2jP7umGc47DBRUq+vFcUJ7d3ZGnpDs779IjWL3x
0GPHZYbu9BNUcBWdNSugDhX7FqjBmlJJfS5SNxxKJHO0LN5+BmIaxL7FHLLs9uUzw7NOnJ3jLbcn
g1y8BVQGlvGWZj8T2+It2la1nX2dFbY2LJwFH3RGNxVq5BqApl6SEObRFr0tnUi8QgNQhmGVjqXq
h3JnhVYIFZ0VZk0jE1Z0sUsEG1ruJlC1MxU1WxVQh4p8C1SjisqOuejXUJmXzIGv2BktzDWIfHsd
yWci3oDQ736uGkULI4VwcZ3esYVzMmT0tUrtdrVwPoIH35Ryn4ngyY3QxunaTwxZ3Jdy38crJDOo
R6gZWm6ToIJvEAAwDeU23hgyZ429/kVzh7fseehovzyc+2woenuli+ad3BfwEZrSbnPcT24UjH84
NxSULjXgexXuM4wQuqyI7NByG4EKtuUA1jaU23iDbC6UNuZ3w31LDgjcHGE098VQjNcS+t3HfQHP
++qu3Gc3cgqm8z4biqpYPPIa3BcYVQlmFdwfWm4jUNFp2H6eYxvKbShWi7lGzdob4z45IEYNmTLb
jtxnQ2hLbQtvmPsCHmxT2m2O+8mNvAoPZ4ZozHGtBcpw7jMMcF1Ev+zQchuBql1NH/sF9xvKbbxT
Bw1al1TYi3eP9vnu8ffHT58PH74d/vo3jdnXz3/+efjw+F++fP3z7/+ct5Q+5jL8FP1iVE4fzUeF
YVLwrhAeyMB07TAvNISPuY7w3ll6fcr76wsn72cNfZdolYbh6yg25HTQVypb3hdLBbxR5zvNvbFU
3IhoCeeuhS7g2hJ9dCxlGBTre/RjRDv2Co+hsirvdhE123Iv5oBGJkZ3feHk/W/ZKxo6E3OJ+v24
L4Zox9C28bwy9xN4p7uuo8SN0Njp+YkY8sHskizo4xVg3JbVQp77Q8VTE1RaeG6/N7EN4qneOzLn
zQ2ULXd4y8BDZ8bvodhQVN5dqVnKTu4L+BibinRy3E9uFGB68y2GDG2irsx9hhGxosV7BffH3iYz
VJqJtzdHZWDbuR80maNd1PUbI+9/y8Hx0IEdfmcqhmg1e5dnpwIerOl6dipuZLSarvnF0Prt0mju
B66H9Sb0uDO1Q+VJBao2tqKma8H9BnlSH5DNtdaZ3hb3wdB3obkn0yStH/fFEOC1pIr2cV/AR9t3
zU9uRJt9Nz06FTtIpLsu9RkGJ5f2qLizY9MlGKq1pkGlzLakS0Agc8aX0mDvh/oUxmwIl0saulKf
DUFR1/6Gqc/go9FdU6XIjchn43TFL3bQlUphXoX6BMMFo3rcmrix2RIM1VOQ2p4t4VqyJaI9qEnj
jLumfgw8dKcboHHUF0POXkuUfB/1E/jQJkqeoz65ETvgNGdb7HgsiSS8BvUZRjB9uiS5sckSAhWL
Gcs56rckS6Bic75x7Xpb1EcKY9wAd/iCXww5WOv9dZvUF/BeueaKwkvUJzcipz2rcBE7waxtJUdT
n2HQ9sb2yJNyY3MlGCqFyop+Tgvqt+RKIBy4NKK0HroX6gdFYYy2PWY09ZMhr0uKLTdL/SN4F5sa
o2apDwfkJhoPMzsBrjzrMwytrK/IPaqg/lBlUoGqtapomLSgfoMyaVCOzCnbeFN1Y9SHA5eyw+gF
fzJEi9l7TOs5gj8JbnWh/tGNwIaHmSHQaxljw7lPMLj0tkdphBuqTCpQrXYN5e6uQZk0aE3m1Gqr
mLvgviYHtC7G4dwXQ0GtiWPcJvcTeNeX++JG9EN8mBmCcOX0aIHBLdK6zPtDU/oEqtdebS+JdA0p
fUGLELAvtYcsCAFjDyGiGZioYyuYDsJYczCxoj7tIpgeonoTMJEcGMwaj+4iRBvNHm4g0zCmX4gW
Q2a1Lus2Q3QCH01T04hsiBY3CnaSgZEMObWmwDs6RDOMEOwmGcZsiB6aeSlQudZmewaGa8i8DIZm
BFaPbpGqnb8SQo3P81eV+NWz0BU8BfOrmqFCFW2Pa3M3VKiWoZpAS5Ptck6uQaiWzVkwJqyf1y91
Oa19qRFKupz005ku5/z9/rR8v+dYaCnhtrRjOH8zZ0ppzyVDpxdSKDb6yS/fkC+8Ia9Yzj4P8/HD
h6cv33/58Ne3739+/M9xKM9Bca5lj4jkJ8qwszqsdz99+vZL8mo7b9jw7qfTR5eGzDlje1SpeJ1F
d6oSewEZlyBjAaQPUHF1dYEKblKGduQC4l4yeNrmbkjyO3czbHezpQCrd4VBo4mwJHdYJENHlOeg
QNlSQkC9u5kRZEClS2uYenR2HBloIxwqtlpLMlD8OH37xAX6aR8VeAVT8TovYNEvX/KIJe7F4g3t
z1uwmP7j4q316wcFF7DYzuPiuXI5rHV0uo89n+c1rPWFiaDUGqNlKzVvjRF+NXE2uhGhVM9UHzIa
joO3rF8JKoKK2zsLeNeyfvUHWvi6LSv789E422DU6OCb9zt08AWvj1hxUFPxJrfvHC9Uz+eK5wVq
iFia2nNvMrw8dtObjNpUbHxWFcc9LL755o5fk48uDUwMBl6yzz59+ev7p8/fXjpEfPrjX4+fCQyH
0HfsLz/QR+/+ePr7+7vf//zy7sdlvPjhx7kBb85zXKTdxMujTw97/Pjx69O3b3UPpcnr0kNTK4sv
j19FDlcCKz+/FivY58tyGuTnZ/7zw+M/WH3/6/v3H74+kf/+ImL8798dfxIrv9EK7+nj+eOQlh0d
Glz4mPeCKdt/8st1kc+uiwLnmhbnhvycG18enOZcP5tzc3PJT4uPZpB8iKV0hfqQsr0mAJdLX8wu
fYOkuFV08luEFHx5bH1IYXNOl7IDa50pFLql1HY0nHw0vo8Ff3kaaf+8am7pZHN6llUHCnegL56C
x19dgKftmt+09ytqfgcW3LQqqnBB85tTTrjHAsYzze8j0uBgs+Z3+lUbsF07srHHwvYWXeey3wm5
O6lxb+1QmOwtWhRyyyyNVk9jDVniG9LSlmOly8K+fmTnSKK1JaWKQp+FDl3RSp0W5p3SBC0qU2p0
Xx2jw9AM7gSVJvQe18+hIeO0XvybofJdUMUhxXw6CQ3J5kdzUFKUyZkz28W/g3MHCoEWM9khZ91Z
a6MuUhxcibqWzGoPUV+Mup5jgoNwHnWPUI3fHnXlV3VolOja12lhaxPLn2ewCXdTLmquKSxKf9F4
tvUXQxb3afXubhcqMKxzpWyHcqeFVggVnRZmjUQFK59P1Z9d/vLfydzLRVps7SmXTNti6kPZNO4z
7V1FLk5F3B6bLsxQvTGl/N16qA3HWRumGIZKjt+Q4RRaMpvFHPnu9tvf4FqmGE8+o7B0mn0vDY2D
5+/irc3UULRMl15p4wdMlwkqrQa3T5fyqwFKd+Q320k9gQeKzB0nzeTD2k4F2pIh2h1cedJkGJ4C
XZdV/9hMToZK64wKPalF4GnJ5PRA5jSUdGHuJvAERd/Fg86oNZwFnl0pgmIoFLuO3y73BTwYaKrb
zHFf3MhoM10HiaHo9gm09fEKliDsshwbmyLIUCN5aQP3W1IEg2NzupQMdD/c55YtFmNGmLUj99mQ
i/pKAm07uc/gvQ5NSi057ic38mfVW2TI+njShbga9wlGIGQ99BrCUHFGgQqmKGmX436DOCPNXmRO
Fa/r74b7oA+AyuLweV8MEXvaAuaVuZ/AY2gSZ8xyX9yI5qyHmSFuyX1d7hMMzn/XPYRZw1BxRoGq
dU0fjgX3G8QZaTVEIxPimo7WfXA/0tCp6GsOG/Zxnw0ZVWo+dMPcF/CuTaEtx31xIzB6ekguhuxO
QfY+XmGU65LcFYaqMyao4EtCIDnuN6gzEuvZnGkUGrwt7kdyQGJ4rhFLP+6LIbO6k71N7ifwsa2p
VY77yY1C0A8zQ66oPfIa3GcYTsWKm5917sNQecYEFWJF380596FBnjFEJHM2rPWKvwvu8w2tA6i6
ZNjFfTEU+T7wDrkv4NFg1zW/uJFT3j6cG/KqqD/wGtwXGGBLhzP13B+b3cNQg3MN5/zQkjKDgcyp
YrnM/XA/ssaCsevbpYsaC0MqDSbokF+s9jXZQvsiExvy9lpy8Tsjk4AH3TNt5+jk3tr564BVob3h
kYlggC1OI/WRaah8pEClPXVpmZCLTA3ykaAsmVO+UW/jpiITKHLA6IIevSpJhnwsCXvfLPcT+HDq
49yF+0c3wmgfZobAmeuuSgQGN5LusiMZmhDGUFFpVdHFcsH9hiwr0ErMNaqg3hb3taXvQivg0TeQ
yVAwpcqn2+V+Au+x57x/dCM3nfeTIYhr+7bR3GcY2vmSun8994fqRwpULqhvmPcb9CNBA40MuFLz
rLvhvlEydDnF+H7cF0PlBgS3y30Bb5XveQtxdKPo8WFmyFm/SzK+j1dYrUvHxvXcH5p1mKDGULoS
zHG/IesQjCNzNsY3kHkEhhzQAqqMMKFxtASNXbjPhlCXFN1umPsC3oUm7dgc98WNnIEz7pMhp4oC
nK/CfYYBQfVoDQlDsw4FqndF5agc9xuyDsFqMsfqcm+A+9bx0FmXaQndj/tiyHtoL4m+IvcTeHzO
xOnD/eRGZ5rxyRDoK2cfCIxgYxddMRiadShQQcWKMLXgfkPWIdjI5iC+hbM+Rw4ILvrMfr8f98VQ
uM/MoyN4p7ue9Ykb0Q/TeV8MQbj2WR/DiNGGLmd9Q7MOBSrF5ZYbyIasQ3CsjG6LfbyKt3YdpKTO
wCAtpd9C+jO4QAOLpqI90cWB7SGoMwET2amMzeRkdYyKUfSpSgpGNxwVBTxg191Q8ukwzcVOhqIq
iY6/SlREclHaafTIxYah+ZgCVWuo6PO3iIoN+ZjgaTA5ibZO4nJVO+ekYV+pnfOsk4MfwVk1w6WD
7SIUHRuy6OqFLhmqMdyOZPMbi2q70CV4yw7Sqk51W1MHfRfDTTUaBVZbgmBZMkQQhQi+x7lJbMjg
2uJ3BBU8ViSbLfxOt/kdEdz6VoHVaGahYfr92xS0GZOzNAgtgtAuvujoH0UY1YoIY4X6SoJksZRO
koeEL2rmR0iuFySvdMGn/7//+x///D//7f/98h//83/87//6v95fkg83muWHaIvDzbGNYdnBD09P
H2kB8NMff7L26CeOF4+f5YkL61YXNkb0FZ8eedHxam0SBJWjIWkI2hPx7gl5ptyZ2aHX0dzKItoc
a/ZruzM477XdohR0Ds4NobQHY0raapud1W9xVs9VsIUgV3bWEW0MEioKKdtrdOgNbXNWbjG9JVHo
3B/8WGeNUdstDbDPwYXCS+iOFJXbosN7jhReDann6/zQQ2Q5TkWWCe+H3zNLHLsU3bIZ0S3B50yx
YiTn+PHlsfVLHDZnXcVN1PpwdGikN/no0sCAVs9lpy+avtbXavoOlBwGH2gxYkIpPbR2ILFwPHQp
V96u58rnVfkFeIwGWzppENLTg9PqzWCP1RtBwqChx44Et+9IcOmVmPXKcDDatpzoErDTY+vpyuYo
PGwZmZyXdWjCOflovKo3f3laVastByTn33i2sJx/64kLhGXEDtmITbCCDQ0N4AnQ6bFbXMCCsRVn
z+su0KEp7OSj+cAAHII2IZ4lnp6U02kb7z5uV06nTVVRlBACWVVRmUuihODg4GnYWSJ9Ikr4jFRv
1/BNv+pU6fZpjHL61o6R5yK+R9w+nrfEqDwPf7a2KAfiZpPg1NmBuFjyuEmUrF9zzHMcxoAprFEL
qum7G3SWNNPnTTsTVvLTHjnMODaPkaHaqEuZn/VQG9Ku6gVtBaqz2LC2xpaUSzbntWnYw2LYLmgL
kfPerTpndKZdc228DdwdtRxvgbP+o+OQejHe8hBEdR5vj1Bb4q386ku/h5Hxdnd3s5/nsGObBGSu
S7Q0njNqKgmRDAUodVt4hS7RAsPYohpdWTO9FUKNZvp5hznBSs7YrJlOC5zG/kXJNC3m1kNExrTf
Z9qFkgxt2XTYZzrAhuaNM9OwzzSqLr2CcWyiIEOlBRp22QU35DVtmFgZKu2BK478FzNdS06jmLM1
LegX5mLLxOoolmEoHW7eS39PiIGmh2hzoq1ni4RdyUJiCGPpBm5kslBLI9Jz8EY1djjJzNbiRjTA
9my2ZkPaq5XisuGzNcOIfZpG49hkIYZqvW85bWlJFoqRy6bwBsTa979l1FI2Zfxo7oshWu5eKVFw
H/cTeBd7rtSTGzmr3MO5IadA7SqZ7OMVDnwpIamS+2J2JPcZqo9QipYXuX9cFm7lPnopm7LXF23t
8JbJAT2xP1My2ZH7ZCjQzHkl8bad3Gfw5iSO0Yf7yY3gTCpBDFmzdmo8nPtSHIRbEgzy3B8q3pag
ApZyQHPcbxBvi8pIqdFacL4H7kfFh/LkgKPX/MmQ9nc57x/Bx9jUoCnD/eRGnvZBD2eGDHhTOvN5
Be4LjGhUh7RfMjtUHi1BRV0qx8txv0EeLSoazgi6lL55N9zX+mBQ65w8Wj/uiyHjG9Uur8z9BD62
SSRluS9uRDP/w8yQ0/tEW7t4Bb16rJDzrOD+UHm0BDWqzSn/Amw797Unc+BvoEFTh7ccD1Zr7zNS
CR25z4YMNGrLXJv7DJ7+23PNf3QjtOZhZsitqnAM5z7BMLqmKLiC+0Pl0RLUSNuk7dxvkEeLxpA5
wFLa4d1w35ADWo1xOPfFEDnUlaQS9nE/gfe+SSYlx31xo2hBP8wMOSilWb8G9xmGo0DdZd4fmlaU
oGKsuCNecL8hVycaJHPxFpqz7X/LlhzQG+cv5l325L4YsqExYF6Z+wLeKdMkjZjlvrhRnEokJUPe
lNoMvgb3GUYwalPhS5b7Q+XRElTUm5PqBdh27ltO4I6xdBJyP9zn7oAmhpokwH3cZ0PO4F2u+RP4
4JrEQHLcFzdC46fzvhjyMaysjoZzn2BEE0qLtHruD816SlAxbG7OJsC2c99xiT9n97wB7jtyQKRV
//BzfjFE64u7POtL4ON5C7u93E9uFCI+zAwFVUorfQ3uEwxa5cSSh9dzf6g8WoKKsSIRd8H9Bnm0
6BWbg8aOHrfFfRZd0Dwhj+a+GHLFGorb5b6A91Z15T67kVbaTOd9MRT8mnD0aO4zDFMlAFjB/aF5
fQLVKtuy5m/I66PFPpvTa5ewd8H9QA5oncbh874Y8k63DdqVuZ/AQ9+zvuRGPviHmaGAV87tERjO
xtItdjX39dC8PoHqVawQkJpzXzfk9cXg2Fwotam/H+6TA3oXdEb8syP32VBQpR6/N8x9AW/73u+L
G9HE7x5mhiCUpJxehfsEgytde+T26KF5fQIVtG1Y8+uWvD7QZM6aUre1u+E+kAMCajM6p1cMRWX9
Xa75E/jQJvyb435yo3B2xyeGaBV25ft9gRF7CP8Sxcbm9TFU9NCQ16db8vqA5dBpu98oh95D32oC
hiXEwZfW0iUwPaRbZmBiTYLlZTAdpIQmYCJ7hcO3sDWLFCcQT/V940I0GfLi3PcYogW8VtD1Klbc
KKipxHYyZMxa4+PRIVpgoKqoYawI0WPTLxmqpmX/9hQs3ZJ+Gd1BS/POddmIhTb74pUEc5JBr1Lo
eVbjefzwwYM6R2UoVnfoJO65L8BAhWyGak1QpQHMvS+3XSFbzNng9Lp7LMUDo32R6UzigfTTmXjg
/P3+tHy/51h81NqsJzddwOK7Y+H9l11n+AUsYQAWesHry54LWKAzFk/hhP4Xb6CkUr6LtUUtxpKS
f8uUWRayEUSOO2n0iFMN6X1b4hRDjaYipC7ilG+JU+EQlbLP1YMt4rGnZ6Gl984NcOtH+Xxkw3RS
qhF4NXsEXgWv1zVqKRVesT35A5dQsQQ1+JpWXguvgJfHVnuFmAt6U1rMRSlNsh83b4EWvbImH10a
GFDgXo55P3356/unz99evPfTH/96/ExgOBy/Y3/5gT5698fT39/f/f7nl3c/LmPPDz/ODLD82tkS
XKjw8ujTwx4/fvz69O1b3UPNueDE80MTzb48fhWdNwnS/PxqrO6ZzDTIz8/854fHf7Cs7Nf37z98
fSL//UVUZt+/O/4kVn57/PT56eP54yLRo4cXFI4Ipmz/yS8Vy31GsZzxBd4pbu/4IYBODz6215jN
3y0qWglS9LC/zTZtx7bfLeGyuQJmmisIVI+0CNocUgjY6bFbQkoIKmw6fcs4k9GbQ8qiS9zko/EC
zRHDwXDns5q+3PWKv06VFSh5cjfAq4kLCpQx0F9ajDqeKVAeoSqAzQqU6Ve1biwV2KdAubX9089z
2ME15b7kGuB5S6sTFafp7mTHqkhR/5ITxF9dgKcG1Wez7gNWWWcvqT6LD6AHjwsf4NJSr5p8wMb1
LKjBTf4EBppitWpZZbMVQo3K5nmbsYQVden0fYxQ9vaefUvmEPLQVinybG9JHXMAYo4+HyKnVFzr
1VxQyt7Xn3CGBEKpZqWgld2hS2JJLXveOVHQauJ+j/M5M/bKi6Ea7WIXqA1Hv/WingkqLYx7XCSa
sYXCDNV6U3H0VwG14eBj46hyk4LtW1zTcucp5qJrMWe3S6Umcyydud1cS8V2MocV731hzrd8O+D4
HBqnsJvqQxqR62xizAnDmF5do8UQyir+KjeTu7pGH8FbVB0XzcmNtNbTYhExRH/eJQrVxyu46Hq/
ECxRbGyRKEF1yseKzmUL7jcUiaLSZI5C2/WLRHe/ZVSOvktEzBSId+O+GNJqtfT5Jrl/BO+fT466
cD+5kbdTEehkSK9KZQ/mfoIRQxdxCDO0SFSgstx8w6FeQ5EoqsjmXKPGyW1xX5MDGnRqOPfZkFXh
WkWi+7ifwGNbd6ws98WN4jRhPBmijct15/0EA3WfA/2hRaIC1QXfIAplGopEUXsyZ3Qplf5+uE8O
yC3fxnOfDUGxy8oNc1/AO9V43HeZ+8mNwvQWLRmKq/I5w7lPMLihQpc1/9AiUYEajK/oNbfgfkOR
KBrD5kyjnvFtcd+QAwYeu9HcF0NAfn2P3E/go+265k9uRGPyMDOEq21DR3OfYYDHLS11s9y3Q4tE
BSq3qd4uDGMbikTRIJuDNaXeu+C+1QerVaYRb0/uiyGNjcrZV+a+gDfc8LIn99mNWIX3YWbIrha4
jOY+w6CNR5ezPju0SDRBja7iKmrB/YYiUbSehWCLRQ/3w/3IQrDaueHcZ0PGlraQN8x9AQ+mqUA8
x/3kRs7hw8yQxTWtweHcJxiOolKPCiQ79MY8QY2uIVPcNlyYojNkDhyudOS7C+47x02for6ciuVR
u4+z4sMJ5f764+nvL/Tnp4+f//MYC86fHOymdlKbHu1sbF9DNOYJba0fO88SOuKOtrXOXKwt7gq5
eMcGM906iCHaTWzJPetXKXeOA6yzhVmykCO0u1qvlCE0r+ATrFGpUqLADXYNP8KmfXvPwlipwTLW
+Pn40GfX7UOaYFAIbs5nbIWwvWu4YKXoWlEzXzGFDi3iRcfCB5yU2wNqQyZXfXpUgkqu2CM/zg5V
qBeomuJwl1FtyJXYOKoGdUmGOLeGaqjiPppr0fG0bntalpizZT2vnLmGVgHJnHam4duFtm9nvQ4u
08mj3wZODJnYKI105Q2cgLfGNHXvy23g0l4gYpi/DufClQ9vGEbQfZJz7dhkDYEaawSIF3xpSdYg
c4ga1jLp7qHEPH0X+udoVV90LACkbGmFcLPyMUfwEXt27E5Db/T5ki8ctHK6VGfwKqtkgqG1C10W
HmOTNQRqLOoh5rjfkqzhIpkLqtTX8H64z9+FAtlodT8xZJQqabjcMPcFvO26Qz66kbNw7lrGOOOv
27VXYFhdIyxTwf2xyRoM1dnQUAtiW5I1HNIyw76NBG1v6C2H1TaxdxHH5LugiplCEy621V32L2yI
yyfvsRPhEbyzTYUmuTiW3Mjr6Umo5z0N6xZfN44xDK9NxRHBehxzYxNPvDROMxViyvM45loST8Qc
YBit6J0MoVF3maiVwHvfU80gTSHOTrv2iiFQsE8yssuMYAFqpHIr+DI2WYOhxqBLif85vrQka/hA
kSTYkgzb/cyVLCuhbuG7dPBY/i4YVWHBPF4e77c48xSMvpSVXs+hhqSHenk8huqUx4YDe2e2y+Oh
52JgZ30cvkZjQ943Zldce84R8Gi7njEnyqNy89cBq82Jhs85XAzstO/ROc6NveH0KCXV2DDntFxw
BStCLWsVm3cRpwOfnnpVIQ97Qft9kJrlGTraPfpSsssmQWiYot0gCO0wzlC54H2PE1g3VBBaoHqn
G05gXYMgtJhDHXWrOKrzZ+50lGQ9DcLvj58+Hz58O/z1bxrJr5///PPw4fG/fPn659//+e4nmLcU
mHx0aVQQTanugV7605fvv3z469v3Pz/+5ziUZ6CsYgnrHl4VXtxmpkH57qdP335JnmSXeoE2I6Qo
6IxX0OPG0UEW3fNgTkAutTJtRiuTQTrlospUOfVbyIihoNYaPd3mQiaBb2yHlVvIyJyozbQNZjIE
ULqpeo2FDMNw5tT2s+C6SwVVlm575sRRAR32K6gmSJxy3oNNY+/wGKq30FB84Vru8NhcoBlkPQPs
wstalatvelnArRS9KWW63s1yD6wodOU0WvtFSDbkVYC73OoJeK1M07ViLkImNyI3fZgZMqa0x3qN
CCkwaD3UI+3Sjb1WZKghuAaNeNdyrQjcStGHkn703XA/Ki46Djndp37cZ0OgsJQiebvcF/DaQNfV
kbhRUHFaCyaGTLExy2twX2CgrehEt859P/YqjqHGEPx27vuWq7jIrRSDaSxnvjHukwMirc+HX8OL
IW3XZrQb5b6AB9V13k9uFPQZ99mQwVLxwKtwn2FQcOrC/bHXigSVl5MVmU8L7rdcK6K0CvRred53
wX10PHQeMmnE/bgvhiCWUr5ul/sCPmrfVf8huRGG6emxGEK7ppAzmvsMQxM9ehxB+LE14AzVcJ/B
7dxvqQHHSCODqlRQdCfcp/+p5qFTYfB+/2jIFcuBb5X7z+Chq87z0Y2cednvHw0FVju/IvcTDGti
l/2+H3m1m6A6pUv64Tnub7/a5XtQ7u7nGg/2b4z75IDOOjs4reNoiPa398l9Bu9P0b4H95/dKPrw
MDMUVuUEh3OfYHirKkQUK7g/sq9HghqUwu1XD357OwlyAUMj41Fdvzvt/rdM3yV4TQvatvS7FkrN
0u+efn36EM9HNwQFpXzjer8b2Z32CBV0g8aw396dVswBl6yuT3EXrrz8S05BuvKin8pXXs8xa/HR
FJI9aGV9Sbm/mMfh5/2epq+kKQPhiCliRW/zi5lKPfopzsBgqOh8fjltqkO/2HMwWhkoSfH83//4
5//5b//vl//4n//jf//X//X+UsqFoadxFl08BG71+OHp6SPNaD/98Sf3e/3EIevxszxtYdmXbvnI
GZ8eeRZ9rUyaIypHm5Ht/J1c90/4O6XvuR3UBkolR9nstHmTNA942kVXNkk75ac9hSdQc1xElC6h
tkEdYEuoJagmmIbsAg8toZbMOWUqihMycS3m4tru7KUEzpMXNAddLNCmL1J/COi83ZJKn2lzG9TE
gQjvh98zXmWXgjf2suCN4AOukN8eAAjO6bH1XsXmaKu15Rg9NxzbZylYNhKHy43EE1IPp448j18+
JT/4L/TJqZX40TVSh25p9fvtZdk6sIOwwEPaIqkOvbiDyQ/kpbRku56WPPnowrgiWB/XPWC5hCOk
pwenJRz91GEJR5CiBt+jZCxsP+PBpVdiwSsRUbXQ1b48dgtdkf/TI3q5zXR1yzxlN8tTHkqxcNDO
QEnIoDjJBH8+A86/9cQFwjJih2zEJliehV63u4B/eWy9C4SDIX/bpDOXc4Gw3QWWZyAudwZiAhds
G3tRwLm5n7Yt9tOW8bEWg4oX+mkjN0S2LCg37af9jFQHvbWf9vFXfdDt4tEdRV9LNSJnAp1H3OHU
C75F9BUupFJz0UsEwLkbgFlrqbNR9bW2HOYch+dONutbnkrV100lOSuqr9MynYQ1sAhRjxlwpEha
ggpgS72A6qE25INXi0kmqNHVqIkuIvV2Pbdnc7EUGnLm4ma5Ra4H5FWTtZkcyTP5hdp4G1TAlXhr
ySwEuBRvaVkHtJ3XTuN5vE1QafO8Pd7Kr9JvvkK87aeHfITN2ptdVVJEQADAzL3AhVJz2fEqKQkG
0hK+EBWuqYf8W5wNGY/Z+qL6eQf0y38ncy/HObGxPoMrFVkAECqO+zKmcZ9pqyqWrRVxe2Ti/BEq
+FLaUTVUaMjz3TDFMFRtQ0UN0CLmb8/xT+aMihWb97k5UC1TDCuHA95AO9kOESpQoCSfyqQY9FIr
OhoC1diH86rqXs/gnWtSK7o8bx3diGbDaYqBGIqwto8aPm8F1sYvynzUh5qRacVcMkhR0cSKUv4F
97enFXNJJL+0YuOdu+G+Nzx0VuvR3BdDtOu8S+4n8BGbVGOy3Bc38me7XTHEmnrX5T7D0EFVyONX
cH9kWnGCamzx2jzH/e1pxXy3TOaMX5OSuw/uI32XEFSmnKgj99kQxHCltnI7uc/go9Fd533Pp4M0
wA8zO+jWAuRw6hMMG06Vk/uoPzarmKE6a+P2aiJoySoOls2pG1AQ2P+WReiDvC3TkKQf9cWQhWuJ
xe2jvoB32jVVE+Wozw+1IdhzzyKfdKVs3tegPsOgL1vBpwrqj00qZqhG24o0wgX1W5KKA3AViG28
2rot6oPiYiKrh8/6Ysj5kj7X7VI/gY+x64o/uRGcFROJoaBLYmuvwX2GYU0xbb6e+yN7tiWoThWV
NXPc394qjAMGV4EUU3Duh/vAxUQQxnOfDXG9911yn8F7azv2IkpuRF57VkwkhoIvXbe8CveBi4lc
KQO6nvsNTRC3cB+4mMiXGoPluB8auB81jUygkX0D3I+Oh07jcO6LIb7pvkfuJ/AQus77yY3OT/rE
EGdxXZf7DAO0qVAOruD+2PQahhqNKql55LjfkrMSI41MgFIf47vhPitYRNo0De5DdjSkY2Pzgytz
X8Cbzid94kZwfsMnhjjN8rrcZxiorOqR9wAj9UuPUME2ZBbDdv1SMufJnFWlgqb74X7koTul+g3k
PhuKtjEl4trcF/A0R/fkfnIjd1bWJ4bwdLBwNe7HQ1AB+sz7Y3OeGKq2NWLCC+43JBJpZdicvwEB
gd1vWStP3wVO26Vh3E+GIrh7XPMn8Ki63u4f3Qi1eTg3ZJQtSRK8AvcTDNAVC+l17seRYqEJqnU1
qu9z7sftYqFkDsmcxZJO0d1wn/UvLKAbzn0xhLok5ny73E/gfdc1f3IjZ51/ODfkFJSa4LwG9wUG
hE1VzlnuD83qE6jeQcNZX2zI6qN/HaRl+RvY72uNPHQWB/cfPRrio4W75D6DDzp07Nf77EaA9mFm
COzaMfJw7hOM4FyFRFEF94dm9QlU8L6k3pnjfkNWnzb2wHVbJfn0u+G+IQcEF83os75kKBQ16G6X
+wm8U00NAnLcFzfSxky5L4Zowr3uHZ/AiM51yeaPQ9P6BCotJyvaKi2435DWp62ikYFVRce74L61
PHTWXdQZ6Ml9MWR8qdT5drmfwGNbY6Ac95MbBa8fZoacXkt+HM19ggFKqwrV/QruD83rS1CjLjWb
y3G/Ia9PWy91HdCoRthDOGYGxnlYb4xyGUwH0akJmCCFphWdIi+D6aCnMgED5BU2NCYR31aIdoq+
C4AZvjUTQxEbm19cOUQLeJyVpe0O0exGTuHkKlYMaVXsTfwaIVpgRLVJzSobooemXwpU42v6Ji9C
dEP6pXbmEBWEkp5iffNojaei903No92vH5+cmqGieb1UC1L/vhpS5urFORkqWtYMqBZWeFG1o19a
6cU5H/CflgM+x2Jq2pRdwIIDsFhXkf2w8OOwXbRUO0e0CWot1/M+5jD6Lg59SaujpEveMjWUhUsE
kYeguhxrDxXLFajBxgax3Ngglqsdt/wObouC5PloxGnArBHhNHtEOAWvBed7FCLE7YkJuISKJajO
10zaizeJL4/d9CY94KZeTxm5Q1Sbl+cL5fLJR5cGJphpEu2nL399//T524s87ac//vX4mcBwxH7H
/vIDffTuj6e/v7/7/c8v735cxosffpwZsMqcZ+iL1u3Lo08Pe/z48evTt291DzX+4kOTju6Xx6+i
xSWBlZ9fjfXUfJYG+fmZ//zw+A+W/vz6/v2Hr0/kv7+IEuj7d8efxMpvj58+P308fxxYVWrNWO0F
hR3jlO0/+aWqtM+oSjM+p7jrXsMUT4BOD05TvN/f+jtBYom1HiEFt9974LI9AmbaIwhU8paKUox5
SCFgp8duCSnO8ol1B2eym0PKojPD5KPxIrr85T36+CxYPJHRNrUy2qdnsSwEvTeo6cq8QeHVlBUH
JRjogOGC4CAfoxsOkmd6gwyUP7Sb5QbTVwTbqHqzT25wayebn+ewI3TsBntsMhSsnl70kCH6ow0X
XSB61O5jg8ZvhQdo+jO4jAtoZaOHhQ/IH32TE2iKpfu0qXY3RkowYjGZpqyp2AqhQlNx1jJJsPpy
X4Exssjbm5MsqUPII7Q2VBR7S+5IvxU1LYhIlkCv3b8XhJH3dWI5RxKsL0nUFaSRO/SDKYojz3rE
CFpQBrqsbMbe7AhUMF1OOLHhhLNeuVKgRosVt0IVUIfWwwpU2hF22S1jw7nHxlFFCG79HHKxtG25
2hNz0TbogqHfrgeazCG/7s3mGgqTj+ZiSTUiZw5avh1QfDbYWNJ7U00VtUdaO8xbhQ5oqJoMhVW1
/5tsqHoEH1TPhqrJjawNZ1MYG4JYalL4KitKguFd7FILiUNrIQVq0FjR/GXB/YZaSDLF5nRpirkb
7gdHv+iNzsie9eO+GAruPrmfwJ+40If7yY18mNZEiKGoSko+r8F9hgEOK25kKrg/tBZSoEZTbD2f
435LLSQNp45E/evXQe9/y0AOGH1QNUd0u7gvhkIs3Y7eLvcFPGhsyovOcj+K1yr3MDMUXSkt4TW4
zzDQuwpCrXKfPGgo9wkqMT9U9N6ecV+rllpI8GxO3UBedIe3TL+kwkk6ZiD32RCY0jbwhrkv4GnV
0pP7yY1ow/UwMxRjSWP4VbhPv0R7koo9ewX3x9ZCMlRjUG1ONWBg27kfDZtzpVTku+F+JAc0wcXh
a34xBLFUs3a73BfwUYeu835yoxinGghiCF288n6fYdjgSuK09dwfWwvJUB1YvbkeioE1cB/JHM1g
1+9usv8tI63urMPsWR85Z59kezHE29t75H4C71WTBkKW++xG1k77nyZDAGtXoaO5zzCcCxWH5xXc
H1sLyVBp9i+RMcf9llpI9GzOrIlT3Qf3I99e01QznPtsKPi1Ct8b5b6Aj7HrvJ/cKEz1TpOhqNdW
R8O5H/kEWPVIFNdq7I05QwWj7OZCGwa2mfu0SSNzZPANcN8ockDw4DJFdt24nwyRo19J+2gX9xN4
sLbnvJ/cyGhrH2aGol9bUg7mvsCI3usOKShaDS2yE6howvbiJAbWwH1kc6aUB3w33Nf0K8gS3qO5
L4bA3eV+/wgeQs87vqMbBTNpa5YMYVF84DW4TzCIVNjnnH9oTpdA1abhfp+Bbee+DmyuGGruh/vx
oBTn9LepFgypdZugoy2xDiGnxtoxMrEhiNcq/d8ZmRh8NLrnjiQ5uSXfmL8OdPtK/zv4LHIrSF26
Z6uPTEM7MCSoNOM17EgaOjAYY9ncm7iBNFyNQwOXzTzqxn0xZOy1VNn2cT+Bp8jVk/vJjZyfcl8M
Ob2mWzma+wyDlQi6nEYMzTpMUGOxh2+O+w1ZhxQRyRzLGL4B7ltywKBPB4TjuC+GDJQKF26X+wKe
BqNn9sHRjchtH2aG3GqEHM19hgFGVRCqgvtDsw4TVDQVNd0L7jdkHVKwJnNk7y2cRDpywKizKuz9
uC+GrI73eAtxBD+LkLu5z24UrZ1kHCdDLpbanrwG9xkGasAe3NdDsw4T1BgrhGPn3NcNWYe0KGNz
di0t9D64DwereOk5nPtsyIZG+eprc1/AY9fMo6MbwbTLejLk9T4V9j5eoY0qHTvUc39o1mGCirbU
DiXH/YasQ9oJkbkYS0mOd8N97w4sdJfruNiP+2LIr2oM3yb3E/jgunJf3AhpZf0wMwS2pNf4Gtxn
GCz91kGFncUSRnKfoXqKUturDXRD1qHx8WCdNe4t7PcDOaADqzKdlvtxXwxF39iu6srcT+BjbOq6
luW+uBGcrfnZEEv2XHneFxgBSyWh9dwfmnUoUIPTpYy2HPcbsg5N8KxJhaVbu/vhPuumW6zosXPx
BrKHitoMjPOlXPsimA4qkRMwRE3QJx3EgVGRDRlc67J4o1GRwdNSpWtehhDM2ejnr8P5tcX28KhI
MCJARaOniqg4NB9ToKI7yWFtiYot+ZhgyJzRJeHeu4mK9F0c9+8uULIkGN1CqZkq22+/qhDPR9dJ
M7QefteQC1gvGC1QKZ5VKL4u/M5vF4ymXdIh0iolFPwuK7g/1z+zUZnnlIRK/bNnrTMffsPf1Dku
VMFUdCSpeGNDJfcFqq5qK7N4Yw3S8jQkB7DRVjTNWVNx1Rom3/zfj98//J4ZDrtU/rIZ5S/B53VN
VtZiOODlsZuGI1hdcWq1Phxx8wpo0VNn8tGFgYm0yn4uvGpRoB0okMvwkNblpTLt6oHE/EBeyquz
63l1eQ15AY6sN7EKfKFBzUhPD04a1PRTWYP6edm1+GgOCYuKpdXRy2y/8cGlV2LWK2nXoME00JWA
nR5bT1c2F2vKXFa9zGxvgbXoxzX5aLwGNX95Hbi8v/7Ln3/jmbro/FtPXCAsI3bIRmwW6/Sxokv0
wgXMy2O3uICOLpR2bNUusH0DvWg8NvloPjAxHBxfIF8sLIq/ugBPDSLPUBZ55vFxxsZgLog8G8/q
9tpEcyby/IxUb1f6Tr+KsVH9YYdi8dZ+Ted6xYKbrxJbe7mLtUUxozO0nPDG4MwNrC626lvRK97T
mmqGI7pSqUBBrXh3e6ySVvG8ZZZgdb64n62fAcfu9BmqByx1N62HOlSrWKAGFypOlReRuuVQQsx5
WyE4vTDXoKpLQYjrOYzKZE+dNUvcEG/dSryNkd5/tJeibQBax/kY7Hm0JaDcd3d7rOVvqJXD9iuc
12vR+PMMtj41Te7TnzG1SKM5dOYBNKmvNRoe3J8xwUCaXSoDbTcIFQ0HZr3QBKsJfUrczdhSN4Zq
DZZSceuhDpUvT1AxVGzgFpGvpSqPzTllGw6bTYPAt0Ekn6H1zPVTb3Zz1SpNXOW7jYpJY89FUzLk
Wu8tr9thN4H31jZdNGUiOLuRCRonPdCTneDX5KMHB3CBYazrknljhlbaCFROVGygfkOlDW2Y2Jwy
19f76vCWudmT07nMm47UZ0OeTN0l9QV8aNP4zVCf3cgqN028SXYClspGXoX6BIN2yRVVqxXUH1po
I1C5v/D2qz7TUGhjtWJzLlw/2X7/W9YUxrxzULNV3EV9MeShJMd4u9QX8EGF2JP65EasnWAeZnaA
1gPXpT7DCM6UwnQ19e3QOhuBCto23PLbhjobq4HMKVwrgL4L6hsKY+DQDF/wi6GgSxftt0v9BN5r
05X6cCCnddMFv9iB0/brWtRnGNH5UgSqp/7QMhuBijpWNPZeUL+hzMYax+acun5iWYe3TGEMvX3e
1g2kPhsKxVTaG6a+gMc2ob8c9cmN2GnDw8xO1KVDq1ehPhy0Et2JDtQfWmUjULXRpQY7Oeo3VNlY
q7lbMNyAqsb+t2wd/YqfacWMoL4YAmWuVFm/j/oJvAXdk/riRkZPVTWSoRjUytpoNPcZhvFFMeZ6
7g+tshGo1oSKhNYF9xuqbKyNbM6UVM/vhvtOFOuNzej79uO+GAK31qHuNrmfwEfTdcWf3CiY6W5f
DKEqyVm8BvcZhqMI1CPDxA7NMBGovOfffsZvG9I2rGNBdhNKWkP3w31RrA/nR1hDuM+GAK+lqrGT
+yK3b9pUNXLcFzeyCuzDzBC6Ul/3V+E+6/oHV9Ekp4L7Q7W9BSpYZ7fnUNkGbW/rDZvj3r/3z30v
ivVcJTOY+2Io2msp6O7jfgIPbQq6Oe4nN/LTHp7JEGKpidZrcJ9hxACxR22FHZrwJFDRQsWp5IL7
DVlElluFo20ViLgt7gfDivXeDZ/3xVAsutPtcl/AI88UPbkvboRuut8PLKivbKlp9mtwX2CADl2O
+YeqZwtU7bRrOOZvUM+2QSTPi0ns98N90YRXavi8L4aweGF8w9wX8B677vfFjZw9u91nQ0bFfYo6
fbzCAJgu5/xjc/oYqnXQoKZlW3L6gCXPlVPXV9Dd/5Yh8NC5XA/PftwXQ75YSnO73BfwL0n/fbif
3Ajj9HpfDIHZ18Ozj1eQU5QuZeq5PzapD0Tk35TkrHPcb0nqiyx5rqJ/C/N+JAekFf/4pD4xFHRj
wLwy9xN457sm9YkbaROm3BdDENa0RkdzP4qAf/GqsZr7bmxWH0Ol3UlDVp9ryeqLLHmubekG5G64
j+SAQCunTNeMftwXQyGsacLfJvcTePQ9y3iObgR6mswvhqKO1y3EFBjRYUUBcgX3x6b1MVQ0uuRX
Oe63pPWhk54Ca4ex98F9zyqaMa6HzUvClV1kmyZgWEUzqtJdQAlMD0WSORiouDi+DKaDQs4EDMUJ
9OCHb83EUMAdVfLXDNEMHk4q+n1CtLDdaGfmr4MW/ldOv0TuGqCxtAGpD9Fj0y8xNTio6Ai9CNEN
6ZdOsTL9S2view7RTtlDtIilq6WSpGcLpcq6B4LIBYg90n9cQ+pfvUCkQPXWltLKcn5ntwtEOuUP
yCdohZVIVtJz/o5Yhur5vKRKJOhZEOhX8+ujVzNUnibWHjoVriFda8v7Yqics7H9fbmW9xUOPlhT
ihNFVTjnpy+oUx/jvN6i4AVX0x+u4k1uv4DHJVQsQY00QA2L8vDy2E1vkhMkOijbOdi8dFuosU8+
ujAwQbkwaQj/6ctf3z99/vaiRPrpj389fiYwHB7esb/8QB+9++Pp7+/vfv/zy7sfl/H9hx/nBmZV
eknW9OXRp4c9fvz49enbt6qHej3b/h4fmiRTvzx+FeklmQj5+bVYvXu+RadBfn7mPz88/oNVHr++
f//h6xP57y8i+vj+3fEnsfLb46fPTx/PH6dd3CR9lvOCwtZmyvaffFy++1h4947W8euReKmXSoBO
D056qfRTWS/1eU27+GgGyfuAXRaR28/3cd5UYfLRpdHjyt3teqkE7PTYLSElRF9Unal1Jr+9wcOi
28Tko/F6qfzluWXM85qhRTH59CzNYguGiHl593rWkGKDuJwpi8vxV3CAzl9Ql7Msr6esd2ficgyU
+zH5zepy6StafxV1ua2i/T/PYL905+7TBCP1U/B+ksDIhqSY4bKcq0ftPo7xAM39dCHjAtooBXrh
A4TUe9PkBFwnV1LDfoVOHwIj9cJY3YRcltBrhVAhoTfrDiFYQUPp2maMAu72BgpL6mjgFKY26iR7
S+5wTwjn42KMLKyVkRc0cPd1izhHEpUuKVgVVHA79Kwo6eDO+1gktKFYg1u9svFDbzAYqlHG6h6X
Lb7hJK9enjFBRVexQ6+AOrTuU6DqoEOPpa1vOPfYOKq0DKrIrJ8vbX3DFVYyZ4PeflvuzXbRy2TO
Wbv9LMA3FOAmc9LTZLM51/LtgGIa6rUE7XvoH+WMleITixVL9T0XTcmQg0ZFtOv2jkvgXxysy7L5
6Eb+bHkkhoJd21aMXlEyjGj7dITyQ2v+BCoqW6qSzHG/oebPGa6IwhCuL+fb4S1HLj4JMLpvZDLk
4l120k7gvWm7ZM5xn90IlZoKsidD5Je7av66eIVR1lck1VZwf2jNn0DVChrkvXxDzZ+zXGakdMnc
3XDfeimZ0hl5r37cF0Peluozbpf7CXxo63uT435yowBT7ouhgKUF82twn2EYiCU1i3ruD635E6iW
vtz2uwHfUPPnrJQZ+UY3vjHu4wGU9xVh8/IluH++KXulS3DGS6vi0pqr3isbbqw2XIIzVAPYcGPl
seESnM3ZYDf1PszcWIUOLckLl+CM1Gk7OT3tfAmeDAR/fjy78xJcHkqrIbz00PZL8PRY+3ysuvcS
nB/naYG95dwz5wWFLNbmS3DGh1FVpI8tL8EJ0IhLcIIUlT/pdu4KKWH7+euWS3CGaqwqlQdkQgoB
234JnszFijTodWfanp995UtwR0szG4MdviNmQ45c8kpVcftWxQn8TBp496pYFlg0cz7MDGnYVw2/
f70kMPiWrkewGKp+J1BpkVpRuL8IFg3qd85xAa7DNYmyu1gVO3JAjwozJRcduc+tnFQwVyq52Ml9
AY+hZwJJciPvplVxyZDR+9Tv+nhFQF3q5lDP/bEn4QwVgq4IUwvut5yEey7AJatth7q3xX1PDgi0
gM6o3vbjPhuilXBpKXy73BfwNBaNGTCXuZ/cKNpp8pgYoin3ynlVAgNt6cqynvtjT8IZKgZnt6cT
hJaT8MAFuD6u1cPdBfcDOSDiiZJz7pMbcr/2DtwP3MdNq2uVWu7jfgLvbNc1v7hRMME+zAwZKGm5
vQb3GYZWqpTjUc/9sSfhAhVMxfHPgvstJ+GBKzuDbRRxvC3ugzpYowxm5v1+3BdDunjkfrvcT+Cj
w67cFzei8X2YGbK61E/yNbgvMBCxRx5pGKp+J1AtqAbV29CgfufAkblQFNu7H+6TAzoFYfi8L4Zo
J3uXZ30JvHdNqrc57osbgXZn3GdDNpZaS70K9wmGp2m/hwJWGKp+l6BGU2qcluN+g/qdAzwo5TWs
bzEu6qMMqZx+QRc1DQboxo7xtxWZItEjaD1+VSKGTKuY6ZUjUwIPfW8hkhvRfx9mhizClVclDAMU
bKpOzUUmGKrNl6BCbOjDAQ3afEQHNtd6oH5b3EdywMh/Hs19MWRiYwODK3NfwFsdu55EihtFpacn
kWLIu2vfQDIMZGHwHtwfW9kmULF4LZDjfkthE3oyF1Vj4+gb4348OGXU+B2JGLLmWr33dnJfwAfd
dUeS3Mj58DAz5KK98rzPMLQ+dWfZx/2hom8JavQNmrzQIPrmlRFz6g1kH3jlDyzzpDKZR924nwzZ
YmuHm+V+Au8U9KzFSW6EyqqHmSFv1zoTD+a+wLBGux61ODC09lqgOusqlNUW3G8o+fUKaWQilrYY
d8N9bQ4sS1Jq/FA6WRmSjn+GzjmDuZzIfpFJDJW7ON1uZErgaSy6RiZ2crTWzF+HhzVN9dGRiWF4
47rkRMLQnMgEleust0emhpxIrwObo53kW4hM5IDBOpvpEtKR+2yI/nulTgE7uS/gMfbMiTy6EcQz
7rOhYEo1b6/CfYIBBiu0nSu4PzQnMkFFLO3hctxvyIn0xrK5+BZOIr1hPXxnSkdfxVVJBwXEOZhY
oexz+fKpg8LrGRgX+ZR2dFQUQ7S/vccz2iN4C029knNRkQkWldF2/jqCjytbgdFRkWGgDV2yRmBo
tihDpa9Wo+e+iIoN2aLeKjZnGhMgbisqWnPwWutS4WBJnL+FUjNFxadfnz7Ehxmi2OluoCFTsV7s
XaAaCo4N94KwXezdW3uIwalQOJLIivPPtQtp+6CflyqV2oXPOoXwFMyvaoYLdKc31pBftuWNuYOm
AWxopwCx5Y2x8mWMJb3J2uJTwMk3//fj9w+/Z4bDLlX7bEa1T/BhpB359uHAl8duGg7EbclImeGI
25dji8ZNk4/G1+Lyl7e0/Hw+4ZsIUsetgtT8LOdgW0/T3EAWKuQvnbXZPdIXAhyMKUn7ZkvnCenp
wal0nn4ql84/L7sWH80hYZ/e0LGhdH7plZgRnRCoGLAi0M7pGs3LY7fQ1SEE06ElRWxobTbvJjb5
6HXoGlg1bMPy9/wbu/PZdf6tJy4QlhE7FCI2929t6ENFgE6P3eICwVOo6SDFEf12F1juAVxuD+A1
hVc8VSPNBNp/dQGetgu0oy4LtHunOfMXWIN9IdDujeYmuNrFM4H2Z6RGbRZol1/1ysSaTqf13zKs
yNCnb8n5SblvGSHMWhE8Q9Wu8VuCLrVRHKOpvrWD1bmi+hG3b1NXe7a2SOWQllzWTAtKk6VYPLFc
UVTf06zrHMdKj9WCnvruhmElNfV5EzHBij42Kp3u63CxtYfdbIiR/th0GJ/pCXlsL+jPDuPFUIS1
5OnBPSEZBm1xbWmNU27+0AqhovnDrI+gYNWmT3FFHHtEJlCJqD1aHsaGU5V6KXmBSoNacVBfAXVo
uZpAtVZjj1vj2FBds3FULTnAdtmt2HJGyuacctiwVYHtEvbJnK4R+F6Ya6gbPJqr6S2+MIct385Q
TMRTiugVD5w7xHcuu6I/Nral7iHrOAdT8x4vg+kgCPcCJnDeHi33MolJLYt7p2l6GrC4F6i0Wtje
aCz9qrelFMCbbdB9BB+wqUYrsxgTdtPAWZz7QkB13QbdAsOgreDH+vyGQ2u0BCrnlW+/A8SGGi0f
HE2nnLH5BkJyAE51RZfRTj8LPLvu/8UQ66PcJfcFfFBNdRo57ic3iuqM+2wIotmlFtXHK7zDisKn
Cu4PrdESqMF43cD9hhotD5pT2ZS9vmrE/rcMji9kVK42ux/3xZArtl27Xe4n8BC7cj+5kTub98VQ
UPtUI/p4RbQ+9rgTw6E1WgIVla8Q019wv6VGCyKZ061T2G1xP5IDore5Gq1+3BdDwa91A7lN7ifw
Mz293dwXNwp+yn0xREuBXbXZXbzCa21LZSv13B9boyVQUfvtKpHYUqMV/YE15kpbjPvhfjgo4DZg
w7lPhqKy/j65L+ADNlVB5bgvbgTahYczQzrykcqVuc8JWipuyivKcn9sFZRAhVhSsclxv6UKChV3
zTvVxNw195FbTOKsvmcE98mQUdqUuvTeLvcTeB+6zvviRsGeXbyKIQOwqza7i1fQPhArWipXcH9s
FRRD5e5yDfv9liooBDbnS83N74X7tLU8GKOyFZDduJ8M6bAjied63E/gjTrfGe3mvrgRTmt9kiFL
A3VV7icY2Omsb2gig0C1oSVlHRvusYNybC6GN7DmDwq4z1H0cTj32ZBRjYula3NfwM96Z+zkfnIj
oCDwMDNkw5pi3XDuEwyvHHaZ94cqwyeo4Bp0GLFBGT5oyd81pZSZu+G+JgcM2qpMN6h+3BdDLK97
j9xP4GNsUobPcT+5UcD4MDPk9D7Vkz5eAS70mfeHptoJ1KhDQ290bMjwCjqyObDXVz3Z/5YlicfD
+DW/GAp4l/f7CTzYrvf7yY2MnioeJUPRl06tX4P7DINvf7rM+0OV4RmqVaY4YjnuNyjD0+zF5m5B
e73DW470XYKOGf3ljtxnQ+AaD0muzX0BD13P+o5udKa9ngzFYsLpq3CfYGgfKxJmVrlv1NC8PoFq
DJTujy5z36iGvL5gDZsLb+Ksz5IDmhD08HlfDEEsdey6Xe4L+Khjk65PjvviRvZMez0ZQrcm7zua
+wyDu2R0uN9n5baR3GeozpqKJcqC+w15fcEim1ONR9a3xX1HDujg1O9vHPfFUDSlEqjb5X4CH2zX
s77kRmfa68kQRn/d3B6B4QPoLtwfmtcnUGkoK5RCFtxvyOsLLrA5dwOaXh3eMjlgADf8fj8ZirCW
qX6j3GfwqNo6v+e4n9wo4vSOjw2BMmvbyeHcx9TEqMN+36iheX0MlYIllNox57jfkNcXvOXuO1hq
Nn033Kfv4i2e9GHGcZ8NORXcXXI/gceu+fzJjZy1cO5aNER2LQNqNPcZhlfoO+TzGzU0ry9BBSw1
QMpxvyGvL3gW4sXT7m9rBXAPUaM5mBq5wMtgOohsnYPRRPBGveQeAn0TMEBeEYoSk3cTooM60P9z
CvrgEC2GtDN3uTVL4CF03ZolNwpqujwTQwbjlbdmAoP18XuE6KHplwIVQqyoDluE6Ib0yxDcgf5d
zCLOyt7OX4kDe964t1b0Fj+Cm3ZUSqhQlbJ2699XQ8pcvegtQw1axe1N1RnYZtFbMQcmwFtIm6Hv
AtqYUoJESR67JQTONKd+8z7GhxmicvFxvd8NlcdmqNHQvrdhKdcgjx1COABaWxIwKyl28uKif9+p
vBYu443KRtNBXMOo7RfwuISKJaia9uWbk24Z2OmxW95kNBYrOhytqY4a3UEvaPLRpYERgZzTKuXT
l7++f/r87UXS+dMf/3r8TGB4WnrH/vIDffTuj6e/v7/7/c8v735cxosffpwZQKXPM9JEH/rl0aeH
PX78+PXp27e6hxpnLj00aU9/efwq+j0SWPn51Vj985EtDfLzM//54fEfrMD79f37D1+fyH9/EUHe
9++OP4mV3x4/fX76eP44G+MmHbicFxRErqds/4l2yIt3Hwvv3sea26mFljUDOj04aVnTT2Ut6+c1
7eKjGSRazFZ03lsPKbpBy3oubjX56NLoobGlDMhMSNHm5bGbQgpa1UEx3egOql+Tj8ZrWYcAnADo
n6+59kjP08L/4C1FpJqG7vUSxHpFgpjfnzfRuEsqZXzqzmtVNGcqZUeo0W5XKUu/SsGnvYLh9doU
/TyD7WybWGyuR1FqdxPO7jTIEJ/GXJaNiR61+7hdh7rGCYIOGkPGCYKKnqW4Z07ASO12tW35VQvo
VzYygxsxCQznValhdlkRtxVChSLurHmPYPVko70bc6N09/b+NkvqyNzSJO33bG/JHUsLZ9oBqfkY
2bCWMVEQ797XzOccSVCmtAMpyHd3aClUEvCetxlKaEOf/ZIee4nBUMHGkuBNPdSGw7x6XWCBGlXo
kQbOR3SjRzWCq5B6qoA6VMNaoKJzsD17RbfcYok56fG52ZzfrkeczAVdUifNmWupwU3mWs6bdYOW
dACg+RbdWn3GPbT3I7rwXONzmsItq3WnubN7/9V6guoibF+oya+6VcXMm+wrmsCzrlTHNfvRh+O0
AUYyFNxaSdvo5SzDoMmxRycCo8fWHDJUmm9azihaag4jsjmj3kLgQf4utBu72I6pLfB4q2kr1j/w
HKEqsz3wyK9ivMs27wI+Kt1W7JwLPMmHPU6EDZMh7UqXaK8ReARGdCXl+frAM7bgkaGi97j95kw3
FDyCsmxOlfon30vgAcWLRVSxJvDsya5hQ6CUaVSAvy73j+CDbRI4ynD/6EYOwsPMkN5Z+NDFK0DF
oHpcjJihBY8ClSY6v73oyTQUPIJWbM7r62fW7X/LWh+ipommZrezi/tiyITGLeKVuZ/AY1ubwhz3
kxvhtOAxGXI7Cx77eIXRtqJlagX3hxY8JqiR9sDbud9Q8EgvjMxBLJ393Q/344GbGOWamHTkPhuy
am1Gu1HuC3iLTcXOWe6zG0UzzURIhtxqechw7hMMZ6CHoLExQwseE1SMtoH7DQWPYAyZI/Zfv9h5
/1s25IA0DLm2yP24L4aswysJHO3jfgJ/KgDsw/3kRiHAw8yQV/7K8z7DCLoo3VnP/aEFjwIVTGy4
vzENBY9gkEYmQqMu921x3xoeulOEH8d9MdRcJXpl7gt4mgj7cp/dCPW0eVky5Fcj5GjuM4xoLPS4
1TZDcwUSVLQNV8Wm4aoYbCBznrZDb4H73L7VF7VHCiWKYxL+z9DRi9Uu01qtY2QiQ6jsWp7ajUYm
AY+6qcVKLjIlJw/TtKtkyBQbhL5KZGIY9IW7rEqG1vkxVGTtwO15F6ahzg+cJXPeNyoJ3VZkcoG+
C3rMSK/x1aLuwn02pFUspeLcLvcFvNau62lEciOcFs0lQ8aGXXLLfbxC0zfucQNphubaCVQT1Pb2
SgxsO/e9InNGvYkdibdp6DLyS/24L4Zo23ilNgv7uJ/AB9Mz++DoRu5sRyKGYlwTpB/NfYZhPXap
2zVD2ywIVGeLTWhz3G9oswAeyJxxb+IkMpADuuBiRnaxH/fFEIRS147b5b6A59rnrtwXN4pnJ5Fi
iIPxdbnPMLhz0foWv4L7Q1MeBSr9CRu435DyCMGJuVLN/v1wnxyQJVwymUcduc+Gol4TEb9R7gv4
gK11Vhe5L25k7VTXJxlCXEsKH859gkH/6NFKnQu1hnKfoEYLFUcTC+63ZB2CZnPFRtN3w30gB4xg
c3UW/bgvhqIPd8n9BB7PBen3cj+5ETjzcG4I1eoh92juC4wQSx3eqrlvx2Ydgj/Q+sRXKEPPuW9b
sg4h0sgg3EA75f1vORoaOhvd8LM+MeRVY//5K3M/ge+ceQR4oP/Vw8xKCKXGJq9BfIahre3RU9HY
sSmHDNUo16C1bFtSDiNLnIaadi4Xr+x6aK/MwICryAq/DKaDttQ5GP1yXXjfIRHJqZzRmavPjiGR
DXna9t9lSBTwAF23QuRGGoObnoCKnYBrfUyHB0WCYS1UqBtXBMWxuZgM1aliYnQuKLbkYqJlc6GU
/nU31OfvQmuhkn53STGzhVFlTRpBhC+3jPv8riEPsF4xM0GFUEGRhd/Z7YqZgO5gI0Kpn3JWWXeu
/hJoDbxR/eVZ6eXxwwcPaoYLgy01Yqp/Yw3ZW1vemDs4xe20tr8x1/LGwsF4+d36kcnI2NmpdP2/
H79/+D0zHHape2IzuieCD7xtcWD/8thNwwFBVWjUrw9H2LyYW+jVTz66MDDW2lMt1ESCz9RK8A1U
CGR4DlzYlJWUG0jID+SlnDq7R0SXgXttihX4WRFOQnp6cBLhpJ/KIpzPq67FRzNIRgXT5dRn+20P
Lr0SC17pbdSlwu8cXePLY7fQlczFisuldS/DzXRd9LqYfDRehJO/PGjj4obQffaNnTqfXeffeuIC
YRmxQyFigzHYUG5MgE6P3eICYLXXW5TRMi7gCqK+tb1XJh/NBoYW/wdk5eWaNh39NC55gNA4Z80F
BRMATiALHs4VTBLUiM5uVjCRX7XKXkXodKs6/s9z2LGthjnXHUQaF1gFZuYF1qi1HiqDu4MkGDGW
cmTKGqCtECo0QGcdCgSr88722G+5oft8gerBxx46ja5ha1ivKChQg2tJxnYNRxLJnNcN1ajObtfc
i4qTd3R4C/2dokLiqg02kwfSrb9TMuSK14s3298pgfd9224nNzJqmgeSDIXiXcyrRHDkpEq9ZfmX
DzVDK9IEqle6IQfMNVSkRa05SS+Wzufuhvva0dA5FYZzXwx5U5q5bpf7CXwwPVvviht5RRvTh5mh
EPepUPTximChS1sON7TmS6CCihWpqgvuN9R8RR3lBNpc7iPwqwvw1LDHsuU9VlRs1atwqY8ARPpL
CLQjOt9jJaTB4/Y9Fv8qalXaYo8Rxd/a/W62yUq4fWsLxmTt0i5LI/pznrIlE0rVRiuS+Hsa/c1w
0OKtEFULgvi7mw2W5PDnDQgZq1M+dpG1ckOLyQSqNlBSHq6HOlS4PUGlrfb2Tmeuoe5NzNF6tWVX
1yBtzuYwBFP6dnez1DKauOqMzaTc9ltqiSHvwpVKbfYttRL4qJrK7LJLLXGjAJMkk2QIzFomzuil
FsFwymKfbdbQUhuBqh00dDp3DaU20Xgyp8INpNx2eMscpV0Y3kI7GfK4Jl19o9xn8MH0PWIRN9Iq
6oeZIXDXPmJhGBZMSZW1nvtDS20EqnPWN3C/odQmWkPmrC6lZdwN9y05oAMNcTT3xVB0pX5Tt8v9
BL4xtzTH/eRG3kwvyMQQ4tqScjT3GQbtVCuUc9e574eW2gjUYEPczn3fUGoTLbI5X1pm3A33HTlg
mItGjOC+GIqxVBVxu9wX8Gh013k/uRH6ibi/GALl1iQRR3NfYIAuNcis5/7QahuBGp1qEPj2DdU2
0QUx16gOdWPcJweMcFImGMh9NoSmlBV9w9wX8D52nfeTG1l0D+eGUKtSItercJ9hAJZqIuu5PzbZ
hKB65TCu3wItuN+SweEtm1tt93YX3PeBvkt0bjj3xRCGUuOl2+U+g9dK2aby+hz3kxtFO02pEEPa
lDppvQb3BQay/H0H7g8V+BaoBrGiD8GC+w0C3zGoA58S3kBDr/1vOVhu6RfH7/fZkFWnDuD3xf0E
3oWmhl457osbeQP+YWZIF3evr8F9gUELky7z/th0Kobq+N57O/db0qkCsDlbUvK4G+4DOaBDO36/
z4a88nAlCe193E/gUXe940tuBHp61ieGjF5LOB3NfYERY4WGRAX3x6ZTMdTgi/LMOe63pFOBY3Pg
38KaH8gBA576IA7kPhkCVZQ8vGHuM3htnerJfXGjoP10zS+GDO6T1OrjFYAQupz1jc16YqgxxIb7
fd+SShQ1m9ONirC3xf1IDojKqOFrfjGk3bUktfZxP4EH7LrmT27kccp9MURboyvP+wIDoaJTTgX3
h0poM9TAgi4N3G+Q0I4xsrlQqta6G+6jPgQ9b009gvtiSBebrt0u9wW8MX3X/OJGoM7O+sSQdSXd
+tfgPsOgnUeXEgo/Nq9PoEZXyhnLcb8lrw89mQPVqAZ9Y9wnB7RaxYyUZkfusyFj7/OsL4EPwffk
fnIjd3bWJ4ZsXCsyG859gsE1dT0qHfzYvD6BSvvv9Q4/C+435PXRElnMlaRm7oX7qMgBvfZq9Flf
MmTgWu3ydnE/gacQ2fOO7+hGtJV4mBlyvqTi8ArcFxi00MEea/4wNK8vQY2mQopqzv3QkNeHCtmc
hjdQy4OaHBCCUqPP+pIhMHeZz38EH7re8R3dyMfJvJ8M0W7guvf7AiP6oNYX0hXcH5rXJ1D539tV
tEJDXh9qFq7miL1q7qJwdQ/lrBkY7yqkYi6C6aHkNgPz0nxvM5gOKpBnYEKMFq/f2awDGZE93A2/
ik2GbPG6/IZDNIN3NBg9Q3RyI4jT5ZkY8mZt5T88ROMBuHVfjzSMMDT9UqAGLoTYHqIb0i/RWBqZ
8iX13XCfvwvLUhfecknTu4VSM425j/Dbb+p8dKOiYNTjODAM1fQWqJrTMrf7XYOmN/3fwVqMJTfP
anrP35G1nN+9QcBioujtMM5QuRAq7kIr3tdQRW+B6p2ukNhevK8GRW804RChLDlSlIUNZy+oRnDZ
CPcaBZcFLypTIXhe8Sa3X8DjEioWoYLH7YdxBOz02C1vkruZlxQQaqVtQ0FDu7azzOSjCwODXNX+
spH89OWv758+f3uRIv/0x78ePxMYDg/v2F9+oI/e/fH09/d3v//55d2Py/j+w48zA0HP5FlF1/zl
0aeHPX78+PXp27e6h3pvLz00aaZ/efwqEkwyEfLzq7HGZ4VXGuTnZ/7zw+M/WOb56/v3H74+kf/+
IqrP798dfxIrvz1++vz08fxxVpmKZca6F8S8F0zZ/pOPy3cfC+8enK+IN0vBdAJ0enASTKefyoLp
z2vaxUczSNEUm3bVh5Tt5/s4bxA1+WgxesAbb2xok0fATo+tDylszseSLlatM8H2ZlWLzlmTj8YL
pvOXt6j8s+ZxS8uE07NsOHiwOqfLeNaQqp+YN3u2D5G2zReE5lDxXyoAfSY0d4SqcLuYd/pVR3NQ
89b59Vph/TyHfdpe9OmDhZY1x3AiU8J2+O7kcpPWyHlgH/sLurMPBBedw4wPBKdA+4UPEFIVTZMP
BADcd2e7uw2UwIjelrRYyoLlrRAqBMtnDaIEK2oMbTcpO/QZt/dQWjIncKVyUybAs70ldbgtVMSo
5mNki52pVhQa9zWMOkMCRLuaBmMXNBo7tK0qqTTOW1kltIE2IR3WNjD2DoOhalssHqiH2nCWV6/S
KFCNcl2UnmBo5WeCCqai+qsCasPJx8ZRtU43aF9CyyVWMle8ZcyZM9u1L5M5jw1XdNBQgpvM8e3P
dnOu5dsBzbcY1np83kMLSbTxADFASXCzeCQGr3wkxngRiqIB9RQfeyRGUKOKoUKJd+GVLUdibE6D
sh3aysHYIzFGaoya5FN3PhJLBsxMkG3nkVh6qJut/3YfiaXHwrPw994jMX6cNTps0WbLecGIIzHG
51WsEGVaHonBmCMxgRRdxdxYEVLGHokxVNoyNHRAhZYjMTYX1bZuvhlnind3JGaRZnl9ulQe1lc9
GbKhVG5xs33Vj+ARmvLkMudJssBCpc9yZMWQd2uda4aftUhqTk0P4vVgEQfvMRkqxlKxSiZYxJYt
htNkjoLT9Wtj9r9l5w6gjPIXW6X05L4YsmatGcdtcj+BD7or98WNorX4MDPk4lpXgNHcZxgUlErC
JfXcH5uAJVBRVXR1X3C/JQHL0a5MR1tqrXE33Peam/TOznlHcF8MEX2uVBuzj/sJPIae90hHN4pq
on2ZDHlTar3zGtxnGLSvqphMK7g/9hRUoKKpaMux4H7L4Zv3ZC7GkjLg/XCfHNDR8ieTeN2R+2zI
KXelPjc7uS/gT9G+D/fFjdBMNbCSIR/Uled9hsE9p3rUxMah+ncJKsaKy5oF9xv07zAYMudbl6+3
xf3geehMyPS56cd9NhRoOXuX834CH23XeT+5UQhT7osho0pC86/BfYYBndrpxaH6dwkq7cAb9vsN
+ncYkMx5UG9h3gd94KQUzOjg9OM+GzIKr6WFsY/7Al7PIuRu7rMbBTXVwEqGjCutYF+D+wIDi32f
67k/VP9OoNoAFWm9C+436N8heDan1l7QfXA/HtAp4zL18B25z4a039Ga+JrcF/CxNfvtMveTG7lp
b8tkyJrSNfarcD9yh3PC1oP7Q/XvEtSoS73Tctxv0L/DaLjPuzfXL7bc/5YjOWBQ/nJL9J7cF0Oa
dpH3yH0BT6uWrvN+ciPU03lfDFm31jZ1NPcZBihXWqTVc3+o/l2CCr5Cmn/B/Qb9O4x44OSr8Ba4
T7+IUSEMP+cXQ8aUdMlvl/sJvHdNPa6y3Gc3AjvVvE6GLJQ8+TW4zzBQQakZYT33h+rfJagQG4rd
Y4v+HQY259VbuOND5Fq/ooZvSblmSB34M7pA/0NCp112VWJM7CH/cjRE3+YOdyTP4E855n0iU3Ly
iGH+Omg1cNVVSYKhdXFxVB2ZcKQ63xFqLLbBzUQm3K7OR+YcmYN4A4rcHd4yHJShscvdQvTjPhuy
qrFt2bW5L+BPK/Qe3Bc30tFY8zCz40KpjeSrUJ9gWO1KORD11B+ZdHiEyv1Lt1N/e9JhoIDIEnSm
os/nxYl8SPXKOTry0htoEbTfB7XjF2t17pi0W2ASQ+jdlTTp9gWmBP6k4t0nMJEbWRdcfDi347Re
W4yPDkwCg5ZLXQLTyIzIBNXT6ml7ZgRuz4gkc5HNFcX67ob6hsKYj2D1aOqzoaDsPVZCPIMP0KQW
nqV+PHhPPH+Y2dERr3pQcoQRa2puK6g/MiEyQQUfK4QzF9TfnhBJ5jyb0/76YuEd3jKFMRarzzQJ
6Uh9MhSVK+lP3zD1BTz0PCQVNwLv3XQ7InaMLjXkexXqMwya9HvkQuPIfEiBqmljV9rl5qi/PR+S
pi5zULiesHoX1LcUxhCDHk59MkTvKJZS7G6X+gJen+oC+lDf8t0onh1Cih1jS8l9r0F9gYHa9dAC
xpHpkAmqDraUYp+j/vZ0SDKHbE41evFtUd/xQYdSOPwCQgxp25hLcmXqJ/AhdLyAeHYjZ+BhZsjE
a59CCgwMFe0eKrg/Mh0yQWXF8oZTyO3pkGROWoSEisZJl08hO2gjzMB4W2q1Wbzb7KD9cgaG6O3M
W1gQOaImZysOv5oRQwD3mDByBE87ua57oeRGUZ9FRTaEBq8qvplgOG4P2yMqjkwUTVC5n13Dimh7
omigGETmaB91/wUi8l2M0qAKzlbqytFCqZmQ6m/ex/gwQ0S78C6zcUOSYnWXhwRVe6cbjt7j5i4P
Yi4YB6XlUrYrx1yy1DmvnpcqlZKlJ3nSp/AEaobL6tClhBwbUsu2vTFAVXT33BvDljfGaqgeSmml
lTpTVk3XUv9+/P7h98xw2KVYp70s1pnwWQ3bt5IM5/TYTcPhVbRLMfa4UYxdnhUVTZI9hnZ7J7tF
v7bJR8MlvOTLI/i4qYgj9+VN/stfyhOw63kCWZVLAs69CAyUFKBzKnmM9PTgpJJHP5VV8p6XXYuP
ZpC0LnbzrI1eVm2/78GlJ+FlfckE1cRQUa+/oKt9eWw9Xdkc2gq9jXUvc5sptujPOPnoNSgGBw1g
Kpp0XNSPtWomCD7/1hMXCMuIHbIRm2BFiC0u4F8eu8UFNAbfoXeIVdu7Yi76hU4+WgxM5NMBrxsT
pnrIOM7AcGVR47lJ16MKYG1Npy5nXsZfXYCnho4VttixIiiKtjGgdX7ZsYI1IugvFbFr2rHiiNQi
4NaOFcdfXVdR7N9+YWu7u7PmC8+40TeVoD1bW2R7p/596uyiRSyBiisX0YXmC3s6+53jiGhKIuOF
1gu7uwuuNF6YdhwUrKicrdjgVawNxp6BCFRaFHZIW7GqYdtc3SIgQdUsTLx9Dms5rmFzrMq9ec/H
47BVRP9oLihb04a+W4cgibdotAWTibeoOSIs4q0oVcSmeIsm6pIO47AuUVtbwf48hx2gSeUn11pZ
uvSicTj3AoTSndL41soJhg2ulFNX7qDUCqGig9J5O96E1UVfypSqj2AjKxQTVF+uMamGqhtKljYG
W1pflG6ic9FvezFlMkf+VtGqaG6On7s92CL5d/SlFs530iA70MqMFkYveR3FiWPXNRwbQtd6d7n7
Gq6lk/ccPLQlJ1yO4M9uhNE+zAx53KfV1MUrUKtQug2sDzVjS6QEavQV8hIL7reUSEVL5lwsVbTf
D/cDr1FjTqOxI/fZkFOl27Ub5r6Ad7Yr98WNWC7sYWbIx339L/t4hbWu4l67gvtjq5AYqlNFEYUc
91uqkFDRyPBK/g1wH8kBHZxK3sZxnw155e1dcl/Aa92X+8mNQpzWIoghCpFXnvcZBtdKdNlijC1D
Eqjx1FRkC/dbypAQWEyrVXLsprivlRLdKTua+8kQGmg/H78e94/gg+7LfXYjp91kzS+GIq0Irsv9
BAOKfTjruT+0DkmgIqqKtncL7jfUIWnlyJy1awuz++C+p7ccLY7nvud3FBobWVyb+wIeQ1Mvpgz3
j24EAFPXCgf6PKwlJw/nPsGgZU6F+FkF94cWIiWosXiOlON+QyGS1koqSOD62sz737K2XIjkMKM8
0I/7YkifJA7ui/sC3qg25YEc95MbxeAfZoasWetcMZr7DIPefakMup77QwuRElTQJQWgHPcbCpG0
Bi5RWdWGuAvuG3JA99IqYRz3xZDZc0d7Re4n8MF3nffFjcBM9/vJkI1renGjuc8wvAoVjQ0ruD80
1SRBhRoJ+QX3G/I3tHFszt1AD8YOb5kcMFAkG899NsQ6O3fJfQGPrjEp7jL3kxsRzx9mhlxxFnsV
7nOuscI+8/5IXfYjVMCKzNYF97frshNTNJmzUAo1d8N963joIA7f74shVOZKuiP7uJ/A254ZWkc3
ctqFh3NDUYW1jlWjuS8wYhfxAauHZj0JVAzF3p457jekEmkbyZwzjW58W9x35IAYrcr0ZOjHfTGE
vlGj7crcT+AbezFluS9uFPQkO5MNGaV1qavYa3BfYECskNdY574ZqnwuULXD0t1xhvumQflcO8/m
wlrTjPvgPv2Spgg/nvtsCLGU6H7D3KdfMMq1FsJc5r64kVdeP8wM0e9d+Y5PYHC1Uw/uD83rE6jW
Y+lmJMf9hrw+7Q2b06Ua/bvhvicHtGjGz/tsyCnn7pL7CTy0iYvnuJ/cyE1r4JIhCpG7xAb7eIXD
YopRPfeH5vUJVB9cRduoBfcb8vq0RzLn4w3ojO5/y0Hxdzk1txjHfTEUzLV6MO7jfgJ/quDoxH12
I1ryT7lPhmgSw2vf8TGMEIrt4Oq5PzSvT6CCjdvFBhnYdu4HR+ZoofwW5v0QDtZq2toN5z4bsmqt
q/CNcl/AW2iS1MtxX9zIGO8eZoac3yc02scraD5wXbg/Nq9PoEbXcMdnWvL6QLE5s5Z4eRfcB0sT
jeFa9cHcF0PW+ys1FNrHfQHvVOx6v5/ciJZCDzNDUmZyVe4zDDS6Sx2fGZvXJ1DR4PbcHtOS1wci
MhxLzXEKYjld1NsmYFigzIFrU+7ponM1A+NtKeupCKaD4tIZGIshrOnH3EWIjurgOM/OjQ7RYohw
3uWxjIA3pmupdXIjUFMB0WTIupKA6GuEaIahFSHsEaLHpl8KVDClqT8XolvSL6Mjc9aUktLvh/v0
XTxCSdKupHjcQqmZ8AlY+DXORjcEVzq/qfe7htS/ev1cgQomltLJc34H2/VzdaRgoVWxwiCreLx4
R8adtE6rlMKeVcHcrx+fnJqjAtWlPMsMVagWqAZC6cA7974aFKrFnDO6Qv3lsmimwekL6tS2Ni9H
K3hZjLvHotxuv4DHJVQsQqUNxHbmEbDTYze9SXBhU2fmjPCn3b5AX6hZTj66NDCA4F8Sxj59+ev7
p8/fXiSlP/3xr8fPBIbDwzv2lx/oo3d/PP39/d3vf3559+Myvv/w47mBSJ+d30yLPvXLo08Pe/z4
8evTt291DzUmXHpo0r7+8vhVtNdkIuTnV2N1z/IeNMjPz/znh8d/sAju1/fvP3x9Iv/9RTRx3787
/iRWfnv89Pnp4/njUOlNklw5LyjoTE/Z/pOPy3cf8+/egdIV1adLOWkCdHpwkpOmn8py0s9r2sVH
55C8dqpLPp9tkJOei9JOProweizk3pDTY+3LY7eEFB9pz7VlmZNzpu3b7IVa7+SjCwMT0IXnFrAT
nXpfq1M/UJpaIxwU4XPq8u71rF9PvcKk0WWFSRkVB+GSwKQOTET0/kxfkoEGtAE2y0vKVwTlGlus
7JOX3NrT5Oc57FNTgj49gqTdDFFuWrSEXLiAzlw8wIgetfvYoDEK6x7ABbjGZVxAe402LnyAkFrf
5gQaaK+2K0N7d4scgRF1KG3PyhqarRAqNDRnzXMS1mjWGun2l8He3l9mSR1CDqrpPuDZ3iXukNua
s8R/tkSLmjXtqIIQ9r5mOjMkNCNWHEVckMLu0NKnKIY9a/PDaI2iPUiXzdLYGwyGqqMtRY56qA0n
efX6rALVeNVnCzq27pOhWiJpj7Q1O1RiPEGleXB7mwzbcoUl5tBWNAtZmAvbVW/FnKOF+/ZTHdtS
gJvMgW/YJzQIqGuMNBN4vIE8oN1rB6O4+ERZnan3bVmqO81dqjsv1Y9AjXObl2npVzWUmiTcbFfP
BN4YaFx2XL7jEg8ONk7khZIh69eq2AcvZhmGUSpAj7sGO7TcMEGFYrvDXNhpKDc0WpG5APr65Yb7
37LmxpQKXeZ+u1tH32TImLvsc34E7wN05H5yI9AWH2aG9kqM9PEKYlWFRu86993QcsMEFaCiMnLO
fddQbmg0L8JpBltJQLgL7hvFq3QdMjID/bgvhowtXaTfLvcTeNBN5YZZ7osbeTcpN0yGLJYm3Nfg
PsNwKpoesoJuaLlhggpRb99uuIZyQ2McmwulO+v74T45oNdBZ1KPO3KfDZlorlR2sJP7DN7q0JX7
4kbxrNQ4GXKrarXDuU8wAr37Huc2bmi5YYJadXC34H5DuSHNk2LOXb/sYP9btoYnHwyZkqN+3BdD
tOG/ksTIPu4n8GB63tAd3QimUuJiyKpiI6zX4L7AiL6LnLAbWm4oUJ0PpQ14jvsN5YbGBjLnXOnM
9n64jzz52GCGc58N4WnLfGfcF/Com6TFstwXN4p6Ou+zIa/1mnLVcO4TjGBUKVDXc39ouWGCirpC
AXHB/YZyQ+OsBOy17px3wX1HDggmjl/ziyEuCLlH7ifwNnSd98WNaCWkHmaGuCfsdbnPMKKJFYfn
FdwfelkvUFGFkhhbjvsNd7XGKxoZb9Ze0F1w35MDRvK1TMvQftxnQ6hcqXL9drmfwJ8ukvpwP7lR
0OFhZsgodeWzPoERoaJ+t4L7Q+vYGKpVPja0EHENdWzGA5nTYU3v+T64j1wcjBVZGReLg4eU2ryg
Y+0Y5UNO7LhfZBJDIZaKsW43Mgl4MBa7RiZ2cqO8nb+O6NZaQYyOTAxDS9u/DpFpaLKbQDVEsobI
1JBjZVi1Rke9NnXcRWQKXHRodFXS0z7usyFr7zPzKIEPvqm6Psf95EZnoofJkItrm93h3AeWxCqm
0ddzf2iTgwQ1hpKYZo77DU0ODGhRp3oTmUfgeOhmcn4juC+GEErZ6LfLfQbvlLZdM4+SG6GODzND
2vor30AKjKj77EjGZh0yVO+N3p5b7VqyDiGSOYXwFrgfNUt6YczM+zQHRfqeHbgvhoKOd3kDmcB7
03XeFzfihnwPM0MA7sonkQyDptKS/lo19/3YrEOGCtpXJErMue9bsg6jZ3Oucfl6Y9wnBwTvcieR
HbnPhkJY8+ob5b6AP2kQ9+G+uJFRdlptIIaiWdPQH859ghF9nxtIPzbrkKGiqanDW3C/JeuQhtQS
Ixq1O2+L+0gOiFyyNZr7YsiqazU03cf9BN6prvO+uFGkEX6YGXKr7d5Hc59g0BbHbdKOyXJ/bNah
QI22VJ+R435L1iEimXNmrQD9HrhvlZGhC5kmB924nwxhUPd4zn8Ej75r5lFyowCTSiMxpOmH6877
CQZgBaEquD8061CgGq9sw7zfkHVIkxeZ4yuft8B90UrGitXdxRvIHrpwMzA+VOzdLoPpoCg1AUPU
NA5cpu1Tx6jIhjy6K7V63RkVGTz9san9QyYqJoJpbdz8dYC/cl6GwLDOVhQ2VUTFofmYAtXpmg5V
i6jYkI9ptaWRoT3sG9gNyXdBAyVNwpK+cAul5qJQvz5CnI0uYiwpt9f7XUMuYL1eLUP1tL8L2+t/
vN+uV8vmeM9f6piZ1RdeyC+hPqn/V8ovPUst+fAb/qbmuKDTmWlDBteWN+YOympfsQhYvLHQ8sbC
gefOTW0zMyKSHibf/N+P3z/8nhkOuxQeshnhIcaHShW7jeSGA14eu2U4kELu8+q1Rany/FkYS/Xc
1UMbN6+mFj05Jh8dB3mgpqbVrDWosHRgWv3lMf/lL+XV2fW8uryEtQDHqkX4UgKXkJ4enCRw6aey
BO7zsmvx0TkkmsqLycLV0Ss0qGovPQkz4tEC1dB32b7OCerlsfV0ZXMmhA6q2mH77mnRaWby0etQ
jAKDLvX2LIrDB3M+u86/9cQFwjJih2zEJlghhgYxNXrk6bFbXMCCrTG37gJ2uwss9wAutwcwrGQN
PreJPWuSs0FkdkW7jAeIFj4YLonMGqS/VHzNeKZedoTqYLvIbPrViGsis0OUhrf2Evl5Bhu9arpJ
zPXmSW1ePJqZF9ASudSD6hV68wgMWqGYWqnUbhAqRHhn/VwS1mgrmqRUzH9j9/kM1XnbpTw8NGwN
6yU9Bao3oZQplYvTLUcSYs66itYCC3N+u+ilNfHA+jWNaQ031WHJWv4u0atM7UfLxOG0snbAxJGg
0lJ1+8Qhv4rRX+lCaldrNwHvlGm7jM5MH0cf9jA9ehVD2q2JhYyePgRGdKX+svVxbmhJnECl/5Su
8HKBp6Ekjs3RMsJcTt6Iv7oATw2LvDWukqug8x7jBa5aRX9pA4JZcJWQ0lqtiavoy4dUY2TxtzYh
m63yBLdR2FS5+mxtuczjAjEM4OdusN7hryCKv6ff2gwHxfCK0/MLkvi7e76VBPHnfeAEawi6okyk
IqgMrWYTqGD7dB8OQ6XbE1TEksRMLv41FN6JuahAbc/9CQ3i5tYpiu60qrz+Tdf+SdVZ+i4Rqw4I
dt1ys6Ggim0Fb3eplcDPVsN7l1riRt6cXfOJIQ1rGg2jl1oCI4aS+FF9qBla6yNQKdSUEvBz3G+o
9bGO9iAgPcLvn/te8dBZk8n378d9NkTx2bUlS16Z+wJen/onduK+uBGoKffFkOG+fFflvsBAU9LT
rOY+DK31Eai0zmzopwoNtT7WOzLnT11K75v75ICIEDLdBTpyHw5BKVw7e75R7jN4bV1Tzm+O++JG
vIN7mBkyoSTr/yrcZxh8E92D+0NrfQSqDr4kA5TjfkOtjw2azBkdr68wvv8tB17zh1PzvHHcF0NQ
jM+3y/0EHkLXeT+5Ec0iDzNDEUsqNa/BfYYRfPEsvJ77Q2t9BCrQn7Zf90NDrY8NvFgzvpTQeDfc
B17zh9Mp6jjuiyG4mrbHPu4L+Khdk9JolvviRhim8z6kLdi1r1YYRiyLMdRzf2ytD0OlPWuDphe0
1PoAL9Zou3/9RoYd3jKv+UHp8dxnQ9E1Fkhdm/sC/qQr3Yf7yY3ctLMIG6Kd0aprDec+wwBVQagK
7o/NdGGoOqpSi68c91vSRyIv1uilXV/Pb/9bju7A58ouo+vTj/tiKBbTY2+X+wIele665k9uFH14
ODdklLk29wUGcb/Lmn+owrhA5eSq7VeK0KAwbmM88L3iDTQw3v+WkRzQAu0wR3NfDKG+z3k/gXfQ
l/vsRu78jo8NOZpxV7aTo7kvMMD3WfOPTadiqN6FUqe6HPdb0qnQs7li/df9cJ8ckN6xGb7mF0Po
G9uwXZv7Aj4252hd5H5yI9DT/T4bClqvycQO5z7DAKyYTCu4PzbriaGCV7Zh3m9IJXLKkDkFjcvX
m+K+U+SA4CDXTbAb95Oh0Ho5cl3uH8F715P7yY3oh/AwMwRx7TZkMPcFRnShi44vDNXwFqioY0O5
CDRoeDuFbE6XGpbfDfc1OSD6U7LoOO6LoeCu1UV4H/cTeAg98/qObkTLiYeZIcC125DR3CcYoIIq
VSjVc39oXp9A1TSODWd9DXl9TocDyJ/fAveRvosPOS3PjtxnQ7Raust5P4GnvXlP7osbGWXtw8xQ
hH3KVX28wvhQglHN/Tg0r0+gWvr39ju+2JDX54xlcyq8Be4bckAbZtmqI7gvhsDe5VnfEXzoetZ3
dCMX9cPMUFztbDaa+wzD+VBKLa7n/tC8PoHqTSgl2ea435DX56xic77UzexuuG/JAWnah+HcF0OA
97nfF/DRuq7cT2501rcnGcKgVkZpNPcZRihv0Oq5PzSvT6DS7FXSh85xvyGvz9kg2rdufUV0UW62
h0DaBIxo3+qKDsoXwfTQEZqDgdKKqAimg67VGRjaoaN/A+mXzlGcAIM+01qtX4gWQ0431qheOUQn
8P780mp3iGY3YqHFh5khD6WEotcI0QwjmpqeRRUhemj6ZYKKITRszRrSL51zbM69iWMZ+i7RKMTC
UrMkKtxCqZnIlfsthPgwQwSxIp+uwu8aUv/qJWoFqnW2QVEguu0Stc7R0iAGW9JRzYoKXxCw0GeN
umslhX81vz56NUPF9bpdlnJDRaAZqjZKlcr+cu+rQQTaOTiESC9sw6XW+WiE6Qvq1Ek9r/gqeBFr
brYq3uT2C3hcQsUCVFDBlNqP5t4kvDx2y5sEbnzeQcQ3bl+gL5pTTD66NDAGUb9cHn368tf3T5+/
vag2f/rjX4+fCQyHh3fsLz/QR+/+ePr7+7vf//zy7sdlfP/hx3MDVulZJrpIQL88+vSwx48fvz59
+1b3UKf8pYcmeekvj19FgkkmQn5+Ndb4XE9Mg/z8zH9+ePwH68x+ff/+w9cn8t9fRHb2/bvjT2Ll
t8dPn58+nj/OKbtJ6yvnBQUp5ynbf6L93OLdx8K7B1QlxdGsYjMBOj04KTbTT2XF5uc17eKjGaQY
VegRUrBBsXneSWXy0YXRi1rphpCC6uWxW0IKmcNNApkZZ8LtO9tFi5nJR+MVm50jb9Es05a+/B51
eefhYIIOmBENOGuJ009NmN+f8aCMviA05wz9pUMH/kxo7hmq2a4mnH7VhMbroH1qwls7h/w8g211
176kx6YuQU3UhNmQdfR76pIXRI/afewvKc1OYKXTbsYJrEECtXACRqranMAGzgvbczKwuxGNwADa
wjRLJrdCqJBMnrWoEaxR+R3d/RoFGrd3cVlSx9IM0drOO9m7xJ2IaAzMx8j4UvuoFYnGfS1rZkhQ
l7IRCyKNHRrnlGQa5810BC36WLFiqFjcjL3EIKi0cj3pfe6D2nCYVy/TmKAidDlPwKGlnwJVhz7V
KjhU5FygGltsD5lb3bbcYok55/z2E1m028UvkzlvYPvBDjbU4CZzQTW09cUGCXfnU8/1UmePe2li
5/5/7r5tV5Ibx/ZXjH7p2S8J3Sn6MwbzahyUXWW0gUaPYXum5/MPSeXOHRmRUkgKaUdmdWM8VenO
4EoFF3UjFwM3bjc2d9fUs1p3WtsZq/UE1UC7LHT6qi22f3va7pkJPMU1HLhmv/pwgGUOohjy7thF
1xiXROP8iIsunFpzmKBisfg/F3g6ag4dKDIXMfY1gX2uwBMVr4C4tdKwwOOt9jt69F2BJ0E1HXr0
6asO9lL7njPwCHivXeeO53HgER9Gi8sESDHE1efnBh6GoVk+YETgmVrwKFANDVm7oDH2FDxKvyiM
cH6x84C3LEthlUt+HtayOxny9sBRx5ncF/DBd4mb5bjPbmSUWfajSIYCwslnaAzD0rJjRCsvnFvw
yFApLle0V9xwv6fgETWbewYx8+Nvmb4ItORwNXcTh7gvhsCVMqCel/sJ/G23NIb7yY1ALQ86xRCq
eDL3GYYLqqIXeQX35xY8MlT/UY/Wwv2egkdMdRbmfIGjAW8ZufDhVjMykftsCCK8JvcZPJ+yDOU+
u5E1enlBKIbQ7enlTuc+SuFDSWeplvu0ppzLfZTCh1IV0mPuO9VR8OgVl4RgLC0zXoX7tFbiobvV
IE/jfjLkrDpJ6OAQ96/gVxHyIPfFjfi8Rb+tDIVig/BP4L7AiFaXdJXruT+14FGgojLt+30G1s59
LQn8z1DwePwta3JAtLe6iXncF0MOzhI3O8Z9Ae9vAr9juJ/cCI17WxkK1h5qXjbEK6KydsRZ30fn
yTncZ6haF6NljvsdV8VecyKkJlp8B9w36qJoX1ehD/OwRHFKwv8duqiJddMjkxhC/ZI7kit4b7rk
l7KRSZw8LOv8xJDZV/WbHZkEBoRSNl99ZJpa5ydQrYsVCe6byNRR50dTuJR3lZKmXicykQPa6FRG
cnUg99kQFqu0n5j7BJ5WsGbojiS5ESC8rQxpuydWMZ37BINYVVJ+ref+1Fy7BBUdNkuvMbB27ltN
5lws1Vq+DPctOaCP0cfZ3GdDQRXz4p6X+wn8rap7DPfFjch3l9wXQzqcfBKZYMQh0mtcuDeT+wwV
PFTIkGy439FmwVtP20jaWjesiO5H43PrdgUvRqhQo654k1PrdhkqdzBrF81nYM11u8mcN6UldmWR
nVNT63YFKU3E9iM9bWzd7tWAxXuFqWN1u9eH3og5qG43PZaz3YbU7crjrPUVl5j7XjChblfwBQUV
kk+bul0GNKFuN0HCIT14nJ5atytQuTtS+8JQd9TtXs3hgCJwbkH7WnW73kaeiK39HlbFjpZmgLff
Mm9VzIaiKjaKed5VcQKPoasRQXZVLG6EbnE/nwwZY87NyU0wsG3FkA18c8/pGSoGp5tzcxhY+6rY
ceDz8F2c07vIVbBgM83GB3I/XnhuOqvZ+EHuC3jnuxTvctwXNwraLe/nxZAJJR2tT+E+wyAXH7Ej
1nNPwhkq/ciSX+W433MS7g2b051Xzc/Ffe8vSDstD4+5z9sOPYT7Ykjbs9Quj3E/gQc9Mi/v6kYh
LHcaYshgSQX8M7jPMKwypV4o9dyfexIuUHtychlYB/eRzH0IeL809wM5oFPBZeb9cdwXQzqe1XD4
GPcFvDFqZD7+1Y0wLAqAkyHr/Mm3YAzDKztC6dbpuSfhAhW8aS4AZmDt3A+BzLEA9PfAfZEPd65T
y3yEyNoKTNAVIiePE4UGHEYvwCA7lcq1Yx0YFdlQ7E31OjsqCniPQ3MDEsH8siVjMrSfCD89KhIM
2pJVaA1URMWpsggCFWzsuFXSHbIIHiybc/F7WBHxb0FQpcLBkv53D6VWim3ffv72S1yOruMGGL6k
nVLvdx1V8fV60gJVq9CRj6ahXU+a5v2LNhBKsgVZ/e+1Nlrg85Y2bbR3HTT4FszPaoXL+prJrOKN
ddQyt7wxgsp15u01TTr2vDGgEQdoyq/KXRYtbx7//eWvX/6RGQ67VQWzGVUwwRcpcHY4MH48tmk4
MOqmJPjMcBjVvALa9LlZfPRgYIx3t8uhhUCtqRWonXkPB6w8SGF7gF+Zwrr2UaqKPZSqAix74FTs
ueompLcHp6tu+lv5qvt92bX5aAWJ4rEesc4x7Tc+uPVKLHglbZZdxWtf05WA3R7bQlcXlC71OKr2
so5OUOvmS4uPPuGqm358oEmt1CitmARmVsqj61+9cIGwjdihELFZjad0Ep9zAffx2BYX4E1KRS3Q
vgv4dhfY7gFcbg+AkQ9xvK7pM9igAL2j7+UjmXX0T3yg7+Up4qAF49ydvtcVqnOqWd8rfVXH2H+n
8Hnts35awTasB9Oxd871zkptmKJ1ay+wgIf2zoe7KgmMoHypCKKskN0LoUIhe9VvKWEFPWSfb+bu
8xkq+FhxhFcBtWNrWK+3K1A5NbJjqu45khBzeFM3bDEH7Yq0HvFCazivHuobxJ9dgG8zYi0LUkRv
HoZavIRI8X8VafESjbO+I9DyL7SxtFWZoxvf2qhrHWkZt7N9VQzv1rah1l+icyHC2gdoimvpID+u
J9k9DjSmJIFR0Iw/3BetpBi/7pWWsMZgW5ZT2QA2VfWNoWplbYWkdgXUDpGqlljLUFHH9oJ10yFQ
J+Z00NixBMe+WIvBqpJqyKt0mwwqXmghXnMe9ujaa05hzQIdjzQ4yNyD9WwhHHFIjd9CXKFabJcI
Tl+NvXmc5zbhTeBRxd7p7eElXGKYQ7fyBVC7wkqTNxIJBughh1N2qlyYQI1OVyzO12HRdsiFBa1p
ZLB45/cyYVE7GjobbUYqcFgD7mTIF0+Pnpf7CbyNXZJBGe6LG0VlNLytDLFDn8t9hoEwpC+Bs1Pl
woL2fGcLFc0MN9zvkAujtReZU2Yvb+wluG9MGrpMcf447oshj3tdvp6T+wI+3N74IO7jJfhFDVKy
QgvAQ3UIY1xCOzOiA7qzU2uQBKrRtuI+b0P8jhqkYAKZU8U48zrEpyBmHJhMLvJA4rMhj6VDhycm
PoMPBoYSn9zIaIXhbWUHivIyn0J9gmGdqegsVkH9qSVIAtVp295RjoG1U99aNqc7vfi5qG8pjDmv
c72IxlFfDIXiId7zUj+BvyVmjKE+uZHT3uq3lR3AknzKZ1CfYXiv/QgtLju1Akmg0tRvO2b9jgqk
4BSZ036vPPQlqO8ojAUfct2AxlFfDIVY0kx6XuoLeNB9lcc56pMb0ZI/+LeVnWj3+kzNpj7DAK8r
lPYrqD+1AEmgRlMDdUP9jgKk4IDNqc5N63NR31MYi0HZmuuFQ9QXQ3Bamc0x6ifwHofO+uRG0bhl
T4BkJ8bSyfpnUJ9hYCjCqKf+1OwbhqqJjBXyCBvqd6S00NfInCn2On0d6vP5qCnmSpTuPUcIRa3A
WFuxx3x8CTuy9jB4oLfMPeamB0U2BKFU4P/EQZHBR2W71BhyQTERLPqwfh1oSncOnxIVQVIshiha
2qmdUQWqsbqiodMmKnZ0Rg1BkzkTO934uaJiIAc0AdV07ouhaM7qinyM+wl8cF11xznuixtxi+m3
lSGMx3SJx3iFDUV55HruT82RE6jOouvYDHUkntFuns3dcjtfmvtADujA+kyHtHHcF0Ox9/DoZO4n
8KjHcl/cCJZdksSQV/qYCtMYr/ABK9bJFdyf2hlVoAbifrvsrO3ojBq4cNlzKtj3wP3IQwdxPvfZ
kMPXnPcFvLdj5312o6D03SGoGKJd4SHl1TFeAdaGEboPbm6qI0ONrqYwds1915PqGGkwOUfte8h6
iJ6Hztjpa34xRAP+klkPCTwMTXO+ulFYdkRPhkCdfQrKMNBCKfGqnvtzUx0JqlHlFKQc93tSHSOy
ubB3Of0S3KcvGvUZGU9iyKN9ybM+AR9uKUCDuM9upJVd7vfFEHh18lkfw6D9SOm2qp77c7MdGarR
AdtLHFxPtiMGNqdK5l6H+0l9sdRLsXTpMELuZwUmaLe/1HwMZoCYyRoMVJQTPgYzQFZjAYbihPF6
fnqKGAp2r8biSUO0gA9+6B11YruLfv06IJ6dn8IwrKMt4ogQPTcrlaE6DR1VaK4jK5WWgZdoPX4P
l9Sg3MUqLjndL6R/JAXZQ6mVNMmv3sf4tkKEoaLnZ4XfdaRE1gsLClQdVMUqZuN3rl1YUMyR82Fh
F5KVgly/I2L2fWF1rRAkfgVn1RoVKDUkTnTksbW9L+cNlqrqc+/L97wvuHhtQmzY4N6Pxue2lBS8
hjxshFCFm9pSUqDSwsR3vMmOlpJijgs0Wio0MopobmpLyYQUgpvVUvJqIOJ9VsqxlpLpoVEb/+ih
3S0lr4+173kTfx1rKSmP8xBLc2W1F0xoKSn4gN79frzZ6my6KS0lBRKfaY5IcvZTW0oy1KCsivvz
2Dqk+I6WkmKO1g4VO8BdZ/Kv1lKSfzxGg+8ZZwul3VirtHt7loaLQ+J4ppb6rpFBgy4ZlAVc+Ce4
iAbVAwEXmvIvFITBwZ2AyxVqjO3SZOmrrtiBdJoGZKve+08r2MKQjk1zrn9CkuKPsOgqw4a4T4N7
qKZB/0K7rx3idBVO4KP2MWScwNM/VNg4ASGl7X2XE3hEZQ/p0xxuH8AwaPNgSnqbZaHLXggVQper
xgKClRPc+ssiOiX92rX3t9QJ2rr3BkWt1En2ttzxkn5pzHqMXDwg6nes0cA9EqMBK5odPJD1G9Du
oCTst26BkNBGX6Jj/eJm6iWGQHXWVHQbr4DacZhXL+yXoCIOSQnxU0tiBaoPReHheqgdRx+Noxps
6LjB9h23WMmcs6XL2Jw52y6XmMx5FdrVGX1HbfLVXDFpOmfO9/y6SPFZ7cpUvELrITD8W1zQNW3H
quUWuWZk/Go9QaV31r5Qk6/6uKdI/pQ9zxL4YNzITpBXH0a1XHeIoXJfw89YzjIM42BI3ZGfWo0p
UK2OFXPjJvB0VGOCVWxutzDsJQIPCwFY2o9l8o97Ao+3LNwxPvBcoZr2VhHpqwH37o6fM/AIeLBG
jww8yYdp4/O2MhTDXl797MDDMIiYQxIg/dSCR4HqTXFCywWejoJHcI7NaXt+4cOAtyybBJ1Lfh7W
aDUZAtsZrc/mvoAH1ZVdk+N+ciNv/dvKEEfkk7mfthBDWs/7qQWPAhUMViQCbbjfUfAIXrM5mqm/
A+57e/GW1k/TuS+GLJQWhs/LfQHvbh0ix3A/uRGthN5WhsjUyRsOhuGsG9IQxE8teBSoXoUO0Tff
UfAIXi7s8buY94OiofsIm/O4L4a4meUrcj+B92bkBWFyI7R3874YCruiYrO5zzCCiaU24tXcD1ML
HgUq5/W1H6qGjoJHCI5GBm0pW+51uM+ZODQfu+ncZ0MUa/uqRM/mvoBHN3TNn9wIcDnvi6Gg9+Qg
pnOfb/6tqmi8XcH9qQWPAhVVcQOe435HwSOAppHBaM4XODr+loEckMJYTvFxHPfFEC3OXvKsL4F3
fSInOe6zG6EyNrytDIVgDwkdDPGKoKyraFdXwf25uQIMVSvfofYaeq6KQW6GjD+/4HHAW+YeNcGF
/aF7WNY3JeH/A13UfKFpfKYUe1xkEkPedXYvPDkyJfDRDF2VJCenV7x+HaD2yshmRyaGYSy6IauS
qXV+AtWqWEGvTWTqqfOLns2FztzB54pMkW+OHeRkFwdynw15NC95CyHgg+vToc5xX9yIBVbfVoYA
9sQqpnOfYNCs01TXlOX+3Fw7huq99fuXpRvu96R40ZAGr/VebspLcB/dxdLErxvumu7frJ+wLCnU
ITJeMK4im6/CK9sTclrqEBlqDPSfdq8MHXWIYg5c0wlCpmgowOaXj6xDZKRo7KKt8uA6xGTgdjMx
pg4xPfS2wBhVhyiPtfq9A+vROkR6nFM0lbeI5+S8oFCN2l2HyPgcYEXd87YOkQDNqENkSN5jSRiu
PqS0X7m11CESVNp711SNb0IKdtQhijnnKm74dp0J2vV6Tq5DRM+LCqOnn9OLoVAszX3eVXECj9jV
gzm3Kk4LLG+Wd3RiKBbVQD9jVcwwAoYKOZn9YAFzz+kZKoRYKpjKBAvoOadHJHPedx45P9WqOCpy
QEDQs0/DxFBUxQOWp+V+Aq8NDs3JTW6Ey0YEyZDxpf3dJ3A/wcBYUSdVwf2p5/QCFUGpDu53nNNH
FchcUE/QhnnAW8YLML9n5+YkQ9p0KrmezX0B7+PIef/qRk6Ft5UhE0sZpp/CfYaBccgdHUw9CReo
GnSFFM2G+x0n4VFbMhdcaUX0MtzX4QJGuTCd+2JI3yqOXov7At50Nh/LcT+5UVzm5CZDdlcTdDb3
GYZVYwrkYepJeIIKtkJVd8P9jpPwaBSZCzF+B0WA0ZADOoV+dm5OMmR0qbTrebmfwHszdN4XNwIT
4W1lyMKe1vVs7jMMrwBG3DfA1E7MCWpUHbU40NGJORoR8IYKRbmH+SwjhMlWYGjl2AlmhPDiHRjw
1urvoFIhWqKmB2tqFNQORUUxRMv8l1wRCXhca1QejYriRqAXeUFiKNDK6+SoKDDgdvJzLCpOlUUQ
qOB8h7gNdMgiROsuIWgbCi8oq8P8QKMqvi8XKzWq3vWovvzyiwe1xhWhQt644o111JPXKzELVGFT
+xuDdiVmNgcBY6lf7+tEa3dBp6Ou874hQXClsfcVfv115Xfo0JX4UO93HbXMLX7HbdABTfvlKsQe
v2NFbV2jS7V/ubpUDP73l79++UdmOOxWFcxmVMEEH80+FSK0m+HAj8c2DYfzoanrT2Y44oDeMIuP
Hg1MDP5d1L5HoHbivTXDAwRsuqHMDWRhjf4otcseSe1i4JFLvfeBb1NDCOntwSk1hP5WTg15X3Zt
PlpB4urZEbu/2H7jg1uvxIJXssZtxXZsTVcCdntsC11jULqi89W+lw3onrT4aH5qCP94RCgmgBaT
JteruvWvXrhA2EbskI3YkScwqNAO2LiA+3hsvQuQOU1xcEDCYRzQs2rx0XpgHKdG+oiPBaB/dgG+
dQhA27K8Fy99bNRG4wN5r6glj1VZfSfv9Y60Q94rfZVPgbo30J1qxq3tY+61jBNusLYri+Dd2iaN
gDvPGPbOezdwqCK0lPmP65SzwkG/uBA+CkrGh7v1lHSM1x18GKtXTpVKNupnwLk7fYaquZBqBNSO
LW694q5ANdp3NIeKPYcSYs7YUmjImYN2TVpaF5BfxmhqWjoPjLeezTqjHgnu8zGQVpxZfx9vE1Tw
rj3e8leNUp+hHn+4tdpPa9i+L2Ez06owdb0L1vmVF9DkV/LxT2hVmGCUNd3KDQl6IVQ0JFi1txOs
VuSRBkSwqcJvAtUZ29TvKAu1Q6eqIdgKVFRhf1Q30a9Do+5qDkqrjJw57Am2mn3G4vnSOAO4GtIG
prPz7ZRatA90wCNNLzZzFdYzrTmt6MeOn9auUFXHtMZfdawof8493KE+vFfwFke2Sr8yDO4itRgy
xeLYz5jcBAb6kkxAdRTGqYphAtVzBUdzWMQOxTDaULI5XZIDeJmwCIG+qExOJXhYD+5kSLuzlEIP
cp/BG2W7lEJz3E9u5L19WxmypiTP+yncJxig9JCzaZxaiSRQI+2U2ldg2FGJFCNNihB2g/NLcD+a
iwvO5zoYjuO+GPLFZevzcl/AB6278m9y3E9uhHfzvhgCe0wtcIxXgNNDTuVwbiUSQ41lsYwc93sq
kWIgcwpLmUmvw32k3+JWtbVTuM+GgimJgDwx9wW892O5z26kbVwehYshCpCHqhHGeAU6XyF0VcH9
uZVIBNUr7Svkwzbc76lEQsvminIFL8N9DPRbvHOZSqRx3BdDIXRulE7mvoAHpYau+ZMbRbPkvhiK
Rp/MfYah6b8jrrhwbiUSQzU0YB3zfkclEirFN2pxLzi/AvdRkQMa7gI9mfvJEKjSO3pa7l/Bh6Fr
/uRGhgb/bWUoRrdT5DaZ+wLD+lBxr1DB/amVSALV8bVgO/c7KpGQO607Y03f1vW5uK/JAV2wJqM6
NI77YojrS16R+wl8vL+KOcx9cSPQi0vsZAhVKQn6M7jPMDzoCtntCu5PzcIRqMGZnjV/R2oLaseF
f1hSHSpdGY6QJVuBgRrJ1Mf3lwNkF+/A+GCg8yLvyaIiUTME8A8TOIdGRTYExX52TxwVGXy8XUyM
iYriRlZbfFsZQl9SF/qUqCitW4rFkPVRcWqPVIEare1IzcaOHqlouGeKLWbnvwz3DTkg7YXU7JOQ
ZCi6PbWR5+R+An+L9mO4n9zIw5L7YgixVLb2Gdw30rqluCmr5/7UVDmGyiXbpQytHPc78s+Q+8Ar
G8z5nQmOv2Wr6bdAcHo298UQqlLm2fNyP4G3Y3dD4kZO6eVJCBvSyh/TZBnjFRrsmBuQqT1SBapx
znVkPXX0SEXr2Vxxn/g63CcHNPHWwmwi99kQ/eEVMx+u4IPq0mLLcT+5kVfm7d6Q5SuQk7kvzVFC
RTL3LvfJ7lzuSwMVqEjSWHHfq46MR3SGzRXLMV+G+44c0EWvZ2c9JUMInc0lT+Y+g6f/cRhZynN1
o4jwtjKkTSl39zO4LzCiKjW0ref+1IxHgco9gpq12BhYB/eRzDksHS+8DPe9YYV9pXA299kQKLPX
9fs5uZ/A3yTRB3Gf3cjbZY/UZEjDnlrlbO4LDJoRhsz7UzMeBWr0xZu1HPc7Mh7RBzJngzq/P/KA
tyyakr6UWl+6QBmhJLICE1yFHtRjMANUiBZgWNuDBZI6wQwQ2FiAQW6EYOP0Yxk2hMqXVNefOEQL
eDRDQ3RiO6JfvQ40unTI8CkhmmGQWwwoRmO5xqkhmtX8KWQ2F6QwsPYQHdyF87m+h2I0/i0u6IgF
SpYkBnsota6a//kLxLcVouhLF931fteRFFkvMShQAVV7YhQDa5YYRB5fPsfpESNdvyPG/T44VTIz
CylSh3GFymo7IomVRfimvi+GGm1FQsfmffnO90VL+hZZ3fvRmNEjPq/Yx3its6ai727Fm2y/gG9o
xipQg9Px+iYXoo2mVrTx7lnEhtic2sw/srmx69UcVqgi7OmsccbG4QyjfGNXQRodxI80nbGNXZMB
moNHNna9PtSsttJHG7teHxveb+X+OtbYVR6HUTU1IMp5Aea9oLexK+Nzlvtl7uLbqHcyoAmNXQWS
424oA8KTbr8raGjsKlBZ9Lr5npCBNTd2TeairZBa3XUmPaCPw6c2dkWAS0RnbCbF2rjIicVNOi4s
T2bKOi4YyGxE7+0DHRd0/C91NPFOx+UKVQffrOOSvkp07O8s+XnNFH5aw4a+TXOukwJLvIMyatFJ
gQ0he8HDdj/Ro3ZfOzTqKpyAtsieZT8fOgGSE1i1cQJkJ7BdToC0cjDntotA4MOr4EvbnrIGWy+E
Cg22lWC9YNVWlyLxHBnV9u4Pa+oI8tAnpPpu7xF3vOUjk/UYeb3Xva4gpHqs1cU9EqN9qSF6QUp1
QMONkpjquglHQhsNDGib4vXcSwyGan0xGbYeasdhXr2+n0B15ra1OwZ1alFsghpjHHH0oTuOPhpH
1fuomjPW2TPbj0jFXPC2WRGXvatZNTGZg2LOV85cT3WymKOxbC6K4rfc8euQ4rMCOF8I4fjaIfJv
4SX5uNU6J0juiAl3rdYJKiHVoX2dJj8y6L2k+qdsfnYF73WXCENmyc4urLWGZSaC2IHi6ehnLGYZ
BnldKb++PobPrcVkqFYXBe9zYaenFhM1m/OlhMcXCTtAWzle/6DKXHH3hB3a9Xk/POwIVOtl19gW
dq4/Euhtv17YeQePqkvrNRd2yIWt0Ysm1Fc7qPfSw+eGnQTD0RQxZO8ws9gxQaU9Y89hZnuxI5nz
ZM449fqrHfotsgwGl5F8uws7BzJrrob2S3iflPoEPijnBlJf3MibaP3byo41e+lH06lPMIDf/Qjq
z6x1TFCjshVXLhvqt9c6gtKGzcUnyHs+/pbpt3D7tpzS6zjqiyHvOyUyT6Z+Ao+2q9YxR316aNQ0
wEvPsjTdYnEO+wzqMwwfTBwy688sdUxQg7U9ZxztpY5kDsic1iWdmZehvlH0W2jPNZ36YijY0vnj
81I/gQc7sMm6uFHQ3i1nfbEDGA6pm4xxCgiqIhd+n/pmZqVjghpp39SeEGXaKx3JnCNz2uP5CgcD
3jKFsfhR8TCR+mwoxD0F0yelPoMHDUMX/ORGkRu4va3sRF+69PgU6hMM9EOEjTghayr14aL5OLR9
r2/aCx1BWc3mVKmb28tQ3zr6LbSNzQgcjKO+GIr+LJnXY9QX8Bh0l7BRjvrJjZy1b/eGtAF7aq5M
gmE+blOOcX9mjkCCaoMpjViO++1XxGQukjnV253oubjvaMWkjC/pihbK+eYk+i/Qcccz5+bvR8SQ
D68ZmQT8On4fjkzi5LRQW78OMHCo4dQAn+Vmc67mWL8iMs2s70tQaT9dkWi1iUzt9X1kzpM5her8
HpwD3jI5IPfeqbn4PMb9KB369mTVn5T7At7hwJyHqxtpq/XbyhDsCtRM5z7BCM431SBluT8zxy5B
BY26PZPMtKd2gfI8pOA7VUOfi/ve89DZOH1HIoZM6AyYJ3M/gUc/dEeS3Aj1ct4XQx8lCmdxn2FE
rUvnofXcn9l4IkFFo9qlVhlYB/eRRgag8zj9ubgf6Cuobyq187gvhqzq1Kc9mfsJvIWx3Gc3ijri
28qQC6Uj9c/gPsEwitg/osLbzEx2vEJFLuBo5n57siOZC2TOGXO+pseAt4z0W6Ix0/f7YghdqV/5
E3NfwEdlR3I/uVEwy3mfDWmtSrUQn8J9hgGxpPxWz/25GYcMlS8hOi4gezIOwZI51dsz8bm4D4GH
LsDDOtiR3BdDPnbe2p7MfQEfTF97hRz3xY20ujvrE0PgSrPYZ3CfYVgXhpT/mbkphwzVGdVz1teT
chjVhRXWn0Bu8fhbjuSAzuswnfti6FXzjhL4wXlHyY28Vm8rQ4B708ps7jMM73CI1KqZm3PIUING
37Hm78k5jEAj090z8cm4L4KiUBE2H95AjpB9WYEJt4T+5uvQAbJWH2BQsVP5MP0kRAwZ2Gsu+ZxR
UcDb2/XNoKgoBENn1q/DWTh5RcQwQNd0cNuPinZuOqZAjVDBpnVUtD3pmOjYXLTfw4qIfovVUKUn
8kjdtIdSRT2ahIgWaWFELqDtyAWsVstMUK3WFalLG7/TzWqZZM5fFNpQmo2z6qZr5RcfP1ThK5Vf
biov38I3UPe4NKuYD4kUHRlcLW/MX4yyukK0b/PGTM8bg0swqpjuUys7Z5dS7//+8tcv/8gMh91q
ntjHmicJnyuXk+WGw348tmk4WNytpbgnNxyueQW0EZtffPRoYADVu5jcQj3V16qnzlP0E3gRNZT0
qKoHsiCU/yivzh4Q0BXgtM+CLtFMQnp7cBLNpL+VRTPfl12bj1aQTCxezddHr/YbH9x6JRa8kmsB
oT33nIDdHttCV3QBSoqK1V7W3ul706hi8dF00Uz68VzYyxyr//H3vzjez67rX71wgbCN2CEbsQkW
ctOBdheIH4+td4EomfQVKlX7LlAQ4a3tyLH4aDUwWuOFdebx4ZVe/Jn8+Fu7vCXFqZJ8CWiFrFfq
lNvKl9Dmjv5l9CGEO/mSd6QGmvVL5Kua9h7914mdWo2t4vh3So1X3NaqLqXGd2sb7RL+18Z6DSs3
0Cz127B5HtcH4B6HsVBKyivoNB7uRbCj0rjsT5CwWvLHEeefbupOX6A6FYakZbqOzWG1nuAVKqhc
ftFdz6AGwd2yjptEJHTG2ZiJSGhtcLCNSATVNAvupq96A679Itp1HL0kc9aVVkDTRJ5bO7n8tIaN
emhnJGmyg9q79fiEcEzF4WjPnASDNpYlmpb1j3shVOgf33fTSVjBYo8H62apyqs5F1panuQj2NRy
twQVTSkVvx7qTEncBDXGUAF18xI7KvPEHHLT2HZz7eKtoI2iF8HlCKcfOB8PDSbQb/ERJnc6vhqC
opzEs7bSewfvXNcV/OMJ4+pGRnn/tjIUi+3FP2PCYBjc0WxEKz03tdxGoNL/75D9cR3lNtpENqef
4LLp+Fu2mn5L0D6j/TGO+2KIJvWTym2OcT+Bh8HcFzfyYblYFEOxeJz4Gdy3hnMhVKnMvZ77U8tt
BKq2xfYiOe53lNtoG8ic8XuHGa/B/SSaHafP+2IIYqco89ncZ/BRQxjJfXIjbe8uPZIddHtJndOp
z9LioaaEpYL6U6ttBKq1tkLAYkP9jmob7SybU6U6pJehvnMXzj98fDQ/kvpiyJlSVcTzUj+BvwX7
MdQnN7KWRuRtZcfHY4V2Y5wimOJBfT31pxbbJKgIFTfEG+p3FNtoFy/cGGZPjvElqO81D51FNZv6
bIhLIk9S+ztG/QQe+4pss9QXN0JcTvtiyBh1qKPIGK8AVE15QFnuTy22Eagx0F/aud9RbENbYzLn
4xOIawx4y+SAEaOpuQA7xn0yhFqV3tETc1/AO90lqpXjvrhRMHq52xdDJuz1yJrOfYaBRcXReu5P
LbZhqHwsgR2n/B3FNvRPMmdMpz7Uc3E/eB46E6bP+2II3Gue8ifw0Q3d7Sc3Cktx/2QI9V5v5Nnc
Zxja4xCZXz830YShGoOle5EM931PXkNANheeQFjn+FsGckCaZ9T0eV8MQfHm/nm5L+DjTVxyEPfZ
jSztJN5WhtDv6aDP5j7DcEqFEWnWfqrEd4IKqqKeZcP9DolvDYHN6ScQ1hnwlskBvdY5YZ2B3GdD
xpbc6Ym5L+BvyaFjuJ/cCNxyvy+GLO71jJnOfYJBCx0zYs3v5+Y8CVSACg2gDfd7EomiJXPW++/h
rC8GHjof3Wzui6EYS0VEz8t9AY8aOlPhH3M/uRHe3e6zIVB2b2c0m/sCA+wQQT0/VURboEZnTQf3
O0S0NSo2p56gjefxt4zkgDEqlWnjOY77YghNZxe0k7mfwN8aEY7hfnIj75drfjaEKupDbX3GeAVC
cVdbz/25WX0EFZQLHZ3DfU9WHwKZU+57OOszSvHQuXt56AncT4Z8eMmzvgQ+qLFZfcmNolsI6SZD
YEor2E/gvsDga40hZ31Ts/oEqtGmdHec435HVp9Rjsyp+D1k9RlFDsj6UBkB/YHcZ0NBn9XN7yD3
BfyqvdBB7ic30n6Z1pcMwdnlXwLDOl+xkK7g/tS0PoHq5OCumfsdaX1GazKnbacbPxf3NTmgo9Xd
7DV/MhQR+5qen8x9AY+2TzYux/3kRrDM6xNDngUOz+W+wKD9/oiUXj81r0+gBle8O85xvyOvz3AD
b+Vj6Zy/pPk4QkJlBSbUVDA+BjNAfmkBRqQ5Q0WS1WMwA5RF7sBA0OTD30GINhQngocwPUSLoYBn
aZ0fC9ECnhYsQ5dn4kZGh0Vvs2Qonh6iGQZ4N6Su209NvxSo0YSSFmouRHekXxrjL1xv5QohOquw
uH0lAO/n1VWaLe/6LO7nr9+Wt3iCylo1RBHTd6TM1esrMlTjyudaufeF7fqKbA4g2pJI1+vEan9B
hbF0YFJSYu0JgWVlDEGkQQ2JE6EjXavF78JF0Y64o0QjqB6/owVLIHu94nBBLwPDoHbGedlFwQsG
K2hZ8SbbL+BxCxVLUKOrmZw2b9J8PLbpTWJZUa1W4C7Y5mXoRpR98dGjgUGI+iNh7Lff/+ev3/75
54cg6W//+t8v/yQwPC39wP7yN/roh399+7+/fvjHf//+w9+38eJvf18ZiGp1My3qph+Pvj3sy9ev
f3z788+6h66V364PTcqpv3/5Q7SlJLDy86ux3orlaJDfn/lfv3z5TxZ7/OPHH3/54xv57/8T7ccf
f7j+Taz8+uW3f377evc4rQBbxB6zXlDYGS3Z/h+0QNm8+5h/91zBG/fxbWVTCdDtwUk2lf5Wlk19
X9NuPlpDAlfRiaIipLSf7+O6t8Lio0ejF6wrJdnkQor/eGxLSNHBmVJtdbUzheaQsmk6sfhovmwq
/3iHWsXrKmYhnBxrhZNvz7JwwRhcrnjwri/FOAU9Y9gsN4B9oKDH58VIM6m+1/R8h2pUs4Je+iq4
AxkNn9cR46c1bBzbIEw6K6Cxy1WolbWWg4fXy5Frp76Ol1FkP/Y02YaHPkA+HiPiygXihWAq7PAA
nsw0JxEdOBY43AoiwYjFFmhl0b5eCBWifasmEYxVK29K8qpzhHDb+yiseSPIQ99h07u9R8RB0CrY
9RiB3mveVJDCPdY04h6JtqFTDHdA64qiHO6qnYWgNcrAkG3v3BsMgQphiH5K6DjJq1doFKg2wJjD
hKl1nwLVWa9GSFNAx7lH46h6pTs6AoSeK6xkDivk4DfmYrvuZTKna9SeN+Y6CnCTOWM78oBA9fw6
pPjMutunH14eXzs4/i1wU0casVR3mkUPxy/Vr1CNa1+oyVfph5yUiHCof10Cj6vSrIML9qsPu6UE
vxiiD/cO5WcvZxmG0bZpG56N4lMLDhPU6EqSTLnA01FwaLzmVQOU9P5fJvB4R1/R0WWSj5nUekTv
ymTIqlKC+PNyP4F3fQWHOe6LG9EWeZl8LIY+mqufxX2G4co76nruTy04TFBjrIC64X5HwaHxvLaN
plSK+TLcD+SAPhidOR8cx30xBK607H1e7ifwENVQ7osbBR3eVoaw2PThM7jPMIKv6ZBVwf2pBYcC
FexND7uF+x0FhyZ4MrevAPUa3CcHhHBLGZzIfTYEeJa42EHuM/hoVZe4WI774kZWLYuNkyH0+uR5
n2HED9mpY9yfWnAoUNHaihSSDfc7Cg7pv2xOdbZefy7ug72oyAyfzf1kqJiS9bzcF/BGh6HcT27k
4vKegQzpKO1ZT+U+w0BD/xnB/bkFhwIVrengfk/BIQCZA/cEoqLH33JUF6N0sNP3+2LIYKci28nc
F/DWmi5hwSz3xY1g2ToyGfKqdFf2GdxnGPRHNWTen1twyFA5AaH9TgN6Cg6juxij4xMIDQx4y0C/
xUevp3OfDYEq6VQ+MfcFvNNdIiM57osbGWPN28oQrbYPVbOM8QrrizXP9dyfe13PUB3N/h3c77mt
Rc3mzHex5ufMMBdMnD7viyHwpUqC5+V+Ah9dV5/ZHPeTG4W4nPfFEOpSisRncJ9heB+bsvez3J9b
ycZQ6U+qY83fU8mGNJw+whMIDRx+y7Rauiheiu9rMz0sD55SbLNAp/nFQq7NwbDIlAxZdK94A5nA
OxO75I+ykSlKB+xlm4NkiN7HuZFJYNA/K472KyLT1HQ3gRqV8R1pTx1ZVjQmnOOtw3dwA2kVfSna
bEPTgdxnQ84e6Ht/JvcFPOguqfMM969u5P0d99mQxz3Xms59+hLSgmnEaUSc2uYgQUWoUGddcz92
tDmw2pA5+u53kPJIrOehC272LQQb4tq/Unx+Xu4LeH07mRvD/eRGCOFtZci4Y5KnQ7zCKiL/iNOI
ODXrUKDq4EqaLTnud2QdWo1kzhSbvr0M943hoVN2OvfFEBj3iqcRV/A+jryFuLqRWwqkJEMxqnMz
jwSG8Q5HtDWMU7MOBaqlUWzPOowdWYc0KpcQuKSmUy8j2glb+LxehuCFEIY0qIzteSQNehkClZsf
tgtXE7BmvYyruVhhbre4PfrNLx+ol5GQhmWh5Vi9jKsBfCxt0amXkR4KenVze1Qv4/pY+z7XH9TL
4MeBVrrUR7baCwoSB716GYLPIVbURW71MgjQBL0MgcRdt0ccVcf2a6oGvQyGGo2y2F6OQsCa9TKS
OV1sTljtTLE5pJyrl2FN4Ik47HVkfo1VMS3NbPBmdk5uMvQhhfRiq2IGH2njNXJVLG5EG214WxlC
Zw81/hvjFS74iqVmReCbexLOUL0tVi/lAl/PSbi1ZM7gXuLkS3DfkgN6uK3w53FfDEVfmpyel/sJ
/K1j6RjuixtZ7/XbvSGaVE7Oy0swoJgmUM19nHsSzlDB0WA2cx97TsKdInOW6P8dcN+RAwI4nSn+
H8d9MRRD6Rjhebkv4FGNPQlPbgTL5l9iKKqDDYDGeAUnoLRoKma5P/cknKGicx0bHuw5CXdA5ugV
fQ+3YI6l+4PW+yd7j3NzBggcrsHECh2Fx2AGCLh+gPFETYSYa4k4LiqKIVSlBfbzRsUE/nbWMCgq
MsGc0fr+dXD78ZOzlRMM8BW9xSui4tw7AoaqXQjtrZGw547AOzZXlF17majIvyUYFQq/paTl3kOp
tZY7H4atRjfQpDOiJRd2VMXXa7kLVAi6ozIWbbuWO5tjPYPKd7UjTchCC23ShO8yhD78ikuJS8Fl
WbRlxBvrqGVue2ORuz50rJ9czxujad6hwxZfzhwY4/IO6t9f/vrlH5nhsFtRPpsR5RN8QWNHiRfB
uT22aTjAuQpx8P3haF+Obdo6LT56MDCattj6gDj0zLN4L9mcvqIf2P5AFpp1Pbqutoeuqwm4Va6o
vJK97iKktwen6y76W/m6633ZtfloBUlbPWad016ZgVuvxIJXsrBXKXMsR9f48dgWuhIFnB1wg44d
jc/WLeEWH33CdRf9eBfIMRp+/PIXB6XuZ9f1r164QNhG7FCI2I7/2TyBMaDbY1tcwEVjm+6CH7sA
Xxw2u8B2D+Bye4DgLyEGBw9LbuPPLsC3DvF1U5b1tJ6tamCF9Y2sp7Wcm0M7BXUn63lFSjvuZlnP
9FWwe11zx4uJt7YMu5cSv+JG1ZVX/25tU1Rj/MWa6NW9F0Aw9LIfH2XctREcp8HPbgAeos25AfdV
VW7jBgTVYuxyA6BFW6lkZ0cv/UgLuBWOqEqlewW19MNt6Epa6evWdIw1KnKMfpWMz2v6+NMKtteq
q0421/ExNaODaNbjE3yTBv/43nICQ9vi2Uq5tUMvhIrWDquucwkr1ghi7q4cg5p7QsZQTYARyf5B
dRyq1AvFC1QLIQw4/wlqqjKaQHXOlpR36qF2CDk1jiqFkYqt92bd2HNEmsxBe8Nq9q5mgfpkznT0
x2YP6fx1Vlcc62zM+Z5fFzjOqNIi/FV6hxKxKRBxWcS4BZpjkfwJC7QEVfl2+f30Vef2RCeessn0
FTy4rgL4zJLj6sNu2S8rGfIYDsnvj3FJy71pRkTxqZJcCSrG0tVgLvB0SHJZiGwOSiKlLxN4Iv0W
cj/MFMD3BB4vKqXjA88Vakffj/RVmnhPUt44FngSeN+n/Z8LPOzDTmm/3OuIoQAnd7cXGJ4i44Dq
+6Cm6oEJVIohFQWDm8DToQdmaUijD6FTxv65Ag96HrqbvlEx8BzKrhFDGjsTNU/mvoD/UIAbw31x
I1DWv60MWb8nMzmb+wwDlCsJNtdzf6oemECNOoTmS2IG1sF9To2jrdz+cuxhatyUAtwFOqT3Bmqv
ZdQrRCaaFTmfRIWMSumwyJQMBVMqcnzayHQFH/oUirORSdzI4UIXJBmCWMpN+YTIJDCsC6WStfrI
NLUKSqA6HdtVShlYc2RyipbrFtwTKBQPeMuRh875mnOYY9xnQybAa3KfwVulR3L/6kbktW8rQ87Y
nZ32dO4TDK9Vhdz/Pvf11CqoBDWqdj0wBtbOfW3IHG2Dzq9+Pv6WdTqTiJkKyHHcF0OoS2L3z8v9
BN71VUDmuC9u5Azot3tDvLc+mfsCg/47IIs36KlVUAIVXA3UDfc7qqCcRjZnn0Ch+PhbNoav/u19
b90Z3BdD6M+qgDzG/QQ+9tX6ZLkvbgRqcQUihqI+qE4+xisid0Ubwf2pmQwClYD2zPsdF9m0ciVz
DvZSrV6D+8jpWuBnn0QmQ4ilZIMn5j5tzZWytqv6Ocd9cSNP+623lSHtS2Uzn8J9hhGdGpD/zocG
U7lPUHnA2pOfdUcXUmctmdPFuvCX4b7l+3dvcjW+47gvhsJpHYiPcT+BBxh5A3l1o7six2SIpezP
5b5NqR4jpN6CnpprJ1CthvZSNQbWzn2naGQg+O/hrM9ZHrpgp5/1iSETS6VUz8t9Af+R1DeG++JG
UTn7tjLkdptczuY+w3D0lxHJq3pqF9IENep2DWAG1sF9zzeQpreLzwhpxzWYYqeIIpgB0rULMMAJ
z73tBp8rKnrFTqXi9KgohtCW+mk9b1RM4IPDoVFR3Mh5fLs3xHUuh7oijPEK/1GpdiwqTk0GFajB
xYp2kpuo2JEM6lg6IZDR7+EkxJMDhuhVTZngMe6zIQRzUkeUg9wHzlFS0F21+Yj7yY0iwtvKkL61
zDyN+wwjDrr9nJqPKVAj1oiZbbjfkY/pgiZzrng+/DLcD+SANHZh+kkIG0Kl97z6ObmfwHs79AZE
3Mjbu92QGNKwl7U6m/sCI/qKNX8F96fmYzJUejO+dB2Z435HPqaj4SQvtvA93H6C5qG7ZXDN474Y
CuEl6zASeFBm6A1IciOARU1+MhRNScn4M7jPMLTDUk5vPffnZjwyVGNUKU8sx/2ejEfwNDIQ946p
X4P7IrlqKw6QHx6kjFAwWoPBCumAR2CGaOmswHCiVufIDJBiuwODRlNQmB6i2RCX975kiBbwFkfW
6Ca2Rxr89etwYW/XPz1EEwyibkXn5/0QbeYmpgrU6NtbczCw9hAdDZlzvbUVzxWio784jLrUN74k
RttDqbLECyPymubO/Umjwu86kiLrpU0FqrGhYgez8TvdLm3qItDoRlWaTrNitOt3ZCn0vJOySvnp
XeXpZ/Pzl6X+l6DicDUikc10JLK1vC+Cak2PIosxPe8rXjRy46X6kbkfjc9tbMl4jSqLbNe/yamN
LQWqVq60Q869yY7GlmLOWKOPi78GM7WxZUIalf24PBrb2PJqwKzydI81trw+1Gt49NDuxpbXx8J7
mv9fxxpbyuNsbBPdznnBhMaWgi86HfZJsVH6ZUATGlsKJPQ4ZnKY2tiSoVrjbMVVxCakdDS2TOZ8
HCHzal6tsSX/+OAg2K3Wt6/V+r49C2kggfbSNa1UxumPyvsLtEwND1Rm+OTNetDa3KnMXKGG2C5D
m75KS5d+pYnPa+Ly0xr2renOmA4uqRlIgGUugxhyZi8PbnIHF4ERtbWF11TW0uyFUKOled/1I2EF
NENi89wzWIaKrngoWg3VdpxF1Ks+MlRHW7SKXiqbaaTnuFjMmZrd8tqcVe26iGzOO2vdQ0mv6FG7
r81az1ysuhtrpemLycRa54yLdhNrCSltZrpirfcKS+orcyS/2zvGbMOt99r1JdO/23sUb/kPKqwc
wdOSvV8P+1h7nHskYHRJvLagiD2gSU9JE3vduEfQxqBGND4Mdm7JL0NFq4dI7dqOg522oBuUUx1V
SranOjmZgwolqY050xN0kSdqWyoXe5XmZxRWaSanSJ4RQOpZrTvNzW2Gr9avUK3XzTNI+qrZ1Rd4
yq6LCbxVtisHMbNmv/owLA8HkiEWqjl1zc4wHGfbjMg/tlOrMRNUPuJpDzwd1ZheazZnS/cbLxN4
DP0WHXROgaUn8HirfJwQeK5QtWoPPPJVCKU5+3kDj4CPqi8BMhN4rj4c1SL5ORmi+HzuYYHAMEGX
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
g2jnP/z2/PT53cOvHz8/WKWMfviPL89vvzz88L+fnz89fXj/l+cI+eGQmyAtK3n96v5L/PbPn/nV
Hf6l5n/Jzg/4X/jpf304Rqog/JeHKYQHreQXPfzX//rw9sPH2EuH0X99evt19iNB5c6G/+kf//T/
+vlff/z7H//h5//+f/39n/5Pcd3/97/9w7/++PC//vlf/uFPMr7//Z/++V//4X/89PDDayOIh18+
f/zfz78/xh8em+t8/CT9h/74/f2Xr+/f/lf98L8mg2/fMJZDh8F/ZzL89ek/H/75X/7ln//847/9
6R//9cd//O8PYuynOfKDwvu+g1CCLD/3+ef9j3350Q8n7P3w5evTZ2bey1B6xfwNPF3YY0cAizqX
DSdj9PBvf/r7/8/f/+M//f1/+6d/2PxjJ886/s0gyZaZ6PLf//lPP/79f//x5//xz//fP3VFcfLl
/vAytsyIX8wvT25GIMmq7XIP5+sbn2i/iIiHjxYRUaB606Uu6tCyuwKqWUI1GajeZEUe9lBnTUxk
DA8jUNzEJJqjEvnnhbnw+iuKzXm9M8boF7Xd46D7izWAsrGvi7qeeLDyUdexWeXJhVNR1wBj4knd
HEfdBFWhrY+68lWrbG730yvqLqY+m6a+/7X8iKG8+f3j788P//yn//EP//ff/+l/zENugo3etYXc
NOXOIq6jEHs0H0290VDwPnMet4i4m37o6XArMJy4T2G47QbhXKxlIrzzvxicDZmXTjbFC6if/w82
d5BcBn9yoWSXCyU7XyiJaY4TFcoHM9O0zbSHArXC06ad2WaafMGJ3oppt8k06mw/vbxp3Gba+oLL
htOmeY+/ybSjgpOtFdOwzTRixU37zHTYZJpU+68OaptpftvNpu020w6bo1nYFs1Ebal8c3xsGjf+
aipZ2q2Y3sRrObWoEMY4Nk2beC05hBWtumamN/HaKuddeenVzPQmXlt204JeBCdNi6jPJtPCrlbT
mzzc8j9XCHDOTG/itdXWVTSNmZnetEqx2jnfGEhFPXOT6eAquvfMTG9apVhNJWW1K6a3RTPTvkAS
/aZNpmXb3Gp6WzQzruYMdWZ6WzTjhXhBC5/Tpu22aMZrhQot8JnpbdHM6pJ+siumt0Uz3jz78uK/
melt0YzjaIHQ12nTsC2a8X8W6LasmN4WzSx50xpIYVs0A93+rt22aAa2RvdoZnpbNANXIue5Ynpb
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
1h0n2Xv1pU5NAq/Dj44EXjjar7wUBAEdPja/4iCJixmD0k9VHMjDDNiCioMx40DvR+OFQV5NocND
auD84+u788+vker/tfh32PsLG8U94g87lPH28/XHj2/vLj/tr7/cvdmAKWBhwubDfndzkUhZwONB
nPPpdn9+u3n1837/effx8pd96p3aPEiVcitjVDp+lf722xsA9fCHMuIfCi3NV/Dpv26GSH1UX236
EGAnsLVq86c/bc4/Xt/eDypAiqHRl7Tk8FBiOgJyF+Ga//kf337/1790FEb3gxA2726uf9735yFc
f/58fXP35ery9u7y/E9DdiT5xghlBxn6zbffffftP3/41zdff//D13/uJi+McR+GYXWbcw8Yvyx4
kHs2pYd/H5H26vZud3O3P6yv8GrrsBwmjtXAS4oICFeoP7Fh4Vc9PvsBcUjnqEzVAyXVX779728q
Yji6rT22KrQFH8JozZSNJQ/jc+X18lC3UdCSNrVySVm51jKjETkDqiyHOvXUcs5TI1QjsCG01FOj
S35YgWxP3YkLGaVIE3Hy8Vvki8OLoDqMDB6623daSLV7X+pvAbw/4W+F3GoZIByc8bfgbA0644G/
7aAqzfC3+Fe1o8b71PK3k+5bOWWlkxQr3Y8j2AbOHp677bp+J95Wbg0EXsGNtAACPeriPfG2i77o
jLNN4XiI1L2872yrQTjla99p9f69HjRMK4wrQ05G/qGH++3fQNyBKABCuGO92nLaqy3HvdooWkJM
m89PMBKtl4lWjuKnpEWbZaIhZGaLtstE46WPK9otE50GjTNFh0WilSS70GjRcZloTT5VkKLhnrNI
tDUZ5++MaLlMtLcZ5QIzope5FAXY2Qu+zKVo6QsIYEail7mUE02etOhlLgUO44yU+4zoZS5FB8k+
ufwyl2KEZTtSv8ylGJXDn3BcdFhm18b4DC6aGdHL7Nq4QOX3aNHL7NqEnNvojOhlxmWlyCAbnxG9
TMMt3FHy6dqGouMyNbNWU49KtOhle229s1zjigv3OpIZbFq0XyTayVDAYtoXHfHzF4nWYF9c0ctc
inM5rfAzoped1y7ktD/PiF62116ojLL9GdHLTi6cCMRdcLnMpeBoUK6Gy2UuxePkaK7oZS7FB5/B
HzMjepmaBRElV8PlMjWDQCGj+OK4aLVMzYKVGQNLZkQv82YBrItr12qZhgeISbl2rZY50ihNxnTB
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

------=_Part_18857_17488747.1162966717350--


Received: from pisco.CS.Berkeley.EDU (Debian-exim@pisco.CS.Berkeley.EDU [128.32.37.175]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA4KPbY15140 for <dtn-users@mailman.dtnrg.org>; Sat, 4 Nov 2006 12:25:37 -0800
Received: from demmer by pisco.CS.Berkeley.EDU with local (Exim 4.50) id 1GgS59-0006XV-Fw for dtn-users@mailman.dtnrg.org; Sat, 04 Nov 2006 12:25:35 -0800
Date: Sat, 4 Nov 2006 12:25:35 -0800
From: Michael Demmer <demmer@cs.berkeley.edu>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Issues creating link on the fly.
Message-ID: <20061104202535.GB25088@pisco.cs.berkeley.edu>
References: <f0d10dd60611040330n25ab7639q4488dd6b160913b7@mail.gmail.com> <20061104144459.GD18925@pisco.cs.berkeley.edu> <f0d10dd60611040738o1f7c0ebeo8f1909bd6237a2f1@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f0d10dd60611040738o1f7c0ebeo8f1909bd6237a2f1@mail.gmail.com>
User-Agent: Mutt/1.5.9i
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

You shouldn't need any link configuration on the other end -- it
should create an opportunistic link automatically in response to
getting the TCP connect. In the current implementation, there actually
isn't any way to have a one way connection using TCP.

Assuming everything is fine from a network perspective, then no, you
shouldn't have gotten the behavior you did, so I'm skeptical of a
firewall.

-m

> Hi Mike,
> Thanks for the clarification. I had the dtn daemon running on the other end
> but I had not asked the other end to create a link. The basic idea was to be
> able to have a one way connection. Should I have faced the problem in the
> scenario that I just described assuming everything else is fine (no
> firewall, etc.)?
> 
> Thanks
> Zahir
> 
> On 11/4/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> >
> >What seems to be happening is that the TCP CL can establish a
> >connection but the other side doesn't ever send any data.
> >
> >If you grep out the log lines for "/dtn/cl/tcp" you should be able to
> >see this happening. In particular, you can see it close the connection
> >since it hasn't heard any data for a while:
> >
> >
> >[1162638703.974625 /dtn/cl/tcp/conn/0x1016d9e8 info] handle_poll_timeout:
> >no data heard for 2119426570 msecs (keepalive_sent 0.1, data_rcvd
> >1628669084.1628669084, now 1162638703.974625, poll_timeout 10000) --
> >closing contact
> >
> >Note that the strange timeout values are due to a bug in the code
> >where it only initializes the timers after the other side has returned
> >the contact header to set up the connection. This should really say
> >that it hasn't heard anything in like 30 seconds. I'll check in a fix
> >for this, but in the meantime, you should check your network firewall
> >and other settings to explain why it can establish the connection but
> >never gets any data back.
> >
> >Re the errors at the end of the file, that's due to the fact that the
> >API server closes a socket that's being listened on during
> >shutdown. Don't worry about it, but we'll clean it up at some point.
> >
> >-m
> >
> >
> >
> >> Hello All,
> >> I am using the following mechanism to create a link at runtime.
> >Tca_router
> >> receives a bundle with details:
> >>
> >> "interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER"
> >>
> >> in reaction to which it does the following:
> >>
> >> "create_link(strlink,streid,strnode);"
> >>
> >> where strlink=tcp://172.27.22.84:5000
> >> streid=tca://B1
> >> strnode=ROUTER
> >>
> >> I have added another field called remote_node_type in the link class and
> >> have made appropriate changes in the parse_args function to assign right
> >> value. strnode stands for the remote_node_type. streid is for remote
> >node
> >> eid.
> >>
> >> the contents of the function create link are below:
> >> {
> >>
> >> EndpointID link_eid(link_addr);
> >>    std::string clayer_name = link_eid.scheme_str();
> >>    const std::string& ssp = link_eid.ssp();
> >>    std::string host = ssp.substr(2, ssp.length()); // chop off the "//"
> >>
> >>    ContactManager* p_man = BundleDaemon::instance()->contactmgr();
> >>
> >>    // Check if there's an existing link of the same name.
> >>    Link* p_link = p_man->find_link(host.c_str());
> >>    if (p_link != NULL) return p_link;
> >>
> >>    ConvergenceLayer* cl =
> >> ConvergenceLayer::find_clayer(clayer_name.c_str());
> >>    if (!cl) {
> >>        log_err("TcaRouter: create_link failed: invalid convergence
> >layer"
> >>                  " '%s'", clayer_name.c_str());
> >>        return NULL;
> >>    }
> >>    if(r_eid == "" || rnode_type == "")
> >>    {
> >>      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(),
> >0,
> >> NULL);
> >>      if (!p_link) return NULL;
> >>    }
> >>    else
> >>    {
> >>      const char *argv[2];
> >>      std::string t_eid = "remote_eid=" + r_eid;
> >>      std::string tnode_type = "remote_node_type=" + rnode_type;
> >>      argv[0]=(char *)malloc(t_eid.size());
> >>      argv[0]=const_cast<char *>(t_eid.c_str());
> >>      argv[1]=(char *)malloc(tnode_type.size());
> >>      argv[1]=const_cast<char *>(tnode_type.c_str());
> >>      printf("%s\n%s\n",argv[0],argv[1]);
> >>      fflush(stdout);
> >>      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(),
> >2,
> >> argv);
> >>      if (!p_link) return NULL;
> >>    }
> >>
> >>    // Add the link to contact manager's table, which posts a
> >>    // LinkCreatedEvent to the daemon
> >>    BundleDaemon::instance()->contactmgr()->add_link(p_link);
> >>    return p_link;
> >> }
> >>
> >> After creation of the link when I do route dump on the console first the
> >> state of the link is shown as OPENING and then it goes to UNAVAILABLE. I
> >> tried debugging through the debug file I have attached herewith but
> >could
> >> not decode much. Can some one please help me out.
> >>
> >> Mike please have a look at the last few lines of the debug file.
> >Whenever I
> >> type "exit" to quit dtn I and up getting some kind of socket error and
> >the
> >> daemon aborts. You might want to have a look at it.
> >>
> >> Thanks
> >> Zahir
> >
> >
> >_______________________________________________
> >dtn-users mailing list
> >dtn-users@mailman.dtnrg.org
> >http://mailman.dtnrg.org/mailman/listinfo/dtn-users
> >


Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.188]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA4FcAY13356 for <dtn-users@mailman.dtnrg.org>; Sat, 4 Nov 2006 07:38:10 -0800
Received: by nf-out-0910.google.com with SMTP id l36so2200387nfa for <dtn-users@mailman.dtnrg.org>; Sat, 04 Nov 2006 07:38:09 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=VqpoWFj70RiRL91Vl/6nNrHvRSpiarTxehkaXpnUz3U+H4iIEUqQEYI9VXD39e8fvOEZLl7pdKDuT9h3t57dbLV/IojmoKP+ZPz2JReGSAVBEZHoluE7FZXVvrCU7EnT9GGjzVmqqZ3trV3nQ499zpN+gL1Wc0c38Vq1Ipj43mA=
Received: by 10.78.185.7 with SMTP id i7mr4311852huf.1162654688610; Sat, 04 Nov 2006 07:38:08 -0800 (PST)
Received: by 10.78.155.2 with HTTP; Sat, 4 Nov 2006 07:38:08 -0800 (PST)
Message-ID: <f0d10dd60611040738o1f7c0ebeo8f1909bd6237a2f1@mail.gmail.com>
Date: Sat, 4 Nov 2006 21:08:08 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Issues creating link on the fly.
In-Reply-To: <20061104144459.GD18925@pisco.cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_32176_22727729.1162654688572"
References: <f0d10dd60611040330n25ab7639q4488dd6b160913b7@mail.gmail.com> <20061104144459.GD18925@pisco.cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_32176_22727729.1162654688572
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
Thanks for the clarification. I had the dtn daemon running on the other end
but I had not asked the other end to create a link. The basic idea was to be
able to have a one way connection. Should I have faced the problem in the
scenario that I just described assuming everything else is fine (no
firewall, etc.)?

Thanks
Zahir

On 11/4/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
>
> What seems to be happening is that the TCP CL can establish a
> connection but the other side doesn't ever send any data.
>
> If you grep out the log lines for "/dtn/cl/tcp" you should be able to
> see this happening. In particular, you can see it close the connection
> since it hasn't heard any data for a while:
>
>
> [1162638703.974625 /dtn/cl/tcp/conn/0x1016d9e8 info] handle_poll_timeout:
> no data heard for 2119426570 msecs (keepalive_sent 0.1, data_rcvd
> 1628669084.1628669084, now 1162638703.974625, poll_timeout 10000) --
> closing contact
>
> Note that the strange timeout values are due to a bug in the code
> where it only initializes the timers after the other side has returned
> the contact header to set up the connection. This should really say
> that it hasn't heard anything in like 30 seconds. I'll check in a fix
> for this, but in the meantime, you should check your network firewall
> and other settings to explain why it can establish the connection but
> never gets any data back.
>
> Re the errors at the end of the file, that's due to the fact that the
> API server closes a socket that's being listened on during
> shutdown. Don't worry about it, but we'll clean it up at some point.
>
> -m
>
>
>
> > Hello All,
> > I am using the following mechanism to create a link at runtime.
> Tca_router
> > receives a bundle with details:
> >
> > "interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER"
> >
> > in reaction to which it does the following:
> >
> > "create_link(strlink,streid,strnode);"
> >
> > where strlink=tcp://172.27.22.84:5000
> > streid=tca://B1
> > strnode=ROUTER
> >
> > I have added another field called remote_node_type in the link class and
> > have made appropriate changes in the parse_args function to assign right
> > value. strnode stands for the remote_node_type. streid is for remote
> node
> > eid.
> >
> > the contents of the function create link are below:
> > {
> >
> > EndpointID link_eid(link_addr);
> >    std::string clayer_name = link_eid.scheme_str();
> >    const std::string& ssp = link_eid.ssp();
> >    std::string host = ssp.substr(2, ssp.length()); // chop off the "//"
> >
> >    ContactManager* p_man = BundleDaemon::instance()->contactmgr();
> >
> >    // Check if there's an existing link of the same name.
> >    Link* p_link = p_man->find_link(host.c_str());
> >    if (p_link != NULL) return p_link;
> >
> >    ConvergenceLayer* cl =
> > ConvergenceLayer::find_clayer(clayer_name.c_str());
> >    if (!cl) {
> >        log_err("TcaRouter: create_link failed: invalid convergence
> layer"
> >                  " '%s'", clayer_name.c_str());
> >        return NULL;
> >    }
> >    if(r_eid == "" || rnode_type == "")
> >    {
> >      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(),
> 0,
> > NULL);
> >      if (!p_link) return NULL;
> >    }
> >    else
> >    {
> >      const char *argv[2];
> >      std::string t_eid = "remote_eid=" + r_eid;
> >      std::string tnode_type = "remote_node_type=" + rnode_type;
> >      argv[0]=(char *)malloc(t_eid.size());
> >      argv[0]=const_cast<char *>(t_eid.c_str());
> >      argv[1]=(char *)malloc(tnode_type.size());
> >      argv[1]=const_cast<char *>(tnode_type.c_str());
> >      printf("%s\n%s\n",argv[0],argv[1]);
> >      fflush(stdout);
> >      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(),
> 2,
> > argv);
> >      if (!p_link) return NULL;
> >    }
> >
> >    // Add the link to contact manager's table, which posts a
> >    // LinkCreatedEvent to the daemon
> >    BundleDaemon::instance()->contactmgr()->add_link(p_link);
> >    return p_link;
> > }
> >
> > After creation of the link when I do route dump on the console first the
> > state of the link is shown as OPENING and then it goes to UNAVAILABLE. I
> > tried debugging through the debug file I have attached herewith but
> could
> > not decode much. Can some one please help me out.
> >
> > Mike please have a look at the last few lines of the debug file.
> Whenever I
> > type "exit" to quit dtn I and up getting some kind of socket error and
> the
> > daemon aborts. You might want to have a look at it.
> >
> > Thanks
> > Zahir
>
>
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>

------=_Part_32176_22727729.1162654688572
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>Thanks for the clarification. I had the dtn daemon running on the other end but I had not asked the other end to create a link. The basic idea was to be able to have a one way connection. Should I have faced the problem in the scenario that I just described assuming everything else is fine (no firewall, etc.)?
<br><br>Thanks<br>Zahir<br><br><div><span class="gmail_quote">On 11/4/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>What seems to be happening is that the TCP CL can establish a<br>connection but the other side doesn't ever send any data.<br><br>If you grep out the log lines for &quot;/dtn/cl/tcp&quot; you should be able to<br>see this happening. In particular, you can see it close the connection
<br>since it hasn't heard any data for a while:<br><br><br>[1162638703.974625 /dtn/cl/tcp/conn/0x1016d9e8 info] handle_poll_timeout: no data heard for 2119426570 msecs (keepalive_sent 0.1, data_rcvd 1628669084.1628669084, now 
1162638703.974625, poll_timeout 10000) -- closing contact<br><br>Note that the strange timeout values are due to a bug in the code<br>where it only initializes the timers after the other side has returned<br>the contact header to set up the connection. This should really say
<br>that it hasn't heard anything in like 30 seconds. I'll check in a fix<br>for this, but in the meantime, you should check your network firewall<br>and other settings to explain why it can establish the connection but<br>
never gets any data back.<br><br>Re the errors at the end of the file, that's due to the fact that the<br>API server closes a socket that's being listened on during<br>shutdown. Don't worry about it, but we'll clean it up at some point.
<br><br>-m<br><br><br><br>&gt; Hello All,<br>&gt; I am using the following mechanism to create a link at runtime. Tca_router<br>&gt; receives a bundle with details:<br>&gt;<br>&gt; &quot;interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER&quot;
<br>&gt;<br>&gt; in reaction to which it does the following:<br>&gt;<br>&gt; &quot;create_link(strlink,streid,strnode);&quot;<br>&gt;<br>&gt; where strlink=tcp://172.27.22.84:5000<br>&gt; streid=tca://B1<br>&gt; strnode=ROUTER
<br>&gt;<br>&gt; I have added another field called remote_node_type in the link class and<br>&gt; have made appropriate changes in the parse_args function to assign right<br>&gt; value. strnode stands for the remote_node_type. streid is for remote node
<br>&gt; eid.<br>&gt;<br>&gt; the contents of the function create link are below:<br>&gt; {<br>&gt;<br>&gt; EndpointID link_eid(link_addr);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;std::string clayer_name = link_eid.scheme_str();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;const std::string&amp; ssp = link_eid.ssp();
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;std::string host = ssp.substr(2, ssp.length()); // chop off the &quot;//&quot;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;ContactManager* p_man = BundleDaemon::instance()-&gt;contactmgr();<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;// Check if there's an existing link of the same name.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Link* p_link = p_man-&gt;find_link(host.c_str());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;if (p_link != NULL) return p_link;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;ConvergenceLayer* cl =<br>&gt; ConvergenceLayer::find_clayer(clayer_name.c_str());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;if (!cl) {
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log_err(&quot;TcaRouter: create_link failed: invalid convergence layer&quot;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot; '%s'&quot;, clayer_name.c_str());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return NULL;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;if(r_eid == &quot;&quot; || rnode_type == &quot;&quot;)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 0,<br>&gt; NULL);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!p_link) return NULL;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;else<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const char *argv[2];
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::string t_eid = &quot;remote_eid=&quot; + r_eid;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;std::string tnode_type = &quot;remote_node_type=&quot; + rnode_type;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[0]=(char *)malloc(t_eid.size());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[0]=const_cast&lt;char *&gt;(t_eid.c_str());
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[1]=(char *)malloc(tnode_type.size());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argv[1]=const_cast&lt;char *&gt;(tnode_type.c_str());<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%s\n%s\n&quot;,argv[0],argv[1]);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fflush(stdout);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p_link = Link::create_link(host, Link::ALWAYSON, cl, 
host.c_str(), 2,<br>&gt; argv);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!p_link) return NULL;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;// Add the link to contact manager's table, which posts a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;// LinkCreatedEvent to the daemon<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;BundleDaemon::instance()-&gt;contactmgr()-&gt;add_link(p_link);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;return p_link;<br>&gt; }<br>&gt;<br>&gt; After creation of the link when I do route dump on the console first the<br>&gt; state of the link is shown as OPENING and then it goes to UNAVAILABLE. I<br>&gt; tried debugging through the debug file I have attached herewith but could
<br>&gt; not decode much. Can some one please help me out.<br>&gt;<br>&gt; Mike please have a look at the last few lines of the debug file. Whenever I<br>&gt; type &quot;exit&quot; to quit dtn I and up getting some kind of socket error and the
<br>&gt; daemon aborts. You might want to have a look at it.<br>&gt;<br>&gt; Thanks<br>&gt; Zahir<br><br><br>_______________________________________________<br>dtn-users mailing list<br><a href="mailto:dtn-users@mailman.dtnrg.org">
dtn-users@mailman.dtnrg.org</a><br><a href="http://mailman.dtnrg.org/mailman/listinfo/dtn-users">http://mailman.dtnrg.org/mailman/listinfo/dtn-users</a><br></blockquote></div><br>

------=_Part_32176_22727729.1162654688572--


Received: from pisco.CS.Berkeley.EDU (Debian-exim@pisco.CS.Berkeley.EDU [128.32.37.175]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA4EixY13012 for <dtn-users@mailman.dtnrg.org>; Sat, 4 Nov 2006 06:44:59 -0800
Received: from demmer by pisco.CS.Berkeley.EDU with local (Exim 4.50) id 1GgMlX-00052q-C7 for dtn-users@mailman.dtnrg.org; Sat, 04 Nov 2006 06:44:59 -0800
Date: Sat, 4 Nov 2006 06:44:59 -0800
From: Michael Demmer <demmer@cs.berkeley.edu>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Issues creating link on the fly.
Message-ID: <20061104144459.GD18925@pisco.cs.berkeley.edu>
References: <f0d10dd60611040330n25ab7639q4488dd6b160913b7@mail.gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f0d10dd60611040330n25ab7639q4488dd6b160913b7@mail.gmail.com>
User-Agent: Mutt/1.5.9i
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

What seems to be happening is that the TCP CL can establish a
connection but the other side doesn't ever send any data. 

If you grep out the log lines for "/dtn/cl/tcp" you should be able to
see this happening. In particular, you can see it close the connection
since it hasn't heard any data for a while:


[1162638703.974625 /dtn/cl/tcp/conn/0x1016d9e8 info] handle_poll_timeout: no data heard for 2119426570 msecs (keepalive_sent 0.1, data_rcvd 1628669084.1628669084, now 1162638703.974625, poll_timeout 10000) -- closing contact

Note that the strange timeout values are due to a bug in the code
where it only initializes the timers after the other side has returned
the contact header to set up the connection. This should really say
that it hasn't heard anything in like 30 seconds. I'll check in a fix
for this, but in the meantime, you should check your network firewall
and other settings to explain why it can establish the connection but
never gets any data back.

Re the errors at the end of the file, that's due to the fact that the
API server closes a socket that's being listened on during
shutdown. Don't worry about it, but we'll clean it up at some point.

-m



> Hello All,
> I am using the following mechanism to create a link at runtime. Tca_router
> receives a bundle with details:
> 
> "interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER"
> 
> in reaction to which it does the following:
> 
> "create_link(strlink,streid,strnode);"
> 
> where strlink=tcp://172.27.22.84:5000
> streid=tca://B1
> strnode=ROUTER
> 
> I have added another field called remote_node_type in the link class and
> have made appropriate changes in the parse_args function to assign right
> value. strnode stands for the remote_node_type. streid is for remote node
> eid.
> 
> the contents of the function create link are below:
> {
> 
> EndpointID link_eid(link_addr);
>    std::string clayer_name = link_eid.scheme_str();
>    const std::string& ssp = link_eid.ssp();
>    std::string host = ssp.substr(2, ssp.length()); // chop off the "//"
> 
>    ContactManager* p_man = BundleDaemon::instance()->contactmgr();
> 
>    // Check if there's an existing link of the same name.
>    Link* p_link = p_man->find_link(host.c_str());
>    if (p_link != NULL) return p_link;
> 
>    ConvergenceLayer* cl =
> ConvergenceLayer::find_clayer(clayer_name.c_str());
>    if (!cl) {
>        log_err("TcaRouter: create_link failed: invalid convergence layer"
>                  " '%s'", clayer_name.c_str());
>        return NULL;
>    }
>    if(r_eid == "" || rnode_type == "")
>    {
>      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 0,
> NULL);
>      if (!p_link) return NULL;
>    }
>    else
>    {
>      const char *argv[2];
>      std::string t_eid = "remote_eid=" + r_eid;
>      std::string tnode_type = "remote_node_type=" + rnode_type;
>      argv[0]=(char *)malloc(t_eid.size());
>      argv[0]=const_cast<char *>(t_eid.c_str());
>      argv[1]=(char *)malloc(tnode_type.size());
>      argv[1]=const_cast<char *>(tnode_type.c_str());
>      printf("%s\n%s\n",argv[0],argv[1]);
>      fflush(stdout);
>      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 2,
> argv);
>      if (!p_link) return NULL;
>    }
> 
>    // Add the link to contact manager's table, which posts a
>    // LinkCreatedEvent to the daemon
>    BundleDaemon::instance()->contactmgr()->add_link(p_link);
>    return p_link;
> }
> 
> After creation of the link when I do route dump on the console first the
> state of the link is shown as OPENING and then it goes to UNAVAILABLE. I
> tried debugging through the debug file I have attached herewith but could
> not decode much. Can some one please help me out.
> 
> Mike please have a look at the last few lines of the debug file. Whenever I
> type "exit" to quit dtn I and up getting some kind of socket error and the
> daemon aborts. You might want to have a look at it.
> 
> Thanks
> Zahir




Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.186]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA4BUwY11506 for <dtn-users@mailman.dtnrg.org>; Sat, 4 Nov 2006 03:30:58 -0800
Received: by nf-out-0910.google.com with SMTP id l36so2080483nfa for <dtn-users@mailman.dtnrg.org>; Sat, 04 Nov 2006 03:30:56 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=RL1b6iYmas3txvfJK794p9oCr86+2S4BMumyFneMPqtZhlmOb0d7L33ImvfQocfbww8TfuYs9wTUE5CimLzLvA2VT90uCEJwlDZpeso4QMCNfCpP52C5ZzR7Vm9b08RycUsYgW7DlYqlOsyg0OM4KyyBjxJVY7OQfuRsZYAwV00=
Received: by 10.78.97.7 with SMTP id u7mr4088530hub.1162639854731; Sat, 04 Nov 2006 03:30:54 -0800 (PST)
Received: by 10.78.155.2 with HTTP; Sat, 4 Nov 2006 03:30:54 -0800 (PST)
Message-ID: <f0d10dd60611040330n25ab7639q4488dd6b160913b7@mail.gmail.com>
Date: Sat, 4 Nov 2006 17:00:54 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: multipart/mixed;  boundary="----=_Part_30828_3357508.1162639854509"
Subject: [dtn-users] Issues creating link on the fly.
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_30828_3357508.1162639854509
Content-Type: multipart/alternative; 
	boundary="----=_Part_30829_24652021.1162639854509"

------=_Part_30829_24652021.1162639854509
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello All,
I am using the following mechanism to create a link at runtime. Tca_router
receives a bundle with details:

"interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER"

in reaction to which it does the following:

"create_link(strlink,streid,strnode);"

where strlink=tcp://172.27.22.84:5000
streid=tca://B1
strnode=ROUTER

I have added another field called remote_node_type in the link class and
have made appropriate changes in the parse_args function to assign right
value. strnode stands for the remote_node_type. streid is for remote node
eid.

the contents of the function create link are below:
{

EndpointID link_eid(link_addr);
    std::string clayer_name = link_eid.scheme_str();
    const std::string& ssp = link_eid.ssp();
    std::string host = ssp.substr(2, ssp.length()); // chop off the "//"

    ContactManager* p_man = BundleDaemon::instance()->contactmgr();

    // Check if there's an existing link of the same name.
    Link* p_link = p_man->find_link(host.c_str());
    if (p_link != NULL) return p_link;

    ConvergenceLayer* cl =
ConvergenceLayer::find_clayer(clayer_name.c_str());
    if (!cl) {
        log_err("TcaRouter: create_link failed: invalid convergence layer"
                  " '%s'", clayer_name.c_str());
        return NULL;
    }
    if(r_eid == "" || rnode_type == "")
    {
      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 0,
NULL);
      if (!p_link) return NULL;
    }
    else
    {
      const char *argv[2];
      std::string t_eid = "remote_eid=" + r_eid;
      std::string tnode_type = "remote_node_type=" + rnode_type;
      argv[0]=(char *)malloc(t_eid.size());
      argv[0]=const_cast<char *>(t_eid.c_str());
      argv[1]=(char *)malloc(tnode_type.size());
      argv[1]=const_cast<char *>(tnode_type.c_str());
      printf("%s\n%s\n",argv[0],argv[1]);
      fflush(stdout);
      p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 2,
argv);
      if (!p_link) return NULL;
    }

    // Add the link to contact manager's table, which posts a
    // LinkCreatedEvent to the daemon
    BundleDaemon::instance()->contactmgr()->add_link(p_link);
    return p_link;
}

After creation of the link when I do route dump on the console first the
state of the link is shown as OPENING and then it goes to UNAVAILABLE. I
tried debugging through the debug file I have attached herewith but could
not decode much. Can some one please help me out.

Mike please have a look at the last few lines of the debug file. Whenever I
type "exit" to quit dtn I and up getting some kind of socket error and the
daemon aborts. You might want to have a look at it.

Thanks
Zahir

------=_Part_30829_24652021.1162639854509
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello All,<br>I am using the following mechanism to create a link at runtime. Tca_router receives a bundle with details:<br><br>&quot;interface_up:tca://B1|tcp://172.27.22.84:5000|ROUTER&quot;<br><br>in reaction to which it does the following:
<br><br>&quot;create_link(strlink,streid,strnode);&quot;<br><br>where strlink=tcp://172.27.22.84:5000<br>streid=tca://B1<br>strnode=ROUTER<br><br>I have added another field called remote_node_type in the link class and have made appropriate changes in the parse_args function to assign right value. strnode stands for the remote_node_type. streid is for remote node eid.
<br><br>the contents of the function create link are below:<br>{<br><br>EndpointID link_eid(link_addr);<br>&nbsp;&nbsp;&nbsp; std::string clayer_name = link_eid.scheme_str();<br>&nbsp;&nbsp;&nbsp; const std::string&amp; ssp = link_eid.ssp();<br>&nbsp;&nbsp;&nbsp; std::string host = 
ssp.substr(2, ssp.length()); // chop off the &quot;//&quot;<br><br>&nbsp;&nbsp;&nbsp; ContactManager* p_man = BundleDaemon::instance()-&gt;contactmgr();<br><br>&nbsp;&nbsp;&nbsp; // Check if there's an existing link of the same name.<br>&nbsp;&nbsp;&nbsp; Link* p_link = p_man-&gt;find_link(
host.c_str());<br>&nbsp;&nbsp;&nbsp; if (p_link != NULL) return p_link;<br><br>&nbsp;&nbsp;&nbsp; ConvergenceLayer* cl = ConvergenceLayer::find_clayer(clayer_name.c_str());<br>&nbsp;&nbsp;&nbsp; if (!cl) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log_err(&quot;TcaRouter: create_link failed: invalid convergence layer&quot;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot; '%s'&quot;, clayer_name.c_str());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return NULL;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if(r_eid == &quot;&quot; || rnode_type == &quot;&quot;)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p_link = Link::create_link(host, Link::ALWAYSON, cl, 
host.c_str(), 0, NULL);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!p_link) return NULL;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const char *argv[2];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::string t_eid = &quot;remote_eid=&quot; + r_eid;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; std::string tnode_type = &quot;remote_node_type=&quot; + rnode_type;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; argv[0]=(char *)malloc(t_eid.size());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; argv[0]=const_cast&lt;char *&gt;(t_eid.c_str());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; argv[1]=(char *)malloc(tnode_type.size());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; argv[1]=const_cast&lt;char *&gt;(tnode_type.c_str());<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf(&quot;%s\n%s\n&quot;,argv[0],argv[1]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fflush(stdout);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p_link = Link::create_link(host, Link::ALWAYSON, cl, host.c_str(), 2, argv);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!p_link) return NULL;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; // Add the link to contact manager's table, which posts a
<br>&nbsp;&nbsp;&nbsp; // LinkCreatedEvent to the daemon<br>&nbsp;&nbsp;&nbsp; BundleDaemon::instance()-&gt;contactmgr()-&gt;add_link(p_link);<br>&nbsp;&nbsp;&nbsp; return p_link;<br>}<br><br>After creation of the link when I do route dump on the console first the state of the link is shown as OPENING and then it goes to UNAVAILABLE. I tried debugging through the debug file I have attached herewith but could not decode much. Can some one please help me out.
<br><br>Mike please have a look at the last few lines of the debug file. Whenever I type &quot;exit&quot; to quit dtn I and up getting some kind of socket error and the daemon aborts. You might want to have a look at it.<br>
<br>Thanks<br>Zahir<br>

------=_Part_30829_24652021.1162639854509--

------=_Part_30828_3357508.1162639854509
Content-Type: application/octet-stream; name="dtn_debug.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="dtn_debug.c"
X-Attachment-Id: f_eu3xrq57

WzExNjI2Mzg2NTUuNzY1NjI1IC9sb2cgZGVidWddIGFkZGluZyBsb2cgcmVwYXJzZSBzaWduYWwg
aGFuZGxlcgpbMTE2MjYzODY1NS43NjU2MjUgL3RpbWVyIGRlYnVnXSBhZGRpbmcgc2lnbmFsIGhh
bmRsZXIgMHg0NmI3NDIgZm9yIHNpZ25hbCAxClsxMTYyNjM4NjU1Ljc2NTYyNSAvbG9nIGRlYnVn
XSBhZGRpbmcgbG9nIHJvdGF0ZSBzaWduYWwgaGFuZGxlcgpbMTE2MjYzODY1NS43NjU2MjUgL3Rp
bWVyIGRlYnVnXSBhZGRpbmcgc2lnbmFsIGhhbmRsZXIgMHg0NmI2ZWEgZm9yIHNpZ25hbCAzMApb
MTE2MjYzODY1NS43NjU2MjUgL2R0bmQgbm90aWNlXSBEVE4gZGFlbW9uIHN0YXJ0aW5nIHVwLi4u
IChwaWQgMTEyOCkKWzExNjI2Mzg2NTUuODA2NjI1IC9jb21tYW5kIHdhcm5pbmddIGluaXRpYWxp
emF0aW9uIHByb2JsZW0gY2FsbGluZyBUY2xfSW5pdDogQ2FuJ3QgZmluZCBhIHVzYWJsZSBpbml0
LnRjbCBpbiB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzOiAKWzExNjI2Mzg2NTUuODA2NjI1IC9j
b21tYW5kIHdhcm5pbmddICAgICBDOi9jeWd3aW4vc2hhcmUvdGNsOC40IEM6L2N5Z3dpbi9ob21l
L0FkbWluaXN0cmF0b3IvZHRuX3N0YXJjaF93aXRoX2N2c18zMF8xMF8wNi9zaGFyZS90Y2w4LjQg
QzovY3lnd2luL2hvbWUvQWRtaW5pc3RyYXRvci9kdG5fc3RhcmNoX3dpdGhfY3ZzXzMwXzEwXzA2
L3Vzci9zaGFyZS90Y2w4LjQgQzovY3lnd2luL2hvbWUvQWRtaW5pc3RyYXRvci9zaGFyZS90Y2w4
LjQgQzovY3lnd2luL2hvbWUvQWRtaW5pc3RyYXRvci9kdG5fc3RhcmNoX3dpdGhfY3ZzXzMwXzEw
XzA2L2xpYnJhcnkgQzovY3lnd2luL2hvbWUvQWRtaW5pc3RyYXRvci9saWJyYXJ5IEM6L2N5Z3dp
bi9ob21lL0FkbWluaXN0cmF0b3IvLi4vdGNsOC40LjEvbGlicmFyeSBDOi9jeWd3aW4vaG9tZS8u
Li90Y2w4LjQuMS9saWJyYXJ5ClsxMTYyNjM4NjU1LjgwNjYyNSAvY29tbWFuZCB3YXJuaW5nXSAK
WzExNjI2Mzg2NTUuODA2NjI1IC9jb21tYW5kIHdhcm5pbmddIApbMTE2MjYzODY1NS44MDY2MjUg
L2NvbW1hbmQgd2FybmluZ10gClsxMTYyNjM4NjU1LjgwNjYyNSAvY29tbWFuZCB3YXJuaW5nXSBU
aGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgVGNsIHdhc24ndCBpbnN0YWxsZWQgcHJvcGVybHkuClsx
MTYyNjM4NjU1LjgwNjYyNSAvY29tbWFuZCB3YXJuaW5nXSAKWzExNjI2Mzg2NTUuODA2NjI1IC9j
b21tYW5kIHdhcm5pbmddICh0aGlzIGlzIG5vdCBhIGZhdGFsIGVycm9yLCBjb250aW51aW5nIGlu
aXRpYWxpemF0aW9uLi4uKQpbMTE2MjYzODY1NS44MDY2MjUgL2NvbW1hbmQgd2FybmluZ10gClsx
MTYyNjM4NjU1LjgwNjYyNSAvY29tbWFuZC9oZWxwIGRlYnVnXSBoZWxwIGNvbW1hbmQgcmVnaXN0
ZXJpbmcKWzExNjI2Mzg2NTUuODA2NjI1IC9jb21tYW5kL2xvZyBkZWJ1Z10gY3JlYXRpbmcgc3Ry
aW5nIGJpbmRpbmcgZm9yIGxvZ2ZpbGUgLT4gMHgxMDEwMDgzMApbMTE2MjYzODY1NS44MDY2MjUg
L2NvbW1hbmQvbG9nIGRlYnVnXSBsb2cgY29tbWFuZCByZWdpc3RlcmluZwpbMTE2MjYzODY1NS44
MDY2MjUgL2NvbW1hbmQvZGVidWcgZGVidWddIGRlYnVnIGNvbW1hbmQgcmVnaXN0ZXJpbmcKWzEx
NjI2Mzg2NTUuODA3NjI1IC9kdG5kIG5vdGljZV0gcmFuZG9tIHNlZWQgaXMgODA3NjI1ClsxMTYy
NjM4NjU1LjgwNzYyNSAvdGhyZWFkIGRlYnVnXSBhY3RpdmF0aW5nIHRocmVhZCBjcmVhdGlvbiBi
YXJyaWVyClsxMTYyNjM4NjU1LjgwNzYyNSAvZHRuL2FwaXNlcnZlciBkZWJ1Z10gQVBJU2VydmVy
IGluaXQgKGV2aXJvbm1lbnQgc2V0IGFkZHIgMTI3LjAuMC4xIHBvcnQgNTAxMCkKWzExNjI2Mzg2
NTUuODA3NjI1IC9jb21tYW5kL2FwaSBkZWJ1Z10gY3JlYXRpbmcgaW5fYWRkcl90IGJpbmRpbmcg
Zm9yIGxvY2FsX2FkZHIgLT4gMHgxMDEwYWVhOApbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1hbmQv
YXBpIGRlYnVnXSBjcmVhdGluZyBpbnQxNl90IGJpbmRpbmcgZm9yIGxvY2FsX3BvcnQgLT4gMHgx
MDEwYWVhYwpbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1hbmQvYXBpIGRlYnVnXSBhcGkgY29tbWFu
ZCByZWdpc3RlcmluZwpbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1hbmQvY29tcGxldGlvbl9ub3Rp
Zmllci9ub3RpZmllciBkZWJ1Z10gY3JlYXRlZCBwaXBlLCBmZHM6IDYgNwpbMTE2MjYzODY1NS44
MDc2MjUgL2NvbW1hbmQvY29tcGxldGlvbl9ub3RpZmllci9ub3RpZmllciBkZWJ1Z10gc2V0X25v
bmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1h
bmQvY29tcGxldGlvbl9ub3RpZmllci9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBu
b25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1hbmQvYnVuZGxlIGRl
YnVnXSBidW5kbGUgY29tbWFuZCByZWdpc3RlcmluZwpbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1h
bmQvaW50ZXJmYWNlIGRlYnVnXSBpbnRlcmZhY2UgY29tbWFuZCByZWdpc3RlcmluZwpbMTE2MjYz
ODY1NS44MDc2MjUgL2NvbW1hbmQvbGluayBkZWJ1Z10gbGluayBjb21tYW5kIHJlZ2lzdGVyaW5n
ClsxMTYyNjM4NjU1LjgwNzYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJp
bmRpbmcgZm9yIHBheWxvYWRfbWVtX3RocmVzaG9sZCAtPiAweDU2MTA1NApbMTE2MjYzODY1NS44
MDc2MjUgL2NvbW1hbmQvcGFyYW0gZGVidWddIGNyZWF0aW5nIGJvb2wgYmluZGluZyBmb3IgcGF5
bG9hZF90ZXN0X25vX3JlbW92ZSAtPiAweDU2MTA1OApbMTE2MjYzODY1NS44MDc2MjUgL2NvbW1h
bmQvcGFyYW0gZGVidWddIGNyZWF0aW5nIGludCBiaW5kaW5nIGZvciBwcm9hY3RpdmVfZnJhZ190
aHJlc2hvbGQgLT4gMHg1NjEwMzgKWzExNjI2Mzg2NTUuODA3NjI1IC9jb21tYW5kL3BhcmFtIGRl
YnVnXSBjcmVhdGluZyBib29sIGJpbmRpbmcgZm9yIGVhcmx5X2RlbGV0aW9uIC0+IDB4NTYxMDM0
ClsxMTYyNjM4NjU1LjgwNzYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcgYm9vbCBi
aW5kaW5nIGZvciBhY2NlcHRfY3VzdG9keSAtPiAweDU2MTAzNQpbMTE2MjYzODY1NS44MDg2MjUg
L2NvbW1hbmQvcGFyYW0gZGVidWddIGNyZWF0aW5nIGJvb2wgYmluZGluZyBmb3IgcmVhY3RpdmVf
ZnJhZ19lbmFibGVkIC0+IDB4NTYxMDM2ClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9wYXJh
bSBkZWJ1Z10gY3JlYXRpbmcgYm9vbCBiaW5kaW5nIGZvciByZXRyeV9yZWxpYWJsZV91bmFja2Vk
IC0+IDB4NTYxMDM3ClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3Jl
YXRpbmcgYm9vbCBiaW5kaW5nIGZvciB0ZXN0X3Blcm11dGVkX2RlbGl2ZXJ5IC0+IDB4NTYxMDNj
ClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJp
bmRpbmcgZm9yIGxpbmtfbWluX3JldHJ5X2ludGVydmFsIC0+IDB4NTYxMGM0ClsxMTYyNjM4NjU1
LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJpbmRpbmcgZm9yIGxp
bmtfbWF4X3JldHJ5X2ludGVydmFsIC0+IDB4NTYxMGM4ClsxMTYyNjM4NjU1LjgwODYyNSAvY29t
bWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJpbmRpbmcgZm9yIGN1c3RvZHlfdGltZXJf
bWluIC0+IDB4NTYxMGUwClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10g
Y3JlYXRpbmcgaW50IGJpbmRpbmcgZm9yIGN1c3RvZHlfdGltZXJfbGlmZXRpbWVfcGN0IC0+IDB4
NTYxMGU0ClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gY3JlYXRpbmcg
aW50IGJpbmRpbmcgZm9yIGN1c3RvZHlfdGltZXJfbWF4IC0+IDB4NTYxMGU4ClsxMTYyNjM4NjU1
LjgwODYyNSAvY29tbWFuZC9wYXJhbSBkZWJ1Z10gcGFyYW0gY29tbWFuZCByZWdpc3RlcmluZwpb
MTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQvcmVnaXN0cmF0aW9uIGRlYnVnXSByZWdpc3RyYXRp
b24gY29tbWFuZCByZWdpc3RlcmluZwpbMTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQvcm91dGUg
ZGVidWddIGNyZWF0aW5nIHN0cmluZyBiaW5kaW5nIGZvciB0eXBlIC0+IDB4NTYxMGYwClsxMTYy
NjM4NjU1LjgwODYyNSAvY29tbWFuZC9yb3V0ZSBkZWJ1Z10gY3JlYXRpbmcgYm9vbCBiaW5kaW5n
IGZvciBhZGRfbmV4dGhvcF9yb3V0ZXMgLT4gMHg1NjEwZjQKWzExNjI2Mzg2NTUuODA4NjI1IC9j
b21tYW5kL3JvdXRlIGRlYnVnXSBjcmVhdGluZyBpbnQgYmluZGluZyBmb3IgZGVmYXVsdF9wcmlv
cml0eSAtPiAweDU2MTBmOApbMTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQvcm91dGUgZGVidWdd
IHJvdXRlIGNvbW1hbmQgcmVnaXN0ZXJpbmcKWzExNjI2Mzg2NTUuODA4NjI1IC9jb21tYW5kL3No
dXRkb3duIGRlYnVnXSBzaHV0ZG93biBjb21tYW5kIHJlZ2lzdGVyaW5nClsxMTYyNjM4NjU1Ljgw
ODYyNSAvY29tbWFuZC9xdWl0IGRlYnVnXSBxdWl0IGNvbW1hbmQgcmVnaXN0ZXJpbmcKWzExNjI2
Mzg2NTUuODA4NjI1IC9jb21tYW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0aW5nIHN0cmluZyBiaW5k
aW5nIGZvciB0eXBlIC0+IDB4MjJlZWM0ClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9zdG9y
YWdlIGRlYnVnXSBjcmVhdGluZyBib29sIGJpbmRpbmcgZm9yIHRpZHkgLT4gMHgyMmVlZDEKWzEx
NjI2Mzg2NTUuODA4NjI1IC9jb21tYW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0aW5nIGJvb2wgYmlu
ZGluZyBmb3IgaW5pdF9kYiAtPiAweDIyZWVkMApbMTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQv
c3RvcmFnZSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJpbmRpbmcgZm9yIHRpZHlfd2FpdCAtPiAweDIy
ZWVkNApbMTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10gY3JlYXRpbmcg
c3RyaW5nIGJpbmRpbmcgZm9yIGRibmFtZSAtPiAweDIyZWVjOApbMTE2MjYzODY1NS44MDg2MjUg
L2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10gY3JlYXRpbmcgc3RyaW5nIGJpbmRpbmcgZm9yIGRiZGly
IC0+IDB4MjJlZWNjClsxMTYyNjM4NjU1LjgwODYyNSAvY29tbWFuZC9zdG9yYWdlIGRlYnVnXSBj
cmVhdGluZyBzdHJpbmcgYmluZGluZyBmb3IgcGF5bG9hZGRpciAtPiAweDU2MTA1MApbMTE2MjYz
ODY1NS44MDg2MjUgL2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJpbmRpbmcg
Zm9yIGZzX2ZkX2NhY2hlX3NpemUgLT4gMHgyMmVlZGMKWzExNjI2Mzg2NTUuODA4NjI1IC9jb21t
YW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0aW5nIGJvb2wgYmluZGluZyBmb3IgZGJfbXBvb2wgLT4g
MHgyMmVlZTAKWzExNjI2Mzg2NTUuODA4NjI1IC9jb21tYW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0
aW5nIGJvb2wgYmluZGluZyBmb3IgZGJfbG9nIC0+IDB4MjJlZWUxClsxMTYyNjM4NjU1LjgwODYy
NSAvY29tbWFuZC9zdG9yYWdlIGRlYnVnXSBjcmVhdGluZyBib29sIGJpbmRpbmcgZm9yIGRiX3R4
biAtPiAweDIyZWVlMgpbMTE2MjYzODY1NS44MDg2MjUgL2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10g
Y3JlYXRpbmcgYm9vbCBiaW5kaW5nIGZvciBkYl9zaGFyZWZpbGUgLT4gMHgyMmVlZmMKWzExNjI2
Mzg2NTUuODA5NjI1IC9jb21tYW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0aW5nIGludCBiaW5kaW5n
IGZvciBkYl9tYXhfdHggLT4gMHgyMmVlZTQKWzExNjI2Mzg2NTUuODA5NjI1IC9jb21tYW5kL3N0
b3JhZ2UgZGVidWddIGNyZWF0aW5nIGludCBiaW5kaW5nIGZvciBkYl9tYXhfbG9ja3MgLT4gMHgy
MmVlZTgKWzExNjI2Mzg2NTUuODA5NjI1IC9jb21tYW5kL3N0b3JhZ2UgZGVidWddIGNyZWF0aW5n
IGludCBiaW5kaW5nIGZvciBkYl9tYXhfbG9ja2VycyAtPiAweDIyZWVlYwpbMTE2MjYzODY1NS44
MDk2MjUgL2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10gY3JlYXRpbmcgaW50IGJpbmRpbmcgZm9yIGRi
X21heF9sb2NrZWRvYmpzIC0+IDB4MjJlZWYwClsxMTYyNjM4NjU1LjgwOTYyNSAvY29tbWFuZC9z
dG9yYWdlIGRlYnVnXSBjcmVhdGluZyBpbnQgYmluZGluZyBmb3IgZGJfbG9ja2RldGVjdCAtPiAw
eDIyZWVmOApbMTE2MjYzODY1NS44MDk2MjUgL2NvbW1hbmQvc3RvcmFnZSBkZWJ1Z10gc3RvcmFn
ZSBjb21tYW5kIHJlZ2lzdGVyaW5nClsxMTYyNjM4NjU1LjgwOTYyNSAvZHRuZCBkZWJ1Z10gcmVn
aXN0ZXJlZCBkdG4gY29tbWFuZHMKWzExNjI2Mzg2NTUuODA5NjI1IC9kdG4vYnVuZGxlL2RhZW1v
bi9ub3RpZmllciBkZWJ1Z10gY3JlYXRlZCBwaXBlLCBmZHM6IDggOQpbMTE2MjYzODY1NS44MDk2
MjUgL2R0bi9idW5kbGUvZGFlbW9uL25vdGlmaWVyIGRlYnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5v
bmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjU1LjgwOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24v
bm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzEx
NjI2Mzg2NTUuODA5NjI1IC9kdG5kIGRlYnVnXSBpbnRpYWxpemVkIGR0biBjb21wb25lbnRzClsx
MTYyNjM4NjU1LjgwOTYyNSAvY29tbWFuZC9jb25zb2xlIGRlYnVnXSBjb25zb2xlIGNvbW1hbmQg
cmVnaXN0ZXJpbmcKWzExNjI2Mzg2NTUuODA5NjI1IC9jb21tYW5kL3Rlc3QgZGVidWddIGNyZWF0
aW5nIGludCBiaW5kaW5nIGZvciBpZCAtPiAweDEwMTAwM2U0ClsxMTYyNjM4NjU1LjgwOTYyNSAv
Y29tbWFuZC90ZXN0IGRlYnVnXSBjcmVhdGluZyBzdHJpbmcgYmluZGluZyBmb3IgaW5pdHNjcmlw
dCAtPiAweDEwMTAwM2U4ClsxMTYyNjM4NjU1LjgwOTYyNSAvY29tbWFuZC90ZXN0IGRlYnVnXSBj
cmVhdGluZyBzdHJpbmcgYmluZGluZyBmb3IgYXJndiAtPiAweDEwMTAwM2VjClsxMTYyNjM4NjU1
LjgwOTYyNSAvY29tbWFuZC90ZXN0IGRlYnVnXSBjcmVhdGluZyBib29sIGJpbmRpbmcgZm9yIGZv
cmsgLT4gMHgxMDEwMDNmMApbMTE2MjYzODY1NS44MDk2MjUgL2NvbW1hbmQvdGVzdCBkZWJ1Z10g
dGVzdCBjb21tYW5kIHJlZ2lzdGVyaW5nClsxMTYyNjM4NjU1LjgxMDYyNSAvZHRuZCBpbmZvXSBw
YXJzaW5nIGNvbmZpZ3VyYXRpb24gZmlsZSBkYWVtb24vZHRuLmNvbmYuLi4KWzExNjI2Mzg2NTUu
ODEwNjI1IC9jb21tYW5kIGRlYnVnXSBleGVjdXRpbmcgY29tbWFuZCBmaWxlIGRhZW1vbi9kdG4u
Y29uZgpbMTE2MjYzODY1NS44MTE2MjUgL2R0bmQgaW5mb10gZHRuZCBwYXJzaW5nIGNvbmZpZ3Vy
YXRpb24uLi4KWzExNjI2Mzg2NTUuODI2NjI1IC9kdG4vaW50ZXJmYWNlL3RhYmxlIGluZm9dIGFk
ZGluZyBpbnRlcmZhY2UgdGNwMCAodGNwKQpbMTE2MjYzODY1NS44Mjc2MjUgL2R0bi9jbC90Y3Ag
ZGVidWddIGFkZGluZyBpbnRlcmZhY2UgdGNwMApbMTE2MjYzODY1NS44Mjc2MjUgL2R0bi9jbC90
Y3AvbGlzdGVuZXIvbm90aWZpZXIgZGVidWddIGNyZWF0ZWQgcGlwZSwgZmRzOiAxMCAxMQpbMTE2
MjYzODY1NS44Mjc2MjUgL2R0bi9jbC90Y3AvbGlzdGVuZXIvbm90aWZpZXIgZGVidWddIHNldF9u
b25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzExNjI2Mzg2NTUuODI3NjI1IC9kdG4v
Y2wvdGNwL2xpc3RlbmVyL25vdGlmaWVyIGRlYnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5vbmJsb2Nr
aW5nIG1vZGUgc2V0ClsxMTYyNjM4NjU1LjgzNDYyNSAvZHRuL2NsL3RjcC9pZmFjZS90Y3AwIGRl
YnVnXSBjcmVhdGVkIHNvY2tldCAxMgpbMTE2MjYzODY1NS44MzQ2MjUgL2R0bi9jbC90Y3AvaWZh
Y2UvdGNwMCBkZWJ1Z10gc2V0dGluZyBTT19SRVVTRUFERFIKWzExNjI2Mzg2NTUuODM0NjI1IC9k
dG4vY2wvdGNwL2lmYWNlL3RjcDAgZGVidWddIGJpbmRpbmcgdG8gMC4wLjAuMDo1MDAwClsxMTYy
NjM4NjU1LjgzNDYyNSAvZHRuL2NsL3RjcC9pZmFjZS90Y3AwIGRlYnVnXSBsaXN0ZW5pbmcKWzEx
NjI2Mzg2NTUuODQxNjI1IC9kdG4vY2wvdGNwL2lmYWNlL3RjcDAgZGVidWddIHN0YXRlIElOSVQg
LT4gTElTVEVOSU5HClsxMTYyNjM4NjU1Ljg0MTYyNSAvdGhyZWFkIGRlYnVnXSBkZWxheWluZyBz
dGFydCBvZiB0aHJlYWQgMHgxMDExMTBmYyBkdWUgdG8gYmFycmllcgpbMTE2MjYzODY1NS44NDE2
MjUgL2R0bi9pbnRlcmZhY2UvdGFibGUgaW5mb10gYWRkaW5nIGludGVyZmFjZSB1ZHAwICh1ZHAp
ClsxMTYyNjM4NjU1Ljg0MTYyNSAvZHRuL2NsL3VkcCBkZWJ1Z10gYWRkaW5nIGludGVyZmFjZSB1
ZHAwClsxMTYyNjM4NjU1Ljg0MTYyNSAvZHRuL2NsL3VkcC9yZWNlaXZlci9ub3RpZmllciBkZWJ1
Z10gY3JlYXRlZCBwaXBlLCBmZHM6IDEzIDE0ClsxMTYyNjM4NjU1Ljg0MTYyNSAvZHRuL2NsL3Vk
cC9yZWNlaXZlci9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBt
b2RlIHNldApbMTE2MjYzODY1NS44NDE2MjUgL2R0bi9jbC91ZHAvcmVjZWl2ZXIvbm90aWZpZXIg
ZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzExNjI2Mzg2NTUu
ODQyNjI1IC9kdG4vY2wvdWRwL2lmYWNlL3VkcDAgZGVidWddIGNyZWF0ZWQgc29ja2V0IDE1Clsx
MTYyNjM4NjU1Ljg0MjYyNSAvZHRuL2NsL3VkcC9pZmFjZS91ZHAwIGRlYnVnXSBzZXR0aW5nIFNP
X1JFVVNFQUREUgpbMTE2MjYzODY1NS44NDI2MjUgL2R0bi9jbC91ZHAvaWZhY2UvdWRwMCBkZWJ1
Z10gYmluZGluZyB0byAwLjAuMC4wOjUwMDAKWzExNjI2Mzg2NTUuODQzNjI1IC90aHJlYWQgZGVi
dWddIGRlbGF5aW5nIHN0YXJ0IG9mIHRocmVhZCAweDEwMTExMmEwIGR1ZSB0byBiYXJyaWVyClsx
MTYyNjM4NjU1Ljg0NDYyNSAvZHRuL2xpbmsvbnVsbCBkZWJ1Z10gc2V0X3N0YXRlIFVOQVZBSUxB
QkxFIC0+IEFWQUlMQUJMRQpbMTE2MjYzODY1NS44NDQ2MjUgL2R0bi9jbC9udWxsIGRlYnVnXSBp
bml0IGxpbmsgL2Rldi9udWxsClsxMTYyNjM4NjU1Ljg0NDYyNSAvZHRuL2xpbmsvbnVsbCBpbmZv
XSBuZXcgbGluayBudWxsIFsvZGV2L251bGwgZHRuOm5vbmUgQUxXQVlTT04gQVZBSUxBQkxFXQpb
MTE2MjYzODY1NS44NDQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50
ICgweDEwMTExNGY4KSB3aXRoIHR5cGUgTElOS19TVEFURV9DSEFOR0VfUkVRVUVTVCAoYXQgYmFj
aykKWzExNjI2Mzg2NTUuODQ0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10g
bm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjU1Ljg0NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNn
cXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2NTUuODQ0NjI1IC9kdG4vY29u
dGFjdC9tYW5hZ2VyIGRlYnVnXSBhZGRpbmcgbGluayBudWxsClsxMTYyNjM4NjU1Ljg0NDYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZlbnQgKDB4MTAxMTE1NDApIHdpdGgg
dHlwZSBMSU5LX0NSRUFURUQgKGF0IGJhY2spClsxMTYyNjM4NjU1Ljg0NDYyNSAvZHRuZCBpbmZv
XSBkdG5kIGNvbmZpZ3VyYXRpb24gcGFyc2luZyBjb21wbGV0ZQpbMTE2MjYzODY1NS44NDQ2MjUg
L2R0bi9zdG9yYWdlIHdhcm5pbmddIFBSVU5JTkcgQ09OVEVOVFMgT0YgL3Zhci9kdG4vZGIgSU4g
MyBTRUNPTkRTClsxMTYyNjM4NjU2Ljg0NDYyNSAvZHRuL3N0b3JhZ2Ugd2FybmluZ10gUFJVTklO
RyBDT05URU5UUyBPRiAvdmFyL2R0bi9kYiBJTiAyIFNFQ09ORFMKWzExNjI2Mzg2NTcuODQ0NjI1
IC9kdG4vc3RvcmFnZSB3YXJuaW5nXSBQUlVOSU5HIENPTlRFTlRTIE9GIC92YXIvZHRuL2RiIElO
IDEgU0VDT05EUwpbMTE2MjYzODY1OC44NDQ2MjUgL2R0bi9zdG9yYWdlIG5vdGljZV0gdGlkeSBv
cHRpb24gcmVtb3ZpbmcgZGlyZWN0b3J5ICcvYmluL3JtIC1yZiAvdmFyL2R0bi9kYicKWzExNjI2
Mzg2NTguOTU1NjI1IC9kdG4vc3RvcmFnZSBub3RpY2VdIGNyZWF0aW5nIG5ldyBkYXRhYmFzZSBk
aXJlY3RvcnkgL3Zhci9kdG4vZGIKWzExNjI2Mzg2NTguOTg4NjI1IC9kdG4vc3RvcmFnZSBpbmZv
XSBpbml0aWFsaXppbmcgZGIgbmFtZT1EVE4gKG5vdCBzaGFyZWQpLCBkaXI9L3Zhci9kdG4vZGIK
WzExNjI2Mzg2NTguOTk0NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVz
Y2hlZHVsaW5nIGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2NTguOTk0NjI1IC90aW1lciBkZWJ1Z10g
c2NoZWR1bGluZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY2Mzo5OTQ2
MjUKWzExNjI2Mzg2NTguOTk1NjI1IC9kdG4vc3RvcmFnZSBpbmZvXSBkYXRhc3RvcmUgL3Zhci9k
dG4vZGIgd2FzIGNsZWFubHkgc2h1dCBkb3duClsxMTYyNjM4NjU4Ljk5NTYyNSAvZHRuZCBub3Rp
Y2VdIHRpZHkgb3B0aW9uIHJlbW92aW5nIGRpcmVjdG9yeSAnL2Jpbi9ybSAtcmYgL3Zhci9kdG4v
YnVuZGxlcycKWzExNjI2Mzg2NTkuMTE2NjI1IC9kdG5kIGRlYnVnXSBkaXJlY3RvcnkgdmFsaWRh
dGVkOiAvdmFyL2R0bi9idW5kbGVzClsxMTYyNjM4NjU5LjExNjYyNSAvZHRuZCBkZWJ1Z10gZGly
ZWN0b3J5IGFjY2VzcyB2YWxpZGF0ZWQ6IC92YXIvZHRuL2J1bmRsZXMKWzExNjI2Mzg2NTkuNTQz
NjI1IC9kdG4vc3RvcmFnZSBkZWJ1Z10gZ2V0X3RhYmxlIC0tIG9wZW5lZCB0YWJsZSBnbG9iYWxz
IHR5cGUgMQpbMTE2MjYzODY1OS41NDM2MjUgL2R0bi9zdG9yYWdlIGRlYnVnXSB0YWJsZSBnbG9i
YWxzLCArcmVmY291bnQ9MQpbMTE2MjYzODY1OS41NDM2MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMg
aW5mb10gaW5pdGlhbGl6aW5nIGdsb2JhbCB0YWJsZQpbMTE2MjYzODY1OS41NDM2MjUgL2R0bi9z
dG9yYWdlL2dsb2JhbHMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTIgYnl0ZSBvYmplY3QgKHBs
dXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYzODY1OS42NjA2MjUgL2R0bi9zdG9yYWdlIGRlYnVn
XSBnZXRfdGFibGUgLS0gb3BlbmVkIHRhYmxlIGJ1bmRsZXMgdHlwZSAxClsxMTYyNjM4NjU5LjY2
MDYyNSAvZHRuL3N0b3JhZ2UgZGVidWddIHRhYmxlIGJ1bmRsZXMsICtyZWZjb3VudD0xClsxMTYy
NjM4NjU5LjY2MDYyNSAvZHRuL2J1bmRsZS9mcmVlIGRlYnVnXSBkZXN0cm95aW5nIGJ1bmRsZSBp
ZCAtMQpbMTE2MjYzODY1OS43NzY2MjUgL2R0bi9zdG9yYWdlIGRlYnVnXSBnZXRfdGFibGUgLS0g
b3BlbmVkIHRhYmxlIGxpbmtzIHR5cGUgMQpbMTE2MjYzODY1OS43NzY2MjUgL2R0bi9zdG9yYWdl
IGRlYnVnXSB0YWJsZSBsaW5rcywgK3JlZmNvdW50PTEKWzExNjI2Mzg2NTkuNzc2NjI1IC9kdG4v
YnVuZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vbm90aWZpZXIgZGVidWddIGNyZWF0ZWQgcGlw
ZSwgZmRzOiAyMCAyMQpbMTE2MjYzODY1OS43NzY2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3Jl
Z2lzdHJhdGlvbi9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBt
b2RlIHNldApbMTE2MjYzODY1OS43NzY2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJh
dGlvbi9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNl
dApbMTE2MjYzODY1OS44Nzk2MjUgL2R0bi9zdG9yYWdlIGRlYnVnXSBnZXRfdGFibGUgLS0gb3Bl
bmVkIHRhYmxlIHJlZ2lzdHJhdGlvbnMgdHlwZSAxClsxMTYyNjM4NjU5Ljg4MDYyNSAvZHRuL3N0
b3JhZ2UgZGVidWddIHRhYmxlIHJlZ2lzdHJhdGlvbnMsICtyZWZjb3VudD0xClsxMTYyNjM4NjU5
Ljg4MDYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uL25vdGlmaWVyIGRlYnVn
XSBOb3RpZmllciBzaHV0dGluZyBkb3duIChjbG9zaW5nIGZkcyAyMCAyMSkKWzExNjI2Mzg2NTku
ODgwNjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRlYnVnXSBsb2FkaW5nIGdsb2JhbCBzdG9yZQpb
MTE2MjYzODY1OS44ODA2MjUgL3RocmVhZCBkZWJ1Z10gZGVsYXlpbmcgc3RhcnQgb2YgdGhyZWFk
IDB4MTAxMGZhZTggZHVlIHRvIGJhcnJpZXIKWzExNjI2Mzg2NTkuODgwNjI1IC9kdG5kIGRlYnVn
XSBzdGFydGVkIGR0biBzZXJ2ZXIKWzExNjI2Mzg2NTkuODgwNjI1IC9kdG4vYXBpc2VydmVyLzIw
IGRlYnVnXSBjcmVhdGVkIHNvY2tldCAyMApbMTE2MjYzODY1OS44ODA2MjUgL2R0bi9hcGlzZXJ2
ZXIvMjAgZGVidWddIHNldHRpbmcgU09fUkVVU0VBRERSClsxMTYyNjM4NjU5Ljg4MDYyNSAvZHRu
L2FwaXNlcnZlci8yMCBkZWJ1Z10gYmluZGluZyB0byAxMjcuMC4wLjE6NTAxMApbMTE2MjYzODY1
OS44ODA2MjUgL2R0bi9hcGlzZXJ2ZXIvMjAgZGVidWddIGxpc3RlbmluZwpbMTE2MjYzODY1OS44
ODM2MjUgL2R0bi9hcGlzZXJ2ZXIvMjAgZGVidWddIHN0YXRlIElOSVQgLT4gTElTVEVOSU5HClsx
MTYyNjM4NjU5Ljg4MzYyNSAvdGhyZWFkIGRlYnVnXSBkZWxheWluZyBzdGFydCBvZiB0aHJlYWQg
MHgxMDEwYWU1OCBkdWUgdG8gYmFycmllcgpbMTE2MjYzODY1OS44ODM2MjUgL3RocmVhZCBkZWJ1
Z10gcmVsZWFzaW5nIHRocmVhZCBjcmVhdGlvbiBiYXJyaWVyIC0tIDQgcXVldWVkIHRocmVhZHMK
WzExNjI2Mzg2NTkuODgzNjI1IC90aHJlYWQgZGVidWddIHN0YXJ0aW5nIHRocmVhZCAweDEwMTEx
MGZjClsxMTYyNjM4NjU5Ljg4NDYyNSAvdGhyZWFkIGRlYnVnXSBzdGFydGluZyB0aHJlYWQgMHgx
MDExMTJhMApbMTE2MjYzODY1OS44ODQ2MjUgL3RocmVhZCBkZWJ1Z10gc3RhcnRpbmcgdGhyZWFk
IDB4MTAxMGZhZTgKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vdGNhIGluZm9dIFRjYVJvdXRlciBz
dGFydGVkOiByb2xlPSdyb3V0ZXInLCBhZG1pbl9hcHA9J3RjYTovL0sxL2FkbWluJwpbMTE2MjYz
ODY1OS44ODU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAo
MHgyOTJlZTUwKSBSRUdJU1RSQVRJT05fQURERUQKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBpbmZvXSBSRUdJU1RSQVRJT05fQURERUQgMCB0Y2E6Ly9LMQpbMTE2MjYzODY1
OS44ODU2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDI5MmVlNTApIFJF
R0lTVFJBVElPTl9BRERFRApbMTE2MjYzODY1OS44ODU2MjUgL2R0bi9jb250YWN0L21hbmFnZXIg
ZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDI5MmVlNTApIFJFR0lTVFJBVElPTl9BRERFRApb
MTE2MjYzODY1OS44ODU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBl
dmVudCAoMHgyOTJlZTIwKSBSRUdJU1RSQVRJT05fQURERUQKWzExNjI2Mzg2NTkuODg1NjI1IC9k
dG4vYnVuZGxlL2RhZW1vbiBpbmZvXSBSRUdJU1RSQVRJT05fQURERUQgMiB0Y2E6Ly9LMS9waW5n
ClsxMTYyNjM4NjU5Ljg4NTYyNSAvZHRuL3RjYSBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4
MjkyZWUyMCkgUkVHSVNUUkFUSU9OX0FEREVEClsxMTYyNjM4NjU5Ljg4NTYyNSAvZHRuL2NvbnRh
Y3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MjkyZWUyMCkgUkVHSVNUUkFU
SU9OX0FEREVEClsxMTYyNjM4NjU5Ljg4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gbm90aWNlXSBs
b2FkaW5nIGJ1bmRsZXMgZnJvbSBkYXRhIHN0b3JlClsxMTYyNjM4NjU5Ljg4NTYyNSAvdGltZXIg
ZGVidWddIG5ldyB0aW1lb3V0IDQxMDkKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxMTE0ZjgpIExJTktfU1RBVEVfQ0hB
TkdFX1JFUVVFU1QKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBpbmZvXSBM
SU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUIFtBVkFJTEFCTEUgLT4gT1BFTl0gKHVzZXIgYWN0aW9u
KSBmb3IgbGluayBudWxsIFsvZGV2L251bGwgZHRuOm5vbmUgQUxXQVlTT04gQVZBSUxBQkxFXQpb
MTE2MjYzODY1OS44ODU2MjUgL2R0bi9idW5kbGUvYWN0aW9ucyBkZWJ1Z10gb3BlbmluZyBsaW5r
IG51bGwKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vbGluay9udWxsIGRlYnVnXSBMaW5rOjpvcGVu
ClsxMTYyNjM4NjU5Ljg4NTYyNSAvZHRuL2xpbmsvbnVsbCBkZWJ1Z10gc2V0X3N0YXRlIEFWQUlM
QUJMRSAtPiBPUEVOSU5HClsxMTYyNjM4NjU5Ljg4NTYyNSAvZHRuL2NvbnRhY3QvbnVsbCBpbmZv
XSBuZXcgY29udGFjdCBjb250YWN0IC9kZXYvbnVsbCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYy
NSkKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBj
b250YWN0IC9kZXYvbnVsbCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYyNSkgMCAtPiAxIGFkZCBM
aW5rIApbMTE2MjYzODY1OS44ODU2MjUgL2R0bi9jb250YWN0L3JlZnMgZGVidWddIHJlZmNvdW50
IGNvbnRhY3QgL2Rldi9udWxsIChzdGFydGVkIDExNjI2Mzg2NTkuODg1NjI1KSAxIC0+IDIgYWRk
IENvbnRhY3RVcEV2ZW50IApbMTE2MjYzODY1OS44ODU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZjMWQ4KSB3aXRoIHR5cGUgQ09OVEFDVF9VUCAoYXQg
YmFjaykKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vbGluay9udWxsIGRlYnVnXSBudWxsIFsvZGV2
L251bGwgZHRuOm5vbmUgQUxXQVlTT04gT1BFTklOR10gbmV3IGNvbnRhY3QgMHgxMDE2YjRjMApb
MTE2MjYzODY1OS44ODU2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA0MTA5ClsxMTYyNjM4
NjU5Ljg4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgw
eDEwMTExNTQwKSBMSU5LX0NSRUFURUQKWzExNjI2Mzg2NTkuODg1NjI1IC9kdG4vdGNhIGRlYnVn
XSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDExMTU0MCkgTElOS19DUkVBVEVEClsxMTYyNjM4NjU5
Ljg4NTYyNSAvZHRuL3RjYSBkZWJ1Z10gVGNhUm91dGVyOjpsaW5rIGF2YWlsYWJsZQpbMTE2MjYz
ODY1OS44ODU2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50
ICgweDEwMTExNTQwKSBMSU5LX0NSRUFURUQKWzExNjI2Mzg2NTkuODg1NjI1IC90aW1lciBkZWJ1
Z10gbmV3IHRpbWVvdXQgNDEwOQpbMTE2MjYzODY1OS44ODU2MjUgL2R0bi9idW5kbGUvZGFlbW9u
L21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMK
WzExNjI2Mzg2NTkuODg2NjI1IC90aHJlYWQgZGVidWddIHN0YXJ0aW5nIHRocmVhZCAweDEwMTBh
ZTU4ClsxMTYyNjM4NjU5Ljg4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWdd
IGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjU5Ljg4
NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQg
PSAwClsxMTYyNjM4NjU5Ljg4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNo
aW5nIGV2ZW50ICgweDEwMTZjMWQ4KSBDT05UQUNUX1VQClsxMTYyNjM4NjU5Ljg4NjYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gaW5mb10gQ09OVEFDVF9VUCBudWxsIFsvZGV2L251bGwgZHRuOm5vbmUg
QUxXQVlTT04gT1BFTklOR10gKGNvbnRhY3QgMHgxMDE2YjRjMCkKWzExNjI2Mzg2NTkuODg2NjI1
IC9kdG4vbGluay9udWxsIGRlYnVnXSBzZXRfc3RhdGUgT1BFTklORyAtPiBPUEVOClsxMTYyNjM4
NjU5Ljg4NjYyNSAvZHRuL3RjYSBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmMxZDgp
IENPTlRBQ1RfVVAKWzExNjI2Mzg2NTkuODg2NjI1IC9kdG4vdGNhIGRlYnVnXSBjaGVja19uZXh0
X2hvcCAvZGV2L251bGw6IGNoZWNraW5nIHBlbmRpbmcgYnVuZGxlIGxpc3QuLi4KWzExNjI2Mzg2
NTkuODg2NjI1IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6OmNvbnRhY3QgdXAKWzExNjI2Mzg2
NTkuODg2NjI1IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6OnBvc3RfYnVuZGxlOiBbdGNhOi8v
bG9jYWxob3N0L2J1bmRsZWxheWVyXSAtPiBbdGNhOi8vSzEvYWRtaW5dIDogJ2NvbnRhY3RfdXAn
ClsxMTYyNjM4NjU5Ljg4NjYyNSAvZHRuL3N0b3JhZ2UvZ2xvYmFscyBkZWJ1Z10gbmV4dF9idW5k
bGVpZCAwIC0+IDEKWzExNjI2Mzg2NTkuODg2NjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRlYnVn
XSB1cGRhdGluZyBnbG9iYWwgc3RvcmUKWzExNjI2Mzg2NTkuODg2NjI1IC9kdG4vc3RvcmFnZS9n
bG9iYWxzIGRlYnVnXSBwdXQ6IHNlcmlhbGl6aW5nIDEyIGJ5dGUgb2JqZWN0IChwbHVzIDAgYnl0
ZSB0eXBlY29kZSkKWzExNjI2Mzg2NTkuODg3NjI1IC9kdG5kIGluZm9dIHN0YXJ0aW5nIGNvbnNv
bGUgb24gMTI3LjAuMC4xOjUwNTAKWzExNjI2Mzg2NTkuODg3NjI1IC9jb21tYW5kIGRlYnVnXSBz
dGFydGluZyBjb21tYW5kIHNlcnZlciBvbiAxMjcuMC4wLjE6NTA1MApbMTE2MjYzODY1OS45MDQ2
MjUgL2R0bi9idW5kbGUgZGVidWddIEJ1bmRsZTo6aW5pdCBidW5kbGUgaWQgMApbMTE2MjYzODY1
OS45MDU2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC8wL2ZpbGUgZGVidWddIG9wZW4gL3Zhci9kdG4v
YnVuZGxlcy9idW5kbGVfMC5kYXQgKGZsYWdzIDB4YTAyIG1vZGUgMHgxODApOiBmZCAyMQpbMTE2
MjYzODY1OS45MDU2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC8wL2ZpbGUgZGVidWddIDo6d3JpdGV2
KCkgZmQgMjEgY2MgMTAKWzExNjI2Mzg2NTkuOTA1NjI1IC9kdG4vYnVuZGxlL3BheWxvYWQvMC9m
aWxlIGRlYnVnXSB3cml0ZWFsbCAxMCBieXRlcyAwIGxlZnQgMTAgdG90YWwKWzExNjI2Mzg2NjQu
ODI5NjI1IC9kdG4vYnVuZGxlL3BheWxvYWQvMC9maWxlIGRlYnVnXSBjbG9zZSAvdmFyL2R0bi9i
dW5kbGVzL2J1bmRsZV8wLmRhdCBmZCAyMTogMApbMTE2MjYzODY2NC44Mjk2MjUgL2R0bi9idW5k
bGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDAgKDB4MTAxNmMyYjApOiByZWZjb3VudCAwIC0+IDEg
KDAgbWFwcGluZ3MpIGFkZCBCdW5kbGVSZWNlaXZlZEV2ZW50IApbMTE2MjYzODY2NC44Mjk2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTc1MmEwKSB3aXRo
IHR5cGUgQlVORExFX1JFQ0VJVkVEIChhdCBiYWNrKQpbMTE2MjYzODY2NC44Mjk2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZmllciBub3RpZnkKWzExNjI2Mzg2NjQu
ODI5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZ5IGNvdW50ID0g
MQpbMTE2MjYzODY2NC44Mjk2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVidWddIGRpc3BhdGNo
aW5nIGV2ZW50ICgweDEwMTZjMWQ4KSBDT05UQUNUX1VQClsxMTYyNjM4NjY0LjgyOTYyNSAvZHRu
L2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gcmVzZXR0aW5nIHJldHJ5IGludGVydmFsIGZvciBsaW5r
IG51bGw6IDAgLT4gNQpbMTE2MjYzODY2NC44Mjk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIHdhcm5p
bmddIGV2ZW50IENPTlRBQ1RfVVAgdG9vayA0OTQzIG1zIHRvIHByb2Nlc3MKWzExNjI2Mzg2NjQu
ODI5NjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBjb250YWN0IC9kZXYvbnVs
bCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYyNSkgMiAtPiAxIGRlbCBDb250YWN0VXBFdmVudCAK
WzExNjI2Mzg2NjQuODI5NjI1IC90aW1lciBkZWJ1Z10gcG9wcGluZyB0aW1lciAweDEwMTYxMTM4
IGF0IDExNjI2Mzg2NjQuODI5NjI1ClsxMTYyNjM4NjY0LjgyOTYyNSAvZHRuL3N0b3JhZ2UvZGVh
ZGxvY2tfdGltZXIgZGVidWddIHJ1bm5pbmcgZGVhZGxvY2sgZGV0ZWN0aW9uClsxMTYyNjM4NjY0
LjgyOTYyNSAvZHRuL3N0b3JhZ2UvZGVhZGxvY2tfdGltZXIgZGVidWddIHJlc2NoZWR1bGluZyBp
biA1MDAwIG1zZWNzClsxMTYyNjM4NjY0LjgyOTYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcg
dGltZXIgMHgxMDE2MTEzOCBpbiA1MDAwIG1zIGF0IDExNjI2Mzg2Njk6ODI5NjI1ClsxMTYyNjM4
NjY0LjgyOTYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDUwMDAKWzExNjI2Mzg2NjQuODI5
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1w
dGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NjY0LjgzOTYyNSAvY29tbWFuZCBpbmZvXSBj
YW4ndCBsb2FkIHRjbHJlYWRsaW5lOiBjYW4ndCBmaW5kIHBhY2thZ2UgdGNscmVhZGxpbmUKWzEx
NjI2Mzg2NjQuODM5NjI1IC9jb21tYW5kIGluZm9dIGZhbGwgYmFjayB0byBzaW1wbGUgY29tbWFu
ZCBsb29wClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVi
dWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjY0
Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291
bnQgPSAwClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3Bh
dGNoaW5nIGV2ZW50ICgweDEwMTc1MmEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg2NjQuODQy
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gQlVORExFX1JFQ0VJVkVEIChnZW5lcmF0ZWQp
OiAoMTAgYnl0ZXMgcmVjdmQpClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24g
ZGVidWddIGJ1bmRsZSBpZCAwOgpbMTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9u
IGRlYnVnXSAgICAgICAgICAgICBzb3VyY2U6IHRjYTovL2xvY2FsaG9zdC9idW5kbGVsYXllcgpb
MTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgICAg
IGRlc3Q6IHRjYTovL0sxL2FkbWluClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddICAgICAgICAgIGN1c3RvZGlhbjogdGNhOi8vSzEKWzExNjI2Mzg2NjQuODQyNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgICByZXBseXRvOiB0Y2E6Ly9LMQpb
MTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgcGF5bG9hZF9s
ZW5ndGg6IDEwClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAg
ICAgICAgICBwcmlvcml0eTogMQpbMTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9u
IGRlYnVnXSAgY3VzdG9keV9yZXF1ZXN0ZWQ6IGZhbHNlClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgbG9jYWxfY3VzdG9keTogZmFsc2UKWzExNjI2Mzg2
NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgIHNpbmdsZXRvbl9kZXN0OiB0
cnVlClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgIHJl
Y2VpdmVfcmNwdDogZmFsc2UKWzExNjI2Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBk
ZWJ1Z10gICAgICAgY3VzdG9keV9yY3B0OiBmYWxzZQpbMTE2MjYzODY2NC44NDI2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICBmb3J3YXJkX3JjcHQ6IGZhbHNlClsxMTYyNjM4NjY0
Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgZGVsaXZlcnlfcmNwdDogZmFs
c2UKWzExNjI2Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBkZWxl
dGlvbl9yY3B0OiBmYWxzZQpbMTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSAgICAgYXBwX2Fja2VkX3JjcHQ6IGZhbHNlClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1
bmRsZS9kYWVtb24gZGVidWddICAgICAgICBjcmVhdGlvbl90czogMjE1OTUzODU5LjAKWzExNjI2
Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICBleHBpcmF0aW9u
OiAzNjAwClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAg
ICBpc19mcmFnbWVudDogZmFsc2UKWzExNjI2Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gICAgICAgICAgIGlzX2FkbWluOiBmYWxzZQpbMTE2MjYzODY2NC44NDI2MjUgL2R0
bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICBkb19ub3RfZnJhZ21lbnQ6IGZhbHNlClsxMTYyNjM4
NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICBvcmlnX2xlbmd0aDog
MApbMTE2MjYzODY2NC44NDI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgZnJh
Z19vZmZzZXQ6IDAKWzExNjI2Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10g
dHJhbnNtaXNzaW9uX2NvdW50OiAwClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIGFkZGluZyBidW5kbGUgYnVuZGxlIGlkIDAgdGNhOi8vbG9jYWxob3N0L2J1bmRs
ZWxheWVyIC0+IHRjYTovL0sxL2FkbWluICgxMCBieXRlcyBwYXlsb2FkKSB0byBwZW5kaW5nIGxp
c3QKWzExNjI2Mzg2NjQuODQyNjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAw
ICgweDEwMTZjMmIwKTogcmVmY291bnQgMSAtPiAyICgxIG1hcHBpbmdzKSBhZGQgYnVuZGxlX2xp
c3QgcGVuZGluZ19idW5kbGVzClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9saXN0L3Bl
bmRpbmdfYnVuZGxlcyBkZWJ1Z10gYnVuZGxlIGlkIDAgYWRkIG1hcHBpbmcgW3BlbmRpbmdfYnVu
ZGxlc10gdG8gbGlzdCAweDEwMTBmYzMwClsxMTYyNjM4NjY0Ljg0MjYyNSAvZHRuL2J1bmRsZS9h
Y3Rpb25zIGRlYnVnXSBhZGRpbmcgYnVuZGxlIDAgdG8gZGF0YSBzdG9yZQpbMTE2MjYzODY2NC44
NDI2MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTMwIGJ5
dGUgb2JqZWN0IChwbHVzIDAgYnl0ZSB0eXBlY29kZSkKWzExNjI2Mzg2NjQuODcwNjI1IC9kdG4v
c3RvcmFnZS9idW5kbGVzIGRlYnVnXSBhZGQoMCk6IHN1Y2Nlc3MKWzExNjI2Mzg2NjQuODcwNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gc2NoZWR1bGluZyBleHBpcmF0aW9uIGZvciBidW5k
bGUgaWQgMCBhdCAxMTYyNjQyMjU5LjAgKGluIDM1OTUgc2Vjb25kcykKWzExNjI2Mzg2NjQuODcw
NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAwICgweDEwMTZjMmIwKTogcmVm
Y291bnQgMiAtPiAzICgxIG1hcHBpbmdzKSBhZGQgZXhwaXJhdGlvbiB0aW1lciAKWzExNjI2Mzg2
NjQuODcwNjI1IC90aW1lciBkZWJ1Z10gc2NoZWR1bGluZyB0aW1lciAweDEwMTdhMTUwIGluIDM1
OTQxMzAgbXMgYXQgMTE2MjY0MjI1OTowClsxMTYyNjM4NjY0Ljg3MDYyNSAvZHRuL2J1bmRsZS9k
YWVtb24gZGVidWddIGNoZWNraW5nIGZvciBtYXRjaGluZyByZWdpc3RyYXRpb25zIGZvciBidW5k
bGUgYnVuZGxlIGlkIDAgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTovL0sxL2Fk
bWluICgxMCBieXRlcyBwYXlsb2FkKQpbMTE2MjYzODY2NC44NzA2MjUgL2R0bi9yZWdpc3RyYXRp
b24vdGFibGUgZGVidWddIGdldF9tYXRjaGluZyB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODY2NC44
NzA2MjUgL2R0bi9yZWdpc3RyYXRpb24vdGFibGUgZGVidWddIGdldF9tYXRjaGluZyB0Y2E6Ly9L
MS9hZG1pbjogcmV0dXJuZWQgMCBtYXRjaGVzClsxMTYyNjM4NjY0Ljg3MDYyNSAvZHRuL3RjYSBk
ZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNzUyYTApIEJVTkRMRV9SRUNFSVZFRApbMTE2
MjYzODY2NC44NzA2MjUgL2R0bi90Y2EgZGVidWddIFRjYVJvdXRlcjogdGNhIGJ1bmRsZSByZWNl
aXZlZCBbdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyXSAtPiBbdGNhOi8vSzEvYWRtaW5dIDog
J2NvbnRhY3RfdXAnClsxMTYyNjM4NjY0Ljg3MTYyNSAvZHRuL2NvbnRhY3QvbWFuYWdlciBkZWJ1
Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNzUyYTApIEJVTkRMRV9SRUNFSVZFRApbMTE2MjYz
ODY2NC44NzE2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDAgKDB4MTAxNmMy
YjApOiByZWZjb3VudCAzIC0+IDIgKDEgbWFwcGluZ3MpIGRlbCBCdW5kbGVSZWNlaXZlZEV2ZW50
IApbMTE2MjYzODY2NC44NzE2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA0OTU4ClsxMTYy
NjM4NjY0Ljg3MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgMQpb
MTE2MjYzODY2NC44NzE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVk
IG5ldyB0aW1lcnMgdG8gaGFuZGxlClsxMTYyNjM4NjY0Ljg3MTYyNSAvdGltZXIgZGVidWddIG5l
dyB0aW1lb3V0IDQ5NTgKWzExNjI2Mzg2NjguMTEyNjI1IC9kdG4vYXBpc2VydmVyLzIwIGRlYnVn
XSBhY2NlcHRlZCBjb25uZWN0aW9uIGZkIDIxIGZyb20gMTI3LjAuMC4xOjM5MjAKWzExNjI2Mzg2
NjguMTEyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZXR0aW5nIFNPX1JFVVNFQUREUgpb
MTE2MjYzODY2OC4xMTI2MjUgL2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIGNyZWF0
ZWQgcGlwZSwgZmRzOiAyMyAyNApbMTE2MjYzODY2OC4xMTI2MjUgL2R0bi9hcGljbGllbnQvMjEv
bm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzEx
NjI2Mzg2NjguMTEyNjI1IC9kdG4vYXBpY2xpZW50LzIxL25vdGlmaWVyIGRlYnVnXSBzZXRfbm9u
YmxvY2tpbmc6IG5vbmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjY4LjExMjYyNSAvdGhyZWFk
IGRlYnVnXSBzdGFydGluZyB0aHJlYWQgMHgxMDE3YTFiOApbMTE2MjYzODY2OC4xMTQ2MjUgL2R0
bi9hcGljbGllbnQvMjEgaW5mb10gbmV3IHNlc3Npb24gMTI3LjAuMC4xOjUwMTAgLT4gMTI3LjAu
MC4xOjM5MjAKWzExNjI2Mzg2NjguMTE1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJl
YWR2KCkgZmQgMjEgY2MgNApbMTE2MjYzODY2OC4xMTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIHJlYWRhbGwgNCBieXRlcyAwIGxlZnQgNCB0b3RhbApbMTE2MjYzODY2OC4xMTU2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgNApbMTE2MjYzODY2OC4x
MTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDQgYnl0ZXMgMCBsZWZ0IDQg
dG90YWwKWzExNjI2Mzg2NjguMTE2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjEgY2MgMTAyOQpbMTE2MjYzODY2OC4xMTY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIGdvdCBEVE5fTE9DQUxfRUlEICgxMDI0LzEwMjQgYnl0ZXMpClsxMTYyNjM4NjY4LjExNjYy
NSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ2V0X2xvY2FsX2VpZCBlbmNvZGVkIDI1NiBieXRl
IHJlc3BvbnNlClsxMTYyNjM4NjY4LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDI1NgpbMTE2MjYzODY2
OC4xMTY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgMjY0IGJ5dGUgcmVwbHkg
bWVzc2FnZQpbMTE2MjYzODY2OC4xMTY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3Jp
dGV2KCkgZmQgMjEgY2MgMjY0ClsxMTYyNjM4NjY4LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd3JpdGVhbGwgMjY0IGJ5dGVzIDAgbGVmdCAyNjQgdG90YWwKWzExNjI2Mzg2NjguMTE2
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMjgxClsxMTYy
NjM4NjY4LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9SRUdJU1RFUiAo
Mjc2LzI3NiBieXRlcykKWzExNjI2Mzg2NjguMTE3NjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRl
YnVnXSBuZXh0X3JlZ2lkIDEwIC0+IDExClsxMTYyNjM4NjY4LjExNzYyNSAvZHRuL3N0b3JhZ2Uv
Z2xvYmFscyBkZWJ1Z10gdXBkYXRpbmcgZ2xvYmFsIHN0b3JlClsxMTYyNjM4NjY4LjExNzYyNSAv
ZHRuL3N0b3JhZ2UvZ2xvYmFscyBkZWJ1Z10gcHV0OiBzZXJpYWxpemluZyAxMiBieXRlIG9iamVj
dCAocGx1cyAwIGJ5dGUgdHlwZWNvZGUpClsxMTYyNjM4NjY4LjE1MzYyNSAvZHRuL3JlZ2lzdHJh
dGlvbi8xMCBkZWJ1Z10gc2NoZWR1bGluZyBleHBpcmF0aW9uIGZvciByZWdpc3RyYXRpb24gaWQg
MTAgYXQgMTE2NDYzODY2OC4wIChpbiAxOTk5OTk5IHNlY29uZHMpOiAKWzExNjI2Mzg2NjguMTUz
NjI1IC90aW1lciBkZWJ1Z10gc2NoZWR1bGluZyB0aW1lciAweDEwMTZjN2IwIGluIDE5OTk5OTk4
NDcgbXMgYXQgMTE2NDYzODY2ODowClsxMTYyNjM4NjY4LjE1MzYyNSAvZHRuL2J1bmRsZS9saXN0
Ly9kdG4vcmVnaXN0cmF0aW9uLzEwL25vdGlmaWVyIGRlYnVnXSBjcmVhdGVkIHBpcGUsIGZkczog
MjUgMjYKWzExNjI2Mzg2NjguMTUzNjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRp
b24vMTAvbm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBz
ZXQKWzExNjI2Mzg2NjguMTUzNjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRpb24v
MTAvbm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQK
WzExNjI2Mzg2NjguMTUzNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVu
dCAoMHgxMDE2Yzk0MCkgd2l0aCB0eXBlIFJFR0lTVFJBVElPTl9BRERFRCAoYXQgYmFjaykKWzEx
NjI2Mzg2NjguMTUzNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZp
ZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjE1MzYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUg
ZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2NjguMTUzNjI1IC9kdG4vYXBpY2xpZW50
LzIxL25vdGlmaWVyIGRlYnVnXSBhdHRlbXB0aW5nIHRvIHdhaXQgb24gMHgxMDE4YTJiNCwgY291
bnQgPSAwClsxMTYyNjM4NjY4LjE2MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwg
cmV0dXJuZWQgMgpbMTE2MjYzODY2OC4xNjA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBw
b2xsIHJldHVybmVkIG5ldyBldmVudCB0byBoYW5kbGUKWzExNjI2Mzg2NjguMTYwNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBuZXcgdGltZXJzIHRvIGhhbmRsZQpb
MTE2MjYzODY2OC4xNjA2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCAxNjY5ClsxMTYyNjM4
NjY4LjE2MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6
IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4xNjA2MjUgL2R0bi9idW5k
bGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVkIDEvMSBieXRlKHMp
IGZyb20gcGlwZQpbMTE2MjYzODY2OC4xNjA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVl
IGRlYnVnXSBkcmFpbiBwaXBlIGNvdW50ID0gMApbMTE2MjYzODY2OC4xNjA2MjUgL2R0bi9idW5k
bGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2Yzk0MCkgUkVHSVNUUkFU
SU9OX0FEREVEClsxMTYyNjM4NjY4LjE2MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gaW5mb10gUkVH
SVNUUkFUSU9OX0FEREVEIDEwIHRjYTovL0sxL2FkbWluClsxMTYyNjM4NjY4LjE2MDYyNSAvZHRu
L3JlZ2lzdHJhdGlvbi90YWJsZSBpbmZvXSBhZGRpbmcgcmVnaXN0cmF0aW9uIDEwL3RjYTovL0sx
L2FkbWluClsxMTYyNjM4NjY4LjE2MDYyNSAvZHRuL3N0b3JhZ2UvcmVnaXN0cmF0aW9ucyBkZWJ1
Z10gcHV0OiBzZXJpYWxpemluZyAzOCBieXRlIG9iamVjdCAocGx1cyAwIGJ5dGUgdHlwZWNvZGUp
ClsxMTYyNjM4NjY4LjE3ODYyNSAvZHRuL3N0b3JhZ2UvcmVnaXN0cmF0aW9ucyBkZWJ1Z10gYWRk
KDEwKTogc3VjY2VzcwpbMTE2MjYzODY2OC4xNzk2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNo
KHRjYTovL0sxL2FkbWluLCB0Y2E6Ly9LMS9hZG1pbikgc3VjY2VlZGVkOiBwYXR0ZXJuICdLMScg
c3NwICdLMScKWzExNjI2Mzg2NjguMTc5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGVs
aXZlcmluZyBidW5kbGUgYnVuZGxlIGlkIDAgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+
IHRjYTovL0sxL2FkbWluICgxMCBieXRlcyBwYXlsb2FkKSB0byByZWdpc3RyYXRpb24gMTAgKHRj
YTovL0sxL2FkbWluKQpbMTE2MjYzODY2OC4xNzk2MjUgL2R0bi9yZWdpc3RyYXRpb24vMTAgaW5m
b10gZGVsaXZlcl9idW5kbGU6IHF1ZXVpbmcgYnVuZGxlIGlkIDAgZm9yIGFjdGl2ZSBkZWxpdmVy
eSB0byB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODY2OC4xNzk2MjUgL2R0bi9idW5kbGUvcmVmcyBk
ZWJ1Z10gYnVuZGxlIGlkIDAgKDB4MTAxNmMyYjApOiByZWZjb3VudCAyIC0+IDMgKDIgbWFwcGlu
Z3MpIGFkZCBidW5kbGVfbGlzdCAvZHRuL3JlZ2lzdHJhdGlvbi8xMApbMTE2MjYzODY2OC4xNzk2
MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10g
bm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjE3OTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4v
cmVnaXN0cmF0aW9uLzEwL25vdGlmaWVyIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4
NjY4LjE3OTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzEwIGRlYnVnXSBi
dW5kbGUgaWQgMCBhZGQgbWFwcGluZyBbL2R0bi9yZWdpc3RyYXRpb24vMTBdIHRvIGxpc3QgMHgx
MDE2YzgxMApbMTE2MjYzODY2OC4xNzk2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZjOTQwKSBSRUdJU1RSQVRJT05fQURERUQKWzExNjI2Mzg2NjguMTc5NjI1IC9k
dG4vY29udGFjdC9tYW5hZ2VyIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2Yzk0MCkg
UkVHSVNUUkFUSU9OX0FEREVEClsxMTYyNjM4NjY4LjE3OTYyNSAvZHRuL2FwaWNsaWVudC8yMS9u
b3RpZmllciBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjE3OTYyNSAvZHRuL2Fw
aWNsaWVudC8yMS9ub3RpZmllciBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpbMTE2MjYzODY2OC4x
Nzk2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCAxNjUwClsxMTYyNjM4NjY4LjE4NjYyNSAv
ZHRuL2FwaWNsaWVudC8yMS9ub3RpZmllciBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiAxLzEg
ZmRzIHJlYWR5LCBzdGF0dXMgMHgxIApbMTE2MjYzODY2OC4xODY2MjUgL2R0bi9hcGljbGllbnQv
MjEvbm90aWZpZXIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllcjogbm9ybWFsIGZkIGhhcyBldmVu
dApbMTE2MjYzODY2OC4xODY2MjUgL2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIGRy
YWluX3BpcGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4xODY2MjUg
L2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8x
IGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjY4LjE4NjYyNSAvZHRuL2FwaWNsaWVudC8yMS9u
b3RpZmllciBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2NjguMTg2NjI1IC9k
dG4vYXBpY2xpZW50LzIxL25vdGlmaWVyIGRlYnVnXSBub3RpZmllciB3YWl0IHN1Y2Nlc3NmdWxs
eSBub3RpZmllZApbMTE2MjYzODY2OC4xODY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1
aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCA0ClsxMTYyNjM4NjY4
LjE4NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyAxMiBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2NjguMTg2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRl
digpIGZkIDIxIGNjIDEyClsxMTYyNjM4NjY4LjE4NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gd3JpdGVhbGwgMTIgYnl0ZXMgMCBsZWZ0IDEyIHRvdGFsClsxMTYyNjM4NjY4LjE4NzYyNSAv
ZHRuL2FwaXNlcnZlci8yMCBkZWJ1Z10gYWNjZXB0ZWQgY29ubmVjdGlvbiBmZCAyNyBmcm9tIDEy
Ny4wLjAuMTozOTIyClsxMTYyNjM4NjY4LjE4ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2V0dGluZyBTT19SRVVTRUFERFIKWzExNjI2Mzg2NjguMTg4NjI1IC9kdG4vYXBpY2xpZW50LzI3
L25vdGlmaWVyIGRlYnVnXSBjcmVhdGVkIHBpcGUsIGZkczogMjggMjkKWzExNjI2Mzg2NjguMTg4
NjI1IC9kdG4vYXBpY2xpZW50LzI3L25vdGlmaWVyIGRlYnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5v
bmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjY4LjE4ODYyNSAvZHRuL2FwaWNsaWVudC8yNy9u
b3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2
MjYzODY2OC4xODg2MjUgL3RocmVhZCBkZWJ1Z10gc3RhcnRpbmcgdGhyZWFkIDB4MTAxOGEzMjAK
WzExNjI2Mzg2NjguMTg5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGluZm9dIG5ldyBzZXNzaW9uIDEy
Ny4wLjAuMTo1MDEwIC0+IDEyNy4wLjAuMTozOTIyClsxMTYyNjM4NjY4LjE4OTYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDQKWzExNjI2Mzg2NjguMTg5NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSByZWFkYWxsIDQgYnl0ZXMgMCBsZWZ0IDQgdG90YWwK
WzExNjI2Mzg2NjguMTg5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZk
IDI3IGNjIDQKWzExNjI2Mzg2NjguMTg5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0
ZWFsbCA0IGJ5dGVzIDAgbGVmdCA0IHRvdGFsClsxMTYyNjM4NjY4LjE4OTYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDI4MQpbMTE2MjYzODY2OC4xODk2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVHSVNURVIgKDI3Ni8yNzYgYnl0ZXMp
ClsxMTYyNjM4NjY4LjE4OTYyNSAvZHRuL3N0b3JhZ2UvZ2xvYmFscyBkZWJ1Z10gbmV4dF9yZWdp
ZCAxMSAtPiAxMgpbMTE2MjYzODY2OC4xODk2MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWdd
IHVwZGF0aW5nIGdsb2JhbCBzdG9yZQpbMTE2MjYzODY2OC4xODk2MjUgL2R0bi9zdG9yYWdlL2ds
b2JhbHMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTIgYnl0ZSBvYmplY3QgKHBsdXMgMCBieXRl
IHR5cGVjb2RlKQpbMTE2MjYzODY2OC4yMDA2MjUgL2R0bi9yZWdpc3RyYXRpb24vMTEgZGVidWdd
IHNjaGVkdWxpbmcgZXhwaXJhdGlvbiBmb3IgcmVnaXN0cmF0aW9uIGlkIDExIGF0IDExNjQ2Mzg2
NjguMCAoaW4gMTk5OTk5OSBzZWNvbmRzKTogClsxMTYyNjM4NjY4LjIwMDYyNSAvdGltZXIgZGVi
dWddIHNjaGVkdWxpbmcgdGltZXIgMHgxMDE2Y2I2OCBpbiAxOTk5OTk5ODAwIG1zIGF0IDExNjQ2
Mzg2Njg6MApbMTE2MjYzODY2OC4yMDA2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJh
dGlvbi8xMS9ub3RpZmllciBkZWJ1Z10gY3JlYXRlZCBwaXBlLCBmZHM6IDMwIDMxClsxMTYyNjM4
NjY4LjIwMDYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzExL25vdGlmaWVy
IGRlYnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5vbmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjY4
LjIwMDYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzExL25vdGlmaWVyIGRl
YnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5vbmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjY4LjIw
MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZlbnQgKDB4MTAxNmNjOTAp
IHdpdGggdHlwZSBSRUdJU1RSQVRJT05fQURERUQgKGF0IGJhY2spClsxMTYyNjM4NjY4LjIwMDYy
NSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2
MjYzODY2OC4yMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZnkg
Y291bnQgPSAxClsxMTYyNjM4NjY4LjIwMTYyNSAvZHRuL2FwaWNsaWVudC8yNy9ub3RpZmllciBk
ZWJ1Z10gYXR0ZW1wdGluZyB0byB3YWl0IG9uIDB4MTAxOWE0MWMsIGNvdW50ID0gMApbMTE2MjYz
ODY2OC4yMTE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDIKWzEx
NjI2Mzg2NjguMjExNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBu
ZXcgZXZlbnQgdG8gaGFuZGxlClsxMTYyNjM4NjY4LjIxMTYyNSAvZHRuL2J1bmRsZS9kYWVtb24g
ZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzExNjI2Mzg2NjguMjEx
NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgMTYxOApbMTE2MjYzODY2OC4yMTE2MjUgL2R0
bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRv
IGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg2NjguMjExNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dx
dWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzEx
NjI2Mzg2NjguMjExNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4g
cGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2NjguMjExNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1
Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmNjOTApIFJFR0lTVFJBVElPTl9BRERFRApbMTE2
MjYzODY2OC4yMTE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGluZm9dIFJFR0lTVFJBVElPTl9BRERF
RCAxMSB0Y2E6Ly9nYXRld2F5cwpbMTE2MjYzODY2OC4yMTE2MjUgL2R0bi9yZWdpc3RyYXRpb24v
dGFibGUgaW5mb10gYWRkaW5nIHJlZ2lzdHJhdGlvbiAxMS90Y2E6Ly9nYXRld2F5cwpbMTE2MjYz
ODY2OC4yMTE2MjUgL2R0bi9zdG9yYWdlL3JlZ2lzdHJhdGlvbnMgZGVidWddIHB1dDogc2VyaWFs
aXppbmcgMzggYnl0ZSBvYmplY3QgKHBsdXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYzODY2OC4y
Mjg2MjUgL2R0bi9zdG9yYWdlL3JlZ2lzdHJhdGlvbnMgZGVidWddIGFkZCgxMSk6IHN1Y2Nlc3MK
WzExNjI2Mzg2NjguMjI4NjI1IC9zY2hlbWUvZHRuIGRlYnVnXSBtYXRjaCh0Y2E6Ly9LMS9hZG1p
biwgdGNhOi8vZ2F0ZXdheXMvKSBmYWlsZWQ6IHVybCBob3N0cyBub3QgZXF1YWwgKCdnYXRld2F5
cycgIT0gJ0sxJykKWzExNjI2Mzg2NjguMjI4NjI1IC9kdG4vdGNhIGRlYnVnXSBkaXNwYXRjaGlu
ZyBldmVudCAoMHgxMDE2Y2M5MCkgUkVHSVNUUkFUSU9OX0FEREVEClsxMTYyNjM4NjY4LjIyODYy
NSAvZHRuL2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmNj
OTApIFJFR0lTVFJBVElPTl9BRERFRApbMTE2MjYzODY2OC4yMjg2MjUgL2R0bi9hcGljbGllbnQv
Mjcvbm90aWZpZXIgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODY2OC4yMjg2MjUgL2R0
bi9hcGljbGllbnQvMjcvbm90aWZpZXIgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2
NjguMjI4NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgMTYwMQpbMTE2MjYzODY2OC4yMzM2
MjUgL2R0bi9hcGljbGllbnQvMjcvbm90aWZpZXIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllcjog
MS8xIGZkcyByZWFkeSwgc3RhdHVzIDB4MSAKWzExNjI2Mzg2NjguMjMzNjI1IC9kdG4vYXBpY2xp
ZW50LzI3L25vdGlmaWVyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXI6IG5vcm1hbCBmZCBoYXMg
ZXZlbnQKWzExNjI2Mzg2NjguMjMzNjI1IC9kdG4vYXBpY2xpZW50LzI3L25vdGlmaWVyIGRlYnVn
XSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg2NjguMjMz
NjI1IC9kdG4vYXBpY2xpZW50LzI3L25vdGlmaWVyIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVk
IDEvMSBieXRlKHMpIGZyb20gcGlwZQpbMTE2MjYzODY2OC4yMzM2MjUgL2R0bi9hcGljbGllbnQv
Mjcvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NjY4LjIzMzYy
NSAvZHRuL2FwaWNsaWVudC8yNy9ub3RpZmllciBkZWJ1Z10gbm90aWZpZXIgd2FpdCBzdWNjZXNz
ZnVsbHkgbm90aWZpZWQKWzExNjI2Mzg2NjguMjMzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggNApbMTE2MjYz
ODY2OC4yMzM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgMTIgYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NjY4LjIzNDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAyNyBjYyAxMgpbMTE2MjYzODY2OC4yMzQ2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdyaXRlYWxsIDEyIGJ5dGVzIDAgbGVmdCAxMiB0b3RhbApbMTE2MjYzODY2OC4yMzU2
MjUgL2R0bi9hcGlzZXJ2ZXIvMjAgZGVidWddIGFjY2VwdGVkIGNvbm5lY3Rpb24gZmQgMzIgZnJv
bSAxMjcuMC4wLjE6MzkyMwpbMTE2MjYzODY2OC4yMzU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIHNldHRpbmcgU09fUkVVU0VBRERSClsxMTYyNjM4NjY4LjIzNTYyNSAvZHRuL2FwaWNsaWVu
dC8zMi9ub3RpZmllciBkZWJ1Z10gY3JlYXRlZCBwaXBlLCBmZHM6IDMzIDM0ClsxMTYyNjM4NjY4
LjIzNTYyNSAvZHRuL2FwaWNsaWVudC8zMi9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5n
OiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYzODY2OC4yMzU2MjUgL2R0bi9hcGljbGllbnQv
MzIvbm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQK
WzExNjI2Mzg2NjguMjM1NjI1IC90aHJlYWQgZGVidWddIHN0YXJ0aW5nIHRocmVhZCAweDEwMTlh
NDg4ClsxMTYyNjM4NjY4LjIzNjYyNSAvZHRuL2FwaWNsaWVudC8zMiBpbmZvXSBuZXcgc2Vzc2lv
biAxMjcuMC4wLjE6NTAxMCAtPiAxMjcuMC4wLjE6MzkyMwpbMTE2MjYzODY2OC4yNDU2MjUgL2R0
bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyA0ClsxMTYyNjM4NjY4LjI0
NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcmVhZGFsbCA0IGJ5dGVzIDAgbGVmdCA0IHRv
dGFsClsxMTYyNjM4NjY4LjI0NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAzMiBjYyA0ClsxMTYyNjM4NjY4LjI0NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
d3JpdGVhbGwgNCBieXRlcyAwIGxlZnQgNCB0b3RhbApbMTE2MjYzODY2OC4yNDU2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAyODEKWzExNjI2Mzg2NjguMjQ1
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFR0lTVEVSICgyNzYvMjc2IGJ5
dGVzKQpbMTE2MjYzODY2OC4yNDU2MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIG5leHRf
cmVnaWQgMTIgLT4gMTMKWzExNjI2Mzg2NjguMjQ1NjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRl
YnVnXSB1cGRhdGluZyBnbG9iYWwgc3RvcmUKWzExNjI2Mzg2NjguMjQ1NjI1IC9kdG4vc3RvcmFn
ZS9nbG9iYWxzIGRlYnVnXSBwdXQ6IHNlcmlhbGl6aW5nIDEyIGJ5dGUgb2JqZWN0IChwbHVzIDAg
Ynl0ZSB0eXBlY29kZSkKWzExNjI2Mzg2NjguMjU5NjI1IC9kdG4vcmVnaXN0cmF0aW9uLzEyIGRl
YnVnXSBzY2hlZHVsaW5nIGV4cGlyYXRpb24gZm9yIHJlZ2lzdHJhdGlvbiBpZCAxMiBhdCAxMTY0
NjM4NjY4LjAgKGluIDE5OTk5OTkgc2Vjb25kcyk6IApbMTE2MjYzODY2OC4yNTk2MjUgL3RpbWVy
IGRlYnVnXSBzY2hlZHVsaW5nIHRpbWVyIDB4MTAxNmNlNzggaW4gMTk5OTk5OTc0MSBtcyBhdCAx
MTY0NjM4NjY4OjAKWzExNjI2Mzg2NjguMjU5NjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0bi9yZWdp
c3RyYXRpb24vMTIvbm90aWZpZXIgZGVidWddIGNyZWF0ZWQgcGlwZSwgZmRzOiAzNSAzNgpbMTE2
MjYzODY2OC4yNTk2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMi9ub3Rp
ZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYz
ODY2OC4yNTk2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMi9ub3RpZmll
ciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYzODY2
OC4yNTk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZj
ZmI4KSB3aXRoIHR5cGUgUkVHSVNUUkFUSU9OX0FEREVEIChhdCBiYWNrKQpbMTE2MjYzODY2OC4y
NTk2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZmllciBub3RpZnkK
WzExNjI2Mzg2NjguMjU5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90
aWZ5IGNvdW50ID0gMQpbMTE2MjYzODY2OC4yNTk2MjUgL2R0bi9hcGljbGllbnQvMzIvbm90aWZp
ZXIgZGVidWddIGF0dGVtcHRpbmcgdG8gd2FpdCBvbiAweDEwMWFhNTg0LCBjb3VudCA9IDAKWzEx
NjI2Mzg2NjguMjYxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAy
ClsxMTYyNjM4NjY4LjI2MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJu
ZWQgbmV3IGV2ZW50IHRvIGhhbmRsZQpbMTE2MjYzODY2OC4yNjE2MjUgL2R0bi9idW5kbGUvZGFl
bW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIG5ldyB0aW1lcnMgdG8gaGFuZGxlClsxMTYyNjM4NjY4
LjI2MTYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDE1NjgKWzExNjI2Mzg2NjguMjYxNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGlu
ZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NjY4LjI2MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24v
bXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBl
ClsxMTYyNjM4NjY4LjI2MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRy
YWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NjY4LjI2MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24g
ZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZjZmI4KSBSRUdJU1RSQVRJT05fQURERUQK
WzExNjI2Mzg2NjguMjYxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBpbmZvXSBSRUdJU1RSQVRJT05f
QURERUQgMTIgdGNhOi8vZXhwdF9tZ210ClsxMTYyNjM4NjY4LjI2MTYyNSAvZHRuL3JlZ2lzdHJh
dGlvbi90YWJsZSBpbmZvXSBhZGRpbmcgcmVnaXN0cmF0aW9uIDEyL3RjYTovL2V4cHRfbWdtdApb
MTE2MjYzODY2OC4yNjE2MjUgL2R0bi9zdG9yYWdlL3JlZ2lzdHJhdGlvbnMgZGVidWddIHB1dDog
c2VyaWFsaXppbmcgMzkgYnl0ZSBvYmplY3QgKHBsdXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYz
ODY2OC4yNzg2MjUgL2R0bi9zdG9yYWdlL3JlZ2lzdHJhdGlvbnMgZGVidWddIGFkZCgxMik6IHN1
Y2Nlc3MKWzExNjI2Mzg2NjguMjc4NjI1IC9zY2hlbWUvZHRuIGRlYnVnXSBtYXRjaCh0Y2E6Ly9L
MS9hZG1pbiwgdGNhOi8vZXhwdF9tZ210LykgZmFpbGVkOiB1cmwgaG9zdHMgbm90IGVxdWFsICgn
ZXhwdF9tZ210JyAhPSAnSzEnKQpbMTE2MjYzODY2OC4yNzg2MjUgL2R0bi90Y2EgZGVidWddIGRp
c3BhdGNoaW5nIGV2ZW50ICgweDEwMTZjZmI4KSBSRUdJU1RSQVRJT05fQURERUQKWzExNjI2Mzg2
NjguMjc4NjI1IC9kdG4vY29udGFjdC9tYW5hZ2VyIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAo
MHgxMDE2Y2ZiOCkgUkVHSVNUUkFUSU9OX0FEREVEClsxMTYyNjM4NjY4LjI3ODYyNSAvZHRuL2Fw
aWNsaWVudC8zMi9ub3RpZmllciBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjI3
ODYyNSAvZHRuL2FwaWNsaWVudC8zMi9ub3RpZmllciBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpb
MTE2MjYzODY2OC4yNzg2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCAxNTUxClsxMTYyNjM4
NjY4LjI4MDYyNSAvZHRuL2FwaWNsaWVudC8zMi9ub3RpZmllciBkZWJ1Z10gcG9sbF93aXRoX25v
dGlmaWVyOiAxLzEgZmRzIHJlYWR5LCBzdGF0dXMgMHgxIApbMTE2MjYzODY2OC4yODA2MjUgL2R0
bi9hcGljbGllbnQvMzIvbm90aWZpZXIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllcjogbm9ybWFs
IGZkIGhhcyBldmVudApbMTE2MjYzODY2OC4yODA2MjUgL2R0bi9hcGljbGllbnQvMzIvbm90aWZp
ZXIgZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYz
ODY2OC4yODA2MjUgL2R0bi9hcGljbGllbnQvMzIvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6
IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjY4LjI4MDYyNSAvZHRuL2Fw
aWNsaWVudC8zMi9ub3RpZmllciBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2
NjguMjgwNjI1IC9kdG4vYXBpY2xpZW50LzMyL25vdGlmaWVyIGRlYnVnXSBub3RpZmllciB3YWl0
IHN1Y2Nlc3NmdWxseSBub3RpZmllZApbMTE2MjYzODY2OC4yODA2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCA0
ClsxMTYyNjM4NjY4LjI4MDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyAxMiBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NjguMjgwNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDEyClsxMTYyNjM4NjY4LjI4MDYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgMTIgYnl0ZXMgMCBsZWZ0IDEyIHRvdGFsClsxMTYyNjM4
NjY4LjI4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNjIDgy
MQpbMTE2MjYzODY2OC4yODE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fU0VO
RCAoODE2LzgxNiBieXRlcykKWzExNjI2Mzg2NjguMjgxNjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxz
IGRlYnVnXSBuZXh0X2J1bmRsZWlkIDEgLT4gMgpbMTE2MjYzODY2OC4yODE2MjUgL2R0bi9zdG9y
YWdlL2dsb2JhbHMgZGVidWddIHVwZGF0aW5nIGdsb2JhbCBzdG9yZQpbMTE2MjYzODY2OC4yODE2
MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTIgYnl0ZSBv
YmplY3QgKHBsdXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYzODY2OC4yOTI2MjUgL2R0bi9idW5k
bGUgZGVidWddIEJ1bmRsZTo6aW5pdCBidW5kbGUgaWQgMQpbMTE2MjYzODY2OC4yOTI2MjUgL2R0
bi9idW5kbGUvcGF5bG9hZC8xL2ZpbGUgZGVidWddIG9wZW4gL3Zhci9kdG4vYnVuZGxlcy9idW5k
bGVfMS5kYXQgKGZsYWdzIDB4YTAyIG1vZGUgMHgxODApOiBmZCAzNwpbMTE2MjYzODY2OC4yOTM2
MjUgL2R0bi9idW5kbGUvcGF5bG9hZC8xL2ZpbGUgZGVidWddIDo6d3JpdGV2KCkgZmQgMzcgY2Mg
MjYKWzExNjI2Mzg2NjguMjkzNjI1IC9kdG4vYnVuZGxlL3BheWxvYWQvMS9maWxlIGRlYnVnXSB3
cml0ZWFsbCAyNiBieXRlcyAwIGxlZnQgMjYgdG90YWwKWzExNjI2Mzg2NjguMjkzNjI1IC9kdG4v
YnVuZGxlL3BheWxvYWQvMS9maWxlIGRlYnVnXSBjbG9zZSAvdmFyL2R0bi9idW5kbGVzL2J1bmRs
ZV8xLmRhdCBmZCAzNzogMApbMTE2MjYzODY2OC4yOTM2MjUgL2R0bi9hcGljbGllbnQvMjEgaW5m
b10gRFROX1NFTkQgYnVuZGxlIGJ1bmRsZSBpZCAxIHRjYTovL0sxL2FkbWluIC0+IHRjYTovL3Jl
Z2lzdHJ5ICgyNiBieXRlcyBwYXlsb2FkKQpbMTE2MjYzODY2OC4yOTM2MjUgL2R0bi9idW5kbGUv
cmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDEgKDB4MTAxNmQwNDgpOiByZWZjb3VudCAwIC0+IDEgKDAg
bWFwcGluZ3MpIGFkZCBCdW5kbGVSZWNlaXZlZEV2ZW50IApbMTE2MjYzODY2OC4yOTM2MjUgL2R0
bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZkNTAwKSB3aXRoIHR5
cGUgQlVORExFX1JFQ0VJVkVEIChhdCBiYWNrKQpbMTE2MjYzODY2OC4yOTM2MjUgL2R0bi9idW5k
bGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZmllciBub3RpZnkKWzExNjI2Mzg2NjguMjkz
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpb
MTE2MjYzODY2OC4yOTM2MjUgL2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIGF0dGVt
cHRpbmcgdG8gd2FpdCBvbiAweDEwMThhMmI0LCBjb3VudCA9IDAKWzExNjI2Mzg2NjguMzAwNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4NjY4LjMw
MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IGV2ZW50IHRv
IGhhbmRsZQpbMTE2MjYzODY2OC4zMDA2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCAxNTI5
ClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRy
YWluX3BpcGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4zMDA2MjUg
L2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVkIDEv
MSBieXRlKHMpIGZyb20gcGlwZQpbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9u
L21zZ3F1ZXVlIGRlYnVnXSBkcmFpbiBwaXBlIGNvdW50ID0gMApbMTE2MjYzODY2OC4zMDA2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2ZDUwMCkg
QlVORExFX1JFQ0VJVkVEClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddIEJVTkRMRV9SRUNFSVZFRCAoZnJvbSBhcHApOiAoMjYgYnl0ZXMgcmVjdmQpClsxMTYyNjM4
NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGJ1bmRsZSBpZCAxOgpbMTE2MjYz
ODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgICBzb3VyY2U6
IHRjYTovL0sxL2FkbWluClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICAgICAgICAgICAgZGVzdDogdGNhOi8vcmVnaXN0cnkKWzExNjI2Mzg2NjguMzAwNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgY3VzdG9kaWFuOiBkdG46bm9uZQpb
MTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgIHJl
cGx5dG86IHRjYTovL0sxL2FkbWluClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddICAgICBwYXlsb2FkX2xlbmd0aDogMjYKWzExNjI2Mzg2NjguMzAwNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgIHByaW9yaXR5OiAxClsxMTYyNjM4NjY4LjMw
MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICBjdXN0b2R5X3JlcXVlc3RlZDogZmFsc2UK
WzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBsb2NhbF9j
dXN0b2R5OiBmYWxzZQpbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSAgICAgc2luZ2xldG9uX2Rlc3Q6IHRydWUKWzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gICAgICAgcmVjZWl2ZV9yY3B0OiBmYWxzZQpbMTE2MjYzODY2OC4zMDA2
MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICBjdXN0b2R5X3JjcHQ6IGZhbHNlClsx
MTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgIGZvcndhcmRf
cmNwdDogZmFsc2UKWzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10g
ICAgICBkZWxpdmVyeV9yY3B0OiBmYWxzZQpbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUv
ZGFlbW9uIGRlYnVnXSAgICAgIGRlbGV0aW9uX3JjcHQ6IGZhbHNlClsxMTYyNjM4NjY4LjMwMDYy
NSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICBhcHBfYWNrZWRfcmNwdDogZmFsc2UKWzEx
NjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgIGNyZWF0aW9u
X3RzOiAyMTU5NTM4NjguMQpbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSAgICAgICAgIGV4cGlyYXRpb246IDEyMApbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5k
bGUvZGFlbW9uIGRlYnVnXSAgICAgICAgaXNfZnJhZ21lbnQ6IGZhbHNlClsxMTYyNjM4NjY4LjMw
MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAgICBpc19hZG1pbjogZmFsc2UK
WzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgZG9fbm90X2Zy
YWdtZW50OiBmYWxzZQpbMTE2MjYzODY2OC4zMDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSAgICAgICAgb3JpZ19sZW5ndGg6IDAKWzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gICAgICAgIGZyYWdfb2Zmc2V0OiAwClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIHRyYW5zbWlzc2lvbl9jb3VudDogMApbMTE2MjYzODY2OC4z
MDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBhZGRpbmcgYnVuZGxlIGJ1bmRsZSBpZCAx
IHRjYTovL0sxL2FkbWluIC0+IHRjYTovL3JlZ2lzdHJ5ICgyNiBieXRlcyBwYXlsb2FkKSB0byBw
ZW5kaW5nIGxpc3QKWzExNjI2Mzg2NjguMzAwNjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1
bmRsZSBpZCAxICgweDEwMTZkMDQ4KTogcmVmY291bnQgMSAtPiAyICgxIG1hcHBpbmdzKSBhZGQg
YnVuZGxlX2xpc3QgcGVuZGluZ19idW5kbGVzClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRuL2J1bmRs
ZS9saXN0L3BlbmRpbmdfYnVuZGxlcyBkZWJ1Z10gYnVuZGxlIGlkIDEgYWRkIG1hcHBpbmcgW3Bl
bmRpbmdfYnVuZGxlc10gdG8gbGlzdCAweDEwMTBmYzMwClsxMTYyNjM4NjY4LjMwMDYyNSAvZHRu
L2J1bmRsZS9hY3Rpb25zIGRlYnVnXSBhZGRpbmcgYnVuZGxlIDEgdG8gZGF0YSBzdG9yZQpbMTE2
MjYzODY2OC4zMDA2MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMgZGVidWddIHB1dDogc2VyaWFsaXpp
bmcgMTIzIGJ5dGUgb2JqZWN0IChwbHVzIDAgYnl0ZSB0eXBlY29kZSkKWzExNjI2Mzg2NjguMzE5
NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRlYnVnXSBhZGQoMSk6IHN1Y2Nlc3MKWzExNjI2Mzg2
NjguMzIwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gc2NoZWR1bGluZyBleHBpcmF0aW9u
IGZvciBidW5kbGUgaWQgMSBhdCAxMTYyNjM4Nzg4LjAgKGluIDEyMCBzZWNvbmRzKQpbMTE2MjYz
ODY2OC4zMjA2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDEgKDB4MTAxNmQw
NDgpOiByZWZjb3VudCAyIC0+IDMgKDEgbWFwcGluZ3MpIGFkZCBleHBpcmF0aW9uIHRpbWVyIApb
MTE2MjYzODY2OC4zMjA2MjUgL3RpbWVyIGRlYnVnXSBzY2hlZHVsaW5nIHRpbWVyIDB4MTAxN2Ex
ODggaW4gMTE5NjgwIG1zIGF0IDExNjI2Mzg3ODg6MApbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBjaGVja2luZyBmb3IgbWF0Y2hpbmcgcmVnaXN0cmF0aW9ucyBm
b3IgYnVuZGxlIGJ1bmRsZSBpZCAxIHRjYTovL0sxL2FkbWluIC0+IHRjYTovL3JlZ2lzdHJ5ICgy
NiBieXRlcyBwYXlsb2FkKQpbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi9yZWdpc3RyYXRpb24vdGFi
bGUgZGVidWddIGdldF9tYXRjaGluZyB0Y2E6Ly9yZWdpc3RyeQpbMTE2MjYzODY2OC4zMjA2MjUg
L3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL3JlZ2lzdHJ5LywgdGNhOi8vSzEvKSBmYWls
ZWQ6IHVybCBob3N0cyBub3QgZXF1YWwgKCdLMScgIT0gJ3JlZ2lzdHJ5JykKWzExNjI2Mzg2Njgu
MzIwNjI1IC9zY2hlbWUvZHRuIGRlYnVnXSBtYXRjaCh0Y2E6Ly9yZWdpc3RyeS8sIHRjYTovL0sx
L3BpbmcpIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ0sxJyAhPSAncmVnaXN0cnknKQpb
MTE2MjYzODY2OC4zMjA2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL3JlZ2lzdHJ5
LywgdGNhOi8vSzEvYWRtaW4pIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ0sxJyAhPSAn
cmVnaXN0cnknKQpbMTE2MjYzODY2OC4zMjA2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRj
YTovL3JlZ2lzdHJ5LywgdGNhOi8vZ2F0ZXdheXMvKSBmYWlsZWQ6IHVybCBob3N0cyBub3QgZXF1
YWwgKCdnYXRld2F5cycgIT0gJ3JlZ2lzdHJ5JykKWzExNjI2Mzg2NjguMzIwNjI1IC9zY2hlbWUv
ZHRuIGRlYnVnXSBtYXRjaCh0Y2E6Ly9yZWdpc3RyeS8sIHRjYTovL2V4cHRfbWdtdC8pIGZhaWxl
ZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ2V4cHRfbWdtdCcgIT0gJ3JlZ2lzdHJ5JykKWzExNjI2
Mzg2NjguMzIwNjI1IC9kdG4vcmVnaXN0cmF0aW9uL3RhYmxlIGRlYnVnXSBnZXRfbWF0Y2hpbmcg
dGNhOi8vcmVnaXN0cnk6IHJldHVybmVkIDAgbWF0Y2hlcwpbMTE2MjYzODY2OC4zMjA2MjUgL2R0
bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZkNTAwKSBCVU5ETEVfUkVDRUlW
RUQKWzExNjI2Mzg2NjguMzIwNjI1IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6IHRjYSBidW5k
bGUgcmVjZWl2ZWQgW3RjYTovL0sxL2FkbWluXSAtPiBbdGNhOi8vcmVnaXN0cnldIDogJ1JlZ2lz
dGVyaW5nIHRjYTovL0sxL2FkbWluJwpbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi90Y2EgZGVidWdd
IFRjYVJvdXRlcjo6aGFuZGxlX3JlZ2lzdGVyOiBOb2RlIGVpZCA9IHRjYTovL0sxL2FkbWluClsx
MTYyNjM4NjY4LjMyMDYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMSAoMHgx
MDE2ZDA0OCk6IHJlZmNvdW50IDMgLT4gNCAoMiBtYXBwaW5ncykgYWRkIGJ1bmRsZV9saXN0IFRj
YVJvdXRlcjo6YWxsX2J1bmRsZXMKWzExNjI2Mzg2NjguMzIwNjI1IC9kdG4vYnVuZGxlL2xpc3Qv
VGNhUm91dGVyOjphbGxfYnVuZGxlcyBkZWJ1Z10gYnVuZGxlIGlkIDEgYWRkIG1hcHBpbmcgW1Rj
YVJvdXRlcjo6YWxsX2J1bmRsZXNdIHRvIGxpc3QgMHgxMDE2M2E0MApbMTE2MjYzODY2OC4zMjA2
MjUgL2R0bi90Y2EgZGVidWddIFRjYVJvdXRlcjo6ZndkX3RvX21hdGNoaW5nX3I6IG93bmVyPScn
ClsxMTYyNjM4NjY4LjMyMDYyNSAvZHRuL3RjYSBkZWJ1Z10gVGNhUm91dGVyOjpmd2RfdG9fbWF0
Y2hpbmdfcjogZndkX3J1bGU9MgpbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi9yb3V0aW5nL1RjYVJv
dXRlci90YWJsZSBkZWJ1Z10gZ2V0X21hdGNoaW5nIHRjYTovL3JlZ2lzdHJ5ClsxMTYyNjM4NjY4
LjMyMDYyNSAvZHRuL3JvdXRpbmcvVGNhUm91dGVyL3RhYmxlIGRlYnVnXSBnZXRfbWF0Y2hpbmcg
dGNhOi8vcmVnaXN0cnkgZG9uZSwgMCBtYXRjaChlcykKWzExNjI2Mzg2NjguMzIwNjI1IC9kdG4v
dGNhIGRlYnVnXSBUY2FSb3V0ZXI6OmZsb29kX2J1bmRsZTogRmxvb2RpbmcgYnVuZGxlIGRlc3Rp
bmVkIHRvIHRjYTovL3JlZ2lzdHJ5ClsxMTYyNjM4NjY4LjMyMDYyNSAvZHRuL3RjYSBkZWJ1Z10g
VGNhUm91dGVyOjpmbG9vZF9idW5kbGU6IEZsb29kaW5nIGJ1bmRsZSBkZXN0aW5lZCB0byB0Y2E6
Ly9yZWdpc3RyeQpbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi90Y2EgZGVidWddIFRjYVJvdXRlcjo6
cG9zdF9idW5kbGU6IFt0Y2E6Ly9sb2NhbGhvc3QvYnVuZGxlbGF5ZXJdIC0+IFt0Y2E6Ly9LMS9h
ZG1pbl0gOiAncmVnX3JlY2VpdmVkOnRjYTovL0sxL2FkbWluCXRjYTovL3JlZ2lzdHJ5CTIxNTk1
Mzg2OAkxJwpbMTE2MjYzODY2OC4zMjA2MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIG5l
eHRfYnVuZGxlaWQgMiAtPiAzClsxMTYyNjM4NjY4LjMyMDYyNSAvZHRuL3N0b3JhZ2UvZ2xvYmFs
cyBkZWJ1Z10gdXBkYXRpbmcgZ2xvYmFsIHN0b3JlClsxMTYyNjM4NjY4LjMyMTYyNSAvZHRuL3N0
b3JhZ2UvZ2xvYmFscyBkZWJ1Z10gcHV0OiBzZXJpYWxpemluZyAxMiBieXRlIG9iamVjdCAocGx1
cyAwIGJ5dGUgdHlwZWNvZGUpClsxMTYyNjM4NjY4LjMzNDYyNSAvZHRuL2J1bmRsZSBkZWJ1Z10g
QnVuZGxlOjppbml0IGJ1bmRsZSBpZCAyClsxMTYyNjM4NjY4LjMzNDYyNSAvZHRuL2J1bmRsZS9w
YXlsb2FkLzIvZmlsZSBkZWJ1Z10gb3BlbiAvdmFyL2R0bi9idW5kbGVzL2J1bmRsZV8yLmRhdCAo
ZmxhZ3MgMHhhMDIgbW9kZSAweDE4MCk6IGZkIDM3ClsxMTYyNjM4NjY4LjMzNDYyNSAvZHRuL2J1
bmRsZS9wYXlsb2FkLzIvZmlsZSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzNyBjYyA1NApbMTE2MjYz
ODY2OC4zMzQ2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC8yL2ZpbGUgZGVidWddIHdyaXRlYWxsIDU0
IGJ5dGVzIDAgbGVmdCA1NCB0b3RhbApbMTE2MjYzODY2OC4zMzQ2MjUgL2R0bi9idW5kbGUvcGF5
bG9hZC8yL2ZpbGUgZGVidWddIGNsb3NlIC92YXIvZHRuL2J1bmRsZXMvYnVuZGxlXzIuZGF0IGZk
IDM3OiAwClsxMTYyNjM4NjY4LjMzNDYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUg
aWQgMiAoMHgxMDE2ZDgyMCk6IHJlZmNvdW50IDAgLT4gMSAoMCBtYXBwaW5ncykgYWRkIEJ1bmRs
ZVJlY2VpdmVkRXZlbnQgClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddIHBvc3RpbmcgZXZlbnQgKDB4MTAxNzUyYTApIHdpdGggdHlwZSBCVU5ETEVfUkVDRUlWRUQg
KGF0IGJhY2spClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUg
ZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFl
bW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NjY4LjMzNTYyNSAv
ZHRuL2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmQ1MDAp
IEJVTkRMRV9SRUNFSVZFRApbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1
Z10gYnVuZGxlIGlkIDEgKDB4MTAxNmQwNDgpOiByZWZjb3VudCA0IC0+IDMgKDIgbWFwcGluZ3Mp
IGRlbCBCdW5kbGVSZWNlaXZlZEV2ZW50IApbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9hcGljbGll
bnQvMjEvbm90aWZpZXIgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODY2OC4zMzU2MjUg
L2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2
Mzg2NjguMzM1NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgMTQ5NApbMTE2MjYzODY2OC4z
MzU2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRl
bXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9t
IHBpcGUKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1
Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNzUyYTApIEJVTkRMRV9SRUNFSVZF
RApbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBCVU5ETEVfUkVD
RUlWRUQgKGdlbmVyYXRlZCk6ICg1NCBieXRlcyByZWN2ZCkKWzExNjI2Mzg2NjguMzM1NjI1IC9k
dG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gYnVuZGxlIGlkIDI6ClsxMTYyNjM4NjY4LjMzNTYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAgICAgIHNvdXJjZTogdGNhOi8vbG9jYWxo
b3N0L2J1bmRsZWxheWVyClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICAgICAgICAgICAgZGVzdDogdGNhOi8vSzEvYWRtaW4KWzExNjI2Mzg2NjguMzM1NjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgY3VzdG9kaWFuOiB0Y2E6Ly9LMQpb
MTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgIHJl
cGx5dG86IHRjYTovL0sxClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICBwYXlsb2FkX2xlbmd0aDogNTQKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gICAgICAgICAgIHByaW9yaXR5OiAxClsxMTYyNjM4NjY4LjMzNTYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICBjdXN0b2R5X3JlcXVlc3RlZDogZmFsc2UKWzExNjI2
Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBsb2NhbF9jdXN0b2R5
OiBmYWxzZQpbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAg
c2luZ2xldG9uX2Rlc3Q6IHRydWUKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gICAgICAgcmVjZWl2ZV9yY3B0OiBmYWxzZQpbMTE2MjYzODY2OC4zMzU2MjUgL2R0
bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICBjdXN0b2R5X3JjcHQ6IGZhbHNlClsxMTYyNjM4
NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgIGZvcndhcmRfcmNwdDog
ZmFsc2UKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBk
ZWxpdmVyeV9yY3B0OiBmYWxzZQpbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFlbW9u
IGRlYnVnXSAgICAgIGRlbGV0aW9uX3JjcHQ6IGZhbHNlClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddICAgICBhcHBfYWNrZWRfcmNwdDogZmFsc2UKWzExNjI2Mzg2
NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgIGNyZWF0aW9uX3RzOiAy
MTU5NTM4NjguMgpbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAg
ICAgICAgIGV4cGlyYXRpb246IDM2MDAKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gICAgICAgIGlzX2ZyYWdtZW50OiBmYWxzZQpbMTE2MjYzODY2OC4zMzU2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgaXNfYWRtaW46IGZhbHNlClsxMTYy
NjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgIGRvX25vdF9mcmFnbWVu
dDogZmFsc2UKWzExNjI2Mzg2NjguMzM1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAg
ICAgIG9yaWdfbGVuZ3RoOiAwClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL2J1bmRsZS9kYWVtb24g
ZGVidWddICAgICAgICBmcmFnX29mZnNldDogMApbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5k
bGUvZGFlbW9uIGRlYnVnXSB0cmFuc21pc3Npb25fY291bnQ6IDAKWzExNjI2Mzg2NjguMzM1NjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gYWRkaW5nIGJ1bmRsZSBidW5kbGUgaWQgMiB0Y2E6
Ly9sb2NhbGhvc3QvYnVuZGxlbGF5ZXIgLT4gdGNhOi8vSzEvYWRtaW4gKDU0IGJ5dGVzIHBheWxv
YWQpIHRvIHBlbmRpbmcgbGlzdApbMTE2MjYzODY2OC4zMzU2MjUgL2R0bi9idW5kbGUvcmVmcyBk
ZWJ1Z10gYnVuZGxlIGlkIDIgKDB4MTAxNmQ4MjApOiByZWZjb3VudCAxIC0+IDIgKDEgbWFwcGlu
Z3MpIGFkZCBidW5kbGVfbGlzdCBwZW5kaW5nX2J1bmRsZXMKWzExNjI2Mzg2NjguMzM1NjI1IC9k
dG4vYnVuZGxlL2xpc3QvcGVuZGluZ19idW5kbGVzIGRlYnVnXSBidW5kbGUgaWQgMiBhZGQgbWFw
cGluZyBbcGVuZGluZ19idW5kbGVzXSB0byBsaXN0IDB4MTAxMGZjMzAKWzExNjI2Mzg2NjguMzM1
NjI1IC9kdG4vYnVuZGxlL2FjdGlvbnMgZGVidWddIGFkZGluZyBidW5kbGUgMiB0byBkYXRhIHN0
b3JlClsxMTYyNjM4NjY4LjMzNTYyNSAvZHRuL3N0b3JhZ2UvYnVuZGxlcyBkZWJ1Z10gcHV0OiBz
ZXJpYWxpemluZyAxMzAgYnl0ZSBvYmplY3QgKHBsdXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYz
ODY2OC4zMzY2MjUgL2R0bi9hcGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIHBvbGxfd2l0aF9u
b3RpZmllcjogMS8xIGZkcyByZWFkeSwgc3RhdHVzIDB4MSAKWzExNjI2Mzg2NjguMzM2NjI1IC9k
dG4vYXBpY2xpZW50LzIxL25vdGlmaWVyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXI6IG5vcm1h
bCBmZCBoYXMgZXZlbnQKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYXBpY2xpZW50LzIxL25vdGlm
aWVyIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2
Mzg2NjguMzM2NjI1IC9kdG4vYXBpY2xpZW50LzIxL25vdGlmaWVyIGRlYnVnXSBkcmFpbl9waXBl
OiBkcmFpbmVkIDEvMSBieXRlKHMpIGZyb20gcGlwZQpbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9h
cGljbGllbnQvMjEvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4
NjY4LjMzNjYyNSAvZHRuL2FwaWNsaWVudC8yMS9ub3RpZmllciBkZWJ1Z10gbm90aWZpZXIgd2Fp
dCBzdWNjZXNzZnVsbHkgbm90aWZpZWQKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYXBpY2xpZW50
LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGgg
MjY0ClsxMTYyNjM4NjY4LjMzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyAy
NzIgYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NjY4LjMzNjYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyAyNzIKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4v
YXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCAyNzIgYnl0ZXMgMCBsZWZ0IDI3MiB0b3RhbApb
MTE2MjYzODY2OC4zMzY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAy
MSBjYyAxMwpbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBE
VE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogaW1tZWRpYXRlbHkgcmV0dXJuaW5nIGJ1bmRs
ZSBmb3IgcmVnIDEwClsxMTYyNjM4NjY4LjMzNjYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVn
aXN0cmF0aW9uLzEwIGRlYnVnXSBidW5kbGUgaWQgMCBkZWxfYnVuZGxlOiBkZWxldGluZyBtYXBw
aW5nIFsvZHRuL3JlZ2lzdHJhdGlvbi8xMF0KWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYnVuZGxl
L2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6IGF0
dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9idW5kbGUv
bGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gZHJhaW5fcGlwZTogZHJh
aW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYnVuZGxl
L2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUgY291
bnQgPSAwClsxMTYyNjM4NjY4LjMzNjYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUg
aWQgMCAoMHgxMDE2YzJiMCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1bmRs
ZUxpc3Q6OnBvcF9mcm9udCgpIHRlbXBvcmFyeSAKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYnVu
ZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAwICgweDEwMTZjMmIwKTogcmVmY291bnQgNCAtPiAz
ICgxIG1hcHBpbmdzKSBkZWwgYnVuZGxlX2xpc3QgL2R0bi9yZWdpc3RyYXRpb24vMTAKWzExNjI2
Mzg2NjguMzM2NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAwICgweDEwMTZj
MmIwKTogcmVmY291bnQgMyAtPiA0ICgxIG1hcHBpbmdzKSBhZGQgQVBJQ2xpZW50OjpoYW5kbGVf
cmVjdiAKWzExNjI2Mzg2NjguMzM2NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBp
ZCAwICgweDEwMTZjMmIwKTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQnVuZGxl
TGlzdDo6cG9wX2Zyb250KCkgdGVtcG9yYXJ5IApbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGhhbmRsZV9yZWN2OiBwb3BwZWQgYnVuZGxlIDAgZm9yIHJlZ2lzdHJh
dGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9hcGljbGllbnQv
MjEgaW5mb10gRFROX1JFQ1Y6IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYnVuZGxlIDAgdG8gcmVn
aXN0cmF0aW9uIDEwClsxMTYyNjM4NjY4LjMzNjYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBi
dW5kbGUgaWQgMCAoMHgxMDE2YzJiMCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRk
IEJ1bmRsZURlbGl2ZXJlZEV2ZW50IApbMTE2MjYzODY2OC4zMzY2MjUgL2R0bi9idW5kbGUvZGFl
bW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZjOWI4KSB3aXRoIHR5cGUgQlVORExFX0RF
TElWRVJFRCAoYXQgYmFjaykKWzExNjI2Mzg2NjguMzM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9t
c2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjMzNzYyNSAvZHRuL2J1
bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2Njgu
MzM3NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAwICgweDEwMTZjMmIwKTog
cmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQVBJQ2xpZW50OjpoYW5kbGVfcmVjdiAK
WzExNjI2Mzg2NjguMzM3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBs
eTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggODAwClsxMTYyNjM4NjY4LjMzNzYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4MDggYnl0ZSByZXBseSBtZXNzYWdlClsx
MTYyNjM4NjY4LjMzNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3
IGNjIDEzClsxMTYyNjM4NjY4LjMzNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERU
Tl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjY4LjMzNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciBy
ZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NjY4LjMzODYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4MDgKWzExNjI2Mzg2NjguMzM4NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4MDggYnl0ZXMgMCBsZWZ0IDgwOCB0
b3RhbApbMTE2MjYzODY2OC4zNDg2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NjguMzQ4NjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4NjY4LjM0ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2NjguMzQ4NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4NjY4LjM0ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNj
IDEzClsxMTYyNjM4NjY4LjM0ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9S
RUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjY4LjM0ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdp
c3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NjY4LjM0ODYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NjY4LjM0ODYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODY2OC4zNTM2MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMgZGVidWddIGFkZCgyKTogc3VjY2Vz
cwpbMTE2MjYzODY2OC4zNTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBzY2hlZHVsaW5n
IGV4cGlyYXRpb24gZm9yIGJ1bmRsZSBpZCAyIGF0IDExNjI2NDIyNjguMCAoaW4gMzYwMCBzZWNv
bmRzKQpbMTE2MjYzODY2OC4zNTM2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlk
IDIgKDB4MTAxNmQ4MjApOiByZWZjb3VudCAyIC0+IDMgKDEgbWFwcGluZ3MpIGFkZCBleHBpcmF0
aW9uIHRpbWVyIApbMTE2MjYzODY2OC4zNTM2MjUgL3RpbWVyIGRlYnVnXSBzY2hlZHVsaW5nIHRp
bWVyIDB4MTAxNmRjZDAgaW4gMzU5OTY0NyBtcyBhdCAxMTYyNjQyMjY4OjAKWzExNjI2Mzg2Njgu
MzUzNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gY2hlY2tpbmcgZm9yIG1hdGNoaW5nIHJl
Z2lzdHJhdGlvbnMgZm9yIGJ1bmRsZSBidW5kbGUgaWQgMiB0Y2E6Ly9sb2NhbGhvc3QvYnVuZGxl
bGF5ZXIgLT4gdGNhOi8vSzEvYWRtaW4gKDU0IGJ5dGVzIHBheWxvYWQpClsxMTYyNjM4NjY4LjM1
MzYyNSAvZHRuL3JlZ2lzdHJhdGlvbi90YWJsZSBkZWJ1Z10gZ2V0X21hdGNoaW5nIHRjYTovL0sx
L2FkbWluClsxMTYyNjM4NjY4LjM1MzYyNSAvc2NoZW1lL2R0biBkZWJ1Z10gbWF0Y2godGNhOi8v
SzEvYWRtaW4sIHRjYTovL0sxL2FkbWluKSBzdWNjZWVkZWQ6IHBhdHRlcm4gJ0sxJyBzc3AgJ0sx
JwpbMTE2MjYzODY2OC4zNTM2MjUgL2R0bi9yZWdpc3RyYXRpb24vdGFibGUgZGVidWddIG1hdGNo
ZWQgcmVnaXN0cmF0aW9uIDEwIHRjYTovL0sxL2FkbWluClsxMTYyNjM4NjY4LjM1MzYyNSAvc2No
ZW1lL2R0biBkZWJ1Z10gbWF0Y2godGNhOi8vSzEvYWRtaW4sIHRjYTovL2dhdGV3YXlzLykgZmFp
bGVkOiB1cmwgaG9zdHMgbm90IGVxdWFsICgnZ2F0ZXdheXMnICE9ICdLMScpClsxMTYyNjM4NjY4
LjM1MzYyNSAvc2NoZW1lL2R0biBkZWJ1Z10gbWF0Y2godGNhOi8vSzEvYWRtaW4sIHRjYTovL2V4
cHRfbWdtdC8pIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ2V4cHRfbWdtdCcgIT0gJ0sx
JykKWzExNjI2Mzg2NjguMzUzNjI1IC9kdG4vcmVnaXN0cmF0aW9uL3RhYmxlIGRlYnVnXSBnZXRf
bWF0Y2hpbmcgdGNhOi8vSzEvYWRtaW46IHJldHVybmVkIDEgbWF0Y2hlcwpbMTE2MjYzODY2OC4z
NTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBkZWxpdmVyaW5nIGJ1bmRsZSBidW5kbGUg
aWQgMiB0Y2E6Ly9sb2NhbGhvc3QvYnVuZGxlbGF5ZXIgLT4gdGNhOi8vSzEvYWRtaW4gKDU0IGJ5
dGVzIHBheWxvYWQpIHRvIHJlZ2lzdHJhdGlvbiAxMCAodGNhOi8vSzEvYWRtaW4pClsxMTYyNjM4
NjY4LjM1MzYyNSAvZHRuL3JlZ2lzdHJhdGlvbi8xMCBpbmZvXSBkZWxpdmVyX2J1bmRsZTogcXVl
dWluZyBidW5kbGUgaWQgMiBmb3IgYWN0aXZlIGRlbGl2ZXJ5IHRvIHRjYTovL0sxL2FkbWluClsx
MTYyNjM4NjY4LjM1MzYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMiAoMHgx
MDE2ZDgyMCk6IHJlZmNvdW50IDMgLT4gNCAoMiBtYXBwaW5ncykgYWRkIGJ1bmRsZV9saXN0IC9k
dG4vcmVnaXN0cmF0aW9uLzEwClsxMTYyNjM4NjY4LjM1MzYyNSAvZHRuL2J1bmRsZS9saXN0Ly9k
dG4vcmVnaXN0cmF0aW9uLzEwL25vdGlmaWVyIGRlYnVnXSBub3RpZmllciBub3RpZnkKWzExNjI2
Mzg2NjguMzUzNjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAvbm90aWZp
ZXIgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2NjguMzUzNjI1IC9kdG4vYnVuZGxl
L2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAgZGVidWddIGJ1bmRsZSBpZCAyIGFkZCBtYXBwaW5n
IFsvZHRuL3JlZ2lzdHJhdGlvbi8xMF0gdG8gbGlzdCAweDEwMTZjODEwClsxMTYyNjM4NjY4LjM1
MzYyNSAvZHRuL3RjYSBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNzUyYTApIEJVTkRM
RV9SRUNFSVZFRApbMTE2MjYzODY2OC4zNTM2MjUgL2R0bi90Y2EgZGVidWddIFRjYVJvdXRlcjog
dGNhIGJ1bmRsZSByZWNlaXZlZCBbdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyXSAtPiBbdGNh
Oi8vSzEvYWRtaW5dIDogJ3JlZ19yZWNlaXZlZDp0Y2E6Ly9LMS9hZG1pbgl0Y2E6Ly9yZWdpc3Ry
eQkyMTU5NTM4NjgJMScKWzExNjI2Mzg2NjguMzUzNjI1IC9kdG4vY29udGFjdC9tYW5hZ2VyIGRl
YnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE3NTJhMCkgQlVORExFX1JFQ0VJVkVEClsxMTYy
NjM4NjY4LjM1MzYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMiAoMHgxMDE2
ZDgyMCk6IHJlZmNvdW50IDQgLT4gMyAoMiBtYXBwaW5ncykgZGVsIEJ1bmRsZVJlY2VpdmVkRXZl
bnQgClsxMTYyNjM4NjY4LjM1MzYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDE0NzYKWzEx
NjI2Mzg2NjguMzUzNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5f
cGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5
dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNn
cXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZjOWI4KSBCVU5E
TEVfREVMSVZFUkVEClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gaW5mb10g
QlVORExFX0RFTElWRVJFRCBpZDowICgxMCBieXRlcykgLT4gcmVnaWQgMTAgKHRjYTovL0sxL2Fk
bWluKQpbMTE2MjYzODY2OC4zNTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSByZW1vdmlu
ZyBidW5kbGUgYnVuZGxlIGlkIDAgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTov
L0sxL2FkbWluICgxMCBieXRlcyBwYXlsb2FkKSBmcm9tIHBlbmRpbmcgbGlzdApbMTE2MjYzODY2
OC4zNTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBjYW5jZWxsaW5nIGV4cGlyYXRpb24g
dGltZXIgZm9yIGJ1bmRsZSBpZCAwClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRsZS9yZWZz
IGRlYnVnXSBidW5kbGUgaWQgMCAoMHgxMDE2YzJiMCk6IHJlZmNvdW50IDMgLT4gMiAoMSBtYXBw
aW5ncykgZGVsIGV4cGlyYXRpb24gdGltZXIgClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRs
ZS9saXN0L3BlbmRpbmdfYnVuZGxlcyBkZWJ1Z10gYnVuZGxlIGlkIDAgZGVsX2J1bmRsZTogZGVs
ZXRpbmcgbWFwcGluZyBbcGVuZGluZ19idW5kbGVzXQpbMTE2MjYzODY2OC4zNTQ2MjUgL2R0bi9i
dW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDAgKDB4MTAxNmMyYjApOiByZWZjb3VudCAyIC0+
IDEgKDAgbWFwcGluZ3MpIGRlbCBidW5kbGVfbGlzdCBwZW5kaW5nX2J1bmRsZXMKWzExNjI2Mzg2
NjguMzU0NjI1IC9kdG4vdGNhIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2YzliOCkg
QlVORExFX0RFTElWRVJFRApbMTE2MjYzODY2OC4zNTQ2MjUgL2R0bi9jb250YWN0L21hbmFnZXIg
ZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZjOWI4KSBCVU5ETEVfREVMSVZFUkVEClsx
MTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMCAoMHgx
MDE2YzJiMCk6IHJlZmNvdW50IDEgLT4gMCAoMCBtYXBwaW5ncykgZGVsIEJ1bmRsZURlbGl2ZXJl
ZEV2ZW50IApbMTE2MjYzODY2OC4zNTQ2MjUgL2R0bi9idW5kbGUgZGVidWddIGJ1bmRsZSBpZCAw
ICgweDEwMTZjMmIwKTogbm8gbW9yZSByZWZlcmVuY2VzLCBwb3N0aW5nIGZyZWUgZXZlbnQKWzEx
NjI2Mzg2NjguMzU0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVudCAo
MHgxMDE2ZGQzMCkgd2l0aCB0eXBlIEJVTkRMRV9GUkVFIChhdCBiYWNrKQpbMTE2MjYzODY2OC4z
NTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZmllciBub3RpZnkK
WzExNjI2Mzg2NjguMzU0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90
aWZ5IGNvdW50ID0gMQpbMTE2MjYzODY2OC4zNTQ2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91
dCAxNDc1ClsxMTYyNjM4NjY4LjM1NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVi
dWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4z
NTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFp
bmVkIDEvMSBieXRlKHMpIGZyb20gcGlwZQpbMTE2MjYzODY2OC4zNTQ2MjUgL2R0bi9idW5kbGUv
ZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbiBwaXBlIGNvdW50ID0gMApbMTE2MjYzODY2OC4z
NTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2
ZGQzMCkgQlVORExFX0ZSRUUKWzExNjI2Mzg2NjguMzU0NjI1IC9kdG4vYnVuZGxlL2FjdGlvbnMg
ZGVidWddIHJlbW92aW5nIGJ1bmRsZSAwIGZyb20gZGF0YSBzdG9yZQpbMTE2MjYzODY2OC4zNTk2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQK
WzExNjI2Mzg2NjguMzU5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NjY4LjM1OTYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0
eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2NjguMzU5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVn
XSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NjY4LjM1OTYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NjY4LjM1OTYy
NSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3Rh
bApbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBm
ZCAyMSBjYyAxMwpbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdv
dCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogaW1tZWRpYXRlbHkgcmV0dXJuaW5nIGJ1
bmRsZSBmb3IgcmVnIDEwClsxMTYyNjM4NjY4LjM1OTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4v
cmVnaXN0cmF0aW9uLzEwIGRlYnVnXSBidW5kbGUgaWQgMiBkZWxfYnVuZGxlOiBkZWxldGluZyBt
YXBwaW5nIFsvZHRuL3JlZ2lzdHJhdGlvbi8xMF0KWzExNjI2Mzg2NjguMzU5NjI1IC9kdG4vYnVu
ZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6
IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9idW5k
bGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gZHJhaW5fcGlwZTog
ZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg2NjguMzU5NjI1IC9kdG4vYnVu
ZGxlL2xpc3QvL2R0bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUg
Y291bnQgPSAwClsxMTYyNjM4NjY4LjM1OTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5k
bGUgaWQgMiAoMHgxMDE2ZDgyMCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1
bmRsZUxpc3Q6OnBvcF9mcm9udCgpIHRlbXBvcmFyeSAKWzExNjI2Mzg2NjguMzU5NjI1IC9kdG4v
YnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAyICgweDEwMTZkODIwKTogcmVmY291bnQgNCAt
PiAzICgxIG1hcHBpbmdzKSBkZWwgYnVuZGxlX2xpc3QgL2R0bi9yZWdpc3RyYXRpb24vMTAKWzEx
NjI2Mzg2NjguMzU5NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAyICgweDEw
MTZkODIwKTogcmVmY291bnQgMyAtPiA0ICgxIG1hcHBpbmdzKSBhZGQgQVBJQ2xpZW50OjpoYW5k
bGVfcmVjdiAKWzExNjI2Mzg2NjguMzU5NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRs
ZSBpZCAyICgweDEwMTZkODIwKTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQnVu
ZGxlTGlzdDo6cG9wX2Zyb250KCkgdGVtcG9yYXJ5IApbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIGhhbmRsZV9yZWN2OiBwb3BwZWQgYnVuZGxlIDIgZm9yIHJlZ2lz
dHJhdGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY2OC4zNTk2MjUgL2R0bi9hcGljbGll
bnQvMjEgaW5mb10gRFROX1JFQ1Y6IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYnVuZGxlIDIgdG8g
cmVnaXN0cmF0aW9uIDEwClsxMTYyNjM4NjY4LjM1OTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVn
XSBidW5kbGUgaWQgMiAoMHgxMDE2ZDgyMCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykg
YWRkIEJ1bmRsZURlbGl2ZXJlZEV2ZW50IApbMTE2MjYzODY2OC4zNjA2MjUgL2R0bi9idW5kbGUv
ZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTdhMTI4KSB3aXRoIHR5cGUgQlVORExF
X0RFTElWRVJFRCAoYXQgYmFjaykKWzExNjI2Mzg2NjguMzYwNjI1IC9kdG4vYnVuZGxlL2RhZW1v
bi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjY4LjM2MDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg2
NjguMzYwNjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAyICgweDEwMTZkODIw
KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQVBJQ2xpZW50OjpoYW5kbGVfcmVj
diAKWzExNjI2Mzg2NjguMzYwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggODQ0ClsxMTYyNjM4NjY4LjM2MDYy
NSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4NTIgYnl0ZSByZXBseSBtZXNzYWdl
ClsxMTYyNjM4NjY4LjM2MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZk
IDI3IGNjIDEzClsxMTYyNjM4NjY4LjM2MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290
IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjY4LjM2MTYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZv
ciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NjY4LjM2MTYyNSAvZHRuL2Fw
aWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4NTIKWzExNjI2Mzg2NjguMzYx
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4NTIgYnl0ZXMgMCBsZWZ0IDg1
MiB0b3RhbApbMTE2MjYzODY2OC4zNjc2MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMgZGVidWddIGRl
bCgwKTogc3VjY2VzcwpbMTE2MjYzODY2OC4zNjc2MjUgL2R0bi9idW5kbGUvZnJlZSBkZWJ1Z10g
ZGVzdHJveWluZyBidW5kbGUgaWQgMApbMTE2MjYzODY2OC4zNjc2MjUgL2R0bi9idW5kbGUvcGF5
bG9hZC8wL2ZpbGUgZGVidWddIHVubGluayAvdmFyL2R0bi9idW5kbGVzL2J1bmRsZV8wLmRhdDog
MApbMTE2MjYzODY2OC4zNjc2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCAxNDYyClsxMTYy
NjM4NjY4LjM2NzYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3Bp
cGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY2OC4zNjc2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVkIDEvMSBieXRl
KHMpIGZyb20gcGlwZQpbMTE2MjYzODY2OC4zNjc2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1
ZXVlIGRlYnVnXSBkcmFpbiBwaXBlIGNvdW50ID0gMApbMTE2MjYzODY2OC4zNjg2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE3YTEyOCkgQlVORExF
X0RFTElWRVJFRApbMTE2MjYzODY2OC4zNjg2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGluZm9dIEJV
TkRMRV9ERUxJVkVSRUQgaWQ6MiAoNTQgYnl0ZXMpIC0+IHJlZ2lkIDEwICh0Y2E6Ly9LMS9hZG1p
bikKWzExNjI2Mzg2NjguMzY4NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcmVtb3Zpbmcg
YnVuZGxlIGJ1bmRsZSBpZCAyIHRjYTovL2xvY2FsaG9zdC9idW5kbGVsYXllciAtPiB0Y2E6Ly9L
MS9hZG1pbiAoNTQgYnl0ZXMgcGF5bG9hZCkgZnJvbSBwZW5kaW5nIGxpc3QKWzExNjI2Mzg2Njgu
MzY4NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gY2FuY2VsbGluZyBleHBpcmF0aW9uIHRp
bWVyIGZvciBidW5kbGUgaWQgMgpbMTE2MjYzODY2OC4zNjg2MjUgL2R0bi9idW5kbGUvcmVmcyBk
ZWJ1Z10gYnVuZGxlIGlkIDIgKDB4MTAxNmQ4MjApOiByZWZjb3VudCAzIC0+IDIgKDEgbWFwcGlu
Z3MpIGRlbCBleHBpcmF0aW9uIHRpbWVyIApbMTE2MjYzODY2OC4zNjg2MjUgL2R0bi9idW5kbGUv
bGlzdC9wZW5kaW5nX2J1bmRsZXMgZGVidWddIGJ1bmRsZSBpZCAyIGRlbF9idW5kbGU6IGRlbGV0
aW5nIG1hcHBpbmcgW3BlbmRpbmdfYnVuZGxlc10KWzExNjI2Mzg2NjguMzY4NjI1IC9kdG4vYnVu
ZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAyICgweDEwMTZkODIwKTogcmVmY291bnQgMiAtPiAx
ICgwIG1hcHBpbmdzKSBkZWwgYnVuZGxlX2xpc3QgcGVuZGluZ19idW5kbGVzClsxMTYyNjM4NjY4
LjM2ODYyNSAvZHRuL3RjYSBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxN2ExMjgpIEJV
TkRMRV9ERUxJVkVSRUQKWzExNjI2Mzg2NjguMzY4NjI1IC9kdG4vY29udGFjdC9tYW5hZ2VyIGRl
YnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE3YTEyOCkgQlVORExFX0RFTElWRVJFRApbMTE2
MjYzODY2OC4zNjg2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDIgKDB4MTAx
NmQ4MjApOiByZWZjb3VudCAxIC0+IDAgKDAgbWFwcGluZ3MpIGRlbCBCdW5kbGVEZWxpdmVyZWRF
dmVudCAKWzExNjI2Mzg2NjguMzY4NjI1IC9kdG4vYnVuZGxlIGRlYnVnXSBidW5kbGUgaWQgMiAo
MHgxMDE2ZDgyMCk6IG5vIG1vcmUgcmVmZXJlbmNlcywgcG9zdGluZyBmcmVlIGV2ZW50ClsxMTYy
NjM4NjY4LjM2ODYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZlbnQgKDB4
MTAxMTE1MTApIHdpdGggdHlwZSBCVU5ETEVfRlJFRSAoYXQgYmFjaykKWzExNjI2Mzg2NjguMzY4
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5Clsx
MTYyNjM4NjY4LjM2ODYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlm
eSBjb3VudCA9IDEKWzExNjI2Mzg2NjguMzY4NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQg
MTQ2MQpbMTE2MjYzODY2OC4zNjg2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVn
XSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg2NjguMzY4
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5l
ZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg2NjguMzY4NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2NjguMzY4
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxMTE1
MTApIEJVTkRMRV9GUkVFClsxMTYyNjM4NjY4LjM2ODYyNSAvZHRuL2J1bmRsZS9hY3Rpb25zIGRl
YnVnXSByZW1vdmluZyBidW5kbGUgMiBmcm9tIGRhdGEgc3RvcmUKWzExNjI2Mzg2NjguMzcyNjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4NjY4LjM3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY2OC4zNzI2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4NjY4LjM3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY2OC4zNzI2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY2OC4zNzI2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg2NjguMzcyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQg
MzIgY2MgMTMKWzExNjI2Mzg2NjguMzcyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2NjguMzcyNjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2NjguMzgzNjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NjY4
LjM4MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY2OC4zODM2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NjY4LjM4MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY2OC4zODM2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY2OC4zODM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
NjguMzgzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMK
WzExNjI2Mzg2NjguMzgzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1Yg
KDgvOCBieXRlcykKWzExNjI2Mzg2NjguMzgzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJh
dGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY2OC4zODc2MjUgL2R0bi9zdG9yYWdlL2J1
bmRsZXMgZGVidWddIGRlbCgyKTogc3VjY2VzcwpbMTE2MjYzODY2OC4zODc2MjUgL2R0bi9idW5k
bGUvZnJlZSBkZWJ1Z10gZGVzdHJveWluZyBidW5kbGUgaWQgMgpbMTE2MjYzODY2OC4zODc2MjUg
L2R0bi9idW5kbGUvcGF5bG9hZC8yL2ZpbGUgZGVidWddIHVubGluayAvdmFyL2R0bi9idW5kbGVz
L2J1bmRsZV8yLmRhdDogMApbMTE2MjYzODY2OC4zODc2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGlt
ZW91dCAxNDQyClsxMTYyNjM4NjY4LjM4NzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgcmV0dXJuZWQgMQpbMTE2MjYzODY2OC4zODc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBwb2xsIHJldHVybmVkIG5ldyB0aW1lcnMgdG8gaGFuZGxlClsxMTYyNjM4NjY4LjM4NzYyNSAv
dGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDE0NDIKWzExNjI2Mzg2NjkuMzkyNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NjY5
LjM5MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY2OS4zOTI2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NjY5LjM5MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY2OS4zOTI2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY2OS4zOTI2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY2OS4zOTI2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYz
ODY2OS4zOTI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODY2OS4zOTI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NjkuNDAzNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NjY5LjQwMzYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY2OS40MDM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4NjY5LjQwMzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY2OS40MDM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY2OS40MDM2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY2OS40MDM2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0
IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODY2OS40MDM2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYz
ODY2OS40MDM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBs
ZWZ0IDggdG90YWwKWzExNjI2Mzg2NjkuNDE0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NjY5LjQxNDYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODY2OS40MTQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NjY5LjQx
NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODY2OS40MTQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMzIgY2MgOApbMTE2MjYzODY2OS40MTQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NjkuNDE0NjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2NjkuNDE0NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2
Mzg2NjkuNDE0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAx
MDAwKQpbMTE2MjYzODY2OS44Mzg2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIC0yClsxMTYyNjM4NjY5LjgzODYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgdGltZW91dApbMTE2MjYzODY2OS44Mzg2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVy
IDB4MTAxNjExMzggYXQgMTE2MjYzODY2OS44Mzg2MjUKWzExNjI2Mzg2NjkuODM4NjI1IC9kdG4v
c3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24K
WzExNjI2Mzg2NjkuODM4NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVz
Y2hlZHVsaW5nIGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2NjkuODM4NjI1IC90aW1lciBkZWJ1Z10g
c2NoZWR1bGluZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY3NDo4Mzg2
MjUKWzExNjI2Mzg2NjkuODM4NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2
MjYzODY2OS44Mzg2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg2NjkuODM4NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgdGltZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY2OS44Mzg2MjUgL3RpbWVyIGRlYnVnXSBu
ZXcgdGltZW91dCA1MDAwClsxMTYyNjM4NjcwLjQxNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY3MC40MTQ2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5n
IGZvciBidW5kbGUKWzExNjI2Mzg2NzAuNDE0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBi
dWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3
MC40MTQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2NzAuNDE0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRl
digpIGZkIDIxIGNjIDgKWzExNjI2Mzg2NzAuNDE0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVn
XSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjcwLjQxNDYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NjcwLjQx
NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsx
MTYyNjM4NjcwLjQxNDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVv
dXQgMTApClsxMTYyNjM4NjcwLjQyNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY3MC40MjU2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2NzAuNDI1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3MC40MjU2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2NzAuNDI1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg2NzAuNDI1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2NzAuNDI1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2NzAuNDI1NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2NzAuNDI1NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4NjcwLjQzNTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY3MC40MzU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2NzAuNDM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3MC40MzU2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzAu
NDM1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzEx
NjI2Mzg2NzAuNDM1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg2NzAuNDM1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY3MC40MzU2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY3MC40MzU2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
NzEuNDM1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4NjcxLjQzNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3MS40
MzU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NjcxLjQzNTYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3MS40MzU2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY3
MS40MzU2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODY3MS40MzU2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODY3MS40MzU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY3MS40MzU2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzEuNDQ2NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4NjcxLjQ0NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3MS40NDY2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4NjcxLjQ0NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3MS40NDY2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY3MS40NDY2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg2NzEuNDQ2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQg
MzIgY2MgMTMKWzExNjI2Mzg2NzEuNDQ2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2NzEuNDQ2NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2NzEuNDU3NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njcx
LjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3MS40NTc2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NjcxLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3MS40NTc2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY3MS40NTc2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3MS40NTc2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYy
NjM4NjcxLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjcxLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY3Mi40NTc2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzIuNDU3NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NjcyLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2NzIuNDU3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4NjcyLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NjcyLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjcyLjQ1NzYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NjcyLjQ1
NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4NjcyLjQ1NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY3Mi40Njg2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzIuNDY4NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4NjcyLjQ2ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2NzIu
NDY4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4NjcyLjQ2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigp
IGZkIDMyIGNjIDEzClsxMTYyNjM4NjcyLjQ2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Z290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjcyLjQ2ODYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxl
IGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NjcyLjQ2ODYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NjcyLjQ2
ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODY3Mi40Nzg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzIuNDc4NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4NjcyLjQ3ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2NzIuNDc4NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4NjcyLjQ3ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjcyLjQ3ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY3Mi40Nzg2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY3Mi40Nzg2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3Mi40
Nzg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsx
MTYyNjM4NjczLjQ3ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY3My40Nzg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2NzMuNDc4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3My40Nzg2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzMu
NDc4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzEx
NjI2Mzg2NzMuNDc4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjczLjQ3ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NjczLjQ3ODYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjczLjQ3ODYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0
byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4Njcz
LjQ4OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY3My40ODk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2NzMuNDg5
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3My40ODk2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzMuNDg5NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2NzMu
NDg5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykK
WzExNjI2Mzg2NzMuNDg5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGlt
ZW91dCAxMCkKWzExNjI2Mzg2NzMuNDg5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6Ondy
aXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2NzMuNDg5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjczLjUwMDYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODY3My41MDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2NzMuNTAwNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODY3My41MDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzMuNTAwNjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2NzMuNTAwNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2
NzMuNTAwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6
IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAxMDAw
KQpbMTE2MjYzODY3My41MDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMzIgY2MgOApbMTE2MjYzODY3My41MDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzQuNTAwNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc0
LjUwMDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3NC41MDA2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njc0LjUwMDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3NC41MDA2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY3NC41MDA2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3NC41MDA2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYz
ODY3NC41MDA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODY3NC41MDA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzQuNTExNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc0LjUxMTYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3NC41MTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4Njc0LjUxMTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY3NC41MTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY3NC41MTE2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzQuNTExNjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2
NzQuNTExNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg2NzQuNTExNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAo
dGltZW91dCAxMCkKWzExNjI2Mzg2NzQuNTIxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc0LjUyMTYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODY3NC41MjE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njc0LjUy
MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODY3NC41MjE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBm
ZCAyMSBjYyAxMwpbMTE2MjYzODY3NC41MjE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdv
dCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3NC41MjE2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBm
b3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4Njc0LjUyMTYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4Njc0LjUy
MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODY3NC44NDU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIC0yClsxMTYyNjM4Njc0Ljg0NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgdGltZW91dApbMTE2MjYzODY3NC44NDU2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVy
IDB4MTAxNjExMzggYXQgMTE2MjYzODY3NC44NDU2MjUKWzExNjI2Mzg2NzQuODQ1NjI1IC9kdG4v
c3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24K
WzExNjI2Mzg2NzQuODQ1NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVz
Y2hlZHVsaW5nIGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2NzQuODQ1NjI1IC90aW1lciBkZWJ1Z10g
c2NoZWR1bGluZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY3OTo4NDU2
MjUKWzExNjI2Mzg2NzQuODQ1NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2
MjYzODY3NC44NDU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg2NzQuODQ1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgdGltZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY3NC44NDU2MjUgL3RpbWVyIGRlYnVnXSBu
ZXcgdGltZW91dCA1MDAwClsxMTYyNjM4Njc1LjUyMTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY3NS41MjE2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5n
IGZvciBidW5kbGUKWzExNjI2Mzg2NzUuNTIxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBi
dWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3
NS41MjE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2NzUuNTIxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg2NzUuNTIxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2NzUuNTIxNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2NzUuNTIxNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2NzUu
NTIxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4Njc1LjUzMjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY3NS41MzI2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2NzUuNTMyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3NS41MzI2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2NzUuNTMyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg2NzUuNTMyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2NzUuNTMyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2NzUuNTMyNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2NzUuNTMyNjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4Njc1LjU0MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY3NS41NDM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2NzUuNTQzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3NS41NDM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzUu
NTQzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzEx
NjI2Mzg2NzUuNTQzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njc1LjU0MzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4Njc1LjU0MzYyNSAvZHRuL2FwaWNsaWVu
dC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njc1LjU0MzYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0
byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2
NzYuNTUwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4Njc2LjU1MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3Ni41
NTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njc2LjU1MDYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3Ni41NTA2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY3
Ni41NTA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODY3Ni41NTA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODY3Ni41NTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY3Ni41NTA2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzYuNTYwNjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4Njc2LjU2MDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3Ni41NjA2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4Njc2LjU2MDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3Ni41NjA2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY3Ni41NjA2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYz
ODY3Ni41NjA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEw
KQpbMTE2MjYzODY3Ni41NjA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMjcgY2MgOApbMTE2MjYzODY3Ni41NjA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzYuNTcxNjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc2
LjU3MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3Ni41NzE2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njc2LjU3MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3Ni41NzE2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY3Ni41NzE2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
NzYuNTcxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMK
WzExNjI2Mzg2NzYuNTcxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1Yg
KDgvOCBieXRlcykKWzExNjI2Mzg2NzYuNTcxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJh
dGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY3Ny41ODE2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzcuNTgxNjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4Njc3LjU4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2NzcuNTgxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4Njc3LjU4MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njc3LjU4MTYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njc3LjU4MTYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4Njc3LjU4
MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4Njc3LjU4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY3Ny41OTI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzcuNTkyNjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4Njc3LjU5MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2Nzcu
NTkyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4Njc3LjU5MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAyNyBjYyA4ClsxMTYyNjM4Njc3LjU5MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
d3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY3Ny41OTI2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY3Ny41OTI2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2
MjYzODY3Ny41OTI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0
IDEwKQpbMTE2MjYzODY3Ny42MDI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2NzcuNjAyNjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4Njc3LjYwMjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2NzcuNjAyNjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4Njc3LjYwMjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNj
IDEzClsxMTYyNjM4Njc3LjYwMjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9S
RUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njc3LjYwMjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdp
c3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2NzcuNjAyNjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg2NzcuNjAyNjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4Njc4LjYxMjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY3OC42MTI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2NzguNjEyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3OC42MTI2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2Nzgu
NjEyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzEx
NjI2Mzg2NzguNjEyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg2NzguNjEyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2NzguNjEyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRl
YnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2NzguNjEyNjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njc4
LjYyMzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY3OC42MjM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2NzguNjIz
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY3OC42MjM2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzguNjIzNjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2Nzgu
NjIzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykK
WzExNjI2Mzg2NzguNjIzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGlt
ZW91dCAxMCkKWzExNjI2Mzg2NzguNjIzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6Ondy
aXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2NzguNjIzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njc4LjYzNDYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODY3OC42MzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2NzguNjM0NjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODY3OC42MzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2NzguNjM0NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg2NzguNjM0NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4Njc4LjYzNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIx
IGNjIDEzClsxMTYyNjM4Njc4LjYzNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERU
Tl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njc4LjYzNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciBy
ZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2NzkuNjM0NjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc5
LjYzNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3OS42MzQ2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njc5LjYzNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY3OS42MzQ2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY3OS42MzQ2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3OS42MzQ2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYz
ODY3OS42MzQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODY3OS42MzQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzkuNjQ0NjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc5LjY0NDYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY3OS42NDQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4Njc5LjY0NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY3OS42NDQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY3OS42NDQ2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2NzkuNjQ0NjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2
NzkuNjQ0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg2NzkuNjQ0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAo
dGltZW91dCAxMCkKWzExNjI2Mzg2NzkuNjU1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njc5LjY1NTYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODY3OS42NTU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njc5LjY1
NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODY3OS42NTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBm
ZCAyMSBjYyAxMwpbMTE2MjYzODY3OS42NTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdv
dCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY3OS42NTU2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBm
b3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4Njc5LjY1NTYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4Njc5LjY1
NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODY3OS44NDg2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIC0yClsxMTYyNjM4Njc5Ljg0ODYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgdGltZW91dApbMTE2MjYzODY3OS44NDg2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVy
IDB4MTAxNjExMzggYXQgMTE2MjYzODY3OS44NDg2MjUKWzExNjI2Mzg2NzkuODQ4NjI1IC9kdG4v
c3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24K
WzExNjI2Mzg2NzkuODQ4NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVz
Y2hlZHVsaW5nIGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2NzkuODQ4NjI1IC90aW1lciBkZWJ1Z10g
c2NoZWR1bGluZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY4NDo4NDg2
MjUKWzExNjI2Mzg2NzkuODQ4NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2
MjYzODY3OS44NDg2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg2NzkuODQ4NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgdGltZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY3OS44NDg2MjUgL3RpbWVyIGRlYnVnXSBu
ZXcgdGltZW91dCA1MDAwClsxMTYyNjM4NjgwLjY2NTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY4MC42NjU2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5n
IGZvciBidW5kbGUKWzExNjI2Mzg2ODAuNjY1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBi
dWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4
MC42NjU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2ODAuNjY1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg2ODAuNjY1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2ODAuNjY1NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2ODAuNjY1NjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2ODAu
NjY1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4NjgwLjY3NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY4MC42NzY2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2ODAuNjc2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4MC42NzY2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2ODAuNjc2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg2ODAuNjc2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2ODAuNjc2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2ODAuNjc2NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2ODAuNjc2NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4NjgwLjY4NjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY4MC42ODY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2ODAuNjg2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4MC42ODY2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODAu
Njg2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzEx
NjI2Mzg2ODAuNjg2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjgwLjY4NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NjgwLjY4NjYyNSAvZHRuL2FwaWNsaWVu
dC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjgwLjY4NjYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0
byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2
ODEuNjk2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4NjgxLjY5NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4MS42
OTY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NjgxLjY5NjYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4MS42OTY2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY4
MS42OTY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODY4MS42OTY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODY4MS42OTY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY4MS42OTY2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODEuNzA3NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4NjgxLjcwNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4MS43MDc2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4NjgxLjcwNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4MS43MDc2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY4MS43MDc2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg2ODEuNzA3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQg
MzIgY2MgMTMKWzExNjI2Mzg2ODEuNzA3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2ODEuNzA3NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2ODEuNzE4NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njgx
LjcxODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4MS43MTg2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NjgxLjcxODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4MS43MTg2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY4MS43MTg2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY4MS43MTg2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYy
NjM4NjgxLjcxODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjgxLjcxODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY4Mi43Mjc2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODIuNzI3NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NjgyLjcyNzYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2ODIuNzI3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4NjgyLjcyNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NjgyLjcyNzYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjgyLjcyNzYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NjgyLjcy
NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4NjgyLjcyNzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY4Mi43Mzg2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODIuNzM4NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4NjgyLjczODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2ODIu
NzM4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4NjgyLjczODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigp
IGZkIDMyIGNjIDEzClsxMTYyNjM4NjgyLjczODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Z290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjgyLjczODYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxl
IGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NjgyLjczODYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NjgyLjcz
ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODY4Mi43NDk2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODIuNzQ5NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4NjgyLjc0OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2ODIuNzQ5NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4NjgyLjc0OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjgyLjc0OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY4Mi43NDk2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY4Mi43NDk2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY4Mi43
NDk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsx
MTYyNjM4NjgzLjc1OTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY4My43NTk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2ODMuNzU5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4My43NTk2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODMu
NzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzEx
NjI2Mzg2ODMuNzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg2ODMuNzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2ODMuNzU5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRl
YnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2ODMuNzU5NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njgz
Ljc2OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY4My43Njk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2ODMuNzY5
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4My43Njk2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODMuNzY5NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2ODMu
NzY5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4NjgzLjc2OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFk
digpIGZkIDMyIGNjIDEzClsxMTYyNjM4NjgzLjc2OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjgzLjc2OTYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVu
ZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NjgzLjc4MDYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODY4My43ODA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2ODMuNzgwNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODY4My43ODA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODMuNzgwNjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2ODMuNzgwNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2
ODMuNzgwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6
IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAxMDAw
KQpbMTE2MjYzODY4My43ODA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMzIgY2MgOApbMTE2MjYzODY4My43ODA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODQuNzkwNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njg0
Ljc5MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4NC43OTA2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njg0Ljc5MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4NC43OTA2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY4NC43OTA2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY4NC43OTA2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYz
ODY4NC43OTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODY4NC43OTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODQuODAxNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njg0LjgwMTYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4NC44MDE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4Njg0LjgwMTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY4NC44MDE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY4NC44MDE2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY4NC44MDE2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0
IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODY4NC44MDE2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYz
ODY4NC44MDE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBs
ZWZ0IDggdG90YWwKWzExNjI2Mzg2ODQuODExNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njg0LjgxMTYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODY4NC44MTE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njg0Ljgx
MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODY4NC44MTE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMzIgY2MgOApbMTE2MjYzODY4NC44MTE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODQuODExNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2ODQuODExNjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2
Mzg2ODQuODExNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAx
MDAwKQpbMTE2MjYzODY4NC44NTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIC0yClsxMTYyNjM4Njg0Ljg1NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgdGltZW91dApbMTE2MjYzODY4NC44NTQ2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVy
IDB4MTAxNjExMzggYXQgMTE2MjYzODY4NC44NTQ2MjUKWzExNjI2Mzg2ODQuODU0NjI1IC9kdG4v
c3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24K
WzExNjI2Mzg2ODQuODU0NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVz
Y2hlZHVsaW5nIGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2ODQuODU0NjI1IC90aW1lciBkZWJ1Z10g
c2NoZWR1bGluZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY4OTo4NTQ2
MjUKWzExNjI2Mzg2ODQuODU0NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2
MjYzODY4NC44NTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg2ODQuODU0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgdGltZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY4NC44NTQ2MjUgL3RpbWVyIGRlYnVnXSBu
ZXcgdGltZW91dCA1MDAwClsxMTYyNjM4Njg1LjgyMTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY4NS44MjE2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5n
IGZvciBidW5kbGUKWzExNjI2Mzg2ODUuODIxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBi
dWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4
NS44MjE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2ODUuODIxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg2ODUuODIxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2ODUuODIxNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2ODUuODIxNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2ODUu
ODIxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4Njg1LjgzMjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY4NS44MzI2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2ODUuODMyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4NS44MzI2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2ODUuODMyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3
IGNjIDgKWzExNjI2Mzg2ODUuODMyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFs
bCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njg1LjgzMjYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4Njg1LjgzMjYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njg1
LjgzMjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBi
bG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsx
MTYyNjM4Njg1Ljg0MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY4NS44NDM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2ODUuODQzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4NS44NDM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODUu
ODQzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzEx
NjI2Mzg2ODUuODQzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg2ODUuODQzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY4NS44NDM2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY4NS44NDM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
ODYuODUyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4Njg2Ljg1MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4Ni44
NTI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njg2Ljg1MjYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4Ni44NTI2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY4
Ni44NTI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODY4Ni44NTI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODY4Ni44NTI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY4Ni44NTI2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODYuODYzNjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4Njg2Ljg2MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4Ni44NjM2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4Njg2Ljg2MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4Ni44NjM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY4Ni44NjM2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYz
ODY4Ni44NjM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEw
KQpbMTE2MjYzODY4Ni44NjM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMjcgY2MgOApbMTE2MjYzODY4Ni44NjM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2ODYuODc0NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njg2
Ljg3NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY4Ni44NzQ2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njg2Ljg3NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY4Ni44NzQ2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY4Ni44NzQ2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
ODYuODc0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMK
WzExNjI2Mzg2ODYuODc0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1Yg
KDgvOCBieXRlcykKWzExNjI2Mzg2ODYuODc0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJh
dGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODY4Ny44ODQ2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODcuODg0NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4Njg3Ljg4NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2ODcuODg0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4Njg3Ljg4NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njg3Ljg4NDYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njg3Ljg4NDYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4Njg3Ljg4
NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4Njg3Ljg4NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY4Ny44OTQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODcuODk0NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4Njg3Ljg5NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2ODcu
ODk0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4Njg3Ljg5NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAyNyBjYyA4ClsxMTYyNjM4Njg3Ljg5NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
d3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY4Ny44OTQ2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY4Ny44OTQ2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2
MjYzODY4Ny44OTQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0
IDEwKQpbMTE2MjYzODY4Ny45MDU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODcuOTA1NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4Njg3LjkwNTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2ODcuOTA1NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4Njg3LjkwNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNj
IDEzClsxMTYyNjM4Njg3LjkwNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9S
RUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njg3LjkwNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdp
c3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2ODcuOTA1NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg2ODcuOTA1NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4Njg4LjkxNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY4OC45MTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2ODguOTE1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4OC45MTU2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODgu
OTE1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzEx
NjI2Mzg2ODguOTE1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg2ODguOTE1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2ODguOTE1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRl
YnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2ODguOTE1NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njg4
LjkyNjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY4OC45MjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2ODguOTI2
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY4OC45MjY2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODguOTI2NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2ODgu
OTI2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykK
WzExNjI2Mzg2ODguOTI2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGlt
ZW91dCAxMCkKWzExNjI2Mzg2ODguOTI2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6Ondy
aXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2ODguOTI2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njg4LjkzNjYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODY4OC45MzY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2ODguOTM2NjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODY4OC45MzY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2ODguOTM2NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg2ODguOTM2NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4Njg4LjkzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIx
IGNjIDEzClsxMTYyNjM4Njg4LjkzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERU
Tl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njg4LjkzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciBy
ZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2ODkuODYwNjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAtMgpbMTE2MjYzODY4OS44NjA2MjUgL2R0
bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHRpbWVvdXQKWzExNjI2Mzg2ODkuODYwNjI1IC90
aW1lciBkZWJ1Z10gcG9wcGluZyB0aW1lciAweDEwMTYxMTM4IGF0IDExNjI2Mzg2ODkuODYwNjI1
ClsxMTYyNjM4Njg5Ljg2MDYyNSAvZHRuL3N0b3JhZ2UvZGVhZGxvY2tfdGltZXIgZGVidWddIHJ1
bm5pbmcgZGVhZGxvY2sgZGV0ZWN0aW9uClsxMTYyNjM4Njg5Ljg2MDYyNSAvZHRuL3N0b3JhZ2Uv
ZGVhZGxvY2tfdGltZXIgZGVidWddIHJlc2NoZWR1bGluZyBpbiA1MDAwIG1zZWNzClsxMTYyNjM4
Njg5Ljg2MDYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcgdGltZXIgMHgxMDE2MTEzOCBpbiA1
MDAwIG1zIGF0IDExNjI2Mzg2OTQ6ODYwNjI1ClsxMTYyNjM4Njg5Ljg2MDYyNSAvdGltZXIgZGVi
dWddIG5ldyB0aW1lb3V0IDUwMDAKWzExNjI2Mzg2ODkuODYwNjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4Njg5Ljg2MDYyNSAvZHRuL2J1bmRsZS9k
YWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzExNjI2Mzg2
ODkuODYwNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2MjYzODY4OS45NDY2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQK
WzExNjI2Mzg2ODkuOTQ2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4Njg5Ljk0NjYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0
eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2ODkuOTQ2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVn
XSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4Njg5Ljk0NjYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njg5Ljk0NjYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYy
NjM4Njg5Ljk0NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQg
MTApClsxMTYyNjM4Njg5Ljk0NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAyMSBjYyA4ClsxMTYyNjM4Njg5Ljk0NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
d3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY4OS45NTc2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2
ODkuOTU3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6
IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4Njg5Ljk1NzYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVu
Z3RoIDAKWzExNjI2Mzg2ODkuOTU3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5n
IDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4Njg5Ljk1NzYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4Njg5Ljk1NzYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYz
ODY4OS45NTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAx
MwpbMTE2MjYzODY4OS45NTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVD
ViAoOC84IGJ5dGVzKQpbMTE2MjYzODY4OS45NTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0
cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODY4OS45Njg2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2ODkuOTY4NjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4Njg5Ljk2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2ODkuOTY4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4Njg5Ljk2ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
OjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4Njg5Ljk2ODYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njg5Ljk2ODYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2ODku
OTY4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzEx
NjI2Mzg2ODkuOTY4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjkwLjk3NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY5MC45Nzc2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5n
IGZvciBidW5kbGUKWzExNjI2Mzg2OTAuOTc3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBi
dWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5
MC45Nzc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1l
c3NhZ2UKWzExNjI2Mzg2OTAuOTc3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg2OTAuOTc3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2OTAuOTc3NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2OTAuOTc3NjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2OTAu
OTc3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4NjkwLjk4ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY5MC45ODg2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2OTAuOTg4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5MC45ODg2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2OTAuOTg4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg2OTAuOTg4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2OTAuOTg4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2OTAuOTg4NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2OTAuOTg4NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4NjkwLjk5OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY5MC45OTk2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2OTAuOTk5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5MC45OTk2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTAu
OTk5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzEx
NjI2Mzg2OTAuOTk5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NjkwLjk5OTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NjkwLjk5OTYyNSAvZHRuL2FwaWNsaWVu
dC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjkwLjk5OTYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0
byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2
OTIuMDA5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4NjkyLjAwOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Mi4w
MDk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NjkyLjAwOTYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY5Mi4wMDk2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY5
Mi4wMDk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODY5Mi4wMDk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODY5Mi4wMDk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY5Mi4wMDk2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2OTIuMDE5NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4NjkyLjAxOTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Mi4wMTk2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4NjkyLjAxOTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY5Mi4wMTk2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY5Mi4wMTk2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg2OTIuMDE5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQg
MzIgY2MgMTMKWzExNjI2Mzg2OTIuMDE5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2OTIuMDE5NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2OTIuMDMwNjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njky
LjAzMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Mi4wMzA2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NjkyLjAzMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY5Mi4wMzA2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY5Mi4wMzA2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY5Mi4wMzA2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYy
NjM4NjkyLjAzMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjkyLjAzMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY5My4wMzY2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2OTMuMDM2NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQg
d2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NjkzLjAzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzEx
NjI2Mzg2OTMuMDM2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSBy
ZXBseSBtZXNzYWdlClsxMTYyNjM4NjkzLjAzNjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NjkzLjAzNjYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjkzLjAzNjYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NjkzLjAz
NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4NjkzLjAzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY5My4wNDc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2OTMuMDQ3NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4NjkzLjA0NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2OTMu
MDQ3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4NjkzLjA0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigp
IGZkIDMyIGNjIDEzClsxMTYyNjM4NjkzLjA0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Z290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NjkzLjA0NzYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxl
IGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NjkzLjA0NzYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NjkzLjA0
NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODY5My4wNTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2OTMuMDU3NjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4NjkzLjA1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2OTMuMDU3NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4NjkzLjA1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBj
YyA4ClsxMTYyNjM4NjkzLjA1NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY5My4wNTc2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY5My4wNTc2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY5My4w
NTc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsx
MTYyNjM4NjkzLjg5NjYyNSAvZHRuL2FwaXNlcnZlci8yMCBkZWJ1Z10gYWNjZXB0ZWQgY29ubmVj
dGlvbiBmZCAzNyBmcm9tIDEyNy4wLjAuMTozOTI4ClsxMTYyNjM4NjkzLjg5NjYyNSAvZHRuL2Fw
aWNsaWVudC8zNyBkZWJ1Z10gc2V0dGluZyBTT19SRVVTRUFERFIKWzExNjI2Mzg2OTMuODk2NjI1
IC9kdG4vYXBpY2xpZW50LzM3L25vdGlmaWVyIGRlYnVnXSBjcmVhdGVkIHBpcGUsIGZkczogMzgg
MzkKWzExNjI2Mzg2OTMuODk2NjI1IC9kdG4vYXBpY2xpZW50LzM3L25vdGlmaWVyIGRlYnVnXSBz
ZXRfbm9uYmxvY2tpbmc6IG5vbmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjkzLjg5NjYyNSAv
ZHRuL2FwaWNsaWVudC8zNy9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9j
a2luZyBtb2RlIHNldApbMTE2MjYzODY5My44OTY2MjUgL3RocmVhZCBkZWJ1Z10gc3RhcnRpbmcg
dGhyZWFkIDB4MTAxYjA2MzAKWzExNjI2Mzg2OTMuODk4NjI1IC9kdG4vYXBpY2xpZW50LzM3IGlu
Zm9dIG5ldyBzZXNzaW9uIDEyNy4wLjAuMTo1MDEwIC0+IDEyNy4wLjAuMTozOTI4ClsxMTYyNjM4
NjkzLjg5ODYyNSAvZHRuL2FwaWNsaWVudC8zNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDM3IGNjIDQK
WzExNjI2Mzg2OTMuODk4NjI1IC9kdG4vYXBpY2xpZW50LzM3IGRlYnVnXSByZWFkYWxsIDQgYnl0
ZXMgMCBsZWZ0IDQgdG90YWwKWzExNjI2Mzg2OTMuODk5NjI1IC9kdG4vYXBpY2xpZW50LzM3IGRl
YnVnXSA6OndyaXRldigpIGZkIDM3IGNjIDQKWzExNjI2Mzg2OTMuODk5NjI1IC9kdG4vYXBpY2xp
ZW50LzM3IGRlYnVnXSB3cml0ZWFsbCA0IGJ5dGVzIDAgbGVmdCA0IHRvdGFsClsxMTYyNjM4Njkz
Ljg5OTYyNSAvZHRuL2FwaWNsaWVudC8zNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDM3IGNjIDg0NQpb
MTE2MjYzODY5My44OTk2MjUgL2R0bi9hcGljbGllbnQvMzcgZGVidWddIGdvdCBEVE5fU0VORCAo
ODQwLzg0MCBieXRlcykKWzExNjI2Mzg2OTMuODk5NjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRl
YnVnXSBuZXh0X2J1bmRsZWlkIDMgLT4gNApbMTE2MjYzODY5My44OTk2MjUgL2R0bi9zdG9yYWdl
L2dsb2JhbHMgZGVidWddIHVwZGF0aW5nIGdsb2JhbCBzdG9yZQpbMTE2MjYzODY5My45MDA2MjUg
L2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTIgYnl0ZSBvYmpl
Y3QgKHBsdXMgMCBieXRlIHR5cGVjb2RlKQpbMTE2MjYzODY5My45MzM2MjUgL2R0bi9idW5kbGUg
ZGVidWddIEJ1bmRsZTo6aW5pdCBidW5kbGUgaWQgMwpbMTE2MjYzODY5My45MzQ2MjUgL2R0bi9i
dW5kbGUvcGF5bG9hZC8zL2ZpbGUgZGVidWddIG9wZW4gL3Zhci9kdG4vYnVuZGxlcy9idW5kbGVf
My5kYXQgKGZsYWdzIDB4YTAyIG1vZGUgMHgxODApOiBmZCA0MApbMTE2MjYzODY5My45MzQ2MjUg
L2R0bi9idW5kbGUvcGF5bG9hZC8zL2ZpbGUgZGVidWddIDo6d3JpdGV2KCkgZmQgNDAgY2MgNTIK
WzExNjI2Mzg2OTMuOTM0NjI1IC9kdG4vYnVuZGxlL3BheWxvYWQvMy9maWxlIGRlYnVnXSB3cml0
ZWFsbCA1MiBieXRlcyAwIGxlZnQgNTIgdG90YWwKWzExNjI2Mzg2OTMuOTM0NjI1IC9kdG4vYnVu
ZGxlL3BheWxvYWQvMy9maWxlIGRlYnVnXSBjbG9zZSAvdmFyL2R0bi9idW5kbGVzL2J1bmRsZV8z
LmRhdCBmZCA0MDogMApbMTE2MjYzODY5My45MzQ2MjUgL2R0bi9hcGljbGllbnQvMzcgaW5mb10g
RFROX1NFTkQgYnVuZGxlIGJ1bmRsZSBpZCAzIHRjYTovL2V4cHRfbWdtdCAtPiB0Y2E6Ly9leHB0
X21nbXQgKDUyIGJ5dGVzIHBheWxvYWQpClsxMTYyNjM4NjkzLjkzNDYyNSAvZHRuL2J1bmRsZS9y
ZWZzIGRlYnVnXSBidW5kbGUgaWQgMyAoMHgxMDE2YzI4OCk6IHJlZmNvdW50IDAgLT4gMSAoMCBt
YXBwaW5ncykgYWRkIEJ1bmRsZVJlY2VpdmVkRXZlbnQgClsxMTYyNjM4NjkzLjkzNDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZlbnQgKDB4MTAxNmRmNjgpIHdpdGggdHlw
ZSBCVU5ETEVfUkVDRUlWRUQgKGF0IGJhY2spClsxMTYyNjM4NjkzLjkzNDYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODY5My45MzQ2
MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsx
MTYyNjM4NjkzLjkzNDYyNSAvZHRuL2FwaWNsaWVudC8zNy9ub3RpZmllciBkZWJ1Z10gYXR0ZW1w
dGluZyB0byB3YWl0IG9uIDB4MTAxYzA3MmMsIGNvdW50ID0gMApbMTE2MjYzODY5My45Mzc2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEKWzExNjI2Mzg2OTMuOTM3
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBuZXcgZXZlbnQgdG8g
aGFuZGxlClsxMTYyNjM4NjkzLjkzNzYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDkyMwpb
MTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFp
bl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg2OTMuOTM3NjI1IC9k
dG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEg
Ynl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9t
c2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2OTMuOTM3NjI1IC9k
dG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmRmNjgpIEJV
TkRMRV9SRUNFSVZFRApbMTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBCVU5ETEVfUkVDRUlWRUQgKGZyb20gYXBwKTogKDUyIGJ5dGVzIHJlY3ZkKQpbMTE2MjYzODY5
My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBidW5kbGUgaWQgMzoKWzExNjI2Mzg2
OTMuOTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgICAgc291cmNlOiB0
Y2E6Ly9leHB0X21nbXQKWzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1
Z10gICAgICAgICAgICAgICBkZXN0OiB0Y2E6Ly9leHB0X21nbXQKWzExNjI2Mzg2OTMuOTM3NjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgY3VzdG9kaWFuOiBkdG46bm9uZQpb
MTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgIHJl
cGx5dG86IHRjYTovL2V4cHRfbWdtdApbMTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFl
bW9uIGRlYnVnXSAgICAgcGF5bG9hZF9sZW5ndGg6IDUyClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAgICBwcmlvcml0eTogMApbMTE2MjYzODY5My45
Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgY3VzdG9keV9yZXF1ZXN0ZWQ6IGZhbHNl
ClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgbG9jYWxf
Y3VzdG9keTogZmFsc2UKWzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1
Z10gICAgIHNpbmdsZXRvbl9kZXN0OiB0cnVlClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24gZGVidWddICAgICAgIHJlY2VpdmVfcmNwdDogZmFsc2UKWzExNjI2Mzg2OTMuOTM3
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgY3VzdG9keV9yY3B0OiBmYWxzZQpb
MTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICBmb3J3YXJk
X3JjcHQ6IGZhbHNlClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWdd
ICAgICAgZGVsaXZlcnlfcmNwdDogZmFsc2UKWzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gICAgICBkZWxldGlvbl9yY3B0OiBmYWxzZQpbMTE2MjYzODY5My45Mzc2
MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgYXBwX2Fja2VkX3JjcHQ6IGZhbHNlClsx
MTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICBjcmVhdGlv
bl90czogMjE1OTUzODkzLjMKWzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBk
ZWJ1Z10gICAgICAgICBleHBpcmF0aW9uOiAzNjAwClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1
bmRsZS9kYWVtb24gZGVidWddICAgICAgICBpc19mcmFnbWVudDogZmFsc2UKWzExNjI2Mzg2OTMu
OTM3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAgIGlzX2FkbWluOiBmYWxz
ZQpbMTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICBkb19ub3Rf
ZnJhZ21lbnQ6IGZhbHNlClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICAgICBvcmlnX2xlbmd0aDogMApbMTE2MjYzODY5My45Mzc2MjUgL2R0bi9idW5kbGUv
ZGFlbW9uIGRlYnVnXSAgICAgICAgZnJhZ19vZmZzZXQ6IDAKWzExNjI2Mzg2OTMuOTM3NjI1IC9k
dG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gdHJhbnNtaXNzaW9uX2NvdW50OiAwClsxMTYyNjM4Njkz
LjkzNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGFkZGluZyBidW5kbGUgYnVuZGxlIGlk
IDMgdGNhOi8vZXhwdF9tZ210IC0+IHRjYTovL2V4cHRfbWdtdCAoNTIgYnl0ZXMgcGF5bG9hZCkg
dG8gcGVuZGluZyBsaXN0ClsxMTYyNjM4NjkzLjkzNzYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVn
XSBidW5kbGUgaWQgMyAoMHgxMDE2YzI4OCk6IHJlZmNvdW50IDEgLT4gMiAoMSBtYXBwaW5ncykg
YWRkIGJ1bmRsZV9saXN0IHBlbmRpbmdfYnVuZGxlcwpbMTE2MjYzODY5My45Mzc2MjUgL2R0bi9i
dW5kbGUvbGlzdC9wZW5kaW5nX2J1bmRsZXMgZGVidWddIGJ1bmRsZSBpZCAzIGFkZCBtYXBwaW5n
IFtwZW5kaW5nX2J1bmRsZXNdIHRvIGxpc3QgMHgxMDEwZmMzMApbMTE2MjYzODY5My45Mzc2MjUg
L2R0bi9idW5kbGUvYWN0aW9ucyBkZWJ1Z10gYWRkaW5nIGJ1bmRsZSAzIHRvIGRhdGEgc3RvcmUK
WzExNjI2Mzg2OTMuOTM3NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRlYnVnXSBwdXQ6IHNlcmlh
bGl6aW5nIDEyNiBieXRlIG9iamVjdCAocGx1cyAwIGJ5dGUgdHlwZWNvZGUpClsxMTYyNjM4Njkz
Ljk1ODYyNSAvZHRuL3N0b3JhZ2UvYnVuZGxlcyBkZWJ1Z10gYWRkKDMpOiBzdWNjZXNzClsxMTYy
NjM4NjkzLjk1ODYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHNjaGVkdWxpbmcgZXhwaXJh
dGlvbiBmb3IgYnVuZGxlIGlkIDMgYXQgMTE2MjY0MjI5My4wIChpbiAzNjAwIHNlY29uZHMpClsx
MTYyNjM4NjkzLjk1ODYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMyAoMHgx
MDE2YzI4OCk6IHJlZmNvdW50IDIgLT4gMyAoMSBtYXBwaW5ncykgYWRkIGV4cGlyYXRpb24gdGlt
ZXIgClsxMTYyNjM4NjkzLjk1ODYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcgdGltZXIgMHgx
MDE2ZGZlMCBpbiAzNTk5MDQyIG1zIGF0IDExNjI2NDIyOTM6MApbMTE2MjYzODY5My45NTg2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBjaGVja2luZyBmb3IgbWF0Y2hpbmcgcmVnaXN0cmF0
aW9ucyBmb3IgYnVuZGxlIGJ1bmRsZSBpZCAzIHRjYTovL2V4cHRfbWdtdCAtPiB0Y2E6Ly9leHB0
X21nbXQgKDUyIGJ5dGVzIHBheWxvYWQpClsxMTYyNjM4NjkzLjk1ODYyNSAvZHRuL3JlZ2lzdHJh
dGlvbi90YWJsZSBkZWJ1Z10gZ2V0X21hdGNoaW5nIHRjYTovL2V4cHRfbWdtdApbMTE2MjYzODY5
My45NTg2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL2V4cHRfbWdtdC8sIHRjYTov
L0sxLykgZmFpbGVkOiB1cmwgaG9zdHMgbm90IGVxdWFsICgnSzEnICE9ICdleHB0X21nbXQnKQpb
MTE2MjYzODY5My45NTg2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL2V4cHRfbWdt
dC8sIHRjYTovL0sxL3BpbmcpIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ0sxJyAhPSAn
ZXhwdF9tZ210JykKWzExNjI2Mzg2OTMuOTU4NjI1IC9zY2hlbWUvZHRuIGRlYnVnXSBtYXRjaCh0
Y2E6Ly9leHB0X21nbXQvLCB0Y2E6Ly9LMS9hZG1pbikgZmFpbGVkOiB1cmwgaG9zdHMgbm90IGVx
dWFsICgnSzEnICE9ICdleHB0X21nbXQnKQpbMTE2MjYzODY5My45NTg2MjUgL3NjaGVtZS9kdG4g
ZGVidWddIG1hdGNoKHRjYTovL2V4cHRfbWdtdC8sIHRjYTovL2dhdGV3YXlzLykgZmFpbGVkOiB1
cmwgaG9zdHMgbm90IGVxdWFsICgnZ2F0ZXdheXMnICE9ICdleHB0X21nbXQnKQpbMTE2MjYzODY5
My45NTg2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL2V4cHRfbWdtdC8sIHRjYTov
L2V4cHRfbWdtdC8pIHN1Y2NlZWRlZDogcGF0dGVybiAnZXhwdF9tZ210JyBzc3AgJ2V4cHRfbWdt
dCcKWzExNjI2Mzg2OTMuOTU4NjI1IC9kdG4vcmVnaXN0cmF0aW9uL3RhYmxlIGRlYnVnXSBtYXRj
aGVkIHJlZ2lzdHJhdGlvbiAxMiB0Y2E6Ly9leHB0X21nbXQKWzExNjI2Mzg2OTMuOTU4NjI1IC9k
dG4vcmVnaXN0cmF0aW9uL3RhYmxlIGRlYnVnXSBnZXRfbWF0Y2hpbmcgdGNhOi8vZXhwdF9tZ210
OiByZXR1cm5lZCAxIG1hdGNoZXMKWzExNjI2Mzg2OTMuOTU4NjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gZGVsaXZlcmluZyBidW5kbGUgYnVuZGxlIGlkIDMgdGNhOi8vZXhwdF9tZ210IC0+
IHRjYTovL2V4cHRfbWdtdCAoNTIgYnl0ZXMgcGF5bG9hZCkgdG8gcmVnaXN0cmF0aW9uIDEyICh0
Y2E6Ly9leHB0X21nbXQpClsxMTYyNjM4NjkzLjk1ODYyNSAvZHRuL3JlZ2lzdHJhdGlvbi8xMiBp
bmZvXSBkZWxpdmVyX2J1bmRsZTogcXVldWluZyBidW5kbGUgaWQgMyBmb3IgYWN0aXZlIGRlbGl2
ZXJ5IHRvIHRjYTovL2V4cHRfbWdtdApbMTE2MjYzODY5My45NTg2MjUgL2R0bi9idW5kbGUvcmVm
cyBkZWJ1Z10gYnVuZGxlIGlkIDMgKDB4MTAxNmMyODgpOiByZWZjb3VudCAzIC0+IDQgKDIgbWFw
cGluZ3MpIGFkZCBidW5kbGVfbGlzdCAvZHRuL3JlZ2lzdHJhdGlvbi8xMgpbMTE2MjYzODY5My45
NTg2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMi9ub3RpZmllciBkZWJ1
Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NjkzLjk1ODYyNSAvZHRuL2J1bmRsZS9saXN0Ly9k
dG4vcmVnaXN0cmF0aW9uLzEyL25vdGlmaWVyIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYy
NjM4NjkzLjk1ODYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzEyIGRlYnVn
XSBidW5kbGUgaWQgMyBhZGQgbWFwcGluZyBbL2R0bi9yZWdpc3RyYXRpb24vMTJdIHRvIGxpc3Qg
MHgxMDE2Y2VlOApbMTE2MjYzODY5My45NTg2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5n
IGV2ZW50ICgweDEwMTZkZjY4KSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg2OTMuOTU4NjI1IC9k
dG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6IHRjYSBidW5kbGUgcmVjZWl2ZWQgW3RjYTovL2V4cHRf
bWdtdF0gLT4gW3RjYTovL2V4cHRfbWdtdF0gOiAnaW50ZXJmYWNlX3VwOnRjYTovL0IxfHRjcDov
LzE3Mi4yNy4yMi44NDo1MDAwfFJPVVRFUicKWzExNjI2Mzg2OTMuOTU4NjI1IC9kdG4vdGNhIGRl
YnVnXSBUY2FSb3V0ZXI6OmhhbmRsZV9leHB0X21nbXQ6IGludGVyZmFjZV91cCByZXF1ZXN0IGZv
ciBkZXN0OnRjYTovL0IxIGFuZCBsaW5rOnRjcDovLzE3Mi4yNy4yMi44NDo1MDAwClsxMTYyNjM4
NjkzLjk1OTYyNSAvZHRuL2xpbmsvMTcyLjI3LjIyLjg0OjUwMDAgZGVidWddIHNldF9zdGF0ZSBV
TkFWQUlMQUJMRSAtPiBBVkFJTEFCTEUKWzExNjI2Mzg2OTMuOTU5NjI1IC9kdG4vY2wvdGNwIGRl
YnVnXSBhZGRpbmcgQUxXQVlTT04gbGluayAxNzIuMjcuMjIuODQ6NTAwMApbMTE2MjYzODY5My45
NTk2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGluZm9dIG5ldyBsaW5rIDE3Mi4yNy4y
Mi44NDo1MDAwIFsxNzIuMjcuMjIuODQ6NTAwMCB0Y2E6Ly9CMSBBTFdBWVNPTiBBVkFJTEFCTEVd
ClsxMTYyNjM4NjkzLjk1OTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZl
bnQgKDB4MTAxNzUyYTApIHdpdGggdHlwZSBMSU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUIChhdCBi
YWNrKQpbMTE2MjYzODY5My45NTk2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVn
XSBub3RpZmllciBub3RpZnkKWzExNjI2Mzg2OTMuOTU5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9t
c2dxdWV1ZSBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpbMTE2MjYzODY5My45NTk2MjUgL2R0bi9j
b250YWN0L21hbmFnZXIgZGVidWddIGFkZGluZyBsaW5rIDE3Mi4yNy4yMi44NDo1MDAwClsxMTYy
NjM4NjkzLjk1OTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvc3RpbmcgZXZlbnQgKDB4
MTAxNmU1NTApIHdpdGggdHlwZSBMSU5LX0NSRUFURUQgKGF0IGJhY2spClsxMTYyNjM4NjkzLjk1
OTYyNSAvZHRuL2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAx
NmRmNjgpIEJVTkRMRV9SRUNFSVZFRApbMTE2MjYzODY5My45NTk2MjUgL2R0bi9idW5kbGUvcmVm
cyBkZWJ1Z10gYnVuZGxlIGlkIDMgKDB4MTAxNmMyODgpOiByZWZjb3VudCA0IC0+IDMgKDIgbWFw
cGluZ3MpIGRlbCBCdW5kbGVSZWNlaXZlZEV2ZW50IApbMTE2MjYzODY5My45NTk2MjUgL2R0bi9h
cGljbGllbnQvMzcvbm90aWZpZXIgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODY5My45
NTk2MjUgL2R0bi9hcGljbGllbnQvMzcvbm90aWZpZXIgZGVidWddIG5vdGlmeSBjb3VudCA9IDEK
WzExNjI2Mzg2OTMuOTU5NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgOTAxClsxMTYyNjM4
NjkzLjk2MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgw
eDEwMTc1MmEwKSBMSU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUClsxMTYyNjM4NjkzLjk2MDYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24gaW5mb10gTElOS19TVEFURV9DSEFOR0VfUkVRVUVTVCBbQVZBSUxB
QkxFIC0+IE9QRU5dICh1c2VyIGFjdGlvbikgZm9yIGxpbmsgMTcyLjI3LjIyLjg0OjUwMDAgWzE3
Mi4yNy4yMi44NDo1MDAwIHRjYTovL0IxIEFMV0FZU09OIEFWQUlMQUJMRV0KWzExNjI2Mzg2OTMu
OTYwNjI1IC9kdG4vYnVuZGxlL2FjdGlvbnMgZGVidWddIG9wZW5pbmcgbGluayAxNzIuMjcuMjIu
ODQ6NTAwMApbMTE2MjYzODY5My45NjA2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGRl
YnVnXSBMaW5rOjpvcGVuClsxMTYyNjM4NjkzLjk2MDYyNSAvZHRuL2xpbmsvMTcyLjI3LjIyLjg0
OjUwMDAgZGVidWddIHNldF9zdGF0ZSBBVkFJTEFCTEUgLT4gT1BFTklORwpbMTE2MjYzODY5My45
NjA2MjUgL2R0bi9jb250YWN0LzE3Mi4yNy4yMi44NDo1MDAwIGluZm9dIG5ldyBjb250YWN0IGNv
bnRhY3QgMTcyLjI3LjIyLjg0OjUwMDAgKHN0YXJ0ZWQgMTE2MjYzODY5My45NjA2MjUpClsxMTYy
NjM4NjkzLjk2MDYyNSAvZHRuL2NvbnRhY3QvcmVmcyBkZWJ1Z10gcmVmY291bnQgY29udGFjdCAx
NzIuMjcuMjIuODQ6NTAwMCAoc3RhcnRlZCAxMTYyNjM4NjkzLjk2MDYyNSkgMCAtPiAxIGFkZCBM
aW5rIApbMTE2MjYzODY5My45NjA2MjUgL2R0bi9jbC90Y3AgZGVidWddIG9wZW5pbmcgY29udGFj
dCBvbiBsaW5rIDE3Mi4yNy4yMi44NDo1MDAwIFsxNzIuMjcuMjIuODQ6NTAwMCB0Y2E6Ly9CMSBB
TFdBWVNPTiBPUEVOSU5HXQpbMTE2MjYzODY5My45NjA2MjUgL2R0bi9jbC90Y3Avbm90aWZpZXIg
ZGVidWddIGNyZWF0ZWQgcGlwZSwgZmRzOiA0MCA0MQpbMTE2MjYzODY5My45NjA2MjUgL2R0bi9j
bC90Y3Avbm90aWZpZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBz
ZXQKWzExNjI2Mzg2OTMuOTYwNjI1IC9kdG4vY2wvdGNwL25vdGlmaWVyIGRlYnVnXSBzZXRfbm9u
YmxvY2tpbmc6IG5vbmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NjkzLjk2MDYyNSAvZHRuL2Ns
L3RjcC9jb25uLzB4MTAxNmQ5ZTgvc29jayBkZWJ1Z10gY3JlYXRlZCBzb2NrZXQgNDIKWzExNjI2
Mzg2OTMuOTYwNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2ZDllOC9zb2NrIGRlYnVnXSBzZXR0
aW5nIFNPX1JFVVNFQUREUgpbMTE2MjYzODY5My45NjA2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEw
MTZkOWU4L3NvY2sgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQK
WzExNjI2Mzg2OTMuOTYwNjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBjb250
YWN0IDE3Mi4yNy4yMi44NDo1MDAwIChzdGFydGVkIDExNjI2Mzg2OTMuOTYwNjI1KSAxIC0+IDIg
YWRkIFRDUENvbnZlcmdlbmNlTGF5ZXI6OkNvbm5lY3Rpb24gClsxMTYyNjM4NjkzLjk2MDYyNSAv
dGhyZWFkIGRlYnVnXSBzdGFydGluZyB0aHJlYWQgMHgxMDE2ZDllYwpbMTE2MjYzODY5My45NjA2
MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4IGRlYnVnXSBjb25uZWN0OiBjb25uZWN0aW5n
IHRvIDE3Mi4yNy4yMi44NDo1MDAwLi4uClsxMTYyNjM4NjkzLjk2MDYyNSAvZHRuL2NsL3RjcC9j
b25uLzB4MTAxNmQ5ZTgvc29jayBkZWJ1Z10gY29ubmVjdGluZyB0byAxNzIuMjcuMjIuODQ6NTAw
MApbMTE2MjYzODY5My45NjA2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4L3NvY2sgZGVi
dWddIHN0YXRlIElOSVQgLT4gQ09OTkVDVElORwpbMTE2MjYzODY5My45NjE2MjUgL2R0bi9jbC90
Y3AvY29ubi8weDEwMTZkOWU4L3NvY2sgZGVidWddIGRlbGF5ZWQgY29ubmVjdCB0byAxNzIuMjcu
MjIuODQ6NTAwMCAoRUlOUFJPR1JFU1MpClsxMTYyNjM4NjkzLjk2MTYyNSAvZHRuL2NsL3RjcC9j
b25uLzB4MTAxNmQ5ZTggZGVidWddIGNvbm5lY3Q6IEVJTlBST0dSRVNTIHJldHVybmVkLCB3YWl0
aW5nIGZvciB3cml0ZSByZWFkeQpbMTE2MjYzODY5My45NjE2MjUgL2R0bi9jbC90Y3AvY29ubi8w
eDEwMTZkOWU4IGRlYnVnXSBjYWxsaW5nIHBvbGwgb24gMiBmZHMgd2l0aCB0aW1lb3V0IDEwMDAw
ClsxMTYyNjM4NjkzLjk2MTYyNSAvZHRuL2xpbmsvMTcyLjI3LjIyLjg0OjUwMDAgZGVidWddIDE3
Mi4yNy4yMi44NDo1MDAwIFsxNzIuMjcuMjIuODQ6NTAwMCB0Y2E6Ly9CMSBBTFdBWVNPTiBPUEVO
SU5HXSBuZXcgY29udGFjdCAweDEwMTZlNTcwClsxMTYyNjM4NjkzLjk2MTYyNSAvdGltZXIgZGVi
dWddIG5ldyB0aW1lb3V0IDg5OQpbMTE2MjYzODY5My45NjE2MjUgL2R0bi9idW5kbGUvZGFlbW9u
L21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMK
WzExNjI2Mzg2OTMuOTYxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJh
aW5fcGlwZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg2OTMuOTYxNjI1
IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAK
WzExNjI2Mzg2OTMuOTYyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcg
ZXZlbnQgKDB4MTAxNmU1NTApIExJTktfQ1JFQVRFRApbMTE2MjYzODY5My45NjI2MjUgL2R0bi90
Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZlNTUwKSBMSU5LX0NSRUFURUQKWzEx
NjI2Mzg2OTMuOTYyNjI1IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6OmxpbmsgYXZhaWxhYmxl
ClsxMTYyNjM4NjkzLjk2MjYyNSAvZHRuL2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hp
bmcgZXZlbnQgKDB4MTAxNmU1NTApIExJTktfQ1JFQVRFRApbMTE2MjYzODY5My45NjI2MjUgL3Rp
bWVyIGRlYnVnXSBuZXcgdGltZW91dCA4OTgKWzExNjI2Mzg2OTMuOTYyNjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4NjkzLjk2MjYyNSAvZHRuL2J1
bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzEx
NjI2Mzg2OTMuOTYyNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgODk4ClsxMTYyNjM4Njkz
Ljk2ODYyNSAvZHRuL2FwaWNsaWVudC8zNy9ub3RpZmllciBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyOiAxLzEgZmRzIHJlYWR5LCBzdGF0dXMgMHgxIApbMTE2MjYzODY5My45Njg2MjUgL2R0bi9h
cGljbGllbnQvMzcvbm90aWZpZXIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllcjogbm9ybWFsIGZk
IGhhcyBldmVudApbMTE2MjYzODY5My45Njg2MjUgL2R0bi9hcGljbGllbnQvMzcvbm90aWZpZXIg
ZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcgdG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODY5
My45Njg2MjUgL2R0bi9hcGljbGllbnQvMzcvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6IGRy
YWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NjkzLjk2ODYyNSAvZHRuL2FwaWNs
aWVudC8zNy9ub3RpZmllciBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2OTMu
OTY4NjI1IC9kdG4vYXBpY2xpZW50LzM3L25vdGlmaWVyIGRlYnVnXSBub3RpZmllciB3YWl0IHN1
Y2Nlc3NmdWxseSBub3RpZmllZApbMTE2MjYzODY5My45Njg2MjUgL2R0bi9hcGljbGllbnQvMzcg
ZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAyNjQK
WzExNjI2Mzg2OTMuOTY4NjI1IC9kdG4vYXBpY2xpZW50LzM3IGRlYnVnXSBzZW5kaW5nIDI3MiBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTMuOTY4NjI1IC9kdG4vYXBpY2xpZW50LzM3IGRl
YnVnXSA6OndyaXRldigpIGZkIDM3IGNjIDI3MgpbMTE2MjYzODY5My45Njg2MjUgL2R0bi9hcGlj
bGllbnQvMzcgZGVidWddIHdyaXRlYWxsIDI3MiBieXRlcyAwIGxlZnQgMjcyIHRvdGFsClsxMTYy
NjM4NjkzLjk2ODYyNSAvZHRuL2FwaWNsaWVudC8zNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDM3IGNj
IDUKWzExNjI2Mzg2OTMuOTY4NjI1IC9kdG4vYXBpY2xpZW50LzM3IGRlYnVnXSBnb3QgRFROX0NM
T1NFICgwLzAgYnl0ZXMpClsxMTYyNjM4NjkzLjk2ODYyNSAvZHRuL2FwaWNsaWVudC8zNyBpbmZv
XSByZWNlaXZlZCBEVE5fQ0xPU0UgbWVzc2FnZTsgY2xvc2luZyBBUEkgaGFuZGxlClsxMTYyNjM4
NjkzLjk2ODYyNSAvZHRuL2FwaWNsaWVudC8zNyBkZWJ1Z10gY2xvc2luZyBzb2NrZXQgaW4gc3Rh
dGUgRVNUQUJMSVNIRUQKWzExNjI2Mzg2OTMuOTcwNjI1IC9kdG4vYXBpY2xpZW50LzM3IGRlYnVn
XSBzdGF0ZSBFU1RBQkxJU0hFRCAtPiBGSU5JClsxMTYyNjM4NjkzLjk3MDYyNSAvZHRuL2FwaWNs
aWVudC8zNyBkZWJ1Z10gY2xpZW50IGRlc3Ryb3llZApbMTE2MjYzODY5My45NzA2MjUgL2R0bi9h
cGljbGllbnQvMzcvbm90aWZpZXIgZGVidWddIE5vdGlmaWVyIHNodXR0aW5nIGRvd24gKGNsb3Np
bmcgZmRzIDM4IDM5KQpbMTE2MjYzODY5My45NzA2MjUgL2R0bi9hcGljbGllbnQvMzcgZGVidWdd
IGNsb3Npbmcgc29ja2V0IGluIHN0YXRlIEZJTkkKWzExNjI2Mzg2OTMuOTcyNjI1IC9kdG4vY2wv
dGNwL2Nvbm4vMHgxMDE2ZDllOCBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiAxLzIgZmRzIHJl
YWR5LCBzdGF0dXMgMHg0IDB4MCAKWzExNjI2Mzg2OTMuOTcyNjI1IC9kdG4vY2wvdGNwL2Nvbm4v
MHgxMDE2ZDllOCBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiBub3JtYWwgZmQgaGFzIGV2ZW50
ClsxMTYyNjM4NjkzLjk3MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmQ5ZTggZGVidWddIHBv
bGwgcmV0dXJuZWQgd3JpdGUgcmVhZHksIGNsZWFyaW5nIFBPTExPVVQgYml0ClsxMTYyNjM4Njkz
Ljk3MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmQ5ZTgvc29jayBkZWJ1Z10gZ2V0dGluZyBj
b25uZWN0IHJlc3VsdApbMTE2MjYzODY5My45NzI2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZk
OWU4L3NvY2sgZGVidWddIHN0YXRlIENPTk5FQ1RJTkcgLT4gRVNUQUJMSVNIRUQKWzExNjI2Mzg2
OTMuOTcyNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2ZDllOCBkZWJ1Z10gZGVsYXllZF9jb25u
ZWN0IHRvIDE3Mi4yNy4yMi44NDo1MDAwIHN1Y2NlZWRlZApbMTE2MjYzODY5My45NzI2MjUgL2R0
bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4IGRlYnVnXSBpbml0aWF0ZV9jb250YWN0IGNhbGxlZApb
MTE2MjYzODY5My45NzI2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4IGRlYnVnXSBub3Rp
bmcgZGF0YV9zZW50ClsxMTYyNjM4NjkzLjk3MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmQ5
ZTggZGVidWddIHNlbmRfZGF0YTogdHJ5aW5nIHRvIGRyYWluIDE3IGJ5dGVzIGZyb20gc2VuZCBi
dWZmZXIuLi4KWzExNjI2Mzg2OTMuOTczNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2ZDllOC9z
b2NrIGRlYnVnXSA6OndyaXRldigpIGZkIDQyIGNjIDE3ClsxMTYyNjM4NjkzLjk3MzYyNSAvZHRu
L2NsL3RjcC9jb25uLzB4MTAxNmQ5ZTggZGVidWddIHNlbmRfZGF0YTogd3JvdGUgMTcvMTcgYnl0
ZXMgZnJvbSBzZW5kIGJ1ZmZlcgpbMTE2MjYzODY5My45NzM2MjUgL2R0bi9jbC90Y3AvY29ubi8w
eDEwMTZkOWU4IGRlYnVnXSBjYWxsaW5nIHBvbGwgb24gMiBmZHMgd2l0aCB0aW1lb3V0IDEwMDAw
ClsxMTYyNjM4Njk0LjA2NjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25v
dGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY5NC4wNjY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzEx
NjI2Mzg2OTQuMDY2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTog
c3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5NC4wNjY2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2
OTQuMDY2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgK
WzExNjI2Mzg2OTQuMDY2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5
dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk0LjA2NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njk0LjA2NjYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njk0LjA2NjYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2lu
ZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4
Njk0LjA3NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRp
bWVkIG91dApbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRf
Zm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2OTQu
MDc3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1
bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTQuMDc3NjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2
OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGltbWVkaWF0ZWx5IHJldHVybmluZyBidW5kbGUgZm9yIHJlZyAxMgpbMTE2
MjYzODY5NC4wNzc2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMiBkZWJ1
Z10gYnVuZGxlIGlkIDMgZGVsX2J1bmRsZTogZGVsZXRpbmcgbWFwcGluZyBbL2R0bi9yZWdpc3Ry
YXRpb24vMTJdClsxMTYyNjM4Njk0LjA3NzYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0
cmF0aW9uLzEyL25vdGlmaWVyIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWlu
IDEgYnl0ZXMKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6Ondy
aXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk0LjA3NzYyNSAv
ZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzEyL25vdGlmaWVyIGRlYnVnXSBkcmFp
bl9waXBlOiBkcmFpbmVkIDEvMSBieXRlKHMpIGZyb20gcGlwZQpbMTE2MjYzODY5NC4wNzc2MjUg
L2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMi9ub3RpZmllciBkZWJ1Z10gZHJh
aW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVi
dWddIGJ1bmRsZSBpZCAzICgweDEwMTZjMjg4KTogcmVmY291bnQgMyAtPiA0ICgxIG1hcHBpbmdz
KSBhZGQgQnVuZGxlTGlzdDo6cG9wX2Zyb250KCkgdGVtcG9yYXJ5IApbMTE2MjYzODY5NC4wNzc2
MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDMgKDB4MTAxNmMyODgpOiByZWZj
b3VudCA0IC0+IDMgKDEgbWFwcGluZ3MpIGRlbCBidW5kbGVfbGlzdCAvZHRuL3JlZ2lzdHJhdGlv
bi8xMgpbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlk
IDMgKDB4MTAxNmMyODgpOiByZWZjb3VudCAzIC0+IDQgKDEgbWFwcGluZ3MpIGFkZCBBUElDbGll
bnQ6OmhhbmRsZV9yZWN2IApbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1
Z10gYnVuZGxlIGlkIDMgKDB4MTAxNmMyODgpOiByZWZjb3VudCA0IC0+IDMgKDEgbWFwcGluZ3Mp
IGRlbCBCdW5kbGVMaXN0Ojpwb3BfZnJvbnQoKSB0ZW1wb3JhcnkgClsxMTYyNjM4Njk0LjA3NzYy
NSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gaGFuZGxlX3JlY3Y6IHBvcHBlZCBidW5kbGUgMyBm
b3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9h
cGljbGllbnQvMzIgaW5mb10gRFROX1JFQ1Y6IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYnVuZGxl
IDMgdG8gcmVnaXN0cmF0aW9uIDEyClsxMTYyNjM4Njk0LjA3NzYyNSAvZHRuL2J1bmRsZS9yZWZz
IGRlYnVnXSBidW5kbGUgaWQgMyAoMHgxMDE2YzI4OCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBw
aW5ncykgYWRkIEJ1bmRsZURlbGl2ZXJlZEV2ZW50IApbMTE2MjYzODY5NC4wNzc2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZmYWEwKSB3aXRoIHR5cGUg
QlVORExFX0RFTElWRVJFRCAoYXQgYmFjaykKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYnVuZGxl
L2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4Njk0LjA3NzYy
NSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzEx
NjI2Mzg2OTQuMDc3NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCAzICgweDEw
MTZjMjg4KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQVBJQ2xpZW50OjpoYW5k
bGVfcmVjdiAKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWls
ZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggODQwClsxMTYyNjM4Njk0
LjA3NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4NDggYnl0ZSByZXBseSBt
ZXNzYWdlClsxMTYyNjM4Njk0LjA3NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0
ZXYoKSBmZCAzMiBjYyA4NDgKWzExNjI2Mzg2OTQuMDc3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3cml0ZWFsbCA4NDggYnl0ZXMgMCBsZWZ0IDg0OCB0b3RhbApbMTE2MjYzODY5NC4wNzk2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYz
ODY5NC4wNzk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5
dGVzKQpbMTE2MjYzODY5NC4wNzk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEw
ICh0aW1lb3V0IDEwMDApClsxMTYyNjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddIHBvbGwgcmV0dXJuZWQgMQpbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9u
IGRlYnVnXSBwb2xsIHJldHVybmVkIG5ldyBldmVudCB0byBoYW5kbGUKWzExNjI2Mzg2OTQuMDgw
NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNzgwClsxMTYyNjM4Njk0LjA4MDYyNSAvZHRu
L2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcgdG8g
ZHJhaW4gMSBieXRlcwpbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1
ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVkIDEvMSBieXRlKHMpIGZyb20gcGlwZQpbMTE2
MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbiBw
aXBlIGNvdW50ID0gMApbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2ZmFhMCkgQlVORExFX0RFTElWRVJFRApbMTE2MjYz
ODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGluZm9dIEJVTkRMRV9ERUxJVkVSRUQgaWQ6
MyAoNTIgYnl0ZXMpIC0+IHJlZ2lkIDEyICh0Y2E6Ly9leHB0X21nbXQpClsxMTYyNjM4Njk0LjA4
MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHJlbW92aW5nIGJ1bmRsZSBidW5kbGUgaWQg
MyB0Y2E6Ly9leHB0X21nbXQgLT4gdGNhOi8vZXhwdF9tZ210ICg1MiBieXRlcyBwYXlsb2FkKSBm
cm9tIHBlbmRpbmcgbGlzdApbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSBjYW5jZWxsaW5nIGV4cGlyYXRpb24gdGltZXIgZm9yIGJ1bmRsZSBpZCAzClsxMTYyNjM4
Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgMyAoMHgxMDE2YzI4
OCk6IHJlZmNvdW50IDMgLT4gMiAoMSBtYXBwaW5ncykgZGVsIGV4cGlyYXRpb24gdGltZXIgClsx
MTYyNjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9saXN0L3BlbmRpbmdfYnVuZGxlcyBkZWJ1Z10g
YnVuZGxlIGlkIDMgZGVsX2J1bmRsZTogZGVsZXRpbmcgbWFwcGluZyBbcGVuZGluZ19idW5kbGVz
XQpbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1Z10gYnVuZGxlIGlkIDMg
KDB4MTAxNmMyODgpOiByZWZjb3VudCAyIC0+IDEgKDAgbWFwcGluZ3MpIGRlbCBidW5kbGVfbGlz
dCBwZW5kaW5nX2J1bmRsZXMKWzExNjI2Mzg2OTQuMDgwNjI1IC9kdG4vdGNhIGRlYnVnXSBkaXNw
YXRjaGluZyBldmVudCAoMHgxMDE2ZmFhMCkgQlVORExFX0RFTElWRVJFRApbMTE2MjYzODY5NC4w
ODA2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEw
MTZmYWEwKSBCVU5ETEVfREVMSVZFUkVEClsxMTYyNjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9y
ZWZzIGRlYnVnXSBidW5kbGUgaWQgMyAoMHgxMDE2YzI4OCk6IHJlZmNvdW50IDEgLT4gMCAoMCBt
YXBwaW5ncykgZGVsIEJ1bmRsZURlbGl2ZXJlZEV2ZW50IApbMTE2MjYzODY5NC4wODA2MjUgL2R0
bi9idW5kbGUgZGVidWddIGJ1bmRsZSBpZCAzICgweDEwMTZjMjg4KTogbm8gbW9yZSByZWZlcmVu
Y2VzLCBwb3N0aW5nIGZyZWUgZXZlbnQKWzExNjI2Mzg2OTQuMDgwNjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVudCAoMHgxMDExMTUxMCkgd2l0aCB0eXBlIEJVTkRMRV9G
UkVFIChhdCBiYWNrKQpbMTE2MjYzODY5NC4wODA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1
ZXVlIGRlYnVnXSBub3RpZmllciBub3RpZnkKWzExNjI2Mzg2OTQuMDgwNjI1IC9kdG4vYnVuZGxl
L2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpbMTE2MjYzODY5NC4wODA2
MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA3ODAKWzExNjI2Mzg2OTQuMDgwNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGluZyB0byBk
cmFpbiAxIGJ5dGVzClsxMTYyNjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVl
dWUgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYy
NjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBp
cGUgY291bnQgPSAwClsxMTYyNjM4Njk0LjA4MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWdd
IGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTExNTEwKSBCVU5ETEVfRlJFRQpbMTE2MjYzODY5NC4w
ODA2MjUgL2R0bi9idW5kbGUvYWN0aW9ucyBkZWJ1Z10gcmVtb3ZpbmcgYnVuZGxlIDMgZnJvbSBk
YXRhIHN0b3JlClsxMTYyNjM4Njk0LjEwOTYyNSAvZHRuL3N0b3JhZ2UvYnVuZGxlcyBkZWJ1Z10g
ZGVsKDMpOiBzdWNjZXNzClsxMTYyNjM4Njk0LjEwOTYyNSAvZHRuL2J1bmRsZS9mcmVlIGRlYnVn
XSBkZXN0cm95aW5nIGJ1bmRsZSBpZCAzClsxMTYyNjM4Njk0LjEwOTYyNSAvZHRuL2J1bmRsZS9w
YXlsb2FkLzMvZmlsZSBkZWJ1Z10gdW5saW5rIC92YXIvZHRuL2J1bmRsZXMvYnVuZGxlXzMuZGF0
OiAwClsxMTYyNjM4Njk0LjEwOTYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDc1MQpbMTE2
MjYzODY5NC44NjU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIC0y
ClsxMTYyNjM4Njk0Ljg2NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgdGltZW91
dApbMTE2MjYzODY5NC44NjU2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVyIDB4MTAxNjEx
MzggYXQgMTE2MjYzODY5NC44NjU2MjUKWzExNjI2Mzg2OTQuODY1NjI1IC9kdG4vc3RvcmFnZS9k
ZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24KWzExNjI2Mzg2
OTQuODY1NjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVzY2hlZHVsaW5n
IGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2OTQuODY1NjI1IC90aW1lciBkZWJ1Z10gc2NoZWR1bGlu
ZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODY5OTo4NjU2MjUKWzExNjI2
Mzg2OTQuODY1NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2MjYzODY5NC44
NjU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEKWzExNjI2Mzg2
OTQuODY1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBuZXcgdGlt
ZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY5NC44NjU2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91
dCA1MDAwClsxMTYyNjM4Njk1LjA4MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY5NS4wODA2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg2OTUuMDgwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5NS4wODA2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg2OTUuMDgwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIx
IGNjIDgKWzExNjI2Mzg2OTUuMDgwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFs
bCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk1LjA4MDYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njk1LjA4MDYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njk1
LjA4MDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBi
bG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsx
MTYyNjM4Njk1LjA5MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODY5NS4wOTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg2OTUuMDkxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5NS4wOTE2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTUu
MDkxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzEx
NjI2Mzg2OTUuMDkxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVz
IDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk1LjA5MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4Njk1LjA5MTYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njk1LjA5MTYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0
byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4Njk1
LjEwMTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY5NS4xMDE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2OTUuMTAx
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5NS4xMDE2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTUuMTAxNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2OTUu
MTAxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykK
WzExNjI2Mzg2OTUuMTAxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGlt
ZW91dCAxMDAwKQpbMTE2MjYzODY5NS4xMDE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY5NS4xMDE2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2OTYuMTExNjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4Njk2LjExMTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Ni4xMTE2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4Njk2LjExMTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY5Ni4xMTE2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY5Ni4xMTE2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg2OTYuMTExNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQg
MjcgY2MgMTMKWzExNjI2Mzg2OTYuMTExNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2OTYuMTExNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg2OTYuMTIyNjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njk2
LjEyMjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Ni4xMjI2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4Njk2LjEyMjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODY5Ni4xMjI2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODY5Ni4xMjI2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2
OTYuMTIyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMK
WzExNjI2Mzg2OTYuMTIyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1Yg
KDgvOCBieXRlcykKWzExNjI2Mzg2OTYuMTIyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJh
dGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg2OTYuMTMzNjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njk2LjEzMzYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5Ni4xMzM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4Njk2LjEzMzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY5Ni4xMzM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODY5Ni4xMzM2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2OTYuMTMzNjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg2
OTYuMTMzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg2OTYuMTMzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAo
dGltZW91dCAxMDAwKQpbMTE2MjYzODY5Ny4xNDI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2OTcuMTQyNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4Njk3LjE0MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2OTcu
MTQyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4Njk3LjE0MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAyMSBjYyA4ClsxMTYyNjM4Njk3LjE0MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
d3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY5Ny4xNDI2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODY5Ny4xNDI2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2
MjYzODY5Ny4xNDI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0
IDEwKQpbMTE2MjYzODY5Ny4xNTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg2OTcuMTUzNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4Njk3LjE1MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2OTcuMTUzNjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4Njk3LjE1MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBj
YyA4ClsxMTYyNjM4Njk3LjE1MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODY5Ny4xNTM2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODY5Ny4xNTM2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY5Ny4x
NTM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2
MjYzODY5Ny4xNjQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
ciB0aW1lZCBvdXQKWzExNjI2Mzg2OTcuMTY0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4
Njk3LjE2NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1
cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg2OTcuMTY0NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4Njk3LjE2
NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYy
NjM4Njk3LjE2NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODY5Ny4xNjQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODY5Ny4xNjQ2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODY5Ny4xNjQ2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8g
Z2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4Njk4
LjE3NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODY5OC4xNzQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2OTguMTc0
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODY5OC4xNzQ2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTguMTc0NjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg2OTgu
MTc0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4Njk4LjE3NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFk
digpIGZkIDI3IGNjIDEzClsxMTYyNjM4Njk4LjE3NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4Njk4LjE3NDYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVu
ZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4Njk4LjE4NDYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODY5OC4xODQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2OTguMTg0NjI1IC9kdG4v
YXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODY5OC4xODQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTguMTg0NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2OTguMTg0NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg2
OTguMTg0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6
IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkK
WzExNjI2Mzg2OTguMTg0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZk
IDI3IGNjIDgKWzExNjI2Mzg2OTguMTg0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0
ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk4LjE5NTYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODY5OC4x
OTU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGlt
ZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg2OTguMTk1NjI1IC9kdG4vYXBpY2xpZW50
LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGgg
MApbMTE2MjYzODY5OC4xOTU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg2OTguMTk1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg2OTguMTk1NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4Njk4
LjE5NTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsx
MTYyNjM4Njk4LjE5NTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4
LzggYnl0ZXMpClsxMTYyNjM4Njk4LjE5NTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRp
b24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg2OTkuMjA1NjI1IC9kdG4vYXBpY2xpZW50LzIx
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njk5LjIwNTYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODY5OS4yMDU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4Njk5LjIwNTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODY5OS4yMDU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODY5OS4yMDU2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2OTkuMjA1NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg2
OTkuMjA1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg2OTkuMjA1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAo
dGltZW91dCAxMCkKWzExNjI2Mzg2OTkuMjI2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njk5LjIyNjYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODY5OS4yMjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njk5LjIy
NjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODY5OS4yMjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMjcgY2MgOApbMTE2MjYzODY5OS4yMjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg2OTkuMjI2NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg2OTkuMjI2NjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2
Mzg2OTkuMjI2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAx
MCkKWzExNjI2Mzg2OTkuMjM3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhf
bm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4Njk5LjIzNzYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpb
MTE2MjYzODY5OS4yMzc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5
OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4Njk5LjIzNzYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYz
ODY5OS4yMzc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAx
MwpbMTE2MjYzODY5OS4yMzc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVD
ViAoOC84IGJ5dGVzKQpbMTE2MjYzODY5OS4yMzc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0
cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4Njk5LjIzNzYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4Njk5LjIzNzYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODY5OS44NzE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIC0y
ClsxMTYyNjM4Njk5Ljg3MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgdGltZW91
dApbMTE2MjYzODY5OS44NzE2MjUgL3RpbWVyIGRlYnVnXSBwb3BwaW5nIHRpbWVyIDB4MTAxNjEx
MzggYXQgMTE2MjYzODY5OS44NzE2MjUKWzExNjI2Mzg2OTkuODcxNjI1IC9kdG4vc3RvcmFnZS9k
ZWFkbG9ja190aW1lciBkZWJ1Z10gcnVubmluZyBkZWFkbG9jayBkZXRlY3Rpb24KWzExNjI2Mzg2
OTkuODcxNjI1IC9kdG4vc3RvcmFnZS9kZWFkbG9ja190aW1lciBkZWJ1Z10gcmVzY2hlZHVsaW5n
IGluIDUwMDAgbXNlY3MKWzExNjI2Mzg2OTkuODcxNjI1IC90aW1lciBkZWJ1Z10gc2NoZWR1bGlu
ZyB0aW1lciAweDEwMTYxMTM4IGluIDUwMDAgbXMgYXQgMTE2MjYzODcwNDo4NzE2MjUKWzExNjI2
Mzg2OTkuODcxNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2MjYzODY5OS44
NzE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEKWzExNjI2Mzg2
OTkuODcxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBuZXcgdGlt
ZXJzIHRvIGhhbmRsZQpbMTE2MjYzODY5OS44NzE2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91
dCA1MDAwClsxMTYyNjM4NzAwLjI0NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93
aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcwMC4yNDc2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5k
bGUKWzExNjI2Mzg3MDAuMjQ3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyBy
ZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwMC4yNDc2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzEx
NjI2Mzg3MDAuMjQ3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcg
Y2MgMTMKWzExNjI2Mzg3MDAuMjQ3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MDAuMjQ3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg3MDAuMjQ3NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg3MDAuMjQ3NjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4NzAwLjI1ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlm
aWVyIHRpbWVkIG91dApbMTE2MjYzODcwMC4yNTg2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2
Mzg3MDAuMjU4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3Rh
dHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwMC4yNTg2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDAu
MjU4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzEx
NjI2Mzg3MDAuMjU4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg3MDAuMjU4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MDAuMjU4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3MDAuMjU4NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzAw
LjI2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODcwMC4yNjg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDAuMjY4
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwMC4yNjg2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDAuMjY4NjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg3MDAu
MjY4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykK
WzExNjI2Mzg3MDAuMjY4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5k
bGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGlt
ZW91dCAxMDAwKQpbMTE2MjYzODcwMC4yNjg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODcwMC4yNjg2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MDEuMjc4NjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0Clsx
MTYyNjM4NzAxLjI3ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxl
KHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwMS4yNzg2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlw
ZSksIGxlbmd0aCAwClsxMTYyNjM4NzAxLjI3ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
c2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcwMS4yNzg2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcwMS4yNzg2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwK
WzExNjI2Mzg3MDEuMjc4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQg
MjcgY2MgMTMKWzExNjI2Mzg3MDEuMjc4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3Qg
RFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MDEuMjc4NjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9y
IHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg3MDEuMjg5NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzAx
LjI4OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0
aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwMS4yODk2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0
aCAwClsxMTYyNjM4NzAxLjI4OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4
IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcwMS4yODk2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODcwMS4yODk2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3
MDEuMjg5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMK
WzExNjI2Mzg3MDEuMjg5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1Yg
KDgvOCBieXRlcykKWzExNjI2Mzg3MDEuMjg5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJh
dGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MDEuMzAwNjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzAxLjMwMDYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwMS4zMDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4NzAxLjMwMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODcwMS4zMDA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6
d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODcwMS4zMDA2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MDEuMzAwNjI1
IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg3
MDEuMzAwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg3MDEuMzAwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAo
dGltZW91dCAxMDAwKQpbMTE2MjYzODcwMi4zMDk2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDIuMzA5NjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBm
b3IgYnVuZGxlClsxMTYyNjM4NzAyLjMwOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVp
bGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDIu
MzA5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNz
YWdlClsxMTYyNjM4NzAyLjMwOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYo
KSBmZCAyMSBjYyA4ClsxMTYyNjM4NzAyLjMwOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
d3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwMi4zMDk2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcwMi4zMDk2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2
MjYzODcwMi4zMDk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0
IDEwKQpbMTE2MjYzODcwMi4zMjA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0
aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDIuMzIwNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxl
ClsxMTYyNjM4NzAyLjMyMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVw
bHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDIuMzIwNjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYy
NjM4NzAyLjMyMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBj
YyA4ClsxMTYyNjM4NzAyLjMyMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwg
OCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwMi4zMjA2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODcwMi4zMjA2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwMi4z
MjA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2
MjYzODcwMi4zMzE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
ciB0aW1lZCBvdXQKWzExNjI2Mzg3MDIuMzMxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4
NzAyLjMzMTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1
cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDIuMzMxNjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzAyLjMz
MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYy
NjM4NzAyLjMzMTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODcwMi4zMzE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWdd
IDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcwMi4zMzE2MjUgL2R0bi9hcGljbGllbnQv
MjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwMi4zMzE2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8g
Z2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4NzAz
LjM0MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVk
IG91dApbMTE2MjYzODcwMy4zNDE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDMuMzQx
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtu
b3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwMy4zNDE2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDMuMzQxNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg3MDMu
MzQxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4
IHRvdGFsClsxMTYyNjM4NzAzLjM0MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFk
digpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzAzLjM0MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzAzLjM0MTYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVu
ZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NzAzLjM1MTYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2
MjYzODcwMy4zNTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDMuMzUxNjI1IC9kdG4v
YXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUp
LCBsZW5ndGggMApbMTE2MjYzODcwMy4zNTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNl
bmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDMuMzUxNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3MDMuMzUxNjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsx
MTYyNjM4NzAzLjM1MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMy
IGNjIDEzClsxMTYyNjM4NzAzLjM1MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gZ290IERU
Tl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzAzLjM1MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciBy
ZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NzAzLjM2MjYyNSAvZHRuL2FwaWNs
aWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcwMy4z
NjI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGlt
ZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDMuMzYyNjI1IC9kdG4vYXBpY2xpZW50
LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGgg
MApbMTE2MjYzODcwMy4zNjI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDMuMzYyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg3MDMuMzYyNjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzAz
LjM2MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsx
MTYyNjM4NzAzLjM2MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4
LzggYnl0ZXMpClsxMTYyNjM4NzAzLjM2MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRp
b24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3MDMuOTc0NjI1IC9kdG4vY2wvdGNwL2Nvbm4v
MHgxMDE2ZDllOCBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcw
My45NzQ2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4IGluZm9dIGhhbmRsZV9wb2xsX3Rp
bWVvdXQ6IG5vIGRhdGEgaGVhcmQgZm9yIDIxMTk0MjY1NzAgbXNlY3MgKGtlZXBhbGl2ZV9zZW50
IDAuMSwgZGF0YV9yY3ZkIDE2Mjg2NjkwODQuMTYyODY2OTA4NCwgbm93IDExNjI2Mzg3MDMuOTc0
NjI1LCBwb2xsX3RpbWVvdXQgMTAwMDApIC0tIGNsb3NpbmcgY29udGFjdApbMTE2MjYzODcwMy45
NzQ2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4IGRlYnVnXSBicmVha19jb250YWN0OiBj
b25uZWN0aW9uIGJyb2tlbgpbMTE2MjYzODcwMy45NzQ2MjUgL2R0bi9jb250YWN0L3JlZnMgZGVi
dWddIHJlZmNvdW50IGNvbnRhY3QgMTcyLjI3LjIyLjg0OjUwMDAgKHN0YXJ0ZWQgMTE2MjYzODY5
My45NjA2MjUpIDIgLT4gMyBhZGQgTGlua1N0YXRlQ2hhbmdlUmVxdWVzdCAKWzExNjI2Mzg3MDMu
OTc0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVudCAoMHgxMDE2ZTlm
MCkgd2l0aCB0eXBlIExJTktfU1RBVEVfQ0hBTkdFX1JFUVVFU1QgKGF0IGJhY2spClsxMTYyNjM4
NzAzLjk3NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVyIG5v
dGlmeQpbMTE2MjYzODcwMy45NzQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVn
XSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzAzLjk3NDYyNSAvZHRuL2NsL3RjcC9jb25uLzB4
MTAxNmQ5ZTggZGVidWddIGNvbnRhY3RfYnJva2VuIHNldCwgZXhpdGluZyBtYWluIGxvb3AKWzEx
NjI2Mzg3MDMuOTg1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAx
ClsxMTYyNjM4NzAzLjk4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJu
ZWQgbmV3IGV2ZW50IHRvIGhhbmRsZQpbMTE2MjYzODcwMy45ODU2MjUgL3RpbWVyIGRlYnVnXSBu
ZXcgdGltZW91dCA4ODYKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dx
dWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYy
NjM4NzAzLjk4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3Bp
cGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzAzLjk4NTYyNSAvZHRu
L2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYy
NjM4NzAzLjk4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50
ICgweDEwMTZlOWYwKSBMSU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUClsxMTYyNjM4NzAzLjk4NTYy
NSAvZHRuL2J1bmRsZS9kYWVtb24gaW5mb10gTElOS19TVEFURV9DSEFOR0VfUkVRVUVTVCBbT1BF
TklORyAtPiBDTE9TRURdIChjb25uZWN0aW9uIGJyb2tlbikgZm9yIGxpbmsgMTcyLjI3LjIyLjg0
OjUwMDAgWzE3Mi4yNy4yMi44NDo1MDAwIHRjYTovL0IxIEFMV0FZU09OIE9QRU5JTkddClsxMTYy
NjM4NzAzLjk4NTYyNSAvZHRuL2J1bmRsZS9hY3Rpb25zIGRlYnVnXSBjbG9zaW5nIGxpbmsgMTcy
LjI3LjIyLjg0OjUwMDAKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vbGluay8xNzIuMjcuMjIuODQ6
NTAwMCBkZWJ1Z10gTGluazo6Y2xvc2UKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vY2wvdGNwIGlu
Zm9dIGNsb3NlX2NvbnRhY3QgY29udGFjdCAxNzIuMjcuMjIuODQ6NTAwMCAoc3RhcnRlZCAxMTYy
NjM4NjkzLjk2MDYyNSkKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2
ZDllOC9zb2NrIGRlYnVnXSBjbG9zaW5nIHNvY2tldCBpbiBzdGF0ZSBFU1RBQkxJU0hFRApbMTE2
MjYzODcwMy45ODU2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZkOWU4L3NvY2sgZGVidWddIHN0
YXRlIEVTVEFCTElTSEVEIC0+IEZJTkkKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vY2wvdGNwL21z
Z3F1ZXVlIGRlYnVnXSBOb3RpZmllciBzaHV0dGluZyBkb3duIChjbG9zaW5nIGZkcyA0MCA0MSkK
WzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBjb250
YWN0IDE3Mi4yNy4yMi44NDo1MDAwIChzdGFydGVkIDExNjI2Mzg2OTMuOTYwNjI1KSAzIC0+IDIg
ZGVsIFRDUENvbnZlcmdlbmNlTGF5ZXI6OkNvbm5lY3Rpb24gClsxMTYyNjM4NzAzLjk4NTYyNSAv
ZHRuL2NvbnRhY3QvcmVmcyBkZWJ1Z10gcmVmY291bnQgY29udGFjdCAxNzIuMjcuMjIuODQ6NTAw
MCAoc3RhcnRlZCAxMTYyNjM4NjkzLjk2MDYyNSkgMiAtPiAxIGRlbCBMaW5rIApbMTE2MjYzODcw
My45ODU2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGRlYnVnXSBMaW5rOjpjbG9zZSBj
b21wbGV0ZQpbMTE2MjYzODcwMy45ODU2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGRl
YnVnXSBzZXRfc3RhdGUgT1BFTklORyAtPiBVTkFWQUlMQUJMRQpbMTE2MjYzODcwMy45ODU2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZkMDI4KSB3aXRo
IHR5cGUgTElOS19VTkFWQUlMQUJMRSAoYXQgaGVhZCkKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4v
YnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzAz
Ljk4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9
IDEKWzExNjI2Mzg3MDMuOTg1NjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBj
b250YWN0IDE3Mi4yNy4yMi44NDo1MDAwIChzdGFydGVkIDExNjI2Mzg2OTMuOTYwNjI1KSAxIC0+
IDAgZGVsIExpbmtTdGF0ZUNoYW5nZVJlcXVlc3QgClsxMTYyNjM4NzAzLjk4NTYyNSAvZHRuL2Nv
bnRhY3QvcmVmcyBkZWJ1Z10gbm9fbW9yZV9yZWZzIGNvbnRhY3QgMTcyLjI3LjIyLjg0OjUwMDAg
KHN0YXJ0ZWQgMTE2MjYzODY5My45NjA2MjUpLi4uIGRlbGV0aW5nIG9iamVjdApbMTE2MjYzODcw
My45ODU2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA4ODYKWzExNjI2Mzg3MDMuOTg1NjI1
IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGlu
ZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NzAzLjk4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24v
bXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBl
ClsxMTYyNjM4NzAzLjk4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRy
YWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NzAzLjk4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24g
ZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZkMDI4KSBMSU5LX1VOQVZBSUxBQkxFClsx
MTYyNjM4NzAzLjk4NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gaW5mb10gTElOSyBVTkFWQUlMQUJM
RSAxNzIuMjcuMjIuODQ6NTAwMCBbMTcyLjI3LjIyLjg0OjUwMDAgdGNhOi8vQjEgQUxXQVlTT04g
VU5BVkFJTEFCTEVdClsxMTYyNjM4NzAzLjk4NjYyNSAvZHRuL3RjYSBkZWJ1Z10gZGlzcGF0Y2hp
bmcgZXZlbnQgKDB4MTAxNmQwMjgpIExJTktfVU5BVkFJTEFCTEUKWzExNjI2Mzg3MDMuOTg2NjI1
IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6OmxpbmsgdW5hdmFpbGFibGUKWzExNjI2Mzg3MDMu
OTg2NjI1IC9kdG4vdGNhIGRlYnVnXSBUY2FSb3V0ZXI6OnBvc3RfYnVuZGxlOiBbdGNhOi8vbG9j
YWxob3N0L2J1bmRsZWxheWVyXSAtPiBbdGNhOi8vSzEvYWRtaW5dIDogJ2xpbmtfdW5hdmFpbGFi
bGUnClsxMTYyNjM4NzAzLjk4NjYyNSAvZHRuL3N0b3JhZ2UvZ2xvYmFscyBkZWJ1Z10gbmV4dF9i
dW5kbGVpZCA0IC0+IDUKWzExNjI2Mzg3MDMuOTg2NjI1IC9kdG4vc3RvcmFnZS9nbG9iYWxzIGRl
YnVnXSB1cGRhdGluZyBnbG9iYWwgc3RvcmUKWzExNjI2Mzg3MDMuOTg2NjI1IC9kdG4vc3RvcmFn
ZS9nbG9iYWxzIGRlYnVnXSBwdXQ6IHNlcmlhbGl6aW5nIDEyIGJ5dGUgb2JqZWN0IChwbHVzIDAg
Ynl0ZSB0eXBlY29kZSkKWzExNjI2Mzg3MDQuMDM4NjI1IC9kdG4vYnVuZGxlIGRlYnVnXSBCdW5k
bGU6OmluaXQgYnVuZGxlIGlkIDQKWzExNjI2Mzg3MDQuMDM4NjI1IC9kdG4vYnVuZGxlL3BheWxv
YWQvNC9maWxlIGRlYnVnXSBvcGVuIC92YXIvZHRuL2J1bmRsZXMvYnVuZGxlXzQuZGF0IChmbGFn
cyAweGEwMiBtb2RlIDB4MTgwKTogZmQgMzcKWzExNjI2Mzg3MDQuMDM4NjI1IC9kdG4vYnVuZGxl
L3BheWxvYWQvNC9maWxlIGRlYnVnXSA6OndyaXRldigpIGZkIDM3IGNjIDE2ClsxMTYyNjM4NzA0
LjAzODYyNSAvZHRuL2J1bmRsZS9wYXlsb2FkLzQvZmlsZSBkZWJ1Z10gd3JpdGVhbGwgMTYgYnl0
ZXMgMCBsZWZ0IDE2IHRvdGFsClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9wYXlsb2Fk
LzQvZmlsZSBkZWJ1Z10gY2xvc2UgL3Zhci9kdG4vYnVuZGxlcy9idW5kbGVfNC5kYXQgZmQgMzc6
IDAKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0
ICgweDEwMTZjMjg4KTogcmVmY291bnQgMCAtPiAxICgwIG1hcHBpbmdzKSBhZGQgQnVuZGxlUmVj
ZWl2ZWRFdmVudCAKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10g
cG9zdGluZyBldmVudCAoMHgxMDE2YzlhMCkgd2l0aCB0eXBlIEJVTkRMRV9SRUNFSVZFRCAoYXQg
YmFjaykKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1
Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24v
bXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4v
Y29udGFjdC9tYW5hZ2VyIGRlYnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE2ZDAyOCkgTElO
S19VTkFWQUlMQUJMRQpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVi
dWddIGxpbmsgMTcyLjI3LjIyLjg0OjUwMDAgdW5hdmFpbGFibGUgKGNvbm5lY3Rpb24gYnJva2Vu
KTogc2NoZWR1bGluZyByZXRyeSB0aW1lciBpbiA1IHNlY29uZHMKWzExNjI2Mzg3MDQuMDM5NjI1
IC90aW1lciBkZWJ1Z10gc2NoZWR1bGluZyB0aW1lciAweDEwMTdhMTI4IGluIDUwMDAgbXMgYXQg
MTE2MjYzODcwOTozOTYyNQpbMTE2MjYzODcwNC4wMzk2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGlt
ZW91dCA4MzIKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBk
ZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NzA0
LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRy
YWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NzA0
LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEw
MTZjOWEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gQlVORExFX1JFQ0VJVkVEIChnZW5lcmF0ZWQpOiAoMTYgYnl0ZXMgcmVjdmQp
ClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGJ1bmRsZSBpZCA0
OgpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAg
ICBzb3VyY2U6IHRjYTovL2xvY2FsaG9zdC9idW5kbGVsYXllcgpbMTE2MjYzODcwNC4wMzk2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgICAgIGRlc3Q6IHRjYTovL0sxL2Fk
bWluClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAg
IGN1c3RvZGlhbjogdGNhOi8vSzEKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gICAgICAgICAgICByZXBseXRvOiB0Y2E6Ly9LMQpbMTE2MjYzODcwNC4wMzk2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgcGF5bG9hZF9sZW5ndGg6IDE2ClsxMTYyNjM4
NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAgICBwcmlvcml0eTog
MQpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgY3VzdG9keV9y
ZXF1ZXN0ZWQ6IGZhbHNlClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICAgbG9jYWxfY3VzdG9keTogZmFsc2UKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBkZWJ1Z10gICAgIHNpbmdsZXRvbl9kZXN0OiB0cnVlClsxMTYyNjM4NzA0LjAz
OTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgIHJlY2VpdmVfcmNwdDogZmFsc2UK
WzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgY3VzdG9k
eV9yY3B0OiBmYWxzZQpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSAgICAgICBmb3J3YXJkX3JjcHQ6IGZhbHNlClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24gZGVidWddICAgICAgZGVsaXZlcnlfcmNwdDogZmFsc2UKWzExNjI2Mzg3MDQuMDM5
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBkZWxldGlvbl9yY3B0OiBmYWxzZQpb
MTE2MjYzODcwNC4wMzk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgYXBwX2Fja2Vk
X3JjcHQ6IGZhbHNlClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWdd
ICAgICAgICBjcmVhdGlvbl90czogMjE1OTUzOTA0LjQKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4v
YnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICBleHBpcmF0aW9uOiAzNjAwClsxMTYyNjM4NzA0
LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICBpc19mcmFnbWVudDogZmFs
c2UKWzExNjI2Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAg
IGlzX2FkbWluOiBmYWxzZQpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSAgICBkb19ub3RfZnJhZ21lbnQ6IGZhbHNlClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1
bmRsZS9kYWVtb24gZGVidWddICAgICAgICBvcmlnX2xlbmd0aDogMApbMTE2MjYzODcwNC4wMzk2
MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgZnJhZ19vZmZzZXQ6IDAKWzExNjI2
Mzg3MDQuMDM5NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gdHJhbnNtaXNzaW9uX2NvdW50
OiAwClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGFkZGluZyBi
dW5kbGUgYnVuZGxlIGlkIDQgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTovL0sx
L2FkbWluICgxNiBieXRlcyBwYXlsb2FkKSB0byBwZW5kaW5nIGxpc3QKWzExNjI2Mzg3MDQuMDM5
NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVm
Y291bnQgMSAtPiAyICgxIG1hcHBpbmdzKSBhZGQgYnVuZGxlX2xpc3QgcGVuZGluZ19idW5kbGVz
ClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9saXN0L3BlbmRpbmdfYnVuZGxlcyBkZWJ1
Z10gYnVuZGxlIGlkIDQgYWRkIG1hcHBpbmcgW3BlbmRpbmdfYnVuZGxlc10gdG8gbGlzdCAweDEw
MTBmYzMwClsxMTYyNjM4NzA0LjAzOTYyNSAvZHRuL2J1bmRsZS9hY3Rpb25zIGRlYnVnXSBhZGRp
bmcgYnVuZGxlIDQgdG8gZGF0YSBzdG9yZQpbMTE2MjYzODcwNC4wMzk2MjUgL2R0bi9zdG9yYWdl
L2J1bmRsZXMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTMwIGJ5dGUgb2JqZWN0IChwbHVzIDAg
Ynl0ZSB0eXBlY29kZSkKWzExNjI2Mzg3MDQuMDY0NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRl
YnVnXSBhZGQoNCk6IHN1Y2Nlc3MKWzExNjI2Mzg3MDQuMDY0NjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gc2NoZWR1bGluZyBleHBpcmF0aW9uIGZvciBidW5kbGUgaWQgNCBhdCAxMTYyNjQy
MzA0LjAgKGluIDM2MDAgc2Vjb25kcykKWzExNjI2Mzg3MDQuMDY0NjI1IC9kdG4vYnVuZGxlL3Jl
ZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291bnQgMiAtPiAzICgxIG1h
cHBpbmdzKSBhZGQgZXhwaXJhdGlvbiB0aW1lciAKWzExNjI2Mzg3MDQuMDY0NjI1IC90aW1lciBk
ZWJ1Z10gc2NoZWR1bGluZyB0aW1lciAweDEwMTZjZTk4IGluIDM1OTk5MzYgbXMgYXQgMTE2MjY0
MjMwNDowClsxMTYyNjM4NzA0LjA2NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGNoZWNr
aW5nIGZvciBtYXRjaGluZyByZWdpc3RyYXRpb25zIGZvciBidW5kbGUgYnVuZGxlIGlkIDQgdGNh
Oi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTovL0sxL2FkbWluICgxNiBieXRlcyBwYXls
b2FkKQpbMTE2MjYzODcwNC4wNjQ2MjUgL2R0bi9yZWdpc3RyYXRpb24vdGFibGUgZGVidWddIGdl
dF9tYXRjaGluZyB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODcwNC4wNjQ2MjUgL3NjaGVtZS9kdG4g
ZGVidWddIG1hdGNoKHRjYTovL0sxL2FkbWluLCB0Y2E6Ly9LMS9hZG1pbikgc3VjY2VlZGVkOiBw
YXR0ZXJuICdLMScgc3NwICdLMScKWzExNjI2Mzg3MDQuMDY0NjI1IC9kdG4vcmVnaXN0cmF0aW9u
L3RhYmxlIGRlYnVnXSBtYXRjaGVkIHJlZ2lzdHJhdGlvbiAxMCB0Y2E6Ly9LMS9hZG1pbgpbMTE2
MjYzODcwNC4wNjQ2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL0sxL2FkbWluLCB0
Y2E6Ly9nYXRld2F5cy8pIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ2dhdGV3YXlzJyAh
PSAnSzEnKQpbMTE2MjYzODcwNC4wNjU2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTov
L0sxL2FkbWluLCB0Y2E6Ly9leHB0X21nbXQvKSBmYWlsZWQ6IHVybCBob3N0cyBub3QgZXF1YWwg
KCdleHB0X21nbXQnICE9ICdLMScpClsxMTYyNjM4NzA0LjA2NTYyNSAvZHRuL3JlZ2lzdHJhdGlv
bi90YWJsZSBkZWJ1Z10gZ2V0X21hdGNoaW5nIHRjYTovL0sxL2FkbWluOiByZXR1cm5lZCAxIG1h
dGNoZXMKWzExNjI2Mzg3MDQuMDY1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGVsaXZl
cmluZyBidW5kbGUgYnVuZGxlIGlkIDQgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRj
YTovL0sxL2FkbWluICgxNiBieXRlcyBwYXlsb2FkKSB0byByZWdpc3RyYXRpb24gMTAgKHRjYTov
L0sxL2FkbWluKQpbMTE2MjYzODcwNC4wNjU2MjUgL2R0bi9yZWdpc3RyYXRpb24vMTAgaW5mb10g
ZGVsaXZlcl9idW5kbGU6IHF1ZXVpbmcgYnVuZGxlIGlkIDQgZm9yIGFjdGl2ZSBkZWxpdmVyeSB0
byB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODcwNC4wNjU2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1
Z10gYnVuZGxlIGlkIDQgKDB4MTAxNmMyODgpOiByZWZjb3VudCAzIC0+IDQgKDIgbWFwcGluZ3Mp
IGFkZCBidW5kbGVfbGlzdCAvZHRuL3JlZ2lzdHJhdGlvbi8xMApbMTE2MjYzODcwNC4wNjU2MjUg
L2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gbm90
aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzA0LjA2NTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVn
aXN0cmF0aW9uLzEwL25vdGlmaWVyIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzA0
LjA2NTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzEwIGRlYnVnXSBidW5k
bGUgaWQgNCBhZGQgbWFwcGluZyBbL2R0bi9yZWdpc3RyYXRpb24vMTBdIHRvIGxpc3QgMHgxMDE2
YzgxMApbMTE2MjYzODcwNC4wNjU2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50
ICgweDEwMTZjOWEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MDQuMDY1NjI1IC9kdG4vdGNh
IGRlYnVnXSBUY2FSb3V0ZXI6IHRjYSBidW5kbGUgcmVjZWl2ZWQgW3RjYTovL2xvY2FsaG9zdC9i
dW5kbGVsYXllcl0gLT4gW3RjYTovL0sxL2FkbWluXSA6ICdsaW5rX3VuYXZhaWxhYmxlJwpbMTE2
MjYzODcwNC4wNjU2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZjOWEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MDQuMDY1NjI1IC9kdG4v
YnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291bnQgNCAt
PiAzICgyIG1hcHBpbmdzKSBkZWwgQnVuZGxlUmVjZWl2ZWRFdmVudCAKWzExNjI2Mzg3MDQuMDY1
NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgODA2ClsxMTYyNjM4NzA0LjA2NTYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgMQpbMTE2MjYzODcwNC4wNjU2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIG5ldyB0aW1lcnMgdG8gaGFu
ZGxlClsxMTYyNjM4NzA0LjA2NTYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDgwNgpbMTE2
MjYzODcwNC4wNzE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
cjogMS8yIGZkcyByZWFkeSwgc3RhdHVzIDB4MSAweDAgClsxMTYyNjM4NzA0LjA3MTYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiBub3JtYWwgZmQgaGFzIGV2
ZW50ClsxMTYyNjM4NzA0LjA3MTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9u
LzEwIGRlYnVnXSBidW5kbGUgaWQgNCBkZWxfYnVuZGxlOiBkZWxldGluZyBtYXBwaW5nIFsvZHRu
L3JlZ2lzdHJhdGlvbi8xMF0KWzExNjI2Mzg3MDQuMDcxNjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0
bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcg
dG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODcwNC4wNzE2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRu
L3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEg
Ynl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MDQuMDcxNjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0
bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsx
MTYyNjM4NzA0LjA3MTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgNCAoMHgx
MDE2YzI4OCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1bmRsZUxpc3Q6OnBv
cF9mcm9udCgpIHRlbXBvcmFyeSAKWzExNjI2Mzg3MDQuMDcxNjI1IC9kdG4vYnVuZGxlL3JlZnMg
ZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBp
bmdzKSBkZWwgYnVuZGxlX2xpc3QgL2R0bi9yZWdpc3RyYXRpb24vMTAKWzExNjI2Mzg3MDQuMDcx
NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVm
Y291bnQgMyAtPiA0ICgxIG1hcHBpbmdzKSBhZGQgQVBJQ2xpZW50OjpoYW5kbGVfcmVjdiAKWzEx
NjI2Mzg3MDQuMDcxNjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEw
MTZjMjg4KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQnVuZGxlTGlzdDo6cG9w
X2Zyb250KCkgdGVtcG9yYXJ5IApbMTE2MjYzODcwNC4wNzE2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIGhhbmRsZV9yZWN2OiBwb3BwZWQgYnVuZGxlIDQgZm9yIHJlZ2lzdHJhdGlvbiAxMCAo
dGltZW91dCAxMDAwKQpbMTE2MjYzODcwNC4wNzE2MjUgL2R0bi9hcGljbGllbnQvMjEgaW5mb10g
RFROX1JFQ1Y6IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYnVuZGxlIDQgdG8gcmVnaXN0cmF0aW9u
IDEwClsxMTYyNjM4NzA0LjA3MTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQg
NCAoMHgxMDE2YzI4OCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1bmRsZURl
bGl2ZXJlZEV2ZW50IApbMTE2MjYzODcwNC4wNzE2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBwb3N0aW5nIGV2ZW50ICgweDEwMTZlYmE4KSB3aXRoIHR5cGUgQlVORExFX0RFTElWRVJFRCAo
YXQgYmFjaykKWzExNjI2Mzg3MDQuMDcxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBk
ZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzA0LjA3MTYyNSAvZHRuL2J1bmRsZS9kYWVt
b24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg3MDQuMDcxNjI1IC9k
dG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291bnQg
NCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQVBJQ2xpZW50OjpoYW5kbGVfcmVjdiAKWzExNjI2Mzg3
MDQuMDcxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggODA0ClsxMTYyNjM4NzA0LjA3MTYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4MTIgYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzA0
LjA3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsx
MTYyNjM4NzA0LjA3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4
LzggYnl0ZXMpClsxMTYyNjM4NzA0LjA3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRp
b24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NzA0LjA3MzYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4MTIKWzExNjI2Mzg3MDQuMDczNjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4MTIgYnl0ZXMgMCBsZWZ0IDgxMiB0b3RhbApbMTE2
MjYzODcwNC4wNzY2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgZXZlbnQgdG8gaGFuZGxlClsxMTYyNjM4NzA0LjA3NjYyNSAvdGltZXIgZGVidWddIG5l
dyB0aW1lb3V0IDc5NQpbMTE2MjYzODcwNC4wNzY2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1
ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2
Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlw
ZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4v
YnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2
Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQg
KDB4MTAxNmViYTgpIEJVTkRMRV9ERUxJVkVSRUQKWzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBpbmZvXSBCVU5ETEVfREVMSVZFUkVEIGlkOjQgKDE2IGJ5dGVzKSAtPiByZWdp
ZCAxMCAodGNhOi8vSzEvYWRtaW4pClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIHJlbW92aW5nIGJ1bmRsZSBidW5kbGUgaWQgNCB0Y2E6Ly9sb2NhbGhvc3QvYnVu
ZGxlbGF5ZXIgLT4gdGNhOi8vSzEvYWRtaW4gKDE2IGJ5dGVzIHBheWxvYWQpIGZyb20gcGVuZGlu
ZyBsaXN0ClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGNhbmNl
bGxpbmcgZXhwaXJhdGlvbiB0aW1lciBmb3IgYnVuZGxlIGlkIDQKWzExNjI2Mzg3MDQuMDc2NjI1
IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291
bnQgMyAtPiAyICgxIG1hcHBpbmdzKSBkZWwgZXhwaXJhdGlvbiB0aW1lciAKWzExNjI2Mzg3MDQu
MDc2NjI1IC9kdG4vYnVuZGxlL2xpc3QvcGVuZGluZ19idW5kbGVzIGRlYnVnXSBidW5kbGUgaWQg
NCBkZWxfYnVuZGxlOiBkZWxldGluZyBtYXBwaW5nIFtwZW5kaW5nX2J1bmRsZXNdClsxMTYyNjM4
NzA0LjA3NjYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgNCAoMHgxMDE2YzI4
OCk6IHJlZmNvdW50IDIgLT4gMSAoMCBtYXBwaW5ncykgZGVsIGJ1bmRsZV9saXN0IHBlbmRpbmdf
YnVuZGxlcwpbMTE2MjYzODcwNC4wNzY2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZlYmE4KSBCVU5ETEVfREVMSVZFUkVEClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRu
L2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmViYTgpIEJV
TkRMRV9ERUxJVkVSRUQKWzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWdd
IGJ1bmRsZSBpZCA0ICgweDEwMTZjMjg4KTogcmVmY291bnQgMSAtPiAwICgwIG1hcHBpbmdzKSBk
ZWwgQnVuZGxlRGVsaXZlcmVkRXZlbnQgClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRuL2J1bmRsZSBk
ZWJ1Z10gYnVuZGxlIGlkIDQgKDB4MTAxNmMyODgpOiBubyBtb3JlIHJlZmVyZW5jZXMsIHBvc3Rp
bmcgZnJlZSBldmVudApbMTE2MjYzODcwNC4wNzY2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBwb3N0aW5nIGV2ZW50ICgweDEwMTExNTEwKSB3aXRoIHR5cGUgQlVORExFX0ZSRUUgKGF0IGJh
Y2spClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWdd
IG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODcwNC4wNzY2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21z
Z3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzA0LjA3NjYyNSAvdGltZXIg
ZGVidWddIG5ldyB0aW1lb3V0IDc5NQpbMTE2MjYzODcwNC4wNzY2MjUgL2R0bi9idW5kbGUvZGFl
bW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0
ZXMKWzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10g
ZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MDQuMDc2
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9
IDAKWzExNjI2Mzg3MDQuMDc2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hp
bmcgZXZlbnQgKDB4MTAxMTE1MTApIEJVTkRMRV9GUkVFClsxMTYyNjM4NzA0LjA3NjYyNSAvZHRu
L2J1bmRsZS9hY3Rpb25zIGRlYnVnXSByZW1vdmluZyBidW5kbGUgNCBmcm9tIGRhdGEgc3RvcmUK
WzExNjI2Mzg3MDQuMDg3NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRlYnVnXSBkZWwoNCk6IHN1
Y2Nlc3MKWzExNjI2Mzg3MDQuMDg3NjI1IC9kdG4vYnVuZGxlL2ZyZWUgZGVidWddIGRlc3Ryb3lp
bmcgYnVuZGxlIGlkIDQKWzExNjI2Mzg3MDQuMDg3NjI1IC9kdG4vYnVuZGxlL3BheWxvYWQvNC9m
aWxlIGRlYnVnXSB1bmxpbmsgL3Zhci9kdG4vYnVuZGxlcy9idW5kbGVfNC5kYXQ6IDAKWzExNjI2
Mzg3MDQuMDg3NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNzg0ClsxMTYyNjM4NzA0LjA5
NTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91
dApbMTE2MjYzODcwNC4wOTU2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDQuMDk1NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3du
IHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwNC4wOTU2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDQuMDk1NjI1IC9kdG4v
YXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3MDQuMDk1
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRv
dGFsClsxMTYyNjM4NzA0LjA5NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigp
IGZkIDMyIGNjIDEzClsxMTYyNjM4NzA0LjA5NTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Z290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzA0LjA5NTYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxl
IGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NzA0LjExNjYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYz
ODcwNC4xMTY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MDQuMTE2NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBs
ZW5ndGggMApbMTE2MjYzODcwNC4xMTY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRp
bmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDQuMTE2NjI1IC9kdG4vYXBpY2xpZW50
LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg3MDQuMTE2NjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYy
NjM4NzA0LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNj
IDEzClsxMTYyNjM4NzA0LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9S
RUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzA0LjExNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdp
c3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3MDQuODgyNjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAtMgpbMTE2MjYzODcwNC44ODI2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHRpbWVvdXQKWzExNjI2Mzg3MDQuODgyNjI1IC90aW1l
ciBkZWJ1Z10gcG9wcGluZyB0aW1lciAweDEwMTYxMTM4IGF0IDExNjI2Mzg3MDQuODgyNjI1Clsx
MTYyNjM4NzA0Ljg4MjYyNSAvZHRuL3N0b3JhZ2UvZGVhZGxvY2tfdGltZXIgZGVidWddIHJ1bm5p
bmcgZGVhZGxvY2sgZGV0ZWN0aW9uClsxMTYyNjM4NzA0Ljg4MjYyNSAvZHRuL3N0b3JhZ2UvZGVh
ZGxvY2tfdGltZXIgZGVidWddIHJlc2NoZWR1bGluZyBpbiA1MDAwIG1zZWNzClsxMTYyNjM4NzA0
Ljg4MjYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcgdGltZXIgMHgxMDE2MTEzOCBpbiA1MDAw
IG1zIGF0IDExNjI2Mzg3MDk6ODgyNjI1ClsxMTYyNjM4NzA0Ljg4MjYyNSAvdGltZXIgZGVidWdd
IG5ldyB0aW1lb3V0IDQxNTcKWzExNjI2Mzg3MDQuODgyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBk
ZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4NzA0Ljg4MjYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzExNjI2Mzg3MDQu
ODgyNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNDE1NwpbMTE2MjYzODcwNS4xMjY2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzEx
NjI2Mzg3MDUuMTI2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUo
cmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA1LjEyNjYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBl
KSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDUuMTI2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBz
ZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzA1LjEyNjYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzA1LjEyNjYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApb
MTE2MjYzODcwNS4xMjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAy
NyBjYyAxMwpbMTE2MjYzODcwNS4xMjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBE
VE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwNS4xMjY2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3Ig
cmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcwNS4xMzc2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDUu
MTM3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRp
bWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA1LjEzNzYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3Ro
IDAKWzExNjI2Mzg3MDUuMTM3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDgg
Ynl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzA1LjEzNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzA1LjEzNzYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcw
NS4xMzc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpb
MTE2MjYzODcwNS4xMzc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAo
OC84IGJ5dGVzKQpbMTE2MjYzODcwNS4xMzc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0
aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcwNS4xNDc2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDUuMTQ3NjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2Fp
dGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA1LjE0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2
Mzg3MDUuMTQ3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NzA1LjE0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzA1LjE0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwNS4xNDc2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcw
NS4xNDc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcwNS4xNDc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0
aW1lb3V0IDEwMDApClsxMTYyNjM4NzA2LjE1NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
cG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcwNi4xNTc2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZv
ciBidW5kbGUKWzExNjI2Mzg3MDYuMTU3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWls
ZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwNi4x
NTc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3Nh
Z2UKWzExNjI2Mzg3MDYuMTU3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigp
IGZkIDIxIGNjIDgKWzExNjI2Mzg3MDYuMTU3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzA2LjE1NzYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzA2LjE1NzYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYy
NjM4NzA2LjE1NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQg
MTApClsxMTYyNjM4NzA2LjE2ODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRo
X25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcwNi4xNjg2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUK
WzExNjI2Mzg3MDYuMTY4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBs
eTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwNi4xNjg2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2
Mzg3MDYuMTY4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNj
IDgKWzExNjI2Mzg3MDYuMTY4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4
IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzA2LjE2ODYyNSAvZHRuL2FwaWNsaWVudC8z
MiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4NzA2LjE2ODYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzA2LjE2
ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9j
a2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYy
NjM4NzA2LjE3OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVy
IHRpbWVkIG91dApbMTE2MjYzODcwNi4xNzk2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3
MDYuMTc5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcwNi4xNzk2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MDYuMTc5
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2
Mzg3MDYuMTc5NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAg
bGVmdCA4IHRvdGFsClsxMTYyNjM4NzA2LjE3OTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
OjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NzA2LjE3OTYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzA2LjE3OTYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3MDcu
MTg4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQg
b3V0ClsxMTYyNjM4NzA3LjE4ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3Jf
YnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwNy4xODg2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25v
d24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzA3LjE4ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcwNy4xODg2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcwNy4x
ODg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDgg
dG90YWwKWzExNjI2Mzg3MDcuMTg4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3MDcuMTg4NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MDcuMTg4NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg3MDcuMTk5NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYy
NjM4NzA3LjE5OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwNy4xOTk2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSks
IGxlbmd0aCAwClsxMTYyNjM4NzA3LjE5OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2Vu
ZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcwNy4xOTk2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODcwNy4xOTk2MjUgL2R0
bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcw
Ny4xOTk2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTog
YmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpb
MTE2MjYzODcwNy4xOTk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQg
MjcgY2MgOApbMTE2MjYzODcwNy4xOTk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRl
YWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MDcuMjEwNjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzA3LjIx
MDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1l
b3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcwNy4yMTA2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAw
ClsxMTYyNjM4NzA3LjIxMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5
dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcwNy4yMTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcwNy4yMTA2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwNy4yMTA2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcg
dG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4
NzA3LjIxMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4
ClsxMTYyNjM4NzA3LjIxMDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBi
eXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOC4yMjA2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDguMjIwNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2Fp
dGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA4LjIyMDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2
Mzg3MDguMjIwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NzA4LjIyMDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzA4LjIyMDYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOC4yMjA2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcw
OC4yMjA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcwOC4yMjA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODcwOC4yMzA2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBv
bGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDguMjMwNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3Ig
YnVuZGxlClsxMTYyNjM4NzA4LjIzMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRp
bmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDguMjMw
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdl
ClsxMTYyNjM4NzA4LjIzMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBm
ZCAyNyBjYyA4ClsxMTYyNjM4NzA4LjIzMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3Jp
dGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOC4yMzA2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODcwOC4yMzA2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYz
ODcwOC4yMzA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEw
KQpbMTE2MjYzODcwOC4yNDE2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9u
b3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDguMjQxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsx
MTYyNjM4NzA4LjI0MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6
IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MDguMjQxNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4
NzA4LjI0MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4
ClsxMTYyNjM4NzA4LjI0MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBi
eXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOC4yNDE2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcwOC4yNDE2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwOC4yNDE2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYy
NjM4NzA5LjA0MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgLTIK
WzExNjI2Mzg3MDkuMDQwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCB0aW1lb3V0
ClsxMTYyNjM4NzA5LjA0MDYyNSAvdGltZXIgZGVidWddIHBvcHBpbmcgdGltZXIgMHgxMDE3YTEy
OCBhdCAxMTYyNjM4NzA5LjQwNjI1ClsxMTYyNjM4NzA5LjA0MDYyNSAvZHRuL2NvbnRhY3QvbWFu
YWdlciBkZWJ1Z10gcmVvcGVuIGxpbmsgMTcyLjI3LjIyLjg0OjUwMDAKWzExNjI2Mzg3MDkuMDQw
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVudCAoMHgxMDE2ZmFhMCkg
d2l0aCB0eXBlIExJTktfU1RBVEVfQ0hBTkdFX1JFUVVFU1QgKGF0IGJhY2spClsxMTYyNjM4NzA5
LjA0MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVyIG5vdGlm
eQpbMTE2MjYzODcwOS4wNDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBu
b3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzA5LjA0MDYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1l
b3V0IDg0MgpbMTE2MjYzODcwOS4wNDA2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRl
YnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg3MDku
MDQwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogZHJh
aW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MDkuMDQwNjI1IC9kdG4vYnVuZGxl
L2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2Mzg3MDku
MDQwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAx
NmZhYTApIExJTktfU1RBVEVfQ0hBTkdFX1JFUVVFU1QKWzExNjI2Mzg3MDkuMDQwNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbiBpbmZvXSBMSU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUIFtVTkFWQUlMQUJM
RSAtPiBPUEVOXSAocmUtZXN0YWJsaXNoaW5nIGNvbm5lY3Rpb24pIGZvciBsaW5rIDE3Mi4yNy4y
Mi44NDo1MDAwIFsxNzIuMjcuMjIuODQ6NTAwMCB0Y2E6Ly9CMSBBTFdBWVNPTiBVTkFWQUlMQUJM
RV0KWzExNjI2Mzg3MDkuMDQwNjI1IC9kdG4vbGluay8xNzIuMjcuMjIuODQ6NTAwMCBkZWJ1Z10g
c2V0X3N0YXRlIFVOQVZBSUxBQkxFIC0+IEFWQUlMQUJMRQpbMTE2MjYzODcwOS4wNDA2MjUgL2R0
bi9idW5kbGUvYWN0aW9ucyBkZWJ1Z10gb3BlbmluZyBsaW5rIDE3Mi4yNy4yMi44NDo1MDAwClsx
MTYyNjM4NzA5LjA0MDYyNSAvZHRuL2xpbmsvMTcyLjI3LjIyLjg0OjUwMDAgZGVidWddIExpbms6
Om9wZW4KWzExNjI2Mzg3MDkuMDQwNjI1IC9kdG4vbGluay8xNzIuMjcuMjIuODQ6NTAwMCBkZWJ1
Z10gc2V0X3N0YXRlIEFWQUlMQUJMRSAtPiBPUEVOSU5HClsxMTYyNjM4NzA5LjA0MDYyNSAvZHRu
L2NvbnRhY3QvMTcyLjI3LjIyLjg0OjUwMDAgaW5mb10gbmV3IGNvbnRhY3QgY29udGFjdCAxNzIu
MjcuMjIuODQ6NTAwMCAoc3RhcnRlZCAxMTYyNjM4NzA5LjQwNjI1KQpbMTE2MjYzODcwOS4wNDA2
MjUgL2R0bi9jb250YWN0L3JlZnMgZGVidWddIHJlZmNvdW50IGNvbnRhY3QgMTcyLjI3LjIyLjg0
OjUwMDAgKHN0YXJ0ZWQgMTE2MjYzODcwOS40MDYyNSkgMCAtPiAxIGFkZCBMaW5rIApbMTE2MjYz
ODcwOS4wNDA2MjUgL2R0bi9jbC90Y3AgZGVidWddIG9wZW5pbmcgY29udGFjdCBvbiBsaW5rIDE3
Mi4yNy4yMi44NDo1MDAwIFsxNzIuMjcuMjIuODQ6NTAwMCB0Y2E6Ly9CMSBBTFdBWVNPTiBPUEVO
SU5HXQpbMTE2MjYzODcwOS4wNDA2MjUgL2R0bi9jbC90Y3Avbm90aWZpZXIgZGVidWddIGNyZWF0
ZWQgcGlwZSwgZmRzOiAzNyAzOApbMTE2MjYzODcwOS4wNDA2MjUgL2R0bi9jbC90Y3Avbm90aWZp
ZXIgZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzExNjI2Mzg3
MDkuMDQwNjI1IC9kdG4vY2wvdGNwL25vdGlmaWVyIGRlYnVnXSBzZXRfbm9uYmxvY2tpbmc6IG5v
bmJsb2NraW5nIG1vZGUgc2V0ClsxMTYyNjM4NzA5LjA0MDYyNSAvZHRuL2NsL3RjcC9jb25uLzB4
MTAxNmMyODgvc29jayBkZWJ1Z10gY3JlYXRlZCBzb2NrZXQgMzkKWzExNjI2Mzg3MDkuMDQwNjI1
IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4OC9zb2NrIGRlYnVnXSBzZXR0aW5nIFNPX1JFVVNF
QUREUgpbMTE2MjYzODcwOS4wNDA2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZjMjg4L3NvY2sg
ZGVidWddIHNldF9ub25ibG9ja2luZzogbm9uYmxvY2tpbmcgbW9kZSBzZXQKWzExNjI2Mzg3MDku
MDQwNjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBjb250YWN0IDE3Mi4yNy4y
Mi44NDo1MDAwIChzdGFydGVkIDExNjI2Mzg3MDkuNDA2MjUpIDEgLT4gMiBhZGQgVENQQ29udmVy
Z2VuY2VMYXllcjo6Q29ubmVjdGlvbiAKWzExNjI2Mzg3MDkuMDQwNjI1IC90aHJlYWQgZGVidWdd
IHN0YXJ0aW5nIHRocmVhZCAweDEwMTZjMjhjClsxMTYyNjM4NzA5LjA0MTYyNSAvZHRuL2NsL3Rj
cC9jb25uLzB4MTAxNmMyODggZGVidWddIGNvbm5lY3Q6IGNvbm5lY3RpbmcgdG8gMTcyLjI3LjIy
Ljg0OjUwMDAuLi4KWzExNjI2Mzg3MDkuMDQxNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4
OC9zb2NrIGRlYnVnXSBjb25uZWN0aW5nIHRvIDE3Mi4yNy4yMi44NDo1MDAwClsxMTYyNjM4NzA5
LjA0MTYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODgvc29jayBkZWJ1Z10gc3RhdGUgSU5J
VCAtPiBDT05ORUNUSU5HClsxMTYyNjM4NzA5LjA0MTYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAx
NmMyODgvc29jayBkZWJ1Z10gZGVsYXllZCBjb25uZWN0IHRvIDE3Mi4yNy4yMi44NDo1MDAwIChF
SU5QUk9HUkVTUykKWzExNjI2Mzg3MDkuMDQxNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4
OCBkZWJ1Z10gY29ubmVjdDogRUlOUFJPR1JFU1MgcmV0dXJuZWQsIHdhaXRpbmcgZm9yIHdyaXRl
IHJlYWR5ClsxMTYyNjM4NzA5LjA0MTYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODggZGVi
dWddIGNhbGxpbmcgcG9sbCBvbiAyIGZkcyB3aXRoIHRpbWVvdXQgMTAwMDAKWzExNjI2Mzg3MDku
MDQxNjI1IC9kdG4vbGluay8xNzIuMjcuMjIuODQ6NTAwMCBkZWJ1Z10gMTcyLjI3LjIyLjg0OjUw
MDAgWzE3Mi4yNy4yMi44NDo1MDAwIHRjYTovL0IxIEFMV0FZU09OIE9QRU5JTkddIG5ldyBjb250
YWN0IDB4MTAxNmVkMjAKWzExNjI2Mzg3MDkuMDQxNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVv
dXQgODQxClsxMTYyNjM4NzA5LjA1MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODggZGVi
dWddIHBvbGxfd2l0aF9ub3RpZmllcjogMS8yIGZkcyByZWFkeSwgc3RhdHVzIDB4NCAweDAgClsx
MTYyNjM4NzA5LjA1MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODggZGVidWddIHBvbGxf
d2l0aF9ub3RpZmllcjogbm9ybWFsIGZkIGhhcyBldmVudApbMTE2MjYzODcwOS4wNTI2MjUgL2R0
bi9jbC90Y3AvY29ubi8weDEwMTZjMjg4IGRlYnVnXSBwb2xsIHJldHVybmVkIHdyaXRlIHJlYWR5
LCBjbGVhcmluZyBQT0xMT1VUIGJpdApbMTE2MjYzODcwOS4wNTI2MjUgL2R0bi9jbC90Y3AvY29u
bi8weDEwMTZjMjg4L3NvY2sgZGVidWddIGdldHRpbmcgY29ubmVjdCByZXN1bHQKWzExNjI2Mzg3
MDkuMDUyNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4OC9zb2NrIGRlYnVnXSBzdGF0ZSBD
T05ORUNUSU5HIC0+IEVTVEFCTElTSEVEClsxMTYyNjM4NzA5LjA1MjYyNSAvZHRuL2NsL3RjcC9j
b25uLzB4MTAxNmMyODggZGVidWddIGRlbGF5ZWRfY29ubmVjdCB0byAxNzIuMjcuMjIuODQ6NTAw
MCBzdWNjZWVkZWQKWzExNjI2Mzg3MDkuMDUyNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4
OCBkZWJ1Z10gaW5pdGlhdGVfY29udGFjdCBjYWxsZWQKWzExNjI2Mzg3MDkuMDUyNjI1IC9kdG4v
Y2wvdGNwL2Nvbm4vMHgxMDE2YzI4OCBkZWJ1Z10gbm90aW5nIGRhdGFfc2VudApbMTE2MjYzODcw
OS4wNTI2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZjMjg4IGRlYnVnXSBzZW5kX2RhdGE6IHRy
eWluZyB0byBkcmFpbiAxNyBieXRlcyBmcm9tIHNlbmQgYnVmZmVyLi4uClsxMTYyNjM4NzA5LjA1
MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODgvc29jayBkZWJ1Z10gOjp3cml0ZXYoKSBm
ZCAzOSBjYyAxNwpbMTE2MjYzODcwOS4wNTI2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEwMTZjMjg4
IGRlYnVnXSBzZW5kX2RhdGE6IHdyb3RlIDE3LzE3IGJ5dGVzIGZyb20gc2VuZCBidWZmZXIKWzEx
NjI2Mzg3MDkuMDUyNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4OCBkZWJ1Z10gY2FsbGlu
ZyBwb2xsIG9uIDIgZmRzIHdpdGggdGltZW91dCAxMDAwMApbMTE2MjYzODcwOS4yNTE2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2
Mzg3MDkuMjUxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA5LjI1MTYyNSAvZHRuL2Fw
aWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwg
bGVuZ3RoIDAKWzExNjI2Mzg3MDkuMjUxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5k
aW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzA5LjI1MTYyNSAvZHRuL2FwaWNsaWVu
dC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzA5LjI1MTYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODcwOS4yNTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBj
YyAxMwpbMTE2MjYzODcwOS4yNTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5f
UkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcwOS4yNTE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVn
aXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcwOS4yNjI2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDkuMjYy
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVv
dXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA5LjI2MjYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAK
WzExNjI2Mzg3MDkuMjYyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0
ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzA5LjI2MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzA5LjI2MjYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOS4y
NjI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2
MjYzODcwOS4yNjI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84
IGJ5dGVzKQpbMTE2MjYzODcwOS4yNjI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRf
Zm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9u
IDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcwOS4yNzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MDkuMjcyNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGlu
ZyBmb3IgYnVuZGxlClsxMTYyNjM4NzA5LjI3MjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
YnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3
MDkuMjcyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBt
ZXNzYWdlClsxMTYyNjM4NzA5LjI3MjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0
ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzA5LjI3MjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcwOS4yNzI2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcwOS4y
NzI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpb
MTE2MjYzODcwOS4yNzI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRs
ZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1l
b3V0IDEwMDApClsxMTYyNjM4NzA5Ljg5MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgcmV0dXJuZWQgLTIKWzExNjI2Mzg3MDkuODkwNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1
Z10gcG9sbCB0aW1lb3V0ClsxMTYyNjM4NzA5Ljg5MDYyNSAvdGltZXIgZGVidWddIHBvcHBpbmcg
dGltZXIgMHgxMDE2MTEzOCBhdCAxMTYyNjM4NzA5Ljg5MDYyNQpbMTE2MjYzODcwOS44OTA2MjUg
L2R0bi9zdG9yYWdlL2RlYWRsb2NrX3RpbWVyIGRlYnVnXSBydW5uaW5nIGRlYWRsb2NrIGRldGVj
dGlvbgpbMTE2MjYzODcwOS44OTA2MjUgL2R0bi9zdG9yYWdlL2RlYWRsb2NrX3RpbWVyIGRlYnVn
XSByZXNjaGVkdWxpbmcgaW4gNTAwMCBtc2VjcwpbMTE2MjYzODcwOS44OTA2MjUgL3RpbWVyIGRl
YnVnXSBzY2hlZHVsaW5nIHRpbWVyIDB4MTAxNjExMzggaW4gNTAwMCBtcyBhdCAxMTYyNjM4NzE0
Ojg5MDYyNQpbMTE2MjYzODcwOS44OTA2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA1MDAw
ClsxMTYyNjM4NzA5Ljg5MDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJu
ZWQgMQpbMTE2MjYzODcwOS44OTA2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIG5ldyB0aW1lcnMgdG8gaGFuZGxlClsxMTYyNjM4NzA5Ljg5MDYyNSAvdGltZXIgZGVi
dWddIG5ldyB0aW1lb3V0IDUwMDAKWzExNjI2Mzg3MTAuMjgyNjI1IC9kdG4vYXBpY2xpZW50LzIx
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzEwLjI4MjYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcxMC4yODI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4NzEwLjI4MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODcxMC4yODI2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcxMC4yODI2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTAuMjgyNjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3
MTAuMjgyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg3MTAuMjgyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAo
dGltZW91dCAxMCkKWzExNjI2Mzg3MTAuMjkzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzEwLjI5MzYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODcxMC4yOTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzEwLjI5
MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODcxMC4yOTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMjcgY2MgOApbMTE2MjYzODcxMC4yOTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTAuMjkzNjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg3MTAuMjkzNjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2
Mzg3MTAuMjkzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAx
MCkKWzExNjI2Mzg3MTAuMzA0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhf
bm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzEwLjMwNDYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpb
MTE2MjYzODcxMC4zMDQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5
OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzEwLjMwNDYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYz
ODcxMC4zMDQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2Mg
OApbMTE2MjYzODcxMC4zMDQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTAuMzA0NjI1IC9kdG4vYXBpY2xpZW50LzIx
IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg3MTAuMzA0NjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTAuMzA0
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2Nr
aW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2
MjYzODcxMS4zMTM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
ciB0aW1lZCBvdXQKWzExNjI2Mzg3MTEuMzEzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4
NzExLjMxMzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1
cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MTEuMzEzNjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzExLjMx
MzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4NzExLjMxMzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODcxMS4zMTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcxMS4zMTM2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxMS4zMTM2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8g
Z2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxMS4z
MjQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBv
dXQKWzExNjI2Mzg3MTEuMzI0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzExLjMyNDYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93
biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MTEuMzI0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzExLjMyNDYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzExLjMy
NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODcxMS4zMjQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYo
KSBmZCAzMiBjYyAxMwpbMTE2MjYzODcxMS4zMjQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxMS4zMjQ2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRs
ZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxMS4zMzU2MjUgL2R0
bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2
Mzg3MTEuMzM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzExLjMzNTYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwg
bGVuZ3RoIDAKWzExNjI2Mzg3MTEuMzM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5k
aW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzExLjMzNTYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzExLjMzNTYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODcxMS4zMzU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBj
YyAxMwpbMTE2MjYzODcxMS4zMzU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5f
UkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxMS4zMzU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVn
aXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4NzEyLjMzODYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxMi4z
Mzg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGlt
ZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MTIuMzM4NjI1IC9kdG4vYXBpY2xpZW50
LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGgg
MApbMTE2MjYzODcxMi4zMzg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MTIuMzM4NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRl
YnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg3MTIuMzM4NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzEy
LjMzODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsx
MTYyNjM4NzEyLjMzODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4
LzggYnl0ZXMpClsxMTYyNjM4NzEyLjMzODYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRp
b24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NzEyLjM1OTYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxMi4zNTk2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0
aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MTIuMzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYz
ODcxMi4zNTk2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5
IG1lc3NhZ2UKWzExNjI2Mzg3MTIuMzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6Ondy
aXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3MTIuMzU5NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzEyLjM1OTYyNSAv
ZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4NzEy
LjM1OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMp
ClsxMTYyNjM4NzEyLjM1OTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVu
ZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRp
bWVvdXQgMTApClsxMTYyNjM4NzEyLjM4MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9s
bF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxMi4zODE2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBi
dW5kbGUKWzExNjI2Mzg3MTIuMzgxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGlu
ZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcxMi4zODE2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UK
WzExNjI2Mzg3MTIuMzgxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZk
IDMyIGNjIDgKWzExNjI2Mzg3MTIuMzgxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0
ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzEyLjM4MTYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NzEyLjM4MTYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4
NzEyLjM4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3Yp
OiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAw
MCkKWzExNjI2Mzg3MTMuMzkwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhf
bm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzEzLjM5MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpb
MTE2MjYzODcxMy4zOTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5
OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzEzLjM5MDYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYz
ODcxMy4zOTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODcxMy4zOTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTMuMzkwNjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3MTMuMzkwNjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTMuMzkw
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2Nr
aW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2
Mzg3MTMuNDAxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIg
dGltZWQgb3V0ClsxMTYyNjM4NzEzLjQwMTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcx
My40MDE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMg
KHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzEzLjQwMTYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcxMy40MDE2
MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYz
ODcxMy40MDE2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBs
ZWZ0IDggdG90YWwKWzExNjI2Mzg3MTMuNDAxNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6
OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg3MTMuNDAxNjI1IC9kdG4vYXBpY2xpZW50LzMy
IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTMuNDAxNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdl
dCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MTMuNDEy
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0
ClsxMTYyNjM4NzEzLjQxMjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVu
ZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcxMy40MTI2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24g
dHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzEzLjQxMjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcxMy40MTI2MjUgL2R0bi9h
cGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODcxMy40MTI2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90
YWwKWzExNjI2Mzg3MTMuNDEyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkg
ZmQgMjEgY2MgMTMKWzExNjI2Mzg3MTMuNDEyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBn
b3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTMuNDEyNjI1IC9kdG4vYXBpY2xpZW50
LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUg
Zm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODcxNC40MjI2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2
Mzg3MTQuNDIyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzE0LjQyMjYyNSAvZHRuL2Fw
aWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwg
bGVuZ3RoIDAKWzExNjI2Mzg3MTQuNDIyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5k
aW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE0LjQyMjYyNSAvZHRuL2FwaWNsaWVu
dC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzE0LjQyMjYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODcxNC40MjI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBj
YyAxMwpbMTE2MjYzODcxNC40MjI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5f
UkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxNC40MjI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVn
aXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxNC40MzI2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MTQuNDMy
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVv
dXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzE0LjQzMjYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAK
WzExNjI2Mzg3MTQuNDMyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0
ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE0LjQzMjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzE0LjQzMjYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcxNC40
MzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2
MjYzODcxNC40MzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84
IGJ5dGVzKQpbMTE2MjYzODcxNC40MzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRf
Zm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9u
IDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxNC40NDM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MTQuNDQzNjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGlu
ZyBmb3IgYnVuZGxlClsxMTYyNjM4NzE0LjQ0MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
YnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3
MTQuNDQzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBt
ZXNzYWdlClsxMTYyNjM4NzE0LjQ0MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0
ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzE0LjQ0MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcxNC40NDM2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcxNC40
NDM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpb
MTE2MjYzODcxNC40NDM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRs
ZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1l
b3V0IDEwMDApClsxMTYyNjM4NzE0Ljg5NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
bGwgcmV0dXJuZWQgLTIKWzExNjI2Mzg3MTQuODk0NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1
Z10gcG9sbCB0aW1lb3V0ClsxMTYyNjM4NzE0Ljg5NDYyNSAvdGltZXIgZGVidWddIHBvcHBpbmcg
dGltZXIgMHgxMDE2MTEzOCBhdCAxMTYyNjM4NzE0Ljg5NDYyNQpbMTE2MjYzODcxNC44OTQ2MjUg
L2R0bi9zdG9yYWdlL2RlYWRsb2NrX3RpbWVyIGRlYnVnXSBydW5uaW5nIGRlYWRsb2NrIGRldGVj
dGlvbgpbMTE2MjYzODcxNC44OTQ2MjUgL2R0bi9zdG9yYWdlL2RlYWRsb2NrX3RpbWVyIGRlYnVn
XSByZXNjaGVkdWxpbmcgaW4gNTAwMCBtc2VjcwpbMTE2MjYzODcxNC44OTQ2MjUgL3RpbWVyIGRl
YnVnXSBzY2hlZHVsaW5nIHRpbWVyIDB4MTAxNjExMzggaW4gNTAwMCBtcyBhdCAxMTYyNjM4NzE5
Ojg5NDYyNQpbMTE2MjYzODcxNC44OTQ2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGltZW91dCA1MDAw
ClsxMTYyNjM4NzE0Ljg5NDYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJu
ZWQgMQpbMTE2MjYzODcxNC44OTQ2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJl
dHVybmVkIG5ldyB0aW1lcnMgdG8gaGFuZGxlClsxMTYyNjM4NzE0Ljg5NDYyNSAvdGltZXIgZGVi
dWddIG5ldyB0aW1lb3V0IDUwMDAKWzExNjI2Mzg3MTUuNDUzNjI1IC9kdG4vYXBpY2xpZW50LzIx
IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzE1LjQ1MzYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdh
aXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcxNS40NTM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYy
NjM4NzE1LjQ1MzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVw
bHkgbWVzc2FnZQpbMTE2MjYzODcxNS40NTM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6
d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcxNS40NTM2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTUuNDUzNjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3
MTUuNDUzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRl
cykKWzExNjI2Mzg3MTUuNDUzNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAo
dGltZW91dCAxMCkKWzExNjI2Mzg3MTUuNDY0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBw
b2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzE1LjQ2NDYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9y
IGJ1bmRsZQpbMTE2MjYzODcxNS40NjQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxk
aW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE1LjQ2
NDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2Fn
ZQpbMTE2MjYzODcxNS40NjQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6d3JpdGV2KCkg
ZmQgMjcgY2MgOApbMTE2MjYzODcxNS40NjQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdy
aXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTUuNDY0NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg3MTUuNDY0NjI1
IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2
Mzg3MTUuNDY0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAx
MCkKWzExNjI2Mzg3MTUuNDc0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhf
bm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzE1LjQ3NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpb
MTE2MjYzODcxNS40NzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5
OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE1LjQ3NDYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYz
ODcxNS40NzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6d3JpdGV2KCkgZmQgMzIgY2Mg
OApbMTE2MjYzODcxNS40NzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTUuNDc0NjI1IC9kdG4vYXBpY2xpZW50LzIx
IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzExNjI2Mzg3MTUuNDc0NjI1IC9kdG4vYXBp
Y2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTUuNDc0
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2Nr
aW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAodGltZW91dCAxMDAwKQpbMTE2
MjYzODcxNi40ODQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
ciB0aW1lZCBvdXQKWzExNjI2Mzg3MTYuNDg0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4
NzE2LjQ4NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1
cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MTYuNDg0NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE2LjQ4
NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYy
NjM4NzE2LjQ4NDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAw
IGxlZnQgOCB0b3RhbApbMTE2MjYzODcxNi40ODQ2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcxNi40ODQ2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxNi40ODQ2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8g
Z2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxNi40
OTU2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBv
dXQKWzExNjI2Mzg3MTYuNDk1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9i
dW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzE2LjQ5NTYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93
biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MTYuNDk1NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRl
YnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE2LjQ5NTYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzE2LjQ5
NTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0
b3RhbApbMTE2MjYzODcxNi40OTU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYo
KSBmZCAzMiBjYyAxMwpbMTE2MjYzODcxNi40OTU2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWdd
IGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxNi40OTU2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRs
ZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxNi41MDY2MjUgL2R0
bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2
Mzg3MTYuNTA2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVj
dik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzE2LjUwNjYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwg
bGVuZ3RoIDAKWzExNjI2Mzg3MTYuNTA2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5k
aW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE2LjUwNjYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzE2LjUwNjYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2
MjYzODcxNi41MDY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBj
YyAxMwpbMTE2MjYzODcxNi41MDY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5f
UkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxNi41MDY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVi
dWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVn
aXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYyNjM4NzE3LjUxNTYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxNy41
MTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGlt
ZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MTcuNTE1NjI1IC9kdG4vYXBpY2xpZW50
LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGgg
MApbMTE2MjYzODcxNy41MTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBi
eXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MTcuNTE1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRl
YnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2Mzg3MTcuNTE1NjI1IC9kdG4vYXBpY2xp
ZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzE3
LjUxNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsx
MTYyNjM4NzE3LjUxNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4
LzggYnl0ZXMpClsxMTYyNjM4NzE3LjUxNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRp
b24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NzE3LjUyNjYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxNy41MjY2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0
aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MTcuNTI2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYz
ODcxNy41MjY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5
IG1lc3NhZ2UKWzExNjI2Mzg3MTcuNTI2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJl
YWR2KCkgZmQgMzIgY2MgMTMKWzExNjI2Mzg3MTcuNTI2NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTcuNTI2NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBi
dW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MTcuNTI2NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3
MTcuNTI2NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVm
dCA4IHRvdGFsClsxMTYyNjM4NzE3LjUzNzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9s
bF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcxNy41Mzc2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBi
dW5kbGUKWzExNjI2Mzg3MTcuNTM3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGlu
ZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcxNy41Mzc2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UK
WzExNjI2Mzg3MTcuNTM3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZk
IDMyIGNjIDgKWzExNjI2Mzg3MTcuNTM3NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0
ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzE3LjUzNzYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NzE3LjUzNzYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4
NzE3LjUzNzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3Yp
OiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAw
MCkKWzExNjI2Mzg3MTguNTQ3NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhf
bm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzE4LjU0NzYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpb
MTE2MjYzODcxOC41NDc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5
OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE4LjU0NzYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYz
ODcxOC41NDc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2Mg
OApbMTE2MjYzODcxOC41NDc2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDgg
Ynl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTguNTQ3NjI1IC9kdG4vYXBpY2xpZW50LzI3
IGRlYnVnXSA6OnJlYWR2KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3MTguNTQ3NjI1IC9kdG4vYXBp
Y2xpZW50LzI3IGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MTguNTQ3
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2Nr
aW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2
Mzg3MTguNTU3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIg
dGltZWQgb3V0ClsxMTYyNjM4NzE4LjU1NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2Fp
dF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcx
OC41NTc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMg
KHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE4LjU1NzYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcxOC41NTc2
MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYz
ODcxOC41NTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5
dGVzKQpbMTE2MjYzODcxOC41NTc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9y
X2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEy
ICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxOC41NTc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWdd
IDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODcxOC41NTc2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MTguNTY4
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0
ClsxMTYyNjM4NzE4LjU2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVu
ZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcxOC41Njg2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24g
dHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE4LjU2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcxOC41Njg2MjUgL2R0bi9h
cGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcxOC41Njg2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2
MjYzODcxOC41Njg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShy
ZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0
IDEwMDApClsxMTYyNjM4NzE4LjU2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0
ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzE4LjU2ODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcxOS4wNTI2MjUgL2R0
bi9jbC90Y3AvY29ubi8weDEwMTZjMjg4IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQg
b3V0ClsxMTYyNjM4NzE5LjA1MjYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODggaW5mb10g
aGFuZGxlX3BvbGxfdGltZW91dDogbm8gZGF0YSBoZWFyZCBmb3IgLTEyOTc2ODgwOTAgbXNlY3Mg
KGtlZXBhbGl2ZV9zZW50IDAuMSwgZGF0YV9yY3ZkIDAuMjY5OTI3NTA4LCBub3cgMTE2MjYzODcx
OS41MjYyNSwgcG9sbF90aW1lb3V0IDEwMDAwKSAtLSBjbG9zaW5nIGNvbnRhY3QKWzExNjI2Mzg3
MTkuMDUyNjI1IC9kdG4vY2wvdGNwL2Nvbm4vMHgxMDE2YzI4OCBkZWJ1Z10gYnJlYWtfY29udGFj
dDogY29ubmVjdGlvbiBicm9rZW4KWzExNjI2Mzg3MTkuMDUyNjI1IC9kdG4vY29udGFjdC9yZWZz
IGRlYnVnXSByZWZjb3VudCBjb250YWN0IDE3Mi4yNy4yMi44NDo1MDAwIChzdGFydGVkIDExNjI2
Mzg3MDkuNDA2MjUpIDIgLT4gMyBhZGQgTGlua1N0YXRlQ2hhbmdlUmVxdWVzdCAKWzExNjI2Mzg3
MTkuMDUyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9zdGluZyBldmVudCAoMHgxMDE2
ZTEzOCkgd2l0aCB0eXBlIExJTktfU1RBVEVfQ0hBTkdFX1JFUVVFU1QgKGF0IGJhY2spClsxMTYy
NjM4NzE5LjA1MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVy
IG5vdGlmeQpbMTE2MjYzODcxOS4wNTI2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRl
YnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzE5LjA1MjYyNSAvZHRuL2NsL3RjcC9jb25u
LzB4MTAxNmMyODggZGVidWddIGNvbnRhY3RfYnJva2VuIHNldCwgZXhpdGluZyBtYWluIGxvb3AK
WzExNjI2Mzg3MTkuMDUyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCAxClsxMTYyNjM4NzE5LjA1MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0
dXJuZWQgbmV3IGV2ZW50IHRvIGhhbmRsZQpbMTE2MjYzODcxOS4wNTI2MjUgL3RpbWVyIGRlYnVn
XSBuZXcgdGltZW91dCA4NDIKWzExNjI2Mzg3MTkuMDUyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9t
c2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsx
MTYyNjM4NzE5LjA1MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWlu
X3BpcGU6IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzE5LjA1MjYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsx
MTYyNjM4NzE5LjA1MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZlMTM4KSBMSU5LX1NUQVRFX0NIQU5HRV9SRVFVRVNUClsxMTYyNjM4NzE5LjA1
MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gaW5mb10gTElOS19TVEFURV9DSEFOR0VfUkVRVUVTVCBb
T1BFTklORyAtPiBDTE9TRURdIChjb25uZWN0aW9uIGJyb2tlbikgZm9yIGxpbmsgMTcyLjI3LjIy
Ljg0OjUwMDAgWzE3Mi4yNy4yMi44NDo1MDAwIHRjYTovL0IxIEFMV0FZU09OIE9QRU5JTkddClsx
MTYyNjM4NzE5LjA1MjYyNSAvZHRuL2J1bmRsZS9hY3Rpb25zIGRlYnVnXSBjbG9zaW5nIGxpbmsg
MTcyLjI3LjIyLjg0OjUwMDAKWzExNjI2Mzg3MTkuMDUyNjI1IC9kdG4vbGluay8xNzIuMjcuMjIu
ODQ6NTAwMCBkZWJ1Z10gTGluazo6Y2xvc2UKWzExNjI2Mzg3MTkuMDUyNjI1IC9kdG4vY2wvdGNw
IGluZm9dIGNsb3NlX2NvbnRhY3QgY29udGFjdCAxNzIuMjcuMjIuODQ6NTAwMCAoc3RhcnRlZCAx
MTYyNjM4NzA5LjQwNjI1KQpbMTE2MjYzODcxOS4wNTI2MjUgL2R0bi9jbC90Y3AvY29ubi8weDEw
MTZjMjg4L3NvY2sgZGVidWddIGNsb3Npbmcgc29ja2V0IGluIHN0YXRlIEVTVEFCTElTSEVEClsx
MTYyNjM4NzE5LjA1MzYyNSAvZHRuL2NsL3RjcC9jb25uLzB4MTAxNmMyODgvc29jayBkZWJ1Z10g
c3RhdGUgRVNUQUJMSVNIRUQgLT4gRklOSQpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9jbC90Y3Av
bXNncXVldWUgZGVidWddIE5vdGlmaWVyIHNodXR0aW5nIGRvd24gKGNsb3NpbmcgZmRzIDM3IDM4
KQpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9jb250YWN0L3JlZnMgZGVidWddIHJlZmNvdW50IGNv
bnRhY3QgMTcyLjI3LjIyLjg0OjUwMDAgKHN0YXJ0ZWQgMTE2MjYzODcwOS40MDYyNSkgMyAtPiAy
IGRlbCBUQ1BDb252ZXJnZW5jZUxheWVyOjpDb25uZWN0aW9uIApbMTE2MjYzODcxOS4wNTM2MjUg
L2R0bi9jb250YWN0L3JlZnMgZGVidWddIHJlZmNvdW50IGNvbnRhY3QgMTcyLjI3LjIyLjg0OjUw
MDAgKHN0YXJ0ZWQgMTE2MjYzODcwOS40MDYyNSkgMiAtPiAxIGRlbCBMaW5rIApbMTE2MjYzODcx
OS4wNTM2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGRlYnVnXSBMaW5rOjpjbG9zZSBj
b21wbGV0ZQpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9saW5rLzE3Mi4yNy4yMi44NDo1MDAwIGRl
YnVnXSBzZXRfc3RhdGUgT1BFTklORyAtPiBVTkFWQUlMQUJMRQpbMTE2MjYzODcxOS4wNTM2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTdhMTI4KSB3aXRo
IHR5cGUgTElOS19VTkFWQUlMQUJMRSAoYXQgaGVhZCkKWzExNjI2Mzg3MTkuMDUzNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzE5
LjA1MzYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9
IDEKWzExNjI2Mzg3MTkuMDUzNjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBj
b250YWN0IDE3Mi4yNy4yMi44NDo1MDAwIChzdGFydGVkIDExNjI2Mzg3MDkuNDA2MjUpIDEgLT4g
MCBkZWwgTGlua1N0YXRlQ2hhbmdlUmVxdWVzdCAKWzExNjI2Mzg3MTkuMDUzNjI1IC9kdG4vY29u
dGFjdC9yZWZzIGRlYnVnXSBub19tb3JlX3JlZnMgY29udGFjdCAxNzIuMjcuMjIuODQ6NTAwMCAo
c3RhcnRlZCAxMTYyNjM4NzA5LjQwNjI1KS4uLiBkZWxldGluZyBvYmplY3QKWzExNjI2Mzg3MTku
MDUzNjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgODQxClsxMTYyNjM4NzE5LjA1MzYyNSAv
ZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcg
dG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21z
Z3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBkcmFpbmVkIDEvMSBieXRlKHMpIGZyb20gcGlwZQpb
MTE2MjYzODcxOS4wNTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFp
biBwaXBlIGNvdW50ID0gMApbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSBkaXNwYXRjaGluZyBldmVudCAoMHgxMDE3YTEyOCkgTElOS19VTkFWQUlMQUJMRQpbMTE2
MjYzODcxOS4wNTM2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGluZm9dIExJTksgVU5BVkFJTEFCTEUg
MTcyLjI3LjIyLjg0OjUwMDAgWzE3Mi4yNy4yMi44NDo1MDAwIHRjYTovL0IxIEFMV0FZU09OIFVO
QVZBSUxBQkxFXQpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5n
IGV2ZW50ICgweDEwMTdhMTI4KSBMSU5LX1VOQVZBSUxBQkxFClsxMTYyNjM4NzE5LjA1MzYyNSAv
ZHRuL3RjYSBkZWJ1Z10gVGNhUm91dGVyOjpsaW5rIHVuYXZhaWxhYmxlClsxMTYyNjM4NzE5LjA1
MzYyNSAvZHRuL3RjYSBkZWJ1Z10gVGNhUm91dGVyOjpwb3N0X2J1bmRsZTogW3RjYTovL2xvY2Fs
aG9zdC9idW5kbGVsYXllcl0gLT4gW3RjYTovL0sxL2FkbWluXSA6ICdsaW5rX3VuYXZhaWxhYmxl
JwpbMTE2MjYzODcxOS4wNTM2MjUgL2R0bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIG5leHRfYnVu
ZGxlaWQgNSAtPiA2ClsxMTYyNjM4NzE5LjA1MzYyNSAvZHRuL3N0b3JhZ2UvZ2xvYmFscyBkZWJ1
Z10gdXBkYXRpbmcgZ2xvYmFsIHN0b3JlClsxMTYyNjM4NzE5LjA1MzYyNSAvZHRuL3N0b3JhZ2Uv
Z2xvYmFscyBkZWJ1Z10gcHV0OiBzZXJpYWxpemluZyAxMiBieXRlIG9iamVjdCAocGx1cyAwIGJ5
dGUgdHlwZWNvZGUpClsxMTYyNjM4NzE5LjA3MDYyNSAvZHRuL2J1bmRsZSBkZWJ1Z10gQnVuZGxl
Ojppbml0IGJ1bmRsZSBpZCA1ClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2J1bmRsZS9wYXlsb2Fk
LzUvZmlsZSBkZWJ1Z10gb3BlbiAvdmFyL2R0bi9idW5kbGVzL2J1bmRsZV81LmRhdCAoZmxhZ3Mg
MHhhMDIgbW9kZSAweDE4MCk6IGZkIDM3ClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2J1bmRsZS9w
YXlsb2FkLzUvZmlsZSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzNyBjYyAxNgpbMTE2MjYzODcxOS4w
NzE2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC81L2ZpbGUgZGVidWddIHdyaXRlYWxsIDE2IGJ5dGVz
IDAgbGVmdCAxNiB0b3RhbApbMTE2MjYzODcxOS4wNzE2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC81
L2ZpbGUgZGVidWddIGNsb3NlIC92YXIvZHRuL2J1bmRsZXMvYnVuZGxlXzUuZGF0IGZkIDM3OiAw
ClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgNSAo
MHgxMDE2ZjNkOCk6IHJlZmNvdW50IDAgLT4gMSAoMCBtYXBwaW5ncykgYWRkIEJ1bmRsZVJlY2Vp
dmVkRXZlbnQgClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIHBv
c3RpbmcgZXZlbnQgKDB4MTAxNmU0MTApIHdpdGggdHlwZSBCVU5ETEVfUkVDRUlWRUQgKGF0IGJh
Y2spClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWdd
IG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODcxOS4wNzE2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21z
Z3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzE5LjA3MTYyNSAvZHRuL2Nv
bnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxN2ExMjgpIExJTktf
VU5BVkFJTEFCTEUKWzExNjI2Mzg3MTkuMDcxNjI1IC9kdG4vY29udGFjdC9tYW5hZ2VyIGRlYnVn
XSBsaW5rIDE3Mi4yNy4yMi44NDo1MDAwIHVuYXZhaWxhYmxlIChjb25uZWN0aW9uIGJyb2tlbik6
IHNjaGVkdWxpbmcgcmV0cnkgdGltZXIgaW4gMTAgc2Vjb25kcwpbMTE2MjYzODcxOS4wNzE2MjUg
L3RpbWVyIGRlYnVnXSBzY2hlZHVsaW5nIHRpbWVyIDB4MTAxNmU0NDggaW4gMTAwMDAgbXMgYXQg
MTE2MjYzODcyOTo3MTYyNQpbMTE2MjYzODcxOS4wNzE2MjUgL3RpbWVyIGRlYnVnXSBuZXcgdGlt
ZW91dCA4MjMKWzExNjI2Mzg3MTkuMDcxNjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBk
ZWJ1Z10gZHJhaW5fcGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NzE5
LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRy
YWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NzE5
LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEw
MTZlNDEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4vYnVuZGxlL2Rh
ZW1vbiBkZWJ1Z10gQlVORExFX1JFQ0VJVkVEIChnZW5lcmF0ZWQpOiAoMTYgYnl0ZXMgcmVjdmQp
ClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGJ1bmRsZSBpZCA1
OgpbMTE2MjYzODcxOS4wNzI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAg
ICBzb3VyY2U6IHRjYTovL2xvY2FsaG9zdC9idW5kbGVsYXllcgpbMTE2MjYzODcxOS4wNzI2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgICAgICAgIGRlc3Q6IHRjYTovL0sxL2Fk
bWluClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAg
IGN1c3RvZGlhbjogdGNhOi8vSzEKWzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gICAgICAgICAgICByZXBseXRvOiB0Y2E6Ly9LMQpbMTE2MjYzODcxOS4wNzI2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgcGF5bG9hZF9sZW5ndGg6IDE2ClsxMTYyNjM4
NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICAgICBwcmlvcml0eTog
MQpbMTE2MjYzODcxOS4wNzI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgY3VzdG9keV9y
ZXF1ZXN0ZWQ6IGZhbHNlClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVi
dWddICAgICAgbG9jYWxfY3VzdG9keTogZmFsc2UKWzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBkZWJ1Z10gICAgIHNpbmdsZXRvbl9kZXN0OiB0cnVlClsxMTYyNjM4NzE5LjA3
MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgIHJlY2VpdmVfcmNwdDogZmFsc2UK
WzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgY3VzdG9k
eV9yY3B0OiBmYWxzZQpbMTE2MjYzODcxOS4wNzI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSAgICAgICBmb3J3YXJkX3JjcHQ6IGZhbHNlClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRs
ZS9kYWVtb24gZGVidWddICAgICAgZGVsaXZlcnlfcmNwdDogZmFsc2UKWzExNjI2Mzg3MTkuMDcy
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICBkZWxldGlvbl9yY3B0OiBmYWxzZQpb
MTE2MjYzODcxOS4wNzI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgYXBwX2Fja2Vk
X3JjcHQ6IGZhbHNlClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWdd
ICAgICAgICBjcmVhdGlvbl90czogMjE1OTUzOTE5LjUKWzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4v
YnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICBleHBpcmF0aW9uOiAzNjAwClsxMTYyNjM4NzE5
LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddICAgICAgICBpc19mcmFnbWVudDogZmFs
c2UKWzExNjI2Mzg3MTkuMDcyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gICAgICAgICAg
IGlzX2FkbWluOiBmYWxzZQpbMTE2MjYzODcxOS4wNzI2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRl
YnVnXSAgICBkb19ub3RfZnJhZ21lbnQ6IGZhbHNlClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1
bmRsZS9kYWVtb24gZGVidWddICAgICAgICBvcmlnX2xlbmd0aDogMApbMTE2MjYzODcxOS4wNzI2
MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSAgICAgICAgZnJhZ19vZmZzZXQ6IDAKWzExNjI2
Mzg3MTkuMDcyNjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gdHJhbnNtaXNzaW9uX2NvdW50
OiAwClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGFkZGluZyBi
dW5kbGUgYnVuZGxlIGlkIDUgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTovL0sx
L2FkbWluICgxNiBieXRlcyBwYXlsb2FkKSB0byBwZW5kaW5nIGxpc3QKWzExNjI2Mzg3MTkuMDcy
NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVm
Y291bnQgMSAtPiAyICgxIG1hcHBpbmdzKSBhZGQgYnVuZGxlX2xpc3QgcGVuZGluZ19idW5kbGVz
ClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9saXN0L3BlbmRpbmdfYnVuZGxlcyBkZWJ1
Z10gYnVuZGxlIGlkIDUgYWRkIG1hcHBpbmcgW3BlbmRpbmdfYnVuZGxlc10gdG8gbGlzdCAweDEw
MTBmYzMwClsxMTYyNjM4NzE5LjA3MjYyNSAvZHRuL2J1bmRsZS9hY3Rpb25zIGRlYnVnXSBhZGRp
bmcgYnVuZGxlIDUgdG8gZGF0YSBzdG9yZQpbMTE2MjYzODcxOS4wNzI2MjUgL2R0bi9zdG9yYWdl
L2J1bmRsZXMgZGVidWddIHB1dDogc2VyaWFsaXppbmcgMTMwIGJ5dGUgb2JqZWN0IChwbHVzIDAg
Ynl0ZSB0eXBlY29kZSkKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRl
YnVnXSBhZGQoNSk6IHN1Y2Nlc3MKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vYnVuZGxlL2RhZW1v
biBkZWJ1Z10gc2NoZWR1bGluZyBleHBpcmF0aW9uIGZvciBidW5kbGUgaWQgNSBhdCAxMTYyNjQy
MzE5LjAgKGluIDM2MDAgc2Vjb25kcykKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vYnVuZGxlL3Jl
ZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291bnQgMiAtPiAzICgxIG1h
cHBpbmdzKSBhZGQgZXhwaXJhdGlvbiB0aW1lciAKWzExNjI2Mzg3MTkuMDg1NjI1IC90aW1lciBk
ZWJ1Z10gc2NoZWR1bGluZyB0aW1lciAweDEwMTdhMTI4IGluIDM1OTk5MTUgbXMgYXQgMTE2MjY0
MjMxOTowClsxMTYyNjM4NzE5LjA4NTYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGNoZWNr
aW5nIGZvciBtYXRjaGluZyByZWdpc3RyYXRpb25zIGZvciBidW5kbGUgYnVuZGxlIGlkIDUgdGNh
Oi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRjYTovL0sxL2FkbWluICgxNiBieXRlcyBwYXls
b2FkKQpbMTE2MjYzODcxOS4wODU2MjUgL2R0bi9yZWdpc3RyYXRpb24vdGFibGUgZGVidWddIGdl
dF9tYXRjaGluZyB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODcxOS4wODU2MjUgL3NjaGVtZS9kdG4g
ZGVidWddIG1hdGNoKHRjYTovL0sxL2FkbWluLCB0Y2E6Ly9LMS9hZG1pbikgc3VjY2VlZGVkOiBw
YXR0ZXJuICdLMScgc3NwICdLMScKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vcmVnaXN0cmF0aW9u
L3RhYmxlIGRlYnVnXSBtYXRjaGVkIHJlZ2lzdHJhdGlvbiAxMCB0Y2E6Ly9LMS9hZG1pbgpbMTE2
MjYzODcxOS4wODU2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTovL0sxL2FkbWluLCB0
Y2E6Ly9nYXRld2F5cy8pIGZhaWxlZDogdXJsIGhvc3RzIG5vdCBlcXVhbCAoJ2dhdGV3YXlzJyAh
PSAnSzEnKQpbMTE2MjYzODcxOS4wODU2MjUgL3NjaGVtZS9kdG4gZGVidWddIG1hdGNoKHRjYTov
L0sxL2FkbWluLCB0Y2E6Ly9leHB0X21nbXQvKSBmYWlsZWQ6IHVybCBob3N0cyBub3QgZXF1YWwg
KCdleHB0X21nbXQnICE9ICdLMScpClsxMTYyNjM4NzE5LjA4NTYyNSAvZHRuL3JlZ2lzdHJhdGlv
bi90YWJsZSBkZWJ1Z10gZ2V0X21hdGNoaW5nIHRjYTovL0sxL2FkbWluOiByZXR1cm5lZCAxIG1h
dGNoZXMKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGVsaXZl
cmluZyBidW5kbGUgYnVuZGxlIGlkIDUgdGNhOi8vbG9jYWxob3N0L2J1bmRsZWxheWVyIC0+IHRj
YTovL0sxL2FkbWluICgxNiBieXRlcyBwYXlsb2FkKSB0byByZWdpc3RyYXRpb24gMTAgKHRjYTov
L0sxL2FkbWluKQpbMTE2MjYzODcxOS4wODU2MjUgL2R0bi9yZWdpc3RyYXRpb24vMTAgaW5mb10g
ZGVsaXZlcl9idW5kbGU6IHF1ZXVpbmcgYnVuZGxlIGlkIDUgZm9yIGFjdGl2ZSBkZWxpdmVyeSB0
byB0Y2E6Ly9LMS9hZG1pbgpbMTE2MjYzODcxOS4wODU2MjUgL2R0bi9idW5kbGUvcmVmcyBkZWJ1
Z10gYnVuZGxlIGlkIDUgKDB4MTAxNmYzZDgpOiByZWZjb3VudCAzIC0+IDQgKDIgbWFwcGluZ3Mp
IGFkZCBidW5kbGVfbGlzdCAvZHRuL3JlZ2lzdHJhdGlvbi8xMApbMTE2MjYzODcxOS4wODU2MjUg
L2R0bi9idW5kbGUvbGlzdC8vZHRuL3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gbm90
aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzE5LjA4NTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVn
aXN0cmF0aW9uLzEwL25vdGlmaWVyIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzE5
LjA4NTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9uLzEwIGRlYnVnXSBidW5k
bGUgaWQgNSBhZGQgbWFwcGluZyBbL2R0bi9yZWdpc3RyYXRpb24vMTBdIHRvIGxpc3QgMHgxMDE2
YzgxMApbMTE2MjYzODcxOS4wODU2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50
ICgweDEwMTZlNDEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4vdGNh
IGRlYnVnXSBUY2FSb3V0ZXI6IHRjYSBidW5kbGUgcmVjZWl2ZWQgW3RjYTovL2xvY2FsaG9zdC9i
dW5kbGVsYXllcl0gLT4gW3RjYTovL0sxL2FkbWluXSA6ICdsaW5rX3VuYXZhaWxhYmxlJwpbMTE2
MjYzODcxOS4wODU2MjUgL2R0bi9jb250YWN0L21hbmFnZXIgZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZlNDEwKSBCVU5ETEVfUkVDRUlWRUQKWzExNjI2Mzg3MTkuMDg1NjI1IC9kdG4v
YnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291bnQgNCAt
PiAzICgyIG1hcHBpbmdzKSBkZWwgQnVuZGxlUmVjZWl2ZWRFdmVudCAKWzExNjI2Mzg3MTkuMDg1
NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgODA5ClsxMTYyNjM4NzE5LjA4NTYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIHBvbGwgcmV0dXJuZWQgMQpbMTE2MjYzODcxOS4wODU2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIG5ldyB0aW1lcnMgdG8gaGFu
ZGxlClsxMTYyNjM4NzE5LjA4NTYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDgwOQpbMTE2
MjYzODcxOS4wOTU2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmll
cjogMS8yIGZkcyByZWFkeSwgc3RhdHVzIDB4MSAweDAgClsxMTYyNjM4NzE5LjA5NTYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiBub3JtYWwgZmQgaGFzIGV2
ZW50ClsxMTYyNjM4NzE5LjA5NTYyNSAvZHRuL2J1bmRsZS9saXN0Ly9kdG4vcmVnaXN0cmF0aW9u
LzEwIGRlYnVnXSBidW5kbGUgaWQgNSBkZWxfYnVuZGxlOiBkZWxldGluZyBtYXBwaW5nIFsvZHRu
L3JlZ2lzdHJhdGlvbi8xMF0KWzExNjI2Mzg3MTkuMDk1NjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0
bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6IGF0dGVtcHRpbmcg
dG8gZHJhaW4gMSBieXRlcwpbMTE2MjYzODcxOS4wOTU2MjUgL2R0bi9idW5kbGUvbGlzdC8vZHRu
L3JlZ2lzdHJhdGlvbi8xMC9ub3RpZmllciBkZWJ1Z10gZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEg
Ynl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MTkuMDk1NjI1IC9kdG4vYnVuZGxlL2xpc3QvL2R0
bi9yZWdpc3RyYXRpb24vMTAvbm90aWZpZXIgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsx
MTYyNjM4NzE5LjA5NTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgNSAoMHgx
MDE2ZjNkOCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1bmRsZUxpc3Q6OnBv
cF9mcm9udCgpIHRlbXBvcmFyeSAKWzExNjI2Mzg3MTkuMDk1NjI1IC9kdG4vYnVuZGxlL3JlZnMg
ZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBp
bmdzKSBkZWwgYnVuZGxlX2xpc3QgL2R0bi9yZWdpc3RyYXRpb24vMTAKWzExNjI2Mzg3MTkuMDk1
NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVm
Y291bnQgMyAtPiA0ICgxIG1hcHBpbmdzKSBhZGQgQVBJQ2xpZW50OjpoYW5kbGVfcmVjdiAKWzEx
NjI2Mzg3MTkuMDk1NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEw
MTZmM2Q4KTogcmVmY291bnQgNCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQnVuZGxlTGlzdDo6cG9w
X2Zyb250KCkgdGVtcG9yYXJ5IApbMTE2MjYzODcxOS4wOTU2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIGhhbmRsZV9yZWN2OiBwb3BwZWQgYnVuZGxlIDUgZm9yIHJlZ2lzdHJhdGlvbiAxMCAo
dGltZW91dCAxMDAwKQpbMTE2MjYzODcxOS4wOTU2MjUgL2R0bi9hcGljbGllbnQvMjEgaW5mb10g
RFROX1JFQ1Y6IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYnVuZGxlIDUgdG8gcmVnaXN0cmF0aW9u
IDEwClsxMTYyNjM4NzE5LjA5NTYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQg
NSAoMHgxMDE2ZjNkOCk6IHJlZmNvdW50IDMgLT4gNCAoMSBtYXBwaW5ncykgYWRkIEJ1bmRsZURl
bGl2ZXJlZEV2ZW50IApbMTE2MjYzODcxOS4wOTU2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBwb3N0aW5nIGV2ZW50ICgweDEwMTZjMmIwKSB3aXRoIHR5cGUgQlVORExFX0RFTElWRVJFRCAo
YXQgYmFjaykKWzExNjI2Mzg3MTkuMDk1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBk
ZWJ1Z10gbm90aWZpZXIgbm90aWZ5ClsxMTYyNjM4NzE5LjA5NTYyNSAvZHRuL2J1bmRsZS9kYWVt
b24vbXNncXVldWUgZGVidWddIG5vdGlmeSBjb3VudCA9IDEKWzExNjI2Mzg3MTkuMDk1NjI1IC9k
dG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291bnQg
NCAtPiAzICgxIG1hcHBpbmdzKSBkZWwgQVBJQ2xpZW50OjpoYW5kbGVfcmVjdiAKWzExNjI2Mzg3
MTkuMDk1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggODA0ClsxMTYyNjM4NzE5LjA5NTYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gc2VuZGluZyA4MTIgYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzE5
LjA5NTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4MTIK
WzExNjI2Mzg3MTkuMDk1NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4MTIg
Ynl0ZXMgMCBsZWZ0IDgxMiB0b3RhbApbMTE2MjYzODcxOS4wOTY2MjUgL2R0bi9hcGljbGllbnQv
MjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcxOS4wOTY2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcxOS4w
OTY2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxv
Y2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2
MjYzODcxOS4wOTY2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEK
WzExNjI2Mzg3MTkuMDk2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5l
ZCBuZXcgZXZlbnQgdG8gaGFuZGxlClsxMTYyNjM4NzE5LjA5NjYyNSAvdGltZXIgZGVidWddIG5l
dyB0aW1lb3V0IDc5OApbMTE2MjYzODcxOS4wOTY2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1
ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2
Mzg3MTkuMDk3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5fcGlw
ZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MTkuMDk3NjI1IC9kdG4v
YnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9IDAKWzExNjI2
Mzg3MTkuMDk3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQg
KDB4MTAxNmMyYjApIEJVTkRMRV9ERUxJVkVSRUQKWzExNjI2Mzg3MTkuMDk3NjI1IC9kdG4vYnVu
ZGxlL2RhZW1vbiBpbmZvXSBCVU5ETEVfREVMSVZFUkVEIGlkOjUgKDE2IGJ5dGVzKSAtPiByZWdp
ZCAxMCAodGNhOi8vSzEvYWRtaW4pClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIHJlbW92aW5nIGJ1bmRsZSBidW5kbGUgaWQgNSB0Y2E6Ly9sb2NhbGhvc3QvYnVu
ZGxlbGF5ZXIgLT4gdGNhOi8vSzEvYWRtaW4gKDE2IGJ5dGVzIHBheWxvYWQpIGZyb20gcGVuZGlu
ZyBsaXN0ClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRuL2J1bmRsZS9kYWVtb24gZGVidWddIGNhbmNl
bGxpbmcgZXhwaXJhdGlvbiB0aW1lciBmb3IgYnVuZGxlIGlkIDUKWzExNjI2Mzg3MTkuMDk3NjI1
IC9kdG4vYnVuZGxlL3JlZnMgZGVidWddIGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291
bnQgMyAtPiAyICgxIG1hcHBpbmdzKSBkZWwgZXhwaXJhdGlvbiB0aW1lciAKWzExNjI2Mzg3MTku
MDk3NjI1IC9kdG4vYnVuZGxlL2xpc3QvcGVuZGluZ19idW5kbGVzIGRlYnVnXSBidW5kbGUgaWQg
NSBkZWxfYnVuZGxlOiBkZWxldGluZyBtYXBwaW5nIFtwZW5kaW5nX2J1bmRsZXNdClsxMTYyNjM4
NzE5LjA5NzYyNSAvZHRuL2J1bmRsZS9yZWZzIGRlYnVnXSBidW5kbGUgaWQgNSAoMHgxMDE2ZjNk
OCk6IHJlZmNvdW50IDIgLT4gMSAoMCBtYXBwaW5ncykgZGVsIGJ1bmRsZV9saXN0IHBlbmRpbmdf
YnVuZGxlcwpbMTE2MjYzODcxOS4wOTc2MjUgL2R0bi90Y2EgZGVidWddIGRpc3BhdGNoaW5nIGV2
ZW50ICgweDEwMTZjMmIwKSBCVU5ETEVfREVMSVZFUkVEClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRu
L2NvbnRhY3QvbWFuYWdlciBkZWJ1Z10gZGlzcGF0Y2hpbmcgZXZlbnQgKDB4MTAxNmMyYjApIEJV
TkRMRV9ERUxJVkVSRUQKWzExNjI2Mzg3MTkuMDk3NjI1IC9kdG4vYnVuZGxlL3JlZnMgZGVidWdd
IGJ1bmRsZSBpZCA1ICgweDEwMTZmM2Q4KTogcmVmY291bnQgMSAtPiAwICgwIG1hcHBpbmdzKSBk
ZWwgQnVuZGxlRGVsaXZlcmVkRXZlbnQgClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRuL2J1bmRsZSBk
ZWJ1Z10gYnVuZGxlIGlkIDUgKDB4MTAxNmYzZDgpOiBubyBtb3JlIHJlZmVyZW5jZXMsIHBvc3Rp
bmcgZnJlZSBldmVudApbMTE2MjYzODcxOS4wOTc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIGRlYnVn
XSBwb3N0aW5nIGV2ZW50ICgweDEwMTExNTEwKSB3aXRoIHR5cGUgQlVORExFX0ZSRUUgKGF0IGJh
Y2spClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWdd
IG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODcxOS4wOTc2MjUgL2R0bi9idW5kbGUvZGFlbW9uL21z
Z3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYyNjM4NzE5LjA5NzYyNSAvdGltZXIg
ZGVidWddIG5ldyB0aW1lb3V0IDc5NwpbMTE2MjYzODcxOS4wOTc2MjUgL2R0bi9idW5kbGUvZGFl
bW9uL21zZ3F1ZXVlIGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0
ZXMKWzExNjI2Mzg3MTkuMDk3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10g
ZHJhaW5fcGlwZTogZHJhaW5lZCAxLzEgYnl0ZShzKSBmcm9tIHBpcGUKWzExNjI2Mzg3MTkuMDk3
NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW4gcGlwZSBjb3VudCA9
IDAKWzExNjI2Mzg3MTkuMDk3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gZGlzcGF0Y2hp
bmcgZXZlbnQgKDB4MTAxMTE1MTApIEJVTkRMRV9GUkVFClsxMTYyNjM4NzE5LjA5NzYyNSAvZHRu
L2J1bmRsZS9hY3Rpb25zIGRlYnVnXSByZW1vdmluZyBidW5kbGUgNSBmcm9tIGRhdGEgc3RvcmUK
WzExNjI2Mzg3MTkuMTA3NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90
aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzE5LjEwNzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2
MjYzODcxOS4xMDc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBz
dGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE5LjEwNzYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcx
OS4xMDc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpb
MTE2MjYzODcxOS4xMDc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAo
OC84IGJ5dGVzKQpbMTE2MjYzODcxOS4xMDc2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0
aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcxOS4xMDc2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODcxOS4xMDc2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3
MTkuMTE4NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGlt
ZWQgb3V0ClsxMTYyNjM4NzE5LjExODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9m
b3JfYnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcxOS4x
MTg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVu
a25vd24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzE5LjExODYyNSAvZHRuL2FwaWNsaWVudC8z
MiBkZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcxOS4xMTg2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcx
OS4xMTg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcxOS4xMTg2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0
aW1lb3V0IDEwMDApClsxMTYyNjM4NzE5LjExODYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Ojp3cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzE5LjExODYyNSAvZHRuL2FwaWNsaWVudC8z
MiBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcxOS4xMjI2
MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMgZGVidWddIGRlbCg1KTogc3VjY2VzcwpbMTE2MjYzODcx
OS4xMjI2MjUgL2R0bi9idW5kbGUvZnJlZSBkZWJ1Z10gZGVzdHJveWluZyBidW5kbGUgaWQgNQpb
MTE2MjYzODcxOS4xMjI2MjUgL2R0bi9idW5kbGUvcGF5bG9hZC81L2ZpbGUgZGVidWddIHVubGlu
ayAvdmFyL2R0bi9idW5kbGVzL2J1bmRsZV81LmRhdDogMApbMTE2MjYzODcxOS4xMjI2MjUgL3Rp
bWVyIGRlYnVnXSBuZXcgdGltZW91dCA3NzIKWzExNjI2Mzg3MTkuODk1NjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAtMgpbMTE2MjYzODcxOS44OTU2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHRpbWVvdXQKWzExNjI2Mzg3MTkuODk1NjI1IC90aW1l
ciBkZWJ1Z10gcG9wcGluZyB0aW1lciAweDEwMTYxMTM4IGF0IDExNjI2Mzg3MTkuODk1NjI1Clsx
MTYyNjM4NzE5Ljg5NTYyNSAvZHRuL3N0b3JhZ2UvZGVhZGxvY2tfdGltZXIgZGVidWddIHJ1bm5p
bmcgZGVhZGxvY2sgZGV0ZWN0aW9uClsxMTYyNjM4NzE5Ljg5NTYyNSAvZHRuL3N0b3JhZ2UvZGVh
ZGxvY2tfdGltZXIgZGVidWddIHJlc2NoZWR1bGluZyBpbiA1MDAwIG1zZWNzClsxMTYyNjM4NzE5
Ljg5NTYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcgdGltZXIgMHgxMDE2MTEzOCBpbiA1MDAw
IG1zIGF0IDExNjI2Mzg3MjQ6ODk1NjI1ClsxMTYyNjM4NzE5Ljg5NTYyNSAvdGltZXIgZGVidWdd
IG5ldyB0aW1lb3V0IDUwMDAKWzExNjI2Mzg3MTkuODk1NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBk
ZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4NzE5Ljg5NTYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzExNjI2Mzg3MTku
ODk1NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNTAwMApbMTE2MjYzODcyMC4xMTk2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzEx
NjI2Mzg3MjAuMTE5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUo
cmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzIwLjExOTYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBl
KSwgbGVuZ3RoIDAKWzExNjI2Mzg3MjAuMTE5NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBz
ZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzIwLjExOTYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzIwLjExOTYyNSAv
ZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4
NzIwLjExOTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3Yp
OiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTAp
ClsxMTYyNjM4NzIwLjExOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBm
ZCAyMSBjYyA4ClsxMTYyNjM4NzIwLjExOTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3Jp
dGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyMC4xMzA2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjAu
MTMwNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRp
bWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzIwLjEzMDYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3Ro
IDAKWzExNjI2Mzg3MjAuMTMwNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDgg
Ynl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzIwLjEzMDYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzIwLjEzMDYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcy
MC4xMzA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpb
MTE2MjYzODcyMC4xMzA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAo
OC84IGJ5dGVzKQpbMTE2MjYzODcyMC4xMzA2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0
aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcyMC4xNDA2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjAuMTQwNjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2Fp
dGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzIwLjE0MDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2
Mzg3MjAuMTQwNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NzIwLjE0MDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzIwLjE0MDYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyMC4xNDA2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcy
MC4xNDA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcyMC4xNDA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0
aW1lb3V0IDEwMDApClsxMTYyNjM4NzIxLjE1MDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
cG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcyMS4xNTA2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZv
ciBidW5kbGUKWzExNjI2Mzg3MjEuMTUwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWls
ZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyMS4x
NTA2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3Nh
Z2UKWzExNjI2Mzg3MjEuMTUwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigp
IGZkIDIxIGNjIDgKWzExNjI2Mzg3MjEuMTUwNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzIxLjE1MDYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzIxLjE1MDYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYy
NjM4NzIxLjE1MDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQg
MTApClsxMTYyNjM4NzIxLjE2MTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRo
X25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcyMS4xNjE2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUK
WzExNjI2Mzg3MjEuMTYxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBs
eTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyMS4xNjE2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2
Mzg3MjEuMTYxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNj
IDgKWzExNjI2Mzg3MjEuMTYxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4
IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzIxLjE2MTYyNSAvZHRuL2FwaWNsaWVudC8z
MiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4NzIxLjE2MTYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzIxLjE2
MTYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9j
a2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYy
NjM4NzIxLjE3MjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVy
IHRpbWVkIG91dApbMTE2MjYzODcyMS4xNzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3
MjEuMTcyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyMS4xNzI2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MjEuMTcy
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2
Mzg3MjEuMTcyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAg
bGVmdCA4IHRvdGFsClsxMTYyNjM4NzIxLjE3MjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
OjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NzIxLjE3MjYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzIxLjE3MjYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3MjIu
MTgxNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQg
b3V0ClsxMTYyNjM4NzIyLjE4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3Jf
YnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyMi4xODE2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25v
d24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzIyLjE4MTYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyMi4xODE2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcyMi4x
ODE2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDgg
dG90YWwKWzExNjI2Mzg3MjIuMTgxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3MjIuMTgxNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MjIuMTgxNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg3MjIuMTkyNjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYy
NjM4NzIyLjE5MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyMi4xOTI2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSks
IGxlbmd0aCAwClsxMTYyNjM4NzIyLjE5MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2Vu
ZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyMi4xOTI2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODcyMi4xOTI2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzEx
NjI2Mzg3MjIuMTkyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg3MjIuMTkyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MjIuMTkyNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MjIuMjAzNjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzIyLjIw
MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1l
b3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyMi4yMDM2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAw
ClsxMTYyNjM4NzIyLjIwMzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5
dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyMi4yMDM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODcyMi4yMDM2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3MjIu
MjAzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzEx
NjI2Mzg3MjIuMjAzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg3MjIuMjAzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODcyMy4yMTM2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjMuMjEzNjI1IC9k
dG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2Fp
dGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzIzLjIxMzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2
Mzg3MjMuMjEzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NzIzLjIxMzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzIzLjIxMzYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyMy4yMTM2MjUg
L2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAyNyBjYyAxMwpbMTE2MjYzODcy
My4yMTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcyMy4yMTM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDExICh0
aW1lb3V0IDEwKQpbMTE2MjYzODcyMy4yMjM2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHBv
bGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjMuMjIzNjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3Ig
YnVuZGxlClsxMTYyNjM4NzIzLjIyMzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gYnVpbGRp
bmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MjMuMjIz
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdl
ClsxMTYyNjM4NzIzLjIyMzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gOjp3cml0ZXYoKSBm
ZCAyNyBjYyA4ClsxMTYyNjM4NzIzLjIyMzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd3Jp
dGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyMy4yMjM2MjUgL2R0bi9hcGlj
bGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpbMTE2MjYzODcyMy4yMjM2MjUg
L2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYz
ODcyMy4yMjM2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEyICh0aW1lb3V0IDEw
KQpbMTE2MjYzODcyMy4yMzQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHBvbGxfd2l0aF9u
b3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjMuMjM0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsx
MTYyNjM4NzIzLjIzNDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6
IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2Mzg3MjMuMjM0NjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4
NzIzLjIzNDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAzMiBjYyA4
ClsxMTYyNjM4NzIzLjIzNDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd3JpdGVhbGwgOCBi
eXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyMy4yMzQ2MjUgL2R0bi9hcGljbGllbnQvMjEg
ZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcyMy4yMzQ2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcyMy4yMzQ2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tp
bmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0aW1lb3V0IDEwMDApClsxMTYy
NjM4NzI0LjIzNjYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVy
IHRpbWVkIG91dApbMTE2MjYzODcyNC4yMzY2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3
MjQuMjM2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyNC4yMzY2MjUgL2R0bi9hcGljbGll
bnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MjQuMjM2
NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigpIGZkIDIxIGNjIDgKWzExNjI2
Mzg3MjQuMjM2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAg
bGVmdCA4IHRvdGFsClsxMTYyNjM4NzI0LjIzNjYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10g
OjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzI0LjIzNjYyNSAvZHRuL2FwaWNsaWVudC8y
NyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzI0LjIzNjYyNSAvZHRu
L2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQgMTApClsxMTYyNjM4NzI0LjI0
NzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91
dApbMTE2MjYzODcyNC4yNDc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MjQuMjQ3NjI1
IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3du
IHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyNC4yNDc2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVi
dWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MjQuMjQ3NjI1IC9kdG4v
YXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNjIDgKWzExNjI2Mzg3MjQuMjQ3
NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRv
dGFsClsxMTYyNjM4NzI0LjI0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjpyZWFkdigp
IGZkIDMyIGNjIDEzClsxMTYyNjM4NzI0LjI0NzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10g
Z290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzI0LjI0NzYyNSAvZHRuL2FwaWNsaWVu
dC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxl
IGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYyNjM4NzI0LjI1ODYyNSAvZHRu
L2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYz
ODcyNC4yNTg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2
KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3MjQuMjU4NjI1IC9kdG4vYXBp
Y2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBs
ZW5ndGggMApbMTE2MjYzODcyNC4yNTg2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHNlbmRp
bmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MjQuMjU4NjI1IC9kdG4vYXBpY2xpZW50
LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2Mzg3MjQuMjU4NjI1IC9kdG4v
YXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYy
NjM4NzI0LjI1ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gOjpyZWFkdigpIGZkIDIxIGNj
IDEzClsxMTYyNjM4NzI0LjI1ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gZ290IERUTl9S
RUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzI0LjI1ODYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1
Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdp
c3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3MjQuODk2NjI1IC9kdG4vYnVuZGxl
L2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCAtMgpbMTE2MjYzODcyNC44OTY2MjUgL2R0bi9i
dW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHRpbWVvdXQKWzExNjI2Mzg3MjQuODk2NjI1IC90aW1l
ciBkZWJ1Z10gcG9wcGluZyB0aW1lciAweDEwMTYxMTM4IGF0IDExNjI2Mzg3MjQuODk2NjI1Clsx
MTYyNjM4NzI0Ljg5NjYyNSAvZHRuL3N0b3JhZ2UvZGVhZGxvY2tfdGltZXIgZGVidWddIHJ1bm5p
bmcgZGVhZGxvY2sgZGV0ZWN0aW9uClsxMTYyNjM4NzI0Ljg5NjYyNSAvZHRuL3N0b3JhZ2UvZGVh
ZGxvY2tfdGltZXIgZGVidWddIHJlc2NoZWR1bGluZyBpbiA1MDAwIG1zZWNzClsxMTYyNjM4NzI0
Ljg5NjYyNSAvdGltZXIgZGVidWddIHNjaGVkdWxpbmcgdGltZXIgMHgxMDE2MTEzOCBpbiA1MDAw
IG1zIGF0IDExNjI2Mzg3Mjk6ODk2NjI1ClsxMTYyNjM4NzI0Ljg5NjYyNSAvdGltZXIgZGVidWdd
IG5ldyB0aW1lb3V0IDQxNzUKWzExNjI2Mzg3MjQuODk2NjI1IC9kdG4vYnVuZGxlL2RhZW1vbiBk
ZWJ1Z10gcG9sbCByZXR1cm5lZCAxClsxMTYyNjM4NzI0Ljg5NjYyNSAvZHRuL2J1bmRsZS9kYWVt
b24gZGVidWddIHBvbGwgcmV0dXJuZWQgbmV3IHRpbWVycyB0byBoYW5kbGUKWzExNjI2Mzg3MjQu
ODk2NjI1IC90aW1lciBkZWJ1Z10gbmV3IHRpbWVvdXQgNDE3NQpbMTE2MjYzODcyNS4yNjI2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzEx
NjI2Mzg3MjUuMjYyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUo
cmVjdik6IHRpbWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzI1LjI2MjYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBl
KSwgbGVuZ3RoIDAKWzExNjI2Mzg3MjUuMjYyNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBz
ZW5kaW5nIDggYnl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzI1LjI2MjYyNSAvZHRuL2FwaWNs
aWVudC8yMSBkZWJ1Z10gOjp3cml0ZXYoKSBmZCAyMSBjYyA4ClsxMTYyNjM4NzI1LjI2MjYyNSAv
ZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApb
MTE2MjYzODcyNS4yNjI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIDo6cmVhZHYoKSBmZCAy
NyBjYyAxMwpbMTE2MjYzODcyNS4yNjI2MjUgL2R0bi9hcGljbGllbnQvMjcgZGVidWddIGdvdCBE
VE5fUkVDViAoOC84IGJ5dGVzKQpbMTE2MjYzODcyNS4yNjI2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3Ig
cmVnaXN0cmF0aW9uIDExICh0aW1lb3V0IDEwKQpbMTE2MjYzODcyNS4yNzI2MjUgL2R0bi9hcGlj
bGllbnQvMjcgZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjUu
MjcyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRp
bWVvdXQgd2FpdGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzI1LjI3MjYyNSAvZHRuL2FwaWNsaWVu
dC8yNyBkZWJ1Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3Ro
IDAKWzExNjI2Mzg3MjUuMjcyNjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBzZW5kaW5nIDgg
Ynl0ZSByZXBseSBtZXNzYWdlClsxMTYyNjM4NzI1LjI3MjYyNSAvZHRuL2FwaWNsaWVudC8yNyBk
ZWJ1Z10gOjp3cml0ZXYoKSBmZCAyNyBjYyA4ClsxMTYyNjM4NzI1LjI3MjYyNSAvZHRuL2FwaWNs
aWVudC8yNyBkZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcy
NS4yNzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIDo6cmVhZHYoKSBmZCAzMiBjYyAxMwpb
MTE2MjYzODcyNS4yNzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIGdvdCBEVE5fUkVDViAo
OC84IGJ5dGVzKQpbMTE2MjYzODcyNS4yNzI2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0
aW9uIDEyICh0aW1lb3V0IDEwKQpbMTE2MjYzODcyNS4yODM2MjUgL2R0bi9hcGljbGllbnQvMzIg
ZGVidWddIHBvbGxfd2l0aF9ub3RpZmllciB0aW1lZCBvdXQKWzExNjI2Mzg3MjUuMjgzNjI1IC9k
dG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IHRpbWVvdXQgd2Fp
dGluZyBmb3IgYnVuZGxlClsxMTYyNjM4NzI1LjI4MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1
Z10gYnVpbGRpbmcgcmVwbHk6IHN0YXR1cyAodW5rbm93biB0eXBlKSwgbGVuZ3RoIDAKWzExNjI2
Mzg3MjUuMjgzNjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBzZW5kaW5nIDggYnl0ZSByZXBs
eSBtZXNzYWdlClsxMTYyNjM4NzI1LjI4MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gOjp3
cml0ZXYoKSBmZCAzMiBjYyA4ClsxMTYyNjM4NzI1LjI4MzYyNSAvZHRuL2FwaWNsaWVudC8zMiBk
ZWJ1Z10gd3JpdGVhbGwgOCBieXRlcyAwIGxlZnQgOCB0b3RhbApbMTE2MjYzODcyNS4yODM2MjUg
L2R0bi9hcGljbGllbnQvMjEgZGVidWddIDo6cmVhZHYoKSBmZCAyMSBjYyAxMwpbMTE2MjYzODcy
NS4yODM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGdvdCBEVE5fUkVDViAoOC84IGJ5dGVz
KQpbMTE2MjYzODcyNS4yODM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1
bmRsZShyZWN2KTogYmxvY2tpbmcgdG8gZ2V0IGJ1bmRsZSBmb3IgcmVnaXN0cmF0aW9uIDEwICh0
aW1lb3V0IDEwMDApClsxMTYyNjM4NzI2LjI5MzYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
cG9sbF93aXRoX25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcyNi4yOTM2MjUgL2R0bi9hcGlj
bGllbnQvMjEgZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZv
ciBidW5kbGUKWzExNjI2Mzg3MjYuMjkzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBidWls
ZGluZyByZXBseTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyNi4y
OTM2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3Nh
Z2UKWzExNjI2Mzg3MjYuMjkzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OndyaXRldigp
IGZkIDIxIGNjIDgKWzExNjI2Mzg3MjYuMjkzNjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3
cml0ZWFsbCA4IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzI2LjI5MzYyNSAvZHRuL2Fw
aWNsaWVudC8yNyBkZWJ1Z10gOjpyZWFkdigpIGZkIDI3IGNjIDEzClsxMTYyNjM4NzI2LjI5MzYy
NSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYy
NjM4NzI2LjI5MzYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiBibG9ja2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTEgKHRpbWVvdXQg
MTApClsxMTYyNjM4NzI2LjMwNDYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gcG9sbF93aXRo
X25vdGlmaWVyIHRpbWVkIG91dApbMTE2MjYzODcyNi4zMDQ2MjUgL2R0bi9hcGljbGllbnQvMjcg
ZGVidWddIHdhaXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUK
WzExNjI2Mzg3MjYuMzA0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSBidWlsZGluZyByZXBs
eTogc3RhdHVzICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyNi4zMDQ2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2
Mzg3MjYuMzA0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OndyaXRldigpIGZkIDI3IGNj
IDgKWzExNjI2Mzg3MjYuMzA0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSB3cml0ZWFsbCA4
IGJ5dGVzIDAgbGVmdCA4IHRvdGFsClsxMTYyNjM4NzI2LjMwNDYyNSAvZHRuL2FwaWNsaWVudC8z
MiBkZWJ1Z10gOjpyZWFkdigpIGZkIDMyIGNjIDEzClsxMTYyNjM4NzI2LjMwNDYyNSAvZHRuL2Fw
aWNsaWVudC8zMiBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzI2LjMw
NDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9j
a2luZyB0byBnZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTIgKHRpbWVvdXQgMTApClsxMTYy
NjM4NzI2LjMxNDYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVy
IHRpbWVkIG91dApbMTE2MjYzODcyNi4zMTQ2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVidWddIHdh
aXRfZm9yX2J1bmRsZShyZWN2KTogdGltZW91dCB3YWl0aW5nIGZvciBidW5kbGUKWzExNjI2Mzg3
MjYuMzE0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBidWlsZGluZyByZXBseTogc3RhdHVz
ICh1bmtub3duIHR5cGUpLCBsZW5ndGggMApbMTE2MjYzODcyNi4zMTQ2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHNlbmRpbmcgOCBieXRlIHJlcGx5IG1lc3NhZ2UKWzExNjI2Mzg3MjYuMzE0
NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OndyaXRldigpIGZkIDMyIGNjIDgKWzExNjI2
Mzg3MjYuMzE0NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSB3cml0ZWFsbCA4IGJ5dGVzIDAg
bGVmdCA4IHRvdGFsClsxMTYyNjM4NzI2LjMxNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10g
OjpyZWFkdigpIGZkIDIxIGNjIDEzClsxMTYyNjM4NzI2LjMxNDYyNSAvZHRuL2FwaWNsaWVudC8y
MSBkZWJ1Z10gZ290IERUTl9SRUNWICg4LzggYnl0ZXMpClsxMTYyNjM4NzI2LjMxNDYyNSAvZHRu
L2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiBibG9ja2luZyB0byBn
ZXQgYnVuZGxlIGZvciByZWdpc3RyYXRpb24gMTAgKHRpbWVvdXQgMTAwMCkKWzExNjI2Mzg3Mjcu
MzI0NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQg
b3V0ClsxMTYyNjM4NzI3LjMyNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBkZWJ1Z10gd2FpdF9mb3Jf
YnVuZGxlKHJlY3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyNy4zMjQ2
MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25v
d24gdHlwZSksIGxlbmd0aCAwClsxMTYyNjM4NzI3LjMyNDYyNSAvZHRuL2FwaWNsaWVudC8yMSBk
ZWJ1Z10gc2VuZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyNy4zMjQ2MjUgL2R0
bi9hcGljbGllbnQvMjEgZGVidWddIDo6d3JpdGV2KCkgZmQgMjEgY2MgOApbMTE2MjYzODcyNy4z
MjQ2MjUgL2R0bi9hcGljbGllbnQvMjEgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDgg
dG90YWwKWzExNjI2Mzg3MjcuMzI0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVnXSA6OnJlYWR2
KCkgZmQgMjcgY2MgMTMKWzExNjI2Mzg3MjcuMzI0NjI1IC9kdG4vYXBpY2xpZW50LzI3IGRlYnVn
XSBnb3QgRFROX1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MjcuMzI0NjI1IC9kdG4vYXBpY2xp
ZW50LzI3IGRlYnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5k
bGUgZm9yIHJlZ2lzdHJhdGlvbiAxMSAodGltZW91dCAxMCkKWzExNjI2Mzg3MjcuMzM1NjI1IC9k
dG4vYXBpY2xpZW50LzI3IGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYy
NjM4NzI3LjMzNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJl
Y3YpOiB0aW1lb3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyNy4zMzU2MjUgL2R0bi9h
cGljbGllbnQvMjcgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSks
IGxlbmd0aCAwClsxMTYyNjM4NzI3LjMzNTYyNSAvZHRuL2FwaWNsaWVudC8yNyBkZWJ1Z10gc2Vu
ZGluZyA4IGJ5dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyNy4zMzU2MjUgL2R0bi9hcGljbGll
bnQvMjcgZGVidWddIDo6d3JpdGV2KCkgZmQgMjcgY2MgOApbMTE2MjYzODcyNy4zMzU2MjUgL2R0
bi9hcGljbGllbnQvMjcgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzEx
NjI2Mzg3MjcuMzM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSA6OnJlYWR2KCkgZmQgMzIg
Y2MgMTMKWzExNjI2Mzg3MjcuMzM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRlYnVnXSBnb3QgRFRO
X1JFQ1YgKDgvOCBieXRlcykKWzExNjI2Mzg3MjcuMzM1NjI1IC9kdG4vYXBpY2xpZW50LzMyIGRl
YnVnXSB3YWl0X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJl
Z2lzdHJhdGlvbiAxMiAodGltZW91dCAxMCkKWzExNjI2Mzg3MjcuMzQ2NjI1IC9kdG4vYXBpY2xp
ZW50LzMyIGRlYnVnXSBwb2xsX3dpdGhfbm90aWZpZXIgdGltZWQgb3V0ClsxMTYyNjM4NzI3LjM0
NjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gd2FpdF9mb3JfYnVuZGxlKHJlY3YpOiB0aW1l
b3V0IHdhaXRpbmcgZm9yIGJ1bmRsZQpbMTE2MjYzODcyNy4zNDY2MjUgL2R0bi9hcGljbGllbnQv
MzIgZGVidWddIGJ1aWxkaW5nIHJlcGx5OiBzdGF0dXMgKHVua25vd24gdHlwZSksIGxlbmd0aCAw
ClsxMTYyNjM4NzI3LjM0NjYyNSAvZHRuL2FwaWNsaWVudC8zMiBkZWJ1Z10gc2VuZGluZyA4IGJ5
dGUgcmVwbHkgbWVzc2FnZQpbMTE2MjYzODcyNy4zNDY2MjUgL2R0bi9hcGljbGllbnQvMzIgZGVi
dWddIDo6d3JpdGV2KCkgZmQgMzIgY2MgOApbMTE2MjYzODcyNy4zNDY2MjUgL2R0bi9hcGljbGll
bnQvMzIgZGVidWddIHdyaXRlYWxsIDggYnl0ZXMgMCBsZWZ0IDggdG90YWwKWzExNjI2Mzg3Mjcu
MzQ2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSA6OnJlYWR2KCkgZmQgMjEgY2MgMTMKWzEx
NjI2Mzg3MjcuMzQ2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSBnb3QgRFROX1JFQ1YgKDgv
OCBieXRlcykKWzExNjI2Mzg3MjcuMzQ2NjI1IC9kdG4vYXBpY2xpZW50LzIxIGRlYnVnXSB3YWl0
X2Zvcl9idW5kbGUocmVjdik6IGJsb2NraW5nIHRvIGdldCBidW5kbGUgZm9yIHJlZ2lzdHJhdGlv
biAxMCAodGltZW91dCAxMDAwKQpbMTE2MjYzODcyNy43OTM2MjUgL2NvbW1hbmQgbm90aWNlXSBl
eGl0aW5nIHNpbXBsZSBjb21tYW5kIGxvb3AKWzExNjI2Mzg3MjcuNzkzNjI1IC9kdG5kIG5vdGlj
ZV0gY29tbWFuZCBsb29wIGV4aXRlZC4uLiBzaHV0dGluZyBkb3duIGRhZW1vbgpbMTE2MjYzODcy
Ny43OTM2MjUgL2NvbW1hbmQgbm90aWNlXSBzaHV0dGluZyBkb3duIGludGVycHJldGVyClsxMTYy
NjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10gZGVsZXRpbmcgdGVzdCBjb21tYW5kClsxMTYy
NjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10gZGVsZXRpbmcgY29uc29sZSBjb21tYW5kClsx
MTYyNjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10gZGVsZXRpbmcgc3RvcmFnZSBjb21tYW5k
ClsxMTYyNjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10gZGVsZXRpbmcgcXVpdCBjb21tYW5k
ClsxMTYyNjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10gZGVsZXRpbmcgc2h1dGRvd24gY29t
bWFuZApbMTE2MjYzODcyNy43OTM2MjUgL2NvbW1hbmQgZGVidWddIGRlbGV0aW5nIHJvdXRlIGNv
bW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBkZWxldGluZyByZWdpc3Ry
YXRpb24gY29tbWFuZApbMTE2MjYzODcyNy43OTM2MjUgL2NvbW1hbmQgZGVidWddIGRlbGV0aW5n
IHBhcmFtIGNvbW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBkZWxldGlu
ZyBsaW5rIGNvbW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBkZWxldGlu
ZyBpbnRlcmZhY2UgY29tbWFuZApbMTE2MjYzODcyNy43OTM2MjUgL2NvbW1hbmQgZGVidWddIGRl
bGV0aW5nIGJ1bmRsZSBjb21tYW5kClsxMTYyNjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10g
ZGVsZXRpbmcgYXBpIGNvbW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBk
ZWxldGluZyBkZWJ1ZyBjb21tYW5kClsxMTYyNjM4NzI3Ljc5MzYyNSAvY29tbWFuZCBkZWJ1Z10g
ZGVsZXRpbmcgbG9nIGNvbW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBk
ZWxldGluZyBoZWxwIGNvbW1hbmQKWzExNjI2Mzg3MjcuNzkzNjI1IC9jb21tYW5kIGRlYnVnXSBh
bGwgY29tbWFuZHMgZGVsZXRlZApbMTE2MjYzODcyNy43OTc2MjUgL2R0bmQgbm90aWNlXSBzaHV0
dGluZyBkb3duIGR0biBzZXJ2ZXIKWzExNjI2Mzg3MjcuNzk3NjI1IC9kdG5zZXJ2ZXIvc2h1dGRv
d24vbm90aWZpZXIgZGVidWddIGNyZWF0ZWQgcGlwZSwgZmRzOiAzNyAzOApbMTE2MjYzODcyNy43
OTc2MjUgL2R0bnNlcnZlci9zaHV0ZG93bi9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5n
OiBub25ibG9ja2luZyBtb2RlIHNldApbMTE2MjYzODcyNy43OTc2MjUgL2R0bnNlcnZlci9zaHV0
ZG93bi9ub3RpZmllciBkZWJ1Z10gc2V0X25vbmJsb2NraW5nOiBub25ibG9ja2luZyBtb2RlIHNl
dApbMTE2MjYzODcyNy43OTc2MjUgL2R0bmQgaW5mb10gRFROU2VydmVyIHNodXRkb3duIGNhbGxl
ZCwgcG9zdGluZyBzaHV0ZG93biByZXF1ZXN0IHRvIGRhZW1vbgpbMTE2MjYzODcyNy43OTc2MjUg
L2R0bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb3N0aW5nIGV2ZW50ICgweDEwMTZkMDI4KSB3aXRo
IHR5cGUgU0hVVERPV04gKGF0IGJhY2spClsxMTYyNjM4NzI3Ljc5NzYyNSAvZHRuL2J1bmRsZS9k
YWVtb24vbXNncXVldWUgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODcyNy43OTc2MjUg
L2R0bi9idW5kbGUvZGFlbW9uL21zZ3F1ZXVlIGRlYnVnXSBub3RpZnkgY291bnQgPSAxClsxMTYy
NjM4NzI3Ljc5NzYyNSAvZHRuc2VydmVyL3NodXRkb3duL25vdGlmaWVyIGRlYnVnXSBhdHRlbXB0
aW5nIHRvIHdhaXQgb24gMHgyMmVkMDAsIGNvdW50ID0gMApbMTE2MjYzODcyNy44MDc2MjUgL2R0
bi9idW5kbGUvZGFlbW9uIGRlYnVnXSBwb2xsIHJldHVybmVkIDEKWzExNjI2Mzg3MjcuODA3NjI1
IC9kdG4vYnVuZGxlL2RhZW1vbiBkZWJ1Z10gcG9sbCByZXR1cm5lZCBuZXcgZXZlbnQgdG8gaGFu
ZGxlClsxMTYyNjM4NzI3LjgwNzYyNSAvdGltZXIgZGVidWddIG5ldyB0aW1lb3V0IDEyNjQKWzEx
NjI2Mzg3MjcuODA3NjI1IC9kdG4vYnVuZGxlL2RhZW1vbi9tc2dxdWV1ZSBkZWJ1Z10gZHJhaW5f
cGlwZTogYXR0ZW1wdGluZyB0byBkcmFpbiAxIGJ5dGVzClsxMTYyNjM4NzI3LjgwNzYyNSAvZHRu
L2J1bmRsZS9kYWVtb24vbXNncXVldWUgZGVidWddIGRyYWluX3BpcGU6IGRyYWluZWQgMS8xIGJ5
dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzI3LjgwNzYyNSAvZHRuL2J1bmRsZS9kYWVtb24vbXNn
cXVldWUgZGVidWddIGRyYWluIHBpcGUgY291bnQgPSAwClsxMTYyNjM4NzI3LjgwNzYyNSAvZHRu
L2J1bmRsZS9kYWVtb24gZGVidWddIGRpc3BhdGNoaW5nIGV2ZW50ICgweDEwMTZkMDI4KSBTSFVU
RE9XTgpbMTE2MjYzODcyNy44MDc2MjUgL2R0bi9idW5kbGUvZGFlbW9uIG5vdGljZV0gUmVjZWl2
ZWQgc2h1dGRvd24gcmVxdWVzdApbMTE2MjYzODcyNy44MDc2MjUgL2R0bi9idW5kbGUvZGFlbW9u
IGRlYnVnXSBTaHV0ZG93bjogY2xvc2luZyBsaW5rIG51bGwgWy9kZXYvbnVsbCBkdG46bm9uZSBB
TFdBWVNPTiBPUEVOXQpbMTE2MjYzODcyNy44MDc2MjUgL2R0bi9saW5rL251bGwgZGVidWddIExp
bms6OmNsb3NlClsxMTYyNjM4NzI3LjgwNzYyNSAvZHRuL2NsL251bGwgZGVidWddIGNsb3Npbmcg
Y29udGFjdCBjb250YWN0IC9kZXYvbnVsbCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYyNSkKWzEx
NjI2Mzg3MjcuODA3NjI1IC9kdG4vY29udGFjdC9yZWZzIGRlYnVnXSByZWZjb3VudCBjb250YWN0
IC9kZXYvbnVsbCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYyNSkgMSAtPiAwIGRlbCBMaW5rIApb
MTE2MjYzODcyNy44MDc2MjUgL2R0bi9jb250YWN0L3JlZnMgZGVidWddIG5vX21vcmVfcmVmcyBj
b250YWN0IC9kZXYvbnVsbCAoc3RhcnRlZCAxMTYyNjM4NjU5Ljg4NTYyNSkuLi4gZGVsZXRpbmcg
b2JqZWN0ClsxMTYyNjM4NzI3LjgwNzYyNSAvZHRuL2xpbmsvbnVsbCBkZWJ1Z10gTGluazo6Y2xv
c2UgY29tcGxldGUKWzExNjI2Mzg3MjcuODA3NjI1IC9kdG5zZXJ2ZXIvc2h1dGRvd24vbm90aWZp
ZXIgZGVidWddIG5vdGlmaWVyIG5vdGlmeQpbMTE2MjYzODcyNy44MDc2MjUgL2R0bnNlcnZlci9z
aHV0ZG93bi9ub3RpZmllciBkZWJ1Z10gbm90aWZ5IGNvdW50ID0gMQpbMTE2MjYzODcyNy44MTg2
MjUgL2R0bnNlcnZlci9zaHV0ZG93bi9ub3RpZmllciBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVy
OiAxLzEgZmRzIHJlYWR5LCBzdGF0dXMgMHgxIApbMTE2MjYzODcyNy44MTg2MjUgL2R0bnNlcnZl
ci9zaHV0ZG93bi9ub3RpZmllciBkZWJ1Z10gcG9sbF93aXRoX25vdGlmaWVyOiBub3JtYWwgZmQg
aGFzIGV2ZW50ClsxMTYyNjM4NzI3LjgxODYyNSAvZHRuc2VydmVyL3NodXRkb3duL25vdGlmaWVy
IGRlYnVnXSBkcmFpbl9waXBlOiBhdHRlbXB0aW5nIHRvIGRyYWluIDEgYnl0ZXMKWzExNjI2Mzg3
MjcuODE4NjI1IC9kdG5zZXJ2ZXIvc2h1dGRvd24vbm90aWZpZXIgZGVidWddIGRyYWluX3BpcGU6
IGRyYWluZWQgMS8xIGJ5dGUocykgZnJvbSBwaXBlClsxMTYyNjM4NzI3LjgxODYyNSAvZHRuc2Vy
dmVyL3NodXRkb3duL25vdGlmaWVyIGRlYnVnXSBkcmFpbiBwaXBlIGNvdW50ID0gMApbMTE2MjYz
ODcyNy44MTg2MjUgL2R0bnNlcnZlci9zaHV0ZG93bi9ub3RpZmllciBkZWJ1Z10gbm90aWZpZXIg
d2FpdCBzdWNjZXNzZnVsbHkgbm90aWZpZWQKWzExNjI2Mzg3MjcuODE4NjI1IC9kdG5kIG5vdGlj
ZV0gY2xvc2luZyBwZXJzaXN0ZW50IGRhdGEgc3RvcmUKWzExNjI2Mzg3MjcuODE4NjI1IC9kdG4v
c3RvcmFnZS9yZWdpc3RyYXRpb25zIGRlYnVnXSBjbG9zaW5nIHJlZ2lzdHJhdGlvbiBzdG9yZQpb
MTE2MjYzODcyNy44MTg2MjUgL2R0bi9zdG9yYWdlIGRlYnVnXSB0YWJsZSByZWdpc3RyYXRpb25z
LCAtcmVmY291bnQ9MApbMTE2MjYzODcyNy44MTg2MjUgL2R0bi9zdG9yYWdlL3JlZ2lzdHJhdGlv
bnMgZGVidWddIGNsb3NpbmcgZGIgcmVnaXN0cmF0aW9ucwpbMTE2MjYzODcyNy44NDg2MjUgL2R0
bi9zdG9yYWdlL2xpbmtzIGRlYnVnXSBjbG9zaW5nIGxpbmsgc3RvcmUKWzExNjI2Mzg3MjcuODQ4
NjI1IC9kdG4vc3RvcmFnZSBkZWJ1Z10gdGFibGUgbGlua3MsIC1yZWZjb3VudD0wClsxMTYyNjM4
NzI3Ljg0ODYyNSAvZHRuL3N0b3JhZ2UvbGlua3MgZGVidWddIGNsb3NpbmcgZGIgbGlua3MKWzEx
NjI2Mzg3MjcuODQ4NjI1IC9kdG4vc3RvcmFnZS9idW5kbGVzIGRlYnVnXSBjbG9zaW5nIGJ1bmRs
ZSBzdG9yZQpbMTE2MjYzODcyNy44NDg2MjUgL2R0bi9zdG9yYWdlIGRlYnVnXSB0YWJsZSBidW5k
bGVzLCAtcmVmY291bnQ9MApbMTE2MjYzODcyNy44NDg2MjUgL2R0bi9zdG9yYWdlL2J1bmRsZXMg
ZGVidWddIGNsb3NpbmcgZGIgYnVuZGxlcwpbMTE2MjYzODcyNy44ODc2MjUgL2R0bi9zdG9yYWdl
IGRlYnVnXSB0YWJsZSBnbG9iYWxzLCAtcmVmY291bnQ9MApbMTE2MjYzODcyNy44ODc2MjUgL2R0
bi9zdG9yYWdlL2dsb2JhbHMgZGVidWddIGNsb3NpbmcgZGIgZ2xvYmFscwpbMTE2MjYzODcyNy45
NzA2MjUgL2R0bi9zdG9yYWdlIGluZm9dIGRiIGNsb3NlZApbMTE2MjYzODcyNy45NzA2MjUgL2R0
bi9zdG9yYWdlIGRlYnVnXSBzdWNjZXNzZnVsbHkgY3JlYXRlZCBjbGVhbiBzaHV0ZG93biBmaWxl
ICcvdmFyL2R0bi9kYi8uZHNfY2xlYW4nClsxMTYyNjM4NzI3Ljk3MTYyNSAvZHRuc2VydmVyL3No
dXRkb3duL25vdGlmaWVyIGRlYnVnXSBOb3RpZmllciBzaHV0dGluZyBkb3duIChjbG9zaW5nIGZk
cyAzNyAzOCkKWzExNjI2Mzg3MjcuOTcxNjI1IC9kdG5kIG5vdGljZV0gZGFlbW9uIGV4aXRpbmcu
Li4KWzExNjI2Mzg3MjcuOTcxNjI1IC9kdG4vYXBpc2VydmVyLzIwIGRlYnVnXSBjbG9zaW5nIHNv
Y2tldCBpbiBzdGF0ZSBMSVNURU5JTkcKWzExNjI2Mzg3MjcuOTczNjI1IC9kdG4vYXBpc2VydmVy
LzIwIGVycm9yXSBlcnJvciBpbiBhY2NlcHQoKTogU29ja2V0IG9wZXJhdGlvbiBvbiBub24tc29j
a2V0ClsxMTYyNjM4NzI3Ljk3MzYyNSAvZHRuL2FwaXNlcnZlci8yMCBlcnJvcl0gZXJyb3IgLTEg
aW4gYWNjZXB0KCk6IDEwOCBTb2NrZXQgb3BlcmF0aW9uIG9uIG5vbi1zb2NrZXQKWzExNjI2Mzg3
MjcuOTczNjI1IC9kdG4vYXBpc2VydmVyLzIwIGRlYnVnXSBjbG9zaW5nIHNvY2tldCBpbiBzdGF0
ZSBMSVNURU5JTkcKWzExNjI2Mzg3MjcuOTczNjI1IC9kdG4vYXBpc2VydmVyLzIwIGVycm9yXSBl
cnJvciBjbG9zaW5nIHNvY2tldCBpbiBzdGF0ZSBMSVNURU5JTkc6IEJhZCBmaWxlIGRlc2NyaXB0
b3IKWzExNjI2Mzg3MjcuOTczNjI1IC9kdG4vYXBpc2VydmVyLzIwIGRlYnVnXSBzdGF0ZSBMSVNU
RU5JTkcgLT4gRklOSQo=
------=_Part_30828_3357508.1162639854509--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA30L8Y30542 for <dtn-users@mailman.dtnrg.org>; Thu, 2 Nov 2006 16:21:08 -0800
Received: from [10.212.2.57] (bldmz-nat-161-225.berkeley.intel-research.net [12.155.161.225]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kA30L67W015958 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 2 Nov 2006 16:21:07 -0800 (PST)
In-Reply-To: <17fb7c570611021234g301e2d3dr4e5c95e6f7228cc3@mail.gmail.com>
References: <17fb7c570611021234g301e2d3dr4e5c95e6f7228cc3@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed
Message-Id: <9CFE75B9-130A-4077-8CAA-134F168038C8@cs.berkeley.edu>
Content-Transfer-Encoding: 7bit
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] DTN link detection
X-Applemailsentby: demmer
Date: Thu, 2 Nov 2006 16:21:02 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

> I noticed that in the latest dtn reference implementation, when dtnd
> starts, a ping application is also automatically started. If I am not
> mistaken, this ping application is used to determine the availability
> of links.

Not exactly. The ping application is used to test bundle level  
reachability for testing the dtn routing layer, not the link  
availability.

> In our testbed, we have a bunch of dtn nodes, which have
> intermittent wireless connectivity between one another. We observe
> tens of seconds of delay after association before the link is used by
> dtnd, which is not too good, since connection period is typically
> short.
>
> Can anyone tell me how this link detection works, what are the default
> values of the parameters, such as interval between successive probing
> bundles, and how I can go about change them?


I'm assuming you're using the tcp convergence layer, correct?

You'll want to play with the link parameters min_retry_interval and  
max_retry_interval. They control how long the code waits before  
trying to re-establish a link.

So, for example: link add tcp0 1.2.3.4:5000 ALWAYSON tcp  
min_retry_interval=1 max_retry_interval=4

Will retry the connection after a one second wait following the first  
failure, then after a two second wait, then after a four second wait,  
then every four seconds thereafter.

-mike




Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.237]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA2KY7Y29105 for <dtn-users@mailman.dtnrg.org>; Thu, 2 Nov 2006 12:34:07 -0800
Received: by wx-out-0506.google.com with SMTP id i31so200358wxd for <dtn-users@mailman.dtnrg.org>; Thu, 02 Nov 2006 12:34:06 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=XwcuoMdpV+ojWVhdoKFrGBQM0qSlhlOJ8WxRyq/Hj1Ehrz+M9kNF8eOFV+WegVLljM5qCt1Z3AiOY+UtrQKfukIMYyNu5qqVuImSrqCGTrfW1fj8xI1e8WwB6M/ZXNRcD3/S9/4S6TJfqRe4KwdzDH4Hz1z3ix+zxLch3PpoJ7g=
Received: by 10.70.39.5 with SMTP id m5mr1494541wxm.1162499646417; Thu, 02 Nov 2006 12:34:06 -0800 (PST)
Received: by 10.70.21.6 with HTTP; Thu, 2 Nov 2006 12:34:06 -0800 (PST)
Message-ID: <17fb7c570611021234g301e2d3dr4e5c95e6f7228cc3@mail.gmail.com>
Date: Thu, 2 Nov 2006 15:34:06 -0500
From: "Shimin Guo" <smguo2001@gmail.com>
To: dtn-users@mailman.dtnrg.org
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Subject: [dtn-users] DTN link detection
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

I noticed that in the latest dtn reference implementation, when dtnd
starts, a ping application is also automatically started. If I am not
mistaken, this ping application is used to determine the availability
of links. In our testbed, we have a bunch of dtn nodes, which have
intermittent wireless connectivity between one another. We observe
tens of seconds of delay after association before the link is used by
dtnd, which is not too good, since connection period is typically
short.

Can anyone tell me how this link detection works, what are the default
values of the parameters, such as interval between successive probing
bundles, and how I can go about change them?

Thanks,
Shimin


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA2GEtY27157 for <dtn-users@mailman.dtnrg.org>; Thu, 2 Nov 2006 08:14:55 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kA2GErU3005945 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Thu, 2 Nov 2006 08:14:54 -0800 (PST)
In-Reply-To: <f0d10dd60611012334m5dab70d7g574970ecdcd365f4@mail.gmail.com>
References: <f0d10dd60610300309u6ca7c665vc10e79d9870b788e@mail.gmail.com> <D38248AB-5AEF-42B8-8EE1-58EC719B72BF@cs.berkeley.edu> <f0d10dd60610310425o75e64578u1d1108ab795ed88f@mail.gmail.com> <C7706B2B-51D9-4DF0-96F5-56323DDFCA41@cs.berkeley.edu> <f0d10dd60611012334m5dab70d7g574970ecdcd365f4@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-2--506704014
Message-Id: <771E8E39-9E32-4C84-9671-069B2AAB572D@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Problem compiling the cvs code on cygwin.
X-Applemailsentby: demmer
Date: Thu, 2 Nov 2006 08:14:49 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-2--506704014
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Ugh... I don't know what to tell you. That's fairly crufty and I  
don't really have the time to look into this too much further.

-m

On Nov 1, 2006, at 11:34 PM, Zahir Koradia wrote:

> Hi Mike,
> That helped but after that I faced a problem of multiple  
> declarations of the function xdrmem_create(). In the library header  
> it's signature has no parameters (being K&R C) while in  
> APIServer.cc you have tried to redeclare the function with  
> parameters which was giving an error a C doesnt allow overloading  
> or redeclaration. Commenting the redeclaration again gave error  
> because the compiler could not find a matching function declaration  
> (as expected). For now I have gone and changed the signature in the  
> library header file itself allowing me to compile the whole code  
> successfully. I wonder if there is any other way out.
>
> Thanks,
> Zahir
>
> On 11/2/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
> Yeah, your type conversions should be ok...
>
> Another option would be for us to implement a shim in the  
> oasys::Serialize base class that always treats an int as an int32_t  
> so the serialize actions could use vanilla int values.
>
> As far as the xdr_free reference goes, see if changing the #include  
> in XDRUtils.h to the following helps:
>
> extern "C" {
> #include <rpc/rpc.h>
> }
>
> -mike
>
>
> On Oct 31, 2006, at 4:25 AM, Zahir Koradia wrote:
>
>> Hi Mike,
>> Apart from the change you suggested following are the changes I  
>> made to get moving ahead.
>>
>> In file BundleEvent.h
>> bundlesendrequest:action_ int to int32_t
>> bundlereceivedevent:source_ int to u_int32_t
>> bundledeliveryevent:source_ int to u_int32_t
>>
>> In file Forwardinginfo.h
>> Forwardinginfo:action_ int to int32_t
>> Forwardinginfo:state_ int to int32_t
>>
>> In file Link.h
>> Link:state_ int to int32_t
>>
>> In file Registration.h
>> Registration:failure_action_ int to int32_t
>>
>> In file RouteEntry.h
>> RouteEntry:action_ int to int32_t
>>
>> In RouteEntry.cc
>> at line 70,  p.addopt(new oasys::EnumOpt("action", fwdopts,  
>> &action_));
>> since action_ had been changed to int32_t from int, the required  
>> parameter
>> was int and it was getting int32_t. So I replaced the line with
>>
>> int temp_action;
>> p.addopt(new oasys::EnumOpt("action", fwdopts, &temp_action));
>> action_=(int32_t)temp_action;
>>
>> After these changes I had a linker error "undefined reference to  
>> xdr_free(int (*)(), char *)". xdr_free is called in two places:  
>> one in XDRUtils.h and the other in dtn_api.c. The call in  
>> dtn_api.c is present in the previous code that I used and it  
>> compiles well. The new call in XDRUtils.h is not present in the  
>> code I used earlier. This code compiles well on linux platforms  
>> but has the linker error with cygwin. One thing I noticed was that  
>> the call in dtn_api.c is from C code while that in XDRUtils.h is  
>> in C++ code. This is probably an issue of name mangling but am not  
>> sure how to get rid of it. Any suggestion in this regard would be  
>> useful.
>>
>> Also please let me know if the type conversion that I have done  
>> are safe to use.
>>
>> Thanks,
>> Zahir Koradia
>>
>> On 10/30/06, Michael Demmer < demmer@cs.berkeley.edu> wrote:
>> Try changing the reason_ field type in the ContactEvent class to be a
>> u_int32_t instead of an int. If that works, let me know and I'll
>> check in the change.
>>
>> -m
>>
>> On Oct 30, 2006, at 3:09 AM, Zahir Koradia wrote:
>>
>> > Hello All,
>> > I was having problems with creation of a link at run time in the
>> > old code(about 2 months old) I was using (the state of the link got
>> > stuck at "OPENING") and wanted to try out my changes in the new cvs
>> > code. But the new code seems to be having some problems installing
>> > on Cygwin. The error that I am getting is in the file
>> > BundleEvent.cc line 196. The compiler could not choose one of the
>> > overloaded process() functions unambiguously for the call. At the
>> > call the parameters are (const char[7], and int*) and the two
>> > candidates of process functions among which the compiler had
>> > confusion have parameters (const char*, int32_t*) and (const char*,
>> > long unsigned int*) I am not aware of that part of the code. Can
>> > some please help me out as to which function should be used and
>> > what changes can I samely make to go ahead in compilation?
>> >
>> > Thanks,
>> > Zahir Koradia
>>
>> _______________________________________________
>> dtn-users mailing list
>> dtn-users@mailman.dtnrg.org
>> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>>
>
>


--Apple-Mail-2--506704014
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">Ugh... I don't know what to tell =
you. That's fairly crufty and I don't really have the time to look into =
this too much further.<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><DIV>-m</DIV><DIV><BR><DIV><D=
IV>On Nov 1, 2006, at 11:34 PM, Zahir Koradia wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">Hi =
Mike,<BR>That helped but after that I faced a problem of multiple =
declarations of the function xdrmem_create(). In the library header it's =
signature has no parameters (being K&amp;R C) while in APIServer.cc you =
have tried to redeclare the function with parameters which was giving an =
error a C doesnt allow overloading or redeclaration. Commenting the =
redeclaration again gave error because the compiler could not find a =
matching function declaration (as expected). For now I have gone and =
changed the signature in the library header file itself allowing me to =
compile the whole code successfully. I wonder if there is any other way =
out. <BR><BR>Thanks,<BR>Zahir<BR><BR><DIV><SPAN class=3D"gmail_quote">On =
11/2/06, <B class=3D"gmail_sendername">Michael Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> <DIV style=3D""><DIV><BR></DIV><DIV>Yeah, your type conversions =
should be ok...</DIV><DIV><BR></DIV><DIV>Another option would be for us =
to implement a shim in the oasys::Serialize base class that always =
treats an int as an int32_t so the serialize actions could use vanilla =
int values. </DIV><DIV><BR></DIV><DIV>As far as the xdr_free reference =
goes, see if changing the #include in XDRUtils.h to the following =
helps:</DIV><DIV><BR></DIV><DIV>extern "C" {</DIV><DIV>#include =
&lt;rpc/rpc.h&gt;</DIV> =
<DIV>}</DIV><DIV><BR></DIV><DIV>-mike</DIV><DIV><SPAN class=3D"e" =
id=3D"q_10ea52258d269305_1"><DIV><BR></DIV><DIV><BR></DIV><DIV><DIV>On =
Oct 31, 2006, at 4:25 AM, Zahir Koradia wrote:</DIV><BR><BLOCKQUOTE =
type=3D"cite">Hi Mike, <BR>Apart from the change you suggested following =
are the changes I made to get moving ahead. <BR><BR>In file =
BundleEvent.h<BR>bundlesendrequest:action_ int to =
int32_t<BR>bundlereceivedevent:source_ int to u_int32_t =
<BR>bundledeliveryevent:source_ int to u_int32_t <BR><BR>In file =
Forwardinginfo.h<BR>Forwardinginfo:action_ int to =
int32_t<BR>Forwardinginfo:state_ int to int32_t<BR><BR>In file =
Link.h<BR>Link:state_ int to int32_t<BR><BR> In file =
Registration.h<BR>Registration:failure_action_ int to int32_t <BR><BR>In =
file RouteEntry.h<BR>RouteEntry:action_ int to int32_t<BR><BR>In =
RouteEntry.cc<BR>at line 70,=A0 p.addopt(new oasys::EnumOpt("action", =
fwdopts, &amp;action_)); <BR>since action_ had been changed to int32_t =
from int, the required parameter <BR>was int and it was getting int32_t. =
So I replaced the line with<BR><BR>int temp_action;<BR>p.addopt(new =
oasys::EnumOpt("action", fwdopts, &amp;temp_action)); =
<BR>action_=3D(int32_t)temp_action;<BR><BR>After these changes I had a =
linker error "undefined reference to xdr_free(int (*)(), char *)". =
xdr_free is called in two places: one in XDRUtils.h and the other in =
dtn_api.c. The call in dtn_api.c is present in the previous code that I =
used and it compiles well. The new call in XDRUtils.h is not present in =
the code I used earlier. This code compiles well on linux platforms but =
has the linker error with cygwin. One thing I noticed was that the call =
in dtn_api.c is from C code while that in XDRUtils.h is in C++ code. =
This is probably an issue of name mangling but am not sure how to get =
rid of it. Any suggestion in this regard would be useful. <BR><BR>Also =
please let me know if the type conversion that I have done are safe to =
use. <BR><BR>Thanks,<BR>Zahir Koradia<BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 10/30/06, <B class=3D"gmail_sendername">Michael =
Demmer</B> &lt;<A href=3D"mailto:demmer@cs.berkeley.edu" target=3D"_blank"=
 onclick=3D"return top.js.OpenExtLink(window,event,this)"> =
demmer@cs.berkeley.edu</A>&gt; wrote:</SPAN><BLOCKQUOTE =
class=3D"gmail_quote" style=3D"border-left: 1px solid rgb(204, 204, =
204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Try changing the =
reason_ field type in the ContactEvent class to be a <BR>u_int32_t =
instead of an int. If that works, let me know and I'll<BR>check in the =
change.<BR><BR>-m<BR><BR>On Oct 30, 2006, at 3:09 AM, Zahir Koradia =
wrote: <BR><BR>&gt; Hello All,<BR>&gt; I was having problems with =
creation of a link at run time in the <BR>&gt; old code(about 2 months =
old) I was using (the state of the link got<BR>&gt; stuck at "OPENING") =
and wanted to try out my changes in the new cvs <BR>&gt; code. But the =
new code seems to be having some problems installing <BR>&gt; on Cygwin. =
The error that I am getting is in the file<BR>&gt; BundleEvent.cc line =
196. The compiler could not choose one of the<BR>&gt; overloaded =
process() functions unambiguously for the call. At the <BR>&gt; call the =
parameters are (const char[7], and int*) and the two <BR>&gt; candidates =
of process functions among which the compiler had<BR>&gt; confusion have =
parameters (const char*, int32_t*) and (const char*,<BR>&gt; long =
unsigned int*) I am not aware of that part of the code. Can <BR> &gt; =
some please help me out as to which function should be used and<BR>&gt; =
what changes can I samely make to go ahead in =
compilation?<BR>&gt;<BR>&gt; Thanks,<BR>&gt; Zahir =
Koradia<BR><BR>_______________________________________________ =
<BR>dtn-users mailing list<BR><A =
href=3D"mailto:dtn-users@mailman.dtnrg.org" target=3D"_blank" =
onclick=3D"return =
top.js.OpenExtLink(window,event,this)">dtn-users@mailman.dtnrg.org</A><BR>=
<A href=3D"http://mailman.dtnrg.org/mailman/listinfo/dtn-users" =
target=3D"_blank" onclick=3D"return =
top.js.OpenExtLink(window,event,this)"> =
http://mailman.dtnrg.org/mailman/listinfo/dtn-users =
</A><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></SPAN></DIV></DIV> =
</BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></DIV></DIV></BODY></HTML>=

--Apple-Mail-2--506704014--


Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.187]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA27YBY20037 for <dtn-users@mailman.dtnrg.org>; Wed, 1 Nov 2006 23:34:11 -0800
Received: by nf-out-0910.google.com with SMTP id n28so895962nfc for <dtn-users@mailman.dtnrg.org>; Wed, 01 Nov 2006 23:34:09 -0800 (PST)
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=K6LixEV1vt6yvWRBGI5oXfsE3P0kaCiZlW+TR4/jDQbvoLMPVDeSOOrNLrEDkZyDKfjdDVDEsMgKyJlYpdDz4RcOb/sCAA3mSQyLqdvAxWBQjBQWWw/sNUwjhspRy2bq2cU0RS8O+C2uPLV5FD8oCFkmvqKveCorWnK1OwLgG+w=
Received: by 10.78.185.15 with SMTP id i15mr206523huf.1162452849061; Wed, 01 Nov 2006 23:34:09 -0800 (PST)
Received: by 10.78.155.2 with HTTP; Wed, 1 Nov 2006 23:34:08 -0800 (PST)
Message-ID: <f0d10dd60611012334m5dab70d7g574970ecdcd365f4@mail.gmail.com>
Date: Thu, 2 Nov 2006 13:04:09 +0530
From: "Zahir Koradia" <zahir.koradia@gmail.com>
To: dtn-users@mailman.dtnrg.org
Subject: Re: [dtn-users] Problem compiling the cvs code on cygwin.
In-Reply-To: <C7706B2B-51D9-4DF0-96F5-56323DDFCA41@cs.berkeley.edu>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_999_1153969.1162452849034"
References: <f0d10dd60610300309u6ca7c665vc10e79d9870b788e@mail.gmail.com> <D38248AB-5AEF-42B8-8EE1-58EC719B72BF@cs.berkeley.edu> <f0d10dd60610310425o75e64578u1d1108ab795ed88f@mail.gmail.com> <C7706B2B-51D9-4DF0-96F5-56323DDFCA41@cs.berkeley.edu>
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

------=_Part_999_1153969.1162452849034
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,
That helped but after that I faced a problem of multiple declarations of the
function xdrmem_create(). In the library header it's signature has no
parameters (being K&R C) while in APIServer.cc you have tried to redeclare
the function with parameters which was giving an error a C doesnt allow
overloading or redeclaration. Commenting the redeclaration again gave error
because the compiler could not find a matching function declaration (as
expected). For now I have gone and changed the signature in the library
header file itself allowing me to compile the whole code successfully. I
wonder if there is any other way out.

Thanks,
Zahir

On 11/2/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
>
>
> Yeah, your type conversions should be ok...
>
> Another option would be for us to implement a shim in the oasys::Serialize
> base class that always treats an int as an int32_t so the serialize actions
> could use vanilla int values.
>
> As far as the xdr_free reference goes, see if changing the #include in
> XDRUtils.h to the following helps:
>
> extern "C" {
> #include <rpc/rpc.h>
> }
>
> -mike
>
>
> On Oct 31, 2006, at 4:25 AM, Zahir Koradia wrote:
>
> Hi Mike,
> Apart from the change you suggested following are the changes I made to
> get moving ahead.
>
> In file BundleEvent.h
> bundlesendrequest:action_ int to int32_t
> bundlereceivedevent:source_ int to u_int32_t
> bundledeliveryevent:source_ int to u_int32_t
>
> In file Forwardinginfo.h
> Forwardinginfo:action_ int to int32_t
> Forwardinginfo:state_ int to int32_t
>
> In file Link.h
> Link:state_ int to int32_t
>
> In file Registration.h
> Registration:failure_action_ int to int32_t
>
> In file RouteEntry.h
> RouteEntry:action_ int to int32_t
>
> In RouteEntry.cc
> at line 70,  p.addopt(new oasys::EnumOpt("action", fwdopts, &action_));
> since action_ had been changed to int32_t from int, the required parameter
> was int and it was getting int32_t. So I replaced the line with
>
> int temp_action;
> p.addopt(new oasys::EnumOpt("action", fwdopts, &temp_action));
> action_=(int32_t)temp_action;
>
> After these changes I had a linker error "undefined reference to
> xdr_free(int (*)(), char *)". xdr_free is called in two places: one in
> XDRUtils.h and the other in dtn_api.c. The call in dtn_api.c is present in
> the previous code that I used and it compiles well. The new call in
> XDRUtils.h is not present in the code I used earlier. This code compiles
> well on linux platforms but has the linker error with cygwin. One thing I
> noticed was that the call in dtn_api.c is from C code while that in
> XDRUtils.h is in C++ code. This is probably an issue of name mangling but
> am not sure how to get rid of it. Any suggestion in this regard would be
> useful.
>
> Also please let me know if the type conversion that I have done are safe
> to use.
>
> Thanks,
> Zahir Koradia
>
> On 10/30/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> >
> > Try changing the reason_ field type in the ContactEvent class to be a
> > u_int32_t instead of an int. If that works, let me know and I'll
> > check in the change.
> >
> > -m
> >
> > On Oct 30, 2006, at 3:09 AM, Zahir Koradia wrote:
> >
> > > Hello All,
> > > I was having problems with creation of a link at run time in the
> > > old code(about 2 months old) I was using (the state of the link got
> > > stuck at "OPENING") and wanted to try out my changes in the new cvs
> > > code. But the new code seems to be having some problems installing
> > > on Cygwin. The error that I am getting is in the file
> > > BundleEvent.cc line 196. The compiler could not choose one of the
> > > overloaded process() functions unambiguously for the call. At the
> > > call the parameters are (const char[7], and int*) and the two
> > > candidates of process functions among which the compiler had
> > > confusion have parameters (const char*, int32_t*) and (const char*,
> > > long unsigned int*) I am not aware of that part of the code. Can
> > > some please help me out as to which function should be used and
> > > what changes can I samely make to go ahead in compilation?
> > >
> > > Thanks,
> > > Zahir Koradia
> >
> > _______________________________________________
> > dtn-users mailing list
> > dtn-users@mailman.dtnrg.org
> > http://mailman.dtnrg.org/mailman/listinfo/dtn-users
> >
>
>
>

------=_Part_999_1153969.1162452849034
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi Mike,<br>That helped but after that I faced a problem of multiple declarations of the function xdrmem_create(). In the library header it's signature has no parameters (being K&amp;R C) while in APIServer.cc you have tried to redeclare the function with parameters which was giving an error a C doesnt allow overloading or redeclaration. Commenting the redeclaration again gave error because the compiler could not find a matching function declaration (as expected). For now I have gone and changed the signature in the library header file itself allowing me to compile the whole code successfully. I wonder if there is any other way out.
<br><br>Thanks,<br>Zahir<br><br><div><span class="gmail_quote">On 11/2/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div><br></div><div>Yeah, your type conversions should be ok...</div><div><br></div><div>Another option would be for us to implement a shim in the oasys::Serialize base class that always treats an int as an int32_t so the serialize actions could use vanilla int values.
</div><div><br></div><div>As far as the xdr_free reference goes, see if changing the #include in XDRUtils.h to the following helps:</div><div><br></div><div>extern &quot;C&quot; {</div><div>#include &lt;rpc/rpc.h&gt;</div>
<div>}</div><div><br></div><div>-mike</div><div><span class="e" id="q_10ea52258d269305_1"><div><br></div><div><br></div><div><div>On Oct 31, 2006, at 4:25 AM, Zahir Koradia wrote:</div><br><blockquote type="cite">Hi Mike,
<br>Apart from the change you suggested following are the changes I made to get moving ahead. <br><br>In file BundleEvent.h<br>bundlesendrequest:action_ int to int32_t<br>bundlereceivedevent:source_ int to u_int32_t <br>bundledeliveryevent:source_ int to u_int32_t
<br><br>In file Forwardinginfo.h<br>Forwardinginfo:action_ int to int32_t<br>Forwardinginfo:state_ int to int32_t<br><br>In file Link.h<br>Link:state_ int to int32_t<br><br> In file Registration.h<br>Registration:failure_action_ int to int32_t
<br><br>In file RouteEntry.h<br>RouteEntry:action_ int to int32_t<br><br>In RouteEntry.cc<br>at line 70,&nbsp; p.addopt(new oasys::EnumOpt(&quot;action&quot;, fwdopts, &amp;action_)); <br>since action_ had been changed to int32_t from int, the required parameter
<br>was int and it was getting int32_t. So I replaced the line with<br><br>int temp_action;<br>p.addopt(new oasys::EnumOpt(&quot;action&quot;, fwdopts, &amp;temp_action)); <br>action_=(int32_t)temp_action;<br><br>After these changes I had a linker error &quot;undefined reference to xdr_free(int (*)(), char *)&quot;. xdr_free is called in two places: one in 
XDRUtils.h and the other in dtn_api.c. The call in dtn_api.c is present in the previous code that I used and it compiles well. The new call in XDRUtils.h is not present in the code I used earlier. This code compiles well on linux platforms but has the linker error with cygwin. One thing I noticed was that the call in dtn_api.c is from C code while that in 
XDRUtils.h is in C++ code. This is probably an issue of name mangling but am not sure how to get rid of it. Any suggestion in this regard would be useful. <br><br>Also please let me know if the type conversion that I have done are safe to use. 
<br><br>Thanks,<br>Zahir Koradia<br><br><div><span class="gmail_quote">On 10/30/06, <b class="gmail_sendername">Michael Demmer</b> &lt;<a href="mailto:demmer@cs.berkeley.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
demmer@cs.berkeley.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Try changing the reason_ field type in the ContactEvent class to be a
<br>u_int32_t instead of an int. If that works, let me know and I'll<br>check in the change.<br><br>-m<br><br>On Oct 30, 2006, at 3:09 AM, Zahir Koradia wrote: <br><br>&gt; Hello All,<br>&gt; I was having problems with creation of a link at run time in the
<br>&gt; old code(about 2 months old) I was using (the state of the link got<br>&gt; stuck at &quot;OPENING&quot;) and wanted to try out my changes in the new cvs <br>&gt; code. But the new code seems to be having some problems installing
<br>&gt; on Cygwin. The error that I am getting is in the file<br>&gt; BundleEvent.cc line 196. The compiler could not choose one of the<br>&gt; overloaded process() functions unambiguously for the call. At the <br>&gt; call the parameters are (const char[7], and int*) and the two
<br>&gt; candidates of process functions among which the compiler had<br>&gt; confusion have parameters (const char*, int32_t*) and (const char*,<br>&gt; long unsigned int*) I am not aware of that part of the code. Can <br>
&gt; some please help me out as to which function should be used and<br>&gt; what changes can I samely make to go ahead in compilation?<br>&gt;<br>&gt; Thanks,<br>&gt; Zahir Koradia<br><br>_______________________________________________ 
<br>dtn-users mailing list<br><a href="mailto:dtn-users@mailman.dtnrg.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dtn-users@mailman.dtnrg.org</a><br><a href="http://mailman.dtnrg.org/mailman/listinfo/dtn-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mailman.dtnrg.org/mailman/listinfo/dtn-users </a><br></blockquote></div><br></blockquote></div><br></span></div></div>
</blockquote></div><br>

------=_Part_999_1153969.1162452849034--


Received: from gateway0.EECS.Berkeley.EDU (gateway0.EECS.Berkeley.EDU [169.229.60.93]) by webbie.berkeley.intel-research.net (8.11.6/8.11.6) with ESMTP id kA1K65Y14899 for <dtn-users@mailman.dtnrg.org>; Wed, 1 Nov 2006 12:06:05 -0800
Received: from [192.168.1.2] (dsl081-061-178.sfo1.dsl.speakeasy.net [64.81.61.178]) (authenticated bits=0) by gateway0.EECS.Berkeley.EDU (8.13.8/8.13.5) with ESMTP id kA1K63ZV025598 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NOT); Wed, 1 Nov 2006 12:06:04 -0800 (PST)
In-Reply-To: <f0d10dd60610310425o75e64578u1d1108ab795ed88f@mail.gmail.com>
References: <f0d10dd60610300309u6ca7c665vc10e79d9870b788e@mail.gmail.com> <D38248AB-5AEF-42B8-8EE1-58EC719B72BF@cs.berkeley.edu> <f0d10dd60610310425o75e64578u1d1108ab795ed88f@mail.gmail.com>
Mime-Version: 1.0 (Apple Message framework v752.3)
Content-Type: multipart/alternative; boundary=Apple-Mail-1--579234481
Message-Id: <C7706B2B-51D9-4DF0-96F5-56323DDFCA41@cs.berkeley.edu>
From: Michael Demmer <demmer@cs.berkeley.edu>
Subject: Re: [dtn-users] Problem compiling the cvs code on cygwin.
X-Applemailsentby: demmer
Date: Wed, 1 Nov 2006 12:05:59 -0800
To: dtn-users@mailman.dtnrg.org
X-Mailer: Apple Mail (2.752.3)
Sender: dtn-users-admin@mailman.dtnrg.org
Errors-To: dtn-users-admin@mailman.dtnrg.org
X-BeenThere: dtn-users@mailman.dtnrg.org
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: dtn-users@mailman.dtnrg.org
List-Unsubscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=unsubscribe>
List-Id: discussion/answers list for users of the dtn reference implementation <dtn-users.mailman.dtnrg.org>
List-Post: <mailto:dtn-users@mailman.dtnrg.org>
List-Help: <mailto:dtn-users-request@mailman.dtnrg.org?subject=help>
List-Subscribe: <http://mailman.dtnrg.org/mailman/listinfo/dtn-users>, <mailto:dtn-users-request@mailman.dtnrg.org?subject=subscribe>
List-Archive: <http://mailman.dtnrg.org/pipermail/dtn-users/>

--Apple-Mail-1--579234481
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed


Yeah, your type conversions should be ok...

Another option would be for us to implement a shim in the  
oasys::Serialize base class that always treats an int as an int32_t  
so the serialize actions could use vanilla int values.

As far as the xdr_free reference goes, see if changing the #include  
in XDRUtils.h to the following helps:

extern "C" {
#include <rpc/rpc.h>
}

-mike


On Oct 31, 2006, at 4:25 AM, Zahir Koradia wrote:

> Hi Mike,
> Apart from the change you suggested following are the changes I  
> made to get moving ahead.
>
> In file BundleEvent.h
> bundlesendrequest:action_ int to int32_t
> bundlereceivedevent:source_ int to u_int32_t
> bundledeliveryevent:source_ int to u_int32_t
>
> In file Forwardinginfo.h
> Forwardinginfo:action_ int to int32_t
> Forwardinginfo:state_ int to int32_t
>
> In file Link.h
> Link:state_ int to int32_t
>
> In file Registration.h
> Registration:failure_action_ int to int32_t
>
> In file RouteEntry.h
> RouteEntry:action_ int to int32_t
>
> In RouteEntry.cc
> at line 70,  p.addopt(new oasys::EnumOpt("action", fwdopts,  
> &action_));
> since action_ had been changed to int32_t from int, the required  
> parameter
> was int and it was getting int32_t. So I replaced the line with
>
> int temp_action;
> p.addopt(new oasys::EnumOpt("action", fwdopts, &temp_action));
> action_=(int32_t)temp_action;
>
> After these changes I had a linker error "undefined reference to  
> xdr_free(int (*)(), char *)". xdr_free is called in two places: one  
> in XDRUtils.h and the other in dtn_api.c. The call in dtn_api.c is  
> present in the previous code that I used and it compiles well. The  
> new call in XDRUtils.h is not present in the code I used earlier.  
> This code compiles well on linux platforms but has the linker error  
> with cygwin. One thing I noticed was that the call in dtn_api.c is  
> from C code while that in XDRUtils.h is in C++ code. This is  
> probably an issue of name mangling but am not sure how to get rid  
> of it. Any suggestion in this regard would be useful.
>
> Also please let me know if the type conversion that I have done are  
> safe to use.
>
> Thanks,
> Zahir Koradia
>
> On 10/30/06, Michael Demmer <demmer@cs.berkeley.edu> wrote:
> Try changing the reason_ field type in the ContactEvent class to be a
> u_int32_t instead of an int. If that works, let me know and I'll
> check in the change.
>
> -m
>
> On Oct 30, 2006, at 3:09 AM, Zahir Koradia wrote:
>
> > Hello All,
> > I was having problems with creation of a link at run time in the
> > old code(about 2 months old) I was using (the state of the link got
> > stuck at "OPENING") and wanted to try out my changes in the new cvs
> > code. But the new code seems to be having some problems installing
> > on Cygwin. The error that I am getting is in the file
> > BundleEvent.cc line 196. The compiler could not choose one of the
> > overloaded process() functions unambiguously for the call. At the
> > call the parameters are (const char[7], and int*) and the two
> > candidates of process functions among which the compiler had
> > confusion have parameters (const char*, int32_t*) and (const char*,
> > long unsigned int*) I am not aware of that part of the code. Can
> > some please help me out as to which function should be used and
> > what changes can I samely make to go ahead in compilation?
> >
> > Thanks,
> > Zahir Koradia
>
> _______________________________________________
> dtn-users mailing list
> dtn-users@mailman.dtnrg.org
> http://mailman.dtnrg.org/mailman/listinfo/dtn-users
>


--Apple-Mail-1--579234481
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; "><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Yeah, your type conversions =
should be ok...</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Another option would be for =
us to implement a shim in the oasys::Serialize base class that always =
treats an int as an int32_t so the serialize actions could use vanilla =
int values.</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV>As =
far as the xdr_free reference goes, see if changing the #include in =
XDRUtils.h to the following helps:</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>extern "C" =
{</DIV><DIV>#include &lt;rpc/rpc.h&gt;</DIV><DIV>}</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>-mike</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV><DIV>On Oct 31, 2006, at =
4:25 AM, Zahir Koradia wrote:</DIV><BR =
class=3D"Apple-interchange-newline"><BLOCKQUOTE type=3D"cite">Hi =
Mike,<BR>Apart from the change you suggested following are the changes I =
made to get moving ahead. <BR><BR>In file =
BundleEvent.h<BR>bundlesendrequest:action_ int to =
int32_t<BR>bundlereceivedevent:source_ int to u_int32_t =
<BR>bundledeliveryevent:source_ int to u_int32_t<BR><BR>In file =
Forwardinginfo.h<BR>Forwardinginfo:action_ int to =
int32_t<BR>Forwardinginfo:state_ int to int32_t<BR><BR>In file =
Link.h<BR>Link:state_ int to int32_t<BR><BR> In file =
Registration.h<BR>Registration:failure_action_ int to int32_t<BR><BR>In =
file RouteEntry.h<BR>RouteEntry:action_ int to int32_t<BR><BR>In =
RouteEntry.cc<BR>at line 70,=A0 p.addopt(new oasys::EnumOpt("action", =
fwdopts, &amp;action_)); <BR>since action_ had been changed to int32_t =
from int, the required parameter<BR>was int and it was getting int32_t. =
So I replaced the line with<BR><BR>int temp_action;<BR>p.addopt(new =
oasys::EnumOpt("action", fwdopts, &amp;temp_action)); =
<BR>action_=3D(int32_t)temp_action;<BR><BR>After these changes I had a =
linker error "undefined reference to xdr_free(int (*)(), char *)". =
xdr_free is called in two places: one in XDRUtils.h and the other in =
dtn_api.c. The call in dtn_api.c is present in the previous code that I =
used and it compiles well. The new call in XDRUtils.h is not present in =
the code I used earlier. This code compiles well on linux platforms but =
has the linker error with cygwin. One thing I noticed was that the call =
in dtn_api.c is from C code while that in XDRUtils.h is in C++ code. =
This is probably an issue of name mangling but am not sure how to get =
rid of it. Any suggestion in this regard would be useful. <BR><BR>Also =
please let me know if the type conversion that I have done are safe to =
use. <BR><BR>Thanks,<BR>Zahir Koradia<BR><BR><DIV><SPAN =
class=3D"gmail_quote">On 10/30/06, <B class=3D"gmail_sendername">Michael =
Demmer</B> &lt;<A =
href=3D"mailto:demmer@cs.berkeley.edu">demmer@cs.berkeley.edu</A>&gt; =
wrote:</SPAN><BLOCKQUOTE class=3D"gmail_quote" style=3D"border-left: 1px =
solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;"> Try changing the reason_ field type in the ContactEvent class to =
be a<BR>u_int32_t instead of an int. If that works, let me know and =
I'll<BR>check in the change.<BR><BR>-m<BR><BR>On Oct 30, 2006, at 3:09 =
AM, Zahir Koradia wrote: <BR><BR>&gt; Hello All,<BR>&gt; I was having =
problems with creation of a link at run time in the<BR>&gt; old =
code(about 2 months old) I was using (the state of the link got<BR>&gt; =
stuck at "OPENING") and wanted to try out my changes in the new cvs =
<BR>&gt; code. But the new code seems to be having some problems =
installing<BR>&gt; on Cygwin. The error that I am getting is in the =
file<BR>&gt; BundleEvent.cc line 196. The compiler could not choose one =
of the<BR>&gt; overloaded process() functions unambiguously for the =
call. At the <BR>&gt; call the parameters are (const char[7], and int*) =
and the two<BR>&gt; candidates of process functions among which the =
compiler had<BR>&gt; confusion have parameters (const char*, int32_t*) =
and (const char*,<BR>&gt; long unsigned int*) I am not aware of that =
part of the code. Can <BR>&gt; some please help me out as to which =
function should be used and<BR>&gt; what changes can I samely make to go =
ahead in compilation?<BR>&gt;<BR>&gt; Thanks,<BR>&gt; Zahir =
Koradia<BR><BR>_______________________________________________ =
<BR>dtn-users mailing list<BR><A =
href=3D"mailto:dtn-users@mailman.dtnrg.org">dtn-users@mailman.dtnrg.org</A=
><BR><A =
href=3D"http://mailman.dtnrg.org/mailman/listinfo/dtn-users">http://mailma=
n.dtnrg.org/mailman/listinfo/dtn-users =
</A><BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></DIV><BR></BODY></HTML>=

--Apple-Mail-1--579234481--

