T24gMDYxOFQxMTA4LCBBbGV4YW5kciBLcml2dWx5YSB3cm90ZToKPiAxNi4wNi4yMDE0IDIyOjIx
LCBFZHdhcmQgVG9tYXN6IE5hcGllcmHFgmEg0L/QuNGI0LXRgjoKPiA+IEhpLiAgUGF0Y2ggYmVs
b3cgc2hvdWxkIGZpeCBhIHByb2JsZW0gd2hlcmUgVVNCIHN0b3BzIHdvcmtpbmcgYWZ0ZXIKPiA+
IF9zZWNvbmRfIHN1c3BlbmQvcmVzdW1lLCB3aGljaCBoYXBwZW5zIG9uIHZhcmlvdXMgVGhpbmtQ
YWQgbW9kZWxzLgo+ID4gUGxlYXNlIHRlc3QsIGFuZCByZXBvcnQgYm90aCBzdWNjZXNzIHN0b3Jp
ZXMgYW5kIGZhaWx1cmVzLiAgSWYgbm90aGluZwo+ID4gY29tZXMgdXAsIEknbGwgY29tbWl0IGl0
IGluIGEgd2VlayBvciBzby4KPiA+Cj4gPiAoQnR3LCBoYXMgYW55b25lIGVuY291bnRlcmVkIHRo
ZSBwcm9ibGVtIG9uIGhhcmR3YXJlIG90aGVyIHRoYW4gVGhpbmtQYWRzPykKPiA+Cj4gPgo+ID4g
SW5kZXg6IHN5cy9kZXYvYWNwaV9zdXBwb3J0L2FjcGlfaWJtLmMKPiA+ID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiA+
IC0tLSBzeXMvZGV2L2FjcGlfc3VwcG9ydC9hY3BpX2libS5jCShyZXZpc2lvbiAyNjc0MTcpCj4g
PiArKysgc3lzL2Rldi9hY3BpX3N1cHBvcnQvYWNwaV9pYm0uYwkod29ya2luZyBjb3B5KQo+ID4g
QEAgLTE2OSw2ICsxNjksOSBAQCBzdHJ1Y3QgYWNwaV9pYm1fc29mdGMgewo+ID4gIAlpbnQJCWxp
Z2h0X2dldF9zdXBwb3J0ZWQ7Cj4gPiAgCWludAkJbGlnaHRfc2V0X3N1cHBvcnRlZDsKPiA+ICAK
PiA+ICsJLyogVVNCIHBvd2VyIHdvcmthcm91bmQgKi8KPiA+ICsJQUNQSV9IQU5ETEUJcG93ZXJf
aGFuZGxlOwo+ID4gKwo+ID4gIAkvKiBsZWQoNCkgaW50ZXJmYWNlICovCj4gPiAgCXN0cnVjdCBj
ZGV2CSpsZWRfZGV2Owo+ID4gIAlpbnQJCWxlZF9idXN5Owo+ID4gQEAgLTM2NSw2ICszNjgsNyBA
QCBhY3BpX2libV9hdHRhY2goZGV2aWNlX3QgZGV2KQo+ID4gIHsKPiA+ICAJc3RydWN0IGFjcGlf
aWJtX3NvZnRjCSpzYzsKPiA+ICAJZGV2Y2xhc3NfdAkJZWNfZGV2Y2xhc3M7Cj4gPiArCUFDUElf
U1RBVFVTCQlzdGF0dXM7Cj4gPiAgCj4gPiAgCUFDUElfRlVOQ1RJT05fVFJBQ0UoKGNoYXIgKiko
dWludHB0cl90KSBfX2Z1bmNfXyk7Cj4gPiAgCj4gPiBAQCAtNDQ4LDYgKzQ1MiwxNyBAQCBhY3Bp
X2libV9hdHRhY2goZGV2aWNlX3QgZGV2KQo+ID4gIAlpZiAoc2MtPmxpZ2h0X3NldF9zdXBwb3J0
ZWQpCj4gPiAgCQlzYy0+bGVkX2RldiA9IGxlZF9jcmVhdGVfc3RhdGUoaWJtX2xlZCwgc2MsICJ0
aGlua2xpZ2h0Iiwgc2MtPmxpZ2h0X3ZhbCk7Cj4gPiAgCj4gPiArCS8qCj4gPiArCSAqIE9idGFp
biBhIGhhbmRsZSB0byB0aGUgcG93ZXIgcmVzb3VyY2UgYXZhaWxhYmxlIG9uIG1hbnkgbW9kZWxz
Lgo+ID4gKwkgKiBUaGlzIG11c3QgYmUgdHVybmVkIG9uIG1hbnVhbGx5IHVwb24gcmVzdW1lLiBP
dGhlcndpc2UgdGhlIHN5c3RlbQo+ID4gKwkgKiBtYXksIGZvciBpbnN0YW5jZSwgcmVzdW1lIGZy
b20gUzMgd2l0aCB1c2IoNCkgcG93ZXJlZCBkb3duLgo+ID4gKwkgKi8KPiA+ICsJc3RhdHVzID0g
QWNwaUdldEhhbmRsZShzYy0+aGFuZGxlLCAiXFxfU0IuUENJMC5MUEMuRUMuUFVCUyIsICZzYy0+
cG93ZXJfaGFuZGxlKTsKPiA+ICsJaWYgKEFDUElfRkFJTFVSRShzdGF0dXMpKSB7Cj4gPiArCQlk
ZXZpY2VfcHJpbnRmKGRldiwgIkZhaWxlZCB0byBnZXQgcG93ZXIgaGFuZGxlXG4iKTsKPiA+ICsJ
CXJldHVybiAoc3RhdHVzKTsKPiA+ICsJfQo+ID4gKwo+ID4gIAlyZXR1cm4gKDApOwo+ID4gIH0K
PiA+ICAKPiA+IEBAIC00NzYsNiArNDkxLDcgQEAgc3RhdGljIGludAo+ID4gIGFjcGlfaWJtX3Jl
c3VtZShkZXZpY2VfdCBkZXYpCj4gPiAgewo+ID4gIAlzdHJ1Y3QgYWNwaV9pYm1fc29mdGMgKnNj
ID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOwo+ID4gKwlBQ1BJX1NUQVRVUyBzdGF0dXM7Cj4gPiAg
Cj4gPiAgCUFDUElfRlVOQ1RJT05fVFJBQ0UoKGNoYXIgKikodWludHB0cl90KSBfX2Z1bmNfXyk7
Cj4gPiAgCj4gPiBAQCAtNDk1LDYgKzUxMSwxNSBAQCBhY3BpX2libV9yZXN1bWUoZGV2aWNlX3Qg
ZGV2KQo+ID4gIAo+ID4gIAkJYWNwaV9pYm1fc3lzY3RsX3NldChzYywgaSwgdmFsKTsKPiA+ICAJ
fQo+ID4gKwlpZiAoc2MtPnBvd2VyX2hhbmRsZSAhPSBOVUxMKSB7Cj4gPiArCQlzdGF0dXMgPSBB
Y3BpRXZhbHVhdGVPYmplY3Qoc2MtPnBvd2VyX2hhbmRsZSwKPiA+ICsJCSAgICAiX09OIiwgTlVM
TCwgTlVMTCk7Cj4gPiArCQlpZiAoQUNQSV9GQUlMVVJFKHN0YXR1cykpIHsKPiA+ICsJCQlkZXZp
Y2VfcHJpbnRmKGRldiwgImZhaWxlZCB0byBzd2l0Y2ggJXMgb24gLSAlc1xuIiwKPiA+ICsJCQkg
ICAgYWNwaV9uYW1lKHNjLT5wb3dlcl9oYW5kbGUpLAo+ID4gKwkJCSAgICBBY3BpRm9ybWF0RXhj
ZXB0aW9uKHN0YXR1cykpOwo+ID4gKwkJfQo+ID4gKwl9Cj4gPiAgCUFDUElfU0VSSUFMX0VORChp
Ym0pOwo+ID4gIAo+ID4gIAlyZXR1cm4gKDApOwo+IEhpLiBJJ3ZlIG5ldmVyIHNlZW4gdGhpcyBw
cm9ibGVtIGJlZm9yZSBvbiBteSBUaGlua1BhZCBFNTMwLiBIb3dldmVyLCBJCj4gaGF2ZSBhcHBs
aWVkIHRoaXMgcGF0Y2ggYW5kIGFmdGVyIHJlYm9vdCBhbGwgc3lzY3RsIG9pZHMgcmVsYXRlZCB0
bwo+IGFjcGlfaWJtIGRpc2FwcGVhcmVkLgo+IAo+IHJvb3RAdGhpbmtwYWQ6L2hvbWUvc2h1cmlr
ICMga2xkc3RhdHxncmVwIGlibQo+IDkgMSAweGZmZmZmZmZmODIxOTAwMDAgNzdlOCBhY3BpX2li
bS5rbwo+IAo+IHJvb3RAdGhpbmtwYWQ6L2hvbWUvc2h1cmlrICMgc3lzY3RsIGRldi5hY3BpX2li
bQo+IHJvb3RAdGhpbmtwYWQ6L2hvbWUvc2h1cmlrICMKPiAKPiBBbmQgaW4gZG1lc2cgSSBzZWUg
dGhpcyBlcnJvcnM6Cj4gCj4gcm9vdEB0aGlua3BhZDovaG9tZS9zaHVyaWsgIyBkbWVzZyAtYXxn
cmVwIGlibQo+IGFjcGlfaWJtMDogPElCTSBUaGlua1BhZCBBQ1BJIEV4dHJhcz4gb24gYWNwaTAK
PiBhY3BpX2libTA6IEZhaWxlZCB0byBnZXQgcG93ZXIgaGFuZGxlCj4gZGV2aWNlX2F0dGFjaDog
YWNwaV9pYm0wIGF0dGFjaCByZXR1cm5lZCA1CgpPaywgSSdsbCBtYWtlIHRoYXQgYXR0YWNoIHBy
b2JsZW0gbm9uLWZhdGFsLgoKSnVzdCB0byBtYWtlIHN1cmU6IHdpdGhvdXQgdGhlIHBhdGNoIHlv
dSBkb24ndCBoYXZlIGFueSBwcm9ibGVtcwp3aXRoIFVTQiBhZnRlciBtdWx0aXBsZSBzdXNwZW5k
L3Jlc3VtZSBjeWNsZXMsIGFuZCB5b3UgZG9uJ3QgdXNlCmFueSB3b3JrYXJvdW5kcyB0byBtYWtl
IGl0IHdvcmssIGVnLiBzZXR0aW5nIHRoZSBkZXYudWhjaS4wLndha2U9MSwKb3IgbWFraW5nIFVT
QiBwb3J0cyBhbHdheXMgcG93ZXJlZCBvbiBpbiBCSU9TPwoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KZnJlZWJzZC1jdXJyZW50QGZyZWVic2Qub3JnIG1h
aWxpbmcgbGlzdApodHRwOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVl
YnNkLWN1cnJlbnQKVG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gImZyZWVic2QtY3Vy
cmVudC11bnN1YnNjcmliZUBmcmVlYnNkLm9yZyI=