From owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org  Mon Apr 16 17:37:26 2012
Return-Path: <owner-sc22wg5+sc22wg5-dom8=www.open-std.org@open-std.org>
X-Original-To: sc22wg5-dom8
Delivered-To: sc22wg5-dom8@www.open-std.org
Received: by www.open-std.org (Postfix, from userid 521)
	id 2F75D356918; Mon, 16 Apr 2012 17:37:26 +0200 (CEST)
Delivered-To: sc22wg5@open-std.org
Received: from mk-filter-2-a-1.mail.uk.tiscali.com (mk-filter-2-a-1.mail.tiscali.co.uk [212.74.100.53])
	by www.open-std.org (Postfix) with ESMTP id 09F7535672A
	for <sc22wg5@open-std.org>; Mon, 16 Apr 2012 17:37:23 +0200 (CEST)
X-Trace: 754977140/mk-filter-2.mail.uk.tiscali.com/B2C/$b2c-THROTTLED/TalkTalk_Customer/92.21.187.177/None/John.Reid@stfc.ac.uk
X-SBRS: None
X-RemoteIP: 92.21.187.177
X-IP-MAIL-FROM: John.Reid@stfc.ac.uk
X-SMTP-AUTH: 
X-Originating-Country: GB/UNITED KINGDOM
X-MUA: Mozilla/5.0 (Windows NT 5.1;
 rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
X-IP-BHB: Once
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApMBABo8jE9cFbux/2dsb2JhbAANN4VmsGIBAQQaAQgwJREsFgsCAgIHAwIBAgFFBgoDCAKIFaZiiR+JCYsphQiBGASObIcBhV+FU4drgVMBFg
X-IronPort-AV: E=Sophos;i="4.75,429,1330905600"; 
   d="txt'?scan'208";a="754977140"
Received: from host-92-21-187-177.as13285.net (HELO [127.0.0.1]) ([92.21.187.177])
  by smtp.tiscali.co.uk with ESMTP; 16 Apr 2012 16:37:21 +0100
Message-ID: <4F8C3C35.5080108@stfc.ac.uk>
Date: Mon, 16 Apr 2012 16:35:17 +0100
From: John Reid <John.Reid@stfc.ac.uk>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20120312 Firefox/11.0 SeaMonkey/2.8
MIME-Version: 1.0
To: WG5 <sc22wg5@open-std.org>
Subject: Part 2 of the standard
References: <20120313200407.EBAB39DB112@www.open-std.org><20120314115650.BE9429DB112@www.open-std.org><20120314122844.9A5959DB118@www.open-std.org><4F63CA94.8030600@oracle.com> <20120412075132.4A52E3568AC@www.open-std.org> <17F02087454C4ECFBAE7998C373B96C2@Maru6>
In-Reply-To: <17F02087454C4ECFBAE7998C373B96C2@Maru6>
Content-Type: multipart/mixed;
 boundary="------------040803000802060904060501"
Sender: owner-sc22wg5@open-std.org
Precedence: bulk

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

WG5,

Following helpful comments from Clive Page, Bill Long, and Malcolm 
Cohen, I have revised both my paper and the code.

New version attached.

Once again, comments will be very welcome.

John.


--------------040803000802060904060501
Content-Type: text/plain; charset=windows-1252;
 name="N1913-2.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="N1913-2.txt"

ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08vSUVDIEpUQzEv
U0MyMi9XRzUgTjE5MTMtMgoKICAgICAgICBUaGUgbW9kdWxlIGZvciBQYXJ0IDIsIHZhcnlp
bmcgbGVuZ3RoIGNoYXJhY3RlciBzdHJpbmdzCiAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEpvaG4gUmVpZAoKICAgICAgICAgICAgICAgICAgICAgICAgICAxNiBBcHJp
bCAyMDEyCgoKSSBwcm9taXNlZCBhdCBHYXJjaGluZyB0byBsb29rIGludG8gdGhlIGNvbnZl
cnNpb24gdG8gRm9ydHJhbiAyMDAzIG9mIHRoZSAKcHJvY2VkdXJlcyBvZiBzdWJjbGF1c2Vz
IDMuNiBhbmQgMy43IG9mIFBhcnQgMiBvZiB0aGUgU3RhbmRhcmQuIFRoZXNlIGFyZSAKdGhl
IEkvTyBwcm9jZWR1cmVzIEdFVCwgUFVULCBhbmQgUFVUX0xJTkUgYW5kIHRoZSBlbGVtZW50
YWwgcHJvY2VkdXJlcyAKRVhUUkFDVCwgSU5TRVJULCBSRU1PVkUsIFJFUExBQ0UsIGFuZCBJ
TlNFUlQuIFRoZSBvdGhlciBwcm9jZWR1cmVzIG9mClBhcnQgMiwgZXhjZXB0IGZvciBDSEFS
IHdpdGggYSBjaGFyYWN0ZXIgYXJndW1lbnQgYW5kIFZBUl9TVFIsIGFyZSBhbHJlYWR5IApp
biBQYXJ0IDEuIAoKTGF3cmllIFNjaG9uZmVsZGVyIHdyb3RlIGEgc2FtcGxlIG1vZHVsZSB0
byBpbXBsZW1lbnQgUGFydCAyLiBUaGlzIGlzIAphdmFpbGFibGUgZnJvbQogICAgIGZ0cDov
L2Z0cC5uYWcuY28udWsvc2MyMndnNS9JU09fVkFSWUlOR19TVFJJTkcvCkhlIGFsc28gd3Jv
dGUgdHdvIHNhbXBsZSBwcm9ncmFtcyBpbHVzdHJhdGluZyB0aGUgdXNlIG9mIHRoZSBmYWNp
bGl0ZXMuClRoZXNlIGFyZSBpbmNsdWRlZCBhcyBhbiBhbm5leCB0byBQYXJ0IDIgYW5kIGFy
ZSBhdmFpbGFibGUgZnJvbSB0aGUgc2FtZQpmdHAgc2l0ZS4gQmlsbCBMb25nIGhhcyBwb2lu
dGVkIG91dCB0aGF0IHRoZSBzYW1wbGUgcHJvZ3JhbXMgYXJlIG5vdApwb3J0YWJsZSBiZWNh
dXNlIHRoZXkgcmVseSBvbiB0aGUgSU9TVEFUIHZhbHVlIC0xIGluZGljYXRpbmcgdGhhdCB0
aGUKZW5kIG9mIHRoZSBmaWxlIGhhcyBiZWVuIHJlYWNoZWQuIAoKSSBoYXZlIG1hZGUgYSBu
ZXcgbW9kdWxlIGFuZCBuZXcgdmVyc2lvbnMgb2YgdGhlIHR3byBzYW1wbGUgcHJvZ3JhbXMu
IFRoZXNlIAphcmUgYXBwZW5kZWQgdG8gdGhpcyBwYXBlci4gVGhleSBydW4gc3VjY2Vzc2Z1
bGx5IHVuZGVyIAp0aGUgTmFnIGNvbXBpbGVyLiBFYWNoIG9jY3VycmVuY2Ugb2YKICAgdHlw
ZShWQVJZSU5HX1NUUklORyksSU5URU5UKElOKQp3YXMgcmVwbGFjZWQgYnkKICAgQ0hBUkFD
VEVSKExFTj0qKSxJTlRFTlQoSU4pCkVhY2ggb3RoZXIgb2NjdXJyZW5jZSBvZgogICB0eXBl
KFZBUllJTkdfU1RSSU5HKQppcyByZXBsYWNlZCBieQogICBDSEFSQUNURVIoTEVOPTopLEFM
TE9DQVRBQkxFClRoaXMgcmVzdWx0ZWQgaW4gYXJndW1lbnRzIHRoYXQgd2VyZSBwcmV2aW91
c2x5IGRvY3VtZW50ZWQgYXMgZWl0aGVyIG9mCnR5cGUgQ0hBUkFDVEVSIG9yIFZBUllJTkdf
U1RSSU5HIGJlY29taW5nIG9ubHkgb2YgdHlwZSBDSEFSQUNURVIuIEFzIHdlbGwgCmFzIHRo
ZSBwcm9jZWR1cmVzIHN1YmNsYXVzZXMgMy42IGFuZCAzLjcsIEkgaW5jbHVkZWQgQ0hBUiB3
aXRoIGEgCmNoYXJhY3RlciBhcmd1bWVudCBhbmQgVkFSX1NUUi4gVGhlIG51bWJlciBvZiBz
cGVjaWZpYyBwcm9jZWR1cmVzIHJlZHVjZWQgCmZyb20gNDMgdG8gMTguCgpUaGVyZSB3ZXJl
IG9idmlvdXMgbWVjaGFuaWNhbCBjaGFuZ2VzIG5lZWRlZCB3aXRoaW4gdGhlIHByb2NlZHVy
ZXMuIAoKVGhlIGZ1bmN0aW9ucyBFWFRSQUNULCBJTlNFUlQsIFJFTU9WRSwgYW5kIFJFUExB
Q0UgY2Fubm90IGJlIGVsZW1lbnRhbCAKYmVjYXVzZSBlYWNoIGZ1bmN0aW9uIHJlc3VsdCBp
cyBhbGxvY2F0YWJsZSB3aXRoIGRlZmVycmVkIGNoYXJhY3RlciBsZW5ndGguIApUaGUgc3Vi
cm91dGluZSBTUExJVCBjYW5ub3QgYmUgZWxlbWVudGFsIGJlY2F1c2UgdGhlIGFyZ3VtZW50
cyBzdHJpbmcsIHdvcmQsIAphbmQgc2VwYXJhdG9yIGFyZSBhbGxvY2F0YWJsZSB3aXRoIGRl
ZmVycmVkIGNoYXJhY3RlciBsZW5ndGguIFRoaXMgaXMgYmVjYXVzZSAKdGhlIGVsZW1lbnRz
IG9mIGEgY2hhcmFjdGVyIGFycmF5IGhhdmUgdG8gaGF2ZSB0aGUgc2FtZSBjaGFyYWN0ZXIg
bGVuZ3RoLiAKQSBzaW1pbGFyIHByb2JsZW0gb2NjdXJzIGluIHRoZSB2b2NhYnVsYXJ5IHNh
bXBsZSBwcm9ncmFtLCB3aGVyZSBhbiBhcnJheSAKaG9sZHMgd29yZHMgb2YgdmFyeWluZyBs
ZW5ndGguIEZvbGxvd2luZyBhIHN1Z2dlc3Rpb24gZnJvbSBNYWxjb2xtIENvaGVuLCBJIApk
ZWNsYXJlZCBteSBvd24gZGVyaXZlZCB0eXBlIHdpdGggYSBzaW5nbGUgY29tcG9uZW50IG9m
IGRlZmVycmVkIGNoYXJhY3RlciAKbGVuZ3RoIGFuZCB3b3JrZWQgd2l0aCBhcnJheXMgb2Yg
dGhpcyB0eXBlLiBJbiB0aGlzIGV4YW1wbGUsIG5vbmUgb2YgdGhlIApmdW5jdGlvbnMgd2Fz
IGNhbGxlZCBlbGVtZW50YWxseSwgYnV0IGEgdXNlciB0aGF0IHdpc2hlcyB0byBkbyB0aGlz
IGNvdWxkIAp3cml0ZSBpbXB1cmUgZWxlbWVudGFsIHdyYXBwZXJzIHRvIGdldCB0aGUgZWZm
ZWN0LiAKCkl0IG1pZ2h0IGJlIHRob3VnaHQgdGhhdCBub24tZWxlbWVudGFsIGludm9jYXRp
b25zIG9mIEVYVFJBQ1QsIElOU0VSVCwgUkVNT1ZFLCAKUkVQTEFDRSwgYW5kIFNQTElUIG1p
Z2h0IGJlIHJlcGxhY2VkIGJ5IHNpbXBsZSB1c2Ugb2Ygc3Vic3RyaW5ncyBhbmQgCmNvbmNh
dGVuYXRpb24uIEZvciBleGFtcGxlLCBSRU1PVkUoc3RyaW5nLHN0YXJ0LGZpbmlzaCkgY2Fu
IHVzdWFsbHkgYmUKcmVwbGFjZWQgYnkgc3RyaW5nKDE6c3RhcnQtMSkvL3N0cmluZyhmaW5p
c2grMTopLCBidXQgdGhlcmUgYXJlIGVuZCBjYXNlcwp3aGVyZSBpdCBjYW5ub3QuIFRoZSBy
ZWFkZXIgY2FuIHNlZSB0aGUgZGV0YWlscyBpbiB0aGUgY29kZSB0aGF0IGlzIGFwcGVuZGVk
LiAKCkluIGJvdGggc2FtcGxlIHByb2dyYW1zLCBJIGFjY2VzcyBJU09fRk9SVFJBTl9FTlYg
dG8gZ2V0IHRoZSBJT1NUQVQgdmFsdWUgdGhhdAppbmRpY2F0ZXMgdGhhdCB0aGUgZW5kIG9m
IHRoZSBmaWxlIGhhcyBiZWVuIHJlYWNoZWQuIAoKTGF3cmllIFNjaG9uZmVsZGVyIHdyb3Rl
IGEgdGVzdCBzdWl0ZSB0aGF0IGlzIGF2YWlsYWJsZSBmcm9tOgogICBodHRwOi8vd3d3LmZv
cnRyYW4uY29tL3ZzdF85NWEuemlwCkkgaGF2ZSBhZGFwdGVkIGNvZGVzIGZyb20gaGVyZSB0
byB0ZXN0IHRoZSBuZXcgbW9kdWxlLCBidXQgSSBhbSBub3QgY29uZmlkZW50CnRoYXQgdGhl
c2UgYWRhcHRlZCBjb2RlcyBhcmUgYWRlcXVhdGUgdG8gZnVsbHkgdGVzdCB0aGUgcmV2aXNl
ZCBjb2RlLiBJbgpwYXJ0aWN1bGFyLCB0aGV5IHJlbHkgb24gaW50ZXJhY3RpdmUgaW5wdXQg
ZnJvbSB0aGUga2V5Ym9hcmQgYW5kIEkgd2FzIHVuc3VyZQpvZiB3aGF0IGlzIG5lZWRlZC4g
SWYgdGhpcyB3b3JrIGlzIHRvIGJlIHRha2VuIGZ1cnRoZXIsIG5ldyB0ZXN0cyBhcmUgbmVl
ZGVkLiAKClR3byBxdWVzdGlvbnMgd2VyZSBhc2tlZCBhdCB0aGUgbWVldGluZyBpbiBHYXJj
aGluZzoKCjEuIENhbiBwcm9ncmFtcyB0aGF0IHVzZSB0aGUgdmFyeWluZyBsZW5ndGggc3Ry
aW5ncyBtb2R1bGUgYmUgc28gZWFzaWx5IApjb252ZXJ0ZWQgdGhhdCBQYXJ0IDIgb2YgdGhl
IFN0YW5kYXJkIHNob3VsZCBiZSB3aXRoZHJhd24/CiAgIAoyLiBTaG91bGQgZXh0cmEgaW50
cmluc2ljIHByb2NlZHVyZXMgYmUgYWRkZWQgdG8gcGFydCAxPwoKVGhlIHVzZXIgd2l0aCBh
cnJheXMgb2YgdHlwZSBWQVJZSU5HX1NUUklORyBtYXkgZGVjbGFyZSBhIG5ldyBkZXJpdmVk
IHR5cGUKd2l0aCBhIHNpbmdsZSBjb21wb25lbnQgb2YgZGVmZXJyZWQgY2hhcmFjdGVyIGxl
bmd0aCBhbmQgd3JpdGUgaW1wdXJlIAplbGVtZW50YWwgd3JhcHBlcnMgdG8gc3VwcG9ydCBl
bGVtZW50YWwgY2FsbHMuIEFwYXJ0IGZyb20gdGhpcywgdGhlIG1vZHVsZSAKZ2l2ZW4gaGVy
ZSAoYWZ0ZXIgZnVsbCB0ZXN0aW5nKSBzaG91bGQgYWxsb3cgc2ltcGxlIGNvbnZlcnNpb24u
IENoYW5nZXMgCmFyZSBuZWVkZWQgZm9yIHRoZSBleHRyYWN0aW9uIG9mIGEgc2luZ2xlIGNo
YXJhY3RlcjsgZm9yIGV4YW1wbGUsIApzZXQlY2hhcnMoaikgbmVlZHMgdG8gYmUgcmVwbGFj
ZWQgYnkgc2V0KGo6aikuIFRoZXkgYXJlIGFsc28gbmVlZGVkCmlmIGFycmF5IGZlYXR1cmVz
IGFyZSBlbXBsb3llZCBmb3IgdGhlIGNoYXJhY3RlciBhcnJheSBjb21wb25lbnQuIEZvcgpl
eGFtcGxlCiAgICAgIElGKCBBTEwoc3RyaW5nJWNoYXJzKGlwb3M6aXBvcytsdC0xKSA9PSB0
YXJnZXQlY2hhcnMpIClUSEVOCmJlY29tZXMKICAgICAgSUYoIHN0cmluZyhpcG9zOmlwb3Mr
bHQtMSkgPT0gdGFyZ2V0IClUSEVOCgpJIHByZWZlciBub3QgdG8gY29tbWVudCBvbiB3aGV0
aGVyIHRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgYmUgYWRkZWQgdG8gUGFydCAxLiAKVGhlIGNh
c2UgbmVlZHMgdG8gYmUgbWFkZSBieSB0aG9zZSB3aG8gbmVlZCB0aGVtLiBXZSBtaWdodCBj
b25zaWRlciBwcm92aWRpbmcKYW4gb3BlbiBzb3VyY2UgYW5kIGZ1bGx5IHRlc3RlZCB2ZXJz
aW9uIG9mIHRoZSBhcHBlbmRlZCBtb2R1bGUuIAoKLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
LgoKTU9EVUxFIElTT19WQVJZSU5HX1NUUklORwpVU0UsSU5UUklOU0lDIDo6IElTT19GT1JU
UkFOX0VOViAKSU1QTElDSVQgTk9ORQohIEFkYXB0ZWQgYnkgSm9obiBSZWlkIGZyb20gdGhl
IG1vZHVsZSB3cml0dGVuIGJ5IEouTC5TY2hvbmZlbGRlci4gIAoKISBWZXJzaW9uIHByb2R1
Y2VkICgxMiBBcHJpbCAyMDEyKQoKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiEgVGhpcyBt
b2R1bGUgcHJvdmlkZXMgcmV2aXNlZCB2ZXJzaW9ucyBvZiB0aGUgZ2VuZXJpYyBwcm9jZWR1
cmVzIEdFVCwgUFVULCAgCiEgUFVUX0xJTkUsIEVYVFJBQ1QsIElOU0VSVCwgUkVNT1ZFLCBS
RVBMQUNFLCBhbmQgSU5TRVJUIG9mICAgICAgICAgICAgICAgICAgCiEgSVNPL0lFQyAxNTM5
LTI6MjAwMChFKS4KIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAoKISBOQiBUaGlzIG1vZHVs
ZSBoYXMgbm90IGJlZW4gZnVsbHkgdGVzdGVkLiAgIAogIApQUklWQVRFIAogIAohLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0hIAohIEJ5IGRlZmF1bHQgYWxsIGVudGl0aWVzIGRlY2xhcmVk
IG9yIGRlZmluZWQgaW4gdGhpcyBtb2R1bGUgYXJlIHByaXZhdGUgdG8gICAhCiEgdGhlIG1v
ZHVsZS4gT25seSB0aG9zZSBlbnRpdGllcyBkZWNsYXJlZCBleHBsaWNpdGx5IGFzIGJlaW5n
IHB1YmxpYyBhcmUgICAgICEgCiEgYWNjZXNzaWJsZSB0byBwcm9ncmFtcyB1c2luZyB0aGUg
bW9kdWxlLiBJbiBwYXJ0aWN1bGFyLCB0aGUgcHJvY2VkdXJlcyAgICAgICEgCiEgZGVmaW5l
ZCBoZXJlaW4gYXJlIG1hZGUgYWNjZXNzaWJsZSB2aWEgdGhlaXIgZ2VuZXJpYyBpZGVudGlm
aWVycyBvbmx5OyAgICAgICEgCiEgdGhlaXIgc3BlY2lmaWMgbmFtZXMgYXJlIHByaXZhdGUu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgCiEtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSEgCiAgCiAKIS0tLS0tIEdFTkVSSUMgUFJPQ0VEVVJFIElOVEVSRkFDRSBE
RUZJTklUSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tISAKIAohLS0tLS0g
Q29udmVyc2lvbiBwcm9jZWR1cmUgaW50ZXJmYWNlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0hCklOVEVSRkFDRSBWQVJfU1RSCiAgTU9EVUxFIFBST0NFRFVS
RSBjX3RvX3MgICAhIGNoYXJhY3RlciB0byBzdHJpbmcKRU5ESU5URVJGQUNFIAogIApJTlRF
UkZBQ0UgQ0hBUgogIE1PRFVMRSBQUk9DRURVUkUgc190b19jLCAmICAgISBzdHJpbmcgdG8g
Y2hhcmFjdGVyCiAgICAgICAgICAgICAgICAgICBzX3RvX2ZpeF9jICAhIHN0cmluZyB0byBz
cGVjaWZpZWQgbGVuZ3RoIGNoYXJhY3RlcgpFTkRJTlRFUkZBQ0UgICAKCiEtLS0tLSBJbnB1
dCBwcm9jZWR1cmUgaW50ZXJmYWNlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSEKSU5URVJGQUNFIEdFVAogIE1PRFVMRSBQUk9DRURVUkUgZ2V0X2Rf
ZW9yLCAmICAgICEgZGVmYXVsdCB1bml0LCBFb1IgdGVybWluYXRpb24KICAgICAgICAgICAg
ICAgICAgIGdldF91X2VvciwgJiAgICAhIHNwZWNpZmllZCB1bml0LCBFb1IgdGVybWluYXRp
b24KICAgICAgICAgICAgICAgICAgIGdldF9kX3RzZXRfYywgJiAhIGRlZmF1bHQgdW5pdCwg
Y2hhciBzZXQgdGVybWluYXRpb24KICAgICAgICAgICAgICAgICAgIGdldF91X3RzZXRfYyAg
ICAhIHNwZWNpZmllZCB1bml0LCBjaGFyIHNldCB0ZXJtaW5hdGlvbgpFTkRJTlRFUkZBQ0Ug
ICAKIS0tLS0tIE91dHB1dCBwcm9jZWR1cmUgaW50ZXJmYWNlcyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIQpJTlRFUkZBQ0UgUFVUCiAgTU9EVUxFIFBS
T0NFRFVSRSBwdXRfZF9jLCAmICEgY2hhciB0byBkZWZhdWx0IHVuaXQKICAgICAgICAgICAg
ICAgICAgIHB1dF91X2MgICAgISBjaGFyIHRvIHNwZWNpZmllZCB1bml0CkVORElOVEVSRkFD
RSAKICAKSU5URVJGQUNFIFBVVF9MSU5FCiAgTU9EVUxFIFBST0NFRFVSRSBwdXRsaW5lX2Rf
YywgJiAhIGNoYXIgdG8gZGVmYXVsdCB1bml0CiAgICAgICAgICAgICAgICAgICBwdXRsaW5l
X3VfYyAgICAhIGNoYXIgdG8gc3BlY2lmaWVkIHVuaXQKRU5ESU5URVJGQUNFIAogIAohLS0t
LS0gSW5zZXJ0IHByb2NlZHVyZSBpbnRlcmZhY2VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0hCklOVEVSRkFDRSBJTlNFUlQgCiAgTU9EVUxFIFBST0NF
RFVSRSBpbnNlcnRfY2MgISBzdHJpbmcgaW4gc3RyaW5nCkVORElOVEVSRkFDRSAKCiEtLS0t
LSBSZXBsYWNlIHByb2NlZHVyZSBpbnRlcmZhY2VzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSEKSU5URVJGQUNFIFJFUExBQ0UgCiAgTU9EVUxFIFBST0NF
RFVSRSByZXBsYWNlX3NzLCAmICAgISBzdHJpbmcgYnkgc3RyaW5nLCBhdCBzcGVjaWZpZWQK
ICAgICAgICAgICAgICAgICAgIHJlcGxhY2Vfc3Nfc2YsJiAhIHN0cmluZyBieSBzdHJpbmcs
IGJldHdlZW4KICAgICAgICAgICAgICAgICAgIHJlcGxhY2Vfc3NzICAgICAhIGluIHN0cmlu
ZyByZXBsYWNlIHN0cmluZyBieSBzdHJpbmcKRU5ESU5URVJGQUNFIAoKIS0tLS0tIFJlbW92
ZSBwcm9jZWR1cmUgaW50ZXJmYWNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tISAKSU5URVJGQUNFIFJFTU9WRSAKICBNT0RVTEUgUFJPQ0VEVVJFIHJl
bW92ZV9jICAgICEgY2hhcmFjdGVycyBmcm9tIGNoYXIgICwgYW5kIGZpbmlzaApFTkRJTlRF
UkZBQ0UgCiAgCiEtLS0tLSBFeHRyYWN0IHByb2NlZHVyZSBpbnRlcmZhY2UgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSEKSU5URVJGQUNFIEVYVFJBQ1Qg
CiAgTU9EVUxFIFBST0NFRFVSRSBleHRyYWN0X2MgICAgISBmcm9tIGNoYXIgICBleHRyYWN0
IHN0cmluZywgYW5kIGZpbmlzaApFTkRJTlRFUkZBQ0UgCiAgCiEtLS0tLSBTcGxpdCBwcm9j
ZWR1cmUgaW50ZXJmYWNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSEKSU5URVJGQUNFIFNQTElUCiAgTU9EVUxFIFBST0NFRFVSRSBzcGxpdF9jICAg
ICEgICBjaGFyYWN0ZXIgaW4gc2V0CkVORElOVEVSRkFDRQoKIS0tLS0tIHNwZWNpZmljYXRp
b24gb2YgcHVibGljbHkgYWNjZXNzaWJsZSBlbnRpdGllcyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tISAKUFVCTElDIDo6IENIQVIsR0VULFBVVCxQVVRfTElORSxFWFRSQUNULElOU0VS
VCxSRU1PVkUsUkVQTEFDRSxTUExJVCxWQVJfU1RSCiAgICAgICAgICAKQ09OVEFJTlMgCgog
IAohLS0tLS0gQ29udmVyc2lvbiBQcm9jZWR1cmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSEgCiAgRlVOQ1RJT04gY190b19zKGNocikgISBn
ZW5lcmljIFZBUl9TVFIKICBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxFIDo6IGNfdG9f
cyAKICBDSEFSQUNURVIoTEVOPSopLElOVEVOVChJTikgOjogY2hyIAogICAgY190b19zID0g
Y2hyIAogIEVOREZVTkNUSU9OIGNfdG9fcyAKICAKIFBVUkUgRlVOQ1RJT04gc190b19jKHN0
cmluZykgISBnZW5lcmljIENIQVIKICBDSEFSQUNURVIoTEVOPSopLElOVEVOVChJTikgICA6
OiBzdHJpbmcgCiAgQ0hBUkFDVEVSKExFTj06KSxBTExPQ0FUQUJMRSA6OiBzX3RvX2MgCiAg
ISByZXR1cm5zIHRoZSBjaGFyYWN0ZXJzIG9mIHN0cmluZyBhcyBhbiBhdXRvbWF0aWNhbGx5
IHNpemVkIGNoYXJhY3RlciAKICAgIHNfdG9fYyA9IHN0cmluZwogRU5ERlVOQ1RJT04gc190
b19jIAogIAogUFVSRSBGVU5DVElPTiBzX3RvX2ZpeF9jKHN0cmluZyxsZW5ndGgpICEgZ2Vu
ZXJpYyBDSEFSCiAgQ0hBUkFDVEVSKExFTj0qKSxJTlRFTlQoSU4pICAgOjogc3RyaW5nIAog
IElOVEVHRVIsSU5URU5UKElOKSAgICAgICAgICAgIDo6IGxlbmd0aAogIENIQVJBQ1RFUihM
RU49bGVuZ3RoKSAgICAgICAgIDo6IHNfdG9fZml4X2MKICAhIHJldHVybnMgdGhlIGNoYXJh
Y3RlciBvZiBmaXhlZCBsZW5ndGgsIGxlbmd0aCwgY29udGFpbmluZyB0aGUgY2hhcmFjdGVy
cwogICEgb2Ygc3RyaW5nIGVpdGhlciBwYWRkZWQgd2l0aCBibGFua3Mgb3IgdHJ1bmNhdGVk
IG9uIHRoZSByaWdodCB0byBmaXQKICAgIHNfdG9fZml4X2MgPSBzdHJpbmcKICBFTkRGVU5D
VElPTiBzX3RvX2ZpeF9jCgoKIS0tLS0tIElucHV0IHN0cmluZyBwcm9jZWR1cmUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0hClNVQlJPVVRJTkUg
Z2V0X2RfZW9yKHN0cmluZyxtYXhsZW4saW9zdGF0KQogQ0hBUkFDVEVSKExFTj06KSxBTExP
Q0FUQUJMRSxJTlRFTlQoT1VUKSA6OiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICEgdGhlIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCB3aXRoCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAhIGNoYXJhY3RlcnMgcmVhZCBmcm9tIHRoZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBmaWxlIGNvbm5lY3RlZCB0byB0aGUg
ZGVmYXVsdCB1bml0CiBJTlRFR0VSLElOVEVOVChJTiksT1BUSU9OQUwgICAgICA6OiBtYXhs
ZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgaWYgcHJlc2VudCBpbmRp
Y2F0ZXMgdGhlIG1heGltdW0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEg
bnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB3aWxsIGJlCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIHJlYWQgZnJvbSB0aGUgZmlsZQogSU5URUdFUixJTlRFTlQoT1VU
KSxPUFRJT05BTCAgICAgOjogaW9zdGF0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAhIGlmIHByZXNlbnQgdXNlZCB0byByZXR1cm4gdGhlIHN0YXR1cwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgISBvZiB0aGUgZGF0YSB0cmFuc2ZlcgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgISBpZiBhYnNlbnQgZXJyb3JzIGNhdXNlIHRl
cm1pbmF0aW9uCiEgcmVhZHMgc3RyaW5nIGZyb20gdGhlIGRlZmF1bHQgdW5pdCBzdGFydGlu
ZyBhdCBuZXh0IGNoYXJhY3RlciBpbiB0aGUgZmlsZQohIGFuZCB0ZXJtaW5hdGluZyBhdCB0
aGUgZW5kIG9mIHJlY29yZCBvciBhZnRlciBtYXhsZW4gY2hhcmFjdGVycy4KICBjYWxsIGdl
dF91X2VvciAoaW5wdXRfdW5pdCwgc3RyaW5nLCBtYXhsZW4sIGlvc3RhdCkKRU5EU1VCUk9V
VElORSBnZXRfZF9lb3IKICAKU1VCUk9VVElORSBnZXRfdV9lb3IodW5pdCxzdHJpbmcsbWF4
bGVuLGlvc3RhdCkKIElOVEVHRVIsSU5URU5UKElOKSAgICAgICAgICAgICAgIDo6IHVuaXQK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgaWRlbnRpZmllcyB0aGUgaW5w
dXQgdW5pdCB3aGljaCBtdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhIGNvbm5lY3RlZCBmb3Igc2VxdWVudGlhbCBmb3JtYXR0ZWQgcmVhZAogQ0hBUkFDVEVS
KExFTj06KSxBTExPQ0FUQUJMRSxJTlRFTlQoT1VUKSA6OiBzdHJpbmcKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICEgdGhlIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCB3aXRo
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGNoYXJhY3RlcnMgcmVhZCBm
cm9tIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBmaWxlIGNvbm5l
Y3RlZCB0byB0aGUgdW5pdAogSU5URUdFUixJTlRFTlQoSU4pLE9QVElPTkFMICAgICAgOjog
bWF4bGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGlmIHByZXNlbnQg
aW5kaWNhdGVzIHRoZSBtYXhpbXVtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgd2lsbCBiZQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgISByZWFkIGZyb20gdGhlIGZpbGUKIElOVEVHRVIsSU5URU5U
KE9VVCksT1BUSU9OQUwgICAgIDo6IGlvc3RhdAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgISBpZiBwcmVzZW50IHVzZWQgdG8gcmV0dXJuIHRoZSBzdGF0dXMKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgb2YgdGhlIGRhdGEgdHJhbnNmZXIKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgaWYgYWJzZW50IGVycm9ycyBjYXVz
ZSB0ZXJtaW5hdGlvbgohIHJlYWRzIHN0cmluZyBmcm9tIHVuaXQgc3RhcnRpbmcgYXQgbmV4
dCBjaGFyYWN0ZXIgaW4gdGhlIGZpbGUgYW5kIAohIHRlcm1pbmF0aW5nIGF0IHRoZSBlbmQg
b2YgcmVjb3JkIG9yIGFmdGVyIG1heGxlbiBjaGFyYWN0ZXJzLgogQ0hBUkFDVEVSKExFTj04
MCkgOjogYnVmZmVyCiBJTlRFR0VSICAgICAgICAgICA6OiBpc3QsbmNoLHRvcmVhZCxuYgog
SUYoUFJFU0VOVChtYXhsZW4pKVRIRU4KICAgdG9yZWFkPW1heGxlbgogRUxTRQogICB0b3Jl
YWQ9SFVHRSgxKQogRU5ESUYKIHN0cmluZz0iIiAgISBTdGFydCB3aXRoIGFuIGVtcHR5IHN0
cmluZwogRE8gICEgcmVwZWF0ZWRseSByZWFkIGJ1ZmZlciBhbmQgYWRkIHRvIHN0cmluZyB1
bnRpbCBFb1IKICAgICAhIG9yIG1heGxlbiByZWFjaGVkCiAgIElGKHRvcmVhZCA8PSAwKUVY
SVQKICAgbmI9TUlOKDgwLHRvcmVhZCkKICAgUkVBRCh1bml0LEZNVD0nKEEpJyxBRFZBTkNF
PSdOTycsRU9SPTk5OTksU0laRT1uY2gsSU9TVEFUPWlzdCkgYnVmZmVyKDE6bmIpCiAgIElG
KCBpc3QgLz0gMCApVEhFTiAKICAgICBJRihQUkVTRU5UKGlvc3RhdCkpIFRIRU4gCiAgICAg
ICBpb3N0YXQ9aXN0IAogICAgICAgUkVUVVJOIAogICAgIEVMU0UgCiAgICAgICBXUklURSgq
LCopICIgRXJyb3IgTm8uIixpc3QsICYKICAgICAgICAgICAgICAgICAgIiBkdXJpbmcgUkVB
RF9TVFJJTkcgb2YgdmFyeWluZyBzdHJpbmcgb24gVU5JVCAiLHVuaXQKICAgICAgIFNUT1Ag
CiAgICAgRU5ESUYgCiAgIEVORElGIAogICBzdHJpbmcgPSBzdHJpbmcgLy9idWZmZXIoMTpu
YikKICAgdG9yZWFkID0gdG9yZWFkIC0gbmIKIEVORERPCiBJRihQUkVTRU5UKGlvc3RhdCkp
IGlvc3RhdCA9IDAKIFJFVFVSTgogOTk5OSBzdHJpbmcgPSBzdHJpbmcgLy9idWZmZXIoMTpu
Y2gpIAogSUYoUFJFU0VOVChpb3N0YXQpKSBpb3N0YXQgPSBpc3QKRU5EU1VCUk9VVElORSBn
ZXRfdV9lb3IKClNVQlJPVVRJTkUgZ2V0X2RfdHNldF9jKHN0cmluZyxzZXQsc2VwYXJhdG9y
LG1heGxlbixpb3N0YXQpCiBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxFLElOVEVOVChP
VVQpIDo6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISB0aGUg
dmFyaWFibGUgdG8gYmUgZmlsbGVkIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICEgY2hhcmFjdGVycyByZWFkIGZyb20gdGhlCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIGZpbGUgY29ubmVjdGVkIHRvIHRoZSBkZWZhdWx0IHVuaXQKIENI
QVJBQ1RFUihMRU49KiksSU5URU5UKElOKSAgICAgIDo6IHNldAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgISB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgd2hpY2ggaWYgZm91
bmQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgdGhlIGlucHV0IHRl
cm1pbmF0ZSB0aGUgcmVhZAogQ0hBUkFDVEVSKExFTj06KSxBTExPQ0FUQUJMRSxJTlRFTlQo
T1VUKSxPUFRJT05BTCA6OiBzZXBhcmF0b3IKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICEgdGhlIGFjdHVhbCBzZXBhcmF0b3IgY2hhcmFjdGVyIGZyb20gc2V0CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGZvdW5kIGFzIHRoZSBpbnB1dCBzdHJp
bmcgdGVybWluYXRvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISByZXR1
cm5lZCBhcyB6ZXJvIGxlbmd0aCBpZiB0ZXJtaW5hdGlvbgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgISBieSBtYXhsZW4gb3IgRU9SCiBJTlRFR0VSLElOVEVOVChJTiks
T1BUSU9OQUwgICAgICA6OiBtYXhsZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICEgaWYgcHJlc2VudCBpbmRpY2F0ZXMgdGhlIG1heGltdW0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICEgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB3aWxsIGJl
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHJlYWQgZnJvbSB0aGUgZmls
ZQogSU5URUdFUixJTlRFTlQoT1VUKSxPUFRJT05BTCAgICAgOjogaW9zdGF0CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAhIGlmIHByZXNlbnQgdXNlZCB0byByZXR1cm4g
dGhlIHN0YXR1cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBvZiB0aGUg
ZGF0YSB0cmFuc2ZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBpZiBh
YnNlbnQgZXJyb3JzIGNhdXNlIHRlcm1pbmF0aW9uCiEgcmVhZHMgc3RyaW5nIGZyb20gdGhl
IGRlZmF1bHQgdW5pdCBzdGFydGluZyBhdCBuZXh0IGNoYXJhY3RlciBpbiB0aGUgZmlsZSBh
bmQKISB0ZXJtaW5hdGluZyBhdCB0aGUgZW5kIG9mIHJlY29yZCwgb2NjdXJhbmNlIG9mIGEg
Y2hhcmFjdGVyIGluIHNldCwKISBvciBhZnRlciByZWFkaW5nIG1heGxlbiBjaGFyYWN0ZXJz
LgogQ0FMTCBnZXRfdV90c2V0X2MoaW5wdXRfdW5pdCxzdHJpbmcsc2V0LHNlcGFyYXRvcixt
YXhsZW4saW9zdGF0KSAKRU5EU1VCUk9VVElORSBnZXRfZF90c2V0X2MKClNVQlJPVVRJTkUg
Z2V0X3VfdHNldF9jKHVuaXQsc3RyaW5nLHNldCxzZXBhcmF0b3IsbWF4bGVuLGlvc3RhdCkK
IElOVEVHRVIsSU5URU5UKElOKSAgICAgICAgICAgICAgIDo6IHVuaXQKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICEgaWRlbnRpZmllcyB0aGUgaW5wdXQgdW5pdCB3aGlj
aCBtdXN0IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGNvbm5lY3Rl
ZCBmb3Igc2VxdWVudGlhbCBmb3JtYXR0ZWQgcmVhZAogQ0hBUkFDVEVSKExFTj06KSxBTExP
Q0FUQUJMRSxJTlRFTlQoT1VUKSA6OiBzdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICEgdGhlIHZhcmlhYmxlIHRvIGJlIGZpbGxlZCB3aXRoCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAhIGNoYXJhY3RlcnMgcmVhZCBmcm9tIHRoZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBmaWxlIGNvbm5lY3RlZCB0byB0aGUg
dW5pdAogQ0hBUkFDVEVSKExFTj0qKSxJTlRFTlQoSU4pICAgICAgOjogc2V0CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAhIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB3aGlj
aCBpZiBmb3VuZCBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISB0aGUg
aW5wdXQgdGVybWluYXRlIHRoZSByZWFkCiBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxF
LElOVEVOVChPVVQpLE9QVElPTkFMIDo6IHNlcGFyYXRvcgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgISB0aGUgYWN0dWFsIHNlcGFyYXRvciBjaGFyYWN0ZXIgZnJvbSBz
ZXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgZm91bmQgYXMgdGhlIGlu
cHV0IHN0cmluZyB0ZXJtaW5hdG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhIHJldHVybmVkIGFzIHplcm8gbGVuZ3RoIGlmIHRlcm1pbmF0aW9uCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAhIGJ5IG1heGxlbiBvciBFT1IKIElOVEVHRVIsSU5U
RU5UKElOKSxPUFRJT05BTCAgICAgIDo6IG1heGxlbgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgISBpZiBwcmVzZW50IGluZGljYXRlcyB0aGUgbWF4aW11bQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgISBudW1iZXIgb2YgY2hhcmFjdGVycyB0aGF0
IHdpbGwgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgcmVhZCBmcm9t
IHRoZSBmaWxlCiBJTlRFR0VSLElOVEVOVChPVVQpLE9QVElPTkFMICAgICA6OiBpb3N0YXQK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgaWYgcHJlc2VudCB1c2VkIHRv
IHJldHVybiB0aGUgc3RhdHVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAh
IG9mIHRoZSBkYXRhIHRyYW5zZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhIGlmIGFic2VudCBlcnJvcnMgY2F1c2UgdGVybWluYXRpb24KISByZWFkcyBzdHJpbmcg
ZnJvbSB1bml0IHN0YXJ0aW5nIGF0IG5leHQgY2hhcmFjdGVyIGluIHRoZSBmaWxlIGFuZAoh
IHRlcm1pbmF0aW5nIGF0IHRoZSBlbmQgb2YgcmVjb3JkLCBvY2N1cmFuY2Ugb2YgYSBjaGFy
YWN0ZXIgaW4gc2V0LAohIG9yIGFmdGVyIHJlYWRpbmcgbWF4bGVuIGNoYXJhY3RlcnMuCiBD
SEFSQUNURVIgOjogYnVmZmVyICAhIGNoYXJhY3RlcnMgbXVzdCBiZSByZWFkIG9uZSBhdCBh
IHRpbWUgdG8gZGV0ZWN0CiAgICAgICAgICAgICAgICAgICAgICAhIGZpcnN0IHRlcm1pbmF0
b3IgY2hhcmFjdGVyIGluIHNldAogSU5URUdFUiAgIDo6IGlzdCxqLHRvcmVhZCxsZW5zZXQK
IGxlbnNldCA9IExFTihzZXQpCiBJRihQUkVTRU5UKG1heGxlbikpVEhFTgogICB0b3JlYWQ9
bWF4bGVuCiBFTFNFCiAgIHRvcmVhZD1IVUdFKDEpCiBFTkRJRgogc3RyaW5nID0gIiIgICEg
Y2xlYXJzIHJldHVybiBzdHJpbmcgTi5CLiB3aWxsIGFsc28gZGVhbGxvY2F0ZSBzdHJpbmcg
dmlhIHRoZQogICAgICAgICAgICAgISBhc3NpZ25tZW50IG9wZXJhdGlvbgogSUYoUFJFU0VO
VChzZXBhcmF0b3IpKSBzZXBhcmF0b3I9IiIgISBjbGVhciBzZXBhcmF0b3IKIHJlYWRjaGFy
OkRPICAhIHJlcGVhdGVkbHkgcmVhZCBidWZmZXIgYW5kIGFkZCB0byBzdHJpbmcKICAgSUYo
dG9yZWFkIDw9IDApRVhJVCByZWFkY2hhciAhIG1heGxlbiByZWFjaGVkCiAgIFJFQUQodW5p
dCxGTVQ9JyhBKScsQURWQU5DRT0nTk8nLEVPUj05OTk5LElPU1RBVD1pc3QpIGJ1ZmZlcgog
ICBJRiggaXN0IC89IDAgKVRIRU4gCiAgICAgSUYoUFJFU0VOVChpb3N0YXQpKSBUSEVOIAog
ICAgICAgaW9zdGF0PWlzdCAKICAgICAgIFJFVFVSTiAKICAgICBFTFNFIAogICAgICAgV1JJ
VEUoKiwqKSAiIEVycm9yIE5vLiIsaXN0LCAmCiAgICAgICAgICAgICAgICAgICIgZHVyaW5n
IEdFVCBvZiB2YXJ5aW5nIHN0cmluZyBvbiB1bml0ICIsdW5pdAogICAgICAgU1RPUCAKICAg
ICBFTkRJRiAKICAgRU5ESUYgCiAgICEgY2hlY2sgZm9yIG9jY3VyYW5jZSBvZiBzZXQgY2hh
cmFjdGVyIGluIGJ1ZmZlcgogICAgIERPIGogPSAxLGxlbnNldAogICAgICAgSUYoYnVmZmVy
ID09IHNldChqOmopKVRIRU4KICAgICAgICAgSUYoUFJFU0VOVChzZXBhcmF0b3IpKSBzZXBh
cmF0b3I9YnVmZmVyCiAgICAgICAgIEVYSVQgcmVhZGNoYXIgISBzZXBhcmF0b3IgdGVybWlu
YXRvciBmb3VuZAogICAgICAgRU5ESUYKICAgICBFTkRETwogICBzdHJpbmcgPSBzdHJpbmcv
L2J1ZmZlcgogICB0b3JlYWQgPSB0b3JlYWQgLSAxCiBFTkRETyByZWFkY2hhcgogSUYoUFJF
U0VOVChpb3N0YXQpKSBpb3N0YXQgPSAwCiBSRVRVUk4KIDk5OTkgQ09OVElOVUUgISBFT1Ig
dGVybWluYXRvciByZWFkCiBJRihQUkVTRU5UKGlvc3RhdCkpIGlvc3RhdCA9IGlzdApFTkRT
VUJST1VUSU5FIGdldF91X3RzZXRfYwoKIS0tLS0tIE91dHB1dCBzdHJpbmcgcHJvY2VkdXJl
cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIQogIApT
VUJST1VUSU5FIHB1dF9kX2Moc3RyaW5nLGlvc3RhdCkKIENIQVJBQ1RFUihMRU49KiksSU5U
RU5UKElOKSAgICAgOjogc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhIHRoZSBjaGFyYWN0ZXIgdmFyaWFibGUgdG8gYmUgYXBwZW5kZWQgdG8KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICEgdGhlIGN1cnJlbnQgcmVjb3JkIG9yIHRvIHRo
ZSBzdGFydCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISB0aGUgbmV4
dCByZWNvcmQgaWYgdGhlcmUgaXMgbm8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICEgY3VycmVudCByZWNvcmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICEgdXNlcyB0aGUgZGVmYXVsdCB1bml0CiBJTlRFR0VSLElOVEVOVChPVVQpLE9QVElPTkFM
ICAgIDo6IGlvc3RhdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBpZiBw
cmVzZW50IHVzZWQgdG8gcmV0dXJuIHRoZSBzdGF0dXMKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICEgb2YgdGhlIGRhdGEgdHJhbnNmZXIKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICEgaWYgYWJzZW50IGVycm9ycyBjYXVzZSB0ZXJtaW5hdGlvbgog
Q0FMTCBwdXRfdV9jKG91dHB1dF91bml0LHN0cmluZyxpb3N0YXQpCkVORFNVQlJPVVRJTkUg
cHV0X2RfYwoKU1VCUk9VVElORSBwdXRfdV9jKHVuaXQsc3RyaW5nLGlvc3RhdCkKIElOVEVH
RVIsSU5URU5UKElOKSAgICAgICAgICAgICAgOjogdW5pdAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgISBpZGVudGlmaWVzIHRoZSBvdXRwdXQgdW5pdCB3aGljaCBtdXN0
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGJlIGNvbm5lY3RlZCBmb3Ig
c2VxdWVudGlhbCBmb3JtYXR0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICEgd3JpdGUKIENIQVJBQ1RFUihMRU49KiksSU5URU5UKElOKSAgICAgOjogc3RyaW5nCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHRoZSBjaGFyYWN0ZXIgdmFyaWFi
bGUgdG8gYmUgYXBwZW5kZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICEgdGhlIGN1cnJlbnQgcmVjb3JkIG9yIHRvIHRoZSBzdGFydCBvZgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgISB0aGUgbmV4dCByZWNvcmQgaWYgdGhlcmUgaXMgbm8K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgY3VycmVudCByZWNvcmQKIElO
VEVHRVIsSU5URU5UKE9VVCksT1BUSU9OQUwgICAgOjogaW9zdGF0CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhIGlmIHByZXNlbnQgdXNlZCB0byByZXR1cm4gdGhlIHN0
YXR1cwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBvZiB0aGUgZGF0YSB0
cmFuc2ZlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBpZiBhYnNlbnQg
ZXJyb3JzIGNhdXNlIHRlcm1pbmF0aW9uCiBJTlRFR0VSIDo6IGlzdAogV1JJVEUodW5pdCxG
TVQ9JyhBKScsQURWQU5DRT0nTk8nLElPU1RBVD1pc3QpIHN0cmluZwogSUYoIGlzdCAvPSAw
IClUSEVOCiAgSUYoUFJFU0VOVChpb3N0YXQpKVRIRU4KICAgaW9zdGF0ID0gaXN0CiAgIFJF
VFVSTgogIEVMU0UKICAgV1JJVEUoKiwqKSAiIEVycm9yIE5vLiIsaXN0LCIgZHVyaW5nIFBV
VCBvZiBjaGFyYWN0ZXIgb24gVU5JVCAiLHVuaXQKICAgU1RPUAogIEVORElGCiBFTkRJRgog
SUYoUFJFU0VOVChpb3N0YXQpKSBpb3N0YXQ9MApFTkRTVUJST1VUSU5FIHB1dF91X2MKCgpT
VUJST1VUSU5FIHB1dGxpbmVfZF9jKHN0cmluZyxpb3N0YXQpCiBDSEFSQUNURVIoTEVOPSop
LElOVEVOVChJTikgICAgIDo6IHN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgISB0aGUgY2hhcmFjdGVyIHZhcmlhYmxlIHRvIGJlIGFwcGVuZGVkIHRvCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHRoZSBjdXJyZW50IHJlY29yZCBvciB0
byB0aGUgc3RhcnQgb2YKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgdGhl
IG5leHQgcmVjb3JkIGlmIHRoZXJlIGlzIG5vCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAhIGN1cnJlbnQgcmVjb3JkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAhIHVzZXMgdGhlIGRlZmF1bHQgdW5pdAogSU5URUdFUixJTlRFTlQoT1VUKSxPUFRJ
T05BTCAgICA6OiBpb3N0YXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEg
aWYgcHJlc2VudCB1c2VkIHRvIHJldHVybiB0aGUgc3RhdHVzCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAhIG9mIHRoZSBkYXRhIHRyYW5zZmVyCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhIGlmIGFic2VudCBlcnJvcnMgY2F1c2UgdGVybWluYXRp
b24KISBhcHBlbmRzIHRoZSBzdHJpbmcgdG8gdGhlIGN1cnJlbnQgcmVjb3JkIGFuZCB0aGVu
IGVuZHMgdGhlIHJlY29yZAohIGxlYXZlcyB0aGUgZmlsZSBwb3NpdGlvbmVkIGFmdGVyIHRo
ZSByZWNvcmQganVzdCBjb21wbGV0ZWQgd2hpY2ggdGhlbgohIGJlY29tZXMgdGhlIHByZXZp
b3VzIGFuZCBsYXN0IHJlY29yZCBpbiB0aGUgZmlsZS4KIENBTEwgcHV0bGluZV91X2Mob3V0
cHV0X3VuaXQsc3RyaW5nLGlvc3RhdCkKRU5EU1VCUk9VVElORSBwdXRsaW5lX2RfYwogIApT
VUJST1VUSU5FIHB1dGxpbmVfdV9jKHVuaXQsc3RyaW5nLGlvc3RhdCkKIElOVEVHRVIsSU5U
RU5UKElOKSAgICAgICAgICAgICAgOjogdW5pdAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgISBpZGVudGlmaWVzIHRoZSBvdXRwdXQgdW5pdCB3aGljaCBtdXN0CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIGJlIGNvbm5lY3RlZCBmb3Igc2VxdWVu
dGlhbCBmb3JtYXR0ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgd3Jp
dGUKIENIQVJBQ1RFUihMRU49KiksSU5URU5UKElOKSAgICAgOjogc3RyaW5nCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAhIHRoZSBjaGFyYWN0ZXIgdmFyaWFibGUgdG8g
YmUgYXBwZW5kZWQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgdGhl
IGN1cnJlbnQgcmVjb3JkIG9yIHRvIHRoZSBzdGFydCBvZgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgISB0aGUgbmV4dCByZWNvcmQgaWYgdGhlcmUgaXMgbm8KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICEgY3VycmVudCByZWNvcmQKIElOVEVHRVIs
SU5URU5UKE9VVCksT1BUSU9OQUwgICAgOjogaW9zdGF0CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIGlmIHByZXNlbnQgdXNlZCB0byByZXR1cm4gdGhlIHN0YXR1cwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBvZiB0aGUgZGF0YSB0cmFuc2Zl
cgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISBpZiBhYnNlbnQgZXJyb3Jz
IGNhdXNlIHRlcm1pbmF0aW9uCiEgYXBwZW5kcyB0aGUgc3RyaW5nIHRvIHRoZSBjdXJyZW50
IHJlY29yZCBhbmQgdGhlbiBlbmRzIHRoZSByZWNvcmQKISBsZWF2ZXMgdGhlIGZpbGUgcG9z
aXRpb25lZCBhZnRlciB0aGUgcmVjb3JkIGp1c3QgY29tcGxldGVkIHdoaWNoIHRoZW4KISBi
ZWNvbWVzIHRoZSBwcmV2aW91cyBhbmQgbGFzdCByZWNvcmQgaW4gdGhlIGZpbGUuCiBJTlRF
R0VSIDo6IGlzdAogV1JJVEUodW5pdCxGTVQ9JyhBLC8pJyxBRFZBTkNFPSdOTycsSU9TVEFU
PWlzdCkgc3RyaW5nCiBJRihQUkVTRU5UKGlvc3RhdCkpVEhFTgogIGlvc3RhdCA9IGlzdAog
IFJFVFVSTgogRUxTRUlGKCBpc3QgLz0gMCApVEhFTgogIFdSSVRFKCosKikgIiBFcnJvciBO
by4iLGlzdCwgJgogICAgICAgICAgICAgICIgZHVyaW5nIFdSSVRFX0xJTkUgb2YgY2hhcmFj
dGVyIG9uIFVOSVQiLHVuaXQKICBTVE9QCiBFTkRJRgpFTkRTVUJST1VUSU5FIHB1dGxpbmVf
dV9jCiAgCiEtLS0tLSBJbnNlcnQgcHJvY2VkdXJlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0hCiBGVU5DVElPTiBpbnNlcnRfY2Moc3Ry
aW5nLHN0YXJ0LHN1YnN0cmluZykKICBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxFICAg
ICAgICA6OiBpbnNlcnRfY2MKICBDSEFSQUNURVIoTEVOPSopLElOVEVOVChJTikgOjogc3Ry
aW5nCiAgSU5URUdFUixJTlRFTlQoSU4pICAgICAgICAgIDo6IHN0YXJ0CiAgQ0hBUkFDVEVS
KExFTj0qKSxJTlRFTlQoSU4pIDo6IHN1YnN0cmluZwogICEgY2FsY3VsYXRlcyByZXN1bHQg
c3RyaW5nIGJ5IGluc2VydGluZyB0aGUgc3Vic3RyaW5nIGludG8gc3RyaW5nCiAgISBiZWdp
bm5pbmcgYXQgcG9zaXRpb24gc3RhcnQgcHVzaGluZyB0aGUgcmVtYWluZGVyIG9mIHRoZSBz
dHJpbmcKICAhIHRvIHRoZSByaWdodCBhbmQgZW5sYXJnaW5nIGl0IGFjY29yZGluZ2x5LAog
ICEgaWYgc3RhcnQgaXMgZ3JlYXRlciB0aGFuIExFTihzdHJpbmcpIHRoZSBzdWJzdHJpbmcg
aXMgc2ltcGx5IGFwcGVuZGVkICAhIHRvIHN0cmluZyBieSBjb25jYXRlbmF0aW9uLiBpZiBz
dGFydCBpcyBsZXNzIHRoYW4gMQogICEgc3Vic3RyaW5nIGlzIGluc2VydGVkIGJlZm9yZSBz
dHJpbmcsIGllLiBzdGFydCBpcyB0cmVhdGVkIGFzIGlmIGl0IHdlcmUgMSAKICBJTlRFR0VS
ICAgICAgICAgICAgICAgICAgICAgICAgOjogaXAsaXMsbHN1YixscyAKICBsc3ViID0gTEVO
KHN1YnN0cmluZyk7IGxzID0gTEVOKHN0cmluZykKICBpcyA9IE1BWChzdGFydCwxKSAKICBp
cCA9IE1JTihscysxLGlzKSAKICBpbnNlcnRfY2MgPSAgc3RyaW5nKDE6aXAtMSkvL3N1YnN0
cmluZy8vc3RyaW5nKGlwOmxzKQogRU5ERlVOQ1RJT04gaW5zZXJ0X2NjCiAgCgohLS0tLS0g
UmVwbGFjZSBwcm9jZWR1cmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSEKIEZVTkNUSU9OIHJlcGxhY2Vfc3Moc3RyaW5nLHN0YXJ0LHN1
YnN0cmluZykKIENIQVJBQ1RFUihMRU49KiksSU5URU5UKElOKSA6OiBzdHJpbmcKIElOVEVH
RVIsSU5URU5UKElOKSAgICAgICAgICA6OiBzdGFydAogQ0hBUkFDVEVSKExFTj0qKSxJTlRF
TlQoSU4pIDo6IHN1YnN0cmluZwogQ0hBUkFDVEVSKExFTj06KSxBTExPQ0FUQUJMRSAgOjog
cmVwbGFjZV9zcwogICEgIGNhbGN1bGF0ZXMgdGhlIHJlc3VsdCBzdHJpbmcgYnkgdGhlIGZv
bGxvd2luZyBhY3Rpb25zOgogISAgaW5zZXJ0cyB0aGUgc3Vic3RyaW5nIGludG8gc3RyaW5n
IGJlZ2lubmluZyBhdCBwb3NpdGlvbiAKICEgIHN0YXJ0IHJlcGxhY2luZyB0aGUgZm9sbG93
aW5nIExFTihzdWJzdHJpbmcpIGNoYXJhY3RlcnMgb2YgdGhlIHN0cmluZyAKICEgIGFuZCBl
bmxhcmdpbmcgc3RyaW5nIGlmIG5lY2Vzc2FyeS4gaWYgc3RhcnQgaXMgZ3JlYXRlciB0aGFu
IExFTihzdHJpbmcpIAogISAgc3Vic3RyaW5nIGlzIHNpbXBseSBhcHBlbmRlZCB0byBzdHJp
bmcgYnkgY29uY2F0ZW5hdGlvbi4gSWYgc3RhcnQgaXMgbGVzcyAKICEgIHRoYW4gMSwgc3Vi
c3RyaW5nIHJlcGxhY2VzIGNoYXJhY3RlcnMgaW4gc3RyaW5nIHN0YXJ0aW5nIGF0IDEKIElO
VEVHRVIgICAgICAgICAgICAgICAgICAgICAgICA6OiBpcCxpcyxsc3ViLGxzCiBsc3ViID0g
TEVOKHN1YnN0cmluZyk7IGxzID0gTEVOKHN0cmluZykKIGlzID0gTUFYKHN0YXJ0LDEpCiBp
cCA9IE1JTihscysxLGlzKQogcmVwbGFjZV9zcyA9IHN0cmluZygxOmlwLTEpLy9zdWJzdHJp
bmcvL3N0cmluZyhpcCtsc3ViOikKRU5ERlVOQ1RJT04gcmVwbGFjZV9zcwogIAogRlVOQ1RJ
T04gcmVwbGFjZV9zc19zZihzdHJpbmcsc3RhcnQsZmluaXNoLHN1YnN0cmluZykKIENIQVJB
Q1RFUihMRU49KiksSU5URU5UKElOKSAgOjogc3RyaW5nCiBJTlRFR0VSLElOVEVOVChJTikg
ICAgICAgICAgIDo6IHN0YXJ0LGZpbmlzaAogQ0hBUkFDVEVSKExFTj0qKSxJTlRFTlQoSU4p
ICA6OiBzdWJzdHJpbmcKIENIQVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgICA6OiByZXBs
YWNlX3NzX3NmCiAhICBjYWxjdWxhdGVzIHRoZSByZXN1bHQgc3RyaW5nIGJ5IHRoZSBmb2xs
b3dpbmcgYWN0aW9uczoKICEgIGluc2VydHMgdGhlIHN1YnN0cmluZyBpbnRvIHN0cmluZyBi
ZWdpbm5pbmcgYXQgcG9zaXRpb24gCiAhICBzdGFydCByZXBsYWNpbmcgdGhlIGZvbGxvd2lu
ZyBmaW5pc2gtc3RhcnQrMSBjaGFyYWN0ZXJzIG9mIHRoZSBzdHJpbmcKICEgIGFuZCBlbmxh
cmdpbmcgb3Igc2hyaW5raW5nIHRoZSBzdHJpbmcgaWYgbmVjZXNzYXJ5LgogISAgSWYgc3Rh
cnQgaXMgZ3JlYXRlciB0aGFuIExFTihzdHJpbmcpIHN1YnN0cmluZyBpcyBzaW1wbHkgYXBw
ZW5kZWQgdG8gc3RyaW5nCiAhICBieSBjb25jYXRlbmF0aW9uLiBJZiBzdGFydCBpcyBsZXNz
IHRoYW4gMSwgc3RhcnQgPSAxIGlzIHVzZWQKICEgIElmIGZpbmlzaCBpcyBncmVhdGVyIHRo
YW4gTEVOKHN0cmluZyksIGZpbmlzaCA9IExFTihzdHJpbmcpIGlzIHVzZWQKICEgIElmIGZp
bmlzaCBpcyBsZXNzIHRoYW4gc3RhcnQsIHN1YnN0cmluZyBpcyBpbnNlcnRlZCBiZWZvcmUg
c3RhcnQKIElOVEVHRVIgICAgICAgICAgICAgICAgICAgICAgICA6OiBpcCxpcyxpZixudyxs
c3ViLGxzCiBsc3ViID0gTEVOKHN1YnN0cmluZyk7IGxzID0gTEVOKHN0cmluZykKIGlzID0g
TUFYKHN0YXJ0LDEpCiBpcCA9IE1JTihscysxLGlzKQogaWYgPSBNQVgoaXAtMSxNSU4oZmlu
aXNoLGxzKSkKIG53ID0gbHN1YiArIGxzIC0gaWYraXAtMQogcmVwbGFjZV9zc19zZiA9IHN0
cmluZygxOmlwLTEpLy9zdWJzdHJpbmcvL3N0cmluZyhpZisxOmxzKQpFTkRGVU5DVElPTiBy
ZXBsYWNlX3NzX3NmCgpGVU5DVElPTiByZXBsYWNlX3NzcyhzdHJpbmcsdGFyZ2V0LHN1YnN0
cmluZyxldmVyeSxiYWNrKQogQ0hBUkFDVEVSKExFTj0qKSxJTlRFTlQoSU4pIDo6IHN0cmlu
Zyx0YXJnZXQsc3Vic3RyaW5nCiBMT0dJQ0FMLElOVEVOVChJTiksT1BUSU9OQUwgICAgIDo6
IGV2ZXJ5LGJhY2sKICEgIGNhbGN1bGF0ZXMgdGhlIHJlc3VsdCBzdHJpbmcgYnkgdGhlIGZv
bGxvd2luZyBhY3Rpb25zOgogISAgc2VhcmNoZXMgZm9yIG9jY3VyZW5jZXMgb2YgdGFyZ2V0
IGluIHN0cmluZywgYW5kIHJlcGxhY2VzIHRoZXNlIHdpdGgKICEgIHN1YnN0cmluZy4gaWYg
YmFjayBwcmVzZW50IHdpdGggdmFsdWUgdHJ1ZSBzZWFyY2ggaXMgYmFja3dhcmQgb3RoZXJ3
aXNlCiAhICBzZWFyY2ggaXMgZG9uZSBmb3J3YXJkLiBpZiBldmVyeSBwcmVzZW50IHdpdGgg
dmFsdWUgdHJ1ZSBhbGwgb2NjdXJlbmNlcwogISAgb2YgdGFyZ2V0IGluIHN0cmluZyBhcmUg
cmVwbGFjZWQsIG90aGVyd2lzZSBvbmx5IHRoZSBmaXJzdCBmb3VuZCBpcwogISAgcmVwbGFj
ZWQuIGlmIHRhcmdldCBpcyBub3QgZm91bmQgdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBhcyBz
dHJpbmcuCiBMT0dJQ0FMICAgICAgICAgICAgICAgICAgICAgIDo6IGRpcl9zd2l0Y2gsIHJl
cF9zZWFyY2gKIENIQVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgOjogd29yawogSU5URUdF
UiAgICAgICAgICAgICAgICAgICAgICA6OiBscyxsdCxsc3ViLGlwb3MsaXBvdwogQ0hBUkFD
VEVSKExFTj06KSxBTExPQ0FUQUJMRSAgOjogcmVwbGFjZV9zc3MKIGxzID0gTEVOKHN0cmlu
Zyk7IGx0ID0gTEVOKHRhcmdldCk7IGxzdWIgPSBMRU4oc3Vic3RyaW5nKQogSUYobHQ9PTAp
VEhFTgogICBJRihscz09MClUSEVOCiAgICAgcmVwbGFjZV9zc3MgPSBzdWJzdHJpbmcKICAg
RUxTRQogICAgIHJlcGxhY2Vfc3NzID0gc3RyaW5nCiAgIEVORElGCiAgIFJFVFVSTgogRU5E
SUYKIHdvcmsgPSBzdHJpbmcKIElGKCBQUkVTRU5UKGJhY2spIClUSEVOCiAgIGRpcl9zd2l0
Y2ggPSBiYWNrCiBFTFNFCiAgIGRpcl9zd2l0Y2ggPSAuRkFMU0UuCiBFTkRJRgogSUYoIFBS
RVNFTlQoZXZlcnkpIClUSEVOCiAgIHJlcF9zZWFyY2ggPSBldmVyeQogRUxTRQogICByZXBf
c2VhcmNoID0gLkZBTFNFLgogRU5ESUYKIElGKCBkaXJfc3dpdGNoIClUSEVOICEgYmFja3dh
cmRzIHNlYXJjaAogICBpcG9zID0gbHMtbHQrMQogICBETwogICAgIElGKCBpcG9zIDwgMSAp
RVhJVCAhIHNlYXJjaCBwYXN0IHN0YXJ0IG9mIHN0cmluZwogICAgICEgdGVzdCBmb3Igb2Nj
dXJhbmNlIG9mIHRhcmdldCBpbiBzdHJpbmcgYXQgdGhpcyBwb3NpdGlvbgogICAgIElGKCBz
dHJpbmcoaXBvczppcG9zK2x0LTEpID09IHRhcmdldCApVEhFTgogICAgICAgISBtYXRjaCBm
b3VuZCBhbGxvY2F0ZSBzcGFjZSBmb3Igc3RyaW5nIHdpdGggdGhpcyBvY2N1cmFuY2Ugb2YK
ICAgICAgICEgdGFyZ2V0IHJlcGxhY2VkIGJ5IHN1YnN0cmluZwogICAgICAgISBjb3B5IHdv
cmsgaW50byB0ZW1wIHJlcGxhY2luZyB0aGlzIG9jY3VyYW5jZSBvZiB0YXJnZXQgYnkKICAg
ICAgICEgc3Vic3RyaW5nCiAgICAgICB3b3JrID0gd29yaygxOmlwb3MtMSkvL3N1YnN0cmlu
Zy8vd29yayhpcG9zK2x0OikKICAgICAgIElGKC5OT1QucmVwX3NlYXJjaClFWElUICEgZXhp
dCBpZiBvbmx5IGZpcnN0IHJlcGxhY2VtZW50IHdhbnRlZAogICAgICAgISBtb3ZlIHNlYXJj
aCBhbmQgcmVwbGFjZW1lbnQgcG9zaXRpb25zIG92ZXIgdGhlIGVmZmVjdGVkIHBvc2l0aW9u
cwogICAgICAgaXBvcyA9IGlwb3MtbHQrMQogICAgIEVORElGCiAgICAgaXBvcz1pcG9zLTEK
ICAgRU5ERE8KIEVMU0UgISBmb3J3YXJkIHNlYXJjaAogICBpcG9zID0gMTsgaXBvdyA9IDEK
ICAgRE8KICAgICBJRiggaXBvcyA+IGxzLWx0KzEgKUVYSVQgISBzZWFyY2ggcGFzdCBlbmQg
b2Ygc3RyaW5nCiAgICAgISB0ZXN0IGZvciBvY2N1cmFuY2Ugb2YgdGFyZ2V0IGluIHN0cmlu
ZyBhdCB0aGlzIHBvc2l0aW9uCiAgICAgSUYoIHN0cmluZyhpcG9zOmlwb3MrbHQtMSkgPT0g
dGFyZ2V0IClUSEVOCiAgICAgICAhIG1hdGNoIGZvdW5kIGFsbG9jYXRlIHNwYWNlIGZvciBz
dHJpbmcgd2l0aCB0aGlzIG9jY3VyYW5jZSBvZgogICAgICAgISB0YXJnZXQgcmVwbGFjZWQg
Ynkgc3Vic3RyaW5nCiAgICAgICB3b3JrID0gd29yaygxOmlwb3ctMSkvL3N1YnN0cmluZy8v
d29yayhpcG93K2x0OikKICAgICAgIElGKC5OT1QucmVwX3NlYXJjaClFWElUICEgZXhpdCBp
ZiBvbmx5IGZpcnN0IHJlcGxhY2VtZW50IHdhbnRlZAogICAgICAgISBtb3ZlIHNlYXJjaCBh
bmQgcmVwbGFjZW1lbnQgcG9zaXRpb25zIG92ZXIgdGhlIGVmZmVjdGVkIHBvc2l0aW9ucwog
ICAgICAgaXBvcyA9IGlwb3MrbHQtMTsgaXBvdyA9IGlwb3crbHN1Yi0xCiAgICAgRU5ESUYK
ICAgICBpcG9zPWlwb3MrMTsgaXBvdz1pcG93KzEKICAgRU5ERE8KIEVORElGCiByZXBsYWNl
X3NzcyA9IHdvcmsKRU5ERlVOQ1RJT04gcmVwbGFjZV9zc3MKCgohLS0tLS0gUmVtb3ZlIHBy
b2NlZHVyZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIQogIAogRlVOQ1RJT04gcmVtb3ZlX2Moc3RyaW5nLHN0YXJ0LGZpbmlzaCkKIENI
QVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgICAgICAgIDo6IHJlbW92ZV9jCiBDSEFSQUNU
RVIoTEVOPSopLElOVEVOVChJTikgOjogc3RyaW5nCiBJTlRFR0VSLElOVEVOVChJTiksT1BU
SU9OQUwgOjogc3RhcnQKIElOVEVHRVIsSU5URU5UKElOKSxPUFRJT05BTCA6OiBmaW5pc2gK
ICEgIHJldHVybnMgYXMgcmVzdWx0IHRoZSBzdHJpbmcgcHJvZHVjZWQgYnkgdGhlIGFjdGlv
bnMKICEgIHJlbW92ZXMgdGhlIGNoYXJhY3RlcnMgYmV0d2VlbiBzdGFydCBhbmQgZmluaXNo
IGZyb20gc3RyaW5nIHJlZHVjaW5nIGl0IGluIAogISAgc2l6ZSBieSBNQVgoMCxBQlMoZmlu
aXNoLXN0YXJ0KzEpKSAKICEgIGlmIHN0YXJ0IDwgMSBvciBpcyBtaXNzaW5nIHRoZW4gYXNz
dW1lcyBzdGFydD0xIAogISAgaWYgZmluaXNoID4gTEVOKHN0cmluZykgb3IgaXMgbWlzc2lu
ZyB0aGVuIGFzc3VtZXMgZmluaXNoPUxFTihzdHJpbmcpIAogSU5URUdFUiAgICAgICAgICAg
ICAgICAgICAgICAgIDo6IGlzLGlmLGxzCiAKIGxzID0gTEVOKHN0cmluZykKIElGIChQUkVT
RU5UKHN0YXJ0KSkgVEhFTgogICBpcyA9IE1BWCgxLHN0YXJ0KQogRUxTRQogICBpcyA9IDEK
IEVORElGCiBJRiAoUFJFU0VOVChmaW5pc2gpKSBUSEVOCiAgIGlmID0gTUlOKGxzLGZpbmlz
aCkKIEVMU0UKICAgaWYgPSBscwogRU5ESUYKIElGKCBpZiA8IGlzICkgVEhFTiAgISB6ZXJv
IGNoYXJhY3RlcnMgdG8gYmUgcmVtb3ZlZCwgc3RyaW5nIGlzIHVuY2hhbmdlZAogICByZW1v
dmVfYyA9IHN0cmluZwogRUxTRQogICByZW1vdmVfYyA9IHN0cmluZygxOmlzLTEpLy9zdHJp
bmcoaWYrMTopCiBFTkRJRgpFTkRGVU5DVElPTiByZW1vdmVfYwogIAohLS0tLS0gRXh0cmFj
dCBwcm9jZWR1cmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIQogIApGVU5DVElPTiBleHRyYWN0X2Moc3RyaW5nLHN0YXJ0LGZpbmlzaCkK
ICBDSEFSQUNURVIoTEVOPSopLElOVEVOVChJTikgOjogc3RyaW5nIAogIElOVEVHRVIsSU5U
RU5UKElOKSxPUFRJT05BTCA6OiBzdGFydCAgIAogIElOVEVHRVIsSU5URU5UKElOKSxPUFRJ
T05BTCA6OiBmaW5pc2ggIAogIENIQVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgICAgICAg
IDo6IGV4dHJhY3RfYyAKICAhIGV4dHJhY3RzIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gc3Rh
cnQgYW5kIGZpbmlzaCBmcm9tIGNoYXJhY3RlciBzdHJpbmcgYW5kIAogICEgZGVsaXZlcnMg
dGhlc2UgYXMgdGhlIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24sIHN0cmluZyBpcyB1bmNoYW5n
ZWQgCiAgISBpZiBzdGFydCA8IDEgb3IgaXMgbWlzc2luZyB0aGVuIGl0IGlzIHRyZWF0ZWQg
YXMgMSAKICAhIGlmIGZpbmlzaCA+IExFTihzdHJpbmcpIG9yIGlzIG1pc3NpbmcgdGhlbiBp
dCBpcyB0cmVhdGVkIGFzIExFTihzdHJpbmcpIAogIElOVEVHRVIgICAgICAgICAgICAgICAg
ICAgICAgOjogaXMsaWYgCiAgSUYgKFBSRVNFTlQoc3RhcnQpKSBUSEVOICAgIAogICAgIGlz
ID0gTUFYKDEsc3RhcnQpIAogIEVMU0UgCiAgICAgaXMgPSAxIAogIEVORElGIAogIElGIChQ
UkVTRU5UKGZpbmlzaCkpIFRIRU4gIAogICAgIGlmID0gTUlOKExFTihzdHJpbmcpLGZpbmlz
aCkgCiAgRUxTRSAKICAgICBpZiA9IExFTihzdHJpbmcpIAogIEVORElGIAogIGV4dHJhY3Rf
YyA9IHN0cmluZyhpczppZikgCiBFTkRGVU5DVElPTiBleHRyYWN0X2MgCgohLS0tLS0gU3Bs
aXQgcHJvY2VkdXJlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSEKClNVQlJPVVRJTkUgc3BsaXRfYyhzdHJpbmcsd29yZCxzZXQsc2Vw
YXJhdG9yLGJhY2spCiAgQ0hBUkFDVEVSKExFTj06KSxBTExPQ0FUQUJMRSxJTlRFTlQoSU5P
VVQpICAgICAgICA6OiBzdHJpbmcKICBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxFLElO
VEVOVChPVVQpICAgICAgICAgIDo6IHdvcmQKICBDSEFSQUNURVIoTEVOPSopLElOVEVOVChJ
TikgICAgICAgICAgICAgICA6OiBzZXQKICBDSEFSQUNURVIoTEVOPTopLEFMTE9DQVRBQkxF
LElOVEVOVChPVVQpLE9QVElPTkFMIDo6IHNlcGFyYXRvcgogIExPR0lDQUwsSU5URU5UKElO
KSxPUFRJT05BTCAgICAgICAgICAgICAgIDo6IGJhY2sKICAhIHNwbGl0cyB0aGUgaW5wdXQg
c3RyaW5nIGF0IHRoZSBmaXJzdChsYXN0KSBjaGFyYWN0ZXIgaW4gc2V0CiAgISByZXR1cm5z
IHRoZSBsZWFkaW5nKHRyYWlsaW5nKSBzdWJzdHJpbmcgaW4gd29yZCBhbmQgdGhlIHRyYWls
aW5nKGxlYWRpbmcpCiAgISBzdWJzdHJpbmcgaW4gc3RyaW5nLiBUaGUgc2VhcmNoIGlzIGRv
bmUgaW4gdGhlIGZvcndhcmQgb3IgYmFja3dhcmQKICAhIGRpcmVjdGlvbiBkZXBlbmRpbmcg
b24gYmFjay4gSWYgc2VwYXJhdG9yIGlzIHByZXNlbnQsIHRoZSBhY3R1YWwgc2VwYXJhdG9y
CiAgISBjaGFyYWN0ZXIgZm91bmQgaXMgcmV0dXJuZWQgaW4gc2VwYXJhdG9yLgogICEgSWYg
bm8gY2hhcmFjdGVyIGluIHNldCBpcyBmb3VuZCBzdHJpbmcgYW5kIHNlcGFyYXRvciBhcmUg
cmV0dXJuZWQgYXMKICAhIHplcm8gbGVuZ3RoIGFuZCB0aGUgd2hvbGUgaW5wdXQgc3RyaW5n
IGlzIHJldHVybmVkIGluIHdvcmQuCiAgTE9HSUNBTCAgICAgICAgICAgICAgICAgICAgOjog
ZGlyX3N3aXRjaCAKICBJTlRFR0VSICAgICAgICAgICAgICAgICAgICA6OiBpLGxzLHRwb3Ms
bHNldAogIENIQVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgOjogd3N0ICEgd29ya2luZyBj
b3B5IG9mIHN0cmluZwogIGxzID0gTEVOKHN0cmluZyk7IGxzZXQgPSBMRU4oc2V0KQogIHdz
dD1zdHJpbmcKICBJRiggUFJFU0VOVChiYWNrKSApVEhFTiAKICAgIGRpcl9zd2l0Y2ggPSBi
YWNrIAogIEVMU0UgCiAgICBkaXJfc3dpdGNoID0gLkZBTFNFLiAKICBFTkRJRiAKICBJRihk
aXJfc3dpdGNoKVRIRU4gISBiYWNrd2FyZHMgc2VhcmNoIAogICAgQlNFQVJDSDpETyB0cG9z
ID0gbHMsMSwtMQogICAgICAgRE8gaT0xLGxzZXQKICAgICAgICAgSUYod3N0KHRwb3M6dHBv
cykgPT0gc2V0KGk6aSkpRVhJVCBCU0VBUkNICiAgICAgICBFTkRETwogICAgRU5ERE8gQlNF
QVJDSAogICAgd29yZCA9IHdzdCh0cG9zKzE6bHMpCiAgICBJRihQUkVTRU5UKHNlcGFyYXRv
cikpVEhFTgogICAgICBJRih0cG9zPT0wKVRIRU4KICAgICAgICBzZXBhcmF0b3IgPSAiIgog
ICAgICBFTFNFCiAgICAgICAgc2VwYXJhdG9yID0gd3N0KHRwb3M6dHBvcykKICAgICAgRU5E
SUYKICAgIEVORElGCiAgICBzdHJpbmcgPSB3c3QoMTp0cG9zLTEpCiAgRUxTRSAhIGZvcndh
cmRzIHNlYXJjaAogICAgRlNFQVJDSDpETyB0cG9zID0xLGxzCiAgICAgICBETyBpPTEsbHNl
dAogICAgICAgICBJRih3c3QodHBvczp0cG9zKSA9PSBzZXQoaTppKSlFWElUIEZTRUFSQ0gK
ICAgICAgIEVORERPCiAgICBFTkRETyBGU0VBUkNICiAgICB3b3JkID0gd3N0KDE6dHBvcy0x
KQogICAgSUYoUFJFU0VOVChzZXBhcmF0b3IpKVRIRU4KICAgICAgSUYodHBvcz09bHMrMSlU
SEVOCiAgICAgICAgc2VwYXJhdG9yID0gIiIKICAgICAgRUxTRQogICAgICAgIHNlcGFyYXRv
ciA9IHdzdCh0cG9zOnRwb3MpCiAgICAgIEVORElGCiAgICBFTkRJRgogICAgc3RyaW5nID0g
d3N0KHRwb3MrMTpscykKICBFTkRJRgogRU5EU1VCUk9VVElORSBzcGxpdF9jCiAgCkVORE1P
RFVMRSBJU09fVkFSWUlOR19TVFJJTkcKCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KClBS
T0dSQU0gd29yZF9jb3VudCAKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIQohIENvdW50cyB0
aGUgbnVtYmVyIG9mICJ3b3JkcyIgY29udGFpbmVkIGluIGEgZmlsZS4gVGhlIHdvcmRzIGFy
ZSBhc3N1bWVkIHRvICAhIAohIGJlIHRlcm1pbmF0ZWQgYnkgYW55IG9uZSBvZjogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIAohIHNwYWNlLGNv
bW1hLHBlcmlvZCwhLD8sIG9yIHRoZSBFb1IgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIAohIFRoZSBmaWxlIG1heSBoYXZlIHJlY29yZHMgb2YgYW55IGxl
bmd0aCBhbmQgdGhlIGZpbGUgbWF5IGNvbnRhaW4gYW55IG51bWJlciAhIAohIG9mIHJlY29y
ZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIAohIFRoZSBwcm9ncmFtIHByb21wdHMgZm9yIHRoZSBuYW1lIG9m
IHRoZSBmaWxlIHRvIGJlIHN1YmplY3QgdG8gYSB3b3JkIGNvdW50ICAhIAohIGFuZCB0aGUg
cmVzdWx0IGlzIHdyaXR0ZW4gdG8gdGhlIGRlZmF1bHQgb3V0cHV0IHVuaXQgICAgICAgICAg
ICAgICAgICAgICAgICAhIAohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0hIApVU0UgSVNPX1ZB
UllJTkdfU1RSSU5HIApVU0UsSU5UUklOU0lDIDo6IElTT19GT1JUUkFOX0VOViAKSU1QTElD
SVQgTk9ORQpDSEFSQUNURVIobGVuPTopLEFMTE9DQVRBQkxFIDo6IGxpbmUsZm5hbWUKSU5U
RUdFUiAgICAgICAgICAgICAgOjogaWVycixuZCx3Y291bnQ9MCAKV1JJVEUoKixBRFZBTkNF
PSdOTycsRk1UPScoQSknKSAiIElucHV0IG5hbWUgb2YgZmlsZT8iIApDQUxMIEdFVChTVFJJ
Tkc9Zm5hbWUpICEgcmVhZCB0aGUgcmVxdWlyZWQgZmlsZW5hbWUgZnJvbSB0aGUgZGVmYXVs
dCAKICAgICAgICAgICAgICAgICAgICAgISBpbnB1dCB1bml0IGFzc3VtZWQgdG8gYmUgdGhl
IHdob2xlIG9mIHRoZSByZWNvcmQgcmVhZApPUEVOKFVOSVQ9MTAsRklMRT1mbmFtZSkgCmZp
bGVfcmVhZDogRE8gICEgdW50aWwgRW9GIHJlYWNoZWQgCiAgQ0FMTCBHRVQoMTAsbGluZSxJ
T1NUQVQ9aWVycikgICEgcmVhZCBuZXh0IGxpbmUgb2YgZmlsZSAKICBJRihpZXJyID09IElP
U1RBVF9FTkQgLk9SLiBpZXJyID4gMCApRVhJVCBmaWxlX3JlYWQKICB3b3JkX3NjYW46IERP
ICEgdW50aWwgZW5kIG9mIGxpbmUgCiAgICBuZD1TQ0FOKGxpbmUsIiAsLiE/IikgICEgc2Nh
biB0byBmaW5kIGVuZCBvZiB3b3JkIAogICAgSUYobmQgPT0gMClUSEVOICAhIEVvUiBpcyBl
bmQgb2Ygd29yZCAKICAgICAgbmQgPSBMRU4obGluZSkKICAgICAgRVhJVCB3b3JkX3NjYW4g
CiAgICBFTkRJRiAKICAgIElGKG5kID4gMSkgd2NvdW50PXdjb3VudCsxICAhIGF0IGxlYXN0
IG9uZSBub24tdGVybWluYXRvciBjaGFyYWN0ZXIgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgISBpbiB0aGUgd29yZCAKICAgIGxpbmUgPSBSRU1PVkUobGluZSwxLG5kKSAg
ISBzdHJpcHMgdGhlIGNvdW50ZWQgd29yZCBhbmQgaXRzIHRlcm1pbmF0b3IgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAhIGZyb20gdGhlIGxpbmUgcmVkdWNpbmcgaXRzIGxlbmd0
aCBiZWZvcmUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHJlc2Nhbm5pbmcgZm9y
IHRoZSBuZXh0IHdvcmQgCiAgRU5ERE8gd29yZF9zY2FuIAogIElGKG5kID4gMCkgd2NvdW50
PXdjb3VudCsxIApFTkRETyBmaWxlX3JlYWQgCklGKGllcnIgPCAwKVRIRU4gCiAgV1JJVEUo
KiwqKSAiTm8uIG9mIHdvcmRzIGluIGZpbGUgPSIsd2NvdW50IApFTFNFSUYoaWVyciA+IDAp
VEhFTiAKICBXUklURSgqLCopICJFcnJvciBpbiBHRVQgZmlsZSBpbiB3b3JkX2NvdW50LCBO
by4gIixpZXJyIApFTkRJRiAKRU5EUFJPR1JBTSB3b3JkX2NvdW50IAoKLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLgoKUFJPR1JBTSB2b2NhYnVsYXJ5X3dvcmRfY291bnQKIS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIQohIENvdW50cyB0aGUgbnVtYmVyIG9mICJ3b3JkcyIgY29udGFp
bmVkIGluIGEgZmlsZS4gVGhlIHdvcmRzIGFyZSBhc3N1bWVkIHRvICAhIAohIGJlIHRlcm1p
bmF0ZWQgYnkgYW55IG9uZSBvZjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAhIAohIHNwYWNlLGNvbW1hLHBlcmlvZCwhLD8sIG9yIHRoZSBFb1Ig
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIAohIFRoZSBmaWxl
IG1heSBoYXZlIHJlY29yZHMgb2YgYW55IGxlbmd0aCBhbmQgdGhlIGZpbGUgbWF5IGNvbnRh
aW4gYW55IG51bWJlciAhIAohIG9mIHJlY29yZHMuICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIAohIFRoZSBwcm9n
cmFtIHByb21wdHMgZm9yIHRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIGJlIHN1YmplY3QgdG8g
YSB3b3JkIGNvdW50ICAhIAohIGFuZCB0aGUgcmVzdWx0IGlzIHdyaXR0ZW4gdG8gdGhlIGRl
ZmF1bHQgb3V0cHV0IHVuaXQgICAgICAgICAgICAgICAgICAgICAgICAhIAohIEFsc28gYnVp
bGRzIGEgbGlzdCBvZiB0aGUgdm9jYWJ1bGFyeSBmb3VuZCBhbmQgdGhlIGZyZXF1ZW5jeSBv
ZiBvY2N1cmVuY2UgICAhCiEgb2YgZWFjaCBkaWZmZXJlbnQgd29yZC4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEKIS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tISAKVVNFIElTT19WQVJZSU5HX1NUUklORyAKVVNFLElOVFJJTlNJQyA6
OiBJU09fRk9SVFJBTl9FTlYgCklNUExJQ0lUIE5PTkUKdHlwZSBWQVJZSU5HX1NUUklORwog
IENIQVJBQ1RFUihMRU49OiksQUxMT0NBVEFCTEUgOjogY2hhcnMKZW5kIHR5cGUgVkFSWUlO
R19TVFJJTkcKQ0hBUkFDVEVSKExFTj06KSxBTExPQ0FUQUJMRSA6OiBsaW5lLHdvcmQsZm5h
bWUgCklOVEVHRVIgICAgICAgICAgICAgIDo6IGllcnIsbmQsd2NvdW50PTAgCiEtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSEKISBWb2NhYnVsYXJ5IGxpc3QgYW5kIGZyZXF1ZW5jeSBjb3Vu
dCBhcnJheXMuIFRoZSBzaXplIG9mIHRoZXNlIGFycmF5cyB3aWxsICAgIQohIGJlIGV4dGVu
ZGVkIGR5bmFtaWNhbGx5IGluIHN0ZXBzIG9mIDEwMCBhcyB0aGUgdXNlZCB2b2NhYnVsYXJ5
IGdyb3dzICAgICAgICAhCiEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSEKdHlwZShWQVJZSU5H
X1NUUklORyksQUxMT0NBVEFCTEUsRElNRU5TSU9OKDopIDo6IHZvY2FiCklOVEVHRVIsQUxM
T0NBVEFCTEUsRElNRU5TSU9OKDopICAgICAgICAgICAgICA6OiBmcmVxCklOVEVHRVIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsaXN0X3NpemU9MjAwLGxp
c3RfdG9wPTAKSU5URUdFUiA6OiBpICAgISBsb29wIGluZGV4CiEtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSEKISBJbml0aWFsaXNlIHRoZSBsaXN0cyBhbmQgZGV0ZXJtaW5lIHRoZSBmaWxl
IHRvIGJlIHByb2Nlc3NlZCAgICAgICAgICAgICAgICAgIQohLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0hCkFMTE9DQVRFKHZvY2FiKDE6bGlzdF9zaXplKSxmcmVxKDE6bGlzdF9zaXplKSkK
V1JJVEUoKixBRFZBTkNFPSdOTycsRk1UPScoQSknKSAiIElucHV0IG5hbWUgb2YgZmlsZT8i
IApDQUxMIEdFVChTVFJJTkc9Zm5hbWUpICAhIHJlYWQgdGhlIHJlcXVpcmVkIGZpbGVuYW1l
IGZyb20gdGhlIGRlZmF1bHQgCiAgICAgICAgICAgICAgICAgICEgaW5wdXQgdW5pdCBhc3N1
bWVkIHRvIGJlIHRoZSB3aG9sZSBvZiB0aGUgcmVjb3JkIHJlYWQKT1BFTihVTklUPTEsRklM
RT1DSEFSKGZuYW1lKSkgICEgQ0hBUihmbmFtZSkgY29udmVydHMgdG8gdGhlIHR5cGUgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhIHJlcXVpcmVkIGJ5IEZJTEU9IHNwZWNp
ZmllciAKZmlsZV9yZWFkOiBETyAhIHVudGlsIEVvRiByZWFjaGVkIAogIENBTEwgR0VUKDEs
bGluZSxJT1NUQVQ9aWVycikgICEgcmVhZCBuZXh0IGxpbmUgb2YgZmlsZSAKICBJRihpZXJy
ID09IElPU1RBVF9FTkQgLk9SLiBpZXJyID4gMClFWElUIGZpbGVfcmVhZAogIHdvcmRfc2Nh
bjogRE8gISB1bnRpbCBlbmQgb2YgbGluZSAKICAgIG5kPVNDQU4obGluZSwiICwuIT8iKSAg
ISBzY2FuIHRvIGZpbmQgZW5kIG9mIHdvcmQgCiAgICBJRihuZCA9PSAwKVRIRU4gICEgRW9S
IGlzIGVuZCBvZiB3b3JkIAogICAgICBuZCA9IExFTihsaW5lKSsxCiAgICAgIEVYSVQgd29y
ZF9zY2FuIAogICAgRU5ESUYgCiAgICBJRihuZCA+IDEpVEhFTiAgISBhdCBsZWFzdCBvbmUg
bm9uLXRlcm1pbmF0b3IgY2hhcmFjdGVyIGluIHRoZSB3b3JkCiAgICAgICB3Y291bnQ9d2Nv
dW50KzEKICAgICAgIHdvcmQgPSBFWFRSQUNUKGxpbmUsMSxuZC0xKQogICAgICAgQ0FMTCB1
cGRhdGVfdm9jYWJfbGlzdHMKICAgIEVORElGCiAgICBsaW5lID0gUkVNT1ZFKGxpbmUsMSxu
ZCkgICEgc3RyaXBzIHRoZSBjb3VudGVkIHdvcmQgYW5kIGl0cyB0ZXJtaW5hdG9yIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAhIGZyb20gdGhlIGxpbmUgcmVkdWNpbmcgaXRz
IGxlbmd0aCBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISByZXNjYW5u
aW5nIGZvciB0aGUgbmV4dCB3b3JkCiAgRU5ERE8gd29yZF9zY2FuIAogIElGKG5kID4gMSlU
SEVOICAhIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaW4gdGhlIHdvcmQKICAgICB3Y291bnQ9
d2NvdW50KzEKICAgICB3b3JkID0gRVhUUkFDVChsaW5lLDEsbmQtMSkKICAgICBDQUxMIHVw
ZGF0ZV92b2NhYl9saXN0cwogICBFTkRJRgpFTkRETyBmaWxlX3JlYWQgCklGKGllcnIgPCAw
KVRIRU4gCiAgV1JJVEUoKiwqKSAiTm8uIG9mIHdvcmRzIGluIGZpbGUgPSIsd2NvdW50IAog
IFdSSVRFKCosKikgIlRoZXJlIGFyZSAiLGxpc3RfdG9wLCIgIGRpc3RpbmN0IHdvcmRzIgog
IFdSSVRFKCosKikgIndpdGggdGhlIGZvbGxvd2luZyBmcmVxdWVuY2llcyBvZiBvY2N1cmVu
Y2UiCiAgcHJpbnRfbG9vcDogRE8gaT0xLGxpc3RfdG9wCiAgICBXUklURSgqLEZNVD0nKDFY
LEk2LDJYKScsQURWQU5DRT0nTk8nKSBmcmVxKGkpCiAgICBDQUxMIFBVVF9MSU5FKFNUUklO
Rz12b2NhYihpKSVjaGFycykKICBFTkRETyBwcmludF9sb29wCkVMU0VJRihpZXJyID4gMClU
SEVOIAogIFdSSVRFKCosKikgIkVycm9yIGluIEdFVCBpbiB2b2NhYnVsYXJ5X3dvcmRfY291
bnQsIE5vLiIsaWVycgpFTkRJRiAKCkNPTlRBSU5TCgpTVUJST1VUSU5FIGV4dGVuZF9saXN0
cwohLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0hCiEgQWNjZXNzZXMgdGhlIGhvc3QgdmFyaWFi
bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEK
ISAgdHlwZShWQVJZSU5HX1NUUklORyksQUxMT0NBVEFCTEUsRElNRU5TSU9OKDopIDo6IHZv
Y2FiICAgICAgICAgICAgICAgICAgICAgIQohICBJTlRFR0VSLEFMTE9DQVRBQkxFLERJTUVO
U0lPTig6KSAgICAgICAgICAgICAgOjogZnJlcSAgICAgICAgICAgICAgICAgICAgICAhCiEg
IElOVEVHRVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6OiBsaXN0
X3NpemUgICAgICAgICAgICAgICAgICEKISBzbyBhcyB0byBleHRlbmQgdGhlIHNpemUgb2Yg
dGhlIGxpc3RzIHByZXNlcnZpbmcgdGhlIGV4aXN0aW5nIHZvY2FidWxhcnkgICAgIQohIGFu
ZCBmcmVxdWVuY3kgaW5mb3JtYXRpb24gaW4gdGhlIG5ldyBleHRlbmRlZCBsaXN0cyAgICAg
ICAgICAgICAgICAgICAgICAgICAhCiEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSEKdHlwZShW
QVJZSU5HX1NUUklORyksRElNRU5TSU9OKGxpc3Rfc2l6ZSkgOjogdm9jYWJfc3dhcApJTlRF
R0VSLERJTUVOU0lPTihsaXN0X3NpemUpICAgICAgICAgICAgICA6OiBmcmVxX3N3YXAKSU5U
RUdFUixQQVJBTUVURVIgOjogbGlzdF9pbmNyZW1lbnQ9MTAwCklOVEVHRVIgICAgICAgICAg
IDo6IG5ld19saXN0X3NpemUsYWxlcnIKdm9jYWJfc3dhcCA9IHZvY2FiICAhIGNvcHkgb2xk
IGxpc3QgaW50byB0ZW1wb3Jhcnkgc3BhY2UKZnJlcV9zd2FwID1mcmVxCm5ld19saXN0X3Np
emUgPSBsaXN0X3NpemUgKyBsaXN0X2luY3JlbWVudApERUFMTE9DQVRFKHZvY2FiLGZyZXEp
CkFMTE9DQVRFKHZvY2FiKDE6bmV3X2xpc3Rfc2l6ZSksZnJlcSgxOm5ld19saXN0X3NpemUp
LFNUQVQ9YWxlcnIpCklGKGFsZXJyIC89IDApVEhFTgogIFdSSVRFKCosKikgIlVuYWJsZSB0
byBleHRlbmQgdm9jYWJ1bGFyeSBsaXN0IgogIFNUT1AKRU5ESUYKdm9jYWIoMTpsaXN0X3Np
emUpID0gdm9jYWJfc3dhcCAgICEgY29weSBvbGQgbGlzdCBiYWNrIGludG8gYm90dG9tCmZy
ZXEoMTpsaXN0X3NpemUpID0gZnJlcV9zd2FwICAgICAhIG9mIG5ldyBleHRlbmRlZCBsaXN0
Cmxpc3Rfc2l6ZSA9IG5ld19saXN0X3NpemUKRU5EU1VCUk9VVElORSBleHRlbmRfbGlzdHMK
ClNVQlJPVVRJTkUgdXBkYXRlX3ZvY2FiX2xpc3RzCiEtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSEKISBBY2Nlc3NlcyB0aGUgaG9zdCB2YXJpYWJsZXM6ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIQohICB0eXBlKFZBUllJTkdfU1RSSU5HKSxB
TExPQ0FUQUJMRSxESU1FTlNJT04oOikgOjogdm9jYWIgICAgICAgICAgICAgICAgICAgICAh
CiEgIElOVEVHRVIsQUxMT0NBVEFCTEUsRElNRU5TSU9OKDopICAgICAgICAgICAgICA6OiBm
cmVxICAgICAgICAgICAgICAgICAgICAgICEKISAgSU5URUdFUiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDo6IGxpc3Rfc2l6ZSxsaXN0X3RvcCAgICAgICAgIQoh
ICB0eXBlKFZBUllJTkdfU1RSSU5HKSAgICAgICAgICAgICAgICAgICAgICAgICAgOjogd29y
ZCAgICAgICAgICAgICAgICAgICAgICAhCiEgc2VhcmNoZXMgdGhlIGV4aXN0aW5nIHdvcmRz
IGluIHZvY2FiIHRvIGZpbmQgYSBtYXRjaCBmb3Igd29yZCAgICAgICAgICAgICAgICEKISBp
ZiBmb3VuZCBpbmNyZW1lbnRzIHRoZSBmcmVxIGlmIG5vdCBmb3VuZCBhZGRzIHdvcmQgdG8g
ICAgICAgICAgICAgICAgICAgICAgIQohIGxpc3RfdG9wICsgMSAgdm9jYWIgbGlzdCBhbmQg
c2V0cyBjb3JyZXNwb25kaW5nIGZyZXEgdG8gMSAgICAgICAgICAgICAgICAgICAhCiEgaWYg
bGlzdF9zaXplIGV4Y2VlZGVkIGV4dGVuZCB0aGUgbGlzdCBzaXplIGJlZm9yZSB1cGRhdGlu
ZyAgICAgICAgICAgICAgICAgICEKIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIQpJTlRFR0VS
IDo6IGkgICAhIGxvb3AgaW5kZXggCmxpc3Rfc2VhcmNoOiBETyBpPTEsbGlzdF90b3AKICBJ
Rih3b3JkID09IHZvY2FiKGkpJWNoYXJzKVRIRU4KICAgIGZyZXEoaSkgPSBmcmVxKGkpICsg
MQogICAgUkVUVVJOCiAgRU5ESUYKRU5ERE8gbGlzdF9zZWFyY2gKSUYobGlzdF90b3AgPT0g
bGlzdF9zaXplKVRIRU4KICBDQUxMIGV4dGVuZF9saXN0cwpFTkRJRgpsaXN0X3RvcCA9IGxp
c3RfdG9wICsgMQp2b2NhYihsaXN0X3RvcCklY2hhcnMgPSB3b3JkCmZyZXEobGlzdF90b3Ap
ID0gMQpFTkRTVUJST1VUSU5FIHVwZGF0ZV92b2NhYl9saXN0cwoKRU5EUFJPR1JBTSB2b2Nh
YnVsYXJ5X3dvcmRfY291bnQKCi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u
Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCg==
--------------040803000802060904060501--

