SGVucmlrIE9sc2VuIDxoZW5yaWtAaWFlc3RlLmRrPgogICAgICAgICogW0RhLnJjXQogICAgICAgIEFkZGVkIERhbmlzaCBsYW5ndWFnZSBzdXBwb3J0LgoKRnJpIE1heSAxNSAyMzo1OToyMiAxOTk4ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+CiAgICAgICAgKiBEYXRlL1RpbWUgbm93IHVzZXMgbG9jYWxlLXNwZWNpZmljIGZvcm1hdHMKICAgICAgICAqIExhbmd1YWdlLXNwZWNpZmljIHdpbmRvdyBjYXB0aW9uLCBkaXNwbGF5cyBmaWxlIGJlaW5nIGVkaXRlZC4KICAgICAgICAqIFN0YXJ0ZWQgd2l0aCBwYXJzaW5nIG9mIGNvbW1hbmQgbGluZSBzZXR0aW5ncwogICAgICAgICogU3RhcnRlZCB3aXRoIERvT3BlbkZpbGUsIERvQ2xvc2VGaWxlLCBEb1NhdmVGaWxlIGxvZ2ljcwogICAgICAgICogUHJvbXB0IHVzZXIgdG8gc2F2ZSBzZXR0aW5ncyB3aGVuIGNsb3NpbmcgYSBmaWxlCiAgICAgICAgICAtPiBJbnRyb2R1Y2VkIGEgbmV3IG1lc3NhZ2UgYm94IChub3QgeWV0IGZpbmlzaGVkKQogICAgICAgICogRml4ZWQgbWlub3IgZmVhdHVyZXMgKG1pc3NpbmcgSURTIGluIG1haW4uaCwgLi4uKQoKU3VuIE1hciAyOSAyMDoyOTo0MSAxOTk4ICBMYXVyZW50IEJ1ZmZsZXIgPGxhdXJlbnRAYmx1ZXdpbi5jaD4KICAgICAgICAqIFtGci5yY10KICAgICAgICBBZGRlZCBGcmVuY2ggbGFuZ3VhZ2Ugc3VwcG9ydC4KCkZyaSBGZWIgMjcgMjE6MDM6MzcgMTk5OCAgS2FybCBCYWNrc3Ry9m0gPGthcmxfYkBnZW9jaXRpZXMuY29tPgogICAgICAgICogRml4ZWQgc29tZSBtaW5vciBmZWF0dXJlcy4KClNhdCBGZWIgMTQgMTc6NDI6MjkgMTk5OCAgS2FybCBCYWNrc3Ry9m0gPGthcmxfYkBnZW9jaXRpZXMuY29tPgogICAgICAgICogTkVXIFtsYW5ndWFnZS5jXSBbbGFuZ3VhZ2UuaF0KICAgICAgICBUYWtlcyBjYXJlIG9mIGFsbCBsYW5ndWFnZSByZWxhdGVkIHN0dWZmLgogICAgICAgIEEgbmV3IFtwcm9ncmFtc10gaW4gLndpbmVyYyBpcyBpbiB1c2UuCgpUdWUgRmViIDEwIDIzOjM0OjA4IDE5OTggIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICAgICAgICAqIEZpeGVkIGJyb2tlbiBsYW5ndWFnZSBtZW51cwoKRnJpIEZlYiAwNiAyMy41NC4zNSAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+CiAgICAgICAgKiBbbWFpbi5jXSBbbWFpbi5oXSBbbm90ZXBhZC5yY10KICAgICAgICBGaXhlZCBsYW5ndWFnZSBzdXBwb3J0IGZvciBtZW51cy4gICAgIAogICAgICAgICogTkVXIFtkaWFsb2cuY10gW2RpYWxvZy5oXQogICAgICAgIE1vdmVkIGFsbCBtZW51IGFuZCBkaWFsb2cgcmVsYXRlZCBzdHVmZiBoZXJlLgoKU3VuIEphbiAxOCAyMzowNTowNCAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+CiAgICAgICAgKiBbU3cucmNdCiAgICAgICAgQWRkZWQvdXBkYXRlZCBTd2VkaXNoIGxhbmd1YWdlIHN1cHBvcnQuCgpUdWUgRGVjIDIzIDIzOjM1OjA0IDE5OTcgIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4KICAgICAgICAqIEZpeGVkIGxvdHMgb2YgYnVncyB3LyByZXNvdXJjZXMgaW4gKi5yYwogICAgICAgICogbW92ZWQgW25vdGVwYWQuY10gaW50byBbbWFpbi5jXQogICAgICAgICogbW92ZWQgW25vdGVwYWQuaF0gaW50byBbbWFpbi5oXQogICAgICAgCkZyaSBEZWMgMDUgMjA6NTE6NTUgMTk5NyAgTWFyY2VsIEJhdXIgPG1iYXVyQGcyNi5ldGh6LmNoPgogICAgICAgICogW25vdGVwYWQuY10gW25vdGVwYWQuaF0gW25vdGVwYWQucmNdIFtFbi5yY10gW0RlLnJjXQogICAgICAgICAgW2xpY2Vuc2UuY10gW2xpY2Vuc2UuaF0gW0xpY2Vuc2VfRW4uY10KICAgICAgICAgIFtSRUFETUVdIFtUT0RPXSBbQ2hhbmdlTG9nXQogICAgICAgICAgT3JpZ2luYWxzIGJ5IE1hcmNlbCBCYXVyCgo=