SXMgdGhlcmUgYSBwcmVzY3JpYmVkIHdheSB0byBzZXQgdGhlIG9yZGVyIHRoYXQgYWNjb3Vu dHMgYXJlIGRpc3BsYXllZA0KaW4gdGhlIG1haW4gd2luZG93PyAgaXQgc2VlbXMgdGhlcmUg YXJlIHdheXMgdG8gbW92ZSB0aGVtIGFyb3VuZCwgYnV0DQp0aGVuIHlvdSBuZWVkIHRvIHdh bGsgbGlnaHRseSBvciB0aGV5IG1vdmUgc29tZXdoZXJlIGVsc2UuDQoNCkxhdXJlbiBNYXRo ZXNvbi4NCg==