From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7761851978586374059==" MIME-Version: 1.0 From: =?utf-8?q?=E6=9D=BE=E6=9C=AC=E5=91=A8=E5=B9=B3_/_MATSUMOTO=EF=BC=8CSHUUHE?= =?utf-8?q?I_=3Cshuhei=2Ematsumoto=2Ext_at_hitachi=2Ecom=3E?= Subject: Re: [SPDK] SPDK + user space appliance Date: Thu, 10 May 2018 06:34:13 +0000 Message-ID: In-Reply-To: AM3PR04MB3708B071D474C42B8AFF34B89990@AM3PR04MB370.eurprd04.prod.outlook.com List-ID: To: spdk@lists.01.org --===============7761851978586374059== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Shahar, First I apologize I didn't look the patch in detail before reply. I know updating SPDK from 17.07 to 18.01 is not easy task. However creating own framework only on the DPDK lockless ring looks cumbers= ome for me. Thanks for your interesting proposal again and I'm sorry that I can't do en= ough effort to the communitization in this direction immediately. Thanks, Shuhei ________________________________ =E5=B7=AE=E5=87=BA=E4=BA=BA: SPDK =E3=81=8C S= hahar Salzman =E3=81=AE=E4=BB=A3=E7=90=86= =E3=81=A7=E9=80=81=E4=BF=A1 =E9=80=81=E4=BF=A1=E6=97=A5=EF=BF=BD: 2018=E5=B9=B45=E6=9C=8810=E6=97=A5 4:= 45 =E5=AE=9B=E5=85=88: spdk(a)lists.01.org =E4=BB=B6=E5=90=8D: [!]Re: [SPDK] SPDK + user space appliance Hi Ben, You make a good point. We are looking for a stable API, so given a stable API which is not under b= dev_internal, I can port the entire bdev_user module into my glue API, and = use it as my spdk gateway. But there is a benefit to pushing this to the community, since it would see= m that the semantics (e.g. register_device, submit/poll for IO, complete IO= ) are very similar to those attempting to integrate spdk to a storage appli= ance (I would love to hear from Shuhei Matsumoto or Eyal Harari which seem= to be attempting a similar integration of spdk to their products). Using this sort of API is much easier than having to understand an elaborat= e bdev API, spdk threading concerns, reactor issues etc. In addition, since the semantics are similar, I would imagine that if each = user writes their own integration module, we end up with multple versions o= f the same code. All parties eventually benefit from the "communitization" since we can open= ly discuss the interface, and code quality of a common module should be muc= h better than any "private" copy. I also agree, that if this module goes upstream it needs to be paired with = a good unit test running in CI so that as the internal interface evolves an= d as bdev changes, module breakages are easily detected, otherwise issues n= eed to be solved upon integrating a new version. Shahar ________________________________ From: SPDK on behalf of Walker, Benjamin Sent: Wednesday, May 9, 2018 7:52:38 PM To: spdk(a)lists.01.org Subject: Re: [SPDK] SPDK + user space appliance On Wed, 2018-05-09 at 07:48 +0000, Shahar Salzman wrote: > Hi Ben, > > To answer your question first, the main reason to have a generic spdk IO = API > for storage appliance is being able to maintain functionality over versio= ns. > We started with our module in version 17.07, but when we started integrat= ing > it into 17.07.01, and the 18.X version we started running into issues. Si= nce > the bdev layer is internal to spdk, it makes sense that it will change bo= th in > functionality and in interface from time to time especially in NVMeF wher= e the > specifications are so young, which is the reason that we would like to ha= ve an > API which is more stable over versions. > As a storage appliance, the requirements are fairly stable, and at least = in > the case of SCSI, a thin "glue API" had been enough to get the core appli= ance > work with multiple frontend targets (e.g. both SCSI and internal replicat= ion). > I believe that the same method can be applied to NVMEF. > In addition, I think that our use case is not unique to the way we are > integrating spdk, which means that the work we put in can benefit other u= sers, > and hopefully via their experience, the code can become more robust and > useful. Thank you for this - now everything is much clearer. I totally agree with w= hat you're saying about the API being unstable and internal. That makes it quite difficult to write a bdev module that continues to function across releases. However, I don't think trading one API (the bdev module API) for another (t= he proposed bdev user API) fixes anything at a fundamental level. This is beca= use the API changes we've made to the bdev module API are necessary to correctly implement some types of bdev modules (although probably not yours currently= ). Over time, you'll just end up propagating all of those changes into the new= ly proposed bdev user API in order to make it suitable for general use and we = won't be in any better of a spot than we are today. I do think this is a problem that needs to be solved as soon as possible th= ough. The solution, in my mind, is to start the work of defining a public bdev m= odule API in include/spdk/bdev_module.h. It will take some work to define the API= in a way that as many of the implementation details are hidden as possible, but = it is worth the effort. Most of the module API currently resides in include/spdk_internal/bdev.h, but there is a lot of stuff in there that doe= sn't need to become public. Once we have a well defined public interface, we can take steps to avoid breaking it going forward. I'm giving a talk on API stability at the SPDK s= ummit next week that will touch on some of the strategies we plan to employ to ke= ep APIs stable over time. I'll wait for more feedback to see if we can build some consensus about the= best path forward here. I'm interested to see if there are any other perspectives that may view this a bit differently. > > Shahar > From: SPDK on behalf of Walker, Benjamin .walker(a)intel.com> > Sent: Tuesday, May 8, 2018 8:30:20 PM > To: spdk(a)lists.01.org > Subject: Re: [SPDK] SPDK + user space appliance > > On Tue, 2018-05-08 at 07:36 +0000, Shahar Salzman wrote: > > Hi Jim and Ben, > > > > For the threading issue, I agree that there is something not very clean= in > the > > interface, as there is an assumption on how the user implements it. As = I did > > in the bdev_user_example, we also use a ring in order to place all the > > incoming IO without delaying the reactor, and then use multiple pollers= to > > actually handle the IO (deduplication, compression, HA etc.). This is w= hy > > there are 2 distinct interfaces - submit_io callback, and > > the bdev_user_submit_completion interface which (normally) is called on > > another thread (not the original poller), and passed back to the reacto= r via > > the completion queue on the bdev_user_io_channel, and the registered po= ller > > thread which takes from the user completion queue. > > Do you think that a cleaner interface would be modifying the submit_io > > callback to a poll_io interface which checks a bdev_user internal ring = for > IO? > > Or do you think that the current interface is OK provided good > documentation? > > > > Regarding the spdk_call_unaffinitized, I am currently using spdk_event_= call > in > > order to register my volumes, I don't really like this since it forces = me to > > (eventually) add another async callback in my app to verify that device > > registration was successful (and this just adds more conditions, futures > etc. > > in the application). Is there a way to call spdk interfaces directly wi= th a > > "non-spdk" thread (i.e. TLS is not initialized)? > > I'm not so much concerned yet with the interface you've defined, but rath= er > understanding the whole approach at a high level. The SPDK bdev layer is > designed for custom bdev modules to be added, so my primary question is w= hy > write a generic bdev_user module as opposed to writing a "your custom sto= rage > backend" module? I think this is the key piece, and understanding the pro= cess > you went through as you designed this will probably yield a whole bunch of > good > improvements to the current bdev module system. > > Thanks, > Ben > > > > > > Hope this answers the questions, > > Shahar > > > > > From: SPDK on behalf of Harris, James R > > > > Sent: Monday, May 7, 2018 9:18:20 PM > > To: Storage Performance Development Kit > > Subject: Re: [SPDK] SPDK + user space appliance > > > > There are also calls such as spdk_call_unaffinitized() and > > spdk_unaffinitize_thread() which have been added to enable cases where a > bdev > > module may need to spawn non-polling threads and don=E2=80=99t want tho= se threads to > > inherit the affinity of the calling thread. The SPDK rbd module curren= tly > > uses these (see git commit fa5206c4) since rbd_open is a blocking call. > (Note > > that librbd does now support rbd_aio_open which is better suited for SP= DK.) > > > > -Jim > > > > > > On 5/7/18, 11:02 AM, "SPDK on behalf of Walker, Benjamin" s. > > 01.org on behalf of benjamin.walker(a)intel.com> wrote: > > > > Hi Shahar, > > > > Thank you for submitting the patch. I've looked through it in detai= l and > I > > think > > I understand the purpose of this code, but I'm going to explain it = back > to > > you > > so you can correct me where I'm wrong. > > > > I think this code solves two distinct problems: > > > > 1) You need to forward I/O out of the bdev layer to some custom bac= kend, > > and you > > want the code that does that to live outside of the SPDK repository. > > > > 2) Your custom back-end library isn't suitable for use in a run-to- > > completion > > model. By that I mean that you can't just call your library directl= y on > > the > > thread that originally receives the spdk_bdev_io request because yo= ur > > library > > either blocks or generally takes too long to return from the submis= sion > > call > > (maybe it is doing inline compression or something). Instead, you n= eed > to > > shuttle those requests off to separate threads for handling. > > > > As far as point #1, today the SPDK build system does not nicely > > accommodate bdev > > modules whose code lives outside of SPDK. SPDK expects them to be in > > lib/bdev/. However, that's a fairly straightforward ch= ange > to > > the > > build system and it's one we've been intending to make for some tim= e. > > > > For point #2, this is likely the case for a large number of storage > back- > > ends, > > but I think the proper way to solve it is probably back-end specifi= c and > > not > > general purpose. As a counter-point, SPDK already integrates with a > number > > of > > third-party storage back-ends today (Ceph RBD, libiscsi, libaio, et= c.) > and > > none > > of those ended up needing to pass messages to other threads. They a= ll > > support > > asynchronous operations, though. I could imagine writing a bdev mod= ule > > that > > ultimately makes POSIX preadv calls, for instance. That would need = to be > > implemented with a thread pool and each bdev_io gets funneled off t= o a > > thread in > > the pool to perform the blocking operation. > > > > Ok - I explained what I think I'm understanding. Now tell me where I > went > > wrong > > :) > > > > Thanks, > > Ben > > > > On Sun, 2018-05-06 at 10:32 +0000, Shahar Salzman wrote: > > > Hi, > > > > > > I pushed the code for review, thanks Daniel for the help. > > > > > > In a nutshell: > > > - bdev_user - an API for a user appliance to use spdk as an > iSCSI/NVMeF > > target > > > - bdev_user_example - reference application > > > - The API relies on rings in order to submit/complete IOs > > > - User appliance registers callbacks for submit_io (should we have > > > read/write/other instead?) > > > - User appliance registers its devices so that they may be added = to an > > > existing namespace (I am using RPC to do the management) > > > > > > Thanks, > > > Shahar > > > > > > > > > From: SPDK on behalf of Verkamp, Da= niel > > > > rkamp(a)intel.com> > > > Sent: Thursday, May 3, 2018 8:50 PM > > > To: Storage Performance Development Kit > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > Hi Shahar, > > > > > > The target branch for the push should be =E2=80=98refs/for/master= =E2=80=99, not > =E2=80=98master=E2=80=99 > > =EF=BF=BD if > > > you configured a remote as specified in http://www.spdk.io/develo= pment SPDK Development www.spdk.io The Storage Performance Development Kit (SPDK) provides a set of tools and = libraries for writing high performance, scalable, user-mode storage applica= tions. It achieves high performance by moving all of the necessary drivers = into userspace and operating in a polled mode instead of relying on interru= pts, which avoids kernel context switches and ... > / > > it > > > should look like: > > > > > > [remote "review"] > > > url =3D https://review.gerrithub.io/spdk/spdk > > > push =3D HEAD:refs/for/master > > > > > > From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Shah= ar > > Salzman > > > Sent: Thursday, May 3, 2018 1:00 AM > > > To: Storage Performance Development Kit > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > Hi Ben, > > > > > > I have the code ready for review (spdk/master on dpdk/18.02), but= I do > > not > > > have push rights for gerrithub: > > > shahar.salzman(a)shahars-vm:~/Kaminario/git/spdk$ git push spdk-r= eview > > > HEAD:master > > > Password for 'https://ShaharSalzman-K(a)review.gerrithub.io': > > > Counting objects: 109, done. > > > Compressing objects: 100% (22/22), done. > > > Writing objects: 100% (22/22), 8.70 KiB | 0 bytes/s, done. > > > Total 22 (delta 14), reused 0 (delta 0) > > > remote: Resolving deltas: 100% (14/14) > > > remote: Branch refs/heads/master: > > > remote: You are not allowed to perform this operation. > > > remote: To push into this reference you need 'Push' rights. > > > remote: User: ShaharSalzman-K > > > remote: Please read the documentation and contact an administrator > > > remote: if you feel the configuration is incorrect > > > remote: Processing changes: refs: 1, done > > > To https://ShaharSalzman-K(a)review.gerrithub.io/a/spdk/spdk > > > ! [remote rejected] HEAD -> master (prohibited by Gerrit: ref up= date > > access > > > denied) > > > error: failed to push some refs to 'https://clicktime.symantec.co= m/a/1/VcP2v4HJWwYtLlvp3_LcgSsqhmYOOUAZscJQHE8uNvI=3D?d=3DESGMfx885Mon-FYabm= hD7ls3wtWmBZW9kWgryeq1SISrgpYjCOb4IS6lwYKSCrvtHc7CEvBRgFQdII_hRkKdEHtIPw-_l= -2vbpSf4mgn8dWJRwfogT1dkkd4aplrKU00CzI0rDhCgZT67GHdJ7NowVIQ_12RIr45uXe3dXDg= V1slShko1C3-ayHaghRMgJQoGQz5ewaurDC42wc7_w1BEs8oj1QoSKsDNxm9-hFs4L9a-XshONM= r1SxTXIt9EIfUvWoaFlCtJeJikXq2XnYc-tunDEHEykqgMCz_AWlpwA4UE5RVCmkekk-Fuxjm4U= Ync6ggHScc1xqmGn-WwsISBpjmD_tGzsoKqRuVhiV01CId-_wCmWsv-uXcoIhW0e_JPIuV6LLTZ= hTPZ8JMljeezHgswSjkLaVkX1U3lDxg25b69Q%3D%3D&u=3Dhttps%3A%2F%2FShaharSalzman= -K%40review.ger > ri > > thub.i > > > o/a/spdk/spdk' > > > > > > Am I doing something incorrect, or is this just a permission issu= e? > > > > > > Thanks, > > > Shahar > > > From: SPDK on behalf of Shahar Salz= man > > > > zman(a)kaminario.com> > > > Sent: Wednesday, April 25, 2018 9:02:38 AM > > > To: Storage Performance Development Kit > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > Hi Ben, > > > > > > The code is currently working on v17.07, we are planning on bumpi= ng > the > > > version to one of the latest stable versions (18.01?) + master. > > > It will take me (hopefully) a few days to update the code and hav= e our > > > internal CI start running on this version, not sure it would be > useful, > > but I > > > can get our working 17.07 code (+ reference application) for revi= ew > much > > > faster. > > > What is the best course of action? > > > > > > Shahar > > > From: SPDK on behalf of Walker, Ben= jamin > > > > .walker(a)intel.com> > > > Sent: Tuesday, April 24, 2018 7:19:12 PM > > > To: Storage Performance Development Kit > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > Hi Shahar, > > > > > > Would you be willing to submit your bdev module as a patch on > GerritHub? > > That > > > way everyone can take a look and provide feedback. If you don=E2= =80=99t want > it > > to run > > > the tests, you can put [RFC] and the beginning of the commit mess= age. > > > > > > Thanks, > > > Ben > > > > > > From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Shah= ar > > Salzman > > > Sent: Monday, April 23, 2018 8:45 AM > > > To: spdk(a)lists.01.org > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > Hi Ben, > > > > > > Bumping this thread since I've been having some new thoughts on t= he > > issue now > > > that we are starting integration with newer spdk versions. > > > Unfortunately the merge isn't as smooth as I'd like it to be sinc= e the > > bdev > > > module is pretty tightly integrated into spdk, perhaps we made so= me > > false > > > assumptions writing the module, but it seems some of the newer sp= dk > > features > > > are complicating the integration. > > > My question is, if this passthrough module is useful, wouldn't it= be > > better to > > > maintain it as part of spdk so that we can catch issues as soon as > they > > show > > > up? > > > We would be happy to help with maintaining this module, the module > with > > is > > > currently part of our CI with our "frozen" spdk version, but once > > integrated > > > into the newer version we choose, I'll add it to the CI our CI as > well. > > > > > > Shahar > > > From: SPDK on behalf of Walker, Ben= jamin > > > > .walker(a)intel.com> > > > Sent: Friday, February 2, 2018 11:43:58 PM > > > To: spdk(a)lists.01.org > > > Subject: Re: [SPDK] SPDK + user space appliance > > > > > > On Thu, 2018-02-01 at 08:29 +0000, Shahar Salzman wrote: > > > > Hi Ben, > > > > > > > > Would you also like to take a look at the bdev_user module? > > > > It still needs some patching (as some of the stuff is still hard > > coded), but > > > I > > > > think we can get most of it cleaned up in a couple of days. > > > > > > > > In any case, is it the intention that the user write his own bd= ev > > module, or > > > > would this user appliance glue be a useful generic module? > > > > > > For existing storage stacks that serve block I/O, like the intern= als > of > > a SAN, > > > the idea is that you write your own bdev module to forward I/O co= ming > > out of > > > the > > > SPDK bdev layer. Then you can use the SPDK iSCSI/NVMe-oF/vhost ta= rgets > > mostly > > > as-is. > > > > > > In some cases, the actual iSCSI/NVMe-oF/vhost target applications > won't > > > integrate nicely directly into an existing storage application be= cause > > they > > > spawn their own threads and allocate their own memory. To support > that, > > the > > > libraries may be consumed directly instead of the applications > > (lib/iscsi, > > > lib/scsi, lib/nvmf, etc.). The libraries don't spawn any of their= own > > threads, > > > but instead rely on SPDK's abstractions in include/spdk/io_channe= l.h. > > See > > > > > > http://www.spdk.io/doc/concurrency.html > > > > > > We don't currently have a way to write a custom bdev module that > resides > > > outside > > > of the SPDK source tree, but it's very possible to add support for > that. > > But > > > beyond that inconvenience (just drop your module in lib/bdev for = now), > > writing > > > a > > > bdev module is the recommended way of interacting with the bottom= end > of > > the > > > SPDK bdev layer. I think that's what you really want to be doing = in > your > > code, > > > from what I can tell. > > > > > > I hope that helps! > > > _______________________________________________ > > > SPDK mailing list > > > SPDK(a)lists.01.org > > > https://lists.01.org/mailman/listinfo/spdk > > > > > > _______________________________________________ > > > SPDK mailing list > > > SPDK(a)lists.01.org > > > https://lists.01.org/mailman/listinfo/spdk > > _______________________________________________ > > SPDK mailing list > > SPDK(a)lists.01.org > > https://lists.01.org/mailman/listinfo/spdk > > > > > > _______________________________________________ > > SPDK mailing list > > SPDK(a)lists.01.org > > https://lists.01.org/mailman/listinfo/spdk > > _______________________________________________ > > SPDK mailing list > > SPDK(a)lists.01.org > > https://lists.01.org/mailman/listinfo/spdk > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk > _______________________________________________ > SPDK mailing list > SPDK(a)lists.01.org > https://lists.01.org/mailman/listinfo/spdk _______________________________________________ SPDK mailing list SPDK(a)lists.01.org https://lists.01.org/mailman/listinfo/spdk --===============7761851978586374059== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD1nYjIzMTIiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiIHN0eWxlPSJk aXNwbGF5Om5vbmU7Ij48IS0tIFAge21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7fSAtLT48 L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGRpcj0ibHRyIj4KPGRpdiBpZD0iZGl2dGFnZGVmYXVsdHdy YXBwZXIiIHN0eWxlPSJmb250LXNpemU6MTJwdDtjb2xvcjojMDAwMDAwO2ZvbnQtZmFtaWx5OkNh bGlicmksSGVsdmV0aWNhLHNhbnMtc2VyaWY7IiBkaXI9Imx0ciI+CjxwIHN0eWxlPSJtYXJnaW4t dG9wOjA7bWFyZ2luLWJvdHRvbTowIiBkaXI9Imx0ciI+SGkgU2hhaGFyLDwvcD4KPHAgc3R5bGU9 Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiIGRpcj0ibHRyIj48YnI+CjwvcD4KPHAgc3R5 bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiIGRpcj0ibHRyIj5GaXJzdCBJIGFwb2xv Z2l6ZSBJIGRpZG4ndCBsb29rIHRoZSBwYXRjaCBpbiBkZXRhaWwgYmVmb3JlIHJlcGx5LjwvcD4K PHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjAiIGRpcj0ibHRyIj48YnI+Cjwv cD4KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IENhbGlicmks SGVsdmV0aWNhLHNhbnMtc2VyaWYsJnF1b3Q7RW1vamlGb250JnF1b3Q7LCZxdW90O0FwcGxlIENv bG9yIEVtb2ppJnF1b3Q7LCZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LE5vdG9Db2xvckVtb2pp LCZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywmcXVvdDtBbmRyb2lkIEVtb2ppJnF1b3Q7LEVt b2ppU3ltYm9sczsgZm9udC1zaXplOiAxMnB0OyIgZGlyPSJsdHIiPgpJIGtub3cgdXBkYXRpbmcg U1BESyBmcm9tIDE3LjA3IHRvIDE4LjAxIGlzIG5vdCBlYXN5IHRhc2suPC9kaXY+CjxkaXYgc3R5 bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLEhlbHZldGljYSxz YW5zLXNlcmlmLCZxdW90O0Vtb2ppRm9udCZxdW90OywmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZx dW90OywmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OyxOb3RvQ29sb3JFbW9qaSwmcXVvdDtTZWdv ZSBVSSBTeW1ib2wmcXVvdDssJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90OyxFbW9qaVN5bWJvbHM7 IGZvbnQtc2l6ZTogMTJwdDsiIGRpcj0ibHRyIj4KSG93ZXZlciBjcmVhdGluZyBvd24gZnJhbWV3 b3JrIG9ubHkgb24gdGhlIERQREsgbG9ja2xlc3MgcmluZyBsb29rcyBjdW1iZXJzb21lIGZvciBt ZS48L2Rpdj4KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1pbHk6IENh bGlicmksSGVsdmV0aWNhLHNhbnMtc2VyaWYsJnF1b3Q7RW1vamlGb250JnF1b3Q7LCZxdW90O0Fw cGxlIENvbG9yIEVtb2ppJnF1b3Q7LCZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LE5vdG9Db2xv ckVtb2ppLCZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywmcXVvdDtBbmRyb2lkIEVtb2ppJnF1 b3Q7LEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxMnB0OyIgZGlyPSJsdHIiPgo8YnI+CjwvZGl2 Pgo8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogQ2FsaWJyaSxI ZWx2ZXRpY2Esc2Fucy1zZXJpZiwmcXVvdDtFbW9qaUZvbnQmcXVvdDssJnF1b3Q7QXBwbGUgQ29s b3IgRW1vamkmcXVvdDssJnF1b3Q7U2Vnb2UgVUkgRW1vamkmcXVvdDssTm90b0NvbG9yRW1vamks JnF1b3Q7U2Vnb2UgVUkgU3ltYm9sJnF1b3Q7LCZxdW90O0FuZHJvaWQgRW1vamkmcXVvdDssRW1v amlTeW1ib2xzOyBmb250LXNpemU6IDEycHQ7IiBkaXI9Imx0ciI+ClRoYW5rcyBmb3IgeW91ciBp bnRlcmVzdGluZyBwcm9wb3NhbCBhZ2FpbiBhbmQgSSdtIHNvcnJ5IHRoYXQgSSBjYW4ndCBkbyBl bm91Z2ggZWZmb3J0IHRvIHRoZSBjb21tdW5pdGl6YXRpb24gaW4gdGhpcyBkaXJlY3Rpb24gaW1t ZWRpYXRlbHkuJm5ic3A7PC9kaXY+CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZv bnQtZmFtaWx5OiBDYWxpYnJpLEhlbHZldGljYSxzYW5zLXNlcmlmLCZxdW90O0Vtb2ppRm9udCZx dW90OywmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywmcXVvdDtTZWdvZSBVSSBFbW9qaSZx dW90OyxOb3RvQ29sb3JFbW9qaSwmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssJnF1b3Q7QW5k cm9pZCBFbW9qaSZxdW90OyxFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTJwdDsiIGRpcj0ibHRy Ij4KPGJyPgo8L2Rpdj4KPGRpdiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9udC1mYW1p bHk6IENhbGlicmksSGVsdmV0aWNhLHNhbnMtc2VyaWYsJnF1b3Q7RW1vamlGb250JnF1b3Q7LCZx dW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCZxdW90O1NlZ29lIFVJIEVtb2ppJnF1b3Q7LE5v dG9Db2xvckVtb2ppLCZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywmcXVvdDtBbmRyb2lkIEVt b2ppJnF1b3Q7LEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxMnB0OyIgZGlyPSJsdHIiPgpUaGFu a3MsPC9kaXY+CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBD YWxpYnJpLEhlbHZldGljYSxzYW5zLXNlcmlmLCZxdW90O0Vtb2ppRm9udCZxdW90OywmcXVvdDtB cHBsZSBDb2xvciBFbW9qaSZxdW90OywmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OyxOb3RvQ29s b3JFbW9qaSwmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssJnF1b3Q7QW5kcm9pZCBFbW9qaSZx dW90OyxFbW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTJwdDsiIGRpcj0ibHRyIj4KU2h1aGVpPC9k aXY+CjxkaXYgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBDYWxpYnJp LEhlbHZldGljYSxzYW5zLXNlcmlmLCZxdW90O0Vtb2ppRm9udCZxdW90OywmcXVvdDtBcHBsZSBD b2xvciBFbW9qaSZxdW90OywmcXVvdDtTZWdvZSBVSSBFbW9qaSZxdW90OyxOb3RvQ29sb3JFbW9q aSwmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90OyxF bW9qaVN5bWJvbHM7IGZvbnQtc2l6ZTogMTJwdDsiIGRpcj0ibHRyIj4KPGJyPgo8L2Rpdj4KPGRp diBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsiIGRpcj0ibHRyIj4KPGhyIHRhYmluZGV4PSIt MSIgc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjk4JSI+CjxkaXYgaWQ9ImRpdlJw bHlGd2RNc2ciIGRpcj0ibHRyIj48Zm9udCBjb2xvcj0iIzAwMDAwMCIgZmFjZT0iQ2FsaWJyaSwg c2Fucy1zZXJpZiIgc3R5bGU9ImZvbnQtc2l6ZToxMXB0Ij48Yj6y7rP2yMs6PC9iPiBTUERLICZs dDtzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnJmd0OyCkrCBTaGFoYXIgU2Fsem1hbiAmbHQ7c2hh aGFyLnNhbHptYW5Aa2FtaW5hcmlvLmNvbSZndDsgpM60+sDtpMfLzdDFPGJyPgo8Yj7LzdDFyNWV cjo8L2I+IDIwMTjE6jXUwjEwyNUgNDo0NTxicj4KPGI+zfDPyDo8L2I+IHNwZGtAbGlzdHMuMDEu b3JnPGJyPgo8Yj68/sP7OjwvYj4gWyFdUmU6IFtTUERLXSBTUERLICYjNDM7IHVzZXIgc3BhY2Ug YXBwbGlhbmNlPC9mb250Pgo8ZGl2PiZuYnNwOzwvZGl2Pgo8L2Rpdj4KPG1ldGEgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PVdpbmRvd3MtMTI1MiI+CjxkaXYgZGlyPSJsdHIiPgo8ZGl2IGlk PSJ4X2RpdnRhZ2RlZmF1bHR3cmFwcGVyIiBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAwKTsgZm9u dC1mYW1pbHk6IENhbGlicmksSGVsdmV0aWNhLHNhbnMtc2VyaWYsJnF1b3Q7RW1vamlGb250JnF1 b3Q7LCZxdW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCZxdW90O1NlZ29lIFVJIEVtb2ppJnF1 b3Q7LE5vdG9Db2xvckVtb2ppLCZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90OywmcXVvdDtBbmRy b2lkIEVtb2ppJnF1b3Q7LEVtb2ppU3ltYm9sczsgZm9udC1zaXplOiAxMnB0OyIgZGlyPSJsdHIi Pgo8ZGl2IGlkPSJ4X2RpdnRhZ2RlZmF1bHR3cmFwcGVyIiBzdHlsZT0iZm9udC1zaXplOjEycHQ7 IGNvbG9yOnJnYigwLDAsMCk7IGZvbnQtZmFtaWx5OkNhbGlicmksSGVsdmV0aWNhLHNhbnMtc2Vy aWYsRW1vamlGb250LCZxdW90O0FwcGxlIENvbG9yIEVtb2ppJnF1b3Q7LCZxdW90O1NlZ29lIFVJ IEVtb2ppJnF1b3Q7LE5vdG9Db2xvckVtb2ppLCZxdW90O1NlZ29lIFVJIFN5bWJvbCZxdW90Oywm cXVvdDtBbmRyb2lkIEVtb2ppJnF1b3Q7LEVtb2ppU3ltYm9scyIgZGlyPSJsdHIiPgo8cCBzdHls ZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPkhpIEJlbiw8L3A+CjxwIHN0eWxlPSJt YXJnaW4tdG9wOjA7IG1hcmdpbi1ib3R0b206MCI+PGJyPgo8L3A+CjxwIHN0eWxlPSJtYXJnaW4t dG9wOjA7IG1hcmdpbi1ib3R0b206MCI+WW91IG1ha2UgYSBnb29kIHBvaW50LjwvcD4KPHAgc3R5 bGU9Im1hcmdpbi10b3A6MDsgbWFyZ2luLWJvdHRvbTowIj5XZSBhcmUgbG9va2luZyBmb3IgYSBz dGFibGUgQVBJLCBzbyBnaXZlbiBhIHN0YWJsZSBBUEkgd2hpY2ggaXMgbm90IHVuZGVyIGJkZXZf aW50ZXJuYWwsIEkgY2FuIHBvcnQgdGhlIGVudGlyZSBiZGV2X3VzZXIgbW9kdWxlIGludG8gbXkg Z2x1ZSBBUEksIGFuZCB1c2UgaXQgYXMgbXkgc3BkayBnYXRld2F5LjwvcD4KPHAgc3R5bGU9Im1h cmdpbi10b3A6MDsgbWFyZ2luLWJvdHRvbTowIj5CdXQgdGhlcmUgaXMgYSBiZW5lZml0IHRvIHB1 c2hpbmcgdGhpcyB0byB0aGUgY29tbXVuaXR5LCBzaW5jZSBpdCB3b3VsZCBzZWVtIHRoYXQgdGhl IHNlbWFudGljcyZuYnNwOzxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpDYWxpYnJpLEhlbHZldGlj YSxzYW5zLXNlcmlmLEVtb2ppRm9udCwmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywmcXVv dDtTZWdvZSBVSSBFbW9qaSZxdW90OyxOb3RvQ29sb3JFbW9qaSwmcXVvdDtTZWdvZSBVSSBTeW1i b2wmcXVvdDssJnF1b3Q7QW5kcm9pZCBFbW9qaSZxdW90OyxFbW9qaVN5bWJvbHM7IGZvbnQtc2l6 ZToxNnB4Ij4oZS5nLgogcmVnaXN0ZXJfZGV2aWNlLCBzdWJtaXQvcG9sbCBmb3IgSU8sIGNvbXBs ZXRlIElPKTwvc3Bhbj4gYXJlIHZlcnkgc2ltaWxhciB0byB0aG9zZSBhdHRlbXB0aW5nIHRvIGlu dGVncmF0ZSBzcGRrIHRvIGEgc3RvcmFnZSBhcHBsaWFuY2UgKEkgd291bGQgbG92ZSB0byBoZWFy IGZyb20mbmJzcDs8c3Bhbj5TaHVoZWkgTWF0c3Vtb3RvJm5ic3A7b3ImbmJzcDs8L3NwYW4+Jm5i c3A7RXlhbCZuYnNwOzxzcGFuPkhhcmFyaSB3aGljaCBzZWVtIHRvIGJlIGF0dGVtcHRpbmcgYSBz aW1pbGFyIGludGVncmF0aW9uCiBvZiBzcGRrIHRvIHRoZWlyIHByb2R1Y3RzKTwvc3Bhbj4uPC9w Pgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPjxicj4KPC9wPgo8cCBz dHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPlVzaW5nIHRoaXMgc29ydCBvZiBB UEkgaXMgbXVjaCBlYXNpZXIgdGhhbiBoYXZpbmcgdG8gdW5kZXJzdGFuZCBhbiBlbGFib3JhdGUg YmRldiBBUEksIHNwZGsgdGhyZWFkaW5nIGNvbmNlcm5zLCByZWFjdG9yIGlzc3VlcyBldGMuPC9w Pgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTJwdCI+PGJyPgo8L3NwYW4+PC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBt YXJnaW4tYm90dG9tOjAiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdCI+SW4gYWRkaXRpb24s IHNpbmNlIHRoZSBzZW1hbnRpY3MgYXJlIHNpbWlsYXIsIEkgd291bGQgaW1hZ2luZSB0aGF0IGlm IGVhY2ggdXNlciB3cml0ZXMgdGhlaXIgb3duIGludGVncmF0aW9uIG1vZHVsZSwgd2UgZW5kIHVw IHdpdGggbXVsdHBsZSB2ZXJzaW9ucyBvZiB0aGUgc2FtZSBjb2RlLjwvc3Bhbj48L3A+CjxwIHN0 eWxlPSJtYXJnaW4tdG9wOjA7IG1hcmdpbi1ib3R0b206MCI+QWxsIHBhcnRpZXMgZXZlbnR1YWxs eSZuYnNwO2JlbmVmaXQgZnJvbSB0aGUgJnF1b3Q7Y29tbXVuaXRpemF0aW9uJnF1b3Q7IHNpbmNl IHdlIGNhbiBvcGVubHkgZGlzY3VzcyB0aGUgaW50ZXJmYWNlLCBhbmQgY29kZSBxdWFsaXR5IG9m IGEgY29tbW9uIG1vZHVsZSZuYnNwO3Nob3VsZCBiZSBtdWNoIGJldHRlciB0aGFuIGFueSAmcXVv dDtwcml2YXRlJnF1b3Q7IGNvcHkuPC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4t Ym90dG9tOjAiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdCI+PGJyPgo8L3NwYW4+PC9wPgo8 cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTJwdCI+SSBhbHNvIGFncmVlLCB0aGF0IGlmIHRoaXMgbW9kdWxlIGdvZXMgdXBzdHJl YW0gaXQgbmVlZHMgdG8gYmUgcGFpcmVkIHdpdGggYSBnb29kIHVuaXQgdGVzdCBydW5uaW5nIGlu IENJJm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdCI+c28gdGhhdCBhcyB0 aGUgaW50ZXJuYWwgaW50ZXJmYWNlIGV2b2x2ZXMgYW5kCiBhcyBiZGV2IGNoYW5nZXMsIG1vZHVs ZSBicmVha2FnZXMgYXJlIGVhc2lseSBkZXRlY3RlZCwgb3RoZXJ3aXNlIGlzc3VlcyBuZWVkIHRv IGJlIHNvbHZlZCB1cG9uIGludGVncmF0aW5nIGEgbmV3IHZlcnNpb24uPC9zcGFuPjxicj4KPC9w Pgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBtYXJnaW4tYm90dG9tOjAiPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTJwdCI+PGJyPgo8L3NwYW4+PC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowOyBt YXJnaW4tYm90dG9tOjAiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTJwdCI+U2hhaGFyPC9zcGFu PjwvcD4KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDsgbWFyZ2luLWJvdHRvbTowIj48YnI+CjwvcD4K PHAgc3R5bGU9Im1hcmdpbi10b3A6MDsgbWFyZ2luLWJvdHRvbTowIj48YnI+CjwvcD4KPC9kaXY+ CjxociB0YWJpbmRleD0iLTEiIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazsgd2lkdGg6OTgl Ij4KPGRpdiBpZD0ieF9kaXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgY29sb3I9IiMwMDAw MDAiIGZhY2U9IkNhbGlicmksIHNhbnMtc2VyaWYiIHN0eWxlPSJmb250LXNpemU6MTFwdCI+PGI+ RnJvbTo8L2I+IFNQREsgJmx0O3NwZGstYm91bmNlc0BsaXN0cy4wMS5vcmcmZ3Q7IG9uIGJlaGFs ZiBvZiBXYWxrZXIsIEJlbmphbWluICZsdDtiZW5qYW1pbi53YWxrZXJAaW50ZWwuY29tJmd0Ozxi cj4KPGI+U2VudDo8L2I+IFdlZG5lc2RheSwgTWF5IDksIDIwMTggNzo1MjozOCBQTTxicj4KPGI+ VG86PC9iPiBzcGRrQGxpc3RzLjAxLm9yZzxicj4KPGI+U3ViamVjdDo8L2I+IFJlOiBbU1BES10g U1BESyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTwvZm9udD4KPGRpdj4mbmJzcDs8L2Rpdj4K PC9kaXY+CjxkaXYgY2xhc3M9InhfQm9keUZyYWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBz dHlsZT0iZm9udC1zaXplOjExcHQiPgo8ZGl2IGNsYXNzPSJ4X1BsYWluVGV4dCI+T24gV2VkLCAy MDE4LTA1LTA5IGF0IDA3OjQ4ICYjNDM7MDAwMCwgU2hhaGFyIFNhbHptYW4gd3JvdGU6PGJyPgom Z3Q7IEhpIEJlbiw8YnI+CiZndDsgPGJyPgomZ3Q7IFRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uIGZp cnN0LCB0aGUgbWFpbiByZWFzb24gdG8gaGF2ZSBhIGdlbmVyaWMgc3BkayBJTyBBUEk8YnI+CiZn dDsgZm9yIHN0b3JhZ2UgYXBwbGlhbmNlIGlzIGJlaW5nIGFibGUgdG8gbWFpbnRhaW4gZnVuY3Rp b25hbGl0eSBvdmVyIHZlcnNpb25zLjxicj4KJmd0OyBXZSBzdGFydGVkIHdpdGggb3VyIG1vZHVs ZSBpbiB2ZXJzaW9uIDE3LjA3LCBidXQgd2hlbiB3ZSBzdGFydGVkIGludGVncmF0aW5nPGJyPgom Z3Q7IGl0IGludG8gMTcuMDcuMDEsIGFuZCB0aGUgMTguWCB2ZXJzaW9uIHdlIHN0YXJ0ZWQgcnVu bmluZyBpbnRvIGlzc3Vlcy4gU2luY2U8YnI+CiZndDsgdGhlIGJkZXYgbGF5ZXIgaXMgaW50ZXJu YWwgdG8gc3BkaywgaXQgbWFrZXMgc2Vuc2UgdGhhdCBpdCB3aWxsIGNoYW5nZSBib3RoIGluPGJy PgomZ3Q7IGZ1bmN0aW9uYWxpdHkgYW5kIGluIGludGVyZmFjZSBmcm9tIHRpbWUgdG8gdGltZSBl c3BlY2lhbGx5IGluIE5WTWVGIHdoZXJlIHRoZTxicj4KJmd0OyBzcGVjaWZpY2F0aW9ucyBhcmUg c28geW91bmcsIHdoaWNoIGlzIHRoZSByZWFzb24gdGhhdCB3ZSB3b3VsZCBsaWtlIHRvIGhhdmUg YW48YnI+CiZndDsgQVBJIHdoaWNoIGlzIG1vcmUgc3RhYmxlIG92ZXIgdmVyc2lvbnMuPGJyPgom Z3Q7IEFzIGEgc3RvcmFnZSBhcHBsaWFuY2UsIHRoZSByZXF1aXJlbWVudHMgYXJlIGZhaXJseSBz dGFibGUsIGFuZCBhdCBsZWFzdCBpbjxicj4KJmd0OyB0aGUgY2FzZSBvZiBTQ1NJLCBhIHRoaW4g JnF1b3Q7Z2x1ZSBBUEkmcXVvdDsgaGFkIGJlZW4gZW5vdWdoIHRvIGdldCB0aGUgY29yZSBhcHBs aWFuY2U8YnI+CiZndDsgd29yayB3aXRoIG11bHRpcGxlIGZyb250ZW5kIHRhcmdldHMgKGUuZy4g Ym90aCBTQ1NJIGFuZCBpbnRlcm5hbCByZXBsaWNhdGlvbikuPGJyPgomZ3Q7IEkgYmVsaWV2ZSB0 aGF0IHRoZSBzYW1lIG1ldGhvZCBjYW4gYmUgYXBwbGllZCB0byBOVk1FRi48YnI+CiZndDsgSW4g YWRkaXRpb24sIEkgdGhpbmsgdGhhdCBvdXIgdXNlIGNhc2UgaXMgbm90IHVuaXF1ZSB0byB0aGUg d2F5IHdlIGFyZTxicj4KJmd0OyBpbnRlZ3JhdGluZyBzcGRrLCB3aGljaCBtZWFucyB0aGF0IHRo ZSB3b3JrIHdlIHB1dCBpbiBjYW4gYmVuZWZpdCBvdGhlciB1c2Vycyw8YnI+CiZndDsgYW5kIGhv cGVmdWxseSB2aWEgdGhlaXIgZXhwZXJpZW5jZSwgdGhlIGNvZGUgY2FuIGJlY29tZSBtb3JlIHJv YnVzdCBhbmQ8YnI+CiZndDsgdXNlZnVsLjxicj4KPGJyPgpUaGFuayB5b3UgZm9yIHRoaXMgLSBu b3cgZXZlcnl0aGluZyBpcyBtdWNoIGNsZWFyZXIuIEkgdG90YWxseSBhZ3JlZSB3aXRoIHdoYXQ8 YnI+CnlvdSdyZSBzYXlpbmcgYWJvdXQgdGhlIEFQSSBiZWluZyB1bnN0YWJsZSBhbmQgaW50ZXJu YWwuIFRoYXQgbWFrZXMgaXQgcXVpdGU8YnI+CmRpZmZpY3VsdCB0byB3cml0ZSBhIGJkZXYgbW9k dWxlIHRoYXQgY29udGludWVzIHRvIGZ1bmN0aW9uIGFjcm9zcyByZWxlYXNlcy48YnI+Ckhvd2V2 ZXIsIEkgZG9uJ3QgdGhpbmsgdHJhZGluZyBvbmUgQVBJICh0aGUgYmRldiBtb2R1bGUgQVBJKSBm b3IgYW5vdGhlciAodGhlPGJyPgpwcm9wb3NlZCBiZGV2IHVzZXIgQVBJKSBmaXhlcyBhbnl0aGlu ZyBhdCBhIGZ1bmRhbWVudGFsIGxldmVsLiBUaGlzIGlzIGJlY2F1c2U8YnI+CnRoZSBBUEkgY2hh bmdlcyB3ZSd2ZSBtYWRlIHRvIHRoZSBiZGV2IG1vZHVsZSBBUEkgYXJlIG5lY2Vzc2FyeSB0byBj b3JyZWN0bHk8YnI+CmltcGxlbWVudCBzb21lIHR5cGVzIG9mIGJkZXYgbW9kdWxlcyAoYWx0aG91 Z2ggcHJvYmFibHkgbm90IHlvdXJzIGN1cnJlbnRseSkuPGJyPgpPdmVyIHRpbWUsIHlvdSdsbCBq dXN0IGVuZCB1cCBwcm9wYWdhdGluZyBhbGwgb2YgdGhvc2UgY2hhbmdlcyBpbnRvIHRoZSBuZXds eTxicj4KcHJvcG9zZWQgYmRldiB1c2VyIEFQSSBpbiBvcmRlciB0byBtYWtlIGl0IHN1aXRhYmxl IGZvciBnZW5lcmFsIHVzZSBhbmQgd2Ugd29uJ3Q8YnI+CmJlIGluIGFueSBiZXR0ZXIgb2YgYSBz cG90IHRoYW4gd2UgYXJlIHRvZGF5Ljxicj4KPGJyPgpJIGRvIHRoaW5rIHRoaXMgaXMgYSBwcm9i bGVtIHRoYXQgbmVlZHMgdG8gYmUgc29sdmVkIGFzIHNvb24gYXMgcG9zc2libGUgdGhvdWdoLjxi cj4KJm5ic3A7VGhlIHNvbHV0aW9uLCBpbiBteSBtaW5kLCBpcyB0byBzdGFydCB0aGUgd29yayBv ZiBkZWZpbmluZyBhIHB1YmxpYyBiZGV2IG1vZHVsZTxicj4KQVBJIGluIGluY2x1ZGUvc3Bkay9i ZGV2X21vZHVsZS5oLiBJdCB3aWxsIHRha2Ugc29tZSB3b3JrIHRvIGRlZmluZSB0aGUgQVBJIGlu IGE8YnI+CndheSB0aGF0IGFzIG1hbnkgb2YgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgYXJl IGhpZGRlbiBhcyBwb3NzaWJsZSwgYnV0IGl0IGlzPGJyPgp3b3J0aCB0aGUgZWZmb3J0LiBNb3N0 IG9mIHRoZSBtb2R1bGUgQVBJIGN1cnJlbnRseSByZXNpZGVzIGluPGJyPgppbmNsdWRlL3NwZGtf aW50ZXJuYWwvYmRldi5oLCBidXQgdGhlcmUgaXMgYSBsb3Qgb2Ygc3R1ZmYgaW4gdGhlcmUgdGhh dCBkb2Vzbid0PGJyPgpuZWVkIHRvIGJlY29tZSBwdWJsaWMuPGJyPgo8YnI+Ck9uY2Ugd2UgaGF2 ZSBhIHdlbGwgZGVmaW5lZCBwdWJsaWMgaW50ZXJmYWNlLCB3ZSBjYW4gdGFrZSBzdGVwcyB0byBh dm9pZDxicj4KYnJlYWtpbmcgaXQgZ29pbmcgZm9yd2FyZC4gSSdtIGdpdmluZyBhIHRhbGsgb24g QVBJIHN0YWJpbGl0eSBhdCB0aGUgU1BESyBzdW1taXQ8YnI+Cm5leHQgd2VlayB0aGF0IHdpbGwg dG91Y2ggb24gc29tZSBvZiB0aGUgc3RyYXRlZ2llcyB3ZSBwbGFuIHRvIGVtcGxveSB0byBrZWVw PGJyPgpBUElzIHN0YWJsZSBvdmVyIHRpbWUuPGJyPgo8YnI+CkknbGwgd2FpdCBmb3IgbW9yZSBm ZWVkYmFjayB0byBzZWUgaWYgd2UgY2FuIGJ1aWxkIHNvbWUgY29uc2Vuc3VzIGFib3V0IHRoZSBi ZXN0PGJyPgpwYXRoIGZvcndhcmQgaGVyZS4gSSdtIGludGVyZXN0ZWQgdG8gc2VlIGlmIHRoZXJl IGFyZSBhbnkgb3RoZXIgcGVyc3BlY3RpdmVzPGJyPgp0aGF0IG1heSB2aWV3IHRoaXMgYSBiaXQg ZGlmZmVyZW50bHkuPGJyPgo8YnI+CiZndDsgPGJyPgomZ3Q7IFNoYWhhcjxicj4KJmd0OyBGcm9t OiBTUERLICZsdDtzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnJmd0OyBvbiBiZWhhbGYgb2YgV2Fs a2VyLCBCZW5qYW1pbiAmbHQ7YmVuamFtaW48YnI+CiZndDsgLndhbGtlckBpbnRlbC5jb20mZ3Q7 PGJyPgomZ3Q7IFNlbnQ6IFR1ZXNkYXksIE1heSA4LCAyMDE4IDg6MzA6MjAgUE08YnI+CiZndDsg VG86IHNwZGtAbGlzdHMuMDEub3JnPGJyPgomZ3Q7IFN1YmplY3Q6IFJlOiBbU1BES10gU1BESyAm IzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyZuYnNwOyA8YnI+CiZndDsgT24gVHVl LCAyMDE4LTA1LTA4IGF0IDA3OjM2ICYjNDM7MDAwMCwgU2hhaGFyIFNhbHptYW4gd3JvdGU6PGJy PgomZ3Q7ICZndDsgSGkgSmltIGFuZCBCZW4sPGJyPgomZ3Q7ICZndDsgPGJyPgomZ3Q7ICZndDsg Rm9yIHRoZSB0aHJlYWRpbmcgaXNzdWUsIEkgYWdyZWUgdGhhdCB0aGVyZSBpcyBzb21ldGhpbmcg bm90IHZlcnkgY2xlYW4gaW48YnI+CiZndDsgdGhlPGJyPgomZ3Q7ICZndDsgaW50ZXJmYWNlLCBh cyB0aGVyZSBpcyBhbiBhc3N1bXB0aW9uIG9uIGhvdyB0aGUgdXNlciBpbXBsZW1lbnRzIGl0LiBB cyBJIGRpZDxicj4KJmd0OyAmZ3Q7IGluIHRoZSBiZGV2X3VzZXJfZXhhbXBsZSwgd2UgYWxzbyB1 c2UgYSByaW5nIGluIG9yZGVyIHRvIHBsYWNlIGFsbCB0aGU8YnI+CiZndDsgJmd0OyBpbmNvbWlu ZyBJTyB3aXRob3V0IGRlbGF5aW5nIHRoZSByZWFjdG9yLCBhbmQgdGhlbiB1c2UgbXVsdGlwbGUg cG9sbGVycyB0bzxicj4KJmd0OyAmZ3Q7IGFjdHVhbGx5IGhhbmRsZSB0aGUgSU8gKGRlZHVwbGlj YXRpb24sIGNvbXByZXNzaW9uLCBIQSBldGMuKS4gVGhpcyBpcyB3aHk8YnI+CiZndDsgJmd0OyB0 aGVyZSBhcmUgMiBkaXN0aW5jdCBpbnRlcmZhY2VzIC0gc3VibWl0X2lvIGNhbGxiYWNrLCBhbmQ8 YnI+CiZndDsgJmd0OyB0aGUgYmRldl91c2VyX3N1Ym1pdF9jb21wbGV0aW9uIGludGVyZmFjZSB3 aGljaCAobm9ybWFsbHkpIGlzIGNhbGxlZCBvbjxicj4KJmd0OyAmZ3Q7IGFub3RoZXIgdGhyZWFk IChub3QgdGhlIG9yaWdpbmFsIHBvbGxlciksIGFuZCBwYXNzZWQgYmFjayB0byB0aGUgcmVhY3Rv ciB2aWE8YnI+CiZndDsgJmd0OyB0aGUgY29tcGxldGlvbiBxdWV1ZSBvbiB0aGUgYmRldl91c2Vy X2lvX2NoYW5uZWwsIGFuZCB0aGUgcmVnaXN0ZXJlZCBwb2xsZXI8YnI+CiZndDsgJmd0OyB0aHJl YWQgd2hpY2ggdGFrZXMgZnJvbSB0aGUgdXNlciBjb21wbGV0aW9uIHF1ZXVlLjxicj4KJmd0OyAm Z3Q7IERvIHlvdSB0aGluayB0aGF0IGEgY2xlYW5lciBpbnRlcmZhY2Ugd291bGQgYmUgbW9kaWZ5 aW5nIHRoZSBzdWJtaXRfaW88YnI+CiZndDsgJmd0OyBjYWxsYmFjayB0byBhIHBvbGxfaW8gaW50 ZXJmYWNlIHdoaWNoIGNoZWNrcyBhIGJkZXZfdXNlciBpbnRlcm5hbCByaW5nIGZvcjxicj4KJmd0 OyBJTz88YnI+CiZndDsgJmd0OyBPciBkbyB5b3UgdGhpbmsgdGhhdCB0aGUgY3VycmVudCBpbnRl cmZhY2UgaXMgT0sgcHJvdmlkZWQgZ29vZDxicj4KJmd0OyBkb2N1bWVudGF0aW9uPzxicj4KJmd0 OyAmZ3Q7IDxicj4KJmd0OyAmZ3Q7IFJlZ2FyZGluZyB0aGUgc3Bka19jYWxsX3VuYWZmaW5pdGl6 ZWQsIEkgYW0gY3VycmVudGx5IHVzaW5nIHNwZGtfZXZlbnRfY2FsbDxicj4KJmd0OyBpbjxicj4K Jmd0OyAmZ3Q7IG9yZGVyIHRvIHJlZ2lzdGVyIG15IHZvbHVtZXMsIEkgZG9uJ3QgcmVhbGx5IGxp a2UgdGhpcyBzaW5jZSBpdCBmb3JjZXMgbWUgdG88YnI+CiZndDsgJmd0OyAoZXZlbnR1YWxseSkg YWRkIGFub3RoZXIgYXN5bmMgY2FsbGJhY2sgaW4gbXkgYXBwIHRvIHZlcmlmeSB0aGF0IGRldmlj ZTxicj4KJmd0OyAmZ3Q7IHJlZ2lzdHJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCAoYW5kIHRoaXMganVz dCBhZGRzIG1vcmUgY29uZGl0aW9ucywgZnV0dXJlczxicj4KJmd0OyBldGMuPGJyPgomZ3Q7ICZn dDsgaW4gdGhlIGFwcGxpY2F0aW9uKS4gSXMgdGhlcmUgYSB3YXkgdG8gY2FsbCBzcGRrIGludGVy ZmFjZXMgZGlyZWN0bHkgd2l0aCBhPGJyPgomZ3Q7ICZndDsgJnF1b3Q7bm9uLXNwZGsmcXVvdDsg dGhyZWFkIChpLmUuIFRMUyBpcyBub3QgaW5pdGlhbGl6ZWQpPzxicj4KJmd0OyA8YnI+CiZndDsg SSdtIG5vdCBzbyBtdWNoIGNvbmNlcm5lZCB5ZXQgd2l0aCB0aGUgaW50ZXJmYWNlIHlvdSd2ZSBk ZWZpbmVkLCBidXQgcmF0aGVyPGJyPgomZ3Q7IHVuZGVyc3RhbmRpbmcgdGhlIHdob2xlIGFwcHJv YWNoIGF0IGEgaGlnaCBsZXZlbC4gVGhlIFNQREsgYmRldiBsYXllciBpczxicj4KJmd0OyBkZXNp Z25lZCBmb3IgY3VzdG9tIGJkZXYgbW9kdWxlcyB0byBiZSBhZGRlZCwgc28gbXkgcHJpbWFyeSBx dWVzdGlvbiBpcyB3aHk8YnI+CiZndDsgd3JpdGUgYSBnZW5lcmljIGJkZXZfdXNlciBtb2R1bGUg YXMgb3Bwb3NlZCB0byB3cml0aW5nIGEgJnF1b3Q7eW91ciBjdXN0b20gc3RvcmFnZTxicj4KJmd0 OyBiYWNrZW5kJnF1b3Q7IG1vZHVsZT8gSSB0aGluayB0aGlzIGlzIHRoZSBrZXkgcGllY2UsIGFu ZCB1bmRlcnN0YW5kaW5nIHRoZSBwcm9jZXNzPGJyPgomZ3Q7IHlvdSB3ZW50IHRocm91Z2ggYXMg eW91IGRlc2lnbmVkIHRoaXMgd2lsbCBwcm9iYWJseSB5aWVsZCBhIHdob2xlIGJ1bmNoIG9mPGJy PgomZ3Q7IGdvb2Q8YnI+CiZndDsgaW1wcm92ZW1lbnRzIHRvIHRoZSBjdXJyZW50IGJkZXYgbW9k dWxlIHN5c3RlbS48YnI+CiZndDsgPGJyPgomZ3Q7IFRoYW5rcyw8YnI+CiZndDsgQmVuPGJyPgom Z3Q7IDxicj4KJmd0OyA8YnI+CiZndDsgJmd0OyA8YnI+CiZndDsgJmd0OyBIb3BlIHRoaXMgYW5z d2VycyB0aGUgcXVlc3Rpb25zLDxicj4KJmd0OyAmZ3Q7IFNoYWhhcjxicj4KJmd0OyA8YnI+CiZn dDsgPGJyPgomZ3Q7IDxicj4KJmd0OyAmZ3Q7IEZyb206IFNQREsgJmx0O3NwZGstYm91bmNlc0Bs aXN0cy4wMS5vcmcmZ3Q7IG9uIGJlaGFsZiBvZiBIYXJyaXMsIEphbWVzIFI8YnI+CiZndDsgJmd0 OyAmbHQ7amFtZXMuci5oYXJyaXNAaW50ZWwuY29tJmd0Ozxicj4KJmd0OyAmZ3Q7IFNlbnQ6IE1v bmRheSwgTWF5IDcsIDIwMTggOToxODoyMCBQTTxicj4KJmd0OyAmZ3Q7IFRvOiBTdG9yYWdlIFBl cmZvcm1hbmNlIERldmVsb3BtZW50IEtpdDxicj4KJmd0OyAmZ3Q7IFN1YmplY3Q6IFJlOiBbU1BE S10gU1BESyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7IDxi cj4KJmd0OyAmZ3Q7IFRoZXJlIGFyZSBhbHNvIGNhbGxzIHN1Y2ggYXMgc3Bka19jYWxsX3VuYWZm aW5pdGl6ZWQoKSBhbmQ8YnI+CiZndDsgJmd0OyBzcGRrX3VuYWZmaW5pdGl6ZV90aHJlYWQoKSB3 aGljaCBoYXZlIGJlZW4gYWRkZWQgdG8gZW5hYmxlIGNhc2VzIHdoZXJlIGE8YnI+CiZndDsgYmRl djxicj4KJmd0OyAmZ3Q7IG1vZHVsZSBtYXkgbmVlZCB0byBzcGF3biBub24tcG9sbGluZyB0aHJl YWRzIGFuZCBkb26hr3Qgd2FudCB0aG9zZSB0aHJlYWRzIHRvPGJyPgomZ3Q7ICZndDsgaW5oZXJp dCB0aGUgYWZmaW5pdHkgb2YgdGhlIGNhbGxpbmcgdGhyZWFkLiZuYnNwOyBUaGUgU1BESyByYmQg bW9kdWxlIGN1cnJlbnRseTxicj4KJmd0OyAmZ3Q7IHVzZXMgdGhlc2UgKHNlZSBnaXQgY29tbWl0 IGZhNTIwNmM0KSBzaW5jZSByYmRfb3BlbiBpcyBhIGJsb2NraW5nIGNhbGwuIDxicj4KJmd0OyAo Tm90ZTxicj4KJmd0OyAmZ3Q7IHRoYXQgbGlicmJkIGRvZXMgbm93IHN1cHBvcnQgcmJkX2Fpb19v cGVuIHdoaWNoIGlzIGJldHRlciBzdWl0ZWQgZm9yIFNQREsuKTxicj4KJmd0OyAmZ3Q7IDxicj4K Jmd0OyAmZ3Q7IC1KaW08YnI+CiZndDsgJmd0OyA8YnI+CiZndDsgJmd0OyA8YnI+CiZndDsgJmd0 OyBPbiA1LzcvMTgsIDExOjAyIEFNLCAmcXVvdDtTUERLIG9uIGJlaGFsZiBvZiBXYWxrZXIsIEJl bmphbWluJnF1b3Q7ICZsdDtzcGRrLWJvdW5jZXNAbGlzdDxicj4KJmd0OyBzLjxicj4KJmd0OyAm Z3Q7IDAxLm9yZyBvbiBiZWhhbGYgb2YgYmVuamFtaW4ud2Fsa2VyQGludGVsLmNvbSZndDsgd3Jv dGU6PGJyPgomZ3Q7ICZndDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg SGkgU2hhaGFyLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4KJmd0 OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFRoYW5rIHlvdSBmb3Igc3VibWl0dGluZyB0 aGUgcGF0Y2guIEkndmUgbG9va2VkIHRocm91Z2ggaXQgaW4gZGV0YWlsIGFuZDxicj4KJmd0OyBJ PGJyPgomZ3Q7ICZndDsgdGhpbms8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBJIHVuZGVyc3RhbmQgdGhlIHB1cnBvc2Ugb2YgdGhpcyBjb2RlLCBidXQgSSdtIGdvaW5nIHRv IGV4cGxhaW4gaXQgYmFjazxicj4KJmd0OyB0bzxicj4KJmd0OyAmZ3Q7IHlvdTxicj4KJmd0OyAm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNvIHlvdSBjYW4gY29ycmVjdCBtZSB3aGVyZSBJ J20gd3JvbmcuPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgSSB0aGluayB0aGlzIGNvZGUgc29sdmVzIHR3 byBkaXN0aW5jdCBwcm9ibGVtczo8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAxKSBZb3UgbmVlZCB0byBm b3J3YXJkIEkvTyBvdXQgb2YgdGhlIGJkZXYgbGF5ZXIgdG8gc29tZSBjdXN0b20gYmFja2VuZCw8 YnI+CiZndDsgJmd0OyBhbmQgeW91PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgd2FudCB0aGUgY29kZSB0aGF0IGRvZXMgdGhhdCB0byBsaXZlIG91dHNpZGUgb2YgdGhlIFNQ REsgcmVwb3NpdG9yeS48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+ CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyKSBZb3VyIGN1c3RvbSBiYWNrLWVu ZCBsaWJyYXJ5IGlzbid0IHN1aXRhYmxlIGZvciB1c2UgaW4gYSBydW4tdG8tPGJyPgomZ3Q7ICZn dDsgY29tcGxldGlvbjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG1vZGVs LiBCeSB0aGF0IEkgbWVhbiB0aGF0IHlvdSBjYW4ndCBqdXN0IGNhbGwgeW91ciBsaWJyYXJ5IGRp cmVjdGx5IG9uPGJyPgomZ3Q7ICZndDsgdGhlPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgdGhyZWFkIHRoYXQgb3JpZ2luYWxseSByZWNlaXZlcyB0aGUgc3Bka19iZGV2X2lv IHJlcXVlc3QgYmVjYXVzZSB5b3VyPGJyPgomZ3Q7ICZndDsgbGlicmFyeTxicj4KJmd0OyAmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVpdGhlciBibG9ja3Mgb3IgZ2VuZXJhbGx5IHRha2Vz IHRvbyBsb25nIHRvIHJldHVybiBmcm9tIHRoZSBzdWJtaXNzaW9uPGJyPgomZ3Q7ICZndDsgY2Fs bDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IChtYXliZSBpdCBpcyBkb2lu ZyBpbmxpbmUgY29tcHJlc3Npb24gb3Igc29tZXRoaW5nKS4gSW5zdGVhZCwgeW91IG5lZWQ8YnI+ CiZndDsgdG88YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzaHV0dGxlIHRo b3NlIHJlcXVlc3RzIG9mZiB0byBzZXBhcmF0ZSB0aHJlYWRzIGZvciBoYW5kbGluZy48YnI+CiZn dDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBBcyBmYXIgYXMgcG9pbnQgIzEsIHRvZGF5IHRoZSBTUERLIGJ1aWxkIHN5 c3RlbSBkb2VzIG5vdCBuaWNlbHk8YnI+CiZndDsgJmd0OyBhY2NvbW1vZGF0ZSBiZGV2PGJyPgom Z3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbW9kdWxlcyB3aG9zZSBjb2RlIGxpdmVz IG91dHNpZGUgb2YgU1BESy4gU1BESyBleHBlY3RzIHRoZW0gdG8gYmUgaW48YnI+CiZndDsgJmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsaWIvYmRldi8mbHQ7bW9kdWxlX25hbWUmZ3Q7LiBI b3dldmVyLCB0aGF0J3MgYSBmYWlybHkgc3RyYWlnaHRmb3J3YXJkIGNoYW5nZTxicj4KJmd0OyB0 bzxicj4KJmd0OyAmZ3Q7IHRoZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IGJ1aWxkIHN5c3RlbSBhbmQgaXQncyBvbmUgd2UndmUgYmVlbiBpbnRlbmRpbmcgdG8gbWFrZSBm b3Igc29tZSB0aW1lLjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4K Jmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEZvciBwb2ludCAjMiwgdGhpcyBpcyBs aWtlbHkgdGhlIGNhc2UgZm9yIGEgbGFyZ2UgbnVtYmVyIG9mIHN0b3JhZ2U8YnI+CiZndDsgYmFj ay08YnI+CiZndDsgJmd0OyBlbmRzLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGJ1dCBJIHRoaW5rIHRoZSBwcm9wZXIgd2F5IHRvIHNvbHZlIGl0IGlzIHByb2JhYmx5IGJh Y2stZW5kIHNwZWNpZmljIGFuZDxicj4KJmd0OyAmZ3Q7IG5vdDxicj4KJmd0OyAmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGdlbmVyYWwgcHVycG9zZS4gQXMgYSBjb3VudGVyLXBvaW50LCBT UERLIGFscmVhZHkgaW50ZWdyYXRlcyB3aXRoIGE8YnI+CiZndDsgbnVtYmVyPGJyPgomZ3Q7ICZn dDsgb2Y8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0aGlyZC1wYXJ0eSBz dG9yYWdlIGJhY2stZW5kcyB0b2RheSAoQ2VwaCBSQkQsIGxpYmlzY3NpLCBsaWJhaW8sIGV0Yy4p PGJyPgomZ3Q7IGFuZDxicj4KJmd0OyAmZ3Q7IG5vbmU8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyBvZiB0aG9zZSBlbmRlZCB1cCBuZWVkaW5nIHRvIHBhc3MgbWVzc2FnZXMg dG8gb3RoZXIgdGhyZWFkcy4gVGhleSBhbGw8YnI+CiZndDsgJmd0OyBzdXBwb3J0PGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMsIHRo b3VnaC4gSSBjb3VsZCBpbWFnaW5lIHdyaXRpbmcgYSBiZGV2IG1vZHVsZTxicj4KJmd0OyAmZ3Q7 IHRoYXQ8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB1bHRpbWF0ZWx5IG1h a2VzIFBPU0lYIHByZWFkdiBjYWxscywgZm9yIGluc3RhbmNlLiBUaGF0IHdvdWxkIG5lZWQgdG8g YmU8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbXBsZW1lbnRlZCB3aXRo IGEgdGhyZWFkIHBvb2wgYW5kIGVhY2ggYmRldl9pbyBnZXRzIGZ1bm5lbGVkIG9mZiB0byBhPGJy PgomZ3Q7ICZndDsgdGhyZWFkIGluPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgdGhlIHBvb2wgdG8gcGVyZm9ybSB0aGUgYmxvY2tpbmcgb3BlcmF0aW9uLjxicj4KJmd0OyAm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IE9rIC0gSSBleHBsYWluZWQgd2hhdCBJIHRoaW5rIEknbSB1bmRlcnN0YW5kaW5n LiBOb3cgdGVsbCBtZSB3aGVyZSBJPGJyPgomZ3Q7IHdlbnQ8YnI+CiZndDsgJmd0OyB3cm9uZzxi cj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDopPGJyPgomZ3Q7ICZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgVGhhbmtzLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IEJlbjxicj4K Jmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IE9uIFN1biwgMjAxOC0wNS0wNiBhdCAxMDozMiAmIzQzOzAwMDAsIFNo YWhhciBTYWx6bWFuIHdyb3RlOjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgSGksPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+ CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IEkgcHVzaGVkIHRoZSBjb2Rl IGZvciByZXZpZXcsIHRoYW5rcyBEYW5pZWwgZm9yIHRoZSBoZWxwLjxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmd0OyBJbiBhIG51dHNoZWxsOjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZndDsgLSBiZGV2X3VzZXIgLSBhbiBBUEkgZm9yIGEgdXNlciBhcHBsaWFuY2Ug dG8gdXNlIHNwZGsgYXMgYW48YnI+CiZndDsgaVNDU0kvTlZNZUY8YnI+CiZndDsgJmd0OyB0YXJn ZXQ8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IC0gYmRldl91c2Vy X2V4YW1wbGUgLSByZWZlcmVuY2UgYXBwbGljYXRpb248YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IC0gVGhlIEFQSSByZWxpZXMgb24gcmluZ3MgaW4gb3JkZXIgdG8g c3VibWl0L2NvbXBsZXRlIElPczxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgLSBVc2VyIGFwcGxpYW5jZSByZWdpc3RlcnMgY2FsbGJhY2tzIGZvciBzdWJtaXRfaW8g KHNob3VsZCB3ZSBoYXZlPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0 OyByZWFkL3dyaXRlL290aGVyIGluc3RlYWQ/KTxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZndDsgLSBVc2VyIGFwcGxpYW5jZSByZWdpc3RlcnMgaXRzIGRldmljZXMgc28g dGhhdCB0aGV5IG1heSBiZSBhZGRlZCB0byBhbjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZndDsgZXhpc3RpbmcgbmFtZXNwYWNlIChJIGFtIHVzaW5nIFJQQyB0byBkbyB0 aGUgbWFuYWdlbWVudCk8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7 IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgVGhhbmtzLDxicj4K Jmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgU2hhaGFyPGJyPgomZ3Q7ICZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgRnJvbTogU1BESyAmbHQ7c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyZndDsgb24gYmVo YWxmIG9mIFZlcmthbXAsIERhbmllbDxicj4KJmd0OyAmZ3Q7ICZsdDtkYW5pZWwudmU8YnI+CiZn dDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IHJrYW1wQGludGVsLmNvbSZndDs8 YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFNlbnQ6IFRodXJzZGF5 LCBNYXkgMywgMjAxOCA4OjUwIFBNPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgJmd0OyBUbzogU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQ8YnI+CiZndDsg Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFN1YmplY3Q6IFJlOiBbU1BES10gU1BE SyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgJmd0OyBIaSBTaGFoYXIsPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Jmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFRo ZSB0YXJnZXQgYnJhbmNoIGZvciB0aGUgcHVzaCBzaG91bGQgYmUgoa5yZWZzL2Zvci9tYXN0ZXKh rywgbm90PGJyPgomZ3Q7IKGubWFzdGVyoa88YnI+CiZndDsgJmd0OyCoQyBpZjxicj4KJmd0OyAm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgeW91IGNvbmZpZ3VyZWQgYSByZW1vdGUg YXMgc3BlY2lmaWVkIGluIDxhIGlkPSJMUGxuazk4NTM2NyIgaHJlZj0iaHR0cHM6Ly9jbGlja3Rp bWUuc3ltYW50ZWMuY29tL2EvMS8ybG5UMGJ1ZFl4cFcyUFhTWThIRWlPWHZsRkNTUXN6WjNTSU0x TUhCMEpZPT9kPUVTR01meDg4NU1vbi1GWWFibWhEN2xzM3d0V21CWlc5a1dncnllcTFTSVNyZ3BZ akNPYjRJUzZsd1lLU0NydnRIYzdDRXZCUmdGUWRJSV9oUmtLZEVIdElQdy1fbC0ydmJwU2Y0bWdu OGRXSlJ3Zm9nVDFka2tkNGFwbHJLVTAwQ3pJMHJEaENnWlQ2N0dIZEo3Tm93VklRXzEyUklyNDV1 WGUzZFhEZ1Yxc2xTaGtvMUMzLWF5SGFnaFJNZ0pRb0dRejVld2F1ckRDNDJ3YzdfdzFCRXM4b2ox UW9TS3NETnhtOS1oRnM0TDlhLVhzaE9OTXIxU3hUWEl0OUVJZlV2V29hRmxDdEplSmlrWHEyWG5Z Yy10dW5ERUhFeWtxZ01Del9BV2xwd0E0VUU1UlZDbWtla2stRnV4am00VVluYzZnZ0hTY2MxeHFt R24tV3dzSVNCcGptRF90R3pzb0txUnVWaGlWMDFDSWQtX3dDbVdzdi11WGNvSWhXMGVfSlBJdVY2 TExUWmhUUFo4Sk1samVlekhnc3dTamtMYVZrWDFVM2xEeGcyNWI2OVElM0QlM0QmYW1wO3U9aHR0 cCUzQSUyRiUyRnd3dy5zcGRrLmlvJTJGZGV2ZWxvcG1lbnQiIHByZXZpZXdyZW1vdmVkPSJ0cnVl Ij4KaHR0cDovL3d3dy5zcGRrLmlvL2RldmVsb3BtZW50PC9hPgo8ZGl2IGlkPSJMUEJvcmRlcl9H VF8xNTI1ODk0OTE3ODc3MC41MzQ2MDA2MTI1NjU5MTc1IiBzdHlsZT0ibWFyZ2luLWJvdHRvbToy MHB4OyBvdmVyZmxvdzphdXRvOyB3aWR0aDoxMDAlOyB0ZXh0LWluZGVudDowcHgiPgo8dGFibGUg aWQ9IkxQQ29udGFpbmVyXzE1MjU4OTQ5MTc4NzIwLjY5MTEwNjg4NTQ4ODA2MjIiIHN0eWxlPSJ3 aWR0aDo5MCU7IGJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsgb3ZlcmZsb3c6YXV0 bzsgcGFkZGluZy10b3A6MjBweDsgcGFkZGluZy1ib3R0b206MjBweDsgbWFyZ2luLXRvcDoyMHB4 OyBib3JkZXItdG9wOjFweCBkb3R0ZWQgcmdiKDIwMCwyMDAsMjAwKTsgYm9yZGVyLWJvdHRvbTox cHggZG90dGVkIHJnYigyMDAsMjAwLDIwMCkiIGNlbGxzcGFjaW5nPSIwIj4KPHRib2R5Pgo8dHIg dmFsaWduPSJ0b3AiIHN0eWxlPSJib3JkZXItc3BhY2luZzowcHgiPgo8dGQgaWQ9InhfVGV4dENl bGxfMTUyNTg5NDkxNzg3NTAuMTAxNzE4NTYwOTE2OTc0NCIgc3R5bGU9InBhZGRpbmc6IDBweDsg dmVydGljYWwtYWxpZ246IHRvcDsgZGlzcGxheTogdGFibGUtY2VsbDsgcG9zaXRpb246IHJlbGF0 aXZlOyIgY29sc3Bhbj0iMiI+CjxkaXYgaWQ9IkxQUmVtb3ZlUHJldmlld0NvbnRhaW5lcl8xNTI1 ODk0OTE3ODc1MC4xMDA2ODc2OTExNzQ5MTA2MSI+PC9kaXY+CjxkaXYgaWQ9IkxQVGl0bGVfMTUy NTg5NDkxNzg3NTAuNTMzMTAzMzkzODAwNDEyNiIgc3R5bGU9InRvcDowcHg7IGNvbG9yOnJnYigw LDEyMCwyMTUpOyBmb250LXdlaWdodDo0MDA7IGZvbnQtc2l6ZToyMXB4OyBmb250LWZhbWlseTp3 Zl9zZWdvZS11aV9saWdodCwmcXVvdDtTZWdvZSBVSSBMaWdodCZxdW90OywmcXVvdDtTZWdvZSBX UCBMaWdodCZxdW90OywmcXVvdDtTZWdvZSBVSSZxdW90OywmcXVvdDtTZWdvZSBXUCZxdW90OyxU YWhvbWEsQXJpYWwsc2Fucy1zZXJpZjsgbGluZS1oZWlnaHQ6MjFweCI+CjxhIGlkPSJMUFVybEFu Y2hvcl8xNTI1ODk0OTE3ODc2MC43MzU0NDc4MjkyMDQyMjUyIiBzdHlsZT0idGV4dC1kZWNvcmF0 aW9uOm5vbmUiIGhyZWY9Imh0dHBzOi8vY2xpY2t0aW1lLnN5bWFudGVjLmNvbS9hLzEvMmxuVDBi dWRZeHBXMlBYU1k4SEVpT1h2bEZDU1FzelozU0lNMU1IQjBKWT0/ZD1FU0dNZng4ODVNb24tRllh Ym1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lTcmdwWWpDT2I0SVM2bHdZS1NDcnZ0SGM3Q0V2QlJn RlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNmNG1nbjhkV0pSd2ZvZ1QxZGtrZDRhcGxyS1UwMEN6 STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJcjQ1dVhlM2RYRGdWMXNsU2hrbzFDMy1heUhhZ2hS TWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVzOG9qMVFvU0tzRE54bTktaEZzNEw5YS1Yc2hPTk1y MVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hxMlhuWWMtdHVuREVIRXlrcWdNQ3pfQVdscHdBNFVF NVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2NjMXhxbUduLVd3c0lTQnBqbURfdEd6c29LcVJ1Vmhp VjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQSXVWNkxMVFpoVFBaOEpNbGplZXpIZ3N3U2prTGFW a1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1PWh0dHAlM0ElMkYlMkZ3d3cuc3Bkay5pbyUyRmRl dmVsb3BtZW50IiB0YXJnZXQ9Il9ibGFuayI+U1BESwogRGV2ZWxvcG1lbnQ8L2E+PC9kaXY+Cjxk aXYgaWQ9IkxQTWV0YWRhdGFfMTUyNTg5NDkxNzg3NjAuNTQyMTMzNDY5MDAyNzg1NSIgc3R5bGU9 Im1hcmdpbjoxMHB4IDBweCAxNnB4OyBjb2xvcjpyZ2IoMTAyLDEwMiwxMDIpOyBmb250LXdlaWdo dDo0MDA7IGZvbnQtZmFtaWx5OndmX3NlZ29lLXVpX25vcm1hbCwmcXVvdDtTZWdvZSBVSSZxdW90 OywmcXVvdDtTZWdvZSBXUCZxdW90OyxUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZjsgZm9udC1zaXpl OjE0cHg7IGxpbmUtaGVpZ2h0OjE0cHgiPgp3d3cuc3Bkay5pbzwvZGl2Pgo8ZGl2IGlkPSJMUERl c2NyaXB0aW9uXzE1MjU4OTQ5MTc4NzcwLjA3OTIwNzA0MzkyMzU2NjE0IiBzdHlsZT0iZGlzcGxh eTpibG9jazsgY29sb3I6cmdiKDEwMiwxMDIsMTAyKTsgZm9udC13ZWlnaHQ6NDAwOyBmb250LWZh bWlseTp3Zl9zZWdvZS11aV9ub3JtYWwsJnF1b3Q7U2Vnb2UgVUkmcXVvdDssJnF1b3Q7U2Vnb2Ug V1AmcXVvdDssVGFob21hLEFyaWFsLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxNHB4OyBsaW5lLWhl aWdodDoyMHB4OyBtYXgtaGVpZ2h0OjEwMHB4OyBvdmVyZmxvdzpoaWRkZW4iPgpUaGUgU3RvcmFn ZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgKFNQREspIHByb3ZpZGVzIGEgc2V0IG9mIHRv b2xzIGFuZCBsaWJyYXJpZXMgZm9yIHdyaXRpbmcgaGlnaCBwZXJmb3JtYW5jZSwgc2NhbGFibGUs IHVzZXItbW9kZSBzdG9yYWdlIGFwcGxpY2F0aW9ucy4gSXQgYWNoaWV2ZXMgaGlnaCBwZXJmb3Jt YW5jZSBieSBtb3ZpbmcgYWxsIG9mIHRoZSBuZWNlc3NhcnkgZHJpdmVycyBpbnRvIHVzZXJzcGFj ZSBhbmQgb3BlcmF0aW5nIGluCiBhIHBvbGxlZCBtb2RlIGluc3RlYWQgb2YgcmVseWluZyBvbiBp bnRlcnJ1cHRzLCB3aGljaCBhdm9pZHMga2VybmVsIGNvbnRleHQgc3dpdGNoZXMgYW5kIC4uLjwv ZGl2Pgo8L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KPGJyPgo8YnI+CiZndDsg Lzxicj4KJmd0OyAmZ3Q7IGl0PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Jmd0OyBzaG91bGQgbG9vayBsaWtlOjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0 OyBbcmVtb3RlICZxdW90O3JldmlldyZxdW90O108YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAmZ3Q7Jm5ic3A7Jm5ic3A7IHVybCA9IDxhIGlkPSJMUGxuazk2MDQxMSIgaHJl Zj0iaHR0cHM6Ly9jbGlja3RpbWUuc3ltYW50ZWMuY29tL2EvMS9HQl9ERHFSdXExekZPNTRTTFZy eHJvX3h3N0hFUmJxSmNNbk1pTWJCRENvPT9kPUVTR01meDg4NU1vbi1GWWFibWhEN2xzM3d0V21C Wlc5a1dncnllcTFTSVNyZ3BZakNPYjRJUzZsd1lLU0NydnRIYzdDRXZCUmdGUWRJSV9oUmtLZEVI dElQdy1fbC0ydmJwU2Y0bWduOGRXSlJ3Zm9nVDFka2tkNGFwbHJLVTAwQ3pJMHJEaENnWlQ2N0dI ZEo3Tm93VklRXzEyUklyNDV1WGUzZFhEZ1Yxc2xTaGtvMUMzLWF5SGFnaFJNZ0pRb0dRejVld2F1 ckRDNDJ3YzdfdzFCRXM4b2oxUW9TS3NETnhtOS1oRnM0TDlhLVhzaE9OTXIxU3hUWEl0OUVJZlV2 V29hRmxDdEplSmlrWHEyWG5ZYy10dW5ERUhFeWtxZ01Del9BV2xwd0E0VUU1UlZDbWtla2stRnV4 am00VVluYzZnZ0hTY2MxeHFtR24tV3dzSVNCcGptRF90R3pzb0txUnVWaGlWMDFDSWQtX3dDbVdz di11WGNvSWhXMGVfSlBJdVY2TExUWmhUUFo4Sk1samVlekhnc3dTamtMYVZrWDFVM2xEeGcyNWI2 OVElM0QlM0QmYW1wO3U9aHR0cHMlM0ElMkYlMkZyZXZpZXcuZ2Vycml0aHViLmlvJTJGc3BkayUy RnNwZGsiIHByZXZpZXdyZW1vdmVkPSJ0cnVlIj4KaHR0cHM6Ly9yZXZpZXcuZ2Vycml0aHViLmlv L3NwZGsvc3BkazwvYT48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7 Jm5ic3A7Jm5ic3A7IHB1c2ggPSBIRUFEOnJlZnMvZm9yL21hc3Rlcjxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJmd0OyBGcm9tOiBTUERLIFs8YSBpZD0iTFBsbmsyMTMyODUiIGhyZWY9 Im1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIiBwcmV2aWV3cmVtb3ZlZD0idHJ1ZSI+ bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XSBPbiBCZWhhbGYgT2YgU2hhaGFy PGJyPgomZ3Q7ICZndDsgU2Fsem1hbjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ICZndDsgU2VudDogVGh1cnNkYXksIE1heSAzLCAyMDE4IDE6MDAgQU08YnI+CiZndDsgJmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFRvOiBTdG9yYWdlIFBlcmZvcm1hbmNlIERl dmVsb3BtZW50IEtpdCAmbHQ7c3Bka0BsaXN0cy4wMS5vcmcmZ3Q7PGJyPgomZ3Q7ICZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBTdWJqZWN0OiBSZTogW1NQREtdIFNQREsgJiM0Mzsg dXNlciBzcGFjZSBhcHBsaWFuY2U8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAmZ3Q7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsg SGkgQmVuLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsg PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBJIGhhdmUgdGhlIGNv ZGUgcmVhZHkgZm9yIHJldmlldyAoc3Bkay9tYXN0ZXIgb24gZHBkay8xOC4wMiksIGJ1dCBJIGRv PGJyPgomZ3Q7ICZndDsgbm90PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Jmd0OyBoYXZlIHB1c2ggcmlnaHRzIGZvciBnZXJyaXRodWI6PGJyPgomZ3Q7ICZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBzaGFoYXIuc2Fsem1hbkBzaGFoYXJzLXZtOn4vS2FtaW5h cmlvL2dpdC9zcGRrJCBnaXQgcHVzaCBzcGRrLXJldmlldzxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsgSEVBRDptYXN0ZXI8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IFBhc3N3b3JkIGZvciAnPGEgaWQ9IkxQbG5rMzUxNzAxIiBocmVm PSJodHRwczovL2NsaWNrdGltZS5zeW1hbnRlYy5jb20vYS8xL1ZjVU8tUWd3MmdMOEZiUE91RHVY VVhYa2FMazdJQjRBRm5yVy1UMWc4cHc9P2Q9RVNHTWZ4ODg1TW9uLUZZYWJtaEQ3bHMzd3RXbUJa VzlrV2dyeWVxMVNJU3JncFlqQ09iNElTNmx3WUtTQ3J2dEhjN0NFdkJSZ0ZRZElJX2hSa0tkRUh0 SVB3LV9sLTJ2YnBTZjRtZ244ZFdKUndmb2dUMWRra2Q0YXBscktVMDBDekkwckRoQ2daVDY3R0hk SjdOb3dWSVFfMTJSSXI0NXVYZTNkWERnVjFzbFNoa28xQzMtYXlIYWdoUk1nSlFvR1F6NWV3YXVy REM0MndjN193MUJFczhvajFRb1NLc0ROeG05LWhGczRMOWEtWHNoT05NcjFTeFRYSXQ5RUlmVXZX b2FGbEN0SmVKaWtYcTJYblljLXR1bkRFSEV5a3FnTUN6X0FXbHB3QTRVRTVSVkNta2Vray1GdXhq bTRVWW5jNmdnSFNjYzF4cW1Hbi1Xd3NJU0Jwam1EX3RHenNvS3FSdVZoaVYwMUNJZC1fd0NtV3N2 LXVYY29JaFcwZV9KUEl1VjZMTFRaaFRQWjhKTWxqZWV6SGdzd1Nqa0xhVmtYMVUzbER4ZzI1YjY5 USUzRCUzRCZhbXA7dT1odHRwcyUzQSUyRiUyRlNoYWhhclNhbHptYW4tSyU0MHJldmlldy5nZXJy aXRodWIuaW8iIHByZXZpZXdyZW1vdmVkPSJ0cnVlIj5odHRwczovL1NoYWhhclNhbHptYW4tS0By ZXZpZXcuZ2Vycml0aHViLmlvPC9hPic6Cjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICZndDsgQ291bnRpbmcgb2JqZWN0czogMTA5LCBkb25lLjxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgQ29tcHJlc3Npbmcgb2JqZWN0czogMTAwJSAoMjIv MjIpLCBkb25lLjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgV3Jp dGluZyBvYmplY3RzOiAxMDAlICgyMi8yMiksIDguNzAgS2lCIHwgMCBieXRlcy9zLCBkb25lLjxi cj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgVG90YWwgMjIgKGRlbHRh IDE0KSwgcmV1c2VkIDAgKGRlbHRhIDApPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmd0OyByZW1vdGU6IFJlc29sdmluZyBkZWx0YXM6IDEwMCUgKDE0LzE0KTxicj4KJmd0 OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgcmVtb3RlOiBCcmFuY2ggcmVmcy9o ZWFkcy9tYXN0ZXI6PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBy ZW1vdGU6IFlvdSBhcmUgbm90IGFsbG93ZWQgdG8gcGVyZm9ybSB0aGlzIG9wZXJhdGlvbi48YnI+ CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IHJlbW90ZTogVG8gcHVzaCBp bnRvIHRoaXMgcmVmZXJlbmNlIHlvdSBuZWVkICdQdXNoJyByaWdodHMuPGJyPgomZ3Q7ICZndDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyByZW1vdGU6IFVzZXI6IFNoYWhhclNhbHptYW4t Szxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgcmVtb3RlOiBQbGVh c2UgcmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgY29udGFjdCBhbiBhZG1pbmlzdHJhdG9yPGJy PgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyByZW1vdGU6IGlmIHlvdSBm ZWVsIHRoZSBjb25maWd1cmF0aW9uIGlzIGluY29ycmVjdDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsgcmVtb3RlOiBQcm9jZXNzaW5nIGNoYW5nZXM6IHJlZnM6IDEs IGRvbmUmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmd0OyBUbyA8YSBpZD0iTFBsbms0MzE0MzIiIGhyZWY9Imh0dHBzOi8vY2xpY2t0aW1l LnN5bWFudGVjLmNvbS9hLzEvTVZ0eS1NZ2RPaHFQSFZfakhZYzI4eGpKZzZ4Vkl6X0NrVjRnNHhJ YlQ2UT0/ZD1FU0dNZng4ODVNb24tRllhYm1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lTcmdwWWpD T2I0SVM2bHdZS1NDcnZ0SGM3Q0V2QlJnRlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNmNG1nbjhk V0pSd2ZvZ1QxZGtrZDRhcGxyS1UwMEN6STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJcjQ1dVhl M2RYRGdWMXNsU2hrbzFDMy1heUhhZ2hSTWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVzOG9qMVFv U0tzRE54bTktaEZzNEw5YS1Yc2hPTk1yMVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hxMlhuWWMt dHVuREVIRXlrcWdNQ3pfQVdscHdBNFVFNVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2NjMXhxbUdu LVd3c0lTQnBqbURfdEd6c29LcVJ1VmhpVjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQSXVWNkxM VFpoVFBaOEpNbGplZXpIZ3N3U2prTGFWa1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1PWh0dHBz JTNBJTJGJTJGU2hhaGFyU2Fsem1hbi1LJTQwcmV2aWV3LmdlcnJpdGh1Yi5pbyUyRmElMkZzcGRr JTJGc3BkayIgcHJldmlld3JlbW92ZWQ9InRydWUiPgpodHRwczovL1NoYWhhclNhbHptYW4tS0By ZXZpZXcuZ2Vycml0aHViLmlvL2Evc3Bkay9zcGRrPC9hPjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgISBbcmVtb3RlIHJlamVjdGVkXSBIRUFEIC0mZ3Q7 IG1hc3RlciAocHJvaGliaXRlZCBieSBHZXJyaXQ6IHJlZiB1cGRhdGU8YnI+CiZndDsgJmd0OyBh Y2Nlc3M8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGRlbmllZCk8 YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGVycm9yOiBmYWlsZWQg dG8gcHVzaCBzb21lIHJlZnMgdG8gJzxhIGlkPSJMUGxuazY0MjYxMyIgaHJlZj0iIiBwcmV2aWV3 cmVtb3ZlZD0idHJ1ZSI+PC9hPmh0dHBzOi8vY2xpY2t0aW1lLnN5bWFudGVjLmNvbS9hLzEvVmNQ MnY0SEpXd1l0TGx2cDNfTGNnU3NxaG1ZT09VQVpzY0pRSEU4dU52ST0/ZD1FU0dNZng4ODVNb24t RllhYm1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lTcmdwWWpDT2I0SVM2bHdZS1NDcnZ0SGM3Q0V2 QlJnRlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNmNG1nbjhkV0pSd2ZvZ1QxZGtrZDRhcGxyS1Uw MEN6STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJcjQ1dVhlM2RYRGdWMXNsU2hrbzFDMy1heUhh Z2hSTWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVzOG9qMVFvU0tzRE54bTktaEZzNEw5YS1Yc2hP Tk1yMVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hxMlhuWWMtdHVuREVIRXlrcWdNQ3pfQVdscHdB NFVFNVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2NjMXhxbUduLVd3c0lTQnBqbURfdEd6c29LcVJ1 VmhpVjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQSXVWNkxMVFpoVFBaOEpNbGplZXpIZ3N3U2pr TGFWa1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1PWh0dHBzJTNBJTJGJTJGU2hhaGFyU2Fsem1h bi1LJTQwcmV2aWV3Lmdlcjxicj4KJmd0OyByaTxicj4KJmd0OyAmZ3Q7IHRodWIuaTxicj4KJmd0 OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgby9hL3NwZGsvc3Bkayc8YnI+CiZn dDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgQW0gSSBkb2luZyBzb21ldGhpbmcgaW5jb3Jy ZWN0LCBvciBpcyB0aGlzIGp1c3QgYSBwZXJtaXNzaW9uIGlzc3VlPzxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJmd0OyBUaGFua3MsPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmd0OyBTaGFoYXI8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAmZ3Q7IEZyb206IFNQREsgJmx0O3NwZGstYm91bmNlc0BsaXN0cy4wMS5vcmcmZ3Q7IG9uIGJl aGFsZiBvZiBTaGFoYXIgU2Fsem1hbjxicj4KJmd0OyAmZ3Q7ICZsdDtzaGFoYXIuc2FsPGJyPgom Z3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyB6bWFuQGthbWluYXJpby5jb20m Z3Q7PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBTZW50OiBXZWRu ZXNkYXksIEFwcmlsIDI1LCAyMDE4IDk6MDI6MzggQU08YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IFRvOiBTdG9yYWdlIFBlcmZvcm1hbmNlIERldmVsb3BtZW50IEtp dDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgU3ViamVjdDogUmU6 IFtTUERLXSBTUERLICYjNDM7IHVzZXIgc3BhY2UgYXBwbGlhbmNlPGJyPgomZ3Q7ICZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IEhpIEJlbiw8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmZ3Q7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgVGhlIGNvZGUgaXMgY3VycmVudGx5IHdvcmtpbmcgb24gdjE3LjA3LCB3ZSBhcmUgcGxh bm5pbmcgb24gYnVtcGluZzxicj4KJmd0OyB0aGU8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAmZ3Q7IHZlcnNpb24gdG8gb25lIG9mIHRoZSBsYXRlc3Qgc3RhYmxlIHZlcnNp b25zICgxOC4wMT8pICYjNDM7IG1hc3Rlci48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmZ3Q7IEl0IHdpbGwgdGFrZSBtZSAoaG9wZWZ1bGx5KSBhIGZldyBkYXlzIHRvIHVw ZGF0ZSB0aGUgY29kZSBhbmQgaGF2ZSBvdXI8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmZ3Q7IGludGVybmFsIENJIHN0YXJ0IHJ1bm5pbmcgb24gdGhpcyB2ZXJzaW9uLCBu b3Qgc3VyZSBpdCB3b3VsZCBiZTxicj4KJmd0OyB1c2VmdWwsPGJyPgomZ3Q7ICZndDsgYnV0IEk8 YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGNhbiBnZXQgb3VyIHdv cmtpbmcgMTcuMDcgY29kZSAoJiM0MzsgcmVmZXJlbmNlIGFwcGxpY2F0aW9uKSBmb3IgcmV2aWV3 PGJyPgomZ3Q7IG11Y2g8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7 IGZhc3Rlci48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFdoYXQg aXMgdGhlIGJlc3QgY291cnNlIG9mIGFjdGlvbj88YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyAmZ3Q7Jm5ic3A7IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7ICZndDsgU2hhaGFyPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0 OyBGcm9tOiBTUERLICZsdDtzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnJmd0OyBvbiBiZWhhbGYg b2YgV2Fsa2VyLCBCZW5qYW1pbjxicj4KJmd0OyAmZ3Q7ICZsdDtiZW5qYW1pbjxicj4KJmd0OyAm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgLndhbGtlckBpbnRlbC5jb20mZ3Q7PGJy PgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBTZW50OiBUdWVzZGF5LCBB cHJpbCAyNCwgMjAxOCA3OjE5OjEyIFBNPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmd0OyBUbzogU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQ8YnI+CiZn dDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFN1YmplY3Q6IFJlOiBbU1BES10g U1BESyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmd0OyBIaSBTaGFoYXIsPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgJmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7 IFdvdWxkIHlvdSBiZSB3aWxsaW5nIHRvIHN1Ym1pdCB5b3VyIGJkZXYgbW9kdWxlIGFzIGEgcGF0 Y2ggb248YnI+CiZndDsgR2Vycml0SHViPzxicj4KJmd0OyAmZ3Q7IFRoYXQ8YnI+CiZndDsgJmd0 OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IHdheSBldmVyeW9uZSBjYW4gdGFrZSBhIGxv b2sgYW5kIHByb3ZpZGUgZmVlZGJhY2suIElmIHlvdSBkb26hr3Qgd2FudDxicj4KJmd0OyBpdDxi cj4KJmd0OyAmZ3Q7IHRvIHJ1bjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgdGhlIHRlc3RzLCB5b3UgY2FuIHB1dCBbUkZDXSBhbmQgdGhlIGJlZ2lubmluZyBvZiB0 aGUgY29tbWl0IG1lc3NhZ2UuPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Jmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFRo YW5rcyw8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IEJlbjxicj4K Jmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBGcm9tOiBTUERLIFs8YSBpZD0iTFBsbmsx NzQ4NzgiIGhyZWY9Im1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIiBwcmV2aWV3cmVt b3ZlZD0idHJ1ZSI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XSBPbiBCZWhh bGYgT2YgU2hhaGFyPGJyPgomZ3Q7ICZndDsgU2Fsem1hbjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsgU2VudDogTW9uZGF5LCBBcHJpbCAyMywgMjAxOCA4OjQ1IEFN PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBUbzogc3Bka0BsaXN0 cy4wMS5vcmc8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFN1Ympl Y3Q6IFJlOiBbU1BES10gU1BESyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyAm Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBIaSBCZW4sPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgJmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmZ3Q7IEJ1bXBpbmcgdGhpcyB0aHJlYWQgc2luY2UgSSd2ZSBiZWVuIGhhdmluZyBz b21lIG5ldyB0aG91Z2h0cyBvbiB0aGU8YnI+CiZndDsgJmd0OyBpc3N1ZSBub3c8YnI+CiZndDsg Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IHRoYXQgd2UgYXJlIHN0YXJ0aW5nIGlu dGVncmF0aW9uIHdpdGggbmV3ZXIgc3BkayB2ZXJzaW9ucy48YnI+CiZndDsgJmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFVuZm9ydHVuYXRlbHkgdGhlIG1lcmdlIGlzbid0IGFzIHNt b290aCBhcyBJJ2QgbGlrZSBpdCB0byBiZSBzaW5jZSB0aGU8YnI+CiZndDsgJmd0OyBiZGV2PGJy PgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBtb2R1bGUgaXMgcHJldHR5 IHRpZ2h0bHkgaW50ZWdyYXRlZCBpbnRvIHNwZGssIHBlcmhhcHMgd2UgbWFkZSBzb21lPGJyPgom Z3Q7ICZndDsgZmFsc2U8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7 IGFzc3VtcHRpb25zIHdyaXRpbmcgdGhlIG1vZHVsZSwgYnV0IGl0IHNlZW1zIHNvbWUgb2YgdGhl IG5ld2VyIHNwZGs8YnI+CiZndDsgJmd0OyBmZWF0dXJlczxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsgYXJlIGNvbXBsaWNhdGluZyB0aGUgaW50ZWdyYXRpb24uPGJy PgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBNeSBxdWVzdGlvbiBpcywg aWYgdGhpcyBwYXNzdGhyb3VnaCBtb2R1bGUgaXMgdXNlZnVsLCB3b3VsZG4ndCBpdCBiZTxicj4K Jmd0OyAmZ3Q7IGJldHRlciB0bzxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgbWFpbnRhaW4gaXQgYXMgcGFydCBvZiBzcGRrIHNvIHRoYXQgd2UgY2FuIGNhdGNoIGlz c3VlcyBhcyBzb29uIGFzPGJyPgomZ3Q7IHRoZXk8YnI+CiZndDsgJmd0OyBzaG93PGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyB1cD88YnI+CiZndDsgJmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFdlIHdvdWxkIGJlIGhhcHB5IHRvIGhlbHAgd2l0aCBt YWludGFpbmluZyB0aGlzIG1vZHVsZSwgdGhlIG1vZHVsZTxicj4KJmd0OyB3aXRoPGJyPgomZ3Q7 ICZndDsgaXM8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGN1cnJl bnRseSBwYXJ0IG9mIG91ciBDSSB3aXRoIG91ciAmcXVvdDtmcm96ZW4mcXVvdDsgc3BkayB2ZXJz aW9uLCBidXQgb25jZTxicj4KJmd0OyAmZ3Q7IGludGVncmF0ZWQ8YnI+CiZndDsgJmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGludG8gdGhlIG5ld2VyIHZlcnNpb24gd2UgY2hvb3Nl LCBJJ2xsIGFkZCBpdCB0byB0aGUgQ0kgb3VyIENJIGFzPGJyPgomZ3Q7IHdlbGwuPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyZuYnNwOyA8YnI+CiZndDsgJmd0OyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFNoYWhhcjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsgRnJvbTogU1BESyAmbHQ7c3Bkay1ib3VuY2VzQGxpc3RzLjAx Lm9yZyZndDsgb24gYmVoYWxmIG9mIFdhbGtlciwgQmVuamFtaW48YnI+CiZndDsgJmd0OyAmbHQ7 YmVuamFtaW48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IC53YWxr ZXJAaW50ZWwuY29tJmd0Ozxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZn dDsgU2VudDogRnJpZGF5LCBGZWJydWFyeSAyLCAyMDE4IDExOjQzOjU4IFBNPGJyPgomZ3Q7ICZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBUbzogc3Bka0BsaXN0cy4wMS5vcmc8YnI+ CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFN1YmplY3Q6IFJlOiBbU1BE S10gU1BESyAmIzQzOyB1c2VyIHNwYWNlIGFwcGxpYW5jZTxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7ICZndDsmbmJzcDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmd0OyBPbiBUaHUsIDIwMTgtMDItMDEgYXQgMDg6MjkgJiM0MzswMDAwLCBTaGFo YXIgU2Fsem1hbiB3cm90ZTo8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm Z3Q7ICZndDsgSGkgQmVuLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZn dDsgJmd0OyA8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7ICZndDsg V291bGQgeW91IGFsc28gbGlrZSB0byB0YWtlIGEgbG9vayBhdCB0aGUgYmRldl91c2VyIG1vZHVs ZT88YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7ICZndDsgSXQgc3Rp bGwgbmVlZHMgc29tZSBwYXRjaGluZyAoYXMgc29tZSBvZiB0aGUgc3R1ZmYgaXMgc3RpbGwgaGFy ZDxicj4KJmd0OyAmZ3Q7IGNvZGVkKSwgYnV0PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmd0OyBJPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0 OyAmZ3Q7IHRoaW5rIHdlIGNhbiBnZXQgbW9zdCBvZiBpdCBjbGVhbmVkIHVwIGluIGEgY291cGxl IG9mIGRheXMuPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyAmZ3Q7 IDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgJmd0OyBJbiBhbnkg Y2FzZSwgaXMgaXQgdGhlIGludGVudGlvbiB0aGF0IHRoZSB1c2VyIHdyaXRlIGhpcyBvd24gYmRl djxicj4KJmd0OyAmZ3Q7IG1vZHVsZSwgb3I8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAmZ3Q7ICZndDsgd291bGQgdGhpcyB1c2VyIGFwcGxpYW5jZSBnbHVlIGJlIGEgdXNl ZnVsIGdlbmVyaWMgbW9kdWxlPzxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICZndDsgPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBGb3IgZXhp c3Rpbmcgc3RvcmFnZSBzdGFja3MgdGhhdCBzZXJ2ZSBibG9jayBJL08sIGxpa2UgdGhlIGludGVy bmFsczxicj4KJmd0OyBvZjxicj4KJmd0OyAmZ3Q7IGEgU0FOLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgdGhlIGlkZWEgaXMgdGhhdCB5b3Ugd3JpdGUgeW91ciBv d24gYmRldiBtb2R1bGUgdG8gZm9yd2FyZCBJL08gY29taW5nPGJyPgomZ3Q7ICZndDsgb3V0IG9m PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyB0aGU8YnI+CiZndDsg Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFNQREsgYmRldiBsYXllci4gVGhlbiB5 b3UgY2FuIHVzZSB0aGUgU1BESyBpU0NTSS9OVk1lLW9GL3Zob3N0IHRhcmdldHM8YnI+CiZndDsg Jmd0OyBtb3N0bHk8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IGFz LWlzLjxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBJbiBzb21lIGNhc2VzLCB0aGUgYWN0 dWFsIGlTQ1NJL05WTWUtb0Yvdmhvc3QgdGFyZ2V0IGFwcGxpY2F0aW9uczxicj4KJmd0OyB3b24n dDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgaW50ZWdyYXRlIG5p Y2VseSBkaXJlY3RseSBpbnRvIGFuIGV4aXN0aW5nIHN0b3JhZ2UgYXBwbGljYXRpb24gYmVjYXVz ZTxicj4KJmd0OyAmZ3Q7IHRoZXk8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAmZ3Q7IHNwYXduIHRoZWlyIG93biB0aHJlYWRzIGFuZCBhbGxvY2F0ZSB0aGVpciBvd24gbWVt b3J5LiBUbyBzdXBwb3J0PGJyPgomZ3Q7IHRoYXQsPGJyPgomZ3Q7ICZndDsgdGhlPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBsaWJyYXJpZXMgbWF5IGJlIGNvbnN1 bWVkIGRpcmVjdGx5IGluc3RlYWQgb2YgdGhlIGFwcGxpY2F0aW9uczxicj4KJmd0OyAmZ3Q7IChs aWIvaXNjc2ksPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBsaWIv c2NzaSwgbGliL252bWYsIGV0Yy4pLiBUaGUgbGlicmFyaWVzIGRvbid0IHNwYXduIGFueSBvZiB0 aGVpciBvd248YnI+CiZndDsgJmd0OyB0aHJlYWRzLDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7ICZndDsgYnV0IGluc3RlYWQgcmVseSBvbiBTUERLJ3MgYWJzdHJhY3Rpb25z IGluIGluY2x1ZGUvc3Bkay9pb19jaGFubmVsLmguPGJyPgomZ3Q7ICZndDsgU2VlPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+CiZndDsgJmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IDxhIGlkPSJMUGxuazE2Mjg3MCIgaHJlZj0iaHR0cHM6Ly9j bGlja3RpbWUuc3ltYW50ZWMuY29tL2EvMS9nU2kyVGs5Ynkyb1RIU09jUlR0b3VDV18yZ1pNZHpQ cHRNZWdSZHBrdHBFPT9kPUVTR01meDg4NU1vbi1GWWFibWhEN2xzM3d0V21CWlc5a1dncnllcTFT SVNyZ3BZakNPYjRJUzZsd1lLU0NydnRIYzdDRXZCUmdGUWRJSV9oUmtLZEVIdElQdy1fbC0ydmJw U2Y0bWduOGRXSlJ3Zm9nVDFka2tkNGFwbHJLVTAwQ3pJMHJEaENnWlQ2N0dIZEo3Tm93VklRXzEy UklyNDV1WGUzZFhEZ1Yxc2xTaGtvMUMzLWF5SGFnaFJNZ0pRb0dRejVld2F1ckRDNDJ3YzdfdzFC RXM4b2oxUW9TS3NETnhtOS1oRnM0TDlhLVhzaE9OTXIxU3hUWEl0OUVJZlV2V29hRmxDdEplSmlr WHEyWG5ZYy10dW5ERUhFeWtxZ01Del9BV2xwd0E0VUU1UlZDbWtla2stRnV4am00VVluYzZnZ0hT Y2MxeHFtR24tV3dzSVNCcGptRF90R3pzb0txUnVWaGlWMDFDSWQtX3dDbVdzdi11WGNvSWhXMGVf SlBJdVY2TExUWmhUUFo4Sk1samVlekhnc3dTamtMYVZrWDFVM2xEeGcyNWI2OVElM0QlM0QmYW1w O3U9aHR0cCUzQSUyRiUyRnd3dy5zcGRrLmlvJTJGZG9jJTJGY29uY3VycmVuY3kuaHRtbCIgcHJl dmlld3JlbW92ZWQ9InRydWUiPgpodHRwOi8vd3d3LnNwZGsuaW8vZG9jL2NvbmN1cnJlbmN5Lmh0 bWw8L2E+PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+CiZn dDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IFdlIGRvbid0IGN1cnJlbnRseSBo YXZlIGEgd2F5IHRvIHdyaXRlIGEgY3VzdG9tIGJkZXYgbW9kdWxlIHRoYXQ8YnI+CiZndDsgcmVz aWRlczxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgb3V0c2lkZTxi cj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgb2YgdGhlIFNQREsgc291 cmNlIHRyZWUsIGJ1dCBpdCdzIHZlcnkgcG9zc2libGUgdG8gYWRkIHN1cHBvcnQgZm9yPGJyPgom Z3Q7IHRoYXQuPGJyPgomZ3Q7ICZndDsgQnV0PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgJmd0OyBiZXlvbmQgdGhhdCBpbmNvbnZlbmllbmNlIChqdXN0IGRyb3AgeW91ciBt b2R1bGUgaW4gbGliL2JkZXYgZm9yIG5vdyksPGJyPgomZ3Q7ICZndDsgd3JpdGluZzxicj4KJmd0 OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgYTxicj4KJmd0OyAmZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgYmRldiBtb2R1bGUgaXMgdGhlIHJlY29tbWVuZGVkIHdh eSBvZiBpbnRlcmFjdGluZyB3aXRoIHRoZSBib3R0b20gZW5kPGJyPgomZ3Q7IG9mPGJyPgomZ3Q7 ICZndDsgdGhlPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyBTUERL IGJkZXYgbGF5ZXIuIEkgdGhpbmsgdGhhdCdzIHdoYXQgeW91IHJlYWxseSB3YW50IHRvIGJlIGRv aW5nIGluPGJyPgomZ3Q7IHlvdXI8YnI+CiZndDsgJmd0OyBjb2RlLDxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgZnJvbSB3aGF0IEkgY2FuIHRlbGwuPGJyPgomZ3Q7 ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+CiZndDsgJmd0OyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IEkgaG9wZSB0aGF0IGhlbHBzITxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm Z3Q7IFNQREsgbWFpbGluZyBsaXN0PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsgJmd0OyBTUERLQGxpc3RzLjAxLm9yZzxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7ICZndDsgPGEgaWQ9IkxQbG5rNzIxODQiIGhyZWY9Imh0dHBzOi8vY2xpY2t0aW1lLnN5 bWFudGVjLmNvbS9hLzEvOWlhbVN5ZmNPN2xuUUxDS3VEazZWVnliRHJ2eEcyNEh5Zld6NlZUbWo0 ND0/ZD1FU0dNZng4ODVNb24tRllhYm1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lTcmdwWWpDT2I0 SVM2bHdZS1NDcnZ0SGM3Q0V2QlJnRlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNmNG1nbjhkV0pS d2ZvZ1QxZGtrZDRhcGxyS1UwMEN6STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJcjQ1dVhlM2RY RGdWMXNsU2hrbzFDMy1heUhhZ2hSTWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVzOG9qMVFvU0tz RE54bTktaEZzNEw5YS1Yc2hPTk1yMVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hxMlhuWWMtdHVu REVIRXlrcWdNQ3pfQVdscHdBNFVFNVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2NjMXhxbUduLVd3 c0lTQnBqbURfdEd6c29LcVJ1VmhpVjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQSXVWNkxMVFpo VFBaOEpNbGplZXpIZ3N3U2prTGFWa1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1PWh0dHBzJTNB JTJGJTJGbGlzdHMuMDEub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGc3BkayIgcHJldmlld3Jl bW92ZWQ9InRydWUiPgpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NwZGs8 L2E+PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmd0OyA8YnI+CiZndDsg Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgJmd0OyBTUERLIG1haWxpbmcgbGlzdDxicj4KJmd0OyAmZ3Q7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7ICZndDsgU1BES0BsaXN0cy4wMS5vcmc8YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmZ3Q7IDxhIGlkPSJMUGxuazE2OTg3NiIgaHJlZj0iaHR0cHM6Ly9jbGlj a3RpbWUuc3ltYW50ZWMuY29tL2EvMS85aWFtU3lmY083bG5RTENLdURrNlZWeWJEcnZ4RzI0SHlm V3o2VlRtajQ0PT9kPUVTR01meDg4NU1vbi1GWWFibWhEN2xzM3d0V21CWlc5a1dncnllcTFTSVNy Z3BZakNPYjRJUzZsd1lLU0NydnRIYzdDRXZCUmdGUWRJSV9oUmtLZEVIdElQdy1fbC0ydmJwU2Y0 bWduOGRXSlJ3Zm9nVDFka2tkNGFwbHJLVTAwQ3pJMHJEaENnWlQ2N0dIZEo3Tm93VklRXzEyUkly NDV1WGUzZFhEZ1Yxc2xTaGtvMUMzLWF5SGFnaFJNZ0pRb0dRejVld2F1ckRDNDJ3YzdfdzFCRXM4 b2oxUW9TS3NETnhtOS1oRnM0TDlhLVhzaE9OTXIxU3hUWEl0OUVJZlV2V29hRmxDdEplSmlrWHEy WG5ZYy10dW5ERUhFeWtxZ01Del9BV2xwd0E0VUU1UlZDbWtla2stRnV4am00VVluYzZnZ0hTY2Mx eHFtR24tV3dzSVNCcGptRF90R3pzb0txUnVWaGlWMDFDSWQtX3dDbVdzdi11WGNvSWhXMGVfSlBJ dVY2TExUWmhUUFo4Sk1samVlekhnc3dTamtMYVZrWDFVM2xEeGcyNWI2OVElM0QlM0QmYW1wO3U9 aHR0cHMlM0ElMkYlMkZsaXN0cy4wMS5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8lMkZzcGRrIiBw cmV2aWV3cmVtb3ZlZD0idHJ1ZSI+Cmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGlu Zm8vc3BkazwvYT48YnI+CiZndDsgJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KJmd0OyAmZ3Q7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IFNQREsgbWFpbGluZyBsaXN0PGJyPgomZ3Q7ICZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgU1BES0BsaXN0cy4wMS5vcmc8YnI+CiZndDsgJmd0OyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyA8YSBpZD0iTFBsbms0Njc1NzIiIGhyZWY9Imh0dHBzOi8vY2xp Y2t0aW1lLnN5bWFudGVjLmNvbS9hLzEvOWlhbVN5ZmNPN2xuUUxDS3VEazZWVnliRHJ2eEcyNEh5 Zld6NlZUbWo0ND0/ZD1FU0dNZng4ODVNb24tRllhYm1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lT cmdwWWpDT2I0SVM2bHdZS1NDcnZ0SGM3Q0V2QlJnRlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNm NG1nbjhkV0pSd2ZvZ1QxZGtrZDRhcGxyS1UwMEN6STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJ cjQ1dVhlM2RYRGdWMXNsU2hrbzFDMy1heUhhZ2hSTWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVz OG9qMVFvU0tzRE54bTktaEZzNEw5YS1Yc2hPTk1yMVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hx MlhuWWMtdHVuREVIRXlrcWdNQ3pfQVdscHdBNFVFNVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2Nj MXhxbUduLVd3c0lTQnBqbURfdEd6c29LcVJ1VmhpVjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQ SXVWNkxMVFpoVFBaOEpNbGplZXpIZ3N3U2prTGFWa1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1 PWh0dHBzJTNBJTJGJTJGbGlzdHMuMDEub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGc3BkayIg cHJldmlld3JlbW92ZWQ9InRydWUiPgpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3NwZGs8L2E+PGJyPgomZ3Q7ICZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgPGJyPgom Z3Q7ICZndDsgPGJyPgomZ3Q7ICZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX188YnI+CiZndDsgJmd0OyBTUERLIG1haWxpbmcgbGlzdDxicj4KJmd0OyAm Z3Q7IFNQREtAbGlzdHMuMDEub3JnPGJyPgomZ3Q7ICZndDsgPGEgaWQ9IkxQbG5rNjUzMDA4IiBo cmVmPSJodHRwczovL2NsaWNrdGltZS5zeW1hbnRlYy5jb20vYS8xLzlpYW1TeWZjTzdsblFMQ0t1 RGs2VlZ5YkRydnhHMjRIeWZXejZWVG1qNDQ9P2Q9RVNHTWZ4ODg1TW9uLUZZYWJtaEQ3bHMzd3RX bUJaVzlrV2dyeWVxMVNJU3JncFlqQ09iNElTNmx3WUtTQ3J2dEhjN0NFdkJSZ0ZRZElJX2hSa0tk RUh0SVB3LV9sLTJ2YnBTZjRtZ244ZFdKUndmb2dUMWRra2Q0YXBscktVMDBDekkwckRoQ2daVDY3 R0hkSjdOb3dWSVFfMTJSSXI0NXVYZTNkWERnVjFzbFNoa28xQzMtYXlIYWdoUk1nSlFvR1F6NWV3 YXVyREM0MndjN193MUJFczhvajFRb1NLc0ROeG05LWhGczRMOWEtWHNoT05NcjFTeFRYSXQ5RUlm VXZXb2FGbEN0SmVKaWtYcTJYblljLXR1bkRFSEV5a3FnTUN6X0FXbHB3QTRVRTVSVkNta2Vray1G dXhqbTRVWW5jNmdnSFNjYzF4cW1Hbi1Xd3NJU0Jwam1EX3RHenNvS3FSdVZoaVYwMUNJZC1fd0Nt V3N2LXVYY29JaFcwZV9KUEl1VjZMTFRaaFRQWjhKTWxqZWV6SGdzd1Nqa0xhVmtYMVUzbER4ZzI1 YjY5USUzRCUzRCZhbXA7dT1odHRwcyUzQSUyRiUyRmxpc3RzLjAxLm9yZyUyRm1haWxtYW4lMkZs aXN0aW5mbyUyRnNwZGsiIHByZXZpZXdyZW1vdmVkPSJ0cnVlIj4KaHR0cHM6Ly9saXN0cy4wMS5v cmcvbWFpbG1hbi9saXN0aW5mby9zcGRrPC9hPjxicj4KJmd0OyAmZ3Q7IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgomZ3Q7ICZndDsgU1BESyBtYWls aW5nIGxpc3Q8YnI+CiZndDsgJmd0OyBTUERLQGxpc3RzLjAxLm9yZzxicj4KJmd0OyAmZ3Q7IDxh IGlkPSJMUGxuazc2MDA5MyIgaHJlZj0iaHR0cHM6Ly9jbGlja3RpbWUuc3ltYW50ZWMuY29tL2Ev MS85aWFtU3lmY083bG5RTENLdURrNlZWeWJEcnZ4RzI0SHlmV3o2VlRtajQ0PT9kPUVTR01meDg4 NU1vbi1GWWFibWhEN2xzM3d0V21CWlc5a1dncnllcTFTSVNyZ3BZakNPYjRJUzZsd1lLU0NydnRI YzdDRXZCUmdGUWRJSV9oUmtLZEVIdElQdy1fbC0ydmJwU2Y0bWduOGRXSlJ3Zm9nVDFka2tkNGFw bHJLVTAwQ3pJMHJEaENnWlQ2N0dIZEo3Tm93VklRXzEyUklyNDV1WGUzZFhEZ1Yxc2xTaGtvMUMz LWF5SGFnaFJNZ0pRb0dRejVld2F1ckRDNDJ3YzdfdzFCRXM4b2oxUW9TS3NETnhtOS1oRnM0TDlh LVhzaE9OTXIxU3hUWEl0OUVJZlV2V29hRmxDdEplSmlrWHEyWG5ZYy10dW5ERUhFeWtxZ01Del9B V2xwd0E0VUU1UlZDbWtla2stRnV4am00VVluYzZnZ0hTY2MxeHFtR24tV3dzSVNCcGptRF90R3pz b0txUnVWaGlWMDFDSWQtX3dDbVdzdi11WGNvSWhXMGVfSlBJdVY2TExUWmhUUFo4Sk1samVlekhn c3dTamtMYVZrWDFVM2xEeGcyNWI2OVElM0QlM0QmYW1wO3U9aHR0cHMlM0ElMkYlMkZsaXN0cy4w MS5vcmclMkZtYWlsbWFuJTJGbGlzdGluZm8lMkZzcGRrIiBwcmV2aWV3cmVtb3ZlZD0idHJ1ZSI+ Cmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vc3BkazwvYT48YnI+CiZndDsg X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+CiZndDsg U1BESyBtYWlsaW5nIGxpc3Q8YnI+CiZndDsgU1BES0BsaXN0cy4wMS5vcmc8YnI+CiZndDsgPGEg aWQ9IkxQbG5rNDkzMzk1IiBocmVmPSJodHRwczovL2NsaWNrdGltZS5zeW1hbnRlYy5jb20vYS8x LzlpYW1TeWZjTzdsblFMQ0t1RGs2VlZ5YkRydnhHMjRIeWZXejZWVG1qNDQ9P2Q9RVNHTWZ4ODg1 TW9uLUZZYWJtaEQ3bHMzd3RXbUJaVzlrV2dyeWVxMVNJU3JncFlqQ09iNElTNmx3WUtTQ3J2dEhj N0NFdkJSZ0ZRZElJX2hSa0tkRUh0SVB3LV9sLTJ2YnBTZjRtZ244ZFdKUndmb2dUMWRra2Q0YXBs cktVMDBDekkwckRoQ2daVDY3R0hkSjdOb3dWSVFfMTJSSXI0NXVYZTNkWERnVjFzbFNoa28xQzMt YXlIYWdoUk1nSlFvR1F6NWV3YXVyREM0MndjN193MUJFczhvajFRb1NLc0ROeG05LWhGczRMOWEt WHNoT05NcjFTeFRYSXQ5RUlmVXZXb2FGbEN0SmVKaWtYcTJYblljLXR1bkRFSEV5a3FnTUN6X0FX bHB3QTRVRTVSVkNta2Vray1GdXhqbTRVWW5jNmdnSFNjYzF4cW1Hbi1Xd3NJU0Jwam1EX3RHenNv S3FSdVZoaVYwMUNJZC1fd0NtV3N2LXVYY29JaFcwZV9KUEl1VjZMTFRaaFRQWjhKTWxqZWV6SGdz d1Nqa0xhVmtYMVUzbER4ZzI1YjY5USUzRCUzRCZhbXA7dT1odHRwcyUzQSUyRiUyRmxpc3RzLjAx Lm9yZyUyRm1haWxtYW4lMkZsaXN0aW5mbyUyRnNwZGsiIHByZXZpZXdyZW1vdmVkPSJ0cnVlIj4K aHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9zcGRrPC9hPjxicj4KJmd0OyBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KJmd0OyBT UERLIG1haWxpbmcgbGlzdDxicj4KJmd0OyBTUERLQGxpc3RzLjAxLm9yZzxicj4KJmd0OyA8YSBp ZD0iTFBsbmsyNzg2NDIiIGhyZWY9Imh0dHBzOi8vY2xpY2t0aW1lLnN5bWFudGVjLmNvbS9hLzEv OWlhbVN5ZmNPN2xuUUxDS3VEazZWVnliRHJ2eEcyNEh5Zld6NlZUbWo0ND0/ZD1FU0dNZng4ODVN b24tRllhYm1oRDdsczN3dFdtQlpXOWtXZ3J5ZXExU0lTcmdwWWpDT2I0SVM2bHdZS1NDcnZ0SGM3 Q0V2QlJnRlFkSUlfaFJrS2RFSHRJUHctX2wtMnZicFNmNG1nbjhkV0pSd2ZvZ1QxZGtrZDRhcGxy S1UwMEN6STByRGhDZ1pUNjdHSGRKN05vd1ZJUV8xMlJJcjQ1dVhlM2RYRGdWMXNsU2hrbzFDMy1h eUhhZ2hSTWdKUW9HUXo1ZXdhdXJEQzQyd2M3X3cxQkVzOG9qMVFvU0tzRE54bTktaEZzNEw5YS1Y c2hPTk1yMVN4VFhJdDlFSWZVdldvYUZsQ3RKZUppa1hxMlhuWWMtdHVuREVIRXlrcWdNQ3pfQVds cHdBNFVFNVJWQ21rZWtrLUZ1eGptNFVZbmM2Z2dIU2NjMXhxbUduLVd3c0lTQnBqbURfdEd6c29L cVJ1VmhpVjAxQ0lkLV93Q21Xc3YtdVhjb0loVzBlX0pQSXVWNkxMVFpoVFBaOEpNbGplZXpIZ3N3 U2prTGFWa1gxVTNsRHhnMjViNjlRJTNEJTNEJmFtcDt1PWh0dHBzJTNBJTJGJTJGbGlzdHMuMDEu b3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGc3BkayIgcHJldmlld3JlbW92ZWQ9InRydWUiPgpo dHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3NwZGs8L2E+PGJyPgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KU1BESyBtYWlsaW5n IGxpc3Q8YnI+ClNQREtAbGlzdHMuMDEub3JnPGJyPgo8YSBpZD0iTFBsbms3MDU2OTUiIGhyZWY9 Imh0dHBzOi8vY2xpY2t0aW1lLnN5bWFudGVjLmNvbS9hLzEvOWlhbVN5ZmNPN2xuUUxDS3VEazZW VnliRHJ2eEcyNEh5Zld6NlZUbWo0ND0/ZD1FU0dNZng4ODVNb24tRllhYm1oRDdsczN3dFdtQlpX OWtXZ3J5ZXExU0lTcmdwWWpDT2I0SVM2bHdZS1NDcnZ0SGM3Q0V2QlJnRlFkSUlfaFJrS2RFSHRJ UHctX2wtMnZicFNmNG1nbjhkV0pSd2ZvZ1QxZGtrZDRhcGxyS1UwMEN6STByRGhDZ1pUNjdHSGRK N05vd1ZJUV8xMlJJcjQ1dVhlM2RYRGdWMXNsU2hrbzFDMy1heUhhZ2hSTWdKUW9HUXo1ZXdhdXJE QzQyd2M3X3cxQkVzOG9qMVFvU0tzRE54bTktaEZzNEw5YS1Yc2hPTk1yMVN4VFhJdDlFSWZVdldv YUZsQ3RKZUppa1hxMlhuWWMtdHVuREVIRXlrcWdNQ3pfQVdscHdBNFVFNVJWQ21rZWtrLUZ1eGpt NFVZbmM2Z2dIU2NjMXhxbUduLVd3c0lTQnBqbURfdEd6c29LcVJ1VmhpVjAxQ0lkLV93Q21Xc3Yt dVhjb0loVzBlX0pQSXVWNkxMVFpoVFBaOEpNbGplZXpIZ3N3U2prTGFWa1gxVTNsRHhnMjViNjlR JTNEJTNEJmFtcDt1PWh0dHBzJTNBJTJGJTJGbGlzdHMuMDEub3JnJTJGbWFpbG1hbiUyRmxpc3Rp bmZvJTJGc3BkayIgcHJldmlld3JlbW92ZWQ9InRydWUiPmh0dHBzOi8vbGlzdHMuMDEub3JnL21h aWxtYW4vbGlzdGluZm8vc3BkazwvYT48YnI+CjwvZGl2Pgo8L3NwYW4+PC9mb250PjwvZGl2Pgo8 L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============7761851978586374059==--