Re: master: Perform local common subexpression elimination for some memory loads

Stas Boukarev <[email protected]> Tue, 4 Aug 2026 07:17:39 +0300
Newsgroups gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel
Message-ID <CAF63=13_uFB6iNdMaFQ7948JoWk5SwUCQH3_jcbrEd_0-S4mmw@mail.gmail.com>
KGRlZnVuIGoyICh4IG4pCiAgKGRlY2xhcmUgKG9wdGltaXplIChkZWJ1ZyAwKSkpCiAgKGxldCAo
KHkgKDErIHgpKSkKICAgIChsaXN0ICgxKyAoY2FyIG4pKQogICAgICAgICAgKGNhciBuKQogICAg
ICAgICAgKGNkciBuKQogICAgICAgICAgeSB5KSkpCmluY3JlYXNlcyBzdGFjayB1c2FnZSBkdWUg
dG8gaGF2aW5nIHRvIHNhdmUgdGhlIG5ldyBzaGFyZWQgdmFyaWFibGUgb24KdGhlIHN0YWNrLgoK
T24gVHVlLCBBdWcgNCwgMjAyNiBhdCA3OjA04oCvQU0gU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNA
Z21haWwuY29tPiB3cm90ZToKPgo+IChkZWZ1biBrICh4IG4pCj4gICAobGV0ICgoeSAoMSsgeCkp
KQo+ICAgICAodmFsdWVzIHkgeQo+ICAgICAgICAgICAgIChlcSAoY2FyIChjb3B5LXRyZWUgbikp
Cj4gICAgICAgICAgICAgICAgIChjYXIgKGNvcHktdHJlZSBuKSkpKSkpCj4gPT4KPiAoayAxICco
KDEpKSkKPiA9Pgo+IDIKPiAyCj4gVAo+Cj4gT24gVHVlLCBBdWcgNCwgMjAyNiBhdCA2OjQ34oCv
QU0gU3RhcyBCb3VrYXJldiA8c3Rhc3NhdHNAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPiAoZGVm
dW4gaiAoeCkKPiA+ICAgKGxldCAoKHkgKDErIHgpKSkKPiA+ICAgICAodmFsdWVzIHkgeQo+ID4g
ICAgICAgICAgICAgKGNhciAqKQo+ID4gICAgICAgICAgICAgKHNldGYgKiAnKGIpKQo+ID4gICAg
ICAgICAgICAgKGNhciAqKSkpKQo+ID4gKGxldCAoKCogJyhhKSkpIChqIDEpKQo+ID4gPT4KPiA+
IDIKPiA+IDIKPiA+IEEKPiA+IChCKQo+ID4gQQo+ID4KPiA+IE9uIFR1ZSwgQXVnIDQsIDIwMjYg
YXQgNDoyMuKAr0FNIFN0YXMgQm91a2FyZXYgPHN0YXNzYXRzQGdtYWlsLmNvbT4gd3JvdGU6Cj4g
PiA+Cj4gPiA+IChkZWZzdHJ1Y3Qgcwo+ID4gPiAgICh4IChtYWtlLWFycmF5IDMpKSkKPiA+ID4K
PiA+ID4gKGxldCAoKikKPiA+ID4gICAobGFtYmRhICgpCj4gPiA+ICAgICAobGV0KiAoKHMgIy4o
bWFrZS1zKSkKPiA+ID4gICAgICAgICAgICAoYSAocy14IHMpKQo+ID4gPiAgICAgICAgICAgIChi
IChzLXggcykpKQo+ID4gPiAgICAgICAodmFsdWVzIChhcmVmIGEgMCkKPiA+ID4gICAgICAgICAg
ICAgICAoYXJlZiBiIDApKSkpKQo+ID4gPgo+ID4gPgo+ID4gPiBkZWJ1Z2dlciBpbnZva2VkIG9u
IGEgU0ItSU5UOkJVRyBAQjgwMDdCODVBRCBpbiB0aHJlYWQKPiA+ID4gIzxUSFJFQUQgdGlkPTE5
ODY0MDIgIm1haW4gdGhyZWFkIiBSVU5OSU5HIHsxMjAxNEYwMDAzfT46Cj4gPiA+ICAgICBmYWls
ZWQgQVZFUjogKEVRIEVOViAoTEFNQkRBLUVOVklST05NRU5UIChMQU1CREEtVkFSLUhPTUUgVEhJ
TkcpKSkKPiA+ID4KPiA+ID4gT24gVHVlLCBBdWcgNCwgMjAyNiBhdCAzOjU54oCvQU0gc251Z2xh
cyB2aWEgU2JjbC1jb21taXRzCj4gPiA+IDxzYmNsLWNvbW1pdHNAbGlzdHMuc291cmNlZm9yZ2Uu
bmV0PiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IFRoZSBicmFuY2ggIm1hc3RlciIgaGFzIGJlZW4g
dXBkYXRlZCBpbiBTQkNMOgo+ID4gPiA+ICAgICAgICB2aWEgIDEwMGM5YzJiZGNkY2I4NGZmMDRj
OGZlZWY5ODNhNWI0NDY5NWM5N2EgKGNvbW1pdCkKPiA+ID4gPiAgICAgICBmcm9tICBiNTQxZjJm
MjViMTRiNjJmY2FiN2UxNGFhNTEyNGRiNWRkMWQ2YjIwIChjb21taXQpCj4gPiA+ID4KPiA+ID4g
PiAtIExvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+IGNvbW1pdCAxMDBjOWMyYmRjZGNiODRmZjA0YzhmZWVm
OTgzYTViNDQ2OTVjOTdhCj4gPiA+ID4gQXV0aG9yOiBEb3VnbGFzIEthdHptYW4gPGRvdWdrQGdv
b2dsZS5jb20+Cj4gPiA+ID4gRGF0ZTogICBUdWUgQXVnIDQgMDA6NTg6MjEgMjAyNiArMDAwMAo+
ID4gPiA+Cj4gPiA+ID4gICAgIFBlcmZvcm0gbG9jYWwgY29tbW9uIHN1YmV4cHJlc3Npb24gZWxp
bWluYXRpb24gZm9yIHNvbWUgbWVtb3J5IGxvYWRzCj4gPiA+ID4KPiA+ID4gPiAgICAgVGhlIHRl
Y2huaXF1ZSBpcyB0byBmaW5kICJlcXVpdmFsZW50IiBsb2FkcyBpbiBiZXR3ZWVuIHdoaWNoIHRo
ZXJlIGlzIG5vCj4gPiA+ID4gICAgIGNvbXB1dGF0aW9uIHRoYXQgYWZmZWN0cyB0aGUgcmVzdWx0
IG9mIHRoZSBsb2FkLiBBbHNvIGl0IG5lZWRzIGEgc3Vycm91bmRpbmcKPiA+ID4gPiAgICAgTEVU
LCB3aGljaCBpcyBhdWdtZW50ZWQgd2l0aCBhIG5ldyB0ZW1wIHZhcmlhYmxlIGFzIGlmIHRoZSB1
c2VyIGRpZCB0aGF0Lgo+ID4gPiA+ICAgICBUaGlzIGlzIHNsaWdodGx5IGRlZmljaWVudCBmb3Ig
dmFyaW91cyByZWFzb25zOgo+ID4gPiA+ICAgICAxLiBpdCB3b24ndCBkbyBhbnl0aGluZyB3aXRo
b3V0IHRoZSBMRVQKPiA+ID4gPiAgICAgMi4gdGhlIG1vcmUga2luZHMgb2YgY29tbW9uIHN1YmV4
cHJlc3Npb25zIHdlIGFsbG93IChzdWNoIGFzIG1hdGgpLAo+ID4gPiA+ICAgICAgICB0aGUgc2xv
d2VyIElSMS1PUFRJTUlaRS1DT01CSU5BVElPTiBpcyBnb2luZyB0byBydW4KPiA+ID4gPiAgICAg
My4gdGhlcmUgYXJlIHBvc3NpYmx5IG90aGVyIG5vZGUgdHlwZXMgdGhhdCBzaG91bGQgYmUgYWxs
b3dlZCB0byBpbnRlcnZlbmUKPiA+ID4gPgo+ID4gPiA+ICAgICBPbiB0aGUgcGx1cyBzaWRlLCBp
dCdzIG5vdCBhbGwgdGhhdCBoYXJkIHRvIGV4dGVuZCB0aGUgbG9naWMgdG8gYWNjZXB0Cj4gPiA+
ID4gICAgIG90aGVyIGZ1bmN0aW9ucyBhcyBwYXJ0aWNpcGFudHMgaW4gY29tbW9uIHN1YmV4cHJl
c3Npb25zLgo+ID4gPiA+Cj4gPiA+ID4gICAgIEFsbCB0ZXN0IGNhc2VzIHBsdXMgYSBsaXR0bGUg
Yml0IG9mIGFzc2lzdGFuY2UgZnJvbSBHZW1pbmkKPiA+ID4gPiAtLS0KPiA+ID4gPiAgc3JjL2Nv
bXBpbGVyL2lyMW9wdC5saXNwIHwgMTc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwo+ID4gPiA+ICB0ZXN0cy9sY3NlLnB1cmUubGlzcCAgICAgfCAyMzQgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ID4gPiAgeHBlcmZlY3RoYXNo
MzAubGlzcC1leHByIHwgICAzICsKPiA+ID4gPiAgeHBlcmZlY3RoYXNoNjEubGlzcC1leHByIHwg
ICAzICsKPiA+ID4gPiAgeHBlcmZlY3RoYXNoNjMubGlzcC1leHByIHwgICAzICsKPiA+ID4gPiAg
NSBmaWxlcyBjaGFuZ2VkLCA0MjIgaW5zZXJ0aW9ucygrKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAt
LWdpdCBhL3NyYy9jb21waWxlci9pcjFvcHQubGlzcCBiL3NyYy9jb21waWxlci9pcjFvcHQubGlz
cAo+ID4gPiA+IGluZGV4IDg1NTk4MjRmMS4uZGFjMzkzZTMxIDEwMDY0NAo+ID4gPiA+IC0tLSBh
L3NyYy9jb21waWxlci9pcjFvcHQubGlzcAo+ID4gPiA+ICsrKyBiL3NyYy9jb21waWxlci9pcjFv
cHQubGlzcAo+ID4gPiA+IEBAIC0xMjIwLDYgKzEyMjAsMTgyIEBACj4gPiA+ID4gICAgICAgICAg
ICAgIChzaG93LXR5cGUtZGVyaXZhdGlvbiBjb21iaW5hdGlvbiByZXMpKQo+ID4gPiA+ICAgICAg
ICAgICAgKGNvZXJjZS10by12YWx1ZXMgcmVzKSkpKSkpCj4gPiA+ID4KPiA+ID4gPiArKGRlZnVu
IGNvbGxlY3QtbHZhci12YXJzIChsdmFyKQo+ID4gPiA+ICsgIChkZWNsYXJlICh0eXBlIGx2YXIg
bHZhcikpCj4gPiA+ID4gKyAgKGxldCAoKHVzZSAocHJpbmNpcGFsLWx2YXItdXNlIGx2YXIpKSkK
PiA+ID4gPiArICAgIChjb25kICgocmVmLXAgdXNlKQo+ID4gPiA+ICsgICAgICAgICAgIChsZXQg
KChsZWFmIChyZWYtbGVhZiB1c2UpKSkKPiA+ID4gPiArICAgICAgICAgICAgICh3aGVuIChsYW1i
ZGEtdmFyLXAgbGVhZikKPiA+ID4gPiArICAgICAgICAgICAgICAgKGxpc3QgbGVhZikpKSkKPiA+
ID4gPiArICAgICAgICAgICgoY29tYmluYXRpb24tcCB1c2UpCj4gPiA+ID4gKyAgICAgICAgICAg
KG1hcGNhbiAjJ2NvbGxlY3QtbHZhci12YXJzIChiYXNpYy1jb21iaW5hdGlvbi1hcmdzIHVzZSkp
KQo+ID4gPiA+ICsgICAgICAgICAgKHQgbmlsKSkpKQo+ID4gPiA+ICsKPiA+ID4gPiArKGRlZnVu
IGZpbmQtYWN0aXZlLWxldC1sYW1iZGEgKG5vZGUpCj4gPiA+ID4gKyAgKGRlY2xhcmUgKHR5cGUg
bm9kZSBub2RlKSkKPiA+ID4gPiArICAobG9vcCBmb3IgZW52ID0gKG5vZGUtbGV4ZW52IG5vZGUp
IHRoZW4gKGxleGVudi1wYXJlbnQgZW52KQo+ID4gPiA+ICsgICAgICAgIHdoaWxlIGVudgo+ID4g
PiA+ICsgICAgICAgIGRvIChsZXQgKChsIChsZXhlbnYtbGFtYmRhIGVudikpKQo+ID4gPiA+ICsg
ICAgICAgICAgICAgKHdoZW4gKGFuZCBsCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg
IChmdW5jdGlvbmFsLWtpbmQtZXEgbCBsZXQpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg
ICAgIChub3QgKGZ1bmN0aW9uYWwta2luZC1lcSBsIHpvbWJpZSkpKQo+ID4gPiA+ICsgICAgICAg
ICAgICAgICAocmV0dXJuIGwpKSkpKQo+ID4gPiA+ICsKPiA+ID4gPiArKGRlZnVuIGFkZC12YXJp
YWJsZS10by1sZXQtbGFtYmRhIChsZXQtbGFtYmRhIHYpCj4gPiA+ID4gKyAgKGRlY2xhcmUgKHR5
cGUgY2xhbWJkYSBsZXQtbGFtYmRhKQo+ID4gPiA+ICsgICAgICAgICAgICh0eXBlIGxhbWJkYS12
YXIgdikpCj4gPiA+ID4gKyAgKHNldGYgKGxhbWJkYS12YXItaG9tZSB2KSBsZXQtbGFtYmRhKQo+
ID4gPiA+ICsgIChzZXRmIChsYW1iZGEtdmFycyBsZXQtbGFtYmRhKSAoYXBwZW5kIChsYW1iZGEt
dmFycyBsZXQtbGFtYmRhKSAobGlzdCB2KSkpCj4gPiA+ID4gKyAgOzsgVXBkYXRlIHRoZSBjYWxs
IHRvIHRoZSBMRVQgbGFtYmRhCj4gPiA+ID4gKyAgKGxldCogKChyZWYgKGNhciAobGVhZi1yZWZz
IGxldC1sYW1iZGEpKSkKPiA+ID4gPiArICAgICAgICAgKGNhbGwgKGFuZCByZWYKPiA+ID4gPiAr
ICAgICAgICAgICAgICAgICAgICAobm9kZS1sdmFyIHJlZikKPiA+ID4gPiArICAgICAgICAgICAg
ICAgICAgICAobHZhci1kZXN0IChub2RlLWx2YXIgcmVmKSkpKSkKPiA+ID4gPiArICAgICh3aGVu
IChhbmQgY2FsbCAoY29tYmluYXRpb24tcCBjYWxsKSkKPiA+ID4gPiArICAgICAgKGxldCAoKGR1
bW15LWx2YXIgKG1ha2UtbHZhcikpKQo+ID4gPiA+ICsgICAgICAgIChzZXRmIChsdmFyLWRlc3Qg
ZHVtbXktbHZhcikgY2FsbCkKPiA+ID4gPiArICAgICAgICAoc2V0ZiAoYmFzaWMtY29tYmluYXRp
b24tYXJncyBjYWxsKQo+ID4gPiA+ICsgICAgICAgICAgICAgIChhcHBlbmQgKGJhc2ljLWNvbWJp
bmF0aW9uLWFyZ3MgY2FsbCkgKGxpc3QgZHVtbXktbHZhcikpKQo+ID4gPiA+ICsgICAgICAgIChz
ZXRmIChsdmFyLWRlc3QgZHVtbXktbHZhcikgY2FsbCkpKSkpCj4gPiA+ID4gKwo+ID4gPiA+ICs7
OyBSZXVzZSBvZiBTWU1CT0wtVkFMVUUgb2YgYSBzcGVjaWFsIHZhciB3b3VsZCBiZSBuaWNlLAo+
ID4gPiA+ICs7OyBidXQgU1lNQk9MLVZBTFVFIGl0IGlzIG5vdCByZXByZXNlbnRlZCBhcyBhIGNh
bGwgaW4gSVIxCj4gPiA+ID4gKyhkZWZpbmUtbG9hZC10aW1lLWdsb2JhbCAqZWxpZGFibGUtbWVt
b3J5LWxvYWRzKgo+ID4gPiA+ICsgICAgJyhjYXIgY2RyICVpbnN0YW5jZS1yZWYgJXJhdy1pbnN0
YW5jZS1yZWYvd29yZCAlcmF3LWluc3RhbmNlLXJlZi9zaWduZWQtd29yZAo+ID4gPiA+ICsgICAg
ICBzYXAtcmVmLTE2IHNpZ25lZC1zYXAtcmVmLTE2IHNiLXN5czo6JXNhcC1yZWYtMTYtaW5kZXhl
ZCBzYi1zeXM6OiVzaWduZWQtc2FwLXJlZi0xNi1pbmRleGVkCj4gPiA+ID4gKyAgICAgIHNhcC1y
ZWYtMzIgc2lnbmVkLXNhcC1yZWYtMzIgc2Itc3lzOjolc2FwLXJlZi0zMi1pbmRleGVkIHNiLXN5
czo6JXNpZ25lZC1zYXAtcmVmLTMyLWluZGV4ZWQKPiA+ID4gPiArICAgICAgc2FwLXJlZi02NCBz
aWduZWQtc2FwLXJlZi02NCBzYi1zeXM6OiVzYXAtcmVmLTY0LWluZGV4ZWQgc2Itc3lzOjolc2ln
bmVkLXNhcC1yZWYtNjQtaW5kZXhlZAo+ID4gPiA+ICsgICAgICBzYi1hbGllbjpkZXJlZgo+ID4g
PiA+ICsgICAgICBzYi1hbGllbjphbGllbi1zYXApKQo+ID4gPiA+ICsKPiA+ID4gPiArOzs7IExv
b2sgZm9yIGFueSBub2RlIGVxdWl2YWxlbnQgdG8gTUFUQ0ggY29uc2RlcmluZyBub2RlcyBpbiBy
ZXZlcnNlIHN0YXJ0aW5nIGF0IEZST00uCj4gPiA+ID4gKzs7OyBNZW1vcnkgbG9hZHMgZnJvbSB0
aGUgc2FtZSBvYmplY3Qrc2xvdCBvciBTQVArb2Zmc2V0IGNvdWxkIGJlIGVxdWl2YWxlbnQuCj4g
PiA+ID4gKzs7OyBOb3RoaW5nIGVsc2UgY2FuIGJlIGVxdWl2YWxlbnQgKHVudGlsIEkgZW5oYW5j
ZSB0aGlzKQo+ID4gPiA+ICsoZGVmdW4gZmluZC1lcXVpdmFsZW50LW5vZGUtYmFja3dhcmRzICht
YXRjaCBmcm9tKQo+ID4gPiA+ICsgIChsYWJlbHMgKChsdmFyLWVxdWl2YWxlbnQtcCAobDEgbDIp
Cj4gPiA+ID4gKyAgICAgICAgICAgICAoZGVjbGFyZSAodHlwZSBsdmFyIGwxIGwyKSkKPiA+ID4g
PiArICAgICAgICAgICAgIChjb25kICgoZXEgbDEgbDIpIHQpCj4gPiA+ID4gKyAgICAgICAgICAg
ICAgICAgICAoKGFuZCAoY29uc3RhbnQtbHZhci1wIGwxKSAoY29uc3RhbnQtbHZhci1wIGwyKSkK
PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAoZXFsIChsdmFyLXZhbHVlIGwxKSAobHZhci12
YWx1ZSBsMikpKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgKHQKPiA+ID4gPiArICAgICAg
ICAgICAgICAgICAgICAobGV0ICgodTEgKHByaW5jaXBhbC1sdmFyLXVzZSBsMSkpCj4gPiA+ID4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgKHUyIChwcmluY2lwYWwtbHZhci11c2UgbDIpKSkK
PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIChjb25kICgoYW5kIChyZWYtcCB1MSkgKHJl
Zi1wIHUyKSkKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgKHJlZi1s
ZWFmIHUxKSAocmVmLWxlYWYgdTIpKSkKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICgoYW5kIChjb21iaW5hdGlvbi1wIHUxKSAoY29tYmluYXRpb24tcCB1MikKPiA+ID4gPiAr
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSAoYmFzaWMtY29tYmluYXRpb24t
a2luZCB1MSkgOmtub3duKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKGVxIChiYXNpYy1jb21iaW5hdGlvbi1raW5kIHUyKSA6a25vd24pKQo+ID4gPiA+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIChjb21iaW5hdGlvbi1lcXVpdmFsZW50LXAgdTEgdTIp
KQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHQgbmlsKSkpKSkpCj4gPiA+
ID4gKyAgICAgICAgICAgKGNvbWJpbmF0aW9uLWVxdWl2YWxlbnQtcCAoYzEgYzIpCj4gPiA+ID4g
KyAgICAgICAgICAgICAoZGVjbGFyZSAodHlwZSBjb21iaW5hdGlvbiBjMSBjMikpCj4gPiA+ID4g
KyAgICAgICAgICAgICAoYW5kIChlcSAoYmFzaWMtY29tYmluYXRpb24tZnVuLWluZm8gYzEpIChi
YXNpYy1jb21iaW5hdGlvbi1mdW4taW5mbyBjMikpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg
IChsZXQgKChhcmdzMSAoYmFzaWMtY29tYmluYXRpb24tYXJncyBjMSkpCj4gPiA+ID4gKyAgICAg
ICAgICAgICAgICAgICAgICAgIChhcmdzMiAoYmFzaWMtY29tYmluYXRpb24tYXJncyBjMikpKQo+
ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIChhbmQgKD0gKGxlbmd0aCBhcmdzMSkgKGxlbmd0
aCBhcmdzMikpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlcnkgIydsdmFy
LWVxdWl2YWxlbnQtcCBhcmdzMSBhcmdzMikpKSkpKQo+ID4gPiA+ICsgICAgKGRvICgobm9kZSBm
cm9tIChjdHJhbi11c2UgKG5vZGUtcHJldiBub2RlKSkpKSAoKG51bGwgbm9kZSkpCj4gPiA+ID4g
KyAgICAgICh3aGVuIChhbmQgKGNvbWJpbmF0aW9uLXAgbm9kZSkKPiA+ID4gPiArICAgICAgICAg
ICAgICAgICAoZXEgKGNvbWJpbmF0aW9uLWtpbmQgbm9kZSkgOmtub3duKQo+ID4gPiA+ICsgICAg
ICAgICAgICAgICAgIChub2RlLWx2YXIgbm9kZSkKPiA+ID4gPiArICAgICAgICAgICAgICAgICAo
Y29tYmluYXRpb24tZXF1aXZhbGVudC1wIG5vZGUgbWF0Y2gpKQo+ID4gPiA+ICsgICAgICAgIChy
ZXR1cm4gbm9kZSkpCj4gPiA+ID4gKyAgICAgICh0eXBlY2FzZSBub2RlCj4gPiA+ID4gKyAgICAg
ICAgKChvciBjc2V0IHJlZiBjYXN0IGNvbWJpbmF0aW9uIGNpZikpCj4gPiA+ID4gKyAgICAgICAg
KHQKPiA+ID4gPiArICAgICAgICAgOzsgUmV0dXJuIDpGQUlMIHRvIGFib3J0IHF1aWNrbHkuIFRo
aXMgY291bGQgY2hvb3NlIHRvIGZhaWwgaWYgYSBub24tZmx1c2hhYmxlCj4gPiA+ID4gKyAgICAg
ICAgIDs7IGNvbWJpbmF0aW9uIGlzIHNlZW4sIGJ1dCBmb3Igbm93IEknbSBkZWZlcnJpbmcgdGhh
dCBzb3VuZG5lc3MgY2hlY2suCj4gPiA+ID4gKyAgICAgICAgIChyZXR1cm4tZnJvbSBmaW5kLWVx
dWl2YWxlbnQtbm9kZS1iYWNrd2FyZHMgOmZhaWwpKSkpKSkKPiA+ID4gPiArCj4gPiA+ID4gKzs7
OyBBdHRtcHQgdG8gZmluZCBhIENPTUJJTkFUSU9OIGVxdWl2YWxlbnQgdG8gVEhJUyBwcmVjZWRp
bmcgaXQgaW4gbm9kZSBvcmRlciwgdGhlIHZhbHVlCj4gPiA+ID4gKzs7OyBvZiB3aGljaCBjYW4g
YmUgc3Vic3RpdHV0ZWQgZm9yIHRoZSBjYWxsIHRvIFRISVMsIGFjdHVhbGx5IG1ha2luZyB0aGUg
c3Vic3RpdHV0aW9uLgo+ID4gPiA+ICs7OzsgTG9va2luZyBiYWNrd2FyZHMgYXQgbW9zdCBhIGZl
dyBibG9ja3MgdGVuZHMgdG8gd29yayB3ZWxsIGVub3VnaCwgYW5kIGlucG9ydGFudGx5Cj4gPiA+
ID4gKzs7OyBsaW1pdHMgdGhlIHdvcmsuIFNjYW5uaW5nIG9ubHkgdGhlIGN1cnJlbnQgYmxvY2sg
aXMgaW5hZGVxdWF0ZSBhcyB0aGUgZXhhbXBsZQo+ID4gPiA+ICs7OzsgaW4gOkxPT1AtT1ZFUi1E
RVJFRiBzaG93cy4gVGhlIGltbWVkaWF0ZSBwcmVkZWNlc3NvciBpcyBzdGlsbCBub3QgZW5vdWdo
LCBiZWNhdXNlIHRoZQo+ID4gPiA+ICs7OzsgcHJlZGVjZXNzb3IgY291bGQgaGF2ZSBiZWVuIHNw
bGl0LCBsZWF2aW5nIGEgdGlueSBibG9jayB3aGVyZSB0aGUgb25seSBub2RlIGlzCj4gPiA+ID4g
Kzs7OyBhIHRyaXZpYWwgb3BlcmF0aW9uLgo+ID4gPiA+ICsoZGVmdW4gdHJ5LXJldXNlLWV4cHIt
dmFsdWUgKHRoaXMpCj4gPiA+ID4gKyAgKGRlY2xhcmUgKHR5cGUgY29tYmluYXRpb24gdGhpcykp
Cj4gPiA+ID4gKyAgKGJpbmRpbmcqCj4gPiA+ID4gKyAgICAgICgoaG9tZS1sYW1iZGEgKGZpbmQt
YWN0aXZlLWxldC1sYW1iZGEgdGhpcykgOmV4aXQtaWYtbnVsbCkKPiA+ID4gPiArICAgICAgIChs
b29rYmFjayAwKQo+ID4gPiA+ICsgICAgICAgKGMxCj4gPiA+ID4gKyAgICAgICAgOzsgSW4gdGhp
cyBibG9jaywgZXhwbGljaXRseSBnbyBiYWNrIGEgbm9kZSBzbyB0aGF0IEZJTkQtQkFDS1dBUkRT
IGRvZXNuJ3QgY29uc2lkZXIgVEhJUwo+ID4gPiA+ICsgICAgICAgIDs7IGFzIGVxdWl2YWxlbnQg
dG8gaXRzZWxmLiBGYWlsaW5nIHRoYXQsIHRyeSBwcmVkZWNlc3NvciBibG9ja3MsIGJ1dCBvbmx5
IGFzIGxvbmcgYXMKPiA+ID4gPiArICAgICAgICA7OyBwcmVkIGlzIHVuaXF1ZSBzaW5jZSB3ZSBo
YXZlIG5vIGluZm9ybWF0aW9uIGFib3V0IG5vZGVzIHRoYXQgZG9taW5hdGUgVEhJUy4KPiA+ID4g
PiArICAgICAgICAob3IgKGZpbmQtZXF1aXZhbGVudC1ub2RlLWJhY2t3YXJkcyB0aGlzIChjdHJh
bi11c2UgKG5vZGUtcHJldiB0aGlzKSkpCj4gPiA+ID4gKyAgICAgICAgICAgIChkbyAoKHByZWQg
KGJsb2NrLXByZWQgKG5vZGUtYmxvY2sgdGhpcykpKSkKPiA+ID4gPiArICAgICAgICAgICAgICAg
ICgob3IgKD4gbG9va2JhY2sgMykgKG5vdCAoc2luZ2xldG9uLXAgcHJlZCkpKSkKPiA+ID4gPiAr
ICAgICAgICAgICAgICAoaW5jZiBsb29rYmFjaykKPiA+ID4gPiArICAgICAgICAgICAgICAobGV0
ICgobm9kZSAoYmxvY2stbGFzdCAoY2FyIHByZWQpKSkpCj4gPiA+ID4gKyAgICAgICAgICAgICAg
ICAod2hlbiAobnVsbCBub2RlKSAocmV0dXJuKSkKPiA+ID4gPiArICAgICAgICAgICAgICAgIChh
d2hlbiAoZmluZC1lcXVpdmFsZW50LW5vZGUtYmFja3dhcmRzIHRoaXMgbm9kZSkgKHJldHVybiBp
dCkpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAoc2V0cSBwcmVkIChibG9jay1wcmVkIChub2Rl
LWJsb2NrIG5vZGUpKSkpKSkKPiA+ID4gPiArICAgICAgICA6ZXhpdC1pZi1udWxsKQo+ID4gPiA+
ICsgICAgICAgKHZhcnMgOyBjYW4ndCB1c2UgOmV4aXQtaWYtbnVsbCBoZXJlIGJlY2F1c2UgVkFS
UyBjYW4gYmUgYW5kIHVzdWFsbHkgaXMgTklMCj4gPiA+ID4gKyAgICAgICAgKHVubGVzcyAoZXEg
YzEgOmZhaWwpCj4gPiA+ID4gKyAgICAgICAgICAobWFwY2FuICMnY29sbGVjdC1sdmFyLXZhcnMg
KGJhc2ljLWNvbWJpbmF0aW9uLWFyZ3MgYzEpKSkpKQo+ID4gPiA+ICsgICAgKHdoZW4gKGVxIGMx
IDpmYWlsKQo+ID4gPiA+ICsgICAgICAocmV0dXJuLWZyb20gdHJ5LXJldXNlLWV4cHItdmFsdWUg
bmlsKSkKPiA+ID4gPiArICAgIChsYWJlbHMgKChhbGwtZmx1c2hhYmxlIChjdHJhbiBlbmQtbm9k
ZSkKPiA+ID4gPiArICAgICAgICAgICAgICAgKGRlY2xhcmUgKGN0cmFuIGN0cmFuKSAodHlwZSAo
b3Igbm9kZSBudWxsKSBlbmQtbm9kZSkpCj4gPiA+ID4gKyAgICAgICAgICAgICAgIChsb29wIChs
ZXQgKChub2RlIChjdHJhbi1uZXh0IGN0cmFuKSkpCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg
ICAgICAgKGNvbmQgKChlcSBub2RlIGVuZC1ub2RlKSAocmV0dXJuIHQpKQo+ID4gPiA+ICsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICgobm90IChvay10by1mbHVzaCBub2RlKSkgKHJldHVy
biBuaWwpKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoYW5kIChub3Qg
ZW5kLW5vZGUpIChub3QgKG5vZGUtbmV4dCBub2RlKSkpIChyZXR1cm4gdCkpKQo+ID4gPiA+ICsg
ICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGN0cmFuIChub2RlLW5leHQgbm9kZSkpKSkpCj4g
PiA+ID4gKyAgICAgICAgICAgICAob2stdG8tZmx1c2ggKG5vZGUpCj4gPiA+ID4gKyAgICAgICAg
ICAgICAgIChjb25kICgoc2V0LXAgbm9kZSkgKG5vdCAobWVtYmVyIChzZXQtdmFyIG5vZGUpIHZh
cnMpKSkKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgKChjb21iaW5hdGlvbi1wIG5vZGUp
IChmbHVzaGFibGUtY29tYmluYXRpb24tcCBub2RlKSkKPiA+ID4gPiArICAgICAgICAgICAgICAg
ICAgICAgKChiYXNpYy1jb21iaW5hdGlvbi1wIG5vZGUpIG5pbCkKPiA+ID4gPiArICAgICAgICAg
ICAgICAgICAgICAgKHQgdCkpKSkgOyBhbnl0aGluZyBlbHNlIHRoZSBiYWNrd2FyZHMgc2VhcmNo
IGFsbG93ZWQgaXMgb2sKPiA+ID4gPiArICAgICAgOzsgV2hlbiBsb29rYmFjaz4wIGl0J3MgcG9z
c2libGUgZm9yIHRoZSBlcXVpdmFsZW50IG5vZGUgdG8gYmUgdGhlIGZpbmFsIG5vZGUKPiA+ID4g
PiArICAgICAgOzsgb2YgaXRzIGJsb2NrLCBpbiB3aGljaCBjYXNlIGl0cyBOT0RFLU5FWFQgaXMg
bnVsbC4KPiA+ID4gPiArICAgICAgKGxldCogKCh0aGlzLWJsb2NrIChub2RlLWJsb2NrIHRoaXMp
KQo+ID4gPiA+ICsgICAgICAgICAgICAgKHByZWQgKGNhciAoYmxvY2stcHJlZCB0aGlzLWJsb2Nr
KSkpKQo+ID4gPiA+ICsgICAgICAgICh1bmxlc3MgKGlmICg9IGxvb2tiYWNrIDApCj4gPiA+ID4g
KyAgICAgICAgICAgICAgICAgICAgKGFsbC1mbHVzaGFibGUgKG5vZGUtbmV4dCBjMSkgdGhpcykK
PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAoYW5kCj4gPiA+ID4gKyAgICAgICAgICAgICAg
ICAgICAgIDs7IENoZWNrIHByZXYgYmxvY2sgZnJvbSBDMSB0byBpdHMgZW5kIG9mIGJsb2NrLCBh
bmQgY3VycmVudCBibG9jayB1cCB0byBUSElTCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg
IChhY29uZCAoKG5vZGUtbmV4dCBjMSkgKGFsbC1mbHVzaGFibGUgaXQgbmlsKSkgKHQgdCkpCj4g
PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIChhbGwtZmx1c2hhYmxlIChibG9jay1zdGFydCB0
aGlzLWJsb2NrKSB0aGlzKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICA7OyBBbGwgY2hl
Y2sgYWxsIG9mIG9uZSBvciBib3RoIGludGVydmVuaW5nIGJsb2Nrcwo+ID4gPiA+ICsgICAgICAg
ICAgICAgICAgICAgICAob3IgKDwgbG9va2JhY2sgMikKPiA+ID4gPiArICAgICAgICAgICAgICAg
ICAgICAgICAgIChhbGwtZmx1c2hhYmxlIChibG9jay1zdGFydCBwcmVkKSBuaWwpKQo+ID4gPiA+
ICsgICAgICAgICAgICAgICAgICAgICAob3IgKDwgbG9va2JhY2sgMykKPiA+ID4gPiArICAgICAg
ICAgICAgICAgICAgICAgICAgIChhbGwtZmx1c2hhYmxlIChibG9jay1zdGFydCAoY2FyIChibG9j
ay1wcmVkIHByZWQpKSkgbmlsKSkpKQo+ID4gPiA+ICsgICAgICAgICAgKHJldHVybi1mcm9tIHRy
eS1yZXVzZS1leHByLXZhbHVlIG5pbCkpKSkKPiA+ID4gPiArICAgIDs7IFN1YnN0aXR1dGUgQzEn
cyByZXN1bHQgaW4gZm9yIFRISVMKPiA+ID4gPiArICAgIChiaW5kaW5nKiAoKGx2YXItYzEgKG5v
ZGUtbHZhciBjMSkgOmV4aXQtaWYtbnVsbCkKPiA+ID4gPiArICAgICAgICAgICAgICAgKGNvbnN1
bWVyLTEgKGx2YXItZGVzdCBsdmFyLWMxKSA6ZXhpdC1pZi1udWxsKQo+ID4gPiA+ICsgICAgICAg
ICAgICAgICAoYzIgdGhpcykKPiA+ID4gPiArICAgICAgICAgICAgICAgKGx2YXItYzIgKG5vZGUt
bHZhciBjMikgOmV4aXQtaWYtbnVsbCkKPiA+ID4gPiArICAgICAgICAgICAgICAgKHYgKG1ha2Ut
bGFtYmRhLXZhciAoZ2Vuc3ltICJSRVVTRUQtVkFMIikKPiA+ID4gPiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6dHlwZSAoc2luZ2xlLXZhbHVlLXR5cGUgKG5vZGUtZGVyaXZl
ZC10eXBlIGMxKSkpKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAobHZhci1uZXcgKG1ha2UtbHZh
cikpKQo+ID4gPiA+ICsgICAgICAoYWRkLXZhcmlhYmxlLXRvLWxldC1sYW1iZGEgaG9tZS1sYW1i
ZGEgdikKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgIDs7IDEuIFJlZGlyZWN0IGNvbnN1bWVyLTEg
dG8gcmVhZCBmcm9tIGx2YXItbmV3Cj4gPiA+ID4gKyAgICAgIChzdWJzdGl0dXRlLWx2YXIgbHZh
ci1uZXcgbHZhci1jMSkKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICh3aXRoLWlyMS1lbnZpcm9u
bWVudC1mcm9tLW5vZGUgYzEKPiA+ID4gPiArICAgICAgICA7OyAyLiBNYWtlIEMxIHdyaXRlIHRv
IGEgbmV3IExWQVIsIGFuZCBsaW5rIGl0IHRvIGEgQ1NFVCBvbiBWCj4gPiA+ID4gKyAgICAgICAg
KGxldCAoKGx2YXItYzEtbmV3IChtYWtlLWx2YXIpKSkKPiA+ID4gPiArICAgICAgICAgICglZGVs
ZXRlLWx2YXItdXNlIGMxKQo+ID4gPiA+ICsgICAgICAgICAgKHVzZS1sdmFyIGMxIGx2YXItYzEt
bmV3KQo+ID4gPiA+ICsgICAgICAgICAgOzsgMy4gQ3JlYXRlIFMxIChzZXQgViA9IGx2YXItYzEt
bmV3KSBhbmQgaW5zZXJ0IGFmdGVyIEMxCj4gPiA+ID4gKyAgICAgICAgICAobGV0ICgoczEgKG1h
a2Utc2V0IHYgbHZhci1jMS1uZXcpKSkKPiA+ID4gPiArICAgICAgICAgICAgKHNldGYgKGx2YXIt
ZGVzdCBsdmFyLWMxLW5ldykgczEpCj4gPiA+ID4gKyAgICAgICAgICAgIChwdXNoIHMxIChiYXNp
Yy12YXItc2V0cyB2KSkKPiA+ID4gPiArICAgICAgICAgICAgKGluc2VydC1ub2RlLWFmdGVyIGMx
IHMxKSkpKQo+ID4gPiA+ICsKPiA+ID4gPiArICAgICAgOzsgNC4gSW5zZXJ0IHJlZjEgYmVmb3Jl
IGNvbnN1bWVyLTEsIHdyaXRpbmcgdG8gbHZhci1uZXcKPiA+ID4gPiArICAgICAgKGluc2VydC1y
ZWYtYmVmb3JlIHYgY29uc3VtZXItMSBsdmFyLW5ldykKPiA+ID4gPiArICAgICAgOzsgNS4gSW5z
ZXJ0IHJlZjIgYmVmb3JlIEMyLCBzdGVhbGluZyBDMidzIGx2YXIKPiA+ID4gPiArICAgICAgKGlu
c2VydC1yZWYtYmVmb3JlIHYgYzIgdCkKPiA+ID4gPiArICAgICAgOzsgQzIgaXMgbm93IGRlYWQg
YW5kIHdpbGwgYmUgZmx1c2hlZCBieSB0aGUgY2FsbGVyIQo+ID4gPiA+ICsgICAgICB0KSkpCj4g
PiA+ID4gKwo+ID4gPiA+ICA7OzsgRG8gSVIxIG9wdGltaXphdGlvbnMgb24gYSBDT01CSU5BVElP
TiBub2RlLgo+ID4gPiA+ICAoZGVmdW4gaXIxLW9wdGltaXplLWNvbWJpbmF0aW9uIChub2RlICZh
dXggKHNob3cgKnNob3ctdHJhbnNmb3Jtcy1wKikpCj4gPiA+ID4gICAgKGRlY2xhcmUgKHR5cGUg
Y29tYmluYXRpb24gbm9kZSkpCj4gPiA+ID4gQEAgLTEzMDUsNiArMTQ4MSw5IEBACj4gPiA+ID4g
ICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAobm9kZS1sdmFyIG5vZGUpKSkKPiA+ID4gPiAg
ICAgICAgICAgICAgICAgICAgKHJldHVybi1mcm9tIGlyMS1vcHRpbWl6ZS1jb21iaW5hdGlvbiAo
Zmx1c2gtbm9kZSBub2RlKSkpCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgKChmb2xkLWNhbGwt
ZGVyaXZlZC10by1jb25zdGFudCBub2RlKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAocmV0
dXJuLWZyb20gaXIxLW9wdGltaXplLWNvbWJpbmF0aW9uKSkKPiA+ID4gPiArICAgICAgICAgICAg
ICAgICAoKGFuZCAoY29tYmluYXRpb24taXMgbm9kZSAqZWxpZGFibGUtbWVtb3J5LWxvYWRzKikK
PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAodHJ5LXJldXNlLWV4cHItdmFsdWUgbm9k
ZSkpCj4gPiA+ID4gICAgICAgICAgICAgICAgICAgIChyZXR1cm4tZnJvbSBpcjEtb3B0aW1pemUt
Y29tYmluYXRpb24pKSkKPiA+ID4gPiAgICAgICAgICAgICAod2hlbiAoYW5kIChpcjEtYXR0cmli
dXRlcCAoZnVuLWluZm8tYXR0cmlidXRlcyBpbmZvKSBjb21tdXRhdGl2ZSkKPiA+ID4gPiAgICAg
ICAgICAgICAgICAgICAgICAgICg9IChsZW5ndGggYXJncykgMikKPiA+ID4gPiBkaWZmIC0tZ2l0
IGEvdGVzdHMvbGNzZS5wdXJlLmxpc3AgYi90ZXN0cy9sY3NlLnB1cmUubGlzcAo+ID4gPiA+IG5l
dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gaW5kZXggMDAwMDAwMDAwLi40M2IzNGU5OTgKPiA+
ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ID4gKysrIGIvdGVzdHMvbGNzZS5wdXJlLmxpc3AKPiA+
ID4gPiBAQCAtMCwwICsxLDIzNCBAQAo+ID4gPiA+ICs7Ozs7IFRoaXMgc29mdHdhcmUgaXMgcGFy
dCBvZiB0aGUgU0JDTCBzeXN0ZW0uIFNlZSB0aGUgUkVBRE1FIGZpbGUgZm9yCj4gPiA+ID4gKzs7
OzsgbW9yZSBpbmZvcm1hdGlvbi4KPiA+ID4gPiArOzs7Owo+ID4gPiA+ICs7Ozs7IFdoaWxlIG1v
c3Qgb2YgU0JDTCBpcyBkZXJpdmVkIGZyb20gdGhlIENNVSBDTCBzeXN0ZW0sIHRoZSB0ZXN0Cj4g
PiA+ID4gKzs7OzsgZmlsZXMgKGxpa2UgdGhpcyBvbmUpIHdlcmUgd3JpdHRlbiBmcm9tIHNjcmF0
Y2ggYWZ0ZXIgdGhlIGZvcmsKPiA+ID4gPiArOzs7OyBmcm9tIENNVSBDTC4KPiA+ID4gPiArOzs7
Owo+ID4gPiA+ICs7Ozs7IFRoaXMgc29mdHdhcmUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4gYW5k
IGlzIHByb3ZpZGVkIHdpdGgKPiA+ID4gPiArOzs7OyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LiBT
ZWUgdGhlIENPUFlJTkcgYW5kIENSRURJVFMgZmlsZXMgZm9yCj4gPiA+ID4gKzs7OzsgbW9yZSBp
bmZvcm1hdGlvbi4KPiA+ID4gPiArCj4gPiA+ID4gKzs7OzsgVGVzdHMgb2YgbG9jYWwgY29tbW9u
IHN1YmV4cHJlc3Npb24gZWxpbWluYXRpb24KPiA+ID4gPiArCj4gPiA+ID4gKyhpbXBvcnQgJyhj
dHU6aW5zcGVjdC1pcgo+ID4gPiA+ICsgICAgICAgICAgc2ItYzo6Y29tYmluYXRpb24tZnVuLWRl
YnVnLW5hbWUKPiA+ID4gPiArICAgICAgICAgIHNiLWM6OmJhc2ljLWNvbWJpbmF0aW9uLXApKQo+
ID4gPiA+ICsKPiA+ID4gPiArKGRlZnVuIGlyLWNhbGxzIChmb3JtKQo+ID4gPiA+ICsgIChsZXQg
KGNhbGxzKQo+ID4gPiA+ICsgICAgKGluc3BlY3QtaXIKPiA+ID4gPiArICAgICBmb3JtCj4gPiA+
ID4gKyAgICAgKGxhbWJkYSAoY29tcG9uZW50KQo+ID4gPiA+ICsgICAgICAgKGN0dTpkby1ibG9j
a3MgKGJsb2NrIGNvbXBvbmVudCkKPiA+ID4gPiArICAgICAgICAgKGN0dTpkby1ub2RlcyAobm9k
ZSBuaWwgYmxvY2spCj4gPiA+ID4gKyAgICAgICAgICAgKHdoZW4gKGJhc2ljLWNvbWJpbmF0aW9u
LXAgbm9kZSkKPiA+ID4gPiArICAgICAgICAgICAgIChwdXNoIG5vZGUgY2FsbHMpKSkpKSkKPiA+
ID4gPiArICAgIGNhbGxzKSkKPiA+ID4gPiArCj4gPiA+ID4gKyhkZWZtYWNybyBhc3NlcnQtY2Fs
bHMgKGZ1bi1uYW1lIGV4cGVjdGVkLWNvdW50ICgmcmVzdCBsYW1iZGEtYXJncykgJmJvZHkgYm9k
eSkKPiA+ID4gPiArICAoc2ItaW50OmJpbmRpbmcqCj4gPiA+ID4gKyAgICAgICgoKGZvcm1zIGRl
Y2xzKSAoc2ItaW50OnBhcnNlLWJvZHkgYm9keSBuaWwpKQo+ID4gPiA+ICsgICAgICAgKGxleHBy
IGAobGFtYmRhICgsQGxhbWJkYS1hcmdzKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICxAZGVj
bHMKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgOzsgV2l0aG91dCBhIGNvbnRhaW5pbmcgTEVU
IGZvcm0sIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIENTRQo+ID4gPiA+ICsgICAgICAg
ICAgICAgICAgICA7OyBpcyB1bndpbGxpbmcgdG8gYmluZCBhIHRlbXBvcmFyeSBsYW1iZGEgdmFy
IGZvciByZXVzZS4KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgKGxldCAoKGFjdGl2ZS1sZXQt
dmFyIDApKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIChwcmludCBhY3RpdmUtbGV0LXZh
cikKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAoaW5jZiBhY3RpdmUtbGV0LXZhciAocmFu
ZG9tIDUpKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgIChwcmludCBhY3RpdmUtbGV0LXZh
cikKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAsQGZvcm1zKSkpKQo+ID4gPiA+ICsgICAg
YChhc3NlcnQgKD0gKGNvdW50ICcsZnVuLW5hbWUgKGlyLWNhbGxzICcsbGV4cHIpIDprZXkgIydj
b21iaW5hdGlvbi1mdW4tZGVidWctbmFtZSkKPiA+ID4gPiArICAgICAgICAgICAgICAgICxleHBl
Y3RlZC1jb3VudCkpKSkKPiA+ID4gPiArCj4gPiA+ID4gKzs7OyBCYXNpYyB0ZXN0czogYSBzYW1w
bGluZyBvZiBlbGlkYWJsZSBsb2FkIHR5cGUgd2l0aCB0d28gaWRlbnRpY2FsIGxvYWRzCj4gPiA+
ID4gKwo+ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6Y2FyKSkKPiA+ID4gPiArICAo
YXNzZXJ0LWNhbGxzIGNhciAxIChjb25zKQo+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29u
cyBjb25zKSkKPiA+ID4gPiArICAgIChpZiAoY2FyIGNvbnMpCj4gPiA+ID4gKyAgICAgICAgKHBy
aW5jIChjYXIgY29ucykpCj4gPiA+ID4gKyAgICAgICAgKHByaW5jIChjZHIgY29ucykpKSkpCj4g
PiA+ID4gKwo+ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6ZGlmZmVyZW50LW5hbWVz
LWZvci1zYW1lLW9iamVjdCkpCj4gPiA+ID4gKyAgOzsgWSBhbmQgWCByZWZlciB0byB0aGUgc2Ft
ZSB0aGluZywgYW5kIGl0IGRvZXNuJ3QgbWF0dGVyCj4gPiA+ID4gKyAgOzsgd2hvc2UgQ0RSIHdl
IHRha2UgZmlyc3QuIE9ubHkgb25lIENEUiBvcGVyYXRpb24gaXMgcGVyZm9ybWVkCj4gPiA+ID4g
KyAgKGFzc2VydC1jYWxscyBjZHIgMSAoeCkKPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBlIGNv
bnMgeCkpCj4gPiA+ID4gKyAgICAobGV0ICgoeSB4KSkKPiA+ID4gPiArICAgICAgKGxpc3QgKGNk
ciB5KSAoY2RyIHgpKSkpCj4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjZHIgMSAoeCkKPiA+ID4g
PiArICAgIChkZWNsYXJlICh0eXBlIGNvbnMgeCkpCj4gPiA+ID4gKyAgICAobGV0ICgoeSB4KSkK
PiA+ID4gPiArICAgICAgKGxpc3QgKGNkciB4KSAoY2RyIHkpKSkpKQo+ID4gPiA+ICsKPiA+ID4g
PiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOmNvbXBvc2l0aW9uLW9mLWN4cikpCj4gPiA+ID4g
KyAgOzsgVGhlIENBUiBleHRyYWN0aW9uIHdoaWNoIGlzIHBhcnQgb2YgdGhlIENEQVIgZnVuY3Rp
b24gY2FuIGJlCj4gPiA+ID4gKyAgOzsgcmV1c2VkIGJhc2VkIG9uIHRoZSBmYWN0IHRoYXQgd2Ug
ZXZhbHVhdGVkIChMSVNUUCAoQ0FSIFgpKQo+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgY2FyIDEg
KHgpCj4gPiA+ID4gKyAgICAoaWYgKGxpc3RwIChjYXIgeCkpIChjZGFyIHgpKSkKPiA+ID4gPiAr
ICA7OyBuZWdhdGl2ZSB0ZXN0IC0gQ0RBUiBvbiBhIGRpZmZlcmVudCBZIGlzIGFub3RoZXIgQ0FS
IG9wZXJhdGlvbgo+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgY2FyIDIgKHggeSkKPiA+ID4gPiAr
ICAgIChpZiAobGlzdHAgKGNhciB4KSkgKGNkYXIgeSkpKSkKPiA+ID4gPiArCj4gPiA+ID4gKyhk
ZWZzdHJ1Y3QgY3NlLXRlc3QtZm9vIHNsb3QgKHdzbG90IDAgOnR5cGUgc2Itdm06d29yZCkpCj4g
PiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDppbnN0YW5jZS1yZWYpKQo+ID4gPiA+ICsg
IChhc3NlcnQtY2FsbHMgc2Ita2VybmVsOiVpbnN0YW5jZS1yZWYgMSAoeCkKPiA+ID4gPiArICAg
IDs7IERlcGVuZGluZyBvbiB3aGF0IFRSQU5TRk9STS1JTlNUQU5DRS1UWVBFUCBkb2VzLCBpdCBt
aWdodCBhY2Nlc3MgaW5zdGFuY2UtbGF5b3V0Cj4gPiA+ID4gKyAgICA7OyB1c2luZyAlSU5TVEFO
Q0UtUkVGIHdoaWNoIHdvdWxkIGhhdmUgdG8gYmUgZGlzY291bnRlZCBpbiB0aGUgY2FsbCBjb3Vu
dGluZy4KPiA+ID4gPiArICAgIDs7IEp1c3QgYnJ1dGUtZm9yY2UgdGhlIHR5cGUgdG8gYXZvaWQg
dGhhdCBzaXR1YXRpb24uCj4gPiA+ID4gKyAgICAobGV0ICgoeCAodHJ1bHktdGhlIGNzZS10ZXN0
LWZvbyB4KSkpCj4gPiA+ID4gKyAgICAgIChpZiAoY3NlLXRlc3QtZm9vLXNsb3QgeCkKPiA+ID4g
PiArICAgICAgICAgIChwcmluYyAoY3NlLXRlc3QtZm9vLXNsb3QgeCkpCj4gPiA+ID4gKyAgICAg
ICAgICBuaWwpKSkpCj4gPiA+ID4gKwo+ID4gPiA+ICsod2l0aC10ZXN0ICg6bmFtZSAoOmNzZSA6
cmF3LWluc3RhbmNlLXJlZi93b3JkKSkKPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIHNiLWtlcm5l
bDolcmF3LWluc3RhbmNlLXJlZi93b3JkIDEgKHgpCj4gPiA+ID4gKyAgICAoZGVjbGFyZSAodHlw
ZSBjc2UtdGVzdC1mb28geCkpCj4gPiA+ID4gKyAgICAoaWYgKGxvZ3Rlc3QgKGNzZS10ZXN0LWZv
by13c2xvdCB4KSAjeGZmMDAwKQo+ID4gPiA+ICsgICAgICAgIChwcmluYyAoY3NlLXRlc3QtZm9v
LXdzbG90IHgpKQo+ID4gPiA+ICsgICAgICAgIG5pbCkpKQo+ID4gPiA+ICsKPiA+ID4gPiArKHdp
dGgtdGVzdCAoOm5hbWUgKDpjc2UgOnNhcC1yZWYtMzIpKQo+ID4gPiA+ICsgIChhc3NlcnQtY2Fs
bHMgc2Itc3lzOnNhcC1yZWYtMzIgMSAoc2FwIG9mZnNldCkKPiA+ID4gPiArICAgIChkZWNsYXJl
ICh0eXBlIHNiLXN5czpzeXN0ZW0tYXJlYS1wb2ludGVyIHNhcCkKPiA+ID4gPiArICAgICAgICAg
ICAgICh0eXBlIHNiLXZtOndvcmQgb2Zmc2V0KSkKPiA+ID4gPiArICAgIChpZiAocGx1c3AgKHNi
LXN5czpzYXAtcmVmLTMyIHNhcCBvZmZzZXQpKQo+ID4gPiA+ICsgICAgICAgIChwcmluYyAoc2It
c3lzOnNhcC1yZWYtMzIgc2FwIG9mZnNldCkpCj4gPiA+ID4gKyAgICAgICAgbmlsKSkKPiA+ID4g
PiArICAoYXNzZXJ0LWNhbGxzIHNiLXN5czpzaWduZWQtc2FwLXJlZi0zMiAxIChzYXAgb2Zmc2V0
KQo+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgc2Itc3lzOnN5c3RlbS1hcmVhLXBvaW50ZXIg
c2FwKQo+ID4gPiA+ICsgICAgICAgICAgICAgKHR5cGUgc2Itdm06d29yZCBvZmZzZXQpKQo+ID4g
PiA+ICsgICAgKGlmIChwbHVzcCAoc2Itc3lzOnNpZ25lZC1zYXAtcmVmLTMyIHNhcCBvZmZzZXQp
KQo+ID4gPiA+ICsgICAgICAgIChwcmluYyAoc2Itc3lzOnNpZ25lZC1zYXAtcmVmLTMyIHNhcCBv
ZmZzZXQpKQo+ID4gPiA+ICsgICAgICAgIG5pbCkpKQo+ID4gPiA+ICsKPiA+ID4gPiArKHdpdGgt
dGVzdCAoOm5hbWUgKDpjc2UgOnNhcC1yZWYtNjQpIDpza2lwcGVkLW9uICg6bm90IDo2NC1iaXQp
KQo+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgc2Itc3lzOnNhcC1yZWYtNjQgMSAoc2FwIG9mZnNl
dCkKPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBlIHNiLXN5czpzeXN0ZW0tYXJlYS1wb2ludGVy
IHNhcCkKPiA+ID4gPiArICAgICAgICAgICAgICh0eXBlIHNiLXZtOndvcmQgb2Zmc2V0KSkKPiA+
ID4gPiArICAgIChpZiAocGx1c3AgKHNiLXN5czpzYXAtcmVmLTY0IHNhcCBvZmZzZXQpKQo+ID4g
PiA+ICsgICAgICAgIChwcmluYyAoc2Itc3lzOnNhcC1yZWYtNjQgc2FwIG9mZnNldCkpCj4gPiA+
ID4gKyAgICAgICAgbmlsKSkKPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIHNiLXN5czpzaWduZWQt
c2FwLXJlZi02NCAxIChzYXAgb2Zmc2V0KQo+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgc2It
c3lzOnN5c3RlbS1hcmVhLXBvaW50ZXIgc2FwKQo+ID4gPiA+ICsgICAgICAgICAgICAgKHR5cGUg
c2Itdm06d29yZCBvZmZzZXQpKQo+ID4gPiA+ICsgICAgKGlmIChwbHVzcCAoc2Itc3lzOnNpZ25l
ZC1zYXAtcmVmLTY0IHNhcCBvZmZzZXQpKQo+ID4gPiA+ICsgICAgICAgIChwcmluYyAoc2Itc3lz
OnNpZ25lZC1zYXAtcmVmLTY0IHNhcCBvZmZzZXQpKQo+ID4gPiA+ICsgICAgICAgIG5pbCkpKQo+
ID4gPiA+ICsKPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOmxvb3Atb3Zlci1kZXJl
ZikpCj4gPiA+ID4gKyAgKGxldCAoKGxleHByCj4gPiA+ID4gKyAgICAgICAgICcobGFtYmRhIChm
KQo+ID4gPiA+ICsgICAgICAgICAgICAoZGVjbGFyZSAob3B0aW1pemUgKHNiLWM6OmFsaWVuLWZ1
bmNhbGwtc2F2ZXMtZnAtYW5kLXBjIDApCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoc2ItYzo6dHlwZS1jaGVjayAwKSkpCj4gPiA+ID4gKyAgICAgICAgICAgIDs7IEYg
cmV0dXJucyBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQgYXJyYXkgb2YgdW5zaWduZWQt
aW50Lgo+ID4gPiA+ICsgICAgICAgICAgICA7OyBUaGUgZGVyZWYgZm9yIHRoZSBsb29wIHRlcm1p
bmF0aW9uIHRlc3QsIGFuZCBhZ2FpbiBpbiB0aGUgYm9keQo+ID4gPiA+ICsgICAgICAgICAgICA7
OyBzaG91bGQgdXNlIGEgc2luZ2xlIG1lbW9yeSBsb2FkLgo+ID4gPiA+ICsgICAgICAgICAgICAo
bGV0ICgoYSAoYWxpZW4tZnVuY2FsbCAodGhlIChhbGllbiAoZnVuY3Rpb24gKCogdW5zaWduZWQp
KSkgZikpKSkKPiA+ID4gPiArICAgICAgICAgICAgICAoZG8gKChpbmRleCAwICgxKyBpbmRleCkp
KQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAoKHplcm9wIChkZXJlZiBhIGluZGV4KSkpCj4g
PiA+ID4gKyAgICAgICAgICAgICAgICAocHJpbmMgKHRoZSBmaXhudW0gKGRlcmVmIGEgaW5kZXgp
KSkpKSkpKQo+ID4gPiA+ICsgICAgKGFzc2VydCAoPSAoY291bnQgIysob3IgYXJtNjQgeDg2LTY0
KSAnc2Itc3lzOiVzYXAtcmVmLTY0LWluZGV4ZWQKPiA+ID4gPiArICAgICAgICAgICAgICAgICAg
ICAgICMtKG9yIGFybTY0IHg4Ni02NCkKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgIChw
cm9nbiAjKzY0LWJpdCAnc2Itc3lzOnNhcC1yZWYtNjQgIy02NC1iaXQgJ3NiLXN5czpzYXAtcmVm
LTMyKQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgKGlyLWNhbGxzIGxleHByKSA6a2V5
ICMnY29tYmluYXRpb24tZnVuLWRlYnVnLW5hbWUpCj4gPiA+ID4gKyAgICAgICAgICAgICAgIDEp
KSkpCj4gPiA+ID4gKwo+ID4gPiA+ICs7OzsgU0VUUSBvZiBhIHZhcmlhYmxlIHVzZWQgYXMgYW4g
YXJndW1lbnQgdG8gYW4gZWxpZGFibGUgbG9hZCBwcmV2ZW50cyBDU0UuCj4gPiA+ID4gKzs7OyBX
aGVuIGEgdmFyaWFibGUgdGhhdCBwYXJ0aWNpcGF0ZXMgaW4gdGhlIGxvYWQgZXhwcmVzc2lvbiAo
ZS5nLiwgdGhlIGNvbnMKPiA+ID4gPiArOzs7IGJlaW5nIENBUidkKSBpcyBhc3NpZ25lZCBiZXR3
ZWVuIHR3byBpZGVudGljYWwgbG9hZHMsIHRoZSBzZWNvbmQgbG9hZAo+ID4gPiA+ICs7OzsgbXVz
dCBub3QgYmUgZWxpbWluYXRlZCBiZWNhdXNlIHRoZSB2YXJpYWJsZSBtYXkgcmVmZXJlbmNlIGEg
ZGlmZmVyZW50IG9iamVjdC4KPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOnNldHEt
b2YtbG9hZC1hcmctcHJldmVudHMtY2FyKSkKPiA+ID4gPiArICA7OyBDT05TIGlzIHRoZSBhcmd1
bWVudCB0byBDQVIuIEFzc2lnbmluZyBDT05TIGJldHdlZW4gdHdvIChDQVIgQ09OUykKPiA+ID4g
PiArICA7OyBwcmV2ZW50cyBDU0UuCj4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjYXIgMiAoY29u
cyBvdGhlcikKPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBlIGNvbnMgY29ucyBvdGhlcikpCj4g
PiA+ID4gKyAgICAobGV0ICgoYSAoY2FyIGNvbnMpKSkKPiA+ID4gPiArICAgICAgKHNldHEgY29u
cyBvdGhlcikKPiA+ID4gPiArICAgICAgKGxldCAoKGIgKGNhciBjb25zKSkpCj4gPiA+ID4gKyAg
ICAgICAgKGxpc3QgYSBiKSkpKSkKPiA+ID4gPiArCj4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1l
ICg6Y3NlIDpzZXRxLW9mLWxvYWQtYXJnLXByZXZlbnRzLWNkcikpCj4gPiA+ID4gKyAgKGFzc2Vy
dC1jYWxscyBjZHIgMiAoY29ucyBvdGhlcikKPiA+ID4gPiArICAgIChkZWNsYXJlICh0eXBlIGNv
bnMgY29ucyBvdGhlcikpCj4gPiA+ID4gKyAgICAobGV0ICgoYSAoY2RyIGNvbnMpKSkKPiA+ID4g
PiArICAgICAgKHNldHEgY29ucyBvdGhlcikKPiA+ID4gPiArICAgICAgKGxldCAoKGIgKGNkciBj
b25zKSkpCj4gPiA+ID4gKyAgICAgICAgKGxpc3QgYSBiKSkpKSkKPiA+ID4gPiArCj4gPiA+ID4g
Kyh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpzZXRxLW9mLWxvYWQtYXJnLXByZXZlbnRzLWluc3Rh
bmNlLXJlZikpCj4gPiA+ID4gKyAgOzsgQXNzaWduaW5nIHRoZSBzdHJ1Y3QgdmFyaWFibGUgYmV0
d2VlbiB0d28gcmVhZHMgb2YgdGhlIHNhbWUgc2xvdCBwcmV2ZW50cyBDU0UuCj4gPiA+ID4gKyAg
KGFzc2VydC1jYWxscyBzYi1rZXJuZWw6JWluc3RhbmNlLXJlZiAyICh4IHkpCj4gPiA+ID4gKyAg
ICAobGV0ICgoeCAodHJ1bHktdGhlIGNzZS10ZXN0LWZvbyB4KSkKPiA+ID4gPiArICAgICAgICAg
ICh5ICh0cnVseS10aGUgY3NlLXRlc3QtZm9vIHkpKSkKPiA+ID4gPiArICAgICAgKGxldCAoKGEg
KGNzZS10ZXN0LWZvby1zbG90IHgpKSkKPiA+ID4gPiArICAgICAgICAoc2V0cSB4IHkpCj4gPiA+
ID4gKyAgICAgICAgKGxldCAoKGIgKGNzZS10ZXN0LWZvby1zbG90IHgpKSkKPiA+ID4gPiArICAg
ICAgICAgIChsaXN0IGEgYikpKSkpKQo+ID4gPiA+ICsKPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5h
bWUgKDpjc2UgOnNldHEtb2YtbG9hZC1hcmctcHJldmVudHMtc2FwLXJlZikpCj4gPiA+ID4gKyAg
OzsgQXNzaWduaW5nIHRoZSBTQVAgdmFyaWFibGUgYmV0d2VlbiB0d28gcmVhZHMgYXQgdGhlIHNh
bWUgb2Zmc2V0Cj4gPiA+ID4gKyAgOzsgbXVzdCBwcmV2ZW50IENTRSBzaW5jZSB0aGUgc2Vjb25k
IHJlYWQgbWF5IHVzZSBhIGRpZmZlcmVudCBTQVAuCj4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBz
Yi1zeXM6c2FwLXJlZi0zMiAyIChzYXAxIHNhcDIgb2Zmc2V0KQo+ID4gPiA+ICsgICAgKGRlY2xh
cmUgKHR5cGUgc2Itc3lzOnN5c3RlbS1hcmVhLXBvaW50ZXIgc2FwMSBzYXAyKQo+ID4gPiA+ICsg
ICAgICAgICAgICAgKHR5cGUgc2Itdm06d29yZCBvZmZzZXQpKQo+ID4gPiA+ICsgICAgKGxldCAo
KGEgKHNiLXN5czpzYXAtcmVmLTMyIHNhcDEgb2Zmc2V0KSkpCj4gPiA+ID4gKyAgICAgIChzZXRx
IHNhcDEgc2FwMikKPiA+ID4gPiArICAgICAgKGxldCAoKGIgKHNiLXN5czpzYXAtcmVmLTMyIHNh
cDEgb2Zmc2V0KSkpCj4gPiA+ID4gKyAgICAgICAgKGxpc3QgYSBiKSkpKSkKPiA+ID4gPiArCj4g
PiA+ID4gKzs7OyBTRVRRIG9mIGFuICp1bnJlbGF0ZWQqIHZhcmlhYmxlIHNob3VsZCBOT1QgcHJl
dmVudCBDU0UuCj4gPiA+ID4gKzs7OyBPbmx5IG11dGF0aW9ucyBvZiB2YXJpYWJsZXMgdGhhdCBw
YXJ0aWNpcGF0ZSBpbiB0aGUgbG9hZCBtYXR0ZXIuCj4gPiA+ID4gKyh3aXRoLXRlc3QgKDpuYW1l
ICg6Y3NlIDpzZXRxLW9mLXVucmVsYXRlZC12YXItYWxsb3dzLWNzZSkpCj4gPiA+ID4gKyAgOzsg
WiBpcyBub3QgYW4gYXJndW1lbnQgdG8gQ0FSLCBzbyBzZXR0aW5nIFogZG9lcyBub3QgaW5oaWJp
dCBDU0UuCj4gPiA+ID4gKyAgKGFzc2VydC1jYWxscyBjYXIgMSAoY29ucyB6KQo+ID4gPiA+ICsg
ICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiArICAgIChsZXQgKChhIChjYXIg
Y29ucykpKQo+ID4gPiA+ICsgICAgICAoc2V0cSB6IGEpCj4gPiA+ID4gKyAgICAgIChsZXQgKChi
IChjYXIgY29ucykpKQo+ID4gPiA+ICsgICAgICAgIChsaXN0IHogYikpKSkpCj4gPiA+ID4gKwo+
ID4gPiA+ICs7OzsgU0ItVEhSRUFEOkJBUlJJRVIgb2YgYW55IGtpbmQgcHJldmVudHMgZWxpc2lv
biBvZiB0aGUgc2Vjb25kIGxvYWQKPiA+ID4gPiArOzs7IHNpbmNlIHRoZSBtZW1vcnkgYmFycmll
cnMgaXMgbm90IGZsdXNoYWJsZS4gVGhpcyBpcyB0aGUgY29uc2VydmF0aXZlIHN0YW5jZS4KPiA+
ID4gPiArOzs7IFRoZSBhY3R1YWwgKGxvb3NlcikgcmVxdWlyZW1lbnRzIGFyZSBtb3JlIHN1YnRs
ZSB0aGFuIEkgY2FyZSB0byBkZWFsIHdpdGguCj4gPiA+ID4gKyhkZWZtYWNybyBiYXJyaWVyLXRl
c3QgKGtpbmQpCj4gPiA+ID4gKyAgYCh3aXRoLXRlc3QgKDpuYW1lICg6Y3NlIDpiYXJyaWVyLXBy
ZXZlbnRzLWNhciAsa2luZCkpCj4gPiA+ID4gKyAgICAgKGFzc2VydC1jYWxscyBjYXIgMiAoY29u
cykKPiA+ID4gPiArICAgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiArICAg
ICAgKGxldCAoKGEgKGNhciBjb25zKSkpCj4gPiA+ID4gKyAgICAgICAgKHNiLXRocmVhZDpiYXJy
aWVyICgsa2luZCkpCj4gPiA+ID4gKyAgICAgICAgKGxldCAoKGIgKGNhciBjb25zKSkpCj4gPiA+
ID4gKyAgICAgICAgICAobGlzdCBhIGIpKSkpKSkKPiA+ID4gPiArKGJhcnJpZXItdGVzdCA6cmVh
ZCkKPiA+ID4gPiArKGJhcnJpZXItdGVzdCA6d3JpdGUpCj4gPiA+ID4gKyhiYXJyaWVyLXRlc3Qg
Om1lbW9yeSkKPiA+ID4gPiArKGJhcnJpZXItdGVzdCA6Y29tcGlsZXIpCj4gPiA+ID4gKyhiYXJy
aWVyLXRlc3QgOmRhdGEtZGVwZW5kZW5jeSkKPiA+ID4gPiArCj4gPiA+ID4gKzs7OyBBbnkgbm9u
LWZsdXNoYWJsZSBjYWxsIGJldHdlZW4gdHdvIGlkZW50aWNhbCBsb2FkcyBwcmV2ZW50cyBDU0UK
PiA+ID4gPiArOzs7IGJlY2F1c2UgdGhlIGNhbGwgbWF5IGhhdmUgc2lkZSBlZmZlY3RzIHRoYXQg
bW9kaWZ5IHRoZSBsb2FkZWQgbWVtb3J5Lgo+ID4gPiA+ICsKPiA+ID4gPiArKHdpdGgtdGVzdCAo
Om5hbWUgKDpjc2UgOm5vbi1mbHVzaGFibGUtY2FsbC1wcmV2ZW50cy1jc2UpKQo+ID4gPiA+ICsg
IDs7IFBSSU5DIGlzIGEgbm9uLWZsdXNoYWJsZQo+ID4gPiA+ICsgIChhc3NlcnQtY2FsbHMgY2Fy
IDIgKGNvbnMpCj4gPiA+ID4gKyAgICAoZGVjbGFyZSAodHlwZSBjb25zIGNvbnMpKQo+ID4gPiA+
ICsgICAgKGxldCAoKGEgKGNhciBjb25zKSkpCj4gPiA+ID4gKyAgICAgIChwcmluYyA0MikKPiA+
ID4gPiArICAgICAgKGxldCAoKGIgKGNhciBjb25zKSkpCj4gPiA+ID4gKyAgICAgICAgKGxpc3Qg
YSBiKSkpKSkKPiA+ID4gPiArCj4gPiA+ID4gKzs7OyBEaWZmZXJlbnQgZnVuY3Rpb25zIG9uIHRo
ZSBzYW1lIG9iamVjdCBhcmUgTk9UIGNvbnNpZGVyZWQgY29tbW9uIHN1YmV4cHJlc3Npb25zLgo+
ID4gPiA+ICs7OzsgKENBUiB4KSBhbmQgKENEUiB4KSBhcmUgZGlmZmVyZW50IGxvYWRzIGV2ZW4g
aWYgeCBpcyB0aGUgc2FtZS4KPiA+ID4gPiArKHdpdGgtdGVzdCAoOm5hbWUgKDpjc2UgOmRpZmZl
cmVudC1hY2Nlc3NvcnMtbm90LWNzZSkpCj4gPiA+ID4gKyAgOzsgQm90aCBDQVIgYW5kIENEUiBz
aG91bGQgYXBwZWFyLCBlYWNoIGV4YWN0bHkgb25jZS4KPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxz
IGNhciAxIChjb25zKQo+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+
ID4gPiArICAgIChpZiAoY2FyIGNvbnMpCj4gPiA+ID4gKyAgICAgICAgKHByaW5jIChjZHIgY29u
cykpCj4gPiA+ID4gKyAgICAgICAgbmlsKSkKPiA+ID4gPiArICAoYXNzZXJ0LWNhbGxzIGNkciAx
IChjb25zKQo+ID4gPiA+ICsgICAgKGRlY2xhcmUgKHR5cGUgY29ucyBjb25zKSkKPiA+ID4gPiAr
ICAgIChpZiAoY2FyIGNvbnMpCj4gPiA+ID4gKyAgICAgICAgKHByaW5jIChjZHIgY29ucykpCj4g
PiA+ID4gKyAgICAgICAgbmlsKSkpCj4gPiA+ID4gZGlmZiAtLWdpdCBhL3hwZXJmZWN0aGFzaDMw
Lmxpc3AtZXhwciBiL3hwZXJmZWN0aGFzaDMwLmxpc3AtZXhwcgo+ID4gPiA+IGluZGV4IDZhNTAz
YWNmMC4uMWI3MjI3Yzc4IDEwMDY0NAo+ID4gPiA+IC0tLSBhL3hwZXJmZWN0aGFzaDMwLmxpc3At
ZXhwcgo+ID4gPiA+ICsrKyBiL3hwZXJmZWN0aGFzaDMwLmxpc3AtZXhwcgo+ID4gPiA+IEBAIC0x
NTA2LDYgKzE1MDYsOSBAQAo+ID4gPiA+ICAoIygxMEJFNzI3NyAxMjIxNEFFOCAxMkUyQ0JEQSAx
OTczOTUzOSAxRjM1NTZDNyAxRjY0NDM4NykKPiA+ID4gPiAgICIoSU5URUdFUiBCSUdOVU0gU0It
Vk06OlVOU0lHTkVELUJZVEUtMzEgU0ItVk06OlNJR05FRC1CWVRFLTMyIEZJWE5VTSBTQi1WTTo6
UE9TSVRJVkUtRklYTlVNKSIKPiA+ID4gPiAgICIoKCYgKF4gdmFsICg+PiB2YWwgMjIpKSA3KSki
KQo+ID4gPiA+ICsoIygxMEQyRUE0RSAxMjI0QzU1NyAxNUE1OEQ4NSAxNUI1QTJCNSAxNzUyNEE3
OCAxNzY5RTQxOSAxODkwNkQwOCkKPiA+ID4gPiArICIoU0ItQzo6Q1NFVCBTQi1DOjpSRUYgREVM
QVkgU0ItQzo6QVJSQVktSU5ERVgtQ0FTVCBDQVNUIFNCLUM6OkNPTUJJTkFUSU9OIFNCLUM6OkNJ
RikiCj4gPiA+ID4gKyAiKCgmICgrICg+PiB2YWwgMSkgKD4+IHZhbCA5KSkgNykpIikKPiA+ID4g
PiAgKCMoMTBEMkVBNEUgMTIyNEM1NTcgMTVBNThEODUgMTVCNUEyQjUgMTc1MjRBNzggMTc2OUU0
MTkgMTg5MDZEMDggMTk1Nzc1MzkgMUMwNjVDQjggMUQ2NkM5MzIpCj4gPiA+ID4gICAiIygoKDpU
WVBFIFNCLUM6OlJFRikpICgoOlRZUEUgU0ItQzo6Q09NQklOQVRJT04pKSAoKDpUWVBFIFNCLUM6
OkNJRikpICgoOlRZUEUgU0ItQzo6Q1JFVFVSTikpICgoOlRZUEUgU0ItQzo6TVYtQ09NQklOQVRJ
T04pKSAoKDpUWVBFIEVYSVQpKSAoKDpUWVBFIFNCLUM6OkNTRVQpKSAoKDpUWVBFIERFTEFZKSAo
OlRZUEUgU0ItQzo6QVJSQVktSU5ERVgtQ0FTVCkgKDpUWVBFIENBU1QpKSkiCj4gPiA+ID4gICAi
KChsZXQgKCh0YWIgI2EoKDgpICh1bnNpZ25lZC1ieXRlIDgpIDAgNSAyIDggMTMgMyAwIDApKSkK
PiA+ID4gPiBkaWZmIC0tZ2l0IGEveHBlcmZlY3RoYXNoNjEubGlzcC1leHByIGIveHBlcmZlY3Ro
YXNoNjEubGlzcC1leHByCj4gPiA+ID4gaW5kZXggNmViNzI0ODZiLi5iMWJjMDE0ZmIgMTAwNjQ0
Cj4gPiA+ID4gLS0tIGEveHBlcmZlY3RoYXNoNjEubGlzcC1leHByCj4gPiA+ID4gKysrIGIveHBl
cmZlY3RoYXNoNjEubGlzcC1leHByCj4gPiA+ID4gQEAgLTQ2Myw2ICs0NjMsOSBAQAo+ID4gPiA+
ICAoIyg5QTMyMEQ0IDM5Q0FBMzM5IDQzQkJFRTE4IDRENjEzNjhGIDUzMjIyREZCIEJGQTg2MTg5
IEVEQTEwMzdGIEZFRTk5QTk1KQo+ID4gPiA+ICAgIiMoKCg6VFlQRSBTQi1DOjpSRUYpKSAoKDpU
WVBFIFNCLUM6OkNPTUJJTkFUSU9OKSkgKCg6VFlQRSBTQi1DOjpNVi1DT01CSU5BVElPTikpICgo
OlRZUEUgRVhJVCkpICgoOlRZUEUgU0ItQzo6Q1NFVCkpICgoOlRZUEUgREVMQVkpICg6VFlQRSBT
Qi1DOjpBUlJBWS1JTkRFWC1DQVNUKSAoOlRZUEUgQ0FTVCkpKSIKPiA+ID4gPiAgICIoKCYgKC0g
KD4+IHZhbCAzKSAoPj4gdmFsIDI5KSkgNykpIikKPiA+ID4gPiArKCMoOUEzMjBENCAzOUNBQTMz
OSA0M0JCRUUxOCA1MzIyMkRGQiA5MzgwODM3QyBCRkE4NjE4OSBGRUU5OUE5NSkKPiA+ID4gPiAr
ICIjKCgoOlRZUEUgU0ItQzo6Q0lGKSAoOlRZUEUgU0ItQzo6Q09NQklOQVRJT04pICg6VFlQRSBE
RUxBWSkgKDpUWVBFIFNCLUM6OkFSUkFZLUlOREVYLUNBU1QpICg6VFlQRSBDQVNUKSAoOlRZUEUg
U0ItQzo6UkVGKSAoOlRZUEUgU0ItQzo6Q1NFVCkpKSIKPiA+ID4gPiArICIoKCYgKCsgdmFsICg+
PiB2YWwgMzEpKSA3KSkiKQo+ID4gPiA+ICAoIyg5QTMyMEQ0IDQzQkJFRTE4IDUzMjIyREZCIEE4
QTRDN0QyIEJGQTg2MTg5IEVBQTNEQTVDIEZFRTk5QTk1KQo+ID4gPiA+ICAgIiMoKCg6VFlQRSBT
Qi1DOjpSRUYpKSAoKDpUWVBFIERFTEFZKSAoOlRZUEUgU0ItQzo6QVJSQVktSU5ERVgtQ0FTVCkg
KDpUWVBFIENBU1QpKSAoKDpUWVBFIFNCLUM6OkNPTUJJTkFUSU9OKSkgKCg6VFlQRSBTQi1DOjpF
TlRSWSkpICgoOlRZUEUgU0ItQzo6RU5DTE9TRSkpKSIKPiA+ID4gPiAgICIoKCYgKF4gKD4+IHZh
bCA3KSAoPj4gdmFsIDIzKSkgNykpIikKPiA+ID4gPiBkaWZmIC0tZ2l0IGEveHBlcmZlY3RoYXNo
NjMubGlzcC1leHByIGIveHBlcmZlY3RoYXNoNjMubGlzcC1leHByCj4gPiA+ID4gaW5kZXggY2M4
NjFiYjMzLi4xM2JiNWQ4NWQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEveHBlcmZlY3RoYXNoNjMubGlz
cC1leHByCj4gPiA+ID4gKysrIGIveHBlcmZlY3RoYXNoNjMubGlzcC1leHByCj4gPiA+ID4gQEAg
LTg3MCw2ICs4NzAsOSBAQAo+ID4gPiA+ICAoIygxMjEwNjhERCA0RDYxMzY4RiA1ODExMEU3RiA2
N0VFMkQxQSA2RDlBODgzRCA3NDU4OUQ4MiA4OTdCNDY1NiBBNjhBMzk2NSkKPiA+ID4gPiAgICIj
KCgoOlRZUEUgU0ItQzo6UkVGKSkgKCg6VFlQRSBTQi1DOjpDT01CSU5BVElPTikpICgoOlRZUEUg
U0ItQzo6TVYtQ09NQklOQVRJT04pKSAoKDpUWVBFIEVYSVQpKSAoKDpUWVBFIFNCLUM6OkNTRVQp
KSAoKDpUWVBFIERFTEFZKSAoOlRZUEUgU0ItQzo6QVJSQVktSU5ERVgtQ0FTVCkgKDpUWVBFIENB
U1QpKSkiCj4gPiA+ID4gICAiKCgmICgtICg+PiB2YWwgNCkgKD4+IHZhbCAxNikpIDcpKSIpCj4g
PiA+ID4gKygjKDEyMTA2OEREIDU4MTEwRTdGIDY3RUUyRDFBIDZEOUE4ODNEIDc0MkQ0QzU0IDg5
N0I0NjU2IEE2OEEzOTY1KQo+ID4gPiA+ICsgIiMoKCg6VFlQRSBTQi1DOjpDSUYpICg6VFlQRSBT
Qi1DOjpDT01CSU5BVElPTikgKDpUWVBFIERFTEFZKSAoOlRZUEUgU0ItQzo6QVJSQVktSU5ERVgt
Q0FTVCkgKDpUWVBFIENBU1QpICg6VFlQRSBTQi1DOjpSRUYpICg6VFlQRSBTQi1DOjpDU0VUKSkp
Igo+ID4gPiA+ICsgIigoJiAoLSAoPj4gdmFsIDQpICg+PiB2YWwgMTYpKSA3KSkiKQo+ID4gPiA+
ICAoIygxMjZBREIwMiAzMUIwOTVERCA0MkQ4M0ZGQiA0MzQxRjdEOCA2M0M5NzFENyA3QTgwRjIw
MSA3QjQwODg4MCA4Rjc5MTJENiBFQkQwMTg3MikKPiA+ID4gPiAgICIoOkFMTE9XLU9USEVSLUtF
WVMgOlRZUEUgOlJFU1VMVC1TUEVDUyA6QVJHLVNQRUNTIDpDQUxMRVIgOkRFUFMgOkZJUkVEIDpM
RVhFTlYgOlNPVVJDRS1QQVRIKSIKPiA+ID4gPiAgICIoKGxldCAoKHRhYiAjYSgoOCkgKHVuc2ln
bmVkLWJ5dGUgOCkgMCA1IDAgMyAwIDUgMTIgNikpKQo+ID4gPiA+Cj4gPiA+ID4gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gaG9va3MvcG9zdC1yZWNlaXZlCj4gPiA+ID4g
LS0KPiA+ID4gPiBTQkNMCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gU2JjbC1jb21taXRzIG1haWxp
bmcgbGlzdAo+ID4gPiA+IFNiY2wtY29tbWl0c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4g
PiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9zYmNsLWNvbW1p
dHMKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpTYmNs
LWNvbW1pdHMgbWFpbGluZyBsaXN0ClNiY2wtY29tbWl0c0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQK
aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vc2JjbC1jb21taXRz
Cg==