T24gRnJpLCBPY3QgMTAsIDIwMDggYXQgMTA6MTMgQU0sIE1hdHRoZXcgTW9zcyA8bWF0dEBtb3Nz
Lm5hbWU+IHdyb3RlOgo+IC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQo+Cj4gVGhlIHRocmVlIHJ1bGVzIG9mIFJ1Ynkg
UXVpeiAyOgo+Cj4gMS4gIFBsZWFzZSBkbyBub3QgcG9zdCBhbnkgc29sdXRpb25zIG9yIHNwb2ls
ZXIgZGlzY3Vzc2lvbiBmb3IgdGhpcwo+IHF1aXogdW50aWwgNDggaG91cnMgaGF2ZSBwYXNzZWQg
ZnJvbSB0aGUgdGltZSBvbiB0aGlzIG1lc3NhZ2UuCj4KPiAyLiAgU3VwcG9ydCBSdWJ5IFF1aXog
MiBieSBzdWJtaXR0aW5nIGlkZWFzIGFzIG9mdGVuIGFzIHlvdSBjYW4hIChBCj4gcGVybWFuZW50
LCBuZXcgd2Vic2l0ZSBpcyBpbiB0aGUgd29ya3MgZm9yIFJ1YnkgUXVpeiAyLiBVbnRpbCB0aGVu
LAo+IHBsZWFzZSB2aXNpdCB0aGUgdGVtcG9yYXJ5IHdlYnNpdGUgYXQKPgo+ICAgIDxodHRwOi8v
c3BsYXRiYW5nLmNvbS9ydWJ5cXVpei8+Lgo+Cj4gMy4gIEVuam95IQo+Cj4gU3VnZ2VzdGlvbjog
IEEgW1FVSVpdIGluIHRoZSBzdWJqZWN0IG9mIGVtYWlscyBhYm91dCB0aGUgcHJvYmxlbQo+IGhl
bHBzIGV2ZXJ5b25lIG9uIFJ1YnkgVGFsayBmb2xsb3cgdGhlIGRpc2N1c3Npb24uICBQbGVhc2Ug
cmVwbHkgdG8KPiB0aGUgb3JpZ2luYWwgcXVpeiBtZXNzYWdlLCBpZiB5b3UgY2FuLgo+Cj4gLT0t
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09
LT0tPS09LT0tCj4KPiAjIyBNb2R1bGFyIEFyaXRobWV0aWMgKCMxNzkpCj4KPiBfUXVpeiBpZGVh
IHByb3ZpZGVkIGJ5IEpha3ViIEt1vG1hXwo+Cj4gW01vZHVsYXJdWzFdIFthcml0aG1ldGljXVsy
XSBpcyBpbnRlZ2VyLWJhc2VkIGFyaXRobWV0aWMgaW4gd2hpY2ggdGhlCj4gb3BlcmFuZHMgYW5k
IHJlc3VsdHMgYXJlIGNvbnN0cmFpbmVkIHRvIGEgbGltaXRlZCByYW5nZSwgZnJvbSB6ZXJvIHRv
IG9uZQo+IGxlc3MgdGhhbiB0aGUgbW9kdWx1cy4gVGFrZSwgZm9yIGV4YW1wbGUsIHRoZSAyNC1o
b3VyIGNsb2NrLiBIb3VycyBvbiB0aGUKPiBjbG9jayBzdGFydCBhdCAwIGFuZCBpbmNyZWFzZSB1
cCB0byAoYW5kIGluY2x1ZGUpIDIzLiBCdXQgYWJvdmUgdGhhdCwgd2UKPiBtdXN0IHVzZSB0aGUg
YXBwcm9wcmlhdGUgY29uZ3J1ZW50IHZhbHVlIG1vZHVsbyAyNC4gRm9yIGV4YW1wbGUsIGlmIEkg
d2FudGVkCj4gdG8ga25vdyB3aGF0IHRpbWUgaXQgd291bGQgYmUgc2V2ZW4gaG91cnMgYWZ0ZXIg
MTBwbSwgSSB3b3VsZCBhZGQgMjIgYW5kIDcKPiB0byBnZXQgMjkuIEFzIHRoYXQgaXMgb3V0c2lk
ZSB0aGUgcmFuZ2UgYFswLCAyNClgLCBJIHRha2UgdGhlIGNvbmdydWVudAo+IHZhbHVlIG1vZCAy
NCwgd2hpY2ggaXMgNS4gIFNvIHNldmVuIGhvdXJzIGFmdGVyIDEwcG0gaXMgNWFtLgo+Cj4gWW91
ciB0YXNrIHRoaXMgd2VlayBpcyB0byB3cml0ZSBhIGNsYXNzIGBNb2R1bG9gIHRoYXQgYmVoYXZl
cyBpbiBhbG1vc3QgYWxsCj4gd2F5cyBsaWtlIGFuIGBJbnRlZ2VyYC4gSXQgc2hvdWxkIHN1cHBv
cnQgYWxsIGJhc2ljIG9wZXJhdGlvbnM6IGFkZGl0aW9uLAo+IHN1YnRyYWN0aW9uLCBtdWx0aXBs
aWNhdGlvbiwgZXhwb25lbnRpYXRpb24sIGNvbnZlcnNpb24gdG8gc3RyaW5nLCBldGMuIFRoZQo+
IHNpZ25pZmljYW50IGRpZmZlcmVuY2UsIG9mIGNvdXJzZSwgaXMgdGhhdCBhbiBpbnN0YW5jZSBv
ZiBgTW9kdWxvYCBzaG91bGQKPiBhY3QgbW9kdWxhcmx5Lgo+Cj4gRm9yIGV4YW1wbGU6Cj4KPiAg
ICMgVGhlIGRlZmF1bHQgbW9kdWx1cyBpcyAyNi4KPiAgID4gYSA9IE1vZHVsby5uZXcoMTUpCj4g
ICA+IGIgPSBNb2R1bG8ubmV3KDE5KQo+ICAgPiBwdXRzIChhICsgYikKPiAgIDgKPiAgID4gcHV0
cyAoYSAtIGIpCj4gICAyMgo+ICAgPiBwdXRzIChiICogMykKPiAgIDUKPgo+IEFzIG5vdGVkIGlu
IHRoZSBleGFtcGxlLCB5b3Ugc2hvdWxkIHVzZSBhIG1vZHVsdXMgb2YgMjYgaWYgbm9uZSBpcyBz
cGVjaWZpZWQKPiBpbiB0aGUgaW5pdGlhbGl6ZXIuCj4KPiBXaGlsZSBtb3N0IG9wZXJhdGlvbnMg
d2lsbCBiZSBzdHJhaWdodGZvcndhcmQsIG1vZHVsYXIgZGl2aXNpb24gaXMgYSBiaXQKPiB0cmlj
a2llci4gW0hlcmUgaXMgb25lIGFydGljbGVdWzNdIHRoYXQgZXhwbGFpbnMgaG93IGl0IGNhbiBi
ZSBkb25lLCBidXQgSQo+IHdpbGwgbGVhdmUgZGl2aXNpb24gYXMgZXh0cmEgY3JlZGl0Lgo+Cj4g
RW5qb3kgdGhpcyB0ZXN0IGZpbGUgYXMgeW91IGdldCBzdGFydGVkLi4uCj4KPiAgIHJlcXVpcmUg
J3Rlc3QvdW5pdCcKPiAgIHJlcXVpcmUgJ21vZHVsbycKPgo+ICAgY2xhc3MgVGVzdE1vZHVsbyA8
IFRlc3Q6OlVuaXQ6OlRlc3RDYXNlCj4gICAgICBkZWYgdGVzdF9tb2R1bG9fZXF1YWxpdHkKPiAg
ICAgICAgIGEgPSBNb2R1bG8ubmV3KDIzKQo+ICAgICAgICAgYiA9IE1vZHVsby5uZXcoMjMpCj4g
ICAgICAgICBjID0gTW9kdWxvLm5ldygxNzkpCj4gICAgICAgICBhc3NlcnRfZXF1YWwoYSwgYikK
PiAgICAgICAgIGFzc2VydF9lcXVhbChhLCBjKQo+ICAgICAgZW5kCj4KPiAgICAgIGRlZiB0ZXN0
X2FkZF96ZXJvCj4gICAgICAgICBhID0gTW9kdWxvLm5ldygxNSkKPiAgICAgICAgIGIgPSBNb2R1
bG8ubmV3KDApCj4gICAgICAgICBhc3NlcnRfZXF1YWwoYSwgYSArIGIpCj4gICAgICBlbmQKPgo+
ICAgICAgZGVmIHRlc3RfYWRkCj4gICAgICAgICBhID0gTW9kdWxvLm5ldygxNSkKPiAgICAgICAg
IGIgPSBNb2R1bG8ubmV3KDE5KQo+ICAgICAgICAgYyA9IE1vZHVsby5uZXcoOCkKPiAgICAgICAg
IGFzc2VydF9lcXVhbChjLCBhICsgYikKPiAgICAgIGVuZAo+Cj4gICAgICBkZWYgdGVzdF9hZGRf
aW50Cj4gICAgICAgICBhID0gTW9kdWxvLm5ldygxNSkKPiAgICAgICAgIGMgPSBNb2R1bG8ubmV3
KDEwKQo+ICAgICAgICAgYXNzZXJ0X2VxdWFsKGMsIGEgKyAyMSkKPiAgICAgIGVuZAo+Cj4gICAg
ICBkZWYgdGVzdF9zdWIKPiAgICAgICAgIGEgPSBNb2R1bG8ubmV3KDE1KQo+ICAgICAgICAgYiA9
IE1vZHVsby5uZXcoMTkpCj4gICAgICAgICBjID0gTW9kdWxvLm5ldygyMikKPiAgICAgICAgIGFz
c2VydF9lcXVhbChjLCBhIC0gYikKPiAgICAgIGVuZAo+Cj4gICAgICBkZWYgdGVzdF9zdWJfaW50
Cj4gICAgICAgICBhID0gTW9kdWxvLm5ldygxNSkKPiAgICAgICAgIGMgPSBNb2R1bG8ubmV3KDEp
Cj4gICAgICAgICBhc3NlcnRfZXF1YWwoYywgYSAtIDY2KQo+ICAgICAgZW5kCj4KPiAgICAgIGRl
ZiB0ZXN0X211bAo+ICAgICAgICAgYSA9IE1vZHVsby5uZXcoMTUpCj4gICAgICAgICBiID0gTW9k
dWxvLm5ldyg3KQo+ICAgICAgICAgYyA9IE1vZHVsby5uZXcoMSkKPiAgICAgICAgIGFzc2VydF9l
cXVhbChjLCBhICogYikKPiAgICAgIGVuZAo+Cj4gICAgICBkZWYgdGVzdF9tdWxfaW50Cj4gICAg
ICAgICBhID0gTW9kdWxvLm5ldygxNSkKPiAgICAgICAgIGMgPSBNb2R1bG8ubmV3KDkpCj4gICAg
ICAgICBhc3NlcnRfZXF1YWwoYywgYSAqIDExKQo+ICAgICAgZW5kCj4KPiAgICAgIGRlZiB0ZXN0
X211bF9pbnRfcmV2ZXJzZQo+ICAgICAgICAgYSA9IE1vZHVsby5uZXcoMTUsIDgpCj4gICAgICAg
ICBhc3NlcnRfZXF1YWwoNzcsIDExICogYSkKPiAgICAgIGVuZAo+Cj4gICAgICBkZWYgdGVzdF9u
b25fZGVmYXVsdF9tb2R1bG8KPiAgICAgICAgIGEgPSBNb2R1bG8ubmV3KDE1LCAxMSkKPiAgICAg
ICAgIGIgPSBNb2R1bG8ubmV3KDksIDExKQo+Cj4gICAgICAgICBhc3NlcnRfZXF1YWwoMiwgYSAr
IGIpCj4gICAgICAgICBhc3NlcnRfZXF1YWwoNiwgYSAtIGIpCj4gICAgICAgICBhc3NlcnRfZXF1
YWwoMywgYSAqIGIpCj4gICAgICBlbmQKPgo+ICAgICAgZGVmIHRlc3RfY29tcGFyZQo+ICAgICAg
ICAgYXNzZXJ0X2VxdWFsKDEsIE1vZHVsby5uZXcoMTUpIDw9PiBNb2R1bG8ubmV3KDMwKSkKPiAg
ICAgIGVuZAo+Cj4gICAgICBkZWYgdGVzdF9jb21wYXJlX2ludAo+ICAgICAgICAgYXNzZXJ0X2Vx
dWFsKC0xLCBNb2R1bG8ubmV3KDE1KSA8PT4gMzUpCj4gICAgICBlbmQKPgo+ICAgICAgZGVmIHRl
c3Rfc29ydAo+ICAgICAgICAgeCA9IFtNb2R1bG8ubmV3KDE1KSwgTW9kdWxvLm5ldygyOSksIE1v
ZHVsby5uZXcoLTYpLCBNb2R1bG8ubmV3KDU3KV0KPiAgICAgICAgIHkgPSBbMywgNSwgMTUsIDIw
XQo+ICAgICAgICAgYXNzZXJ0X2VxdWFsKHksIHguc29ydCkKPiAgICAgIGVuZAo+ICAgZW5kCgpM
YXp5LCBtaW5pbWFsaXN0aWMgdmVyc2lvbi4uLgoKY2xhc3MgTW9kdWxvCiAgZGVmIGluaXRpYWxp
emUodiwgYiA9IDI2KTsgQHYsIEBiID0gdiAlIGIsIGI7IGVuZAogIGRlZiB0b19pOyBAdjsgZW5k
CiAgZGVmID09IG87IEB2ID09IG8udG9faSAlIEBiOyBlbmQKICBkZWYgPD0+IG87IEB2IDw9PiBv
LnRvX2k7IGVuZAogIFs6KywgOi0sIDoqXS5lYWNoIHt8b3B8IGRlZmluZV9tZXRob2Qob3ApIHt8
cmh8Cmluc3RhbmNlX2V2YWwoIk1vZHVsby5uZXcoKEB2ICN7b3B9ICN7cmgudG9faX0pICUgQGIp
Iil9fQplbmQKCgpFcnJvciBpbiB0ZXN0X211bF9pbnRfcmV2ZXJzZSwgdGhvdWdoLgoKVG9kZAo=