TCP/IP Checksumming

Richard B. Johnson (root@analogic.com)
Wed, 4 Dec 1996 17:22:39 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1295196120-1051634761-849738159=:110
Content-Type: TEXT/PLAIN; charset=US-ASCII

Okay. The following included MASM program operates in 32-bit protected
mode and puts everything back together before returning to MS-DOS in
real mode. It will write its saved output to stdout after it gets back
to real mode.

It tests various TCP/IP checksumming routines for speed. The Linux
checksumming routine is included in the program so you can check it
against other procedures.

Your mileage may very. I tried this on different "Pentiums" and got
totally different results. Some machines show a 3:1 difference between
finely tuned routines and the simplest. Other machines show 20:1. Some
machines, i.e., Gateway$, are not even Pentiums even though purchased
as such. The best performing that I tested is a Micronics M55Hi-Plus
using a real Pentium at 166 MHz. It shows the about 0x200 clocks for
the Linux routine, and about 0x900 clocks for the simplest.

It looks as though there are many differences in how the cache controllers
perform.

At the very least, the included source will unravel some of the mystery
about how to get a Pentium into and out of Protected mode with a minumum
of fuss.

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.13 on an i586 machine.
Warning : It's hard to remain at the trailing edge of technology.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

---1295196120-1051634761-849738159=:110
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="chksum.asm"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.91.961204172239.110C@chaos.analogic.com>
Content-Description:

