UGVyaGFwcyBpdCBpcyBhIGJpdCBjb25mdXNpbmcgYmVjYXVzZSB0aGVyZSByZWFsbHkgYXJlIHNv IG1hbnkgb3B0aW9ucywKbGlrZSBldmVyeXRoaW5nIGluIExpbnV4LgoKV2hlbiB5b3Ugd2FudCB0 byBzdGFydCBhIHByb2plY3QsIHlvdSBpbml0aWFsaXplIGEgcmVwb3NpdG9yeS4KRXNzZW50aWFs bHkgdGhpcyBjcmVhdGVzIGEgbG9jYWwgcmVwb3NpdG9yeSB3aXRoaW4geW91ciBwcm9qZWN0J3MK ZGlyZWN0b3J5IHRyZWUuCgpJZiBhIHByb2plY3QgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkIGFu ZCB5b3Ugd2FudCB0byBzdGFydCB3b3JraW5nIG9uCml0LCB5b3UgY2xvbmUgaXQncyByZXBvc2l0 b3J5LgoKSWYgeW91IHdhbnQgdG8gc2hhcmUgeW91ciBwcm9qZWN0IGZyb20gYSBzZXJ2ZXIsIHlv dSBjcmVhdGUgYSBiYXJlCnJlcG9zaXRvcnkgb24gdGhlIHNlcnZlciwgeW91IGFkZCB0aGF0IHRv IHlvdXIgbG9jYWwgcmVwb3NpdG9yeSBhcyBhCnJlbW90ZSwgYW5kIHlvdSBwdXNoIHlvdXIgcHJv amVjdCB0byB0aGUgcmVtb3RlLsKgwqBJZiBvdGhlcnMgbWFrZQpjaGFuZ2VzLCB5b3UgcHVsbCB0 aGVpciBjaGFuZ2VzIGZyb20gdGhlIHJlbW90ZS4KCkEgYmFyZSByZXBvc2l0b3J5LCBpLmUuIGEg cmVwb3NpdG9yeSB3aXRoIG5vIHdvcmtpbmcgZGlyZWN0b3J5LCBjYW4KaGF2ZSBvdGhlciBiYXJl IHJlcG9zaXRvcmllcyBhcyByZW1vdGVzLgoKSSBrZWVwIGEgYm9hdGxvYWQgb2YgYmFyZSByZXBv c2l0b3JpZXMgb24gYSBzZXJ2ZXIgb24gbXkgTEFOLsKgwqBGb3IKdGhvc2UgcHJvamVjdHMgSSB0 aGluayBvdGhlcnMgbWlnaHQgYmUgaW50ZXJlc3RlZCBpbiwgSSBhbHNvIHB1c2ggdGhvc2UKdG8g R2l0TGFiLsKgwqBJIGRvIG5lZWQgdG8gcmVtZW1iZXIgdG8gcHVzaCB0aGUibG9jYWwgcmVtb3Rl IiB0byB0aGUKR2l0TGFiIHJlbW90ZSwgYnV0IGluIG1vc3QgY2FzZXMgYSBjcm9uIGpvYiBkZWFs cyB3aXRoIHRoYXQuCgpJIHVzZSBnaXQgZm9yICpldmVyeXRoaW5nKi7CoMKgSXQgbm90IG9ubHkg cHJvdmlkZXMgYSBnb29kIHdheSB0byBzaGFyZQpwcm9ncmVzcywgYnV0IGFsc28gcHJvdmlkZXMg YSBuaWNlIHdheSB0byByZWNvdmVyIGZyb20gc2hvb3RpbmcgbXlzZWxmCmluIHRoZSBmb290IChz b21ldGhpbmcgSSBhbSBxdWl0ZSBza2lsbGVkIGF0KS7CoMKgQW5kIHNpbmNlIGJyYW5jaGVzIGFy ZQpzdWNoIGxvdyBjb3N0LCBpdCBwcm92aWRlcyBhIG5pY2UgY2xlYW4gd2F5IHRvIHRha2Ugb2Zm IG9uIHNvbWUgY3JhenkKdGFuZ2VudCBhbmQgcmVjb3ZlciBpZiBpdCBkb2Vzbid0IHdvcmsgb3V0 LgoKQXMgSSBzYWlkIG9uIG15IGJsb2cgbWFueSB5ZWFycyBhZ28sIElNTyB5b3UgaGF2ZSB0byBi ZSBhIHJlYWwKbWFzb2NoaXN0IHRvIGRvIGFueSBzb3J0IG9mIGRldmVsb3BtZW50IHdpdGhvdXQg Z2l0LgoKLS1NY0QKCgpPbiBGcmksIDIwMTYtMDYtMjQgYXQgMDg6NTkgLTA3MDAsIERlbm55IEVz dGVybGluZSB3cm90ZToKPiBPaywgc28gR0lUIHNlZW1zIHRvIGJlIHRoZSB3YXkgdGhlIHdpbmQg aXMgYmxvd2luZy4KPsKgCj4gSSBqdXN0IHNwZW50IHRoZSBsYXN0IHNldmVyYWwgaG91cnMgcmVh ZGluZywgYnV0IHRoZXJlJ3MgdGhpbmdzIEkKPiBzdGlsbAo+IGRvbid0IHVuZGVyc3RhbmQuCj4g U2V2ZXJhbCBvZiB0aGUgcmVmZXJlbmNlcyBJIGZvdW5kIHNlZW0gdG8gc3VnZ2VzdCB0aGF0IGEg c2luZ2xlCj4gcGVyc29uIGNhbgo+IGluc3RhbGwgW3BhY2thZ2UgeF0gb24gdGhlaXIgd29ya3N0 YXRpb24gYW5kIG1hbmFnZSBfbG9jYWxfCj4gcmVwb3NpdG9yaWVzIG9uCj4gdGhlIGxvY2FsIGhh cmQgZHJpdmUgLSBJIGFzc3VtZSB0aGF0IGV4dGVuZHMgdG8gbWFwcGVkIG5ldHdvcmsgZHJpdmVz Cj4gYXMKPiB3ZWxsLgo+IE90aGVyIHJlZmVyZW5jZXMgdGFsayBhYm91dCBjb25maWd1cmluZyBh biBpbnRlcm5ldCBleHBvc2VkIHNlcnZlciwKPiBvciB0aGUKPiBjbGllbnQgd29ya3N0YXRpb24g dG8gY29ubmVjdCB0byBhbiBpbnRlcm5ldCBiYXNlZCBzZXJ2ZXIgLSB1c3VhbGx5IGEKPiBzdWJz Y3JpcHRpb24gc2VydmljZS4KPiBJcyB0aGVyZSBhIG1pZGRsZSBncm91bmQ/IENhbiBJIHVzZSBp dCBpbnN0YWxsZWQganVzdCB0byB0aGUKPiB3b3Jrc3RhdGlvbgo+IGFuZCBoYXZlIG11bHRpcGxl IHBlb3BsZSBhY2Nlc3MgdGhlIHNhbWUgbWFwcGVkIG5ldHdvcmsgZHJpdmU/Cj7CoAo+IEkgbWln aHQgYmUgaGF2aW5nIGEgImJhZCBnb29nbGUgZGF5IiBidXQgSSBjYW4ndCBzZWVtIHRvIGZpbmQg bXVjaCBvbgo+IHdoYXQKPiB0aGUgcGh5c2ljYWwgaW5mcmFzdHJ1Y3R1cmUgc2hvdWxkIGJlIHRv IHN1cHBvcnQgdGhlIHByb2Nlc3MuIEkgZmluZAo+IHJlZmVyZW5jZXMgdG8gTUFTU0lWRSBpbnN0 YWxsYXRpb25zICgzOCBzZXJ2ZXJzKykgYW5kIHJlZmVyZW5jZXMgdG8KPiBpbnN0YWxsaW5nIG9u IHRoZSB3b3Jrc3RhdGlvbi4KPsKgCj4gLURlbm55Ci0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29t L3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlv dXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9s aXN0aW5mby9waWNsaXN0Cg== .