VHVlIE9jdCAxMiAyMDozMTowMCAxOTk5ICBHdXN0YXZvIEp1bmlvciBBbHZlcyA8YWx2ZXNAY29ycmVpb25ldC5jb20uYnI+CgkqIFtQdC5yY10gW01ha2VmaWxlLmluXQoJQWRkZWQgUG9ydHVndWVzZSBsYW5ndWFnZSBzdXBwb3J0LgoKRnJpIE1hciAgNSAyMjoxNDoxMyAxOTk5ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+CiAgICAgICAgKiBORVcgW3NlYXJjaC5jXQogICAgICAgIC0gQWRkZWQgQm95ZXItTW9vcmUgdGV4dCBzZWFyY2gKICAgICAgICAKU2F0IEZlYiAgNiAyMDoyNToyNSAxOTk5ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+CiAgICAgICAgLSBBZGRlZCBuZXcgSURTX05PVFNBVkVEIHJlc3NvdXJjZSAobmVlZHMgdHJhbnNsYXRpb24gaW4gKi5yYykNCiAgICAgICAgLSBJbXByb3ZlZCBwcmludGluZyBzdXBwb3J0IChub3QgeWV0IGNvbXBsZXRlKQogICAgICAgIC0gSW1wcm92ZWQgZmlsZSBkcmFnIGFuZCBkcm9wIChzaG91bGQgbm93IHdvcmspCiAgICAgICAgLSBHZW5lcmFsIGNvZGUgY2xlYW51cA0KClRodSBKYW4gMjggMTg6MTc6MDggMTk5OSAgSnVra2EgSWl2b25lbiAgPGlpdm9uZW5AaWtpLmZpPgoKICAgICAgICAqIFtGaS5yY10gW21haW4uY10gW01ha2VmaWxlLmluXQogICAgICAgIC0gQWRkZWQgRmlubmlzaCBsYW5ndWFnZSBzdXBwb3J0LgogICAgICAgIA0KU3VuIE9jdCAxOCAxNDoxMTo0MiAxOTk4ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+DQoNCiAgICAgICAgKiBbPz8ucmNdLCBbVE9ET10sIFtkaWFsb2cuY10sIFtkaWFsb2cuaF0sIFtsYW5ndWFnZS5jXSwNCiAgICAgICAgW2xhbmd1YWdlLmhdLCBbbGljZW5zZS5jXSwgW2xpY2Vuc2UuaF0sIFttYWluLmNdLCBbbWFpbi5oXSwNCiAgICAgICAgW25vdGVwYWQucmNdOg0KDQogICAgICAgIC0gRml4ZWQgR2V0T3BlbkZpbGVOYW1lIGFuZCBHZXRTYXZlRmlsZU5hbWUgZGlhbG9ncy4NCiAgICAgICAgLSBGaXhlZCBQcmludCBkaWFsb2cgYW5kIGludHJvZHVjZWQgUHJpbnRlclNldHVwIGRpYWxvZy4NCiAgICAgICAgLSBGaXhlZCBQYWdlU2V0dXAgZGlhbG9nOiB2YWx1ZXMgYXJlIG5vdyBjb3JyZWN0bHkgaW5pdGlhbGl6ZWQNCiAgICAgICAgICAoaGFkIHRvIGNoYW5nZSBhbGwgKi5yYyBmaWxlcykNCiAgICAgICAgLSBQcmVsaW1pbmFyeSBmaWxlIGRyYWcgYW5kIGRyb3Agc3VwcG9ydC4NCg0KRnJpIEp1biAxMiAyMzoyOTo0NCAxOTk4ICBNYXJjZWwgQmF1ciAgPG1iYXVyQGcyNi5ldGh6LmNoPg0KICAgICAgICAtIEZpeGVkIEdldERhdGVGb3JtYXQoKS0+R2V0VGltZUZvcm1hdCgpIGZvciBsb2NhbGUgdGltZS4NCg0KTW9uIE1heSAyNSAxNDozMDowMCAxOTk4ICBIZW5yaWsgT2xzZW4gPGhlbnJpa0BpYWVzdGUuZGs+DQogICAgICAgICogW0RhLnJjXQ0KICAgICAgICAtIEFkZGVkIERhbmlzaCBsYW5ndWFnZSBzdXBwb3J0Lg0KDQpGcmkgTWF5IDE1IDIzOjU5OjIyIDE5OTggIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4NCiAgICAgICAgLSBEYXRlL1RpbWUgbm93IHVzZXMgbG9jYWxlLXNwZWNpZmljIGZvcm1hdHMNCiAgICAgICAgLSBMYW5ndWFnZS1zcGVjaWZpYyB3aW5kb3cgY2FwdGlvbiwgZGlzcGxheXMgZmlsZSBiZWluZyBlZGl0ZWQuDQogICAgICAgIC0gU3RhcnRlZCB3aXRoIHBhcnNpbmcgb2YgY29tbWFuZCBsaW5lIHNldHRpbmdzDQogICAgICAgIC0gU3RhcnRlZCB3aXRoIERvT3BlbkZpbGUsIERvQ2xvc2VGaWxlLCBEb1NhdmVGaWxlIGxvZ2ljcw0KICAgICAgICAtIFByb21wdCB1c2VyIHRvIHNhdmUgc2V0dGluZ3Mgd2hlbiBjbG9zaW5nIGEgZmlsZQ0KICAgICAgICAgIC0+IEludHJvZHVjZWQgYSBuZXcgbWVzc2FnZSBib3ggKG5vdCB5ZXQgZmluaXNoZWQpDQogICAgICAgIC0gRml4ZWQgbWlub3IgZmVhdHVyZXMgKG1pc3NpbmcgSURTIGluIG1haW4uaCwgLi4uKQ0KDQpTdW4gTWFyIDI5IDIwOjI5OjQxIDE5OTggIExhdXJlbnQgQnVmZmxlciA8bGF1cmVudEBibHVld2luLmNoPg0KICAgICAgICAqIFtGci5yY10NCiAgICAgICAgLSBBZGRlZCBGcmVuY2ggbGFuZ3VhZ2Ugc3VwcG9ydC4NCg0KRnJpIEZlYiAyNyAyMTowMzozNyAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+DQogICAgICAgIC0gRml4ZWQgc29tZSBtaW5vciBmZWF0dXJlcy4NCg0KU2F0IEZlYiAxNCAxNzo0MjoyOSAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+DQogICAgICAgICogTkVXIFtsYW5ndWFnZS5jXSBbbGFuZ3VhZ2UuaF0NCiAgICAgICAgLSBUYWtlcyBjYXJlIG9mIGFsbCBsYW5ndWFnZSByZWxhdGVkIHN0dWZmLg0KICAgICAgICAtIEEgbmV3IFtwcm9ncmFtc10gaW4gLndpbmVyYyBpcyBpbiB1c2UuDQoNClR1ZSBGZWIgMTAgMjM6MzQ6MDggMTk5OCAgTWFyY2VsIEJhdXIgPG1iYXVyQGcyNi5ldGh6LmNoPg0KICAgICAgICAtIEZpeGVkIGJyb2tlbiBsYW5ndWFnZSBtZW51cw0KDQpGcmkgRmViIDA2IDIzLjU0LjM1IDE5OTggIEthcmwgQmFja3N0cvZtIDxrYXJsX2JAZ2VvY2l0aWVzLmNvbT4NCiAgICAgICAgKiBbbWFpbi5jXSBbbWFpbi5oXSBbbm90ZXBhZC5yY10NCiAgICAgICAgLSBGaXhlZCBsYW5ndWFnZSBzdXBwb3J0IGZvciBtZW51cy4gICAgIA0KICAgICAgICAqIE5FVyBbZGlhbG9nLmNdIFtkaWFsb2cuaF0NCiAgICAgICAgLSBNb3ZlZCBhbGwgbWVudSBhbmQgZGlhbG9nIHJlbGF0ZWQgc3R1ZmYgaGVyZS4NCg0KU3VuIEphbiAxOCAyMzowNTowNCAxOTk4ICBLYXJsIEJhY2tzdHL2bSA8a2FybF9iQGdlb2NpdGllcy5jb20+DQogICAgICAgICogW1N3LnJjXQ0KICAgICAgICAtIEFkZGVkL3VwZGF0ZWQgU3dlZGlzaCBsYW5ndWFnZSBzdXBwb3J0Lg0KDQpUdWUgRGVjIDIzIDIzOjM1OjA0IDE5OTcgIE1hcmNlbCBCYXVyIDxtYmF1ckBnMjYuZXRoei5jaD4NCiAgICAgICAgLSBGaXhlZCBsb3RzIG9mIGJ1Z3Mgdy8gcmVzb3VyY2VzIGluICoucmMNCiAgICAgICAgLSBtb3ZlZCBbbm90ZXBhZC5jXSBpbnRvIFttYWluLmNdDQogICAgICAgIC0gbW92ZWQgW25vdGVwYWQuaF0gaW50byBbbWFpbi5oXQ0KICAgICAgIA0KRnJpIERlYyAwNSAyMDo1MTo1NSAxOTk3ICBNYXJjZWwgQmF1ciA8bWJhdXJAZzI2LmV0aHouY2g+DQogICAgICAgICogW25vdGVwYWQuY10gW25vdGVwYWQuaF0gW25vdGVwYWQucmNdIFtFbi5yY10gW0RlLnJjXQ0KICAgICAgICAgIFtsaWNlbnNlLmNdIFtsaWNlbnNlLmhdIFtMaWNlbnNlX0VuLmNdDQogICAgICAgICAgW1JFQURNRV0gW1RPRE9dIFtDaGFuZ2VMb2ddDQogICAgICAgIC0gT3JpZ2luYWxzIGJ5IE1hcmNlbCBCYXVyDQoKCg==