SGVsbG8gYWxsLA0KDQpJIGhhdmUgY29uY2VybnMgcmVnYXJkaW5nIG15IHBhcmVudHMgY2FyZSBh bmQgaG9wZSB5b3UgY2FuIGhlbHAuIA0KDQpJIGNoZWNrZWQgdGhlIGxpbmsgdG8gdGhlIG9ubGlu ZSBzY2hlZHVsZSB0aGF0IHdhcyBwcm92aWRlZCB0byBtZSB0aGlzIG1vcm5pbmcgKGFzIEkgaGF2 ZSBldmVyeSBkYXkgdGhpcyB3ZWVrKSBhbmQgSSBzdGlsbCBzZWUgbm8gb25lIHNjaGVkdWxlZCBm b3IgTW9uZGF5LCBUdWVzZGF5LCBXZWRuZXNkYXkgbW9ybmluZyBuZXh0IHdlZWsuIFdlIGhhdmUg ZW5xdWlyZWQgd2l0aCB0aGUgc2NoZWR1bGVyIGFzIHJlcXVlc3RlZCBhbmQgd2UgYXJlIHRvbGQg 4oCcdGhleSBhcmUgd29ya2luZyBvbiBpdOKAnS4gIEkgYXBwcmVjaWF0ZSBhbmQgdW5kZXJzdGFu ZCB0aGUgY2hhbGxlbmdlcyBvZiBmaW5kaW5nIHNvbWVvbmUgdG8gZmlsbCB0aGUgc2hpZnRzLiAN Cg0KTXkgTW9t4oCZcyBsZWdzIGhhdmUgYmVlbiBnaXZpbmcgd2F5IHJlY2VudGx5IGFuZCBpdCBp cyBlc3NlbnRpYWwgdGhhdCBzb21lb25lIGJlIHRoZXJlLiBUaGVyZSBpcyBhIGxvdCBvZiBhbnhp ZXR5IGZvciBhbGwgaWYgYSBDYXJlciBpcyBub3QgcGxhY2VkLiBJZiBzb21lb25lIGNhbm5vdCBi ZSBmb3VuZCB3ZSBoYXZlIHRvIG1ha2Ugb3RoZXIgYXJyYW5nZW1lbnRzIGFuZCB3ZSBuZWVkIG5v dGljZSBpbiBvcmRlciB0byBkbyB0aGF0LiBXZSBhcmUgcmVhbGx5IGhvcGVmdWwgeW91IHdpbGwg YmUgYWJsZSB0byBmaW5kIGEgQ2FyZXIgdG8gZmlsbCB0aGUgb3BlbmluZy4gDQoNClBsZWFzZSBh ZHZpc2UgYXMgc29vbiBhcyBwb3NzaWJsZS4gDQoNClRoYW5rIHlvdS4gDQoNCkxpbmRhIFdvcnJv dw0KDQpTZW50IGZyb20gbXkgaVBob25l