SW4gbXkgZXhwZXJpZW5jZSwgZGlnaXRhbCBmaWx0ZXJpbmcgaXMgYSBtb3N0IHdpdGggdGhpcyBr aW5kIG9mIHN5c3RlbXMuIEl0CnNob3VsZCBub3QgYmUgaGFyZCBvciBhIGJ1cmRlbiB3aXRoIGFu IEFyZHVpbm8uCgpaLU4gdXN1YWxseSB3b3JrcyByZWFzb25hYmx5IHdlbGwsIHRob3VnaCBzb21l dGltZXMgaXQncyBhIGhpdCBhbmQgbWlzcwpwcm9jZXNzLiAgSU1DIGlzIGVhc2llciB0byB0dW5l IEJVVCByZXF1aWVyZXMgYSBiZXR0ZXIgbW9kZWxpbmcgb2YgdGhlCnByb2Nlc3MuCgpSZWdhcmRz LAoKQ2FybG9zLgpFbCBlbmUuIDEsIDIwMTUgNToxNiBQTSwgIlJ1YmVuIErDtm5zc29uIiA8cnVi ZW5Acmpqb3VybmFsLm5ldD4gZXNjcmliacOzOgoKPgo+ID4gKkJhc2ljKiB0dW5pbmcgKGllOiBu byBvc2NpbGxhdGlvbiwgY2hhdHRlciBhbmQgZ2V0dGluZyBwcmV0dHkgY2xvc2UgdG8KPiA+IHNl dHBvaW50KSB3aXRoIHRoZSBaaWVnbGVyLU5pY2hvbHMgbWV0aG9kIHdhcyByZWxhdGl2ZWx5IGVh c3ksIGJ1dCBpdAo+ID4gc2VlbXMgYSBiaXQgInN0aWNreSIgLS0gaWU6IHZlcnkgc21hbGwgY2hh bmdlcyB0byBteSBjb250cm9sIHBvdCBkb24ndAo+ID4gaW1tZWRpYXRlbHkgdGFrZSBlZmZlY3Qs IGFuZCBjb250aW51aW5nIHRvIGNoYW5nZSB0aGUgcG90IGEgYml0IG1vcmUKPiA+IHN1ZGRlbmx5 IG1ha2VzIGl0ICJqdW1wIiB0byB0aGUgY29ycmVjdCBwb3NpdGlvbi4KPgo+IENvdWxkIGl0IGJl IHRoYXQgeW91IGhhdmUgdG9vIGxvdyByZXNvbHV0aW9uIHNvIHZlcnkgc21hbGwgY2hhbmdlcyB0 byB0aGUKPiBwb3QKPiBpc24ndCByZWdpc3RlcmVkPyBXaGVuIHlvdSBtb3ZlIGl0IGEgYml0IG1v cmUsIHlvdSB3aWxsIGdldCBhIHN0ZXAgY2hhbmdlLgo+Cj4KPiA+IEFsc28sIGp1c3Qgc2l0dGlu Zwo+ID4gd2l0aCBhIGZpeGVkIHNldHBvaW50LCBpdCB3aWxsIG1vdmUgYSBiaXQgZXZlcnkgb25j ZSBpbiBhIHdoaWxlIChsaWtlCj4gPiA1LTEwIHNlY29uZHMpLgo+Cj4gQ291bGQgYmUgbm9pc2Ug aW4gdGhlIHNpZ25hbCBmcm9tIHRoZSBtb3RvciBwb3NpdGlvbiBhbmQvb3IgcG90LiBZb3UKPiBu b3JtYWxseQo+IHdpbGwgZ2V0IG9uZSB0byBhIGNvdXBsZSBvZiBiaXRzIGppdHRlciBmcm9tIHRo ZSBBL0QgY29udmVydGVyIGlmIHlvdXIKPiBhbmFsb2cKPiBjaXJjdWl0IGlzbid0IHdlbGwgZmls dGVyZWQgYW5kIHNlcGFyYXRlZCBmcm9tIHRoZSBkaWdpdGFsIGNpcmN1aXQuIFBlcmhhcHMKPiBk aWdpdGFsIGZpbHRlcmluZyBjb3VsZCBoZWxwLgo+Cj4gL1J1YmVuCj4gLS0KPiBodHRwOi8vd3d3 LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4g Vmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5t aXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Ci0tIApodHRwOi8vd3d3LnBpY2xpc3Qu Y29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdl IHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cg== .