SGkgcGVvcGxlLCANCg0KcmVhbGx5IHBvd2VyZnVsbCB0aGlzIGJsdXIgb3B0aW9uLCBoYXZlIHlvdSB0cmllZCB0byBjb21iaW5lIGl0IHdpdGggYSANCmdyYWRpZW50ID8gbG9vayBhdCB0aGUgYXR0YWNoICENCg0KUi4NCg0KLS0tLS0gT3JpZ2luYWwgTWVzc2FnZSAtLS0tLQ0KRnJvbTogR2lhbiBQYW9sbyBNdXJlZGR1IDx0aGV0YXJnb3NAZ21haWwuY29tPg0KVG86IElua3NjYXBlIFVzZXIgQ29tbXVuaXR5IDxpbmtzY2FwZS11c2VyQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4NCkRhdGU6IEZyaSwgMDQgTWF5IDIwMDcgMTc6MzI6NTggLTA1MDANClN1YmplY3Q6IFJlOiBbSW5rc2NhcGUtdXNlcl0gSG93IHRvIG1ha2Ugc2hhZG93cyB3aXRoIGlua3NjYXBlPw0KDQo+IFJvU291cmNlZm9yZ2UgZXNjcmliafM6DQo+ID4gSGkgcGVvcGx3LA0KPiA+DQo+ID4gSSBmb3VuZCB0aGlzIG9sZCBtZXNzYWdlIGZyb20gSGFkbXV0IGFuZCBJIG5lZWQgdG8gcmVwcm9kdWNlIGhpcyANCj4gPiBlZmZlY3QuIEkgY2FuJ3QgYmx1ciB0aGUgb2JqZWN0LiBJIGNhbid0IGZpbmQgYW55ICJibHVyIiBjb21tYW5kIGluIA0KPiA+IG15IGl0YWxpYW4gdmVyc2lvbi4gQ2FuIHlvdSBleHBsYWluIG1lIGluICBhIG1vcmUgZGV0YWlsZWQgd2F5ID8NCj4gPg0KPiA+IE1hbnkgdGhhbmtzLA0KPiA+DQo+ID4gUm8uDQo+ID4gICANCj4gSWYgeW91J3JlIHVzaW5nIDAuNDVbLTFdLCB5b3Ugd2lsbCBmaW5kIGl0IGRpcmVjdGx5IGluIHRoZSBGaWxsIGFuZA0KPiBTdHJva2Ugd2luZG93Li4uIFlvdSdsbCBub3RpY2UgVFdPICgyKSBzbGlkZXJzLCBvbmUgZm9yIEJsdXIgYW5kIG9uZSBmb3INCj4gb3BhY2l0eS4uLiBIb3BlIHRoYXQgaGVscHMgOykNCj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5IERCMiBFeHByZXNzDQo+IERvd25sb2FkIERCMiBFeHByZXNzIEMgLSB0aGUgRlJFRSB2ZXJzaW9uIG9mIERCMiBleHByZXNzIGFuZCB0YWtlDQo+IGNvbnRyb2wgb2YgeW91ciBYTUwuIE5vIGxpbWl0cy4gSnVzdCBkYXRhLiBDbGljayB0byBnZXQgaXQgbm93Lg0KPiBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Bvd2VyYmFyL2RiMi8NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gSW5rc2NhcGUtdXNlciBtYWlsaW5nIGxpc3QNCj4gSW5rc2NhcGUtdXNlckBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vaW5rc2NhcGUtdXNlcg0KPiA=