RE: Suggestion needed for a case of Lucene Migration with TokenStream

"Saha, Rajib" <[email protected]> Tue, 29 Apr 2025 11:44:43 +0000
Newsgroups gmane.comp.jakarta.lucene.user
Message-ID <DB9PR02MB83716CC7758C36A8A543400790802@DB9PR02MB8371.eurprd02.prod.outlook.com>
SGkgVXdlLA0KDQpJbiBvdXIgcHJvZHVjdCB3ZSBoYXZlIGRpZmZlcmVudCBsZXZlbCBvZiBpbmRl
eGluZyBsaWtlIE1ldGFEYXRhL0Z1bGxDb250ZW50IGluZm9ybWF0aW9uIG9mIHRoZSBSZXBvcnRz
Lg0KU28sIFJlYnVpbGQgaW5kZXhpbmcgZGVsZXRlcyB0aGUgZXhpc3RpbmcgTHVjZW5lIGluZGV4
IGZpbGVzIGFuZCBkbyBhIGZyZXNoIGluZGV4aW5nIG9mIGFsbCB0aGUgZG9jdW1lbnRzLg0KDQpX
aGVuIHdlIGRvIHBoeXNpY2FsbHkgZ29pbmcgdG8gZGlyZWN0b3J5IGFuZCBkZWxldGUgdGhlIEx1
Y2VuZSBJbmRleCBmaWxlcy4gVGhlIFJlYnVpbGQgaW5kZXhpbmcgaXMgd29ya2luZyBmaW5lLg0K
QnV0LCBmcm9tIFVJIG9mIHByb2R1Y3Qgd2hlbiB3ZSBhcmUgc2VsZWN0aW5nIGZvciBSZWJ1aWxk
IGluZGV4aW5nLCBJbmRleGluZyBpcyBub3QgaGFwcGVuaW5nLg0KDQpJIGFtIGRlYnVnZ2luZyBt
b3JlIGZvciBpdC4gSSB3aWxsIHVwZGF0ZSB5b3UgZnVydGhlciBvbiBnZXR0aW5nIGJldHRlciBw
aWN0dXJlLiBBcyBvdXIgY29kZSBmb3IgdGhlIEFyZWEgZ29lcyB3aXRoIG11bHRpcGxlIHRhc2tz
IGFuZCB0aHJlYWQuIEl0IGlzIHRha2luZyB0aW1lIHRvIGRlYnVnLg0KDQpJIGFtIHN1c3BlY3Rp
bmcsIHRoZXJlIG1heSBiZSBzb21lIGxvY2sgaXMgdGhlcmUgaW4gTHVjZW5lIEluZGV4IGZpbGVz
LCBkdWUgdG8gb2YgaXQsIGRlbGV0ZSBvZiBMdWNlbmUgaW5kZXggZmlsZXMgYXJlIG5vdCB3b3Jr
aW5nIHdpdGggc3RvcHBpbmcgdGhlIHNlcnZpY2UuIEJ1dCwgdGhpcyBpcyBhIGd1ZXNzLiBJbnZl
c3RpZ2F0aW9uIGlzIG9uIGZvciBpdC4NCkRvIHlvdSBoYXZlIGFueSBzdXNwZWN0Pw0KDQpSZWdh
cmRzDQpSYWppYg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogVXdlIFNjaGlu
ZGxlciA8dXdlQHRoZXRhcGhpLmRlPg0KU2VudDogMjggQXByaWwgMjAyNSAxNzo1OQ0KVG86IGph
dmEtdXNlckBsdWNlbmUuYXBhY2hlLm9yZw0KU3ViamVjdDogUmU6IFN1Z2dlc3Rpb24gbmVlZGVk
IGZvciBhIGNhc2Ugb2YgTHVjZW5lIE1pZ3JhdGlvbiB3aXRoIFRva2VuU3RyZWFtDQoNCkhpLA0K
DQp3aGF0IGRvIHlvdSBtZWFuIHdpdGg6ICJCdXQgc2FtZSBjb250ZW50IG9uIHJlYnVpbGRpbmcg
dGhlIGluZGV4IGlzIG5vdA0Kd29ya2luZyI/DQoNCkhvdyBkbyB5b3UgcmVidWlsZCB0aGUgaW5k
ZXg/IEl0IGlzIG5vdCBlbm91Z2ggdG8ganVzdCByZWFkIGFsbA0KZG9jdW1lbnRzIGFzIHN0b3Jl
ZCBmaWVsZHMgYW5kIHJlaW5kZXggdGhlbS4gWW91IG5lZWQgdGhlIG9yaWdpbmFsDQpkb2N1bWVu
dCBkYXRhIGFuZCBiYXNpY2FsbHkgcnVuIHRoZW0gdGhvcnVnaCB0aGUgc2FtZSBwaXBlbGluZSB0
aGF0IHlvdQ0KYWxyZWFkeSBoYXZlIChzbyB0aGUgaW5kZXhpbmcgc2hvdWxkIGJlIGRvbmUgYnkg
dGhlIHNhbWUgY29kZSB0aGF0DQppbmRleGVzIG5ldyBkb2N1bWVudHMpLiBTbyBJJ2Qgd3JpdGUg
c29tZSBjb2RlIHRoYXQgcmVhZHMgdGhlIG9sZCBkYXRhDQooaWYgcG9zc2libGUgZnJvbSBzb3Vy
Y2UpIG9yIHJlYWRzIHRoZSBvbGQgaW5kZXggKGlmIGFsbCBpbmZvcm1hdGlvbg0KdGhhdCB3YXMg
aW5kZXhlZCBpcyBhdmFpbGFibGUgYXMgc3RvcmVkIGZpZWxkcywgc3ludGhldGljYWxseSBidWls
ZHMNCmlucHV0IGRhdGEgZm9yIHRoZSBuZXcgaW5kZXhlciBhbmQgc2VuZHMgaXQgdG8gdGhlIEFQ
SSAob3Igd2hhdGV2ZXIgeW91DQpoYXZlIGZvciBpbmRleGluZyBpbiB5b3VyIG5ldyBzeXN0ZW0p
Lg0KDQpJZiB5b3UganVzdCBoYXZlIGluY29tcGxldGUgTHVjZW5lIERvY3VtZW50IGluc3RhbmNl
cyBmcm9tIHRoZSBvbGRlcg0KTHVjZW5lIGluZGV4LCBJIHRoaW5rIHlvdSdyZSBsb3N0LiBXaGVu
IHlvdSBjYW5uDQpJbmRleFJlYWRlci9JbmRleFNlYXJjaGVyLmRvY3VtZW50KCksIHlvdSBvbmx5
IGdldCBzdG9yZWQgZmllbGRzLCAtLSBidXQNCnRoYXQncyBub3QgYWxsIGluZm9ybWF0aW9uIHRo
YXQgd2FzIG9yaWdpbmJhbGx5IHVzZWQgZm9yIGluZGV4aW5nLg0KUmVhZGluZyBkb2N1bWVudHMg
ZnJvbSBJbmRleFJlYWRlciBhbmQgcGFzc2luZyBpdCB0byBJbmRleFdyaXRlciBkb2VzDQpub3Qg
d29yay4gSXQgd29ya3MgZnJvbSB0aGUgQVBJIHBvaW50IG9mIHZpZXcsIGJ1dCB0aGUgZGF0YSBp
cyBkaWZmZXJlbnQuDQoNClV3ZQ0KDQpBbSAyOC4wNC4yMDI1IHVtIDEyOjQzIHNjaHJpZWIgU2Fo
YSwgUmFqaWI6DQo+IEhpIFV3ZSwNCj4NCj4gVGhhbmsgeW91IGZvciB5b3VyIGRldGFpbGVkIGlu
cHV0IGFuZCB2YWx1YWJsZSBhZHZpY2UuIEkgZnVsbHkgdW5kZXJzdGFuZCBhbmQgYWdyZWUgdGhh
dCB1cGdyYWRpbmcgZnJvbSBzdWNoIGFuIG9sZCB2ZXJzaW9uIG9mIEx1Y2VuZSBpbnZvbHZlcyBt
dWNoIG1vcmUgdGhhbiBqdXN0IHJlc29sdmluZyBjb21waWxhdGlvbiBpc3N1ZXMuDQo+IEJhc2Vk
IG9uIHRoZSBsYXRlc3QgTHVjZW5lIHZlcnNpb24sIHdlIGhhdmUgcmVkZXNpZ25lZCBvdXIgcGxh
dGZvcm0gYWNjb3JkaW5nbHkgZ29pbmcgdGhyb3VnaCB0aGUgTHVjZW5lIEFQSXMgdXNlZCBhbmQg
cmVwbGFjaW5nIGFjY29yZGluZ2x5IHRvIGxhdGVzdC4NCj4NCj4gV2l0aCB0aGVzZSBjaGFuZ2Vz
LCBGcmVzaCBjb250ZW50IGluZGV4aW5nIGlzIHdvcmtpbmcgZmluZS4gU2VhcmNoIHJlc3VsdHMg
YXJlIGFsc28gY29taW5nIGFzIGV4cGVjdGVkLg0KPiBHcmVhdGx5IGFwcHJlY2lhdGUgeW91ciBl
eHBlcnQgZ3VpZGFuY2UsIHRvIGhlbHAgdG8gYnJpbmdpbmcgdGlsbCB0aGlzIHBvaW50Lg0KPg0K
PiBCdXQgc2FtZSBjb250ZW50IG9uIHJlYnVpbGRpbmcgdGhlIGluZGV4IGlzIG5vdCB3b3JraW5n
Lg0KPiBJIGFtIGRlYnVnZ2luZyB0aGlzIHBhcnQgbm93Lg0KPg0KPiBEbyB5b3UgaGF2ZSBhbnkg
c3VnZ2VzdGlvbiBvbiB0aGUgcHJvYmxlbSA/DQo+DQo+IFJlZ2FyZHMNCj4gUmFqaWINCj4NCj4g
LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVXdlIFNjaGluZGxlciA8dXdlQHRo
ZXRhcGhpLmRlPg0KPiBTZW50OiAyNSBBcHJpbCAyMDI1IDE4OjE5DQo+IFRvOiBqYXZhLXVzZXJA
bHVjZW5lLmFwYWNoZS5vcmcNCj4gU3ViamVjdDogUmU6IFN1Z2dlc3Rpb24gbmVlZGVkIGZvciBh
IGNhc2Ugb2YgTHVjZW5lIE1pZ3JhdGlvbiB3aXRoIFRva2VuU3RyZWFtDQo+DQo+IEhpLA0KPg0K
PiBJJ2QgbGlrZSB0byBtZW50aW9uIHRoZSBmb2xsb3dpbmc6IFlvdSBhcmUgdHJ5aW5nIHRvIHVw
Z3JhZGUgTHVjZW5lIGZyb20NCj4gYSByZWFsbHkgYW5jaWVudCB2ZXJzaW9uLiBPZiBjb3Vyc2Us
IGJhc2ljIGNvbmNlcHRzIGFyZSBzdGlsbCB0aGUgc2FtZSwNCj4gYnV0IHRoZSBzZXJhY2ggZW5n
aW5lIGFuZCBpdHMgQVBJcyBoYXZlIGNoYW5nZWQgZHJhbWF0aWNhbGx5LCBzbyBqdXN0DQo+IHRy
eWluZyB0byAiY29tcGlsZSBjb2RlIGFuZCBmaXggcmFuZG9tIHN0dWZmIHVudGlsIGl0IGNvbXBp
bGVzIiB3aWxsIG5vdA0KPiBicmluZyB5b3UgdG8gYSB3b3JraW5nIHByb2R1Y3QuIE9uIHRvcCwg
aXQgbWF5IG1ha2UgdGhlIHByb2R1Y3Qgd29yc2UNCj4gdGhhbiBiZWZvcmUgdGhlIHVwZGF0ZS4N
Cj4NCj4gVG8gZG8gdGhlIHVwZ3JhZGUgY29ycmVjdGx5LCBpdCBpcyByZWNvbW1lbmRlZCB0byBo
YXZlIHNvbWVib2R5DQo+IGF2YWlsYWJsZSAoaWRlYWxseSB0aGUgcGVyc29uIHdobyB3cm90ZSB0
aGUgY29kZSBvcmlnaW5hbGx5KSBhbmQgdGhlbiBnbw0KPiB0aG91Z2ggaXQgbGluZS1ieSBsaW5l
IGFuZCByZXdyaXRlIGl0LiBJIGFtIGV4cGxpY2l0ZWx5IG1lbnRpb25pbmcNCj4gInJld3JpdGUi
IGJlY2F1c2UgdGhhdCdzIHdoYXQgeW91IHNob3VsZCBkbyEgSWYgeW91IGRvbid0IGhhdmUgYSBw
ZXJzb24NCj4gdGhhdCB1bmRlcnRzdGFuZHMgTHVjZW5lIGVub3VnaCwgSSdkIHN1Z2dlc3QgdG8g
Z2V0IGhlbHAgZnJvbSBvdXRzaWRlLg0KPiBZb3UgbmVlZCB0byB1bmRlcnN0YW5kIGV2ZXJ5IGxp
bmUgb2YgY29kZSB3aGVuIHJld3JpdGluZyBpdC4gSW4gYWRkaXRpb24NCj4gdGhlcmUgYXJlIG1h
bnkgbmV3IGZlYXR1cmVzIHRoYXQgbWFrZSBhbGwgdGhhdCBzZXBjaWFsIGNhc2VzIGxpa2UNCj4g
UGF5TG9hZHMgb24gVG9rZW5zdHJlYW1zIG9ic29sZXRlLiBJJ2Qgbm90IHJlY29tbWVuZCB0byB1
c2Ugc29tZXRoaW5nDQo+IHBheWxvYWRzIG9uIHRlcm1zIG5vd2FkYXlzLg0KPg0KPiBVd2UNCj4N
Cj4gQW0gMjQuMDQuMjAyNSB1bSAxMjoyOSBzY2hyaWViIE1pa2hhaWwgS2hsdWRuZXY6DQo+PiBS
aWdodC4gVGV4dEZpZWxkLlRZUEVfTk9UX1NUT1JFRCBzaG91bGQgYmUgdXNlZCB0aGVuLg0KPj4N
Cj4+IE9uIFRodSwgQXByIDI0LCAyMDI1IGF0IDEwOjM34oCvQU0gU2FoYSwgUmFqaWIgPHJhamli
LnNhaGFAc2FwLmNvbS5pbnZhbGlkPg0KPj4gd3JvdGU6DQo+Pg0KPj4+IFRoYW5rcyBNaWtoYWls
IGZvciB0aGUgc3VnZ2VzdGlvbi4NCj4+PiBOb3cgdGhlIHByZXZpb3VzIGV4Y2VwdGlvbiBoYXMg
Z29uZS4gQnV0IGEgbmV3IGV4Y2VwdGlvbiBoYXMgY29tZSBmcm9tDQo+Pj4gRmllbGQuamF2YS4N
Cj4+PiBIZXJlIGJlbG93IGFyZSB0aGUgZXhjZXB0aW9uIGRldGFpbHMuDQo+Pj4gPT09PT09PT0N
Cj4+PiBqYXZhLmxhbmcuSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uOiBUb2tlblN0cmVhbSBmaWVs
ZHMgY2Fubm90IGJlIHN0b3JlZA0KPj4+ICAgICAgICAgICBhdCBvcmcuYXBhY2hlLmx1Y2VuZS5k
b2N1bWVudC5GaWVsZC48aW5pdD4oRmllbGQuamF2YToxNTUpDQo+Pj4gPT09PT09PT09DQo+Pj4N
Cj4+PiBDYW4geW91IHBsZWFzZSBzdWdnZXN0IGhlcmUgdG9vPw0KPj4+DQo+Pj4gUmVnYXJkcw0K
Pj4+IFJhamliDQo+Pj4NCj4+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4g
RnJvbTogTWlraGFpbCBLaGx1ZG5ldiA8bWtobEBhcGFjaGUub3JnPg0KPj4+IFNlbnQ6IDI0IEFw
cmlsIDIwMjUgMTI6MTANCj4+PiBUbzogamF2YS11c2VyQGx1Y2VuZS5hcGFjaGUub3JnDQo+Pj4g
U3ViamVjdDogUmU6IFN1Z2dlc3Rpb24gbmVlZGVkIGZvciBhIGNhc2Ugb2YgTHVjZW5lIE1pZ3Jh
dGlvbiB3aXRoDQo+Pj4gVG9rZW5TdHJlYW0NCj4+Pg0KPj4+IEhpDQo+Pj4gVXNlIFRleHRGaWVs
ZC5UWVBFX1NUT1JFRCBhcyB0aGUgdGhpcmQgYXJndW1lbnQgaW4gbmV3IEZpZWxkKCkNCj4+PiBz
ZWUNCj4+Pg0KPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvbHVjZW5lLXNvbHIvYmxvYi9l
MjdmNDRlM2Q3OGRmY2VjMjMwYzk3ZTBhMTI0MGUzNzUxZGFlZmY5L2x1Y2VuZS9jb3JlL3NyYy9q
YXZhL29yZy9hcGFjaGUvbHVjZW5lL2RvY3VtZW50L1RleHRGaWVsZC5qYXZhI0wzNUMzMy1MMzVD
NDQNCj4+Pg0KPj4+DQo+Pj4gT24gVGh1LCBBcHIgMjQsIDIwMjUgYXQgODozN+KAr0FNIFNhaGEs
IFJhamliIDxyYWppYi5zYWhhQHNhcC5jb20uaW52YWxpZD4NCj4+PiB3cm90ZToNCj4+Pg0KPj4+
PiBIaSBFeHBlcnRzLA0KPj4+Pg0KPj4+PiBXZSBhcmUgbWlncmF0aW5nIEx1Y2VuZSBmcm9tIDIu
NC4xIHRvIDguMTEuMi4NCj4+Pj4NCj4+Pj4gRHVyaW5nIE1pZ3JhdGlvbiBmb3IgYSBwYXJ0IG9m
IGNvZGUsIHdlIGFyZSBnZXR0aW5nIGJlbG93IGV4Y2VwdGlvbiBpbg0KPj4+PiA4LjExLjIgYmFz
ZWQgY2hhbmdlcyBmcm9tIFJlZCBsaW5lIGNvbG9yZWQuDQo+Pj4+ID09PT09PT09PT09PT0NCj4+
Pj4gamF2YS5sYW5nLklsbGVnYWxBcmd1bWVudEV4Y2VwdGlvbjogVG9rZW5TdHJlYW0gZmllbGRz
IG11c3QgYmUgaW5kZXhlZA0KPj4+IGFuZA0KPj4+PiB0b2tlbml6ZWQNCj4+Pj4gYXQgb3JnLmFw
YWNoZS5sdWNlbmUuZG9jdW1lbnQuRmllbGQuPGluaXQ+KEZpZWxkLmphdmE6MTUyKQ0KPj4+Pg0K
Pj4+PiBJIHRpZWQgZmV3IG9wdGlvbnMuIEJ1dCwgY291bGQgbm90IGFibGUgdG8gcmVzb2x2ZSB0
aGUgZXJyb3IuIEJlaWl3DQo+Pj4+IENhbiBzb21lYm9keSBvZiB5b3UgcGxlYXNlIGhlbHAgbWUg
dG8gaWRlbnRpZnksIHdoZXJlIGl0IGlzIGdvaW5nIGFzDQo+Pj4gd3Jvbmc/DQo+Pj4+IFdlIGhh
ZCBjb2RlIGJhc2VkIG9uIDIuNC4xIGFzIGxpa2UgYmVsb3c6DQo+Pj4+ID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQo+Pj4+IEludCBjdXJyZW50VmFsPA0KPj4+PiBodHRwOi8v
MTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPWN1cnJlbnRWYWwmcHJvamVjdD0yMDI1
X1JUTT4gPQ0KPj4+PiAvL3NvbWUgdmFsdWUNCj4+Pj4gUGF5bG9hZFRva2VuU3RyZWFtPA0KPj4+
Pg0KPj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9UGF5bG9hZFRv
a2VuU3RyZWFtJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4gdG9rZW5TdHJlYW08DQo+Pj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3JlZnM9dG9rZW5TdHJlYW0mcHJvamVjdD0y
MDI1X1JUTT4gPQ0KPj4+PiBuZXcgUGF5bG9hZFRva2VuU3RyZWFtPA0KPj4+Pg0KPj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9UGF5bG9hZFRva2VuU3RyZWFtJnBy
b2plY3Q9MjAyNV9SVE0NCj4+Pj4+ICgpOw0KPj4+PiB0b2tlblN0cmVhbTwNCj4+Pj4NCj4+PiBo
dHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5z
ZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZXJ2aWNlcGx1Z2lucy9zcmMvY29t
L3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL2x1Y2VuZS9pbmRleC9lbmdpbmUv
THVjZW5lSW5kZXhFbmdpbmUuamF2YSN0b2tlblN0cmVhbQ0KPj4+Pj4gLnNldFBheWxvYWQ8DQo+
Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9c2V0UGF5bG9hZCZw
cm9qZWN0PTIwMjVfUlRNDQo+Pj4+PiAoY3VycmVudFZhbDwNCj4+Pj4gaHR0cDovLzEwLjIzOC4y
MzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1jdXJyZW50VmFsJnByb2plY3Q9MjAyNV9SVE0+KTsN
Cj4+Pj4gbHVjRmllbGQ8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291
cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3Jr
L2phdmEvc2VydmljZXBsdWdpbnMvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3Jt
L3NlYXJjaC9sdWNlbmUvaW5kZXgvZW5naW5lL0x1Y2VuZUluZGV4RW5naW5lLmphdmEjbHVjRmll
bGQNCj4+Pj4gPSBuZXcgRmllbGQ8DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3Nv
dXJjZS9zP2RlZnM9RmllbGQmcHJvamVjdD0yMDI1X1JUTT4oY29uZmlnPA0KPj4+PiBodHRwOi8v
MTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPWNvbmZpZyZwcm9qZWN0PTIwMjVfUlRN
DQo+Pj4+PiAucGF5bG9hZFVpZDwNCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291
cmNlL3M/ZGVmcz1wYXlsb2FkVWlkJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4+ICgpLm5hbWU8aHR0
cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1uYW1lJnByb2plY3Q9MjAyNV9S
VE0NCj4+Pj4gLA0KPj4+PiB0b2tlblN0cmVhbTwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIz
Ni4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2gu
amF2YS9mcmFtZXdvcmsvamF2YS9zZXJ2aWNlcGx1Z2lucy9zcmMvY29tL3NhcC9idXNpbmVzc29i
amVjdHMvcGxhdGZvcm0vc2VhcmNoL2x1Y2VuZS9pbmRleC9lbmdpbmUvTHVjZW5lSW5kZXhFbmdp
bmUuamF2YSN0b2tlblN0cmVhbQ0KPj4+Pj4gKTsNCj4+Pj4gZG9jPGh0dHA6Ly8xMC4yMzguMjM2
LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9ZG9jJnByb2plY3Q9MjAyNV9SVE0+LmFkZDwNCj4+Pj4g
aHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1hZGQmcHJvamVjdD0yMDI1
X1JUTT4obHVjRmllbGQ8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291
cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3Jr
L2phdmEvc2VydmljZXBsdWdpbnMvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3Jt
L3NlYXJjaC9sdWNlbmUvaW5kZXgvZW5naW5lL0x1Y2VuZUluZGV4RW5naW5lLmphdmEjbHVjRmll
bGQNCj4+Pj4+ICk7DQo+Pj4+IC4uLi4uLg0KPj4+PiBwdWJsaWMgY2xhc3MgUGF5bG9hZFRva2Vu
U3RyZWFtPA0KPj4+Pg0KPj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3Jl
ZnM9UGF5bG9hZFRva2VuU3RyZWFtJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4gZXh0ZW5kcyBUb2tl
blN0cmVhbTwNCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1U
b2tlblN0cmVhbSZwcm9qZWN0PTIwMjVfUlRNPnsNCj4+Pj4gcHVibGljIHN0YXRpYyBTdHJpbmc8
DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9U3RyaW5nJnBy
b2plY3Q9MjAyNV9SVE0+DQo+Pj4+IFVJRF9QQVlMT0FEX1NUQVJUX1ZBTDwNCj4+Pj4NCj4+PiBo
dHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPVVJRF9QQVlMT0FEX1NUQVJU
X1ZBTCZwcm9qZWN0PTIwMjVfUlRNDQo+Pj4+ID0gIl9VSURfIjsNCj4+Pj4gICAgICAgICAgICAg
ICAgIHByaXZhdGUgVG9rZW48DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJj
ZS9zP2RlZnM9VG9rZW4mcHJvamVjdD0yMDI1X1JUTT4gdG9rZW48DQo+Pj4+IGh0dHA6Ly8xMC4y
MzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP3JlZnM9dG9rZW4mcHJvamVjdD0yMDI1X1JUTT4gPSBu
ZXcNCj4+Pj4gVG9rZW48aHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1U
b2tlbiZwcm9qZWN0PTIwMjVfUlRNDQo+Pj4+PiAoVUlEX1BBWUxPQURfU1RBUlRfVkFMPA0KPj4+
IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3Jt
LnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNp
bmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0u
amF2YSNVSURfUEFZTE9BRF9TVEFSVF9WQUwNCj4+Pj4+ICwwLDApOw0KPj4+PiAgICAgICAgICAg
ICAgICAgcHJpdmF0ZSBieXRlW10gYnVmZmVyPA0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6
ODA4MC9zb3VyY2Uvcz9yZWZzPWJ1ZmZlciZwcm9qZWN0PTIwMjVfUlRNPiA9IG5ldw0KPj4+PiBi
eXRlWzRdOw0KPj4+PiAgICAgICAgICAgICAgICAgcHJpdmF0ZSBib29sZWFuIHJldHVyblRva2Vu
PA0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPXJldHVyblRv
a2VuJnByb2plY3Q9MjAyNV9SVE0+ID0NCj4+Pj4gZmFsc2U7DQo+Pj4+DQo+Pj4+ICAgICAgICAg
ICAgICAgICBwdWJsaWMgdm9pZCBzZXRQYXlsb2FkPA0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4x
MDE6ODA4MC9zb3VyY2Uvcz9yZWZzPXNldFBheWxvYWQmcHJvamVjdD0yMDI1X1JUTQ0KPj4+PiAo
aW50DQo+Pj4+IHVpZDxodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPXVp
ZCZwcm9qZWN0PTIwMjVfUlRNPil7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBidWZmZXI8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hy
ZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEv
c2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4
L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI2J1ZmZlcg0KPj4+PiBbMF0NCj4+Pj4gPSAoYnl0ZSl1
aWQ8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAy
NV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3Ny
Yy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxv
YWRUb2tlblN0cmVhbS5qYXZhI3VpZA0KPj4+Pj4gOw0KPj4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnVmZmVyPA0KPj4+Pg0KPj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgw
L3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1l
d29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNo
L3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNidWZmZXINCj4+Pj4gWzFdDQo+Pj4+
ID0gKGJ5dGUpKHVpZDwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3Vy
Y2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsv
amF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsv
aW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjdWlkDQo+Pj4+Pj4+IDgpOw0KPj4+PiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPA0KPj4+Pg0KPj4+IGh0dHA6Ly8xMC4y
MzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNl
YXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMv
cGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSNidWZmZXIN
Cj4+Pj4gWzJdDQo+Pj4+ID0gKGJ5dGUpKHVpZDwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIz
Ni4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2gu
amF2YS9mcmFtZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRm
b3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjdWlkDQo+Pj4+Pj4+
IDE2KTsNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjwNCj4+Pj4N
Cj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9wbGF0
Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9zYXAv
YnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5bG9hZFRva2VuU3Ry
ZWFtLmphdmEjYnVmZmVyDQo+Pj4+IFszXQ0KPj4+PiA9IChieXRlKSh1aWQ8DQo+Pj4+DQo+Pj4g
aHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0u
c2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2lu
ZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5q
YXZhI3VpZA0KPj4+Pj4+PiAyNCk7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0b2tlbjwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJl
Zi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9z
ZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgv
UGF5bG9hZFRva2VuU3RyZWFtLmphdmEjdG9rZW4NCj4+Pj4+IC5zZXRQYXlsb2FkPA0KPj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNl
cnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVz
c29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2
YSNzZXRQYXlsb2FkDQo+Pj4+IChuZXcNCj4+Pj4gUGF5bG9hZDwNCj4+PiBodHRwOi8vMTAuMjM4
LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPVBheWxvYWQmcHJvamVjdD0yMDI1X1JUTQ0KPj4+
Pj4gKGJ1ZmZlcjwNCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8y
MDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZGsv
c3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5
bG9hZFRva2VuU3RyZWFtLmphdmEjYnVmZmVyDQo+Pj4+PiApKTsNCj4+Pj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJldHVyblRva2VuID0gdHJ1ZTsNCj4+Pj4gICAgICAgICAgICAg
ICAgIH0NCj4+Pj4gICAgICAgICAgICAgICAgIHB1YmxpYyBUb2tlbjwNCj4+Pj4gaHR0cDovLzEw
LjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/ZGVmcz1Ub2tlbiZwcm9qZWN0PTIwMjVfUlRNPiBu
ZXh0PA0KPj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPW5leHQm
cHJvamVjdD0yMDI1X1JUTT4oKSB0aHJvd3MNCj4+Pj4gSU9FeGNlcHRpb248DQo+Pj4+IGh0dHA6
Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9SU9FeGNlcHRpb24mcHJvamVjdD0y
MDI1X1JUTT57DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0dXJu
VG9rZW48DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYv
MjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2Rr
L3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1Bh
eWxvYWRUb2tlblN0cmVhbS5qYXZhI3JldHVyblRva2VuDQo+Pj4+ICl7DQo+Pj4+IHJldHVyblRv
a2VuPA0KPj4+Pg0KPj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIw
MjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9z
cmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXls
b2FkVG9rZW5TdHJlYW0uamF2YSNyZXR1cm5Ub2tlbg0KPj4+PiA9IGZhbHNlOyByZXR1cm4gdG9r
ZW48DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAy
NV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3Ny
Yy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxv
YWRUb2tlblN0cmVhbS5qYXZhI3Rva2VuDQo+Pj4+IDsNCj4+Pj4gfQ0KPj4+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZWxzZSB7IHJldHVybiBudWxsPA0KPj4+PiBodHRwOi8vMTAu
MjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPW51bGwmcHJvamVjdD0yMDI1X1JUTT47IH0N
Cj4+Pj4NCj4+Pj4gICAgICAgICAgICAgICAgIH0NCj4+Pj4gfQ0KPj4+Pg0KPj4+Pg0KPj4+PiBX
ZSBoYXZlIG1hZGUgY29kZSBiYXNlZCBvbiA4LjExLjIgYXMgbGlrZSBiZWxvdzoNCj4+Pj4gPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+Pj4+IFBheWxvYWRUb2tl
blN0cmVhbSB0b2tlblN0cmVhbSA9IG5ldyBQYXlsb2FkVG9rZW5TdHJlYW0oKTsNCj4+Pj4gdG9r
ZW5TdHJlYW0uc2V0UGF5bG9hZChjdXJyZW50VmFsKTsNCj4+Pj4gRmllbGRUeXBlIGZpZWxkVHlw
ZSA9IG5ldyBGaWVsZFR5cGUoKTsNCj4+Pj4gbHVjRmllbGQgPSBuZXcgRmllbGQoY29uZmlnLnBh
eWxvYWRVaWQoKS5uYW1lLCB0b2tlblN0cmVhbSwgZmllbGRUeXBlKTsNCj4+Pj4gZG9jLmFkZChs
dWNGaWVsZCk7DQo+Pj4+IC0tLS0NCj4+Pj4gcHVibGljIGNsYXNzIFBheWxvYWRUb2tlblN0cmVh
bTwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9yZWZzPVBh
eWxvYWRUb2tlblN0cmVhbSZwcm9qZWN0PTIwMjVfUlRNDQo+Pj4+IGV4dGVuZHMgVG9rZW5TdHJl
YW08DQo+Pj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS9zP2RlZnM9VG9rZW5T
dHJlYW0mcHJvamVjdD0yMDI1X1JUTT57DQo+Pj4+IHB1YmxpYyBzdGF0aWMgU3RyaW5nPA0KPj4+
PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uvcz9kZWZzPVN0cmluZyZwcm9qZWN0
PTIwMjVfUlRNPg0KPj4+PiBVSURfUEFZTE9BRF9TVEFSVF9WQUw8DQo+Pj4+DQo+Pj4gaHR0cDov
LzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1VSURfUEFZTE9BRF9TVEFSVF9WQUwm
cHJvamVjdD0yMDI1X1JUTQ0KPj4+PiA9ICJfVUlEXyI7DQo+Pj4+IHByaXZhdGUgYnl0ZVtdIGJ1
ZmZlcjwNCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1idWZm
ZXImcHJvamVjdD0yMDI1X1JUTT4gPSBuZXcNCj4+Pj4gYnl0ZVs0XTsNCj4+Pj4gICAgICAgICAg
ICAgICAgIHByaXZhdGUgYm9vbGVhbiByZXR1cm5Ub2tlbjwNCj4+Pj4gaHR0cDovLzEwLjIzOC4y
MzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1yZXR1cm5Ub2tlbiZwcm9qZWN0PTIwMjVfUlRNPiA9
DQo+Pj4+IGZhbHNlOw0KPj4+Pg0KPj4+PiAgICAgICAgICAgICAgICAgcHVibGljIHZvaWQgc2V0
UGF5bG9hZDwNCj4+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz1z
ZXRQYXlsb2FkJnByb2plY3Q9MjAyNV9SVE0NCj4+Pj4gKGludA0KPj4+PiB1aWQ8aHR0cDovLzEw
LjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3M/cmVmcz11aWQmcHJvamVjdD0yMDI1X1JUTT4pew0K
Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyPA0KPj4+Pg0KPj4+IGh0
dHA6Ly8xMC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNl
cnZpY2VzLnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVz
c29iamVjdHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2
YSNidWZmZXINCj4+Pj4gWzBdDQo+Pj4+ID0gKGJ5dGUpdWlkPA0KPj4+Pg0KPj4+IGh0dHA6Ly8x
MC4yMzguMjM2LjEwMTo4MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2Vz
LnNlYXJjaC5qYXZhL2ZyYW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVj
dHMvcGxhdGZvcm0vc2VhcmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSN1aWQN
Cj4+Pj4+IDsNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjwNCj4+
Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2UveHJlZi8yMDI1X1JUTS9w
bGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2YS9zZGsvc3JjL2NvbS9z
YXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5kZXgvUGF5bG9hZFRva2Vu
U3RyZWFtLmphdmEjYnVmZmVyDQo+Pj4+IFsxXQ0KPj4+PiA9IChieXRlKSh1aWQ8DQo+Pj4+DQo+
Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZv
cm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1
c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVh
bS5qYXZhI3VpZA0KPj4+Pj4+PiA4KTsNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJ1ZmZlcjwNCj4+Pj4NCj4+PiBodHRwOi8vMTAuMjM4LjIzNi4xMDE6ODA4MC9zb3VyY2Uv
eHJlZi8yMDI1X1JUTS9wbGF0Zm9ybS5zZXJ2aWNlcy5zZWFyY2guamF2YS9mcmFtZXdvcmsvamF2
YS9zZGsvc3JjL2NvbS9zYXAvYnVzaW5lc3NvYmplY3RzL3BsYXRmb3JtL3NlYXJjaC9zZGsvaW5k
ZXgvUGF5bG9hZFRva2VuU3RyZWFtLmphdmEjYnVmZmVyDQo+Pj4+IFsyXQ0KPj4+PiA9IChieXRl
KSh1aWQ8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYuMTAxOjgwODAvc291cmNlL3hyZWYv
MjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmphdmEvZnJhbWV3b3JrL2phdmEvc2Rr
L3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9ybS9zZWFyY2gvc2RrL2luZGV4L1Bh
eWxvYWRUb2tlblN0cmVhbS5qYXZhI3VpZA0KPj4+Pj4+PiAxNik7DQo+Pj4+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBidWZmZXI8DQo+Pj4+DQo+Pj4gaHR0cDovLzEwLjIzOC4yMzYu
MTAxOjgwODAvc291cmNlL3hyZWYvMjAyNV9SVE0vcGxhdGZvcm0uc2VydmljZXMuc2VhcmNoLmph
dmEvZnJhbWV3b3JrL2phdmEvc2RrL3NyYy9jb20vc2FwL2J1c2luZXNzb2JqZWN0cy9wbGF0Zm9y
bS9zZWFyY2gvc2RrL2luZGV4L1BheWxvYWRUb2tlblN0cmVhbS5qYXZhI2J1ZmZlcg0KPj4+PiBb
M10NCj4+Pj4gPSAoYnl0ZSkodWlkPA0KPj4+Pg0KPj4+IGh0dHA6Ly8xMC4yMzguMjM2LjEwMTo4
MDgwL3NvdXJjZS94cmVmLzIwMjVfUlRNL3BsYXRmb3JtLnNlcnZpY2VzLnNlYXJjaC5qYXZhL2Zy
YW1ld29yay9qYXZhL3Nkay9zcmMvY29tL3NhcC9idXNpbmVzc29iamVjdHMvcGxhdGZvcm0vc2Vh
cmNoL3Nkay9pbmRleC9QYXlsb2FkVG9rZW5TdHJlYW0uamF2YSN1aWQNCj4+Pj4+Pj4gMjQpOw0K
Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF5bG9hZEF0dHJpYnV0ZUltcGwg
YXR0cmlidXRlSW1wbCA9IG5ldw0KPj4+PiBQYXlsb2FkQXR0cmlidXRlSW1wbChuZXcgQnl0ZXNS
ZWYoYnVmZmVyKSk7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZEF0dHJp
YnV0ZUltcGwoYXR0cmlidXRlSW1wbCk7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZXR1cm5Ub2tlbiA9IHRydWU7DQo+Pj4+ICAgICAgICAgICAgICAgICB9DQo+Pj4+ICAg
ICAgICAgICAgICAgICBwdWJsaWMgYm9vbGVhbiBpbmNyZW1lbnRUb2tlbigpIHRocm93cyBJT0V4
Y2VwdGlvbiB7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmV0dXJu
VG9rZW4pew0KPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm5Ub2tlbiA9IGZhbHNlOw0KPj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Ugew0K
Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7DQo+Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQo+Pj4+ICAgICAg
ICAgICAgICAgICB9DQo+Pj4+IH0NCj4+Pj4NCj4+Pj4gUmVnYXJkcw0KPj4+PiBSYWppYg0KPj4+
Pg0KPj4+Pg0KPj4+IC0tDQo+Pj4gU2luY2VyZWx5IHlvdXJzDQo+Pj4gTWlraGFpbCBLaGx1ZG5l
dg0KPj4+DQo+IC0tDQo+IFV3ZSBTY2hpbmRsZXINCj4gQWNodGVyZGllayAxOSwgRC0yODM1NyBC
cmVtZW4NCj4gaHR0cHM6Ly93d3cudGhldGFwaGkuZGUvDQo+IGVNYWlsOiB1d2VAdGhldGFwaGku
ZGUNCj4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IFRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGphdmEt
dXNlci11bnN1YnNjcmliZUBsdWNlbmUuYXBhY2hlLm9yZw0KPiBGb3IgYWRkaXRpb25hbCBjb21t
YW5kcywgZS1tYWlsOiBqYXZhLXVzZXItaGVscEBsdWNlbmUuYXBhY2hlLm9yZw0KPg0KPg0KPiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCj4gVG8gdW5zdWJzY3JpYmUsIGUtbWFpbDogamF2YS11c2VyLXVuc3Vic2Ny
aWJlQGx1Y2VuZS5hcGFjaGUub3JnDQo+IEZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1haWw6
IGphdmEtdXNlci1oZWxwQGx1Y2VuZS5hcGFjaGUub3JnDQo+DQotLQ0KVXdlIFNjaGluZGxlcg0K
QWNodGVyZGllayAxOSwgRC0yODM1NyBCcmVtZW4NCmh0dHBzOi8vd3d3LnRoZXRhcGhpLmRlLw0K
ZU1haWw6IHV3ZUB0aGV0YXBoaS5kZQ0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVG8gdW5zdWJzY3JpYmUs
IGUtbWFpbDogamF2YS11c2VyLXVuc3Vic2NyaWJlQGx1Y2VuZS5hcGFjaGUub3JnDQpGb3IgYWRk
aXRpb25hbCBjb21tYW5kcywgZS1tYWlsOiBqYXZhLXVzZXItaGVscEBsdWNlbmUuYXBhY2hlLm9y
Zw0KDQo=
DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGphdmEtdXNlci11
bnN1YnNjcmliZUBsdWNlbmUuYXBhY2hlLm9yZw0KRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMs
IGUtbWFpbDogamF2YS11c2VyLWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcNCg0K