Q09NTUVOVCAqDQ0KDQ0KCVdyaXR0ZW4gYnkgUmljaGFyZCBCLiBKb2huc29u
LCByam9obnNvbkBhbmFsb2dpYy5jb20uDQ0KCUdpdmVuIHRvIHRoZSBMaW51
eCBjb21tdW5pdHkgaW4gaG9wZXMgdGhhdCBzb21lb25lIHdpbGwgZmluZA0N
CglhIHVzZSBmb3IgdGhpcyB0b29sLiBUaGlzIHJ1bnMgaW4gMzItYml0IHBy
b3RlY3RlZCBtb2RlIG9uIGENDQoJTVMtRE9TIG1hY2hpbmUuIFlvdSBtdXN0
IHJlbW92ZSBhbnkgbWVtb3J5IG1hbmFnZXIgdG8gdXNlIHRoaXMuDQ0KCUhv
d2V2ZXIsIHRoaXMgc29mdHdhcmUgd2lsbCBzYXZlIGV2ZXJ5dGhpbmcgYW5k
IHJldHVybiB0byBNUy1ET1MNDQoJd2hlbiBpdCBleGl0cyAzMi1iaXQgcHJv
dGVjdGVkIG1vZGUuIEl0IHdyaXRlcyBpdHMgcmVzdWx0cyBvdXQNDQoJTVMt
RE9TJ3Mgc3RhbmRhcmQgb3V0cHV0IHNvIHlvdSBjYW4gcmVkaXJlY3QgdG8g
ZmlsZXMsIGV0Yy4NDQoNDQoJVG8gY29tcGlsZToNDQoJTUFTTSBDSEtTVU07
DQ0KCUxJTksgQ0hLU1VNOw0NCg0NCglJZiB5b3UgdXNlIFRBU00sIHlvdSBo
YXZlIHRvIGNoYW5nZSB0aGUgMzItYml0IFRFU1QgaW5zdHJ1Y3Rpb25zDQ0K
ICAgICAgICBsaWtlOiAJVEVTVAlFQ1gsKE5PVCAoNjQtMSkpDQ0KCQlKWgku
Li4uLi4NDQoJdG86ICAgICBDTVAJRUNYLDY0DQ0KCQlKQUUJLi4uLi4uDQ0K
CW9yIHNvbWV0aGluZyBlbHNlIG9yIHRoZSBhc3NlbWJsZXIgd2lsbCBoYW5n
IGZvcmV2ZXIuIE5pY2UgdG9vbC4NDQoNDQoJVGhpcyBjb2RlIHRlc3RzIHRo
ZSBzcGVlZCBvZiB2YXJpb3VzIFRDUC9JUCBjaGVja3N1bSBtZXRob2RzLg0N
CglJdCByZWNvcmRzIHRoZSBhY3R1YWwgbWFjaGluZSBjeWNsZXMgbmVjZXNz
YXJ5IHRvIGFjY29tcGxpc2gNDQoJdGFzay4gVGhlIHByb2Nlc3NvciBtYWNo
aW5lIGN5Y2xlcyBjb250aW51ZSB0byBhY2N1bXVsYXRlIGV2ZW4NDQoJd2hl
biB0aGUgcHJvY2Vzc29yIGlzIEhBTFRFRC4gSXQgaXMsIHRoZXJlZm9yZSwg
YSB2ZXJ5IG5pY2Ugd2F5DQ0KCW9mIHRlc3RpbmcgdGhlIHBlcmZvcm1hbmNl
IG9mIGFuIGFjdHVhbCByb3V0aW5lIHdpdGhvdXQgaW5mbHVlbmNlDQ0KCWZy
b20gb3RoZXIgdGhpbmdzIHRoYXQgdXN1YWxseSBoYXBwZW4gb24gdGhlIHRh
cmdldCBtYWNoaW5lLg0NCg0NCglZb3UgY2FuIHJlYWRpbHkgaW5zZXJ0IGNv
ZGUgdG8gdGVzdCBvdGhlciB0aGluZ3Mgc3VjaCBhcyBzdHJpbmcNDQoJcHJp
bWF0aXZlcyBjYWxsZWQgYnkgdGhlICdDJyBydW50aW1lIGxpYnJhcnkuDQ0K
DQ0KCVRoaXMgY29kZSByZXF1aXJlcyBhIFBlbnRpdW0gdG8gb3BlcmF0ZSBi
ZWNhdXNlIHRoaXMgY2hpcCBoYXMNDQoJdGhlIGludGVybmFsIGNvdW50ZXIg
dGhhdCB3ZSBhY2Nlc3MuIEhvd2V2ZXIgdGhlIHRlc3RpbmcgcmVzdWx0cw0N
CglzaG91bGQgYmUgKGFyZSkgc2NhbGFibGUgdG8gb3RoZXIgbWFjaGluZXMu
DQ0KDQ0KCVdBUk5JTkchIHNvbWUgZGVtbyBjb2RlIGFzc3VtZXMgdGhhdCBh
IFRDUC9JUCBjaGVja3N1bSB3aWxsIGFsd2F5cw0NCgljaGVja3N1bSBhbiBF
VkVOIG51bWJlciBvZiBieXRlcy4gQWRkaW5nIGxvZ2ljIGZvciBhbiBleHRy
YSBieXRlDQ0KCWl0IHRyaXZpYWwsIGJ1dCB0YWtlcyBDUFUgdGltZSBhcyB3
ZWxsLiBBbGwgVENQL0lQIGJ1ZmZlcnMgQVJFDQ0KCUVWRU4gdG8gc3RhcnQs
IGlmIE9ERCwgeW91IGFkZCB0aGUgZXh0cmEgbG9naWMgT05DRSBwZXIgY2Fs
bC4NDQoNDQoJTm90ZSB0aGF0IGFsbCByZWZlcmVuY2VzIHRvICJ0aGUgSW50
ZWwgUmFnIiBtZWFuczoNDQoNDQoJCUludGVsNDg2IE1pY3JvcHJvY2Vzc29y
IEZhbWlseQ0NCgkJUHJvZ3JhbW1lcidzIFJlZmVyZW5jZSBNYW51YWwNDQoJ
CVB1Ymxpc2hlZCBpbiAxOTkyLg0NCgkJT3JkZXIgTm8uIDI0MDQ4Ni0wMDIN
DQoNDQoJVGhpcyBib29rIGNvbnRhaW5zIHNldmVyYWwgZXJyb3JzLiBBIHBh
cnRpY3VsYXJseSBiYWQgb25lDQ0KCWlzIG9uIHBhZ2UgNS05IHdoZXJlIGl0
IGltcHJvcGVybHkgZGVmaW5lcyAiSW5kZXg6IiBhbmQNDQoJc2F5cyAiVGhl
IHByb2Nlc3NvciBtdWx0aXBsaWVzIHRoZSBpbmRleCB2YWx1ZSBieSA4ICh0
aGUNDQoJbnVtYmVyIG9mIGJ5dGVzIGluIGEgc2VnbWVudCBkZXNjcmlwdG9y
KSBhbmQgYWRkcyB0aGUgcmVzdWx0DQ0KCXRvIHRoZSBiYXNlIGFkZHJlc3Mu
Li4uIi4gVGhpcyBpcyB3cm9uZy4gWU9VLCBpLmUuLCB0aGUgY29kZXIsDQ0K
CXBlcmZvcm0gdGhlIG11bHRpcGxpY2F0aW9uIGFuZCB5b3UgYWRkIG5vdGhp
bmcuIFRoaXMgbWVhbnMgdGhhdA0NCgl0aGUgZmlyc3QgaW5kZXggaXMgMCwg
dGhlIHNlY29uZCBpcyA4LCB0aGUgdGhpcmQgaXMgMTYsIGV0Yy4sDQ0KCWlu
c3RlYWQgb2YgMCwgMSwgYW5kIDIgYXMgdGhlIEludGVsIFJhZyBzdGF0ZXMu
DQ0KDQ0KCVRoaXMgY29kZSB0cmFuc2l0aW9ucyB0byAzMi1iaXQgbGluZWFy
IGFkZHJlc3MgbW9kZSB3aXRoIDMyLWJpdA0NCglpbnN0cnVjdGlvbnMuIEl0
IGRvZXMgaXRzIHRoaW5nLCB0aGVuIHRyYW5zaXRpb25zIGJhY2sgdG8gMTYt
Yml0DQ0KCSJyZWFsIiBtb2RlIHRvIGRpc3BsYXkgdGhlIHJlc3VsdHMuIEl0
IGRvZXMgdGhpcyBhbGwgd2l0aG91dA0NCgl0cmFzaGluZyBNUy1ET1MgaWYs
IGFuZCBvbmx5IGlmLCB5b3U6DQ0KDQ0KCSgxKQlEbyBOT1QgbG9hZCBhIG1l
bW9yeSBtYW5hZ2VyLg0NCgkoMikJRG8gTk9UIGhhdmUgdG9vIG1hbnkgVFNS
IHByb2dyYW1zIHdoaWNoIGVhdCBtZW1vcnkuDQ0KDQ0KCUFmdGVyIGl0IGlz
IHRocm91Z2gsIGl0IHRyYW5zaXRpb25zIGJhY2sgdG8gdGhlIE1TLURPUyBw
cm9tcHQuDQ0KCVRoaXMgbWVhbnMgdGhhdCB5b3UgY2FuIGVkaXQgYW5kIGNv
bXBpbGUgbmV3IHByb2NlZHVyZXMgdG8NDQoJYmUgZXhlY3V0ZWQgaW4gMzIt
Yml0IHByb3RlY3RlZCBtb2RlIHVzaW5nIERPUyB0b29scyBhbmQgeW91cg0N
CglmYXZvcml0ZSBET1MgZWRpdG9yLg0NCg0NCglNZW1vcnkgaXMgc2V0IHVw
IGxpa2UgdGhpczoNDQoNDQoJICAtLSBMb3dlc3QgYWRkcmVzcyAtLQ0NCiAg
ICAgIDAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQ0K
ICAgICAgICAgIHwgSW50ZXJydXB0IHRhYmxlLiAgICAgICAgICAgICAgICB8
DQ0KICAgICAgICAgIHwgTVMtRE9TIGJ1ZmZlcnMgYW5kIGNvZGUgICAgICAg
ICB8DQ0KICAgICAgMSAgIHxfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX198IDQwOTYgYnl0ZSBwYWdlcw0NCiAgICAgICAgICB8ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfA0NCiAgICAgICAgICB8IFVuZGVm
aW5lZCB3aGVyZSBET1MgbG9hZGVkIHVzLiAgfA0NCiAgICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0NCiAgICAgIDIgICB8
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfA0NCiAgICAgICAg
ICB8IFN0YXJ0dXAgY29kZSByZWxvY2F0ZWQgdG8gbmV4dCAgfA0NCiAgICAg
ICAgICB8IGF2YWlsYWJsZSBwYWdlIG9uIGEgcGFnZSAgICAgICAgfC0tLS0t
DQ0KICAgICAgICAgIHwgYm91bmRhcnkuICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgICB8DQ0KICAgICAgTiAgIHxfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX198IDwtLS18DQ0KICAgICAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8DQ0KICAgICAgICAgIHwgVmFyaWFibGUg
bnVtYmVyIG9mIHBhZ2VzLiAgICAgICB8LS0tLS0gIFN0YXJ0dXAgcmVsb2Nh
dGVzDQ0KICAgICAgMTQ0IHxfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX198ICAgICB8IDMyLWJpdCBjb2RlLg0NCiAgICAgICAgICB8IDMyLWJp
dCBleGVjdXRlcyBhdCBsaW5lYXIgICAgICAgfCA8LS0tDQ0KICAgICAgICAg
IHwgYWRkcmVzcyAweDkwMDAwLiAgVGhpcyBpcyAgICAgICB8DQ0KICAgICAg
ICAgIHwgd2hlcmUgQ09NTUFORC5DT00gbm9ybWFsbHkgICAgICB8DQ0KICAg
ICAgICAgIHwgbGl2ZXMuIEl0IGlzIGxlZ2FsIHRvIG92ZXJ3cml0ZSB8DQ0K
ICAgICAgICAgIHxfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX198
DQ0KDQ0KICAgICAgICAgIC0tIEhpZ2hlc3QgYWRkcmVzcyAtLQ0NCg0NCglU
aGUgc3RhcnR1cCBjb2RlIHJlbG9jYXRlcyBpdHNlbGYgdG8gdGhlIG5leHQg
aGlnaGVzdCBhdmFpbGFibGUNDQoJcGFnZSBvbiBhIHBhZ2UgYm91bmRhcnks
IGkuZS4sIDB4MjAwMCwgMHgzMDAwLCAweDQwMDAsIGV0Yy4gVGhpcw0NCglp
cyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBhIHByb2Nlc3NvciBidWcgKGZlYXR1
cmUpLg0NCg0NCglJdCB0aGVuIHJlbG9jYXRlcyB0aGUgMzItYml0IGFwcGxp
Y2F0aW9uIGNvZGUgdG8gcGh5c2ljYWwgYWRkcmVzcw0NCgkweDkwMDAwIHdo
ZXJlIHRoZSBNUy1ET1MgY29tbWFuZCBpbnRlcnByZXRlciBub3JtYWxseSBs
aXZlcy4gSXQNDQoJaXMgbGVnYWwgdG8gb3ZlcndyaXRlIHRoaXMuIEEgRE9T
IHByb2dyYW0gb3ducyBBTEwgbWVtb3J5IGZyb20NDQoJZm9yIHdoZXJlIGl0
J3MgbG9hZGVkIHVwIHRvIHRoZSBlbmQgb2YgMTYtYml0IGFkZHJlc3Npbmcu
IEl0DQ0KCW11c3Qgbm90IGNoYW5nZSBzdHVmZiBiZWxvdyBpdCBvciBNUy1E
T1MgY2FuJ3QgcmVzdGFydC4NDQoNDQoJVGhlbiB2YXJpb3VzIGRlc2NyaXB0
b3JzIGFyZSBzZXQgdXAgYW5kIGxvYWRlZC4gVGhlIG1hY2hpbmUgdGhlbg0N
Cgl0cmFuc2l0aW9ucyB0byBwcm90ZWN0ZWQgMzItYml0IG1vZGUgYW5kIGV4
ZWN1dGVzIHRoZSBhcHBsaWNhdGlvbg0NCgljb2RlLiBUaGlzIGNvZGUgbGVh
dmVzIGl0cyByZXN1bHRzIGluIGEgYnVmZmVyIHdoaWNoIGNhbiBiZQ0NCgls
b2NhdGVkIGFmdGVyIHRoZSB0cmFuc2l0aW9uIGJhY2sgdG8gcmVhbCBtb2Rl
Lg0NCg0NCglBZnRlciB0aGUgYXBwbGljYXRpb24gY29kZSBpcyBleGVjdXRl
ZCwgaXQgdHJhbnNpdGlvbnMgdGhyb3VnaA0NCglhIENBTEwgR2F0ZSB0byBh
IDE2LWJpdCBwcm9wZXJseSBhbGlnbmVkIHNlZ21lbnQgdG8gZ2V0IGJhY2sg
dG8NDQoJdGhlIHN0YXJ0dXAgY29kZS4NDQoNDQoJVGhlbiBhIHRyYW5zaXRp
b24gZnJvbSBwcm90ZWN0ZWQgbW9kZSB0byByZWFsIG1vZGUgb2NjdXJzLiBS
ZWFsDQ0KCW1vZGUgc2VnbWVudHMgYXJlIHNldCB1cCwgYW5kIGludGVycnVw
dHMgYXJlIHR1cm5lZCBiYWNrIG9uLg0NCglUaGUgcmVzdWx0cyBvZiB0aGUg
MzItYml0IG9wZXJhdGlvbnMgYXJlIHRoZW4gd3JpdHRlbiB0byBzdGFuZGFy
ZA0NCglvdXRwdXQgdXNpbmcgTVMtRE9TLg0NCg0NCglUaGUgY29kZSBleGl0
cyB0byBNUy1ET1MgYXMgdGhvdWdoIHRoaXMgd2FzIGEgbm9ybWFsLCB0cml2
aWFsDQ0KCXByb2dyYW0uDQ0KDQ0KCUlmIHRoZSBERUJVRyB2YXJpYWJsZSBp
cyBzZXQsIG91dHB1dCBpcyB3cml0dGVuIHRvIHRoZSBmaXJzdA0NCglDT00g
cG9ydCBhdCA5NjAwIGJhdWQsIGFuZCBhbGwgQ09NIHBvcnRzIGluIHByb3Rl
Y3RlZCBtb2RlLg0NCg0NCglOb3RlIHRvIGhlbHBmdWwgcGVvcGxlOg0NCglU
aGUgTGludXggc291cmNlIHRyZWUgZG9lcyBub3Qgc2VlbSB0byBjb250YWlu
IGFueSBpbmZvcm1hdGlvbg0NCglhYm91dCBob3cgdG8gcmV0dXJuIHRvIDE2
LWJpdCByZWFsIG1vZGUuIEl0IGp1c3QgYXNrcyB0aGUNDQoJa2V5Ym9hcmQg
Y29udHJvbGxlciB0byBoaXQgdGhlIHJlc2V0IHN3aXRjaC4NDQoNDQoqDQ0K
Ow0NCjtERUJVRwlFUVUJMQkJCTsgRm9yIFVBUlQgZGVidWcgb3V0cHV0Lg0N
CjsNDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQo7DQ0K
OwlKdXN0IGEgZmV3IE1BQ1JPUyBzaW5jZSB0aGlzIElTIGEgTUFDUk8gYXNz
ZW1ibGVyDQ0KOw0NCkZMVVNICU1BQ1JPDQ0KCUxPQ0FMCVgxLCBYMg0NCglK
TVAgU0hPUlQgWDENDQpYMToJSk1QIFNIT1JUIFgyDQ0KWDI6DQ0KRU5ETQ0N
CjsNDQpBU0NJSQlNQUNSTyBURVhUDQ0KSUZOQgk8VEVYVD4NDQoJREIJJyAg
ICcNDQoJREIJJyZURVhUJywwREgsIDBBSA0NCkVMU0UNDQoJREIJMERILCAw
QUgNDQpFTkRJRg0NCkVORE0NDQoNDQpFT0wJTUFDUk8NDQoJREIJMA0NCkVO
RE0NDQoNDQpJRkRFRglERUJVRw0NCjsNDQo7CVB1dCBhIGJ5dGUgaW4gQUwg
b3V0IHRoZSBDT00gcG9ydC4NDQo7DQ0KCVNIT1cJTUFDUk8gQ0hBUg0NCgkJ
TU9WCUFMLENIQVINDQoJCUNBTEwJUE9VVA0NCglFTkRNDQ0KRUxTRQ0NCglT
SE9XCU1BQ1JPIENIQVINDQoJRU5ETQ0NCkVORElGDQ0KOw0NClBSRUZJWAlN
QUNSTw0NCglEQgk2NkgNDQpFTkRNDQ0KOw0NCjsJVGhpcyBtYWtlcyBhIGxp
bmVhciBhZGRyZXNzIG91dCBvZiBhIERXT1JEIHBvaW50ZXIuDQ0KOw0NCk1B
S0VfUkVBTCBNQUNSTyBCQVNFLCBQT0lOVEVSDQ0KCU1PVglBWCxCQVNFDQ0K
CU1PVglDWCwxMEgJCQk7IDE2LWJ5dGUgc2VnbWVudHMNDQoJTVVMCUNYDQ0K
SUZOQgk8UE9JTlRFUj4NDQoJQURECUFYLE9GRlNFVCBQT0lOVEVSCTsgU3Vt
IHRoZSBvZmZzZXQNDQoJQURDCURYLDAJCQk7IFRha2UgY2FyZSBvZiBDWQ0N
CkVORElGDQ0KRU5ETQ0NCjsNDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS0NDQo7DQ0KOwlMaWtlIGEgJ0MnIHR5cGVkZWYgc3RydWN0Lg0N
CjsNDQpUT0RPCVNUUlVDDQ0KRElTUAlERAkJPwkJOyBPZmZzZXQgb2YgY29t
bWVudHMgdG8gcHJpbnQNDQpFWEVDCURECQk/CQk7IE9mZnNldCBvZiByb3V0
aW5lIHRvIGNhbGwNDQpUT0RPCUVORFMNDQo7DQ0KQkFTCUVRVQkwCQkJCTsg
QmFzZSAoZGF0YSkgcG9ydA0NCklFUglFUVUJMQkJCQk7IEludGVycnVwdCBl
bmFibGUgcmVnaXN0ZXINDQpJSVIJRVFVCTIJCQkJOyBJbnRlcnJ1cHQgaWRl
bnQgcmVnaXN0ZXINDQpMQ1IJRVFVCTMJCQkJOyBMaW5lIGNvbnRyb2wgcmVn
aXN0ZXINDQpNQ1IJRVFVCTQJCQkJOyBNb2RlbSBjb250cm9sIHJlZ2lzdGVy
DQ0KTFNSCUVRVQk1CQkJCTsgTGluZSBzdGF0dXMgcmVnaXN0ZXINDQpNU1IJ
RVFVCTYJCQkJOyBNb2RlbSBzdGF0dXMgcmVnaXN0ZXINDQoNDQpQT1JUMQlF
UVUJM0Y4SAkJCQk7IENPTTEgVUFSVCBiYXNlIGFkZHJlc3MNDQpDT0RFCUVR
VQk4CQkJCTsgRGVmYXVsdCBjb2RlIHNlZ21lbnQNDQpEQVRBCUVRVQkxNgkJ
CQk7IERlZmF1bHQgZGF0YSBzZWdtZW50DQ0KQVBQTEMJRVFVCTI0CQkJCTsg
QXBwbGljYXRpb24gY29kZQ0NCkFQUExECUVRVQkzMgkJCQk7IEFwcGxpY2F0
aW9uIGRhdGENDQpBUFBMUwlFUVUJNDAJCQkJOyBBcHBsaWNhdGlvbiBzdGFj
aw0NCk5PTkNTCUVRVQk0OAkJCQk7IDE2LWJpdCBub25jb25mb3JtaW5nIGNv
ZGUNDQpCQUNLCUVRVQk1NgkJCQk7IEhvdyB0byBnZXQgYmFjaw0NCkRPUwlF
UVUJNjQJCQkJOyBET1Mgc2VnbWVudA0NCjsNDQo7DQ0KOy09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0NCjsgICBHb2luZyB0byBuZWVk
IHRvIG1ha2UgRkFSIGNhbGxzLiBOZWVkIHRvIG1ha2UgYW4gIi5FWEUiIGZp
bGUgdG8gbWFrZQ0NCjsgICBpdCBlYXNpZXIuIFdlIGFjdHVhbGx5IHNldCBv
dXIgb3duIHN0YWNrIGJlZm9yZSB1c2UsIHNvIHdlIGRlZmluZQ0NCjsgICBv
bmx5IGEgc2luZ2xlIHdvcmQgb2Ygc3RhY2sgYXJlYS4gVGhpcyBwcmV2ZW50
cyB0aGUgbG9hZGVyIGZyb20NDQo7ICAgYWxsb2NhdGluZyBhIGRlZmF1bHQt
c2l6ZWQgc3RhY2sgd2hpY2ggd2lsbCB3YXN0ZSBtZW1vcnkuDQ0KOw0NClNU
SwlTRUdNRU5UIFBBUkEgU1RBQ0sgJ1NUQUNLJw0NCglEVwk/DQ0KU1RLCUVO
RFMNDQo7DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0K
Ow0NCjsJVGhpcyBpcyB3aGVyZSB0aGUgMzItYml0IGNvZGUgYW5kIGRhdGEg
d2lsbCBsaXZlLg0NCjsNDQpSRUxPQwlTRUdNRU5UCUFUIDkwMDBIDQ0KCUFT
U1VNRSAgQ1M6UkVMT0MsIERTOk5PVEhJTkcsIEVTOk5PVEhJTkcsIFNTOk5P
VEhJTkcNDQpSRUxPQwlFTkRTDQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tDQ0KOw0NCjsJVGhpcyBpcyB0aGUgc3RhcnR1cCBhbmQgcnVu
ZG93biBjb2RlLg0NCjsNDQpNQUlOCVNFR01FTlQJUEFSQSBQVUJMSUMgJ0ZJ
UlNUJw0NCglBU1NVTUUJQ1M6TUFJTiwgRFM6TUFJTiwgRVM6TUFJTiwgU1M6
U1RLDQ0KU1RBUlRVUAlQUk9DCU5FQVINDQoJSk1QCUJZUEFTUw0NCjsNDQo7
CVRoaXMgaXMgaG93IHRoZSBtYWluIEdEVCBlbnRyaWVzIGFyZSBvcmdhbml6
ZWQNDQo7DQ0KOwlEVwkxMDAxMDAxMDAwMDAwMDAwQg0NCjsgICAgICAgICAg
ICAgICB8fHx8fHx8fHx8fHx8fHx8X19fXyBNb3JlIGJhc2UgYWRkcmVzcyAy
MzoxNg0NCjsgICAgICAgICAgICAgICB8fHx8fHx8fF9fX19fX19fX19fXyB0
eXBlIChkYXRhIFIvVykNDQo7ICAgICAgICAgICAgICAgfHx8fF9fX19fX19f
X19fX19fX18gU3lzdGVtIHNlZ21lbnQNDQo7ICAgICAgICAgICAgICAgfHx8
X19fX19fX19fX19fX19fX18gUHJpdiBsZXZlbCAoMCkNDQo7ICAgICAgICAg
ICAgICAgfF9fX19fX19fX19fX19fX19fX18gU2VnbWVudCBwcmVzZW50DQ0K
Ow0NCjsNDQo7CURXCTAwMDAwMDAwMTExMTExMTFCDQ0KOyAgICAgICAgICAg
ICAgIHx8fHx8fHx8fHx8fHx8fHxfX19fIE1vcmUgbGltaXQgMTk6MTYNDQo7
ICAgICAgICAgICAgICAgfHx8fHx8fHx8fHx8X19fX19fX18gQXZhaWxhYmxl
IGZvciB1c2UNDQo7ICAgICAgICAgICAgICAgfHx8fHx8fHx8fHxfX19fX19f
X18gU2VnbWVudCBzaXplICgzMi1CaXQpDQ0KOyAgICAgICAgICAgICAgIHx8
fHx8fHx8fHxfX19fX19fX19fIENvZGUgc2l6ZSBzaXplIDAgPSAxNiwgMSA9
IDMyLWJpdA0NCjsgICAgICAgICAgICAgICB8fHx8fHx8fHxfX19fX19fX19f
XyBHcmFudWxhcml0eSAoNDA5NikNDQo7ICAgICAgICAgICAgICAgfHx8fHx8
fHxfX19fX19fX19fX18gTW9yZSBiYXNlIDI0OjMxDQ0KOw0NCg0NCkFMSUdO
CTEwSA0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsN
DQo7CVRoaXMgaXMgdGhlIHJlYWwgR0RULiBJdCBpcyBOT1QgaW5kZXhlZCBi
eSA4IHdoZW4gYSBzZWdtZW50DQ0KOwkoc2VsZWN0b3IpIGlzIGxvYWRlZC4g
VGhlcmVmb3JlIHNlbGVjdG9ycyBhcmUgbnVtYmVyZWQNDQo7CTAsIDgsIDE2
LCBldGMuDQ0KOw0NCkdEVAlEVwkwCQk7IER1bW15ICBTZWdtZW50ID0gMDsN
DQoJRFcJMA0NCglEVwkwDQ0KCURXCTANDQoJCQkJOyBTZWdtZW50ID0gOA0N
CglEVwkwRkZGRkgJCTsgOE1iLCBsaW1pdCA9IDIwNDcNDQoJRFcJMDAwMEgJ
CTsgQmFzZSBhZGRyZXNzID0gMA0NCglEVwk5QTAwSAkJOyBDb2RlIHJlYWQv
ZXhlY3V0ZQ0NCglEVwkwMENGSAkJOyBHcmFudWxhcml0eSA9IDQwOTYsIDM4
Ng0NCgkJCQk7IFNlZ21lbnQgPSAxNg0NCglEVwkwRkZGRkgJCTsgOE1iLCBs
aW1pdCA9IDIwNDcNDQoJRFcJMDAwMEgJCTsgQmFzZSBhZGRyZXNzID0gMTU6
MA0NCglEVwk5MjAwSAkJOyBEYXRhIHJlYWQvd3JpdGUNDQoJRFcJMDBDRkgJ
CTsgR3JhbnVsYXJpdHk9NDA5Ng0NCjsNDQo7CVRoZSBmb2xsb3dpbmcgaXMg
c3VwcG9zZWQgdG8gZGVmaW5lIHRoZSBjb2RlLCBkYXRhIGFuZCBzdGFjaw0N
CjsJc2VnbWVudHMgdG8gYmUgdXNlZCBmb3IgdGhlIHByb2NlZHVyZSBiZWlu
ZyBjYWxsZWQuIFRoZXkgYXJlDQ0KOwkzMi1iaXQgYWRkcmVzc2luZyB3aXRo
IDMyLWJpdCBjb2RlLg0NCjsNDQoJCQkJOyBTZWdtZW50IDI0DQ0KCURXCTBG
RkZGSAkJOyBHaWdhbnRpYyBsaW1pdA0NCkJfQUREQwlEVwkwMDAwSAkJOyBC
YXNlIGFkZHJlc3MgPSA5MDAwMEgNDQpCX0FESEMJRFcJOUEwMEgJCTsgQ29k
ZSByZWFkL2V4ZWN1dGUgKGFuZCBtb3JlIGJhc2UgYWRkcmVzcykNDQoJRFcJ
MDBGRkgJCTsgR3JhbnVsYXJpdHk9NDA5NiwgMzg2DQ0KCQkJCTsgU2VnbWVu
dCA9IDMyDQ0KCURXCTBGRkZGSAkJOyBHaWdhbnRpYyBsaW1pdA0NCkJfQURE
RAlEVwkwMDAwSAkJOyBCYXNlIGFkZHJlc3MgPSA5MDAwMEgNDQpCX0FESEQJ
RFcJOTIwMEgJCTsgRGF0YSByZWFkL3dyaXRlIChhbmQgbW9yZSBiYXNlIGFk
ZHJlc3MpDQ0KCURXCTAwRkZICQk7IEdyYW51bGFyaXR5PTQwOTYsIDM4Ng0N
CgkJCQk7IFNlZ21lbnQgPSA0MA0NCglEVwkwRkZGRkgJCTsgR2lnYW50aWMg
bGltaXQNDQpCX0FERFMJRFcJMDAwMEgJCTsgQmFzZSBhZGRyZXNzID0gOTAw
MDBIDQ0KQl9BREhTCURXCTkyMDBICQk7IERhdGEgcmVhZC93cml0ZSAoYW5k
IG1vcmUgYmFzZSBhZGRyZXNzKQ0NCglEVwkwMEZGSAkJOyBHcmFudWxhcml0
eT00MDk2LCAzODYNDQo7DQ0KOwlUaGlzIHNlbGVjdG9yIGlzIHVzZWQgdG8g
Z2V0IGJhY2sgdG8gMTYtYml0IGNvZGUgd2l0aCAxNi1iaXQNDQo7CW9mZnNl
dHMgYW5kIDE2LWJpdCBzZWdtZW50cy4NDQo7DQ0KCQkJCTsgU2VnbWVudCA9
IDQ4DQ0KCURXCTBGRkZGSAkJOyBsaW1pdCA9IDY0aw0NClJfQkFTTAlEVwkw
MDAwSAkJOyBCYXNlIGFkZHJlc3MgPSBSZWxvY2F0ZWQgc2VnbWVudA0NClJf
QkFTSAlEVwk5QTAwSAkJOyBDb2RlIHJlYWQvZXhlY3V0ZSAoYW5kIG1vcmUg
YmFzZSBhZGRyZXNzKQ0NCglEVwkwMDAwMDAwMDAwMDEwMDAwQg0NCjsgICAg
ICAgICAgICAgICB8fHx8fHx8fHx8fHx8fHx8X19fXyBNb3JlIGxpbWl0IDE5
OjE2DQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8fHx8fF9fX19fX19fIEF2
YWlsYWJsZSBmb3IgdXNlDQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8fHx8
X19fX19fX19fIFNlZ21lbnQgc2l6ZSAwID0gMTYtYml0DQ0KOyAgICAgICAg
ICAgICAgIHx8fHx8fHx8fHxfX19fX19fX19fIENvZGUgc2l6ZSAwID0gMTYt
Yml0DQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8fF9fX19fX19fX19fIEdy
YW51bGFyaXR5IEJ5dGUgZ3JhbnVsYXJpdHkNDQo7ICAgICAgICAgICAgICAg
fHx8fHx8fHxfX19fX19fX19fX18gTW9yZSBiYXNlIDI0OjMxDQ0KOw0NCjsJ
VGhpcyBpcyBhICdDQUxMJyBHYXRlLiBJdCBpcyB1c2VkIHRvIGdldCBiYWNr
IHRvIDE2LWJpdA0NCjsJc2VnbWVudHMgc28gd2UgY2FuIHJldHVybiB0byBy
ZWFsIG1vZGUuDQ0KOw0NCgkJCQk7IFNlZ21lbnQgNTYNDQpSX0FEREwJRFcJ
MDAwMEgJCTsgT2Zmc2V0IGluIHNlZ21lbnQgTE9XIHdvcmQNDQoJRFcJTk9O
Q1MJCTsgU2VnbWVudCBzZWxlY3RvciAoTm9uIGNvbmZvcm1pbmcpDQ0KCURC
CTAwSAkJOyBEV09SRCBjb3VudCAobm8gcGFyYW1ldGVycyBwYXNzZWQpDQ0K
CURCCTEwMDAxMTAwQgk7IFNob3cgaXQncyBhIENBTEwgZ2F0ZSwgc2VnbWVu
dCBwcmVzZW50DQ0KUl9BRERICURXCTAwMDBICQk7IE1vcmUgb2Zmc2V0IEhJ
R0ggd29yZA0NCjsNDQo7CVRoaXMgZGVmaW5lcyB0aGUgZGF0YSBhbmQgc3Rh
Y2sgc2VnbWVudHMgdXNlZCBpbiAxNi1iaXQgcmVhbCBtb2RlDQ0KOwlzbyB3
ZSBoYXZlIHZhbGlkIGRlc2NyaXB0b3JzIHdoZW4gcmV0dXJuaW5nIHRvIHJl
YWwgbW9kZS4NDQo7DQ0KCQkJCTsgU2VnbWVudCA9IDY0IChET1Mgc2VnbWVu
dCkNDQoJRFcJMEZGRkZICQk7IGxpbWl0ID0gNjRrDQ0KCURXCTAwMDBICQk7
IEJhc2UgYWRkcmVzcyA9IDANDQoJRFcJOTIwMEgJCTsgUmVhZGFibGUgLyB3
cml0YWJsZQ0NCglEVwkwMDAwMDAwMDAwMDEwMDAwQg0NCjsgICAgICAgICAg
ICAgICB8fHx8fHx8fHx8fHx8fHx8X19fXyBNb3JlIGxpbWl0IDE5OjE2DQ0K
OyAgICAgICAgICAgICAgIHx8fHx8fHx8fHx8fF9fX19fX19fIEF2YWlsYWJs
ZSBmb3IgdXNlDQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8fHx8X19fX19f
X19fIFNlZ21lbnQgc2l6ZSAoMzItQml0KQ0NCjsgICAgICAgICAgICAgICB8
fHx8fHx8fHx8X19fX19fX19fXyBDb2RlIHNpemUgMCA9IDE2LCAxID0gMzIt
Yml0DQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8fF9fX19fX19fX19fIEdy
YW51bGFyaXR5IGJ5dGVzDQ0KOyAgICAgICAgICAgICAgIHx8fHx8fHx8X19f
X19fX19fX19fIE1vcmUgYmFzZSAyNDozMQ0NCjsNDQoNDQpMSU1JVAlFUVUJ
KCQgLSBHRFQpIC0gMQ0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LQ0NCjsNDQo7CVRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgdGhlIEdEVCB0
aGF0IGlzIGxvYWRlZCB3aXRoIHRoZSBMREdUDQ0KOwlpbnN0cnVjdGlvbi4g
VGhlIGZpcnN0IFdPUkQgZWxlbWVudCBpcyB0aGUgbnVtYmVyIG9mIHJlYWwg
R0RUDQ0KOwllbnRyaWVzIC0gMS4gVGhlIHNlY29uZCBEV09SRCBlbGVtZW50
IGlzIHRoZSBsaW5lYXIgYWRkcmVzcw0NCjsJb2YgdGhlIHJlYWwgR0RULg0N
CjsNDQpBTElHTgkxMEgNDQpHRFRfNDg2CQlEVwlMSU1JVAkJOyAoR0RUIGVu
dHJpZXMgKiA4KSAtMQ0NCkdEVF9MT1cJCURXCT8JCTsgTG93IHdvcmQgb2Yg
R0RUDQ0KR0RUX0hJRwkJRFcJPwkJOyBIaWdoIERXT1JEIG9mIEdEVA0NCgkJ
REQJMA0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsN
DQo7CUhlcmUgd2Ugc2F2ZSB0aGUgb2xkIGludGVycnVwdCBkZXNjcmlwdG9y
IHRhYmxlIHRvIGJlIHJlc3RvcmVkDQ0KOwl3aGVuIHdlIHJldHVybiB0byAx
Ni1iaXQgcmVhbCBtb2RlLg0NCjsNDQpBTElHTgkxMEgNDQpPTERfSURUCQlE
Vwk/CQk7IE9sZCBpbnRlcnJ1cHQgZGVzY3JpcHRvciBsaW1pdA0NCk9MRF9J
RFRfTE9XCURXCT8JCTsgT2xkIGludGVycnVwdCBkZXNjcmlwdG9yIGJhc2UN
DQpPTERfSURUX0hJRwlEVwk/DQ0KCQlERAkwCQk7IER1bW15DQ0KOy09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0NCjsJVGhpcyBpbnRl
cnJ1cHQgZGVzY3JpcHRvciB0YWJsZSBpcyB1c2VkIGR1cmluZyAzMi1iaXQg
bW9kZQ0NCjsJdG8gZGlzYWJsZSBldmVuIHNvZnR3YXJlIGludGVycnVwdHMu
DQ0KOw0NCkFMSUdOCTEwSA0NCk5FV19JRFQJCURXCTAJCTsgT2xkIGludGVy
cnVwdCBkZXNjcmlwdG9yIGxpbWl0DQ0KTkVXX0lEVF9MT1cJRFcJMAkJOyBP
bGQgaW50ZXJydXB0IGRlc2NyaXB0b3IgYmFzZQ0NCk5FV19JRFRfSElHCURX
CTANDQoJCURECTAJCTsgRHVtbXkNDQo7LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS0NDQo7DQ0KQllQQVNTOglNT1YJQVgsQ1MJCQk7IEdldCB3
aGVyZSBET1MgcHV0IHVzDQ0KCU1PVglEUyxBWAkJCTsgTWFrZSBhbGwgc3Vy
ZSBzZWdtZW50cyBhcmUgc2V0Lg0NCglNT1YJRVMsQVgNDQoJTU9WCVNTLEFY
DQ0KCU1PVglTUCxPRkZTRVQgTENMX1NUSwk7IFN0YWNrIHdoZXJlIHdlIGtu
b3cgaXQgaXMuDQ0KOw0NCjsJV2Ugd2lsbCBub3cgdHJ5IHRvIGZpbmQgYSBz
ZWdtZW50IEFCT1ZFIHVzIHRoYXQgbGllcyBvbiBhDQ0KOwlwYWdlIGJvdW5k
YXJ5Lg0NCjsNDQoJTU9WCUFYLENTDQ0KCUFERAlBWCwxMDAwSAkJOyBQb3Nz
aWJsZSA2NGsgZm9yIG91ciBjb2RlDQ0KCUFERAlBWCwxMDAwSAkJOyBQb3Nz
aWJsZSA2NGsgZm9yIHRoZWlyIGNvZGUNDQoJQU5ECUFYLDBGMDAwSAkJOyBF
dmVuIHBhZ2VzDQ0KCU1PVglXT1JEIFBUUiBCT1RUT00sQVgJOyBVc2UgdGhp
cyBmb3IgdGhlIGJvdHRvbSBhZGRyZXNzDQ0KCUNMSQkJCQk7IE5vIGludGVy
cnVwdHMgZnJvbSBub3cgb24uDQ0KCUNMRAkJCQk7IEZvcndhcmRzDQ0KSUZE
RUYJREVCVUcNDQoJQ0FMTAlJTkk4MjUwCQkJOyBJbml0aWFsaXplIHRoZSBV
QVJUDQ0KRU5ESUYNDQoJU0hPVwknQScNDQo7DQ0KCUlOCUFMLDBBMUgJCQk7
IEdldCBvbGQgaW50ZXJydXB0IG1hc2sNDQoJTU9WCUJZVEUgUFRSIElOVENf
SElHLEFMCTsgU2F2ZSBvbGQgaW50ZXJydXB0IG1hc2sNDQoJTU9WCUFMLDBG
RkgJCQk7IE1hc2sgb2ZmIGFsbCBpbnRlcnJ1cHRzDQ0KCU9VVAkwQTFILEFM
CQkJOyBTZWNvbmQgY29udHJvbGxlcg0NCglJTglBTCwyMUgJCQk7IEdldCBv
bGQgaW50ZXJydXB0IG1hc2sNDQoJTU9WCUJZVEUgUFRSIElOVENfTE9XLEFM
CTsgU2F2ZSBvbGQgaW50ZXJydXB0IG1hc2sNDQoJTU9WCUFMLDBGRkgJCQk7
IEZpcnN0IGNvbnRyb2xsZXINDQoJT1VUCTIxSCxBTA0NCjsNDQoJTU9WCUFM
LDgwSAkJCTsgU2V0IGhpZ2ggYml0IG9mIGluZGV4Lg0NCglPVVQJNzBILEFM
CQkJOyBEaXNhYmxlIE5NSQ0NCjsNDQo7CUZpcnN0IEkgd2lsbCByZWxvY2F0
ZSB0aGUgMzItYml0IGNvZGUgdG8gaGlnaGVyIG1lbW9yeSwgYWxpZ25lZA0N
CjsJb24gYSBwYWdlIGJvdW5kYXJ5LiBTaW5jZSB0aGlzIGlzIGFib3ZlIHVz
LCB3ZSBjYW4gY29weSBmb3J3YXJkcw0NCjsJd2l0aG91dCB3b3JyeWluZyBh
Ym91dCBvdmVybGFwLg0NCjsNDQoJTU9WCUFYLFJFTE9DCQk7IFNlZ21lbnQg
d2Ugd2lsbCBjb3B5IHRvDQ0KCU1PVglFUyxBWAkJCTsgU2V0IHRoZSBzZWdt
ZW50DQ0KCU1PVglBWCxQU0VHCQkJOyBTZWdtZW50IHdlIHdpbGwgY29weSBm
cm9tDQ0KCU1PVglEUyxBWAkJCTsgU2V0IHRoZSBzZWdtZW50DQ0KCVhPUglT
SSxTSQkJCTsgV2hlcmUgd2UgZ2V0IHRoZSBjb2RlDQ0KCVhPUglESSxESQkJ
CTsgV2hlcmUgd2UgcHV0IHRoZSBjb2RlDQ0KCU1PVglDWCwgKE9GRlNFVCBQ
U0VHOlRPUCAtIE9GRlNFVCBQU0VHOkhPTUUpDQ0KCUlOQwlDWAkJCTsgTmVl
ZCB0byBtYWtlIGV2ZW4NDQoJU0hSCUNYLDEJCQk7IE1ha2Ugd29yZHMNDQoJ
UkVQCU1PVlNXCQkJOyBDb3B5IHRoZSBkYXRhDQ0KCU1PVglBWCxDUwkJCTsg
R2V0IGN1cnJlbnQgc2VnbWVudA0NCglNT1YJRFMsQVgJCQk7IFNldCB0aGUg
c2VnbWVudHMNDQoJTU9WCUVTLEFYCQkJOyBTZXQgdGhlIHNlZ21lbnRzDQ0K
DQ0KCVNIT1cJJ0InDQ0KOw0NCjsJRHVlIHRvIHNvbWUgcHJvY2Vzc29yIGJ1
ZywgSSBoYXZlIHRvIG1vdmUgdGhpcyBzdHVmZiB0byBhbiANDQo7CWFkZHJl
c3Mgd2hlcmUgdGhlcmUgaXMgYSAxOjEgcGh5c2ljYWwgdG8gbG9naWNhbCB0
cmFuc2xhdGlvbi4NDQo7CWkuZS4sIGFsaWduZWQgb24gYSBwYWdlLiBJIHdp
bGwgcmVsb2NhdGUgdGhlIGNvZGUgYW5kIEdEVCB0bw0NCjsJdGhpcyBhcmVh
IGFuZCB0aGVuIG1ha2UgYSBGQVIgY2FsbCB0byB0aGUgcHJvY2VkdXJlIHRv
IHNldCBpdCB1cC4NDQo7CTM4NiBwcm9jZXNzb3JzIGRvbid0IHJlcXVpcmUg
dGhpcyBiZWNhdXNlIHRoZXkgYWN0dWFsbHkgdXNlDQ0KOwl0aGUgb2Zmc2V0
IGVudHJpZXMgaW4gdGhlIEdEVC4NDQo7DQ0KCU1PVglBWCxXT1JEIFBUUiBC
T1RUT00JOyBTZWdtZW50IHdlIHdpbGwgY29weSB0bw0NCglNT1YJRVMsQVgJ
CQk7IFNldCB0aGUgc2VnbWVudA0NCglNT1YJQVgsTUFJTgkJCTsgU2VnbWVu
dCB3ZSB3aWxsIGNvcHkgZnJvbQ0NCglNT1YJRFMsQVgJCQk7IFNldCB0aGUg
c2VnbWVudA0NCglYT1IJU0ksU0kJCQk7IFdoZXJlIHdlIGdldCB0aGUgY29k
ZQ0NCglYT1IJREksREkJCQk7IFdoZXJlIHdlIHB1dCB0aGUgY29kZQ0NCglN
T1YJQ1gsIChPRkZTRVQgTUFJTjpTQVZFX1NUVUZGIC0gT0ZGU0VUIE1BSU46
U1RBUlRVUCkNDQoJSU5DCUNYCQkJOyBOZWVkIHRvIG1ha2UgZXZlbg0NCglT
SFIJQ1gsMQkJCTsgTWFrZSB3b3Jkcw0NCglSRVAJTU9WU1cJCQk7IENvcHkg
dGhlIGRhdGENDQoJTU9WCUFYLENTCQkJOyBHZXQgY3VycmVudCBzZWdtZW50
DQ0KCU1PVglEUyxBWAkJCTsgU2V0IHRoZSBzZWdtZW50cw0NCglNT1YJRVMs
QVgJCQk7IFNldCB0aGUgc2VnbWVudHMNDQoJU0hPVwknQycNDQoJTU9WCUFY
LFdPUkQgUFRSIEJPVFRPTQk7IFNlZ21lbnQgb2YgcmVsb2NhdGVkIGNvZGUN
DQoJUFVTSAlBWAkJCTsgUHV0IHRoYXQgb24gdGhlIHN0YWNrDQ0KCU1PVglB
WCxPRkZTRVQgR09UTwkJOyBPZmZzZXQgb2YgdGhlIHJlbG9jYXRlZCBjb2Rl
DQ0KCVBVU0gJQVgJCQk7IFB1dCB0aGF0IG9uIHRoZSBzdGFjaw0NCglSRVRG
CQkJCTsgRkFSICdyZXR1cm4nIHRvIHRoZSByZWxvY2F0ZWQgY29kZQ0NCglI
TFQNDQo7DQ0KOwlUaGlzIGNvZGUgaXMgbm93IGV4ZWN1dGluZyBvdXQgb2Yg
dGhlIHJlbG9jYXRlZCBsb2NhdGlvbiwgaS5lLiwNDQo7CXRoZSBuZXh0IHBh
Z2UgYWJvdmUgd2hlcmUgd2Ugd2VyZSBsb2FkZWQgYnkgTVMtRE9TDQ0KOw0N
CkdPVE86CU1PVglBWCxDUwkJCTsgVGhpcyBpcyB3aGVyZSB3ZSBhcmUNDQoJ
TU9WCURTLEFYCQkJOyBNYWtlIHN1cmUgc2VnbWVudHMgYXJlIHNldC4NDQoJ
TU9WCUVTLEFYDQ0KCU1PVglTUyxBWAkJCTsgVGhlIHN0YWNrLXBvaW50ZXIg
aXMgc3RpbGwgbGV2ZWwuDQ0KCVNIT1cJJ0QnCQkJOyBTaG93IHRoZSB3b3Js
ZCB3ZSBnb3QgaGVyZQ0NCjsNDQo7CUdldCB0aGUgbGluZWFyIGFkZHJlc3Mg
b2YgdGhlIHJlbG9jYXRlZCBjb2RlIGFuZCBmaXggdGhlDQ0KOwlhZGRyZXNz
ZXMgaW4gdGhlIGRpc2NyaXB0b3JzDQ0KOw0NCglNQUtFX1JFQUwgUkVMT0MN
DQoJTU9WCVdPUkQgUFRSIEJfQUREQyxBWAk7IEJhc2UgYWRkcmVzcyBmb3Ig
ZGF0YQ0NCglNT1YJV09SRCBQVFIgQl9BRERELEFYCTsgQmFzZSBhZGRyZXNz
IGZvciBjb2RlDQ0KCU1PVglXT1JEIFBUUiBCX0FERFMsQVgJOyBCYXNlIGFk
ZHJlc3MgZm9yIHN0YWNrDQ0KOw0NCglPUglXT1JEIFBUUiBCX0FESEMsRFgJ
OyBGaXggdXAgaGlnaCB3b3JkDQ0KCU9SCVdPUkQgUFRSIEJfQURIRCxEWAk7
IEZpeCB1cCBoaWdoIHdvcmQNDQoJT1IJV09SRCBQVFIgQl9BREhTLERYCTsg
Rml4IHVwIGhpZ2ggd29yZA0NCjsNDQoJTUFLRV9SRUFMIDxXT1JEIFBUUiBb
Qk9UVE9NXT4NDQoJTU9WCVdPUkQgUFRSIFJfQkFTTCxBWAk7IFNldCBsb3cg
YmFzZSBhZGRyZXNzDQ0KCU9SCVdPUkQgUFRSIFJfQkFTSCxEWAk7IFNldCBo
aWdoIGJhc2UgYWRkcmVzcw0NCglNT1YJV09SRCBQVFIgUl9BRERMLE9GRlNF
VCBEUk9QCTsgU2V0IGFkZHJlc3MsIGxvdyB3b3JkDQ0KCU1PVglXT1JEIFBU
UiBSX0FEREgsMAk7IFNldCBhZGRyZXNzLCBoaWdoIHdvcmQNDQoJTU9WCVdP
UkQgUFRSIERST1BDUyxDUwk7IFNldCB1cCBqdW1wIHNlZ21lbnQNDQo7DQ0K
OwlHZXQgdGhlIGxpbmVhciBhZGRyZXNzIG9mIHRoZSBHRFQgYmFzZSBhbmQg
Zml4IHRoZSBhZGRyZXNzDQ0KOwlpbiB0aGUgZGlzY3JpcHRvci4NDQo7DQ0K
CU1BS0VfUkVBTCBDUywgR0RUDQ0KCU1PVglXT1JEIFBUUiBHRFRfTE9XLEFY
DQ0KCU1PVglXT1JEIFBUUiBHRFRfSElHLERYDQ0KOw0NCjsJTm93IGxvYWQg
dGhlIEdsb2JhbCBkaXNjcmlwdG9yIHRhYmxlLiBXZSB3aWxsIGFsc28gc2F2
ZSB0aGUNDQo7CWN1cnJlbnQgc3RhdGUgb2YgdGhlIElEVCBzbyB3ZSBjYW4g
cmVzdG9yZSBpdCB3aGVuIHdlIHJldHVybg0NCjsJdG8gMTYtYml0IHJlYWwg
bW9kZS4NDQo7DQ0KLjM4NlANDQoJU0lEVAlGV09SRCBQVFIgT0xEX0lEVAk7
IFNhdmUgb2xkIGludGVycnVwdCBkZXNjcmlwdG9yDQ0KCUxJRFQJRldPUkQg
UFRSIE5FV19JRFQJOyBMb2FkIG5ldyBpbnRlcnJ1cHQgZGVzY3JpcHRvcg0N
CglMR0RUCUZXT1JEIFBUUiBHRFRfNDg2CTsgTG9hZCB0aGUgR0RUDQ0KCVNI
T1cJJ0UnCQkJOyBTaG93IHRoZSB3b3JsZCB3ZSBnb3QgaGVyZQ0NCjsNDQo7
CU5vdyAgZW5hYmxlIEEyMC4gVGhlIGtleWJvYXJkIGNoaXAgaXMgYWN0dWFs
bHkgYSBtaWNyb3Byb2Nlc3Nvcg0NCjsJdGhhdCBpcyBzb21ldGltZXMgJ3N0
aWNreScgc28gd2UgaGF2ZSB0byBtYWtlIHN1cmUgdGhlIGJpdCBkb2VzDQ0K
OwlnZXQgY29ubmVjdGVkLg0NCjsNDQoJWE9SCUNYLENYDQ0KSUJFMDoJSU4J
QUwsNjRIDQ0KCVRFU1QJQUwsMDJIDQ0KCUxPT1BOWglJQkUwDQ0KCU1PVglB
TCwwRDFIDQ0KCU9VVAk2NEgsQUwNDQoJWE9SCUNYLENYDQ0KSUJFMToJSU4J
QUwsNjRIDQ0KCVRFU1QJQUwsMDJIDQ0KCUxPT1BOWglJQkUxDQ0KCU1PVglB
TCwwREZICQkJOyBFbmFibGUgYml0IDIwDQ0KCU9VVAk2MEgsQUwNDQoJWE9S
CUNYLENYDQ0KSUJFMjoJSU4JQUwsNjRIDQ0KCVRFU1QJQUwsMDJIDQ0KCUxP
T1BOWglJQkUyDQ0KCVNIT1cJJ0YnDQ0KOw0NCjsJTm93IGdvIGludG8gcHJv
dGVjdGVkIG1vZGUuIEludGVsIHNheXMgdGhhdCAnTE1TVycgaXMgb2Jzb2xl
dGUgc28NDQo7CXdlIHVzZSB0aGUgbG9uZ3dvcmQgbW92ZSBpbnN0cnVjdGlv
bi4NDQo7DQ0KCU1PVglFQVgsQ1IwCQkJOyBHZXQgbWFjaGluZSBzdGF0dXMg
d29yZA0NCglPUglFQVgsMUgJCQk7IFNldCBQRSBiaXQNDQoJTU9WCUNSMCxF
QVgJCQk7IFRoaXMgcHV0cyB1cyBpbnRvIHByb3RlY3RlZCBtb2RlDQ0KCUZM
VVNIDQ0KOw0NCglNT1YJRUFYLEFQUExECQk7IEFwcGxpY2F0aW9uIGRhdGEg
ZGVzY3JpcHRvcg0NCglNT1YJRFMsRUFYCQkJOyBTZXQgc2VnbWVudHMgYmVm
b3JlIHRyYW5zZmVyDQ0KCU1PVglFUyxFQVgNDQoJTU9WCUZTLEVBWA0NCglN
T1YJR1MsRUFYDQ0KCU1PVglFQVgsQVBQTFMJCTsgQXBwbGljYXRpb24gc3Rh
Y2sgZGVzY3JpcHRvcg0NCglNT1YJU1MsRUFYDQ0KCU1PVglFU1AsT0ZGU0VU
IFBTRUc6TVNUQUNLCTsgU2V0IGFwcGxpY2F0aW9uIHN0YWNrDQ0KOw0NCjsJ
VGhpcyB3aWxsIG1ha2UgYSBGQVIganVtcCB0aHJvdWdoIHRoZSBkZXNjcmlw
dG9yIHRvIHRoZSBhcHBsaWNhdGlvbg0NCjsJY29kZS4gU2luY2Ugd2UgZG9u
J3QgdXNlIGEgQ0FMTCBnYXRlLCB0aGUgb2Zmc2V0IGlzIGlnbm9yZWQuDQ0K
OwlFeGVjdXRpb24gd2lsbCBiZWdpbiBhdCB0aGUgZmlyc3QgaW5zdHJ1Y3Rp
b24gaW4gdGhlIHJlbG9jYXRlZA0NCjsJMzItYml0IHNlZ21lbnQuDQ0KOw0N
CglQUkVGSVgJCQkJOyBJbnN0cnVjdGlvbiBvdmVycmlkZQ0NCglEQgkwRUFI
CQkJOyBKdW1wIGltbWVkaWF0ZQ0NCglERAkwCQkJOyBPZmZzZXQgKGlnbm9y
ZWQgYW55d2F5KQ0NCglEVwlBUFBMQwkJCTsgQXBwbGljYXRpb24gY29kZSBz
ZWdtZW50DQ0KCUhMVA0NCjsNDQo7CVRoZXNlIGFyZSB0aGUgZmlyc3QgaW5z
dHJ1Y3Rpb25zIHdoZW4gd2UgYXJlIGNhbGxlZCBmcm9tIHRoZQ0NCjsJYXBw
bGljYXRpb24gY29kZS4gVGhlICdjYWxsJyBtdXN0IGJlIHRvIGEgNjRrIHNl
Z21lbnQsIGxvY2F0ZWQNDQo7CWluIHRoZSBjb3JyZWN0IHBsYWNlLCB3aXRo
IHRoZSBjb3JyZWN0IGF0dHJpYnV0ZXMsIHNob3duIGluDQ0KOwlwLnAuIDIy
LTQgZm9yIHRoaXMgdG8gd29yay4NDQo7DQ0KRFJPUDoJTU9WCUFYLERPUwkJ
CTsgU2VnbWVudCBkaXNjcmlwdG9yIGRlZmluZWQgcHAgMjItNA0NCglNT1YJ
RFMsQVgJCQk7IFNldCBhbGwgc2VnbWVudCByZWdpc3RlcnMuDQ0KCU1PVglF
UyxBWA0NCglNT1YJRlMsQVgNDQoJTU9WCUdTLEFYDQ0KCU1PVglTUyxBWA0N
CjsNDQoJTU9WCUVBWCxDUjAJCQk7IEdldCBtYWNoaW5lIHN0YXR1cyB3b3Jk
DQ0KCUFORAlBWCwwRkZGRUgJCTsgUmVzZXQgUEUgYml0DQ0KCU1PVglDUjAs
RUFYCQkJOyBUaGlzIHNob3VsZCByZXR1cm4gdXMgdG8gcmVhbCBtb2RlDQ0K
CURCCTBFQUgJCQk7IEp1bXAgaW1tZWRpYXRlDQ0KCURXCU9GRlNFVCBXSEVS
RQkJOyBPZmZzZXQNDQpEUk9QQ1MJRFcJMAkJCTsgU2VnbWVudA0NCglITFQN
DQo7DQ0KOwlUaGVzZSBhcmUgdGhlIGZpcnN0IGluc3RydWN0aW9ucyBvbmNl
IChpZikgd2UgZ2V0IGJhY2sgdG8gcmVhbA0NCjsJbW9kZS4NDQo7DQ0KV0hF
UkU6CU1PVglBWCxDUwkJCTsgT3VyIDE2LWJpdCBkYXRhIHNlZ21lbnQNDQoJ
TU9WCURTLEFYCQkJOyBTZXQgcmVhbC1tb2RlIHNlZ21lbnRzDQ0KCU1PVglF
UyxBWA0NCglNT1YJU1MsQVgNDQoJTU9WCVNQLE9GRlNFVCBMQ0xfU1RLCTsg
UmVzdG9yZSBsb2NhbCBzdGFjaw0NCglMSURUCUZXT1JEIFBUUiBPTERfSURU
CTsgTG9hZCBvbGQgaW50ZXJydXB0IGRlc2NyaXB0b3INDQouMzg2DQ0KOw0N
CjsJTm93ICBkaXNhYmxlIEEyMC4gV2UgY291bGQgbGVhdmUgaXQgb24gd2l0
aCBubyBwcm9ibGVtLCBidXQNDQo7CXdlIHdhbnQgdG8gcmV0dXJuIHRoZSBt
YWNoaW5lIHRvIHRoZSBzdGF0ZSBhdCB3aGljaCB3ZSBzdGFydGVkLg0NCjsN
DQoJWE9SCUNYLENYDQ0KSUJFMzoJSU4JQUwsNjRIDQ0KCVRFU1QJQUwsMDJI
DQ0KCUxPT1BOWglJQkUzDQ0KCU1PVglBTCwwRDFIDQ0KCU9VVAk2NEgsQUwN
DQoJWE9SCUNYLENYDQ0KSUJFNDoJSU4JQUwsNjRIDQ0KCVRFU1QJQUwsMDJI
DQ0KCUxPT1BOWglJQkU0DQ0KCU1PVglBTCwwRERICQkJOyBEaXNhYmxlIGJp
dCAyMA0NCglPVVQJNjBILEFMDQ0KCVhPUglDWCxDWA0NCklCRTU6CUlOCUFM
LDY0SA0NCglURVNUCUFMLDAySA0NCglMT09QTloJSUJFNQ0NCjsNDQoJTU9W
CUFMLEJZVEUgUFRSIElOVENfSElHCTsgR2V0IG9sZCBIaWdoIGludGVycnVw
dCBtYXNrDQ0KCU9VVAkwQTFILEFMCQkJOyBTZXQgb2xkIGludGVycnVwdCBt
YXNrDQ0KCU1PVglBTCxCWVRFIFBUUiBJTlRDX0xPVwk7IEdldCBvbGQgTG93
IGludGVycnVwdCBtYXNrDQ0KCU9VVAkyMUgsQUwJCQk7IFNldCBvbGQgaW50
ZXJydXB0IG1hc20NDQo7DQ0KCVhPUglBTCxBTAkJCTsgT2Zmc2V0IHplcm8N
DQoJT1VUCTcwSCxBTAkJCTsgRW5hYmxlIE5NSQ0NCglTVEkJCQkJOyBBbGxv
dyBpbnRlcnJ1cHRzDQ0KOw0NCjsJTm93IHdyaXRlIHRoZSByZXN1bHRzIG9m
IHRoZSAzMi1iaXQgb3BlcmF0aW9ucyB0byBzdGFuZGFyZCBvdXRwdXQNDQo7
CXVzaW5nIE1TLURPUy4NDQo7DQ0KSUZOREVGCURFQlVHDQ0KCUFTU1VNRQlE
UzpQU0VHDQ0KCVBVU0gJRFMJCQk7IFNhdmUgc2VnbWVudA0NCglNT1YJQVgs
UkVMT0MJCTsgU2VnbWVudCBvZiB0aGUgZGF0YQ0NCglNT1YJRFMsQVgJCQk7
IFNldCB0aGUgc2VnbWVudA0NCglNT1YJRUJYLE9GRlNFVCBQU0VHOkJQVFIJ
OyBPZmZzZXQgb2YgRFdPUkQgcG9pbnRlcg0NCglNT1YJQ1gsV09SRCBQVFIg
W0JYXQk7IEdldCBsb3cgd29yZCBvZiBwb2ludGVyDQ0KCU1PVglFRFgsT0ZG
U0VUIFBTRUc6QlVGRkVSCTsgR2V0IHN0YXJ0IG9mIHRoZSBidWZmZXINDQoJ
U1VCCUNYLERYCQkJOyBTdWJ0cmFjdCBzdGFydCwgQ1ggPSBsZW5ndGgNDQoJ
TU9WCUFYLDQwMDBICQk7IERPUyB3cml0ZSBmdW5jdGlvbg0NCglNT1YJQlgs
MQkJCTsgU3RhbmRhcmQgb3V0DQ0KCUlOVAkyMUgJCQk7IENhbGwgRE9TDQ0K
CVBPUAlEUw0NCglBU1NVTUUJRFM6TUFJTg0NCkVORElGDQ0KOw0NCjsJRXhp
dCB0byBNUy1ET1MuIE5vdyB3YXNuJ3QgdGhhdCBlYXN5Pw0NCjsNDQoJTU9W
CUFYLDRDMDBICQk7IE1TLURPUyB0ZXJtaW5hdGUNDQoJSU5UCTIxSA0NCglI
TFQNDQpTVEFSVFVQCUVORFANDQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS0NDQo7DQ0KOwlPdXQgYSBieXRlIGluIEFMIG91dCB0aGUgZmly
c3QgUlMtMjMyQyBwb3J0LiBVc2VkIGZvciBkZWJ1Z2dpbmcuDQ0KOw0NCklG
REVGCURFQlVHDQ0KUE9VVAlQUk9DCU5FQVINDQoJTU9WCUFILEFMDQ0KCU1P
VglEWCxQT1JUMStMU1INDQpQT1VUMDoJSU4JQUwsRFgNDQoJQU5ECUFMLDAw
MTAwMDAwQg0NCglKWglQT1VUMA0NCglNT1YJRFgsUE9SVDENDQoJTU9WCUFM
LEFIDQ0KCU9VVAlEWCxBTA0NCglSRVQNDQpQT1VUCUVORFANDQo7DQ0KOy09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOwlJbnRpYWxpemUg
dGhlIGZpcnN0IDgyNTAgaWYgaXQgZXhpc3RzLg0NCjsNDQpJTkk4MjUwCVBS
T0MJTkVBUg0NCglNT1YJRFgsUE9SVDErTENSCQkJOyBPZmZzZXQgdG8gbGlu
ZSBjb250cm9sDQ0KCU1PVglBTCwxMDAwMDAwMEIJCQk7IERpdmlzb3IgbGF0
Y2ggYWNjZXNzIGJpdA0NCglPVVQJRFgsQUwJCQkJOyBTZXQgRExBQg0NCglN
T1YJRFgsUE9SVDEJCQk7IEJhc2UgcG9ydA0NCglNT1YJQVgsMTIJCQkJOyA5
NjAwIGJhdWQtcmF0ZQ0NCglPVVQJRFgsQVgJCQkJOyBTZXQgdGhlIGJhdWQg
LSByYXRlDQ0KCU1PVglDWCwxMjAwCQkJCTsgTmVlZCB0byB3YWl0DQ0KCUxP
T1AJJAkJCQk7IFNwaW4gYSBiaXQNDQoJTU9WCURYLFBPUlQxK0xDUgkJCTsg
T2Zmc2V0IHRvIGxpbmUgY29udHJvbA0NCglNT1YJQUwsMDAwMDAwMTFCCQkJ
OyA4IGJpdHMsIDEgc3RvcCwgbm8gcGFyaXR5DQ0KCU9VVAlEWCxBTAkJCQk7
IFNldCBiYXVkLXJhdGUNDQoJUkVUDQ0KSU5JODI1MAlFTkRQDQ0KRU5ESUYN
DQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpJTlRDX0hJ
RwlEQgk/CTsgU2F2ZSBvbGQgaW50ZXJydXB0IG1hc2sNDQpJTlRDX0xPVwlE
Qgk/CTsgU2F2ZSBvbGQgaW50ZXJydXB0IG1hc2sNDQoJCURXCTQwMEggRFVQ
KD8pDQ0KTENMX1NUSwlMQUJFTAlXT1JEDQ0KQk9UVE9NCQlEVwk/DQ0KU0FW
RV9TVFVGRglMQUJFTAlCWVRFDQ0KTUFJTglFTkRTDQ0KOw0NCjstPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsNDQo7CVRoaXMgaXMgYSAz
Mi1iaXQgc2VnbWVudCB1c2luZyAzMi1iaXQgY29kZSBhbmQgZGF0YS4gTm90
ZSB0aGUNDQo7CSdVU0UzMicgd2hpY2ggdGVsbHMgdGhlIGFzc2VtYmxlciB0
byB1c2UgdGhlIDMyLWJpdCBmb3JtLg0NCjsNDQouMzg2cA0NClBTRUcJU0VH
TUVOVCBVU0UzMiBQVUJMSUMJJ0VWRVJZVEhJTkcnDQ0KCUFTU1VNRQlEUzpQ
U0VHLCBFUzpQU0VHLCBTUzpQU0VHLCBDUzpQU0VHDQ0KCU9SRwkwDQ0KSE9N
RToJSk1QCUJZUEFTU19EQVRBDQ0KOw0NCjsJQWRkIG5ldyBwcm9jZWR1cmVz
IHRvIHRoaXMgc3RydWN0dXJlLiBUZXJtaW5hdGUgd2l0aCBhIDAuDQ0KOw0N
CjsgICAgICAgICAgICAgICBNZXNzYWdlcyAgIFByb2NlZHVyZQ0NCjsJCS0t
LS0tLS0tICAgLS0tLS0tLS0tDQ0KVEhJTkdTCVRPRE8JPFBSUDAsICBDQUxD
X09WRVJIRUFEPg0NCglUT0RPCTxQUlAxLCAgU0lNUExFX0NIS1NVTT4NDQoJ
VE9ETwk8UFJQMiwgIFNJTVBMRV9OT0xPRFNXPg0NCglUT0RPCTxQUlAzLCAg
VU5ST0xMX0xPT1BTPg0NCglUT0RPCTxQUlA0LCAgVU5ST0xMX0xPT1BTTT4N
DQoJVE9ETwk8UFJQNSwgIFVOUk9MTF9MT09QU04+DQ0KCVRPRE8JPFBSUDYs
ICBTSU1QTEVfVU5ST0xMPg0NCglUT0RPCTxQUlA3LCAgRk9MREJBQ0tfQ0hL
U1VNPg0NCglUT0RPCTxQUlA4LCAgTk9DT1VOVF9DSEtTVU0+DQ0KCVRPRE8J
PFBSUDksICBVTlJPTExfTE9PUFNPPg0NCglUT0RPCTxQUlAxMCwgU0lNUExF
X1NQVUQ+DQ0KCVRPRE8JPFBSUDExLCBMSU5VWD4NDQoJVE9ETwk8MCwgICAg
IDA+DQ0KOw0NCkFMSUdOCTQNDQpDVElNX0xPV19MVwlERAk/CQkJOyBDeWNs
ZSB0aW1lIExPVyBsb25nd29yZA0NCkNUSU1fSElHX0xXCURECT8JCQk7IEN5
Y2xlIHRpbWUgSElHSCBsb25nd29yZA0NCkNIS1NVTQkJRFcJPwkJCTsgUmV0
dXJuZWQgY2hlY2tzdW0NDQpFVkVOCQkJCQkJOyBTdGFydCBvbiBhIFdPUkQg
Ym91bmRhcnkNDQo7CQlEQgkwCQkJOyBUbyB1c2UgYW4gT0REIGJvdW5kYXJ5
DQ0KSVBfUEFDS0VUCURCCTEyOCBEVVAoJ0lQIFBhY2tldC4uLi4uLiAnKQ0N
CjsNDQo7ICBGb3IgdGVzdGluZyB0aGF0IGNoZWNrc3VtcyBhcmUgY29ycmVj
dC4uLg0NCjtJUF9QQUNLRVQJREIJMjA0NyBkdXAoMEZGSCkNDQo7CQlEQgkx
DQ0KOw0NClBBQ0tFVF9MRU4JRVFVCSQgLSBJUF9QQUNLRVQNDQpTSUdOT04J
TEFCRUwJQllURQ0NCkFTQ0lJCTw+DQ0KQVNDSUkJPFdlbGNvbWUgdG8gMzIt
Yml0IHByb3RlY3RlZCBtb2RlLj4NDQpBU0NJSQk8VGhpcyBwcm9ncmFtIG1l
YXN1cmVzIHRoZSBDUFUgY3ljbGVzIG5lY2Vzc2FyeSB0byBwZXJmb3JtIHZh
cmlvdXM+DQ0KQVNDSUkJPFRDUC9JUCBDaGVja3N1bSByb3V0aW5lcy4gIEl0
IGlzIG1hZGUgc28geW91IGNhbiByZWFkaWx5IGFkZCB5b3VyPg0NCkFTQ0lJ
CTxvd24gcm91dGluZXMgdG8gc2VlIGhvdyB0aGV5IGNvbXBhcmUuPg0NCkFT
Q0lJCTw+DQ0KRU9MDQ0KOw0NCjsJVGV4dCB0byBiZSBwcmludGVkIG9uIHRo
ZSBzY3JlZW4gYWZ0ZXIgbW9kaWZpY2F0aW9uLg0NCjsNDQpQUlAJREIJJ0Z1
bmN0aW9uIDB4Jw0NCkZOCURCCScwMCwgJw0NCglEQgknQ2hlY2tzdW0gMHgn
DQ0KQ0hLCURCCScwMDAwLCAnDQ0KCURCCSdQcm9jZXNzb3IgY3ljbGVzIDB4
Jw0NCkgxCURCCScwMDAwJw0NCkgwCURCCScwMDAwJw0NCkwxCURCCScwMDAw
Jw0NCkwwCURCCScwMDAwJywgMERILDBBSCwwREgsMEFILDANDQpGVU4JREIJ
MQ0NCjsNDQpFVkVODQ0KUE9SVFMJRFcJM0Y4SAkJCQk7IFBvc3NpYmxlIFVB
UlQgYmFzZSBhZGRyZXNzZXMNDQoJRFcJMkY4SA0NCglEVwkzRThIDQ0KCURX
CTJFOEgNDQo7DQ0KQUxJR04JNA0NCkJZUEFTU19EQVRBOg0NCglNT1YJRVNQ
LE9GRlNFVCBNU1RBQ0sJCTsgU2V0IGxvY2FsIHN0YWNrDQ0KSUZERUYJREVC
VUcNDQoJQ0FMTAlJTklUX1VBUlRTCQkJOyBTZXQgdXAgQ09NIHBvcnRzDQ0K
RU5ESUYNDQo7DQ0KOwlTZXQgdXAgb3V0cHV0IGJ1ZmZlciBhbmQgd3JpdGUg
c2lnbm9uIG1lc3NhZ2UuDQ0KOw0NCglNT1YJRUJYLE9GRlNFVCBCVUZGRVIJ
CTsgVGhpcyB3YXMgbm90IHJlbG9jYXRlZA0NCglNT1YJRFdPUkQgUFRSIFtC
UFRSXSxFQlgJCTsgU2V0IHVwIHRoZSBidWZmZXIgcG9pbnRlcg0NCglNT1YJ
RVNJLE9GRlNFVCBTSUdOT04JCTsgUG9pbnQgdG8gc2lnbm9uIG1lc3NhZ2UN
DQoJQ0FMTAlQVVRTDQ0KOw0NCjsJRXhlY3V0ZSB0aGUgbGlzdCBvZiBwcm9j
ZWR1cmVzLg0NCjsNDQoJTU9WCUVCWCxPRkZTRVQgVEhJTkdTCQk7IFRhYmxl
IG9mIHRoaW5ncyB0byBkbw0NClJVTjoJUFVTSAlFQlgJCQkJOyBTYXZlLCBk
ZXN0cm95ZWQgZXZlcnl3aGVyZQ0NCglNT1YJRVNJLERXT1JEIFBUUiBbRUJY
LlRPRE8uRElTUF0JOyBHZXQgc3RyaW5nIHRvIHByaW50DQ0KCUNBTEwJUFVU
Uw0NCglDQUxMCVNUQVJUX1RJTUVSCQkJOyBTdGFydCBjeWNsZSB0aW1lcg0N
CglQT1AJRUJYDQ0KCVBVU0gJRUJYDQ0KCUNBTEwJRFdPUkQgUFRSIFtFQlgu
VE9ETy5FWEVDXQk7IEV4ZWN1dGUgdGhlIGZ1bmN0aW9uDQ0KCU1PVglXT1JE
IFBUUiBDSEtTVU0sQVgJCTsgU2F2ZSByZXN1bHQNDQoJQ0FMTAlTVE9QX1RJ
TUVSCQkJOyBTdG9wIHRoZSBjeWNsZSB0aW1lcg0NCglNT1YJQUwsQllURSBQ
VFIgW0ZVTl0JCTsgR2V0IGZ1bmN0aW9uIG51bWJlcg0NCglJTkMJQllURSBQ
VFIgW0ZVTl0JCQk7IFJlYWR5IG5leHQgZnVuY3Rpb24NDQoJQ0FMTAlESVNQ
TAkJCQk7IERpc3BsYXkgdGhlIHJlc3VsdHMNDQoJUE9QCUVCWAkJCQk7IFJl
c3RvcmUgcG9pbnRlcg0NCjsNDQoJQURECUVCWCwgVFlQRShUT0RPKQkJCTsg
VFlQRSBpcyBsaWtlIHNpemVvZigpDQ0KCUNNUAlXT1JEIFBUUiBbRUJYLlRP
RE8uRElTUF0sMAk7IENoZWNrIGZvciBlbmQgb2YgbGlzdA0NCglKTloJUlVO
CQkJCTsgTm90IGRvbmUgeWV0DQ0KOw0NCjsJUmV0dXJuIHZpYSAxNi1iaXQg
ZGVzY3JpcHRvci4NDQo7DQ0KCURCCTBFQUgJCQkJOyBKdW1wIGltbWVkaWF0
ZQ0NCglERAkwCQkJCTsgT2Zmc2V0IChpZ25vcmVkIGFueXdheSkNDQoJRFcJ
QkFDSwkJCQk7IFN0YXJ0dXAgc2VnbWVudA0NCglITFQNDQo7DQ0KOw0NCjst
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsNDQpQUlAwCUxB
QkVMCUJZVEUNDQpBU0NJSQk8VGhpcyBqdXN0IGdldHMgdGhlIG92ZXJoZWFk
IGluIG1ha2luZyB0aGUgZnVuY3Rpb24gY2FsbHMuPg0NCkFTQ0lJCTxZb3Ug
Y2FuIHN1YnRyYWN0IHRoZSByZXR1cm5lZCBjeWNsZXMgZnJvbSB0aGUgb3Ro
ZXIgY2FsbHMgaWY+DQ0KQVNDSUkJPHlvdSB3YW50IHRvIGJlIHBlZGFudGlj
LiBUaGUgcmV0dXJuZWQgY2hlY2tzdW0gaXMgdW5kZWZpbmVkLj4NDQpFT0wN
DQo7DQ0KQ0FMQ19PVkVSSEVBRDoNDQoJUkVUDQ0KOw0NCjstPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LQ0NCjsNDQpQUlAxCUxBQkVMCUJZVEUN
DQpBU0NJSSA8VGhpcyByZXR1cm5zIGEgd29yZCBpbiBFQVggcmVwcmVzZW50
aW5nIHRoZSBUQ1AvSVAgQ2hlY2tzdW0uPg0NCkFTQ0lJIDxJdCB1c2VzIExP
RFNXIGFuZCBpcyBkZXNpZ25lZCBvbmx5IHRvIGJlIHNpbXBsZS4+DQ0KRU9M
DQ0KOw0NClNJTVBMRV9DSEtTVU06DQ0KCU1PVglFQ1gsIChQQUNLRVRfTEVO
IFNIUiAxKQk7IEdldCBwYWNrZXQgbGVuZ3RoDQ0KCU1PVglFU0ksIE9GRlNF
VCBJUF9QQUNLRVQJOyBQb2ludCB0byBwYWNrZXQNDQoJWE9SCUVEWCwgRURY
CQk7IENsZWFyIENZLCB6ZXJvDQ0KCU1PVglFQVgsIEVEWAkJOyBNYWtlIHN1
cmUgaGlnaCB3b3JkIGlzIHplcm8NDQoJQ0xEDQ0KOw0NCkNIS0VNOglMT0RT
VwkJCQk7IERvaXQNDQoJQURDCURYLEFYCQkJOyBTdW0gd29yZHMgb25seSB3
aXRoIHByZXZpb3VzIENZDQ0KCUxPT1AJQ0hLRU0JCQk7IERvaXQyaXQNDQoJ
QURDCURYLDAJCQk7IFBvc3NpYmxlIGxhc3QgQ1kNDQoJTU9WCUVBWCxFRFgJ
CQk7IFJldHVybiBpbiBFQVggdG8gYmUgZmFpcg0NCglSRVQNDQo7LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpQUlAyCUxBQkVMCUJZVEUN
DQpBU0NJSQk8VGhpcyBwZXJmb3JtcyB0aGUgc2FtZSBjaGVja3N1bSwgYnV0
IGRvZXMgbm90IHVzZSBidWlsdC1pbiBtYWNyb3M+DQ0KQVNDSUkJPHN1Y2gg
YXMgTE9PUCBhbmQgTE9EU1cuPg0NCkVPTA0NCjsNDQpTSU1QTEVfTk9MT0RT
VzoNDQoJTU9WCUVDWCwgKFBBQ0tFVF9MRU4gU0hSIDEpCTsgR2V0IHBhY2tl
dCBsZW5ndGgNDQoJTU9WCUVCWCwgT0ZGU0VUIElQX1BBQ0tFVAk7IFBvaW50
IHRvIHBhY2tldA0NCglYT1IJRURYLCBFRFgJCTsgQ2xlYXIgQ1ksIHplcm8N
DQoJTU9WCUVBWCwgRURYCQk7IE1ha2Ugc3VyZSBoaWdoIHdvcmQgaXMgemVy
bw0NCjsNDQpTVU1JVDoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYXQk7IEdldCB0
aGUgd29yZA0NCglBREQJRFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0K
CUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KCUFERAlFQlgsIDIJCQk7
IFJlYWR5IG5leHQgd29yZA0NCglERUMJRUNYCQkJOyBCdW1wIHRoZSBwYWNr
ZXQgbGVuZ3RoDQ0KCUpOWglTVU1JVAkJCTsgQ29udGludWUNDQoJTU9WCUVB
WCxFRFgJCQk7IFJldHVybiBpbiBFQVggdG8gYmUgZmFpcg0NCglSRVQNDQo7
DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KUFJQMwlM
QUJFTAlCWVRFDQ0KQVNDSUkgPFRoaXMgdHJpZXMgdG8gYmUgY3V0ZSBhbmQg
dW5yb2xsIGxvb3BzLiBOb3RlIHRoYXQgdGhlIHVucm9sbGluZz4NDQpBU0NJ
SSA8d29ya3Mgb2theSwgaG93ZXZlciB0aGVyZSBpcyBhIGxvdCBvZiBsb2dp
YyBuZWNlc3Nhcnkgd2hpY2ggY291bGQ+DQ0KQVNDSUkgPHVuZHVlIGp1c3Qg
YWJvdXQgZXZlcnl0aGluZyB3ZSBhcmUgYXR0ZW1wdGluZyB0byBhY2NvbXBs
aXNoLj4NDQpFT0wNDQo7DQ0KVU5ST0xMX0xPT1BTOg0NCglNT1YJRUNYLCAo
UEFDS0VUX0xFTiBTSFIgMSkJOyBHZXQgcGFja2V0IGxlbmd0aA0NCglNT1YJ
RUJYLCBPRkZTRVQgSVBfUEFDS0VUCTsgUG9pbnQgdG8gcGFja2V0DQ0KCVhP
UglFRFgsIEVEWAkJOyBDbGVhciBDWSwgemVybw0NCglNT1YJRUFYLCBFRFgJ
CTsgTWFrZSBzdXJlIGhpZ2ggd29yZCBpcyB6ZXJvDQ0KOw0NClRSSUFMOglD
TVAJRUNYLDgJCQk7IEF0IGxlYXN0IDggd29yZHM/DQ0KCUpBRQlETzgJCQk7
IFllcywgZG8gOCB3b3JkcywgdW5yb2xsZWQNDQoJQ01QCUVDWCw0CQkJOyBB
dCBsZWFzdCA0IHdvcmRzPw0NCglKQUUJRE80CQkJOyBZZXMsIGRvIDQgd29y
ZHMgdW5yb2xsZWQNDQoJSk1QCURPSVQJCQk7IE5vbmUgb2YgYWJvdmUNDQoN
DQpETzg6CU1PVglBWCwgV09SRCBQVFIgW0VCWF0JOyBHZXQgdGhlIHdvcmQN
DQoJQURECURYLEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91cw0NCglBREMJRFgs
MAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFYLCBXT1JEIFBUUiBb
RUJYKzJdCTsgR2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdp
dGggcHJldmlvdXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7
DQ0KCU1PVglBWCwgV09SRCBQVFIgW0VCWCs0XQk7IEdldCB0aGUgd29yZA0N
CglBREQJRFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglNT1YJQVgsIFdPUkQgUFRSIFtF
QlgrNl0JOyBHZXQgdGhlIHdvcmQNDQoJQURECURYLEFYCQkJOyBTdW0gd2l0
aCBwcmV2aW91cw0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsN
DQoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYKzhdCTsgR2V0IHRoZSB3b3JkDQ0K
CUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlvdXMNDQoJQURDCURYLDAJ
CQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCU1PVglBWCwgV09SRCBQVFIgW0VC
WCsxMF0JOyBHZXQgdGhlIHdvcmQNDQoJQURECURYLEFYCQkJOyBTdW0gd2l0
aCBwcmV2aW91cw0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsN
DQoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYKzEyXQk7IEdldCB0aGUgd29yZA0N
CglBREQJRFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglNT1YJQVgsIFdPUkQgUFRSIFtF
QlgrMTRdCTsgR2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdp
dGggcHJldmlvdXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7
DQ0KCUFERAlFQlgsMTYJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gs
OAkJCTsgQWRqdXN0IGNvdW50DQ0KCUpaCURPTkUJCQk7IEFsbCBkb25lDQ0K
CUpNUAlUUklBTAkJCTsgRG8gbW9yZQ0NCg0NCkRPNDoJTU9WCUFYLCBXT1JE
IFBUUiBbRUJYXQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgsQVgJCQk7IFN1
bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5
DQ0KOw0NCglNT1YJQVgsIFdPUkQgUFRSIFtFQlgrMl0JOyBHZXQgdGhlIHdv
cmQNDQoJQURECURYLEFYCQkJOyBTdW0gd2l0aCBwcmV2aW91cw0NCglBREMJ
RFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJTU9WCUFYLCBXT1JEIFBU
UiBbRUJYKzRdCTsgR2V0IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3Vt
IHdpdGggcHJldmlvdXMNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCU1PVglBWCwgV09SRCBQVFIgW0VCWCs2XQk7IEdldCB0aGUgd29y
ZA0NCglBREQJRFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlE
WCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDgJCQk7IEFk
anVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsNAkJCTsgQWRqdXN0IGxlbmd0aA0N
CglKWglET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJVFJJQUwJCQk7IFRy
eSBtb3JlDQ0KDQ0KRE8yOglNT1YJQVgsIFdPUkQgUFRSIFtFQlhdCTsgR2V0
IHRoZSB3b3JkDQ0KCUFERAlEWCxBWAkJCTsgU3VtIHdpdGggcHJldmlvdXMN
DQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCU1PVglBWCwg
V09SRCBQVFIgW0VCWCsyXQk7IEdldCB0aGUgd29yZA0NCglBREQJRFgsQVgJ
CQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVw
IGNhcnJ5DQ0KOw0NCglBREQJRUJYLDQJCQk7IEFkanVzdCBwb2ludGVyDQ0K
CVNVQglFQ1gsMgkJCTsgQWRqdXN0IGxlbmd0aA0NCglKWglET05FCQkJOyBX
ZSBhcmUgZG9uZQ0NCglKTVAJVFJJQUwJCQk7IFRyeSBtb3JlDQ0KDQ0KRE9J
VDoJTU9WCUFYLCBXT1JEIFBUUiBbRUJYXQk7IEdldCB0aGUgd29yZA0NCglB
REQJRFgsQVgJCQk7IFN1bSB3aXRoIHByZXZpb3VzDQ0KCUFEQwlEWCwwCQkJ
OyBQaWNrIHVwIGNhcnJ5DQ0KCUFERAlFQlgsIDIJCQk7IFJlYWR5IG5leHQg
d29yZA0NCglERUMJRUNYCQkJOyBCdW1wIHRoZSBwYWNrZXQgbGVuZ3RoDQ0K
CUpOWglET0lUCQkJOyBDb250aW51ZQ0NCjsNDQpET05FOglNT1YJRUFYLEVE
WAkJCTsgUmV0dXJuIGluIEVBWCB0byBiZSBmYWlyDQ0KCVJFVA0NCjsNDQo7
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpQUlA0CUxBQkVM
CUJZVEUNDQpBU0NJSSA8VGhpcyB0cmllcyB0byBiZSBjdXRlIGFuZCB1bnJv
bGwgbG9vcHMgYnV0IHN1bXMgZnJvbSBtZW1vcnk+DQ0KQVNDSUkgPHdpdGhv
dXQgYW4gaW50ZXJtZWRpYXRlIHJlZ2lzdGVyIG9wZXJhbmQuPg0NCkVPTA0N
CjsNDQpVTlJPTExfTE9PUFNNOg0NCglNT1YJRUNYLCAoUEFDS0VUX0xFTiBT
SFIgMSkJOyBHZXQgcGFja2V0IGxlbmd0aA0NCglNT1YJRUJYLCBPRkZTRVQg
SVBfUEFDS0VUCTsgUG9pbnQgdG8gdGhlIHBhY2tldA0NCglYT1IJRURYLCBF
RFgJCTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9WCUVBWCwgRURYCQk7IE1ha2Ug
c3VyZSBoaWdoIHdvcmQgaXMgemVybw0NCjsNDQpNVFJJQUw6CUNNUAlFQ1gs
OAkJCTsgQXQgbGVhc3QgOCB3b3Jkcz8NDQoJSkFFCU1ETzgJCQk7IFllcywg
ZG8gOCB3b3JkcywgdW5yb2xsZWQNDQoJQ01QCUVDWCw0CQkJOyBBdCBsZWFz
dCA0IHdvcmRzPw0NCglKQUUJTURPNAkJCTsgWWVzLCBkbyA0IHdvcmRzLCB1
bnJvbGxlZA0NCglKTVAJTURPSVQJCQk7IE5vbmUgb2YgYWJvdmUNDQoNDQpN
RE84OglBREQJRFgsIFdPUkQgUFRSIFtFQlhdCTsgU3VtIHRoZSB3b3JkDQ0K
CUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdP
UkQgUFRSIFtFQlgrMl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7
IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCs0
XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJy
eQ0NCjsNDQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzZdCTsgU3VtIHRoZSB3
b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJ
RFgsIFdPUkQgUFRSIFtFQlgrOF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURY
LDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIg
W0VCWCsxMF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sg
dXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxMl0JOyBT
dW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7
DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsxNF0JOyBTdW0gdGhlIHdvcmQN
DQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlFQlgs
MTYJCQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsOAkJCTsgQWRqdXN0
IGNvdW50DQ0KCUpaCU1ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJTVRS
SUFMCQkJOyBUcnkgbW9yZQ0NCg0NCk1ETzQ6CUFERAlEWCwgV09SRCBQVFIg
W0VCWF0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAg
Y2FycnkNDQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCsyXQk7IFN1bSB0
aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJ
QURECURYLCBXT1JEIFBUUiBbRUJYKzRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFE
QwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQg
UFRSIFtFQlgrNl0JOyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBp
Y2sgdXAgY2FycnkNDQo7DQ0KCUFERAlFQlgsOAkJCTsgQWRqdXN0IHBvaW50
ZXINDQoJU1VCCUVDWCw0CQkJOyBBZGp1c3QgY291bnQNDQoJSloJTURPTkUJ
CQk7IFdlIGFyZSBkb25lDQ0KCUpNUAlNVFJJQUwJCQk7IFRyeSBtb3JlDQ0K
DQ0KTURPMjoJQURECURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUgd29y
ZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURY
LCBXT1JEIFBUUiBbRUJYKzJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDQJCQk7IEFkanVz
dCBwb2ludGVyDQ0KCVNVQglFQ1gsMgkJCTsgQWRqdXN0IGNvdW50DQ0KCUpa
CU1ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJTVRSSUFMCQkJOyBUcnkg
bW9yZQ0NCg0NCk1ET0lUOglBREQJRFgsIFdPUkQgUFRSIFtFQlhdCTsgU3Vt
IHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KCUFE
RAlFQlgsIDIJCQk7IFJlYWR5IG5leHQgd29yZA0NCglERUMJRUNYCQkJOyBC
dW1wIHRoZSBwYWNrZXQgbGVuZ3RoDQ0KCUpOWglNRE9JVAkJCTsgQ29udGlu
dWUNDQo7DQ0KTURPTkU6CU1PVglFQVgsRURYCQkJOyBSZXR1cm4gaW4gRUFY
IHRvIGJlIGZhaXINDQoJUkVUDQ0KOw0NCjstPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LQ0NClBSUDUJTEFCRUwJQllURQ0NCkFTQ0lJIDxUaGlz
IHRyaWVzIHRvIGJlIGN1dGUgYW5kIHVucm9sbCBsb29wcyBidXQgc3VtcyBm
cm9tIG1lbW9yeT4NDQpBU0NJSSA8d2l0aG91dCBhbiBpbnRlcm1lZGlhdGUg
cmVnaXN0ZXIgb3BlcmFuZC4gSXQgYWxzbyBnb2VzIG92ZXJib2FyZD4NDQpB
U0NJSSA8b24gdGhlIGxvb3AtdW5yb2xsaW5nLj4NDQpFT0wNDQo7DQ0KVU5S
T0xMX0xPT1BTTjoNDQoJTU9WCUVDWCwgKFBBQ0tFVF9MRU4gU0hSIDEpCTsg
R2V0IHBhY2tldCBsZW5ndGgNDQoJTU9WCUVCWCwgT0ZGU0VUIElQX1BBQ0tF
VAk7IFBvaW50IHRvIHRoZSBwYWNrZXQNDQoJWE9SCUVEWCwgRURYCQk7IENs
ZWFyIENZLCB6ZXJvDQ0KCU1PVglFQVgsIEVEWAkJOyBNYWtlIHN1cmUgaGln
aCB3b3JkIGlzIHplcm8NDQoNDQpOVFJJQUw6CUNNUAlFQ1gsMTYJCQk7IEF0
IGxlYXN0IDE2IHdvcmRzPw0NCglKQUUJTkRPMTYJCQk7IFllcywgZG8gMTYg
d29yZHMgdW5yb2xsZWQNDQoJQ01QCUVDWCw4CQkJOyBBdCBsZWFzdCA4IHdv
cmRzPw0NCglKQUUJTkRPOAkJCTsgWWVzLCBkbyA4IHdvcmRzIHVucm9sbGVk
DQ0KCUNNUAlFQ1gsNAkJCTsgQXQgbGVhc3QgNCB3b3Jkcz8NDQoJSkFFCU5E
TzQJCQk7IFllcywgZG8gNCB3b3JkcyB1bnJvbGxlZA0NCglKTVAJTkRPSVQJ
CQk7IE5vbmUgb2YgYWJvdmUNDQoNDQpORE8xNjoJQURECURYLCBXT1JEIFBU
UiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1
cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzJdCTsgU3Vt
IHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0N
CglBREQJRFgsIFdPUkQgUFRSIFtFQlgrNF0JOyBTdW0gdGhlIHdvcmQNDQoJ
QURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwgV09S
RCBQVFIgW0VCWCs2XQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJCTsg
UGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JEIFBUUiBbRUJYKzhd
CTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5
DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMTBdCTsgU3VtIHRoZSB3
b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJ
RFgsIFdPUkQgUFRSIFtFQlgrMTJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlE
WCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRS
IFtFQlgrMTRdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNr
IHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMTZdCTsg
U3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0K
Ow0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMThdCTsgU3VtIHRoZSB3b3Jk
DQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgs
IFdPUkQgUFRSIFtFQlgrMjBdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtF
QlgrMjJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVw
IGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMjRdCTsgU3Vt
IHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0N
CglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMjZdCTsgU3VtIHRoZSB3b3JkDQ0K
CUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdP
UkQgUFRSIFtFQlgrMjhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJ
OyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgr
MzBdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNh
cnJ5DQ0KOw0NCglBREQJRUJYLDMyCQkJOyBBZGp1c3QgcG9pbnRlcg0NCglT
VUIJRUNYLDE2CQkJOyBBZGp1c3QgY291bnQNDQoJSloJTkRPTkUJCQk7IFdl
IGFyZSBkb25lDQ0KCUpNUAlOVFJJQUwJCQk7IFRyeSBtb3JlDQ0KDQ0KTkRP
ODoJQURECURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0aGUgd29yZA0NCglB
REMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JE
IFBUUiBbRUJYKzJdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQ
aWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrNF0J
OyBTdW0gdGhlIHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkN
DQo7DQ0KCUFERAlEWCwgV09SRCBQVFIgW0VCWCs2XQk7IFN1bSB0aGUgd29y
ZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURY
LCBXT1JEIFBUUiBbRUJYKzhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCww
CQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtF
QlgrMTBdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVw
IGNhcnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMTJdCTsgU3Vt
IHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0N
CglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMTRdCTsgU3VtIHRoZSB3b3JkDQ0K
CUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDE2
CQkJOyBBZGp1c3QgcG9pbnRlcg0NCglTVUIJRUNYLDgJCQk7IEFkanVzdCBj
b3VudA0NCglKWglORE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU5UUklB
TAkJCTsgVHJ5IG1vcmUNDQoNDQpORE80OglBREQJRFgsIFdPUkQgUFRSIFtF
QlhdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNrIHVwIGNh
cnJ5DQ0KOw0NCglBREQJRFgsIFdPUkQgUFRSIFtFQlgrMl0JOyBTdW0gdGhl
IHdvcmQNDQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFE
RAlEWCwgV09SRCBQVFIgW0VCWCs0XQk7IFN1bSB0aGUgd29yZA0NCglBREMJ
RFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECURYLCBXT1JEIFBU
UiBbRUJYKzZdCTsgU3VtIHRoZSB3b3JkDQ0KCUFEQwlEWCwwCQkJOyBQaWNr
IHVwIGNhcnJ5DQ0KOw0NCglBREQJRUJYLDgJCQk7IEFkanVzdCBwb2ludGVy
DQ0KCVNVQglFQ1gsNAkJCTsgQWRqdXN0IGNvdW50DQ0KCUpaCU5ET05FCQkJ
OyBXZSBhcmUgZG9uZQ0NCglKTVAJTlRSSUFMCQkJOyBUcnkgbW9yZQ0NCg0N
Ck5ETzI6CUFERAlEWCwgV09SRCBQVFIgW0VCWF0JOyBTdW0gdGhlIHdvcmQN
DQoJQURDCURYLDAJCQk7IFBpY2sgdXAgY2FycnkNDQo7DQ0KCUFERAlEWCwg
V09SRCBQVFIgW0VCWCsyXQk7IFN1bSB0aGUgd29yZA0NCglBREMJRFgsMAkJ
CTsgUGljayB1cCBjYXJyeQ0NCjsNDQoJQURECUVCWCw0CQkJOyBBZGp1c3Qg
cG9pbnRlcg0NCglTVUIJRUNYLDIJCQk7IEFkanVzdCBjb3VudA0NCglKWglO
RE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU5UUklBTAkJCTsgVHJ5IG1v
cmUNDQoNDQpORE9JVDoJQURECURYLCBXT1JEIFBUUiBbRUJYXQk7IFN1bSB0
aGUgd29yZA0NCglBREMJRFgsMAkJCTsgUGljayB1cCBjYXJyeQ0NCglBREQJ
RUJYLCAyCQkJOyBSZWFkeSBuZXh0IHdvcmQNDQoJREVDCUVDWAkJCTsgQnVt
cCB0aGUgcGFja2V0IGxlbmd0aA0NCglKTloJTkRPSVQJCQk7IENvbnRpbnVl
DQ0KOw0NCk5ET05FOglNT1YJRUFYLEVEWAkJCTsgUmV0dXJuIGluIEVBWCB0
byBiZSBmYWlyDQ0KCVJFVA0NCjsNDQo7LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS0NDQo7DQ0KUFJQNglMQUJFTAlCWVRFDQ0KQVNDSUkgPFRo
aXMgdHJpZXMgdG8gYmUgY3V0ZSB3aXRoIHRoZSBMT0RTVyBhbmQgdW5yb2xs
cyBzb21lIGxvb3BzLj4NDQpBU0NJSSA8SXQgaXMgYW4gZXhhbXBsZSBvZiBl
eHRyZW1lIGNvbXBsaWNhdGlvbiBkb2luZyB2ZXJ5IGxpdHRsZS4+DQ0KRU9M
DQ0KOw0NClNJTVBMRV9VTlJPTEw6DQ0KCU1PVglFQ1gsIChQQUNLRVRfTEVO
IFNIUiAxKQ0NCglNT1YJRVNJLCBPRkZTRVQgSVBfUEFDS0VUDQ0KCVhPUglF
RFgsIEVEWAkJOyBDbGVhciBDWSwgemVybw0NCglNT1YJRUJYLCBFRFgJCTsg
WmVybyB0aGlzIHRvbw0NCglNT1YJRUFYLCBFRFgJCTsgTWFrZSBzdXJlIGhp
Z2ggd29yZCBpcyB6ZXJvDQ0KCUNMRA0NCg0NClRSWUVNOglDTVAJRUNYLDE2
CQkJOyBBdCBsZWFzdCAxNiB3b3Jkcz8NDQoJSkFFCVMxNgkJCTsgWWVzLCBk
byAxNiB3b3JkcyB1bnJvbGxlZA0NCglDTVAJRUNYLDgJCQk7IEF0IGxlYXN0
IDggd29yZHM/DQ0KCUpBRQlTOAkJCTsgWWVzLCBkbyA4IHdvcmRzIHVucm9s
bGVkDQ0KCUNNUAlFQ1gsNAkJCTsgQXQgbGVhc3QgNCB3b3Jkcz8NDQoJSkFF
CVM0CQkJOyBZZXMsIGRvIDQgd29yZHMgdW5yb2xsZWQNDQoJSk1QCVBST1AJ
CQk7IE5vbmUgb2YgYWJvdmUNDQo7DQ0KUzE2OglTSFIJQlgsMQkJCTsgUHJv
cGFnYXRlIGxhc3QgQ1kNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNX
DQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cN
DQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0N
CglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0K
CUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJ
QURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0NCglB
REMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFE
QwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURD
CURYLEFYDQ0KOw0NCglBREMJQlgsMAkJCTsgUHJvcGFnYXRlIGxhc3QgQ1kN
DQoJU1VCCUVDWCwxNgkJCTsgQWRqdXN0IGNvdW50DQ0KCUpaCVNET05FCQkJ
OyBXZSBhcmUgZG9uZQ0NCglKTVAJVFJZRU0JCQk7IFRyeSBtb3JlDQ0KOw0N
ClM4OglTSFIJQlgsMQkJCTsgUHJvcGFnYXRlIGxhc3QgQ1kNDQoJTE9EU1cN
DQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglMT0RTVw0N
CglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFYDQ0KCUxPRFNXDQ0K
CUFEQwlEWCxBWA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJ
QURDCURYLEFYDQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCjsNDQoJQURDCUJY
LDAJCQk7IFByb3BhZ2F0ZSBwb3NzaWJsZSBjYXJyeQ0NCglTVUIJRUNYLDgJ
CQk7IEFkanVzdCBjb3VudA0NCglKWglTRE9ORQkJCTsgV2UgYXJlIGRvbmUN
DQoJSk1QCVRSWUVNCQkJOyBUcnkgbW9yZQ0NCjsNDQpTNDoJU0hSCUJYLDEJ
CQk7IFByb3BhZ2F0ZSBsYXN0IGNhcnJ5DQ0KCUxPRFNXDQ0KCUFEQwlEWCxB
WA0NCglMT0RTVw0NCglBREMJRFgsQVgNDQoJTE9EU1cNDQoJQURDCURYLEFY
DQ0KCUxPRFNXDQ0KCUFEQwlEWCxBWA0NCglBREMJQlgsMAkJCTsgU2F2ZSBw
b3NzaWJsZSBjYXJyeQ0NCjsNDQoJU1VCCUVDWCw0CQkJOyBBZGp1c3QgY291
bnQNDQoJSloJU0RPTkUJCQk7IFdlIGFyZSBkb25lDQ0KCUpNUAlUUllFTQkJ
CTsgVHJ5IG1vcmUNDQo7DQ0KUFJPUDoJU0hSCUJYLDEJCQk7IFByb3BhZ2F0
ZSBsYXN0IENZDQ0KU0lNUExFOglMT0RTVwkJCQk7IERvaXQNDQoJQURDCURY
LEFYCQkJOyBTdW0gd29yZHMgb25seSB3aXRoIHByZXZpb3VzIENZDQ0KCUxP
T1AJU0lNUExFCQkJOyBEb2l0Mml0DQ0KCUFEQwlCWCwwCQkJOyBQb3NzaWJs
ZSBsYXN0IENZDQ0KU0RPTkU6CVNIUglCWCwxDQ0KCUFEQwlEWCwwCQkJOyBQ
cm9wYWdhdGUgbGFzdCBDWQ0NCglNT1YJRUFYLEVEWAkJCTsgUmV0dXJuIGlu
IEVBWCB0byBiZSBmYWlyDQ0KCVJFVA0NCjsNDQo7LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS0NDQo7DQ0KUFJQNwlMQUJFTAlCWVRFDQ0KQVND
SUkgPFRoaXMgaXMgYSB2ZXJzaW9uIG9mIHRoZSBzaW1wbGUgY2hlY2tzdW0u
IEl0IHVzZXMgTE9EU1cuIEhvd2V2ZXI+DQ0KQVNDSUkgPGl0IGZvbGRzIGJh
Y2sgYWxsIHRoZSBjYXJyaWVzIG11Y2ggbGlrZSB0aGUgc3RhbmRhcmQgQyBj
b2RlLj4NDQpFT0wNDQo7DQ0KRk9MREJBQ0tfQ0hLU1VNOg0NCglNT1YJRUNY
LCAoUEFDS0VUX0xFTiBTSFIgMSkJOyBHZXQgcGFja2V0IGxlbmd0aA0NCglN
T1YJRVNJLCBPRkZTRVQgSVBfUEFDS0VUCTsgUG9pbnQgdG8gcGFja2V0DQ0K
CVhPUglFRFgsIEVEWAkJOyBDbGVhciBDWSwgemVybw0NCglNT1YJRUFYLCBF
RFgJCTsgTWFrZSBzdXJlIGhpZ2ggd29yZCBpcyB6ZXJvDQ0KCUNMRA0NCjsN
DQpDSEtFTVc6CUxPRFNXCQkJCTsgRG9pdA0NCglBREQJRURYLEVBWAkJCTsg
U3VtIGxvbmd3b3JkcyBvbmx5DQ0KCUxPT1AJQ0hLRU1XCQkJOyBEb2l0Mml0
DQ0KCU1PVglFQVgsRURYDQ0KCVNIUglFQVgsMTYJCQk7IEV4cG9zZSB0aGUg
Y2Fycmllcw0NCglBREQJRFgsQVgJCQk7IFN1bSBhbGwgdGhlIGNhcnJpZXMg
aW50byBMT1cgd29yZA0NCglBREMJRFgsMAkJCTsgVGhlIGxhc3Qgc3VtIGNv
dWxkIGhhdmUgY2FycmllZA0NCglBTkQJRURYLDBGRkZGSAkJOyBTYXZlIG9u
bHkgdGhlIGxvdyB3b3JkDQ0KCU1PVglFQVgsRURYCQkJOyBSZXR1cm4gaW4g
RUFYIHRvIGJlIGZhaXINDQoJUkVUDQ0KOw0NCjstPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LQ0NCjsNDQpQUlA4CUxBQkVMCUJZVEUNDQpBU0NJ
SSA8VGhpcyBpcyBhIHZlcnNpb24gb2YgdGhlIHNpbXBsZSBjaGVja3N1bS4g
SXQgdXNlcyBMT0RTVy4gSG93ZXZlcj4NDQpBU0NJSSA8aXQgZG9lcyBub3Qg
dXNlIGEgbG9vcCBjb3VudGVyLiBJdCB1c2VzIGZvbGQtYmFjayBmb3IgY2Fy
cmllcy4+DQ0KRU9MDQ0KOw0NCk5PQ09VTlRfQ0hLU1VNOg0NCglNT1YJRUNY
LCBQQUNLRVRfTEVOCQk7IEdldCBwYWNrZXQgbGVuZ3RoIChieXRlcykNDQoJ
TU9WCUVTSSwgT0ZGU0VUIElQX1BBQ0tFVAk7IFBvaW50IHRvIHBhY2tldA0N
CglBREQJRUNYLCBFU0kJCTsgRUNYIHBvaW50cyB0byBsYXN0IHBhY2tldA0N
CglYT1IJRURYLCBFRFgJCTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9WCUVBWCwg
RURYCQk7IE1ha2Ugc3VyZSBoaWdoIHdvcmQgaXMgemVybw0NCglDTEQNDQo7
DQ0KQ0hLRU1YOglMT0RTVwkJCQk7IERvaXQNDQoJQURECUVEWCxFQVgJCQk7
IFN1bSBsb25nd29yZHMgb25seQ0NCglDTVAJRVNJLEVDWAkJCTsgRW5kIG9m
IHRoZSBsaXN0Pw0NCglKQglDSEtFTVgJCQk7IERvaXQyaXQNDQoJTU9WCUVB
WCxFRFgNDQoJU0hSCUVBWCwxNgkJCTsgRXhwb3NlIHRoZSBjYXJyaWVzDQ0K
CUFERAlEWCxBWAkJCTsgU3VtIGFsbCB0aGUgY2FycmllcyBpbnRvIExPVyB3
b3JkDQ0KCUFEQwlEWCwwCQkJOyBUaGUgbGFzdCBzdW0gY291bGQgaGF2ZSBj
YXJyaWVkDQ0KCUFORAlFRFgsMEZGRkZICQk7IFNhdmUgb25seSB0aGUgbG93
IHdvcmQNDQoJTU9WCUVBWCxFRFgJCQk7IFJldHVybiBpbiBFQVggdG8gYmUg
ZmFpcg0NCglSRVQNDQo7DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tDQ0KUFJQOQlMQUJFTAlCWVRFDQ0KQVNDSUkgPFRoaXMgdHJpZXMg
dG8gYmUgY3V0ZSBhbmQgdW5yb2xsIGxvb3BzIGJ1dCBzdW1zIGZyb20gbWVt
b3J5Pg0NCkFTQ0lJIDx3aXRob3V0IGFuIGludGVybWVkaWF0ZSByZWdpc3Rl
ciBvcGVyYW5kLiBJdCBhbHNvIGdvZXMgb3ZlcmJvYXJkPg0NCkFTQ0lJIDxv
biB0aGUgbG9vcC11bnJvbGxpbmcgYW5kIHRyaWVzIHRvIG1haW50YWluIGEg
cGlwZWxpbmUuPg0NCkVPTA0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LQ0NCjsNDQo7CVRoaXMgbWFjcm8gcmVkdWNlcyB0aGUgYW1vdW50
IG9mIHR5cGluZyBhbmQgc3ludGF4IGNoZWNraW5nIHRoYXQNDQo7CUkgaGF2
ZSB0byBkby4NDQo7DQ0KUVVBRAlNQUNSTyBMSU1JVA0NCglOID0gMA0NCiBS
RVBUICBMSU1JVA0NCiAgSUZFIE4gLSBMSU1JVA0NCiAgIEVYSVRNDQ0KICBF
TFNFDQ0KICAgIElGIChOIE5FIDApDQ0KCU1PVglFRFgsIFtFQlgrJk4mXQkJ
OyBJZiB0aGVyZSBpcyBhbiBvZmZzZXQNDQogICAgRUxTRQ0NCglNT1YJRURY
LCBbRUJYXQkJOyBJZiB0aGVyZSBpc24ndCBhbiBvZmZzZXQNDQogICAgRU5E
SUYNDQoJQURDCUVBWCwgRURYCQk7IERvIHRoaXMgd2hpbGUgdGhlIHBpcGVs
aW5lIGZpbGxzDQ0KICAgIElGRSAoKE4gTU9EIDEyOCkpDQ0KCU1PVglFRFgs
RURYCQkJOyBQcmV2ZW50IHBpcGVsaW5lIHN0YWxsDQ0KICAgIEVORElGDQ0K
ICBOID0gTiArIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgUmVh
ZHkgZm9yIG5leHQgbG9uZ3dvcmQNDQogRU5ETQ0NCkVORE0NDQo7LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpVTlJPTExfTE9PUFNPOg0N
CglNT1YJRUNYLCBQQUNLRVRfTEVOCQk7IEdldCBwYWNrZXQgbGVuZ3RoDQ0K
CU1PVglFQlgsIE9GRlNFVCBJUF9QQUNLRVQJOyBQb2ludCB0byB0aGUgcGFj
a2V0DQ0KCVhPUglFRFgsIEVEWAkJOyBDbGVhciBDWSwgemVybw0NCglNT1YJ
RUFYLCBFRFgJCTsgTWFrZSBzdXJlIGhpZ2ggd29yZCBpcyB6ZXJvDQ0KOw0N
CjsJVGhpcyBtYXkgZ2V0IHVzIHRvIGEgY2FjaGUgbGluZS4NDQo7DQ0KQUxJ
R04JMjBIDQ0KRklYVVA6CU1PVglEWCxXT1JEIFBUUiBbRUJYXQ0NCglURVNU
CUVCWCwxRkgNDQoJSloJT1RSSUFMDQ0KCUFERAlFQVgsRURYDQ0KCVNCQglF
RFgsRURYCQkJOyBQcm9wYWdhdGUgY2FycnkNDQoJTEVBCUVCWCxbRUJYKzJd
CQk7IEFkanVzdCBwb2ludGVyDQ0KCVNVQglFQ1gsMgkJCTsgQWRqdXN0IGNv
dW50DQ0KCUpaCU9ET05FCQkJOyBXZSBhcmUgZG9uZS4NDQoJSk1QCVNIT1JU
IEZJWFVQDQ0KOw0NCk9UUklBTDoJVEVTVAlFQ1gsKE5PVCAoMTI4LTEpKQk7
IEF0IGxlYXN0IDEyOCBieXRlcz8NDQoJSk5aCU9EMTI4CQkJOyBZZXMsIGRv
IDEyOCBieXRlcw0NCglURVNUCUVDWCwoTk9UICg2NC0xKSkJOyBBdCBsZWFz
dCA2NCBieXRlcz8NDQoJSk5aCU9ETzY0CQkJOyBZZXMsIGRvIDY0IGJ5dGVz
IHVucm9sbGVkDQ0KCVRFU1QJRUNYLChOT1QgKDMyLTEpKQk7IEF0IGxlYXN0
IDMyIGJ5dGVzPw0NCglKTloJT0RPMzIJCQk7IFllcywgZG8gMzIgYnl0ZXMg
dW5yb2xsZWQNDQoJVEVTVAlFQ1gsKE5PVCAoMTYtMSkpCTsgQXQgbGVhc3Qg
MTYgYnl0ZXM/DQ0KCUpOWglPRE8xNgkJCTsgWWVzLCBkbyA4IHdvcmRzIHVu
cm9sbGVkDQ0KCVRFU1QJRUNYLChOT1QgKDgtMSkpCQk7IEF0IGxlYXN0IDgg
Ynl0ZXM/DQ0KCUpOWglPRE84CQkJOyBZZXMsIGRvIDggYnl0ZXMgdW5yb2xs
ZWQNDQoJSk1QCU9QUk9QCQkJOyBOb25lIG9mIGFib3ZlDQ0KOw0NCkFMSUdO
CTIwSA0NCk9EMTI4OglBREQJRURYLEVEWAkJCTsgUHJvcGFnYXRlIENZDQ0K
CVFVQUQJMTI4CQkJOyBNQUNSTyBkZWZpbmVkIGFib3ZlDQ0KCVNCQglFRFgs
RURYCQkJOyBQcm9wYWdhdGUgbGFzdCBjYXJyeQ0NCglMRUEJRUJYLFtFQlgr
MTI4XQkJOyBBZGp1c3QgcG9pbnRlcg0NCglTVUIJRUNYLDEyOAkJCTsgQWRq
dXN0IGNvdW50DQ0KCUpaCU9ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJ
T1RSSUFMCQkJOyBUcnkgbW9yZQ0NCjsNDQpBTElHTgkyMEgNDQpPRE82NDoJ
QURECUVEWCxFRFgJCQk7IFByb3BhZ2F0ZSBDWQ0NCglRVUFECTY0CQkJOyBN
QUNSTyBkZWZpbmVkIGFib3ZlDQ0KCVNCQglFRFgsRURYCQkJOyBQcm9wYWdh
dGUgbGFzdCBjYXJyeQ0NCglMRUEJRUJYLFtFQlgrNjRdCQk7IEFkanVzdCBw
b2ludGVyDQ0KCVNVQglFQ1gsNjQJCQk7IEFkanVzdCBjb3VudA0NCglKWglP
RE9ORQkJCTsgV2UgYXJlIGRvbmUNDQoJSk1QCU9UUklBTAkJCTsgVHJ5IG1v
cmUNDQo7DQ0KQUxJR04JMjBIDQ0KT0RPMzI6CUFERAlFRFgsRURYCQkJOyBQ
cm9wYWdhdGUgQ1kNDQoJUVVBRAkzMgkJCTsgTUFDUk8gZGVmaW5lZCBhYm92
ZQ0NCglTQkIJRURYLEVEWAkJCTsgUHJvcGFnYXRlIGxhc3QgY2FycnkNDQoJ
TEVBCUVCWCxbRUJYKzMyXQkJOyBBZGp1c3QgcG9pbnRlcg0NCglTVUIJRUNY
LDMyCQkJOyBBZGp1c3QgY291bnQNDQoJSloJT0RPTkUJCQk7IFdlIGFyZSBk
b25lDQ0KCUpNUAlPVFJJQUwJCQk7IFRyeSBtb3JlDQ0KOw0NCkFMSUdOCTIw
SA0NCk9ETzE2OglBREQJRURYLEVEWAkJCTsgUHJvcGFnYXRlIGxhc3QgY2Fy
cnkNDQoJUVVBRAkxNgkJCTsgTUFDUk8gZGVmaW5lZCBhYm92ZQ0NCglTQkIJ
RURYLEVEWAkJCTsgUHJvcGFnYXRlIGNhcnJ5DQ0KCUxFQQlFQlgsW0VCWCsx
Nl0JCTsgQWRqdXN0IHBvaW50ZXINDQoJU1VCCUVDWCwxNgkJCTsgQWRqdXN0
IGNvdW50DQ0KCUpaCU5ET05FCQkJOyBXZSBhcmUgZG9uZQ0NCglKTVAJT1RS
SUFMCQkJOyBUcnkgbW9yZQ0NCjsNDQpBTElHTgkyMEgNDQpPRE84OglBREQJ
RURYLEVEWA0NCglRVUFECTgJCQk7IE1BQ1JPIGRlZmluZWQgYWJvdmUNDQoJ
U0JCCUVEWCxFRFgJCQk7IFByb3BhZ2F0ZSBjYXJyeQ0NCglMRUEJRUJYLFtF
QlgrOF0JCTsgQWRqdXN0IHBvaW50ZXINDQoJU1VCCUVDWCw4CQkJOyBBZGp1
c3QgY291bnQNDQoJSloJT0RPTkUJCQk7IFdlIGFyZSBkb25lDQ0KCUpNUAlP
VFJJQUwJCQk7IFRyeSBtb3JlDQ0KOw0NCkFMSUdOCTEwSA0NCk9QUk9QOglB
REQJRURYLEVEWA0NCk9ET0JZOglBREMJQVgsIFdPUkQgUFRSIFtFQlhdCTsg
U3VtIHdvcmRzDQ0KCUxFQQlFQlgsW0VCWCsyXQkJOyBSZWFkeSBuZXh0IHdv
cmQNDQoJREVDCUVDWAkJCTsgU2VlIGlmIE9ERA0NCglKWglXQVNPREQJCQk7
IE5vdCBnb29kLCBPREQgYnl0ZSBjb3VudA0NCglERUMJRUNYCQkJOyBOZXh0
IHdvcmQNDQoJSk5aCU9ET0JZCQkJOyBDb250aW51ZQ0NCglBREMJRUFYLDAJ
CQk7IFBpY2sgdXAgcG9zc2libGUgbGFzdCBjYXJyeQ0NCglNT1YJRURYLEVB
WAkJCTsgR2V0IGN1cnJlbnQNDQoJU0hSCUVEWCwxNgkJCTsgSGlnaCBiaXRz
IGludG8gbG93DQ0KCUFERAlBWCxEWAkJCTsgU3VtIGNhcnJpZXMNDQoJQURD
CUVBWCwwDQ0KCVJFVA0NCjsNDQpBTElHTgkxMEgJCQkJOyBPZGQgYnl0ZS1j
b3VudCwgd2UgaGF2ZSBhIHByb2JsZW0NDQpXQVNPREQ6CURFQwlFQlgJCQk7
IExhc3QgYnl0ZSBpbiBidWZmZXINDQoJTU9WCUVEWCwwCQkJOyBFeHBlbnNp
dmUgemVybw0NCglNT1YJREwsQllURSBQVFIgW0VCWF0JOyBHZXQgbGFzdCBi
eXRlDQ0KCUFEQwlFQVgsRURYCQkJOyBTdW0gYXMgdXN1YWwNDQoJU0hSCUVE
WCwxNgkJCTsgSGlnaCBiaXRzIGludG8gbG93DQ0KCUFERAlBWCxEWAkJCTsg
U3VtIGNhcnJpZXMNDQoJQURDCUVBWCwwDQ0KCVJFVA0NCjsNDQpBTElHTgkx
MEgNDQpPRE9ORToJQURECUVEWCxFRFgJCQk7IFByb3BhZ2F0ZSBjYXJyeQ0N
CglBREMJRUFYLDAJCQk7IFBvc3NpYmxlIGNhcnJ5DQ0KCU1PVglFRFgsRUFY
CQkJOyBHZXQgY3VycmVudA0NCglTSFIJRURYLDE2CQkJOyBIaWdoIGJpdHMg
aW50byBsb3cNDQoJQURECUFYLERYCQkJOyBTdW0gY2Fycmllcw0NCglBREMJ
RUFYLDANDQoJUkVUDQ0KOw0NCjstPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LQ0NClBSUDEwCUxBQkVMCUJZVEUNDQpBU0NJSQk8VGhpcyBwZXJm
b3JtcyB0aGUgc2FtZSBjaGVja3N1bSwgYnV0IGRvZXMgbm90IHVzZSBidWls
dC1pbiBtYWNyb3MuPg0NCkFTQ0lJCTxJdCB1c2VzIExFQSBpbiBhIHN0cmFu
Z2Ugd2F5IChQYWdlIEctMTAgb2YgdGhlIEludGVsIHJhZykuPg0NCkFTQ0lJ
CTxOb3JtYWxseSBMRUEgbWVhbnMgT0ZGU0VUIGluIGxpbmVhciBtb2RlLCBi
dXQgaXQgd2lsbCBjaGFuZ2U+DQ0KQVNDSUkJPHRoZSBwb2ludGVyIGJ5IGEg
Y29uc3RhbnQgc2NhbGluZyBmYWN0b3IgaW4gb25seSBvbmUgY2xvY2suPg0N
CkVPTA0NCjsNDQpTSU1QTEVfU1BVRDoNDQoJTU9WCUVDWCwgKFBBQ0tFVF9M
RU4gU0hSIDEpCTsgR2V0IHBhY2tldCBsZW5ndGgNDQoJTU9WCUVCWCwgT0ZG
U0VUIElQX1BBQ0tFVAk7IFBvaW50IHRvIHBhY2tldA0NCglYT1IJRURYLCBF
RFgJCTsgQ2xlYXIgQ1ksIHplcm8NDQoJTU9WCUVBWCwgRURYCQk7IE1ha2Ug
c3VyZSBoaWdoIHdvcmQgaXMgemVybw0NCjsNDQpTUFVEOglBREMJRFgsIFdP
UkQgUFRSIFtFQlhdCTsgR2V0IHRoZSB3b3JkDQ0KCUxFQQlFQlgsIFtFQlgr
Ml0JCTsgQ3V0ZSB0cmljaw0NCglERUMJRUNYCQkJOyBCdW1wIHRoZSBwYWNr
ZXQgbGVuZ3RoDQ0KCUpOWglTUFVECQkJOyBDb250aW51ZQ0NCglBREMJRFgs
MAkJCTsgUG9zc2libGUgbGFzdCBjYXJyeQ0NCglNT1YJRUFYLEVEWAkJCTsg
UmV0dXJuIGluIEVBWCB0byBiZSBmYWlyDQ0KCVJFVA0NCjsNDQo7LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0NDQpQUlAxMQlMQUJFTAlCWVRF
DQ0KQVNDSUkJPFRoaXMgaXMgdGhlIGxpbnV4IGNoZWNrc3VtLiBUaGUgb3Jp
Z2luYWwgY29kZSBpcyBsZWZ0IHdpdGhpbj4NDQpBU0NJSQk8dGhlIGNvbnZl
cnRlZCBzb3VyY2Ugc28gdGhhdCB5b3UgY2FuIGNoZWNrIHRoYXQgaXQgd2Fz
IGNvcnJlY3RseT4NDQpBU0NJSQk8Y29udmVydGVkLiBJdCcncyB1Z2x5LCBi
dXQgdGhlIG51bWJlcnMgc3BlYWsgZm9yIHRoZW1zZWx2ZXMuPg0NCkVPTA0N
CkxJTlVYOglNT1YJRUNYLCBQQUNLRVRfTEVOCQk7IEdldCBwYWNrZXQgbGVu
Z3RoDQ0KCU1PVglFU0ksIE9GRlNFVCBJUF9QQUNLRVQJOyBQb2ludCB0byBw
YWNrZXQNDQoJWE9SCUVEWCwgRURYCQk7IENsZWFyIENZLCB6ZXJvDQ0KCU1P
VglFQVgsIEVEWAkJOyBNYWtlIHN1cmUgaGlnaCB3b3JkIGlzIHplcm8NDQoN
DQo7CV9fYXNtX18oIg0NCjsJICAgIHRlc3RsICQyLCAlJWVzaQkJIyBDaGVj
ayBhbGlnbm1lbnQuDQ0KCVRFU1QJRVNJLDINDQo7CSAgICBqeiAyZgkJCSMg
SnVtcCBpZiBhbGlnbm1lbnQgaXMgb2suDQ0KCUpaCUYyDQ0KOwkgICAgc3Vi
bCAkMiwgJSVlY3gJCSMgQWxpZ25tZW50IHVzZXMgdXAgdHdvIGJ5dGVzLg0N
CglTVUIJRUNYLDINDQo7CSAgICBqYWUgMWYJCQkjIEp1bXAgaWYgd2UgaGFk
IGF0IGxlYXN0IHR3byBieXRlcy4NDQoJSkFFCUYxDQ0KOwkgICAgYWRkbCAk
MiwgJSVlY3gJCSMgZWN4IHdhcyA8IDIuICBEZWFsIHdpdGggaXQuDQ0KCUFE
RAlFQ1gsMg0NCjsJICAgIGptcCA0Zg0NCglKTVAJRjQNDQo7MToJbW92dyAo
JSVlc2kpLCAlJWJ4DQ0KRjE6CU1PVglCWCwgV09SRCBQVFIgW0VTSV0NDQo7
CSAgICBhZGRsICQyLCAlJWVzaQ0NCglBREQJRVNJLDINDQo7CSAgICBhZGR3
ICUlYngsICUlYXgNDQoJQURECUFYLEJYDQ0KOwkgICAgYWRjbCAkMCwgJSVl
YXgNDQoJQURDCUVBWCwwDQ0KOzI6DQ0KRjI6DQ0KOwkgICAgbW92bCAlJWVj
eCwgJSVlZHgNDQoJTU9WCUVEWCxFQ1gNDQo7CSAgICBzaHJsICQ1LCAlJWVj
eA0NCglTSFIJRUNYLDUNDQo7CSAgICBqeiAyZg0NCglKWglGMjINDQo7CSAg
ICB0ZXN0bCAlJWVzaSwgJSVlc2kNDQoJVEVTVAlFU0ksRVNJDQ0KOzE6CSAg
ICBtb3ZsICglJWVzaSksICUlZWJ4DQ0KRjExOglNT1YJRUJYLCBEV09SRCBQ
VFIgW0VTSV0NDQo7CSAgICBhZGNsICUlZWJ4LCAlJWVheA0NCglBREMJRUFY
LEVCWA0NCjsJICAgIG1vdmwgNCglJWVzaSksICUlZWJ4DQ0KCU1PVglFQlgs
IERXT1JEIFBUUiBbRVNJKzRdDQ0KOwkgICAgYWRjbCAlJWVieCwgJSVlYXgN
DQoJQURDCUVBWCxFQlgNDQo7CSAgICBtb3ZsIDgoJSVlc2kpLCAlJWVieA0N
CglNT1YJRUJYLCBEV09SRCBQVFIgW0VTSSs4XQ0NCjsJICAgIGFkY2wgJSVl
YngsICUlZWF4DQ0KCUFEQwlFQVgsRUJYDQ0KOwkgICAgbW92bCAxMiglJWVz
aSksICUlZWJ4DQ0KCU1PVglFQlgsIERXT1JEIFBUUiBbRVNJKzEyXQ0NCjsJ
ICAgIGFkY2wgJSVlYngsICUlZWF4DQ0KCUFEQwlFQVgsRUJYDQ0KOwkgICAg
bW92bCAxNiglJWVzaSksICUlZWJ4DQ0KCU1PVglFQlgsIERXT1JEIFBUUiBb
RVNJKzE2XQ0NCjsJICAgIGFkY2wgJSVlYngsICUlZWF4DQ0KCUFEQwlFQVgs
RUJYDQ0KOwkgICAgbW92bCAyMCglJWVzaSksICUlZWJ4DQ0KCU1PVglFQlgs
IERXT1JEIFBUUiBbRVNJKzIwXQ0NCjsJICAgIGFkY2wgJSVlYngsICUlZWF4
DQ0KCUFEQwlFQVgsRUJYDQ0KOwkgICAgbW92bCAyNCglJWVzaSksICUlZWJ4
DQ0KCU1PVglFQlgsIERXT1JEIFBUUiBbRVNJKzI0XQ0NCjsJICAgIGFkY2wg
JSVlYngsICUlZWF4DQ0KCUFEQwlFQVgsRUJYDQ0KOwkgICAgbW92bCAyOCgl
JWVzaSksICUlZWJ4DQ0KCU1PVglFQlgsIERXT1JEIFBUUiBbRVNJKzI4XQ0N
CjsJICAgIGFkY2wgJSVlYngsICUlZWF4DQ0KCUFEQwlFQVgsRUJYDQ0KOwkg
ICAgbGVhIDMyKCUlZXNpKSwgJSVlc2kNDQoJTEVBCUVTSSwgW0VTSSszMl0N
DQo7CSAgICBkZWMgJSVlY3gNDQoJREVDCUVDWA0NCjsJICAgIGpuZSAxYg0N
CglKTkUJRjExDQ0KOwkgICAgYWRjbCAkMCwgJSVlYXgNDQoJQURDCUVBWCww
DQ0KOzI6CSAgICBtb3ZsICUlZWR4LCAlJWVjeA0NCkYyMjoJTU9WCUVDWCxF
RFgNDQo7CSAgICBhbmRsICQweDFjLCAlJWVkeA0NCglBTkQJRURYLCAxQ0gN
DQo7CSAgICBqZSA0Zg0NCglKRQlGNA0NCjsJICAgIHNocmwgJDIsICUlZWR4
DQ0KCVNIUglFRFgsMg0NCjsJICAgIHRlc3RsICUlZXNpLCAlJWVzaQ0NCglU
RVNUCUVTSSxFU0kNDQo7MzoJICAgIGFkY2wgKCUlZXNpKSwgJSVlYXgNDQpG
MzoJQURDCUVBWCwgRFdPUkQgUFRSIFtFU0ldDQ0KOwkgICAgbGVhIDQoJSVl
c2kpLCAlJWVzaQ0NCglMRUEJRVNJLCBbRVNJKzRdDQ0KOwkgICAgZGVjICUl
ZWR4DQ0KCURFQwlFRFgNDQo7CSAgICBqbmUgM2INDQoJSk5FCUYzDQ0KOwkg
ICAgYWRjbCAkMCwgJSVlYXgNDQoJQURDCUVBWCwwDQ0KOzQ6CSAgICBhbmRs
ICQzLCAlJWVjeA0NCkY0OglBTkQJRUNYLDMNDQo7CSAgICBqeiA3Zg0NCglK
WglGNw0NCjsJICAgIGNtcGwgJDIsICUlZWN4DQ0KCUNNUAlFQ1gsMg0NCjsJ
ICAgIGpiIDVmDQ0KCUpCCUY1DQ0KOwkgICAgbW92dyAoJSVlc2kpLCUlY3gN
DQoJTU9WCUNYLCBXT1JEIFBUUiBbRVNJXQ0NCjsJICAgIGxlYWwgMiglJWVz
aSksJSVlc2kNDQoJTEVBCUVTSSwgW0VTSSsyXQ0NCjsJICAgIGplIDZmDQ0K
CUpFCUY2DQ0KOwkgICAgc2hsbCAkMTYsJSVlY3gNDQoJU0hMCUVDWCwxNg0N
Cjs1OgkgICAgbW92YiAoJSVlc2kpLCUlY2wNDQpGNToJTU9WCUNMLEJZVEUg
UFRSIFtFU0ldDQ0KOzY6CSAgICBhZGRsICUlZWN4LCUlZWF4DQ0KRjY6CUFE
RAlFQVgsRUNYDQ0KOwkgICAgYWRjbCAkMCwgJSVlYXgNDQoJQURDCUVBWCww
DQ0KOzc6CSAgICAiDQ0KRjc6DQ0KOw0NCjsJTmVlZCB0byBmb2xkIGJhY2sg
YW5kIGNvbnZlcnQgdG8gYSBXT1JEIGFzIHVzZWQgaW4gVENQL0lQLg0NCjsN
DQoJTU9WCUVEWCxFQVgNDQoJU0hSCUVEWCwxNg0NCglBREQJQVgsRFgNDQoJ
QURDCUVBWCwwDQ0KCVJFVA0NCjsJOiAiPWEiKHN1bSkNDQo7CTogIjAiKHN1
bSksICJjIihsZW4pLCAiUyIoYnVmZikNDQo7CTogImJ4IiwgImN4IiwgImR4
IiwgInNpIik7DQ0KOwlyZXR1cm4oc3VtKTsNDQo7DQ0KOy09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOwlUaGlzICBnZXRzIHRoZSBjdXJy
ZW50IGludGVybmFsIGN5Y2xlIHRpbWVyIHZhbHVlLg0NCjsNDQpTVEFSVF9U
SU1FUjoNDQoJWE9SCUVBWCxFQVgJCQk7IE1ha2Ugc3VyZSB3aG9sZSByZWdp
c3RlciBpcyBjbGVhcg0NCglNT1YJRURYLEVBWA0NCglEQgkwRkgNDQoJREIJ
MzFIDQ0KCU1PVglEV09SRCBQVFIgQ1RJTV9MT1dfTFcsIEVBWA0NCglNT1YJ
RFdPUkQgUFRSIENUSU1fSElHX0xXLCBFRFgNDQoJUkVUDQ0KOy09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOwlUaGlzIGdldHMgdGhlIGN1
cnJlbnQgaW50ZXJuYWwgY3ljbGUgdGltZXIgdmFsdSBhbmQgY2FsY3VsYXRl
cw0NCjsJdGhlIENQVSBjeWNsZXMgdXNlZCBzaW5jZSB0aGUgcHJldmlvdXMg
Y2FsbCB0byBTVEFSVF9USU1FUi4NDQo7DQ0KU1RPUF9USU1FUjoNDQoJWE9S
CUVBWCxFQVgJCQk7IE1ha2Ugc3VyZSB3aG9sZSByZWdpc3RlciBpcyBjbGVh
cg0NCglNT1YJRURYLEVBWA0NCglEQgkwRkgNDQoJREIJMzFIDQ0KCVNVQglF
QVgsIERXT1JEIFBUUiBDVElNX0xPV19MVw0NCglTQkIJRURYLCBEV09SRCBQ
VFIgQ1RJTV9ISUdfTFcNDQoJTU9WCURXT1JEIFBUUiBDVElNX0xPV19MVywg
RUFYDQ0KCU1PVglEV09SRCBQVFIgQ1RJTV9ISUdfTFcsIEVEWA0NCglSRVQN
DQo7DQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tDQ0KOw0N
CjsJV3JpdGUgYSBoZXgtQVNDSUkgV09SRCBpbiBBWCB0byBtZW1vcnkgYWRk
cmVzc2VkIGJ5IEVTOkRJLg0NCjsNDQpIRVhXOglQVVNICUVBWAkJCTsgU2F2
ZSBoZXggV09SRA0NCglNT1YJQUwsQUgJCQk7IEhpZ2ggQllURSBmaXJzdA0N
CglDQUxMCUhFWEIJCQk7IENvbnZlcnQgYnl0ZQ0NCglQT1AJRUFYCQkJOyBH
ZXQgb3JpZ2luYWwsIGZhbGwgdGhyb3VnaA0NCjstPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LQ0NCjsNDQo7CVdyaXRlIGEgaGV4LUFTQ0lJIEJZ
VEUgaW4gQUwgdG8gbWVtb3J5IGFkZHJlc3NlZCBieSBFUzpESS4NDQo7DQ0K
SEVYQjoJTU9WCUFILEFMCQkJOyBTYXZlIGJ5dGUNDQoJU0hSCUFMLDQJCQk7
IElzb2xhdGUgdG9wIG5pYmJsZQ0NCglDQUxMCUhFWE4JCQk7IENvbnZlcnQg
aGliYmxlDQ0KCU1PVglBTCxBSAkJCTsgR2V0IGhleCBieXRlDQ0KCUFORAlB
TCwwMDAwMTExMUIJCTsgTWFzayBoaWdoLCBmYWxsIHRocm91Z2gNDQpIRVhO
OglBREQJQUwsOTBICQkJOyBBZGQgYmlhcw0NCglEQUEJCQkJOyBPbGQgSW50
ZWwgdHJpY2sNDQoJQURDCUFMLDQwSAkJCTsgUGljayB1cCBDWSBpbnRvIGhp
Z2ggbmliYmxlDQ0KCURBQQkJCQk7IFJlYWRqdXN0DQ0KCVNUT1NCCQkJCTsg
UHV0IGludG8gbWVtb3J5DQ0KCVJFVA0NCjstPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LQ0NCjsNDQo7CVRoaXMgZGlzcGxheXMgdGhlIHJlc3Vs
dHMuIFRoZSBmdW5jdGlvbiBudW1iZXIgaXMgaW4gQUwgd2hlbg0NCjsJdGhp
cyBpcyBjYWxsZWQuDQ0KOw0NCkRJU1BMOglNT1YJRURJLE9GRlNFVCBGTg0N
CglDQUxMCUhFWEINDQoJTU9WCUVESSxPRkZTRVQgQ0hLDQ0KCU1PVglBWCxX
T1JEIFBUUiBDSEtTVU0NDQoJQ0FMTAlIRVhXDQ0KCU1PVglBWCxXT1JEIFBU
UiBDVElNX0hJR19MVysyDQ0KCU1PVglFREksT0ZGU0VUIEgxDQ0KCUNBTEwJ
SEVYVw0NCglNT1YJQVgsV09SRCBQVFIgQ1RJTV9ISUdfTFcNDQoJTU9WCUVE
SSxPRkZTRVQgSDANDQoJQ0FMTAlIRVhXDQ0KCU1PVglBWCxXT1JEIFBUUiBD
VElNX0xPV19MVysyDQ0KCU1PVglFREksT0ZGU0VUIEwxDQ0KCUNBTEwJSEVY
Vw0NCglNT1YJQVgsV09SRCBQVFIgQ1RJTV9MT1dfTFcNDQoJTU9WCUVESSxP
RkZTRVQgTDANDQoJQ0FMTAlIRVhXDQ0KCU1PVglFU0ksT0ZGU0VUIFBSUA0N
CglDQUxMCVBVVFMNDQoJUkVUDQ0KOw0NCklGREVGCURFQlVHDQ0KOy09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0NDQo7DQ0KOwlUaGlzIHByb2Nl
ZHVyZSBwcmludHMgYSBzdHJpbmcgb3V0IGV2ZXJ5IENPTSBwb3J0IGluIHRo
ZSBtYWNoaW5lLg0NCjsJVGhlIHN0cmluZyBpcyBwb2ludGVkIHRvIGJ5IEVT
SS4NDQo7DQ0KUFVUUzoJTE9EU0IJCQkJCTsgR2V0IGJ1ZmZlciBieXRlDQ0K
CU9SCUFMLEFMCQkJCTsgRW5kIG9mIHN0cmluZz8NDQoJSloJUFVUUzAJCQkJ
OyBBbGwgZG9uZQ0NCglDQUxMCUNPTU9VVAkJCQk7IFByaW50IGl0IGZpcnN0
DQ0KCUpNUAlTSE9SVCBQVVRTCQkJOyBDb250aW51ZQ0NClBVVFMwOglSRVQN
DQo7LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPQ0NCjsNDQo7CVRy
eSB0byBmaW5kIGFsbCB0aGUgY29tIHBvcnRzLCBwb3NzaWJseSA0IG9mIHRo
ZW0uIFNldCB0aGVtIHRvDQ0KOwk5NjAwIGJhdWQuIElmIGEgcG9ydCBkb2Vz
bid0IGV4aXN0LCBzZXQgaXQncyBCQVNFIHBvcnQgbnVtYmVyIHRvDQ0KOwkw
Lg0NCjsNDQpJTklUX1VBUlRTOg0NCglNT1YJRVNJLE9GRlNFVCBQT1JUUwkJ
OyBQb2ludCB0byB0YWJsZSBvZiBwb3J0cw0NCglNT1YJRUNYLDQJCQkJOyBQ
b3J0cyB0byBDaGVjaw0NCkZJTkQwOglMT0RTVwkJCQkJOyBHZXQgcG9ydCBh
ZGRyZXNzDQ0KCU1PVglCWCxBWAkJCQk7IFNhdmUgYmFzZSBwb3J0DQ0KCU1P
VglEWCxBWAkJCQk7IFNldCBiYXNlDQ0KCUFERAlEWCxJSVIJCQkJOyBJbnRl
cnJ1cHQgaWRlbnQgcmVnaXN0ZXINDQoJSU4JQUwsRFgJCQkJOyBHZXQgd2hh
dGV2ZXINDQoJQU5ECUFMLDExMTExMDAwQgkJCTsgTWFzayB0cmFzaA0NCglK
WglGSU5EMQkJCQk7IFBvcnQgd2FzIGZvdW5kDQ0KCU1PVglXT1JEIFBUUiBb
RVNJLTJdLDAJCTsgQ2xlYXIgdGhlIHBvcnQgbnVtYmVyDQ0KCUpNUAlTSE9S
VCBNT1JFCQkJOyBJdCdzIG5vdCBhbiA4MjUwIG9yIGNsb25lDQ0KOw0NCkZJ
TkQxOglNT1YJRFgsQlgJCQkJOyBHZXQgYmFzZSBwb3J0DQ0KCUFERAlEWCxM
Q1IJCQkJOyBPZmZzZXQgdG8gbGluZSBjb250cm9sDQ0KCU1PVglBTCwxMDAw
MDAwMEIJCQk7IERpdmlzb3IgbGF0Y2ggYWNjZXNzIGJpdA0NCglPVVQJRFgs
QUwJCQkJOyBTZXQgRExBQg0NCglNT1YJRFgsQlgJCQkJOyBCYXNlIHBvcnQN
DQoJTU9WCUFYLDEyCQkJCTsgOTYwMCBiYXVkLXJhdGUNDQoJT1VUCURYLEFY
CQkJCTsgU2V0IHRoZSBiYXVkIC0gcmF0ZQ0NCglQVVNICUVDWAkJCQk7IFNh
dmUgY291bnQNDQoJTU9WCUNYLDEyMDAJCQkJOyBOZWVkIHRvIHdhaXQNDQoJ
TE9PUAkkCQkJCTsgU3BpbiBhIGJpdA0NCglQT1AJRUNYCQkJCTsgUmVzdG9y
ZSBjb3VudA0NCglNT1YJRFgsQlgJCQkJOyBHZXQgYmFzZSBwb3J0DQ0KCUFE
RAlEWCxMQ1IJCQkJOyBPZmZzZXQgdG8gbGluZSBjb250cm9sDQ0KCU1PVglB
TCwwMDAwMDAxMUIJCQk7IDggYml0cywgMSBzdG9wLCBubyBwYXJpdHkNDQoJ
T1VUCURYLEFMCQkJCTsgU2V0IGJhdWQtcmF0ZQ0NCk1PUkU6CUxPT1AJRklO
RDANDQoJUkVUCQkJCQk7IEFsbCBkb25lDQ0KOy09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0NDQo7DQ0KOwlUaGlzIG91dHB1dHMgb25lIGNoYXJh
Y3RlciBhdCBhIHRpbWUgdG8gZWFjaCBvZiB0aGUgQ09NIHBvcnRzDQ0KOw0N
CkNPTU9VVDoJUFVTSAlFQVgJCQkJOyBTYXZlIHRoZSBieXRlDQ0KCVBVU0gJ
RVNJCQkJCTsgU2F2ZSBpbmRleA0NCglNT1YJRVNJLE9GRlNFVCBQT1JUUwkJ
OyBQb2ludCB0byB0aGUgbGlzdA0NCglNT1YJRUNYLDQJCQkJOyBNYXggcG9y
dHMgdG8gdXNlDQ0KCU1PVglFQlgsRUFYCQkJCTsgQnl0ZSB0byBzZW5kDQ0K
Q09NMDoJTE9EU1cJCQkJCTsgR2V0IHBvcnQgYWRkcmVzcw0NCglPUglFQVgs
RUFYCQkJCTsgQ2hlY2sgZm9yIGRlYWQgcG9ydA0NCglKWglDT00yCQkJCTsg
UG9ydCBpcyBkZWFkDQ0KCU1PVglFRFgsRUFYCQkJCTsgUG9ydCBhZGRyZXNz
DQ0KCUFERAlFRFgsTFNSCQkJCTsgT2Zmc2V0IHRvIGxpbmUgc3RhdHVzDQ0K
Q09NMToJSU4JQUwsRFgJCQkJOyBHZXQgbGluZSBzdGF0dXMNDQoJQU5ECUFM
LDAwMTAwMDAwQgkJCTsgVFggaG9sZGluZyByZWdpc3RlciBlbXB0eQ0NCglK
WglDT00xCQkJCTsgV2FpdCB1bnRpbCByZWFkeQ0NCglTVUIJRURYLExTUgkJ
CQk7IEJhY2sgdG8gZGF0YSByZWdpc3Rlcg0NCglNT1YJQUwsQkwJCQkJOyBH
ZXQgYnl0ZQ0NCglPVVQJRFgsQUwJCQkJOyBCeXRlIGlzIHNlbnQNDQpDT00y
OglMT09QCUNPTTANDQoJUE9QCUVTSQ0NCglQT1AJRUFYDQ0KCVJFVA0NCjsN
DQpFTFNFDQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0NDQo7
DQ0KOwlUaGlzIHByb2NlZHVyZSBjb3BpZXMgYSBzdHJpbmcgdG8gdGhlIG91
dHB1dCBidWZmZXIuIFRoZSBzdHJpbmcNDQo7CXdpbGwgYmUgd3JpdHRlbiB0
byBzdGFuZGFyZCBvdXRwdXQgb25jZSB3ZSBhcmUgYmFjayBpbiByZWFsIG1v
ZGUuDQ0KOw0NClBVVFM6CVBVU0gJRURJCQkJCTsgU2F2ZSByZWdpc3RlciB1
c2VkDQ0KCU1PVglFQ1gsMEZGRkZGRkZGSAkJCTsgLTENDQoJTU9WCUVESSxF
U0kJCQkJOyBOZWVkIGluIEVESSB0byBzY2FuDQ0KCVhPUglBTCxBTAkJCQk7
IExvb2sgZm9yIHRoZSBudWxsDQ0KCVJFUE5aCVNDQVNCCQkJCTsgVW50aWwg
aXQncyBmb3VuZA0NCglOT1QJRUNYCQkJCTsgV2Ugc3RhcnRlZCB3aXRoIC0x
DQ0KCURFQwlFQ1gJCQkJOyBDb3JyZWN0IGZvciB6ZXJvDQ0KCU1PVglFREks
RFdPUkQgUFRSIFtCUFRSXQkJOyBXaGVyZSB0byB3cml0ZSB0aGUgc3RyaW5n
DQ0KCVJFUAlNT1ZTQgkJCQk7IENvcHkgdGhlIHN0cmluZw0NCglNT1YJRFdP
UkQgUFRSIFtCUFRSXSxFREkJCTsgUmVhZHkgZm9yIG5leHQgdGltZQ0NCglQ
T1AJRURJCQkJCTsgUmVzdG9yZSByZWdpc3RlciB1c2VkDQ0KCVJFVA0NCkVO
RElGDQ0KOy09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0NDQoNDQpU
T1AJRVFVCSQNDQoJREQJMjAwSCBEVVAoPykNDQpNU1RBQ0sJTEFCRUwJRFdP
UkQJCQkJOyBTUCBidW1wZWQgYmVmb3JlIHVzZQ0NCkJQVFIJREQJPwkJCQk7
IFBvaW50ZXIgc3RhcnRzIGF0IEJVRkZFUg0NCkJVRkZFUglMQUJFTAlCWVRF
CQkJCTsgT3V0cHV0IGJ1ZmZlcg0NClBTRUcJRU5EUw0NCglFTkQJU1RBUlRV
UA0NCg0NCho=
---1295196120-1051634761-849738159=:110--