MjAwNC0xMS0wNCAgUmVsZWFzZSBNYW5hZ2VyCgoJKiBHQ0MgMy40LjMgcmVsZWFzZWQuCgoyMDA0LTA5LTA2ICBSZWxlYXNlIE1hbmFnZXIKCgkqIEdDQyAzLjQuMiByZWxlYXNlZC4KCjIwMDQtMDgtMjYgIE1hdHRoaWFzIEtsb3NlICA8ZG9rb0BkZWJpYW4ub3JnPgoKCSogdGV4aTJwb2QucGw6IGtlZXAgcmVmZXJlbmNlcyBvZiB0aGUgZm9ybSBAcmVmey4uLn0sIHByaW50IHRoZW0gYm9sZC4KCjIwMDQtMDgtMjYgIE1hdHRoaWFzIEtsb3NlICA8ZG9rb0BkZWJpYW4ub3JnPgoKCSogdGVzdF9zdW1tYXJ5OiBJbmNsdWRlIGJhc2VsaW5lIHVzZWQgZm9yIGxpYnN0ZGMrKy12MyBhYmkgY2hlY2sKCWluIHRlc3Qgc3VtbWFyeS4KCjIwMDQtMDctMDEgIFJlbGVhc2UgTWFuYWdlcgoKCSogR0NDIDMuNC4xIHJlbGVhc2VkLgoKMjAwNC0wNi0wOSAgQXJuYXVkIENoYXJsZXQgIDxjaGFybGV0QGFjdC1ldXJvcGUuZnI+CgoJUFIgYWRhLzE0MTUwCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBSZW1vdmUgZ2NjL2FkYS8qLnRleGkuCgoyMDA0LTA1LTE1ICBKb3NlcGggUy4gTXllcnMgIDxqc21AcG9seW9taW5vLm9yZy51az4KCgkqIGdlbm5ld3M6IFVwZGF0ZSBmb3IgR0NDIDMuNC4KCjIwMDQtMDQtMTggIFJlbGVhc2UgTWFuYWdlcgoKCSogR0NDIDMuNC4wIHJlbGVhc2VkLgoKMjAwNC0wMS0wOSAgS2VsbGV5IENvb2sgIDxrY29va0BnY2MuZ251Lm9yZz4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBVcGRhdGUgZmFzdGphci9jb25maWd1cmUuaW4KCXRvIGZhc3RqYXIvY29uZmlndXJlLmFjCgoyMDA0LTAxLTA3ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IFJlbW92ZSBub24tZXhpc3RhbnQgZmlsZXMuCgoyMDA0LTAxLTA1ICBLZWxsZXkgQ29vayAgPGtjb29rQGdjYy5nbnUub3JnPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfZ2VuZXJhdGVkKTogUmV2ZXJ0IDIwMDMtMTItMTggY2hhbmdlLgoKMjAwNC0wMS0wMyAgQW5kcmV3IFBpbnNraSAgPHBpbnNraWFAcGh5c2ljcy51Yy5lZHU+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogRm9yIGdjYyBkaXJlY3RvcnksCglyZW5hbWUgY29uZmlndXJlLmluIHRvIGNvbmZpZ3VyZS5hYy4KCjIwMDMtMTItMTkgIEFuZHJlYXMgVG9ibGVyICA8YS50b2JsZXJAc2Nod2Vpei5jaD4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBGb3IgbGliamF2YS9saWJsdGRsIGRpcmVjdG9yeSwKCXJlbW92ZSBhY2NvbmZpZy5oLiBObyBsb25nZXIgdXNlZC4KCjIwMDMtMTItMTggIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19nZW5lcmF0ZWQpOiBBZGQgaW4gZ2NjL2FkYS9zdGFtcC14Z25hdHVnIGFuZCB1cGRhdGUKCWdjYy9hZGEvZ25hdF91Z18qIHRvIHVzZSBpdC4KCjIwMDMtMTItMTYgIEphbWVzIEUgV2lsc29uICA8d2lsc29uQHNwZWNpZml4aW5jLmNvbT4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBGb3IgbGliamF2YS9saWJsdGRsIGRpcmVjdG9yeSwKCXJlbmFtZSBjb25maWd1cmUuaW4gdG8gY29uZmlndXJlLmFjLCBhbmQgc3RhbXAtaC5pbiB0byBjb25maWctaC5pbi4KCjIwMDMtMTItMTEgIEtlbGxleSBDb29rICA8a2Nvb2tAZ2NjLmdudS5vcmc+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogQ29ycmVjdCB0eXBvIGluIHRoZSBmaWxlbmFtZQoJZ25hdF91Z193bnQudGV4aS4KCjIwMDMtMTItMDggIEFybmF1ZCBDaGFybGV0ICA8Y2hhcmxldEBhY3QtZXVyb3BlLmZyCgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgaGFuZGxpbmcgb2Ygc2luZm8uaCwgZWluZm8uaCwgbm1ha2UuYWRzLAoJdHJlZXBycy5hZHMuCgoyMDAzLTEwLTE2ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2VubmV3cyAoZmlsZXMpOiBBZGQgR0NDIDMuMyBmaWxlcy4KCjIwMDMtMDgtMjEgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IEZpeCBoYW5kbGluZyBvZiAtdCBvcHRpb24uICBBZGQgLXggb3B0aW9uLgoKMjAwMy0wNy0zMSAgTWF0dCBLcmFhaSAgPGtyYWFpQGFsdW1uaS5jbXUuZWR1PgoKCSogdGV4aTJwb2QucGw6IFJlbW92ZSBleHRyYSBsaW5lLgoKMjAwMy0wNy0xNSAgTWF0dCBLcmFhaSAgPGtyYWFpQGFsdW1uaS5jbXUuZWR1PgoKCSogdGV4aTJwb2QucGw6IERlZmF1bHQgQGl0ZW1pemUncyBwYXJhbWV0ZXIgdG8gQGJ1bGxldC4KCjIwMDMtMDctMTIgIFphY2sgV2VpbmJlcmcgIDx6YWNrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfdXBkYXRlOiBnY2MvYWNjb25maWcuaCBubyBsb25nZXIgZXhpc3RzLgoKMjAwMy0wNy0xMSAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiB0ZXN0X2luc3RhbGxlZDogQWRkIG9wdGlvbnMgdG8gcnVuIG9iamMgdGVzdHMuCglJbiBnZW5lcmF0ZWQgc2l0ZS5leHAsIGluaXRpYWxpemUgcm9vdG1lLCBDRkxBR1MsIENYWEZMQUdTLgoKMjAwMy0wNy0wNCAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY191cGRhdGU6IFJlbW92ZSBnY2MvaW50bC9wbHVyYWwuYyBmcm9tIGxpc3QuCglBZGQgbmV3IGdlbmVyYXRlZCBmaWxlcyBpbnRsL3BsdXJhbC5jLCBpbnRsL2NvbmZpZ3VyZSwKCWludGwvY29uZmlnLmguaW4uCgoyMDAzLTA2LTEzICBKYXNvbiBUaG9ycGUgIDx0aG9ycGVqQHdhc2FiaXN5c3RlbXMuY29tPgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEFkZAoJZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvY3BwL19QcmFnbWEzLmMgZGVwZW5kcyBvbgoJZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvY3BwL21pMWMuaC4KCjIwMDMtMDUtMjMgIE5hdGhhbmFlbCBOZXJvZGUgPG5lcm9kZW5AZ2NjLmdudS5vcmc+CgoJKiBwYXJhbm9pYS5jYzogRml4IHNwZWxsaW5nIGVycm9yLgoKCSogYW5hbHl6ZV9icnByb2IsIGdjY19idWlsZCwgZ2VubmV3cywgdGV4aTJwb2QucGw6IENoYW5nZSBHTlUgQ0MKCXRvIEdDQy4KCjIwMDMtMDQtMDQgIE1pa2UgU3R1bXAgIDxtcnNAYXBwbGUuY29tPgoKCSogY29tcGFyZV90ZXN0czogRml4IGV4aXQgc3RhdHVzIGFuZCBiZSBtb3JlIGZsZXhpYmxlIHdpdGggc3BhY2luZy4KCjIwMDMtMDMtMDggIFBoaWwgRWR3YXJkcyAgPHBtZUBnY2MuZ251Lm9yZz4KCgkqIHRlc3Rfc3VtbWFyeTogIEFkZCAtaCwgcHJpbnQgZXhpc3RpbmcgY29tbWVudHMgYXMgaGVscC4KCjIwMDMtMDMtMDMgIEguSi4gTHUgPGhqbEBnbnUub3JnPgoKCSogZ2NjX2J1aWxkOiBVc2UgJEdDQ19DVlMvJENWUyBpbnN0ZWFkIG9mIGN2cy4KCSogZ2NjX3VwZGF0ZTogTGlrZXdpc2UuCgoyMDAzLTAxLTE5ICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KCgkqIHRlc3Rfc3VtbWFyeSAoY29uZmlnZmxhZ3MpOiBPbmx5IHVzZSB0aGUgZmlyc3QgbWF0Y2guICBSZW1vdmUKCWV4Y2VzcyBzcGFjZS4gIFVzZSBzdWIgaW5zdGVhZCBvZiBnc3ViIHdoZXJlIHBvc3NpYmxlLiAgVXNlIGBub25lJwoJaWYgbm8gY29uZmlndXJlIGZsYWdzIHdlcmUgZ2l2ZW4uCgoyMDAzLTAxLTEwICBMb3JlbiBKLiBSaXR0bGUgIDxsanJpdHRsZUBhY20ub3JnPgoKCSogdGVzdF9zdW1tYXJ5IChjb25maWdmbGFncyk6IGF3ayBwb3J0YWJpbGl0eS4KCjIwMDMtMDEtMDcgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogdGVzdF9zdW1tYXJ5IChjb25maWdmbGFncyk6IENvbXB1dGUgY29ycmVjdGx5IHdpdGggYm90aAoJYXV0b2NvbmZpc2NhdGVkIGFuZCBDeWdudXMtc3R5bGUgdG9wLWxldmVsLgoKMjAwMy0wMS0wMyAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEFkZCBnY2MvY3AvY2Zucy5oIGRlcGVuZHMKCW9uIGdjYy9jcC9jZm5zLmdwZXJmIGFuZCBnY2MvamF2YS9rZXl3b3JkLmggZGVwZW5kcyBvbgoJZ2NjL2phdmEva2V5d29yZC5ncGVyZgoKMjAwMi0xMi0yOSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEFkZCBnY2MvaW50bC9wbHVyYWwuYyBhcwoJZGVwZW5kaW5nIG9uIGdjYy9pbnRsL3BsdXJhbC55LgoKMjAwMi0xMi0yOCAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlIChjb25maWd1cmUpOiBEZXBlbmQgb24gY29uZmlnL2FjeC5tNCBhcyB3ZWxsLgoKCSogZ2NjX3VwZGF0ZSAoY29uZmlndXJlKTogRGVwZW5kIG9uIGNvbmZpZ3VyZS5pbi4KCjIwMDItMTItMjQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbUBwb2x5b21pbm8ub3JnLnVrPgoKCSogdGV4aTJwb2QucGw6IFNraXAgY29udGVudHMgb2YgQGNvcHlpbmcuCgoyMDAyLTExLTA5ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ3Rocl9zdXBwX3Z4d181eC5jOiBOZXcgZmlsZS4KCjIwMDItMTAtMjEgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBwYXJhbm9pYS5jYyAocmVhbF9jX2Zsb2F0OjppbWFnZSk6IEFjY29tb2RhdGUgc2l6ZSBvZgoJcmVhbF9pbnRlcm5hbCBmb3JtYXQuCgkobWFpbik6IFVuYnVmZmVyIHN0ZGlvLiAgQWRkIHJlYWxfaW50ZXJuYWwgZm9ybWF0LgoJKGZsb29yX2xvZzJfd2lkZSk6IE5ldy4KCjIwMDItMTAtMTYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBwYXJhbm9pYS5jYyAoRU5VTV9CSVRGSUVMRCk6IE5ldy4KCShjbGFzcyk6IERlZmluZSBhcyBrbGFzcyBhcm91bmQgcmVhbC5oLgoJKHJlYWxfY19mbG9hdCk6IE5vdCBhIHRlbXBsYXRlIGFueSBsb25nZXI7IGRlZmluZSBNT0RFIGFzIGEKCWNsYXNzIHN0YXRpYyBjb25zdGFudDsgdXNlIHJlYWxfZm9ybWF0IGVsZW1lbnRzIGZvciBTSVpFLgoJVXBkYXRlIHVzZXMgb2YgcmVhbF90b19kZWNpbWFsIGFuZCByZWFsX3RvX2hleGFkZWNpbWFsLgoJKG1haW4pOiBDaGFuZ2UgLWcgYXJndW1lbnQgdG8gdXNlIGEgZm9ybWF0IG5hbWUuCgkobW9kZV9mb3Jfc2l6ZSk6IFJlbW92ZS4KCjIwMDItMDktMTYgIFJpY2hhcmQgSGVuZGVyc29uICA8cnRoQHJlZGhhdC5jb20+CgoJKiBwYXJhbm9pYS5jYzogTmV3IGZpbGUuCgoyMDAyLTA5LTA0ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogZW5xdWlyZS5jOiBSZW1vdmUuCgoyMDAyLTA4LTE0ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2VubmV3cyAoZmlsZXMpOiBBZGQgR0NDIDMuMiBmaWxlcy4KCjIwMDItMDctMjIgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGdlbm5ld3MgKGZpbGVzKTogQWRkIHByb3BlciBmaWxlcyBmb3IgdGhlIEdDQyAzLjEgcmVsZWFzZSBzZXJpZXMuCglTaW1wbGlmeSBhbmQgcmVmb3JtYXQgaW50cm9kdWN0b3J5IHdvcmRpbmcuCgoyMDAyLTA3LTE2ICBOYXRoYW5hZWwgTmVyb2RlICA8bmVyb2RlbkBnY2MuZ251Lm9yZz4KCgkqIGVucXVpcmUuYzogTW92ZSBmcm9tIGdjYy4KCjIwMDItMDctMTYgIEguSi4gTHUgPGhqbEBnbnUub3JnPgoKCSogZ2NjX3VwZGF0ZSAodG91Y2hfZmlsZXMpOiBQYXNzIC1zIHRvICR7TUFLRX0uCgoyMDAyLTA2LTI2ICBaYWNrIFdlaW5iZXJnICA8emFja0Bjb2Rlc291cmNlcnkuY29tPgoKCSogdGV4aTJwb2QucGw6IENvcnJlY3QgaGFuZGxpbmcgb2YgdGhlIGludGVybmFsIFI8PiBzZXF1ZW5jZS4KCjIwMDItMDUtMzEgIEZsb3JpYW4gV2VpbWVyICA8ZndAZGVuZWIuZW55by5kZT4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBBZGQgZ2VuZXJhdGVkIFRleGluZm8gZmlsZXMKCWZvciBBZGEuCgoyMDAyLTA1LTE2ICBSYWluZXIgT3J0aCAgPHJvQFRlY2hGYWsuVW5pLUJpZWxlZmVsZC5ERT4KCgkqIHRlc3RfaW5zdGFsbGVkOiBBbGxvdyBmb3IgUFdEQ01EIHRvIG92ZXJyaWRlIGhhcmRjb2RlZCBwd2QuCgkqIHRlc3Rfc3VtbWFyeTogTGlrZXdpc2UuCgoyMDAyLTA0LTE4ICBHZW9mZnJleSBLZWF0aW5nICA8Z2VvZmZrQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IERvbid0IGhhdmUgZW1wdHkgZm9yIGxvb3AuCgoyMDAyLTA0LTE2ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogZ2NjX3VwZGF0ZTogUmVtb3ZlIGxpYmNoaWxsLgoKMjAwMi0wMy0yNSAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQGVuZCBmdGFibGUgYW5kIEBlbmQgdnRhYmxlLgoKMjAwMi0wMy0xMSAgWmFjayBXZWluYmVyZyAgPHphY2tAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQGluY2x1ZGUsIEBmdGFibGUsIEB2dGFibGUuCglSZWZvcm1hdCBzb21lIGNvZGUgZm9yIGNsYXJpdHkuCgoyMDAyLTAyLTI0ICBDaHJpc3RpYW4gSvZuc3NvbiAgPGMuY2hyaXN0aWFuLmpvZW5zc29uQHRlbGlhLmNvbT4KCgkqIHRlc3Rfc3VtbWFyeTogQWRkaXRpb25hbCB0byBYUEFTUyBhbmQgRkFJTCwgYWRkIFVOUkVTT0xWRUQsCglXQVJOSU5HIGFuZCBFUlJPUiBvdXRwdXQgZnJvbSB0aGUgKi5zdW0gZmlsZXMuCgoyMDAyLTAxLTI2ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnZW5uZXdzIChmaWxlcyk6IFJlcGxhY2UgZ2NjLTIuOTUvZ2NjLTIuOTUuaHRtbCwKCWdjYy0yLjk1L2djYy0yLjk1LjEuaHRtbCwgZ2NjLTIuOTUvZ2NjLTIuOTUuMi5odG1sLAoJYW5kIGdjYy0yLjk1L2djYy0yLjk1LjMuaHRtbCBieSBnY2MtMi45NS9pbmRleC5odG1sLgoKMjAwMi0wMS0xNiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2VubmV3cyAoZmlsZXMpOiBSZXBsYWNlIGVnY3MtMS4xL2VnY3MtMS4xLjIuaHRtbCwKCWVnY3MtMS4xL2VnY3MtMS4xLjEuaHRtbCwgYW5kIGVnY3MtMS4xL2VnY3MtMS4xLmh0bWwgYnkKCWVnY3MtMS4xL2luZGV4Lmh0bWwuCgoyMDAyLTAxLTAxICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiB3YXJuX3N1bW1hcnk6IEFkZCAtYWRhIHN1YmRpcmVjdG9yeSBmbGFnLgoKMjAwMS0xMi0xMiAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGRlYmlhbi5vcmc+CgoJKiB0ZXhpMnBvZC5wbDogTWVyZ2UgY2hhbmdlcyBmcm9tIGJpbnV0aWxzJyB0ZXhpMnBvZC5wbC4gQWxsb3dzCglnZW5lcmF0aW9uIG9mIG1vcmUgdGhhbiBvbmUgbWFuIHBhZ2UgZnJvbSBvbmUgc291cmNlLgoJQWRkICctJyB0byBzZXQgb2YgdmFsaWQgY2hhcnMgZm9yIGFuIGlkZW50aWZpZXIuCglMZXQgLUQgb3B0aW9uIGFjY2VwdCBmbGFncyBvZiB0aGUgZm9ybSA8ZmxhZz49PHZhbHVlPi4KCVVzZSBccysgZm9yIHdoaXRlc3BhY2UgZGV0ZWN0aW9uIGluICdAYyBtYW4nIGxpbmVzLgoJSGFuZGxlIEBzZXQgYW5kIEBjbGVhciBpbmRlcGVuZGVudCBvZiAkb3V0cHV0LgoJU3Vic3RpdHV0ZSBhbGwgQHZhbHVle30ncyBpbiBhIGxpbmUuCgoyMDAxLTExLTE0ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB0ZXhpMnBvZC5wbDogSGFuZGxlIEBpZm5vdHRleCwgQGlmdGV4IGFuZCBAZGlzcGxheS4gIEhhbmRsZSBAdmFyCglpbiB2ZXJiYXRpbSBibG9ja3Mgc3BlY2lhbGx5LiAgSGFuZGxlIEB1bm51bWJlcmVkLCBAdW5udW1iZXJlZHNlYwoJYW5kIEBjZW50ZXIuICBBbGxvdyBbYS16XSBhZnRlciBAZW51bWVyYXRlLiAgSGFuZGxlIDAgYW5kIG51bWJlcnMKCWdyZWF0ZXIgdGhhbiA5IGluIGVudW1lcmF0aW9ucy4KCjIwMDEtMTEtMDcgIExhdXJlbnQgR3VlcmJ5IDxndWVyYnlAYWNtLm9yZz4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBBZGQgQWRhIGRlcGVuZGVuY2llcy4KCjIwMDEtMTAtMDggIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHNuYXBzaG90OiBSZW1vdmUuCgoyMDAxLTA5LTA3ICBSaWNoYXJkIFNhbmRpZm9yZCAgPHJzYW5kaWZvQHJlZGhhdC5jb20+CgoJUmV2ZXJ0OgoJKiBnY2NfdXBkYXRlOiAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcykgQWRkIGdjYy9qYXZhL3BhcnNlLmMKCWdjYy9qYXZhL3BhcnNlLXNjYW4uYyBhbmQgZ2NjL2phdmEva2V5d29yZC5oIHRvIGxpc3Qgb2YgZmlsZXMgdG8KCXRvdWNoLgoKMjAwMS0wOS0wNCAgRGF2aWQuQmlsbGluZ2h1cnN0IDxEYXZpZC5CaWxsaW5naHVyc3RAcmlvdGludG8uY29tPgoKCSogZ2NjX3VwZGF0ZTogKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpIEFkZCBnY2MvamF2YS9wYXJzZS5jCglnY2MvamF2YS9wYXJzZS1zY2FuLmMgYW5kIGdjYy9qYXZhL2tleXdvcmQuaCB0byBsaXN0IG9mIGZpbGVzIHRvCgl0b3VjaC4KCk1vbiBBdWcgMTMgMDI6Mjk6MDggQ0VTVCAyMDAxICBKYW4gSHViaWNrYSAgPGpoQHN1c2UuY3o+CgoJKiBhbmFseXplX2JycHJvYjogVXBkYXRlIGZvciBjaGFuZ2VzIGluIGdjYyBkZWJ1ZyBvdXRwdXQuCgpTYXQgSnVsIDI4IDIyOjM3OjQ5IENFU1QgMjAwMSAgSmFuIEh1Ymlja2EgIDxqaEBzdXNlLmN6PgoKCSogYW5hbHl6ZV9icnByb2I6IEF2b2lkIG1vcmUgb3ZlcmZsb3dzLgoKMjAwMS0wNy0yNyAgUmljaGFyZCBIZW5kZXJzb24gIDxydGhAcmVkaGF0LmNvbT4KCgkqIHRlc3Rfc3VtbWFyeTogQ29weSBMQVNUX1VQREFURUQgVVRDIHRpbWUgdG8gaGVhZCBvZiBzdW1tYXJ5LgoKRnJpIEp1bCAyNyAxODowMToyMSBDRVNUIDIwMDEgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KCgkqIGFuYWx5emVfYnJwcm9iOiBBdm9pZCBvdmVyZmxvd3MuCgoyMDAxLTA3LTI3ICBSaWNoYXJkIEhlbmRlcnNvbiAgPHJ0aEByZWRoYXQuY29tPgoKCSogZ2NjX3VwZGF0ZTogRHVtcCB0aW1lc3RhbXAgaW4gTEFTVF9VUERBVEVELgoKMjAwMS0wNy0yNiAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPiwKCSAgICBIYW5zLVBldGVyIE5pbHNzb24gPGhwQGJpdHJhbmdlLmNvbT4KCgkqIGFuYWx5emVfYnJwcm9iOiBGaXggZG9jdW1lbnRhdGlvbi4KCk1vbiBKdWwgMjMgMTU6NDc6MTkgQ0VTVCAyMDAxICBKYW4gSHViaWNrYSAgPGpoQHN1c2UuY3o+CgoJKiBhbmFseXplX2JycHJvYjogRml4IGF3ayBjb21wYXRpYmlsaXR5IHByb2JsZW1zOyB1cGRhdGUgY29tbWVudC4KCjIwMDEtMDctMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGFuYWx5emVfYnJwcm9iOiBGaXggbW9yZSB0eXBvcy4KCjIwMDEtMDctMjMgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGFuYWx5emVfYnJwcm9iOiBGaXggdHlwb3MuCgoyMDAxLTA3LTAzICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB0ZXhpMnBvZC5wbDogSGFuZGxlIEByIGluc2lkZSBAaXRlbS4KCjIwMDEtMDctMDIgIFphY2sgV2VpbmJlcmcgIDx6YWNrd0BzdGFuZm9yZC5lZHU+CgoJKiBnY2NfdXBkYXRlOiBSZW1vdmUgZW50cmllcyBmb3IgZ2NjLjEsIGNwcC4xLCBnY292LjEuCgoyMDAxLTA3LTAxICBab2x0YW4gRmVsbGVnIDx6ZmVsbGVnQHRlbG5ldC5odT4KCgkqIHdhcm5fc3VtbWFyeTogRml4IHR5cG8gaW4gYSBjb21tZW50LgoKMjAwMS0wNi0xNCAgQWxiZXJ0IENoaW4tQS1Zb3VuZyAgPGNoaW5hQHRoZXdyaXR0ZW53b3JkLmNvbT4KCgkqIGNvbnRyaWIvZ2NjX3VwZGF0ZTogRml4IHRpbWVzdGFtcCBvbiBnY2MvZi9pbnRkb2MudGV4aS4KCjIwMDEtMDYtMTMgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnZW5uZXdzOiBTZXQgVEVSTSB0byB2dDEwMCBmb3IgTHlueC4KCjIwMDEtMDYtMTMgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIHJlbGVhc2U6IFJlbW92ZS4KClR1ZSBKdW4gMTIgMTI6MjE6NDAgQ0VTVCAyMDAxICBKYW4gSHViaWNrYSAgPGpoQHN1c2UuY3o+CgoJKiBhbmFseXplX2JycHJvYjogTmV3IGZpbGUuCgoyMDAxLTA2LTExICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkOiBPdXRwdXQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbW1hbmRzIHVzZWQgdG8KCWNvbmZpZ3VyZSB0aGUgY29tcGlsZXIuCgoyMDAxLTA2LTA3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnZW5uZXdzOiBVcGRhdGUgZm9yIEdDQyAzLjAuCgoyMDAxLTA2LTAyICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfdXBkYXRlOiBVcGRhdGUgZm9yIG1vdmUgb2YgZG9jdW1lbnRhdGlvbiB0byBnY2MvZG9jLgoKMjAwMS0wNS0yOCAgUmFpbmVyIE9ydGggIDxyb0BUZWNoRmFrLlVuaS1CaWVsZWZlbGQuREU+CgoJKiBjb250cmliL3Rlc3Rfc3VtbWFyeSAoZmlsZXMpOiBTb3J0IGJlZm9yZSBldmFsdWF0aW5nLgoKMjAwMS0wNS0yMyAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3VwZGF0ZSAoVVBEQVRFX09QVElPTlMpOiBBZGQgLWQgdG8gdGhlIGRlZmF1bHQgc2V0dGluZ3MuCgoyMDAxLTA1LTIxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkOiBVc2UgLWQgd2hlbiBpbnZva2luZyBnY2NfdXBkYXRlLgoKMjAwMS0wNS0xOCAgQW5kcmVhcyBKYWVnZXIgIDxhakBzdXNlLmRlPgoKCSogZ2NjX3VwZGF0ZTogQWRkIHJ1bGVzIGZvciBsaWJmMmMvbGliSTc3LgoKMjAwMS0wNS0xNyAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IFVzZSBzaW1wbGVyLCB5ZXQgYXMgcG9ydGFibGUsIHN5bnRheC4KCjIwMDEtMDUtMTQgIExvcmVuIEouIFJpdHRsZSAgPGxqcml0dGxlQGFjbS5vcmc+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IEVuaGFuY2UgbWFrZSBwb3J0YWJpbGl0eS4KCjIwMDEtMDUtMTQgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUByZWRoYXQuY29tPgoKCSogZ2NjX3VwZGF0ZSAodG91Y2hfZmlsZXMpOiBVc2UgYSBNYWtlZmlsZSB0byB0b3VjaCBmaWxlcy4KCjIwMDEtMDUtMDMgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBBZGQgY29weXJpZ2h0IGFuZCBHUEwgbm90aWNlcy4KCjIwMDEtMDEtMjQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgIlwsIi4KCjIwMDEtMDEtMTUgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBGaXggcmVndWxhciBleHByZXNzaW9uIGZvciBAciB0byBhdm9pZCBleHBvbmVudGlhbAoJcmVjdXJzaW9uLiAgRnJvbSBSdXNzIEFsbGJlcnkgPHJyYUBzdGFuZm9yZC5lZHU+LiAgUmVtb3ZlIHBlcmwKCXZlcnNpb24gY2hlY2suCgoyMDAxLTAxLTE1ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiB3YXJuX3N1bW1hcnkgKHN0YWdlTmZpbHRlcik6IFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgaW4KCWJvb3RzdHJhcCBsb2dpYy4KCjIwMDEtMDEtMTQgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBSZXF1aXJlIGF0IGxlYXN0IHBlcmwgNS42LjAuCgoyMDAxLTAxLTEzICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfdXBkYXRlOiBBZGQgZ2NjL2djYy4xIHRvIGdlbmVyYXRlZCBmaWxlcy4KCSogdGV4aTJwb2QucGw6IEhhbmRsZSBAciBhbmQgQGdjY29wdGxpc3QuICBIYW5kbGUgQGdvbC4gIEhhbmRsZQoJZGlzY2FyZGluZyB0byBlbmQgb2Ygc2VudGVuY2Ugd2l0aCBAeHJlZiB3aGVyZSB0aGUgc2VudGVuY2UgaGFzIGFuCglpbnRlcmlvciAiLiIgaW4gbWFya3VwLCBhbmQgaGFuZGxlIGRpc2NhcmRpbmcgcGFyZW50aGVzZXMgYXJvdW5kCglzdWNoIGEgc2VudGVuY2UuCgoyMDAxLTAxLTExICBCZXJuZCBTY2htaWR0ICA8YmVybmRzQHJlZGhhdC5jb20+CgoJKiBnZW5uZXdzOiBBZGQgZ2NjLTIuOTUuMy4KCjIwMDEtMDEtMTAgIEpvc2VwaCBTLiBNeWVycyAgPGpzbTI4QGNhbS5hYy51az4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQGdjY3RhYm9wdCBhbmQgQGVudiBpbiB0YWJsZXMuICBIYW5kbGUKCUBjb21tYW5kLiAgRm9ybWF0IFVSTHMgYW5kIGVtYWlsIGFkZHJlc3NlcyBpbiBib2xkLgoKMjAwMS0wMS0wMyAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3VwZGF0ZTogQWRkIGNwcC4xIHRvIHRoZSBsaXN0IG9mIGdlbmVyYXRlZCBmaWxlcy4KCgkqIHRleGkycG9kLnBsOiBIYW5kbGUgQG9wdGlvbiBhbmQgQGVudi4KCjIwMDEtMDEtMDMgIE1pa2UgU3R1bXAgIDxtcnNAd3JzLmNvbT4KCgkqIHNuYXBzaG90OiBVcGRhdGUgdG8gYWNjb3VudCBmb3IgamF2YSBsaWJyYXJpZXMuCgoyMDAwLTEyLTI4ICBKZWZmcmV5IE9sZGhhbSAgPG9sZGhhbUBjb2Rlc291cmNlcnkuY29tPgoKCSogdGVzdF9zdW1tYXJ5OiBFeHBvcnQgZmlsZXN1ZmZpeCwgbm90IGZpbGVwcmVmaXguCgoyMDAwLTEyLTIyICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiByZWxlYXNlOiBDaGFuZ2Ugc29tZSBFR0NTIHJlZmVyZW5jZXMgdG8gR0NDLgoKMjAwMC0xMi0xNCAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogd2Fybl9zdW1tYXJ5OiBGaXggc3ViZGlyZWN0b3J5IGZpbHRlcmluZy4gIEFkZCAtaW50bCBhbmQgLWZpeGluYwoJc3ViZGlyZWN0b3J5IGZsYWdzLiAgQWRkIHNvdXJjZSBkaXJlY3RvcnkgcHJlZml4IGZpbHRlcmluZy4KCVJlZGlyZWN0IGRpYWdub3N0aWMgb3V0cHV0IHRvIHN0ZGVyci4KCjIwMDAtMTItMDcgIFphY2sgV2VpbmJlcmcgIDx6YWNrQHdvbGVyeS5zdGFuZm9yZC5lZHU+CgoJKiB0ZXhpMnBvZC5wbDogSWYgbXVsdGlwbGUgQGMgbWFuIHNlY3Rpb25zIHdpdGggdGhlIHNhbWUgdGFnCglhcHBlYXIsIGNvbmNhdGVuYXRlIHRoZW0gaW4gdGhlIGZpbmFsIG91dHB1dC4gIFdoZW4gc2tpcHBpbmcsCglpZ25vcmUgYmxvY2sgY29tbWFuZHMgdGhhdCBjYW4ndCBjYXVzZSBza2lwcGluZywgYW5kIGhvbm9yCgl0aG9zZSB0aGF0IGNhbi4gIEVuc3VyZSB0aGF0IHZlcmJhdGltIGJsb2NrcyBhcmUgc2VwYXJhdGUKCXBhcmFncmFwaHMuCgoyMDAwLTEyLTA3ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnY2NfdXBkYXRlOiBEb24ndCB0b3VjaCB0cmFkY2lmLmMgb3IgamF2YS9wYXJzZS5oLgoKMjAwMC0xMi0wNSAgWmFjayBXZWluYmVyZyAgPHphY2tAd29sZXJ5LnN0YW5mb3JkLmVkdT4KCgkqIHRleGkycG9kLnBsOiBSZXN0cnVjdHVyZSBmb3IgY29tcHJlaGVuc2liaWxpdHksIGFkZAoJY29tbWVudHMuICBNZXJnZSBoYW5kbGluZyBvZiBAaWdub3JlIGFuZCBAaWZ4eHguICBIYW5kbGUgYQoJd2hvbGUgYnVuY2ggbW9yZSBUZXhpbmZvIGNvbW1hbmRzLiAgVXNlIGNvbnNpc3RlbnQgZm9ybWF0dGluZwoJc3R5bGUuCgoyMDAwLTEyLTA0ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBnZW5uZXdzOiBOZXcgc2NyaXB0LgoKMjAwMC0xMS0yMiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3VwZGF0ZTogVXBkYXRlIGEgY29tbWVudCBhcyB3ZSBub3cgcmVxdWlyZSBiaXNvbiBmb3IgQ1ZTIHVzZXJzLgoKMjAwMC0xMS0yMiAgSm9zZXBoIFMuIE15ZXJzICA8anNtMjhAY2FtLmFjLnVrPgoKCSogZ2NjX3VwZGF0ZTogQWRkIGdjb3YuMSB0byB0aGUgbGlzdCBvZiBnZW5lcmF0ZWQgZmlsZXMuCgoyMDAwLTExLTIxICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkOiBSZW1vdmUgY29kZSB0byBwdXQgaW5mb3JtYXRpb24gaW4gYSBsb2cgZmlsZS4KCjIwMDAtMTEtMTkgIFphY2sgV2VpbmJlcmcgIDx6YWNrd0BzdGFuZm9yZC5lZHU+CgoJKiB0ZXhpMnBvZC5wbDoKCSAgLSBBZGQgcmVhbCBjb21tYW5kIGxpbmUgcGFyc2luZy4KCSAgLSBTdXBwb3J0IEBpZnNldCwgQGlmY2xlYXIsIEBzZXQsIEB2YWx1ZSwgLUQgc3dpdGNoLgoJICAtIFN1cHBvcnQgQHNjLiAgSW1wcm92ZSBoYW5kbGluZyBvZiBAcmVmIGFuZCBmcmllbmRzLgoJICAtIERpc2NhcmQgQHN1YnNlY3Rpb24sIEBuZWVkLCBAbm9kZSBsaW5lcy4KCSAgLSBVbi1uZXN0IGZvbnQgY2hhbmdlcyB0byBtYXRjaCB0ZXhpbmZvIHNlbWFudGljcy4KCSAgLSBIYW5kbGUgQHsgYW5kIEB9LiAgT29wcy4KCSAgLSBEb24ndCBlbWl0IEU8PiBkaXJlY3RpdmVzIGluc2lkZSB2ZXJiYXRpbSBibG9ja3MuCgoyMDAwLTExLTEyICBCcnVjZSBLb3JiICA8YmtvcmJAZ251Lm9yZz4KCgkqIHJlbGVhc2U6IGdlbmVyYWxpemUgdGhlIHJlbGVhc2Ugc2NyaXB0IGEgYml0LgoKU2F0IE5vdiAxMSAxNzoyOTowMyAyMDAwICBNYXJrIFAgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IEFkZCAtbyBvcHRpb24gZm9yIHNldHRpbmcgdGhlIG9iamRpciB0byB1c2UuCgoyMDAwLTExLTExICBKZWZmIExhdyAgPGxhd0ByZWRoYXQuY29tPiwKCgkqIHJlbGVhc2U6IE5ldyBmaWxlLgoKMjAwMC0xMS0wOCAgSmVmZiBMYXcgIDxsYXdAcmVkaGF0LmNvbT4sCgkgICAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogc25hcHNob3Q6IE5ldyBmaWxlLgoKMjAwMC0xMS0wOCAgSmVmZnJleSBPbGRoYW0gIDxvbGRoYW1Ab3ouY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZCAoYm9vdHN0cmFwX2djYyk6IE5ldyBmdW5jdGlvbi4KCShjb25maWd1cmVfZ2NjKTogTGlrZXdpc2UuCgkoYnVpbGRfZ2NjKTogUmV3cml0dGVuIHRvIHVzZSBjb25maWd1cmUgYW5kIGJvb3RzdHJhcC4KCShNQUtFX0JPT1RTVFJBUF9PUFRJT05TKTogUmVwbGFjZWQgTUFLRV9PUFRJT05TLgoKMjAwMC0xMC0zMSAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZCAoTUFLRSk6IE5ldyB2YXJpYWJsZS4KCShidWlsZF9nY2MpOiBVc2UgaXQuICBGaXggbG9nZ2luZyBvZiBlcnJvcnMuCgkoaW5zdGFsbF9nY2MpOiBMaWtld2lzZS4KCjIwMDAtMTAtMjkgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfYnVpbGQ6IFNhdmUgdGhlIG91dHB1dCBmcm9tIENWUyBpbnRvIHRoZSBsb2dmaWxlIGFzIHdlbGwuCgoyMDAwLTEwLTI1ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogZ2NjX2J1aWxkOiBGaXggdHlwb3MuCgoyMDAwLTEwLTE0ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiBncGVyZi0yLjctMTk5ODEwMDYucGF0OiBSZW1vdmUuCgoyMDAwLTEwLTA4ICBKb3NlcGggUy4gTXllcnMgIDxqc20yOEBjYW0uYWMudWs+CgoJKiB0ZXN0X2luc3RhbGxlZDogQ2hhbmdlIEVHQ1MgcmVmZXJlbmNlcyB0byByZWZlciB0byBHQ0MuCgoyMDAwLTA5LTI4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlICh0b3VjaF9maWxlcyk6IEFkZCBzb21lIGluZm9ybWF0aXZlIG91dHB1dC4KCjIwMDAtMDktMTYgIEFuZHJlYXMgSmFlZ2VyICA8YWpAc3VzZS5kZT4KCgkqIGdjY191cGRhdGU6IFJlbW92ZSBnY2MvYy1wYXJzZS5ncGVyZi4KCjIwMDAtMDgtMzAgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4sCgkgICAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiBnY2NfdXBkYXRlOiBFeGVjdXRlIHRvdWNoX2ZpbGVzX3JlZXhlYyBldmVuIGlmIGBjdnMgdXBkYXRlYAoJZmFpbGVkLgoKMjAwMC0wOC0wOSAgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+CgoJKiB0ZXN0X3N1bW1hcnk6IEFXSyBicmVha3Mgd2l0aCBmaWxlbmFtZXMgY29udGFpbmluZyBgPScuCgpTdW4gSnVsIDE2IDEyOjA0OjMzIDIwMDAgIE1hcmsgUCBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY19idWlsZDogTmV3IHNjcmlwdC4KCjIwMDAtMDctMTMgIE1hcmsgTWl0Y2hlbGwgIDxtYXJrQGNvZGVzb3VyY2VyeS5jb20+CgoJKiBnY2NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogUmVtb3ZlIGdlbmVyYXRlZCBZQUNDIGZpbGVzLgoKMjAwMC0wNy0xMiAgTWFyayBNaXRjaGVsbCAgPG1hcmtAY29kZXNvdXJjZXJ5LmNvbT4KCgkqIGdjY191cGRhdGUgKGZpbGVzX2FuZF9kZXBlbmRlbmNpZXMpOiBSZW1vdmUgZ2VuZXJhdGVkIFlBQ0MgZmlsZXMuCgoyMDAwLTA2LTA0ICBNYXJrIE1pdGNoZWxsICA8bWFya0Bjb2Rlc291cmNlcnkuY29tPgoKCSogbmV3Y3Zzcm9vdDogSGFuZGxlIGZpbGVuYW1lcyB0aGF0IGNvbnRhaW4gc3BhY2VzLgoKMjAwMC0wNi0wMyAgWmFjayBXZWluYmVyZyAgPHphY2tAd29sZXJ5LmN1bWIub3JnPgoKCSogdGVzdF9zdW1tYXJ5OiBJbiBnZW5lcmF0ZWQgc2NyaXB0LCB1c2UgY2F0IDw8J0VPRicgbm90IGNhdCA8PFxFT0YuCglFbGlkZSAtLXdpdGgtZ2NjLXZlcnNpb24tdHJpZ2dlciBhbmQgLS1ub3JlY3Vyc2lvbiBmcm9tCgljb25maWd1cmUgZmxhZ3MuICBSZW1vdmUgY29kZSB0byByZXBvcnQgc3RhdHVzIG9mIGhhaWZhIHNjaGVkdWxlci4KCjIwMDAtMDUtMTggIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUBjeWdudXMuY29tPgoKCSogZ2NjX3VwZGF0ZSAoc2VsZik6IFNldCB0byBgJDAnLgoJKHRvdWNoX2ZpbGVzX3JlZXhlYyk6IFVzZSBgJHNlbGYnIGluc3RlYWQgb2YgYCQwJy4KCjIwMDAtMDUtMTIgIEFsZXhhbmRyZSBPbGl2YSAgPGFvbGl2YUBjeWdudXMuY29tPgoKCSogZ2NjX3VwZGF0ZSAodG91Y2hfZmlsZXNfcmVleGVjKTogTmV3IGZ1bmN0aW9uLCBydW4gYWZ0ZXIgdGhlCgl0cmVlIGlzIG1vZGlmaWVkLgoKMjAwMC0wNS0wOCAgUmljaGFyZCBIZW5kZXNvbiAgPHJ0aEBjeWdudXMuY29tPgoKCSogZ2NjX3VwZGF0ZTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gaW5jbGhhY2sudHBsLgoKMjAwMC0wNC0yOCAgSmFzb24gTWVycmlsbCAgPGphc29uQGNhc2V5LmN5Z251cy5jb20+CgoJKiBpbmRleC1wcm9wOiBVc2UgYSBzaW5nbGUgcGF0dGVybi4gIEFsc28gc3VwcG9ydCAqKiogY2RpZmZzLgoKMjAwMC0wNC0yOCAgUGF2ZWwgUm9za2luIDxwYXZlbF9yb3NraW5AZ2VvY2l0aWVzLmNvbT4KCgkqIGluZGV4LXByb3A6IERvbid0IGNoYW5nZSAvZGV2L251bGwuCgoyMDAwLTA0LTI3ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBnY2NfdXBkYXRlOiBSZWZlciB0byBHQ0MgYW5kIGdjY191cGRhdGUgaW5zdGVhZCBvZiBlZ2NzIGFuZAoJZWdjc191cGRhdGUuCgoyMDAwLTA0LTI2ICBKb25hdGhhbiBMYXJtb3VyICA8amxhcm1vdXJAcmVkaGF0LmNvLnVrPgoKCSogaW5kZXgtcHJvcDogRml4IG9jY2FzaW9uYWwgcHJvYmxlbSB3aGVuIHVzaW5nIGN2cyBkaWZmIC1wLgoKMjAwMC0wNC0xOCAgWmFjayBXZWluYmVyZyAgPHphY2tAd29sZXJ5LmN1bWIub3JnPgoKCSogZ2NjX3VwZGF0ZTogUmVtb3ZlIHJlZmVyZW5jZXMgdG8gY2V4cC5jL2NleHAueS4KCjE5OTktMTItMTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIG5ld2N2c3Jvb3Q6IEFkZCBjaGVjayBvbiB0aGUgbnVtYmVyIG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMuCglBZGQgdXNhZ2UuCgpTdW4gTm92IDI4IDAwOjQxOjQ0IDE5OTkgIFdpbGxpYW0gQmFkZXIgKHdpbGxpYW1AbnNjcy5mYXN0Lm5ldCkKCgkqIGdjY191cGRhdGU6IEFsbG93IHBhdGNoZXMgY29tcHJlc3NlZCBieSBiemlwMi4KCjE5OTktMTAtMTEgIE1hcnRpbiB2LiBM9ndpcyA8bG9ld2lzQGluZm9ybWF0aWsuaHUtYmVybGluLmRlPgoKCSogbmV3Y3Zzcm9vdDogTmV3IGZpbGUuCgoxOTk5LTA5LTExICBDcmFpZyBCdXJsZXkgIDxjcmFpZ0BqY2Itc2MuY29tPgoKCSogY29udmVydF90b19mMmMsIGNvbnZlcnRfdG9fZzJjLCBkb3dubG9hZF9mMmM6IE5ldyBmaWxlLgoKMTk5OS0wOC0xNiAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZ2NjX3VwZGF0ZTogTmV3IGZpbGUuCgkqIGVnY3NfdXBkYXRlOiBSZW5hbWVkIHRvIGdjY191cGRhdGUuCgoxOTk5LTA4LTA5ICBSb2JlcnQgTGlwZSAgPHJvYmVydGxpcGVAdXNhLm5ldD4KCgkqIHRlc3Rfc3VtbWFyeTogUXVvdGUgY3VybHkgYnJhY2VzIGluIDE5OTktMDctMDMgY2hhbmdlLgoKMTk5OS0wNy0yOCAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiBlZ2NzX3VwZGF0ZSAoZmlsZXNfYW5kX2RlcGVuZGVuY2llcyk6IEZpeGVkIHR5cG8gaW4KCWdjYy9jc3RhbXAtaC5pbi4gIEFkZGVkIGdjYy9jb25maWcuaW4uCgoxOTk5LTA3LTI3ICBBbGV4YW5kcmUgT2xpdmEgIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIGVnY3NfdXBkYXRlIChmaWxlc19hbmRfZGVwZW5kZW5jaWVzKTogTmV3IGZ1bmN0aW9uLCB3aXRoCgljb21wbGV0ZSBsaXN0IG9mIGZpbGVzIHRvIGJlIHVwZGF0ZWQsIGFzIHdlbGwgYXMgdGhlaXIKCWRlcGVuZGVuY2llcy4KCSh0b3VjaF9maWxlcyk6IENoZWNrIHRoZSB0aW1lc3RhbXAgb2YgZWFjaCBnZW5lcmF0ZWQgZmlsZSBhZ2FpbnN0CglpdHMgZGVwZW5kZW5jaWVzJy4KCShtYWluKTogTmV3IGZsYWdzIC0tdG91Y2gsIC0tbGlzdCBhbmQgLS1oZWxwLiAgUmVtb3ZlIHRoZQoJcHJlLXVwZGF0ZSBzdGVwLgoKMTk5OS0wNy0xNyAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnk6IFJlcGxhY2UgZWdjcyB3aXRoIGdjYy4gIFVwZGF0ZSBlLW1haWwgYWRkcmVzcy4KCjE5OTktMDctMDUgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCSAgICBKZXJyeSBRdWlubiA8anF1aW5uQG5vcnRlbG5ldHdvcmtzLmNvbT4KCgkqIGVnY3NfdXBkYXRlICh0b3VjaF9maWxlcywgYXBwbHlfcGF0Y2gpOiBOZXcgZnVuY3Rpb25zLgoJVXNlIHRoZW0uICBOZXcgY29tbWFuZC1saW5lIG9wdGlvbiAtLXBhdGNoLiAgU3BsaXQgdGVzdCBvZiBsb2NhbAoJdHJlZSBpbnRvIHR3byBwYXJ0cy4gIEFkZCBjb21tZW50cy4KCjE5OTktMDctMDMgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5OiBJZiBUYXJnZXQgaXMgYHVuaXh7Kn0nLCBhcHBlbmQgdGhlIFRhcmdldCB2YXJpYW50cwoJdG8gSG9zdC4KCjE5OTktMDYtMTIgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5OiBTZXQgZGVmYXVsdCBtYWlsLWFkZHJlc3MgYW5kIHZlcnNpb24gZm9yIGVnY3MKCWluc3RlYWQgb2YgcmVseWluZyBvbiB1bnByZWRpY3RhYmxlIHBhdGhuYW1lcy4KCVJlcG9ydGVkIGJ5IEFuZHJlYXMgSmFlZ2VyIDxhakBhcnRodXIucmhlaW4tbmVja2FyLmRlPgoKRnJpIEFwciAgMiAxNjowOTowMiAxOTk5ICBKZWZmcmV5IEEgTGF3ICAobGF3QGN5Z251cy5jb20pCgoJKiBmaXhpbmMvKjogRGVsZXRlIG9ic29sZXRlIGZpbGVzLgoKMTk5OS0wMi0wNCAgUm9iZXJ0IExpcGUgIDxyb2JlcnRsaXBlQHVzYS5uZXQ+CgoJKiBlZ2NzX3VwZGF0ZTogVGVzdCByZXR1cm4gdmFsdWVzIG9mICdjdnMgdXBkYXRlJy4gIFByb3BvZ2F0ZQoJdG8gY2FsbGVyIGFzIGV4aXQgdmFsdWVzLgoKMTk5OS0wMS0yNSAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoKCSogZWdjc191cGRhdGU6IFVzZSAiaWYiIGluc3RlYWQgb2YgIiYmIi4gIFRvdWNoIGdlbmVyYXRlZCBmaWxlcwoJb25seSBhZnRlciB0aGUgY29ycmVzcG9uZGluZyAqLnkgZmlsZXMuCgoxOTk5LTAxLTE5ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBlZ2NzX3VwZGF0ZTogRG8gbm90IHVzZSB4YXJncywgYnV0IGEgYmFja3F1b3RlIGNvbnN0cnVjdC4KCjE5OTktMDEtMDcgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5ICh2ZXJzaW9uKTogUmVtb3ZlIGNhcnJpYWdlIHJldHVybiB0aGF0IGdhd2sgaW5zZXJ0cwoJaW4gdGhlIHZlcnNpb24gc3RyaW5nIGZvciBzb21lIHJlYXNvbi4KCjE5OTgtMTEtMzAgIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGVnY3NfdXBkYXRlOiBPbmx5IHRvdWNoIGZpbGVzIHRoYXQgYWxyZWFkeSBleGlzdC4KCjE5OTgtMTEtMjkgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5IChFT0YpOiBSZW1vdmUgZG91YmxlIGJhY2tzbGFzaC4KCVJlcG9ydGVkIGJ5IEZyYW56IFNpcmwgPEZyYW56LlNpcmwta2VybmVsQGxhdXRlcmJhY2guY29tPgoKMTk5OC0xMS0yOCAgQWxleGFuZHJlIE9saXZhICA8b2xpdmFAZGNjLnVuaWNhbXAuYnI+CgoJKiB0ZXN0X3N1bW1hcnkgKGFkZHJlc3MpOiBTZXQgdG8gZWdjcy10ZXN0cmVzdWx0cyBtYWlsaW5nIGxpc3QuCgoxOTk4LTExLTI3ICBBbGV4YW5kcmUgT2xpdmEgIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIHRlc3Rfc3VtbWFyeSAoYWRkcmVzcyk6IEFkZGVkIE1hcmMgTGVobWFubidzIHRlc3RzdWl0ZS1yZXN1bHRzCgl0byB0aGUgZGVmYXVsdCBlLW1haWwgYWRkcmVzcy4KCjE5OTgtMTEtMjUgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5ICgtcCwgcHJlcGVuZF9sb2dzKTogQWRkIHRoZXNlIGJlZm9yZSB0aGUgc3VtbWFyeS4KCShDb21waWxlciwgUGxhdGZvcm0pOiBQcmludCB0aGVzZSBqdXN0IGJlZm9yZSBjb25maWdmbGFncy4KClNhdCBPY3QgMzEgMTA6NTM6NDAgMTk5OCAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogd2Fybl9zdW1tYXJ5IChsb25nTGluZUZpbHRlcik6IE5ldyBzaGVsbCBmdW5jdGlvbiB0byBlbmNhcHN1bGF0ZQoJdGhpcyBmdW5jdGlvbmFsaXR5LiAgSXQgaXMgb2ZmIGJ5IGRlZmF1bHQsIG9ubHkgYWN0aXZlIGlmIC1sbGYKCWZsYWcgaXMgc3BlY2lmaWVkLgoJKHN1YmRpcmVjdG9yeUZpbHRlcik6IEZpeCBidWcgaW4gZmlsdGVyaW5nIHdoaWNoIG1hZGUgc29tZQoJc3ViZGlyZWN0b3J5IHdhcm5pbmdzIGVycm9uZW91c2x5IGFwcGVhciBpbiB0aGUgdG9wbGV2ZWwgc2V0LgoJKHN0YWdlTmZpbHRlcik6IFJlbmFtZWQgZnJvbSBgc3RhZ2VOd2FybnMnLiAgVXBkYXRlZCB0byBjb2xsZWN0Cgl3YXJuaW5ncyBmcm9tIHN0YWdlMSBhcyB3ZWxsIGFzIHN0YWdlMCwgd2hpY2ggbWVhbnMgd2FybmluZ3MgZnJvbQoJb3V0c2lkZSB0aGUgYm9vdHN0cmFwIGRpcmVjdG9yeS4gIEVnLCB0aGUgbGlicmFyaWVzLCBldGMuCgkod2FybmluZ0ZpbHRlcik6IE5ldyBzaGVsbCBmdW5jdGlvbiB0byBlbmNhcHN1bGF0ZSB0aGlzCglmdW5jdGlvbmFsaXR5LgoJKGtleXdvcmRGaWx0ZXIpOiBOZXcgc2hlbGwgZnVuY3Rpb24gdG8gZW5jYXBzdWxhdGUgdGhpcwoJZnVuY3Rpb25hbGl0eS4KCglTdG9yZSBkYXRhIGluIGEgdGVtcCBmaWxlIHJhdGhlciB0aGFuIGNhbGN1bGF0aW5nIGl0IDN4LiAgQXJyYW5nZQoJdG8gcmVtb3ZlIGl0IG9uIGV4aXQgYW5kIHNpZ25hbHMuCgoJQWRkIC1wYXNzLy13cGFzcyBmbGFncyB0byBkbyAicGFzcyB0aHJvdWdoIiAoaS5lLiBtYW51YWwKCWluc3BlY3Rpb24pIG9mIGJvb3RzdHJhcCBvdXRwdXQgZnJvbSBhIHBhcnRpY3VsYXIgc3RhZ2VOIGFzIHdlbGwKCWFzIGxhbmd1YWdlIHN1YmRpcnMuCgoJQWRkIGJldHRlciBjb21tZW50cy9kb2N1bWVudGF0aW9uLgoKU2F0IE9jdCAzMSAxNjozOTozMSAxOTk4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBlZ2NzX3VwZGF0ZTogQWRkIGNvbW1lbnQgYWJvdXQga2VlcGluZyB0aGUgRkFRIHN5bmNocm9uaXplZC4KCkZyaSBPY3QgMzAgMDA6Mzk6MjcgMTk5OCAgSmVmZnJleSBBIExhdyAgKGxhd0BjeWdudXMuY29tKQoKCSogZWdjc191cGRhdGU6IERvIHRvdWNoIGphdmEvcGFyc2UuYyBhbmQgamF2YS9wYXJzZS1zY2FuLmMuIFRoZXkncmUKCWluIHRoZSByZXBvIGFnYWluLgoKRnJpIE9jdCAxNiAwNzozNTowMCAxOTk4ICBCcnVjZSBLb3JiIDxrb3JiQGRhdGFkZXNpZ24uY29tPgoKCSogZWdjc191cGRhdGU6ICBBZGRlZCBnY2MvZml4aW5jLyogZ2VuZXJhdGVkIGZpbGVzIHRvIHRvdWNoIGxpc3QuCgpUdWUgT2N0IDEzIDIzOjI4OjMzIDE5OTggIEplZmZyZXkgQSBMYXcgIChsYXdAY3lnbnVzLmNvbSkKCgkqIGVnY3NfdXBkYXRlOiBSZW1vdmUgZ2NjL2phdmEvcGFyc2UuYyBmcm9tIGxpc3Qgb2YgZmlsZXMgdG8KCXRvdWNoLgoKV2VkIE9jdCAgNyAxMzowMDo0MCAxOTk4ICBLYXZlaCBSLiBHaGF6aSAgPGdoYXppQGNhaXAucnV0Z2Vycy5lZHU+CgoJKiBncGVyZi0yLjctMTk5ODEwMDYucGF0OiBOZXcgZmlsZSwgcGF0Y2ggZm9yIGVnY3MtbG9jYWwgZ3BlcmYuCgpNb24gT2N0ICA1IDE0OjE5OjQ4IDE5OTggIEthdmVoIFIuIEdoYXppICA8Z2hhemlAY2FpcC5ydXRnZXJzLmVkdT4KCgkqIHdhcm5fc3VtbWFyeSAoc3ViZGlyZWN0b3J5RmlsdGVyKTogTmV3IHNoZWxsIGZ1bmN0aW9uIHRvCglvcHRpb25hbGx5IGZpbHRlciBpbi9vdXQgZ2NjIHN1YmRpcmVjdG9yaWVzIHdoZW4gc3VtbWFyaXppbmcKCXdhcm5pbmdzLiAgQWRkIG5ldyBmbGFncyB0byBzdXBwb3J0IHN1YmRpcmVjdG9yeSBmaWx0ZXJpbmcuCgoJQWxzbywgZW5zdXJlIHRoZSBib290c3RyYXAgc3RhZ2UgaXMgYSBudW1iZXIuICBBZGQgc29tZSBtb3JlIEMKCWtleXdvcmRzIHRoYXQgYXJlIHByZXNlcnZlZCBpbiB0aGUgIndhcm5pbmcgdHlwZSIgc3VtbWFyeSBhbmQKCXRpZ2h0ZW4gdXAgdGhlICJhcmcgPz8/IiByZWdleHAuCgpUdWUgU2VwIDIyIDA3OjMwIEJydWNlIEtvcmIgPGtvcmJAZGF0YWRlc2lnbi5jb20+CgoJKiBmaXhpbmMvaW5jbGhhY2suZGVmOiAgTm90IGFsbCBDKysgY29tbWVudHMgaW4gQyBoZWFkZXJzCgl3ZXJlIHRyZWF0ZWQgYWxpa2UuICBUaGV5IGFyZSBub3cuICBBbHNvIGZpeGVkIHN5bnRheAoJb2Ygc2VkIGV4cHJlc3Npb24gaW4gInN5c3R5cGVzIiBmaXguCgoJKiBmaXhpbmMvaW5jbGhhY2suZGVmOiAgUmVtb3ZlZCBTVlI0LjItaXNtIGZyb20gc2hlbGwgaW52b2NhdGlvbgoKCSogZWdjc191cGRhdGU6ICBBZGRlZCBmaXhpbmMvKiBnZW5lcmF0ZWQgZmlsZXMgdG8gdG91Y2ggbGlzdC4KCldlZCBTZXAgMTYgMTY6MDY6NTEgMTk5OCAgS2F2ZWggUi4gR2hhemkgIDxnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1PgoKCSogZWdjc191cGRhdGU6IEFkZGl0aW9uYWxseSB0b3VjaCBnY2MvamF2YS9wYXJzZS5bY2hdLgoKVGh1IFNlcCAgOSAxNjo0OCBCcnVjZSBLb3JiIDxrb3JiQGRhdGFkZXNpZ24uY29tPgoKCSogZml4aW5jL2luY2xoYWNrLmRlZjogIEFkZGVkIHR3byBmaWxlcyByZXF1aXJlZCBieQoJU0NPJ3MgT3BlbiBTZXJ2ZXIgNSdzIGF2b2lkX2Jvb2wgZml4LgoJUmVnZW5lcmF0ZWQgZml4aW5jLnggYW5kIGluY2xoYWNrLnNoIHRvIGluY29ycG9yYXRlCgl0aGUgdXBkYXRlLgoKVGh1IFNlcCAgMyAxMDoxMTozMiAxOTk4ICBSb2JlcnQgTGlwZSAgIDxyb2JlcnRsQGRnaWkuY29tPgoKCSogZWdjc191cGRhdGU6IERvIHRoZSBwYXNzIDEgQ1ZTIHVwZGF0ZSBvbmx5IGZvciBmaWxlcyB0aGF0CgltYXkgcmVhc29uYWJseSBiZSB1bmRlciBDVlMgY29udHJvbC4KCjE5OTgtMDgtMTQgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9pbnN0YWxsZWQ6IE5ldyBzY3JpcHQgZm9yIHRlc3RpbmcgYWxyZWFkeS1pbnN0YWxsZWQKCWdjYy9nKysvZzc3LgoKV2VkIEF1ZyAxMiAxOTo1OTozNiAxOTk4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiBlZ2NzX3VwZGF0ZTogQXNzaWduZWQgY29weXJpZ2h0IHRvIEZTRi4KClR1ZSBBdWcgMTEgMTc6NTU6NTMgMTk5OCAgR2VyYWxkIFBmZWlmZXIgIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgoJCQkgIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogZWdjc191cGRhdGU6IE5ldyBzd2l0Y2ggLS1ub3N0ZGZsYWdzIGFuZCBkb2N1bWVudGF0aW9uCgllbmhhbmNlbWVudHMuCgpUdWUgQXVnIDExIDE3OjMzOjE5IDE5OTggIEdlcmFsZCBQZmVpZmVyICA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KCgkqIGVnY3NfdXBkYXRlOiBOZXcgc2NyaXB0LgoKMTk5OC0wOC0wNSAgQnJ1Y2UgS29yYiA8a29yYmJAZGF0YWRlc2lnbi5jb20+CgoJKiBmaXhpbmMvTWFrZWZpbGUKCUFkZGVkIGRlZmluZSBmb3IgdGFyZ2V0IG1hY2hpbmUgc28gbWFjaGluZS1zcGVjaWZpYyB0ZXN0cwoJY2FuIGJlIHNlbGVjdGVkIGZvciBvciBhZ2FpbnN0LgoKCSogZml4aW5jL2ZpeGluY2wuYwoJQWRkZWQgYW4gYXJyYXkgb2Ygc3RyaW5nIHBvaW50ZXJzIHRvIG1hY2hpbmVzIHRvIHNlbGVjdAoJb3IgYXZvaWQsIGRlcGVuZGluZyBvbiBhIEZEX01BQ0hfSUZOT1QgYml0IGZsYWcuCglVc2VkIGEgc2hlbGwgc2NyaXB0IHRvIG1hdGNoIHRoZSBkZWZpbmVkIFRBUkdFVF9NQUNISU5FCgl3aXRoIGFueSBvZiB0aGUgZ2l2ZW4gbWF0Y2ggcGF0dGVybnMuCgoJKiBmaXhpbmMvZml4aW5jbC50cGwKCUdlbmVyYXRlIHRoZSBhcnJheSBvZiBzdHJpbmdzIGFuZCBiaXQgZmxhZywgYXMgbmVlZGVkLAoJZGVwZW5kaW5nIG9uICJtYWNoIiBhbmQgIm5vdF9tYWNoaW5lIiBhdHRyaWJ1dGVzIGZvciBhIGZpeC4KCgkqIGZpeGluYy9ta2ZpeGluYy5zaAoJSW52b2tlIHRoZSBtYWtlIHdpdGggVEFSR0VUIGFzc2lnbmVkIHRoZSB2YWx1ZSBvZiB0aGUKCW1hY2hpbmUgbmFtZSBhcmd1bWVudC4KCk1vbiBKdWwgMjcgMjI6MDg6MTIgMTk5OCAgTWlrZSBTdHVtcCAgKG1yc0B3cnMuY29tKQoKCSogY29tcGFyZV90ZXN0czogTmV3IHNjcmlwdC4KCjE5OTgtMDctMjggIEFsZXhhbmRyZSBPbGl2YSAgPG9saXZhQGRjYy51bmljYW1wLmJyPgoKCSogdGVzdF9zdW1tYXJ5OiBBc3NpZ25lZCBjb3B5cmlnaHQgdG8gRlNGLgoKTW9uIEp1bCAyNyAyMDozMzowMiAxOTk4ICBHZXJhbGQgUGZlaWZlciAgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CgoJKiB0ZXN0X3N1bW1hcnk6IENvcnJlY3RlZCBzY3JpcHQgbmFtZSBpbiBjb21tZW50cyBwcm92aWRpbmcKCWRvY3VtZW50YXRpb24uICBBZGRlZCBsaW5lYnJlYWtzIGZvciBsaW5lcyB3aXRoID4gODAgY2hhcmFjdGVycy4KCkZyaSBKdW4gMTkgMDI6MzY6NTkgMTk5OCAgQWxleGFuZHJlIE9saXZhIDxvbGl2YUBkY2MudW5pY2FtcC5icj4KCgkqIHRlc3Rfc3VtbWFyeTogTmV3IHN3aXRjaCwgLWksIGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZSwKCWFwcGVuZF9sb2dzLCBmb3IgaW5jbHVkaW5nIGZpbGVzIGluIHRoZSByZXBvcnQuCgoxOTk4LTA2LTAxICBNYW5mcmVkIEhvbGxzdGVpbiAgPG1hbmZyZWRAcy1kaXJla3RuZXQuZGU+CgoJKiB3YXJuX3N1bW1hcnk6IFVwZGF0ZSB0byBLYXZlaCdzIGxhdGVzdCB2ZXJzaW9uIGFsbG93aW5nIHRvCglzcGVjaWZ5IHRoZSBsYXN0IHN0YWdlIGJ1aWx0LgoKMTk5OC0wNS0yOSAgQnJ1Y2UgS29yYiA8a29yYmJAZGF0YWRlc2lnbi5jb20+CgoJKiBmaXhpbmMvbWtmaXhpbmMuc2gKCUNoYW5nZXMgdG8gbWFrZSBpdCBlYXNpZXIgdG8gaW52b2tlIG9uIHBsYXRmb3JtcyB0aGF0Cglub3JtYWxseSBkbyBub3QgaW52b2tlIGZpeGluY2x1ZGVzLgoKCSogZml4aW5jL2luY2xoYWNrLmRlZgoJQXBwbGllZCBmaXhlcyBmcm9tIGVnY3MvZ2NjL2ZpeGluY2x1ZGVzIGZyb20gdGhlIHBhc3Qgc2V2ZXJhbAoJbW9udGhzLgoKMTk5OC0wNS0yOCAgQnJ1Y2UgS29yYiA8a29yYmJAZGF0YWRlc2lnbi5jb20+CgoJKiBmaXhpbmMvKjogVXBkYXRlZCBtb3N0IGV2ZXJ5dGhpbmcgZm9yIGEgZmlyc3QgcmVhbAoJdHJ5IGF0IGdldHRpbmcgImZhc3RfZml4aW5jbHVkZXMiIHdvcmtpbmcuCgoxOTk4LTA1LTI4ICBKYXNvbiBNZXJyaWxsICA8amFzb25AeW9yaWNrLmN5Z251cy5jb20+CgoJKiBpbmRleC1wcm9wOiBOZXcgZmlsZS4KClNhdCBNYXkgMjMgMjM6Mzg6NDkgMTk5OCAgTWF0dGhpYXMgS2xvc2UgIDxkb2tvQGNzLnR1LWJlcmxpbi5kZT4KCgkqIHRlc3Rfc3VtbWFyeTogZmluZCBnb29kIGF3ayAoY29waWVkIGZyb20gd2Fybl9zdW1tYXJ5KS4KClNhdCBNYXkgMjMgMjM6Mzg6MzMgMTk5OCAgSmVmZnJleSBBIExhdyAgKGxhd0BjeWdudXMuY29tKQoKCSogdGVzdF9zdW1tYXJ5LCB3YXJuX3N1bW1hcnk6IE5ldyBmaWxlcwo=