ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggZjIwMTA0NS4uMWMwMzAwZiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMzAgKzEsMjEgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDA1MDkzMCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgotVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKLWFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKLWNvcnJlY3RseS4KK1RoaXMgaXMgcmVsZWFzZSAwLjkgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24gVW5peC4KK0FmdGVyIDEyIHllYXJzIG9mIGRldmVsb3BtZW50LCB0aGlzIHJlbGVhc2UgbWFya3MgdGhlIGJlZ2lubmluZyBvZiB0aGUKK2JldGEgdGVzdGluZyBwaGFzZS4gIEV2ZXJ5Ym9keSBpcyBlbmNvdXJhZ2VkIHRvIHRyeSBpdDsgd2hpbGUgdGhlcmUKK2FyZSBzdGlsbCBidWdzLCBtb3N0IGFwcGxpY2F0aW9ucyBhcmUgZXhwZWN0ZWQgdG8gYXQgbGVhc3QgaW5zdGFsbCBhbmQKK2RvIHNvbWV0aGluZyB1c2VmdWwuCiAKLVdIQVQnUyBORVcgd2l0aCBXaW5lLTIwMDUwOTMwOiAoc2VlIENoYW5nZUxvZyBmb3IgZGV0YWlscykKLSAgICAgICAgLSBKb3lzdGljayBmb3JjZSBmZWVkYmFjayBzdXBwb3J0LgotICAgICAgICAtIEJlZ2lubmluZ3Mgb2YgV2luNjQgc3VwcG9ydC4KLSAgICAgICAgLSBNYW55IE1TSSBmaXhlcyBhbmQgY2xlYW51cHMuCi0gICAgICAgIC0gRm9udCBsaW5raW5nIHN1cHBvcnQuCi0gICAgICAgIC0gU2V2ZXJhbCBPTEUgZml4ZXMuCi0gICAgICAgIC0gU29tZSBmaXhlcyBmb3IgTWFjT1MveDg2LgotICAgICAgICAtIExvdHMgb2YgYnVnIGZpeGVzLgorQmVjYXVzZSBvZiBsYWdzIGNyZWF0ZWQgYnkgdXNpbmcgbWlycm9ycywgdGhpcyBtZXNzYWdlIG1heSByZWFjaCB5b3UKK2JlZm9yZSB0aGUgcmVsZWFzZSBpcyBhdmFpbGFibGUgYXQgdGhlIGZ0cCBzaXRlcy4gIFRoZSBzb3VyY2VzIHdpbGwgYmUKK2F2YWlsYWJsZSBmcm9tIHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zOgogCi1TZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCisgIGh0dHA6Ly9pYmlibGlvLm9yZy9wdWIvbGludXgvc3lzdGVtL2VtdWxhdG9ycy93aW5lL3dpbmUtMC45LnRhci5iejIKKyAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL3dpbmUtMC45LnRhci5iejIKIAotQmVjYXVzZSBvZiBsYWdzIGNyZWF0ZWQgYnkgdXNpbmcgbWlycm9yLCB0aGlzIG1lc3NhZ2UgbWF5IHJlYWNoIHlvdSBiZWZvcmUKLXRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKLWZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CitCaW5hcnkgcGFja2FnZXMgZm9yIHZhcmlvdXMgZGlzdHJpYnV0aW9ucyB3aWxsIGJlIGF2YWlsYWJsZSBmcm9tOgogCi0gIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDA1MDkzMC50YXIuZ3oKLSAgaHR0cDovL3ByZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC93aW5lL1dpbmUtMjAwNTA5MzAudGFyLmd6CisgIGh0dHA6Ly93d3cud2luZWhxLm9yZy9zaXRlL2Rvd25sb2FkCiAKLUl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KLVRoZXNlIGxvY2F0aW9ucyBhbHNvIGhvbGQgcHJlLWJ1aWx0IGRvY3VtZW50YXRpb24gcGFja2FnZXMgaW4gdmFyaW91cwotZm9ybWF0czogd2luZS1kb2MtZW4taHRtbC50YXIuZ3osIHdpbmUtZG9jLWVuLXR4dC50YXIuZ3osCi13aW5lLWRvYy1lbi1wZGYudGFyLmd6IGFuZCB3aW5lLWRvYy1lbi1wcy50YXIuZ3ouCitZb3Ugd2lsbCBmaW5kIGRvY3VtZW50YXRpb24gb24gaHR0cDovL3d3dy53aW5laHEub3JnL3NpdGUvZG9jdW1lbnRhdGlvbi4KIAogWW91IGNhbiBhbHNvIGdldCB0aGUgY3VycmVudCBzb3VyY2UgZGlyZWN0bHkgZnJvbSB0aGUgQ1ZTIHRyZWUuIENoZWNrCiBodHRwOi8vd3d3LndpbmVocS5vcmcvY3ZzIGZvciBkZXRhaWxzLgpAQCAtMzMsMTAgKzI0LDYgQEAKIGRvbid0IGZvcmdldCB0byBpbmNsdWRlIGEgQ2hhbmdlTG9nIGVudHJ5LiBJZiB5b3Ugc3VibWl0dGVkIGEgcGF0Y2gsCiBwbGVhc2UgY2hlY2sgdG8gbWFrZSBzdXJlIGl0IGhhcyBiZWVuIGluY2x1ZGVkIGluIHRoZSBuZXcgcmVsZWFzZS4KIAotSWYgeW91IHdhbnQgdG8gcmVjZWl2ZSBieSBtYWlsIGEgcGF0Y2ggYWdhaW5zdCB0aGUgcHJldmlvdXMgcmVsZWFzZQotd2hlbiBhIG5ldyBvbmUgaXMgcmVsZWFzZWQsIHlvdSBjYW4gc3Vic2NyaWJlIHRvIHRoZSBtYWlsaW5nIGxpc3QgYXQKLWh0dHA6Ly93d3cud2luZWhxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dpbmUtcmVsZWFzZXMgLgotCiBXaW5lIGlzIGF2YWlsYWJsZSB0aGFua3MgdG8gdGhlIHdvcmsgb2YgbWFueSBwZW9wbGUuIFNlZSB0aGUgZmlsZQogQVVUSE9SUyBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvciB0aGUgY29tcGxldGUgbGlzdC4KIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGRkMzQzODEuLmI1NzkwYzAgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSw4MTIgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDUtMTAtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5vcmc+CisKKwkqIEFVVEhPUlM6IFVwZGF0ZWQgdGhlIGF1dGhvcnMgbGlzdC4KKworCSogZGxscy9jb21tZGxnL2NkbGdfQ3MucmM6IE1pY2hhbCBTdWNoYW5layA8aHJhbXJhY2hAZ21haWwuY29tPgorCU1ha2UgQ3plY2ggZm9udCBzZWxlY3Rpb24gZGlhbG9nIHVzYWJsZS4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlNYWRlIGFjY2VwdCB0aHJlYWQgc2FmZShyKS4KKworCSogZGxscy94MTFkcnYvbW91c2UuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJRml4IGJhZCBtb3VzZSBsYWcgaW4gZ2FtZXMgdGhhdCBkbyB0aGVpciBvd24gbW91c2Ugd2FycGluZy4KKworCSogZGxscy93aW5zcG9vbC9pbmZvLmM6IFJvYmVydCBMdW5ub24gPGJvYmxAb3B0dXNob21lLmNvbS5hdT4KKwlSZW5hbWUgcXVldWVfdCB0byBqb2JxdWV1ZV90IHRvIGF2b2lkIGNvbGxpc2lvbiB3aXRoIGxpYnJhcnkgc3ltYm9sCisJcXVldWVfdC4KKworCSogZGxscy93aW5tbS93aW5lZXNkL2F1ZGlvLmM6IFJvYmVydCBMdW5ub24gPGJvYmxAb3B0dXNob21lLmNvbS5hdT4KKwlBZGRlZCBoZWFkZXIgZXJybm8uaC4KKworCSogdG9vbHMvd2luZWJ1aWxkL3V0aWxzLmM6IFJvYmVydCBMdW5ub24gPGJvYmxAb3B0dXNob21lLmNvbS5hdT4KKwlSZW1vdmUgU1ZSNCBzcGVjaWZpYyBwc2V1ZG8tb3BzLgorCisJKiB0b29scy93aW5lYnVpbGQvaW1wb3J0LmM6IFNpbW9uIFJpY2h0ZXIgPFNpbW9uLlJpY2h0ZXJAaG9neXJvcy5kZT4KKwlGaXggd2luZWJ1aWxkJ3MgcHBjIGFzc2VtYmx5IGdlbmVyYXRpb24uCisKKzIwMDUtMTAtMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbXN2Y3J0L2V4aXQuYzogX2NleGl0IHNob3VsZCBjYWxsIHRoZSBhdGV4aXQgZnVuY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IFRyb3kgUm9sbG8gPHdpbmVAdHJveS5yb2xsby5uYW1lPgorCURldGVjdCB3aGVuIHRoZSBub3RpZmljYXRpb24gY2FsbGJhY2sgaGFzIGRlc3Ryb3llZCB0aGUgTGlzdFZpZXcgdG8KKwlhdm9pZCBhdHRlbXB0cyB0byBhY2Nlc3MgZGF0YSB0aGF0IGlzIG5vIGxvbmdlciB2YWxpZC4KKworCSogZGxscy9jb21jdGwzMi90ZXN0cy8uY3ZzaWdub3JlLCBkbGxzL2NvbWN0bDMyL3Rlc3RzL01ha2VmaWxlLmluLAorCSAgZGxscy9jb21jdGwzMi90ZXN0cy90b29sYmFyLmMsIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCUtyenlzenRvZiBGb2x0bWFuIDx3ZGV2QGZvbHRtYW4uY29tPgorCVNlcGFyYXRvcnMgd2l0aCBncm91cCBzdHlsZSBzZXQgZG9uJ3Qgc2VwYXJhdGUgdG9vbGJhciByYWRpbyBncm91cHMKKwlhbnltb3JlICh3aGljaCBicm9rZSB0b29sIHNlbGVjdGlvbiBpbiBGcm9udCBQYW5lbCBEZXNpZ25lcikuCisKKwkqIGRsbHMvdXNlci93aW5wcm9jLmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlIYW5kbGUgTlVMTCBzdHJpbmcgbHBhcmFtIHdoZW4gdHJhbnNsYXRpbmcgbWVzc2FnZXMgQS0+Vy4KKworMjAwNS0xMC0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9zaGRvY3Z3L3NoZG9jdndfbWFpbi5jOiBGaXhlZCBhIGhhbmRsZSBsZWFrLgorCisJKiBkbGxzL3NoZG9jdncvc2hkb2N2d19tYWluLmM6CisJVmluY2VudCBC6XJvbiA8dmJlcm9uQG1lY2Fuby5nbWUudXNoZXJiLmNhPgorCUFsbG93IGZpbGU6Ly8vIHByb3RvY29sIHRvIGJlIHVzZWQgdG8gZG93bmxvYWQgdGhlIE1vemlsbGEgQWN0aXZlWAorCWNvbnRyb2wuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYywgcHJvZ3JhbXMvd2luZWNmZy9kcml2ZXVpLmM6CisJQWRkZWQgImF1dG9kZXRlY3QiIGRyaXZlIHR5cGUgb3B0aW9uLgorCisJKiBkbGxzL21zdmNydC90ZXN0cy9jcHAuYywgZGxscy9tc3ZjcnQvdW5kbmFtZS5jOgorCVZpamF5IEtpcmFuIEthbXVqdSA8aW5meXF1ZXN0QGdtYWlsLmNvbT4KKwlGaXggbXN2Y3J0IHN5bWJvbCBkZW1hbmdsaW5nIGZvciBub24gTVMgc3ltYm9scy4KKworCSogZGxscy9zaGRvY3Z3L3NoZG9jdndfbWFpbi5jOgorCVZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlSZW1vdmUgdGVtcGZpbGUgdXNlZCB0byBkb3dubG9hZCBNb3ppbGxhIEFjdGl2ZVggY29udHJvbCBvbmNlIGl0J3Mgbm90CisJdXNlZCBhbnltb3JlLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL2RyaXZldWkuYzoKKwlFbmFibGUgdGhlIGFwcGx5IGJ1dHRvbiB3aGVuIGNoYW5naW5nIGRyaXZlIHR5cGUuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmUuYzoKKwlBbHdheXMgc2V0IHRoZSBkcml2ZSB0eXBlIGV2ZW4gaWYgbm90aGluZyBlbHNlIGNoYW5nZWQuCisKKwkqIGRsbHMvdXNlci9kZWZkbGcuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJUmVzdG9yZSBmb2N1cyB0byB0aGUgY3VycmVudCBjb250cm9sIHdpdGhvdXQgc2VsZWN0aW5nIHRleHQuCisKKwkqIGRsbHMva2VybmVsL3Rlc3RzL2RyaXZlLmMsIGRsbHMva2VybmVsL3ZvbHVtZS5jOgorCVJlaW4gS2xhemVzIDx3aWpuQHdhbmFkb28ubmw+CisJSW4gR2V0RGlza0ZyZWVTcGFjZToKKwktIG9ubHkgY2FwIHRoZSB0b3RhbCBzaXplIGFuZCBhdmFpbGFibGUgc2l6ZSB0byAyR0IgaW4gV2luMy54IHRocnUKKwkgIFdpbk1FOworCS0gaW4gdGhhdCBjYXNlIGFkanVzdCBudW1iZXIgb2YgY2x1c3RlcnMgdG8gYmUgbGVzcyB0aGVuIDY1NTM2IGJ5CisJICBpbmNyZWFzaW5nIHRoZSBjbHVzdGVyIHNpemU7CisJLSBhZGQgY29ycmVzcG9uZGluZyB0ZXN0cy4KKworCSogZGxscy93aW5pbmV0L2ludGVybmV0LmgsIGRsbHMvd2luaW5ldC9uZXRjb25uZWN0aW9uLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlIHRoZSBwZWVrX21zZyBidWZmZXJzIGZvciBTU0wgY29ubmVjdGlvbnMgaW50byB0aGUKKwlXSU5JTkVUX0NPTk5FQ1RJT04gc3RydWN0dXJlIHRvIHByZXZlbnQgMiB0aHJlYWRzIGZyb20gY2xvYmJlcmluZyBlYWNoCisJb3RoZXIncyBidWZmZXJzLgorCisJKiBkbGxzL29sZWF1dDMyL3Vzcm1hcnNoYWwuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlQcm94aWVzIGFuZCBzdHVicyBmb3IgR2V0VHlwZUluZm9Db250LCBHZXRMaWJBdHRyIGFuZCBSZWxlYXNlTGliQXR0ci4KKworMjAwNS0xMC0xOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogS3J6eXN6dG9mIEZvbHRtYW4gPHdkZXZAZm9sdG1hbi5jb20+CisJLSBCdWdmaXggaW4gRU1fR0VUVEVYVEVYCisJLSBBZGRpdGlvbmFsIHRyYWNlcyBoZWxwZnVsIGluIGRpYWdub3Npbmcgc2ltaWxhciAodGV4dAorCSAgcmV0cmlldmFsLXJlbGF0ZWQpIGJ1Z3MuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jOgorCVZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCVVzZSBjb3JyZWN0IG5vdGlmaWNhdGlvbiBmb3IgZHJpdmUgc2VsZWN0aW9uIGNoYW5nZS4KKworCSogZGxscy9kc291bmQvYnVmZmVyLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX3ByaXZhdGUuaDoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUNoYW5nZSBzZWNvbmRhcnkgYnVmZmVyIHZhcmlhYmxlIG5hbWUgdG8gc2Vjb25kYXJ5LgorCUZpeCBBZGRSZWYgYW5kIFJlbGVhc2UgdG8gdXNlIHByb3BlciBjbGFzcy4KKworCSogZGxscy9jb21jdGwzMi90aGVtaW5nLmM6CisJRG9uJ3QgcmVnaXN0ZXIgY2xhc3NlcyBpcyBubyB0aGVtZSBpcyBhY3RpdmUgdG8gYXZvaWQgdHJvdWJsZSAoYmFzZWQKKwlvbiBhIHBhdGNoIGJ5IFZpdGFsaXkgTWFyZ29sZW4pLgorCisJKiB0b29scy93aW5lLmluZjogSm9uYXRoYW4gRXJuc3QgPEpvbmF0aGFuQEVybnN0RmFtaWx5LmNoPgorCVVzZSBXaW5lSFEncyBtaXJyb3Igc2VsZWN0aW9uIHNjcmlwdCB0byBnZXQgdGhlIE1vemlsbGEgQWN0aXZlWAorCUNvbnRyb2wuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlTZXQgdGhlIGh0dHAgcG9ydCBiZWZvcmUgZmlndXJpbmcgb3V0IHdoZXRoZXIgd2UncmUgdXNpbmcgYSBwcm94eS4KKworCSogZGxscy9vbGVhdXQzMi90bWFyc2hhbC5jOgorCVBpZXJyZSBkJ0hlcmJlbW9udCA8cGlkaGVyYmVtb250QG9wZW5kYXJ3aW4ub3JnPgorCUFsbG93IGNvbXBpbGF0aW9uIG9uIG5vbi1pMzg2LgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUZpeCBhIG51bWJlciBvZiB0ZXN0cyBmYWlsaW5nIG9uIHdpbmRvd3MuCisKKwkqIEFVVEhPUlM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUFkZGVkIG1vcmUgZGV2ZWxvcGVycy90cmFuc2xhdG9ycy4KKworCSogZGxscy91c2VyL2J1dHRvbi5jOiBNYXJrdXMgR/ZtbWVsIDxtLmdvZW1tZWxAY29tcHVsYWIuZGU+CisJTWlzcGxhY2VtZW50IG9mIGNoZWNrYm94ZXMgd2l0aCBlbXB0eSBsYWJlbCBmaXhlZC4KKworCSogZGxscy9tc2h0bWwvbnNlbWJlZC5jOiBKYWNlayBDYWJhbiA8amFja0BpdG1hLnB3ci53cm9jLnBsPgorCVRyeSB1c2luZyBtb3pjdGx4J3MgcGF0aCBpZiB0aGVyZSBpcyBubyByZWdpc3RlcmVkIE1vemlsbGEgZGlyZWN0b3J5LgorCisJKiBkbGxzL3VzZXIvd2lucHJvYy5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXggQ0JfR0VUTEJURVhUIEFOU0ktVW5pY29kZSBjYWxscyB3aGVuIHJldHVybiB2YWx1ZSBpcyBhbiBlcnJvcgorCWNvZGUuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJVXNlIGRlYnVnc3RyX2EgdG8gcHJldmVudCBhIGJ1ZmZlciBvdmVyZmxvdyB3aGVuIGRlYnVnZ2luZy4KKworCSogZGxscy9nZGkvbWV0YWZpbGUuYywgZGxscy9nZGkvdGVzdHMvbWV0YWZpbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHRlc3QgZm9yIFNldE1ldGFGaWxlQml0c0V4LCBtYWtlIGl0IHBhc3MgdW5kZXIgV2luZS4KKworMjAwNS0xMC0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9udGRsbC9wYXRoLmM6IEphbWVzIEhhd2tpbnMgPHRydWlrZW5AZ21haWwuY29tPgorCVNldCB0aGUgZmlsZV9wYXJ0IGZvciBcXD9cIGxvbmcgZmlsZSBuYW1lcyB0b28uCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbC5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsCisJICBkbGxzL3NoZWxsMzIvc2hsZXhlYy5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJVXNlIGFwcHJvcHJpYXRlIERERSBBUElzIChBTlNJIG9yIHVuaWNvZGUpIGZvciBTaGVsbEV4ZWN1dGVBL1csIEV4Y2VsCisJMjAwMCBkZXBlbmRzIG9uIHRoYXQuCisKKwkqIGRsbHMva2VybmVsL21vZHVsZS5jLCBkbGxzL2tlcm5lbC90ZXN0cy9tb2R1bGUuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlMb2FkTGlicmFyeSBzaG91bGQgaWdub3JlIHRyYWlsaW5nIHNwYWNlcyBpbiB0aGUgbGlicmFyeSBuYW1lLgorCisJKiBkbGxzL29sZWF1dDMyL3Vzcm1hcnNoYWwuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgR2V0Q29udGFpbmluZ1R5cGVsaWJfe1Byb3h5LFN0dWJ9LgorCisJKiBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlXaGVuIGEgZGlzcGludGVyZmFjZSBpc24ndCBkdWFsLCB3ZSBzaG91bGQgcmV0dXJuCisJVFlQRV9FX0VMRU1FTlROT1RGT1VORCB3aGVuIHRyeWluZyB0byBnZXQgaW5kZXggLTEuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvZHJpdmV1aS5jOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJTWFrZSBkcml2ZSB0eXBlIGFuIGFkdmFuY2VkIG9wdGlvbi4KKworCSogZGxscy91c2VyL2VkaXQuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJUmV0dXJuIDAgbGVuZ3RoIGxpbmUgYXMgMCBsZW5ndGggbGluZSBmb3IgRU1fR0VUTElORS4KKworCSogZGxscy92ZXJzaW9uL3Rlc3RzL2luZm8uYzogUGF1bCBWcmllbnMgPFBhdWwuVnJpZW5zQHhzNGFsbC5ubD4KKwlXaW5lJ3MgYmVoYXZpb3IgaXMgY29ycmVjdCBub3cuCisKKwkqIGluY2x1ZGUvd2luZS9kZWJ1Zy5oLCBsaWJzL3dpbmUvZGVidWcuYywgbGlicy93aW5lL3dpbmUuZGVmLAorCSAgbGlicy93aW5lL3dpbmUubWFwOgorCUFkZGVkIGEgX193aW5lX2RiZ19zZXRfY2hhbm5lbF9mbGFncyBmdW5jdGlvbiB0byBhbGxvdyBjaGFuZ2luZyBmbGFncworCWZyb20gaW5zaWRlIHRoZSBjb2RlLgorCisJKiBkbGxzL3VzZXIvbWVzc2FnZS5jLCBkbGxzL3VzZXIvbXNnMTYuYywgZGxscy91c2VyL3Rlc3RzL21zZy5jLAorCSAgZGxscy91c2VyL3dpbnByb2MuYywgZGxscy91c2VyL3dpbnByb2MuaDoKKwlGcmFuayBSaWNodGVyIDxmcmFuay5yaWNodGVyQGdtYWlsLmNvbT4KKwlXaGVuIGRvaW5nIEEtPlcgV01fR0VUVEVYVExFTkdUSCwgdXNlIFdNX0dFVFRFWFQgYmVoaW5kIHRoZSBzY2VuZXMgdG8KKwlvYnRhaW4gYW4gZXhhY3QgbGVuZ3RoLgorCisJKiBkbGxzL2tlcm5lbC9maWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL2ZpbGUuYzoKKwlSZXZlcnQgcHJldmlvdXMgY2hhbmdlLCBPRl9FWElTVCByZWFsbHkgcmV0dXJucyBIRklMRV9FUlJPUi4KKworCSogdG9vbHMvd2luZWR1bXAvbG5rLmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBzdHJpbmcgaXMgbnVsIHRlcm1pbmF0ZWQuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbGxpbmsuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCVVzZSBTaGVsbExpbmtfUXVlcnlJbnRlcmZhY2UgdG8gcmV0dXJuIHRoZSByaWdodCBpbnRlcmZhY2UgaW4KKwlJU2hlbGxMaW5rX0NvbnN0cnVjdG9yLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL3gxMWRydmRsZy5jOiBSZWluIEtsYXplcyA8d2lqbkB3YW5hZG9vLm5sPgorCVNob3cgZGVza3RvcCBtb2RlIGRpc2FibGVkIGlmIHRoZSBEZXNrdG9wIHJlZ2lzdHJ5IHZhbHVlIGV4aXN0cyBidXQKKwlzdGFydHMgd2l0aCBOLG4sRixmIG9yIDAuIFRoaXMgYWdyZWVzIHdpdGggdGhlIGxvZ2ljIGluIHgxMWRydi4KKworCSogZGxscy9nZGkvbWV0YWZpbGUuYywgZGxscy9nZGkvdGVzdHMvbWV0YWZpbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIHRlc3QgZm9yIENvcHlNZXRhRmlsZSwgbWFrZSBpdCBwYXNzIHVuZGVyIFdpbmUuCisKKwkqIGRsbHMvYXRsL2F0bF9tYWluLmMsIGRsbHMvYXRsL2F0bGJhc2UuaCwgdG9vbHMvd2luYXBpL3dpbjMyLmFwaToKKwlWaW5jZW50IELpcm9uIDx2YmVyb25AbWVjYW5vLmdtZS51c2hlcmIuY2E+CisJQ29ycmVjdCBBdGxNb2R1bGVBZGRUZXJtRnVuYyBwcm90b3R5cGUuCisKKzIwMDUtMTAtMTcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvZHNvdW5kL2J1ZmZlci5jLCBkbGxzL2Rzb3VuZC9jYXB0dXJlLmMsIGRsbHMvZHNvdW5kL2Rzb3VuZC5jLAorCSAgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywgZGxscy9kc291bmQvZHVwbGV4LmMsIGRsbHMvZHNvdW5kL21peGVyLmMsCisJICBkbGxzL2Rzb3VuZC9wcmltYXJ5LmMsIGRsbHMvZHNvdW5kL3Byb3BzZXQuYywgZGxscy9kc291bmQvc291bmQzZC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJSW5jbHVkZSB3aW51c2VyLmggc28gdGhlIGNvZGUgY29tcGlsZXMgY2xlYW5seSBvbiB3aW5kb3dzIHVzaW5nCisJd2luZG93cyBoZWFkZXJzLgorCisJKiBkbGxzL2tlcm5lbC90aW1lLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCVJlbW92ZSB1bnNwZWNpZmljIEZJWE1FLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbXNnLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUZpeCBvbmUgdGVzdCBmYWlsaW5nIG9uIGFsbCB3aW5kb3dzIHZlcnNpb25zLgorCisJKiBkbGxzL2tlcm5lbC9sb2NhbGUuYzogSWdub3JlIGVtcHR5IGVudmlyb25tZW50IHN0cmluZ3MuCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvYXBwZGVmYXVsdHMuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlSZW1vdmUgIkF1dG9tYXRpY2FsbHkgZGV0ZWN0IHdpbmRvd3MgdmVyc2lvbiIuIERlZmF1bHQgdG8gd2luMmsuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfdXNlci5jOiBDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRW51bWVyYXRlIG9ubHkgcmVxdWVzdGVkIG1vZGVzIGJ5IHRha2luZyBpbnRvIGFjY291bnQgc3VyZmFjZSBkZXNjCisJd2hlbiBwcmVzZW50LgorCisJKiBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmM6IENocmlzdGlhbiBDb3N0YSA8dGl0YW4uY29zdGFAd2FuYWRvby5mcj4KKwlGaXggaW5zdGFsbGFibGUgZHJpdmVyIHJlbW92YWwuCisKKwkqIGRsbHMvc2hlbGwzMi9icnNmb2xkZXIuYzogQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNU0ROIHN0YXRlcyB0aGF0IHRoZSBwc3pEaXNwbGF5TmFtZSBtZW1iZXIgb2YgQlJPV1NFSU5GTyBpcyBhc3N1bWVkIHRvCisJYmUgTUFYX1BBVEggaW4gbGVuZ3RoLiBTbyB3aGVuIGRvaW5nIHRoZSBBLT5XIGNvbnZlcnNpb24gaW4KKwlCcm93c2VGb3JGb2xkZXJBIGRvIG5vdCBzZXQgdGhhdCBtZW1iZXIgdG8gYmUgdGhlIHNpemUgb2YgdGhlCisJaW5jb21pbmcgc3RyaW5nLCBpbnN0ZWFkIG1ha2UgaXQgTUFYX1BBVEguCisKKwkqIGRsbHMvd2luZWRvcy9pbnQyMS5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlpb2N0bCA0NDBGIG9ubHkgcmV0dXJucyBub24gbWFwcGVkIGRyaXZlcyAoZm9yIG5vdykuCisKKzIwMDUtMTAtMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvbnRkbGwvZGlyZWN0b3J5LmM6CisJSW4gcGFyc2VfbW91bnRfZW50cmllcyByZXR1cm4gdGhlIGxvb3AgZGV2aWNlIGluc3RlYWQgb2YgdGhlIG1vdW50ZWQKKwlmaWxlIGZvciBsb29wIG1vdW50cy4KKworCSogcHJvZ3JhbXMvd2luZWNmZy9CZy5yYywgcHJvZ3JhbXMvd2luZWNmZy9EZS5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvRW4ucmMsIHByb2dyYW1zL3dpbmVjZmcvRmkucmMsCisJICBwcm9ncmFtcy93aW5lY2ZnL0ZyLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0phLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9ObC5yYywgcHJvZ3JhbXMvd2luZWNmZy9Oby5yYywKKwkgIHByb2dyYW1zL3dpbmVjZmcvUnUucmMsIHByb2dyYW1zL3dpbmVjZmcvcmVzb3VyY2UuaCwKKwkgIHByb2dyYW1zL3dpbmVjZmcvd2luZWNmZy5yYzoKKwlSZXBvcnQgdGhlIGNvcnJlY3QgdmVyc2lvbiBpbiB0aGUgQWJvdXQgZGlhbG9nLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYzoKKwlWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlGaXggIlJlbW92ZSBhcHBsaWNhdGlvbiIgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IGhhZCBzb21lIGN1c3RvbQorCXNldHRpbmdzLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXggdW5uZWNlc3NhcnkgKGFuZCBoYXJtZnVsKSByZXBlYXRlZCBzdGF0ZW1lbnQuCisKKwkqIGRsbHMvZDNkOC9kZXZpY2UuYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFsbG93IGN1YmUgdGV4dHVyZXMgdG8gYmUgdXBkYXRlZC4KKworMjAwNS0xMC0xMiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL3Byb2Nlc3MuYzoKKwlSZW1vdmVkIGluY29ycmVjdCBwcm9jZXNzIHF1ZXVlIGNoZWNrIGluIHdhaXRfaW5wdXRfaWRsZS4KKworCSogZGxscy93aW5lZDNkL2RpcmVjdHguYzogT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUNoYW5nZWQgdGhlIHdheSB0aGF0IDI0Yml0IGFuZCAzMmJpdCBBZGFwdGVyIGFuZCBCdWZmZXIgZm9ybWF0cyBhcmUKKwlyZXBvcnRlZCBhbGxvd2luZyBFVkUgb25saW5lIHRvIGdldCBwYXN0IHRoZSBzdGFydHVwIHNjcmVlbiBhbmQKKwlhbGxvd2luZyB0aGUgRnVyIGRlbW8gKGFtb25nc3Qgb3RoZXJzKSB0byBydW4gaW4gYSB3aW5kb3csIGFzIHVuZGVyCisJd2luZG93cywgaW5zdGVhZCBvZiBpbiBmdWxsc2NyZWVuIG1vZGUuCisKKwkqIGRsbHMvZ2RpL2VuaG1ldGFmaWxlLmMsIGRsbHMvZ2RpL3Rlc3RzL21ldGFmaWxlLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbml0aWFsaXplIGEgYnVuY2ggb2YgZGMgdmFsdWVzIHRvIHRoZWlyIGRlZmF1bHQgYmVmb3JlIGVudW1lcmF0aW5nIGFuCisJZW5obWV0YWZpbGUuCisJQWRkIHRlc3RzIGZvciB0aGVzZSBhbmQgZm9yIHNvbWUgdmFsdWVzIHRoYXQgZG9uJ3QgZ2V0IHJlc2V0LgorCisJKiBkbGxzL3JpY2hlZDIwL2xpc3QuYywgZGxscy9yaWNoZWQyMC9zdHlsZS5jOgorCUtyenlzenRvZiBGb2x0bWFuIDx3ZGV2QGZvbHRtYW4uY29tPgorCS0gU3R5bGUgdHJhY2UgaW5mb3JtYXRpb24gaXMgd3JpdHRlbiB0byBkaWZmZXJlbnQgZGVidWcgY2hhbm5lbCAoaXQncworCSAgbm90IHZlcnkgdXNlZnVsIGFueW1vcmUsIHJlZmVyZW5jZSBjb3VudGluZyBsb29rcyBjb3JyZWN0IGZvciBub3cpLgorCS0gVGhlIGRvY3VtZW50IGR1bXAgY29udGFpbnMgdGhlIGNoYXJhY3RlciBwb3NpdGlvbiBvZiB0aGUgZW5kLW9mLXRleHQKKwkgIG1hcmsuCisKKwkqIGRsbHMvZGRyYXcvZGV2aWNlX29wZW5nbC5jLCBkbGxzL2RkcmF3L3RleHR1cmUuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJRGlzYWJsZSBkZXB0aCB0ZXN0IHdoZW4gdGhlcmUgaXMgbm8gWiBidWZmZXIgYXR0YWNoZWQuCisJSW5pdGlhbGlzZSB0ZXh0dXJlIHN0YXRlcyBhdCBjcmVhdGlvbiBpbnN0ZWFkIG9mIHdoZW4gdGV4IG5hbWUgaXMKKwlnZW5lcmF0ZWQuCisKKzIwMDUtMTAtMTEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2luZWQzZC9kcmF3cHJpbS5jLCBkbGxzL3dpbmVkM2QvdmVydGV4c2hhZGVyLmM6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCUFkZCBjaGVja3MgZm9yIEFSQl92ZXJ0ZXhfcHJvZ3JhbSBiZWZvcmUgYWxsb3dpbmcgdmVydGV4IHNoYWRlcnMgdG8KKwl1c2UgQVJCX3ZlcnRleF9wcm9ncmFtLgorCisJKiBkbGxzL3VzZXIvdGVzdHMvbW9uaXRvci5jOgorCVN0ZWZhbiBMZWljaHRlciA8U3RlZmFuLkxlaWNodGVyQGNhbUxpbmUuY29tPgorCU1ha2UgdXNlciB0ZXN0IGxvYWRhYmxlIG9uIE5UNC4KKworCSogZGxscy9rZXJuZWwvdGVzdHMvYXRvbS5jOiBEZXRsZWYgUmlla2VuYmVyZyA8d2luZS5kZXZAd2ViLmRlPgorCU5UMy41MSByZXR1cm5zIEVSUk9SX01PUkVfREFUQS4KKworCSogZGxscy9kc291bmQvdGVzdHMvZHMzZC5jLCBkbGxzL2Rzb3VuZC90ZXN0cy9kczNkOC5jOgorCU1pa2UgTydSZWdhbiA8bW9yZWdhbkBzdHJlc3NjYWZlLmNvbT4KKwlUZXN0cyBjb21tZW50ZWQgb3V0IGFuZCBGSVhNRS1lZCBsb25nIGFnbyBub3cgcGFzcy4KKworCSogZGxscy9yaWNoZWQyMC93cml0ZXIuYzogUGhpbCBLcnlsb3YgPHBoaWxAbmV3c3Rhci5yaW5ldC5ydT4KKwlGaXhlZCBlbmNvZGluZyBvZiBub24tQVNDSUkgY2hhcnMuCisKKwkqIGRsbHMvZ2RpL3BhaW50aW5nLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgc2FmZXR5IGNoZWNrIGZvciBudW1iZXIgb2YgY29udHJvbCBwb2ludHMgaW4gUG9seUJlemllclRvLgorCisJKiB0b29scy93aW5lZHVtcC9tYWluLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJUmVuYW1lIHN0cnVjdCBvcHRpb24gaW4gb3JkZXIgdG8gYXZvaWQgYSBjb25mbGljdCB3aXRoIHdpbmUvcG9ydC5oLgorCisJKiBkbGxzL2dkaS9jbGlwcGluZy5jLCBkbGxzL2dkaS90ZXN0cy9jbGlwcGluZy5jOgorCUh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJSWYgdGhlIG1ldGEvY2xpcCBpbnRlcnNlY3Rpb24gKFJhbykgcmVnaW9uIGRvZXNuJ3QgZXhpc3QsIHJldHVybgorCWVpdGhlciB0aGUgbWV0YSBvciBjbGlwIHJlZ2lvbiBpZiB0aGV5IGRvIGV4aXN0LgorCVJlbW92ZSB0aGUgd2luZV90b2RvJ3MuCisKKwkqIGRsbHMveDExZHJ2L2tleWJvYXJkLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJVXBkYXRlIEdlcm1hbiBhbmQgSHVuZ2FyaWFuIGtleWJvYXJkIGxheW91dHMgdG8gYmV0dGVyIG1hdGNoIFgxMQorCW9uZXMuCisKKwkqIGRsbHMva2VybmVsL3Byb2ZpbGUuYzogTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugc3VyZSBub3QgdG8gc3RyY3B5IGZyb20gYSBOVUxMIGRlZmF1bHQgdmFsdWUgcG9pbnRlci4KKworCSogZGxscy9zaGVsbDMyL3Rlc3RzL3NobGZpbGVvcC5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlUZXN0IHRoYXQgdGhlIEZPX0NPUFkgYWN0aW9uIGNyZWF0ZXMgb3V0cHV0IGRpcmVjdG9yaWVzIGlmIHRoZXkgZG9uJ3QKKwlleGlzdC4KKworCSogZGxscy9kc291bmQvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRml4IFByaW1hcnlCdWZmZXJJbXBsIHBvaW50ZXIgdG8gZGVsZXRlZCBEaXJlY3RTb3VuZEltcGwuCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWM6IExpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJLSBmaXggZmlyc3QgdHdvIGFyZ3VtZW50cyB0byAnRmluZEV4ZWN1dGFibGVBJyAoaW5wdXQgc3RyaW5ncyBpbnN0ZWFkCisJICBvZiBwb2ludGVycykKKwktIGZpeCBsYXN0IGFyZ3VtZW50IHRvICdGaW5kRXhlY3V0YWJsZVcnIChpdCdzIGFuIG91dHB1dCBzdHJpbmcpCisKKzIwMDUtMTAtMTAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIE1ha2VmaWxlLmluOiBSZW1vdmVkIG5vbi1wb3J0YWJsZSBsZGNvbmZpZyBpbnZvY2F0aW9uIGFuZCBtaXNsZWFkaW5nCisJd2FybmluZy4gUGVvcGxlIHdobyBuZWVkIHRoZSBleHRyYSBoYW5kLWhvbGRpbmcgc2hvdWxkIHVzZQorCXdpbmVpbnN0YWxsLgorCisJKiBkbGxzL2RkcmF3L2RkcmF3X3ByaXZhdGUuaDogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlBZGQgYW4gYXNzZXJ0IGlmIGJvdGggYXJndW1lbnRzIHRvIEREX1NUUlVDVF9DT1BZX0JZU0laRSBhcmUgZXF1YWwuCisKKwkqIGRsbHMvZ2RpL2NsaXBwaW5nLmMsIGRsbHMvZ2RpL3Rlc3RzLy5jdnNpZ25vcmUsCisJICBkbGxzL2dkaS90ZXN0cy9NYWtlZmlsZS5pbiwgZGxscy9nZGkvdGVzdHMvY2xpcHBpbmcuYzoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUdldFJhbmRvbVJnbiBvbmx5IHJldHVybnMgdGhlIFNZU1JHTiBpbiBzY3JlZW4gY29vcmRpbmF0ZXMuCisJQWRkIGEgYnVuY2ggb2YgdGVzdHMgZm9yIEdldFJhbmRvbVJnbi4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogS3J6eXN6dG9mIEZvbHRtYW4gPHdkZXZAZm9sdG1hbi5jb20+CisJUmVtb3ZlZCBidWZmZXIgb3ZlcnJ1biBlcnJvciAoaW5jcmVtZW50aW5nIG91dHB1dCBwb2ludGVyIG9uZSB0aW1lIHRvbworCW11Y2ggaW4gbm9uLUNSTEYgbW9kZSkgbWFraW5nIEtleU5vdGUgZmFpbCB0byBpbnN0YWxsLgorCisJKiBkbGxzL3dpbmVkM2QvdmVydGV4c2hhZGVyLmM6CisJT2xpdmVyIFN0aWViZXIgPG9saXZlcl9zdGllYmVyQHlhaG9vLmNvLnVrPgorCVJlcG9ydCB1bnJlY29nbml6ZWQgb3Bjb2RlcyBhcyBGSVhNRXMgaW5zdGVhZCBvZiBUUkFDRXMgc28gdGhhdCB0aGV5CisJYXJlIGVhc2llciB0byBzcG90IGFuZCBmaXguCisKKwkqIHRvb2xzL3dyYy93cmMuYzogQWRkIGN1cnJlbnQgZGlyZWN0b3J5IHRvIGRlZmF1bHQgaW5jbHVkZSBwYXRoLgorCisJKiBpbmNsdWRlL3dpbmUvd3BwLmgsIGxpYnMvd3BwL3BwbC5sLCBsaWJzL3dwcC9wcmVwcm9jLmMsCisJICBsaWJzL3dwcC93cHBfcHJpdmF0ZS5oLCB0b29scy93aWRsL3BhcnNlci5sLCB0b29scy93cmMvcGFyc2VyLnk6CisJRGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgYW4gaW5jbHVkZSBmaWxlIHNob3VsZCBiZSBiYXNlZCBvbiB0aGUgcGF0aCBvZgorCXRoZSBwYXJlbnQgc291cmNlIGZpbGUsIG5vdCB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisKKwkqIGRsbHMvbnRkbGwvdGltZS5jOiBWaWpheSBLaXJhbiBLYW11anUgPGluZnlxdWVzdEBnbWFpbC5jb20+CisJQWRkZWQgUEhUIHRpbWUgem9uZS4KKworCSogdG9vbHMvd2luZXByZWZpeGNyZWF0ZS5pbjogUmljaGFyZCBDb2hlbiA8cmljaGFyZEBkYWlqb2J1LmNvLnVrPgorCURvbid0IGNyZWF0ZSBvbGQgdW5sb2NhbGl6ZWQgZGlyZWN0b3JpZXMgaW4gd2luZXByZWZpeGNyZWF0ZS4KKworCSogZGxscy9yaWNoZWQyMC9lZGl0b3IuYzogS3J6eXN6dG9mIEZvbHRtYW4gPHdkZXZAZm9sdG1hbi5jb20+CisJVGhlIHByZXZpb3VzIGltcGxlbWVudGF0aW9uIHdhcyBhIHdvcmthcm91bmQgZm9yIG9mZi1ieS1vbmUgYnVnIGluCisJTUVfUnVuT2ZzRnJvbUNoYXJPZnMsIHRoaXMgb25lIHJlbGllcyBvbiBjb3JyZWN0IGJlaGF2aW9yIG9mIHRoYXQKKwlmdW5jdGlvbiBpbnRyb2R1Y2VkIGJ5IHRoZSBwcmV2aW91cyBwYXRjaC4KKworCSogZGxscy9tc3ZjcnQvdGVzdHMvc3RyaW5nLmM6CisJVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJRml4IF9pc21iYmxlYWQgdGVzdCB0byBwYXNzIG9uIHdpbmRvd3MuCisKKwkqIGRsbHMva2VybmVsL2ZpbGUuYywgZGxscy9rZXJuZWwvdGVzdHMvZmlsZS5jOgorCU1heGltZSBCZWxsZW5n6SA8bWF4aW1lLmJlbGxlbmdlQGxhcG9zdGUubmV0PgorCUluIGNhc2Ugb2YgZmFpbHVyZSBhbmQgT0ZfRVhJU1QgaXMgc3BlY2lmaWVkLCByZXR1cm4gRkFMU0UgaW5zdGVhZCBvZgorCUhGSUxFX0VSUk9SLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIGNoYW5naW5nIGNvbnNvbGUncyB3aW5kb3dzLgorCisJKiBkbGxzL3JpY2hlZDIwL3J1bi5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXhlZCBFT0wgZGV0ZWN0aW9uIGluIE1FX1J1bk9mc0Zyb21DaGFyT2ZzIGluIDEuMCBlbXVsYXRpb24gbW9kZQorCShuZWNlc3NhcnkgZm9yIGEgbm9uLXdvcmthcm91bmQgdmVyc2lvbiBvZiBFTV9QT1NGUk9NQ0hBUikuCisKKwkqIGRsbHMvcXVhcnR6L3ZpZGVvcmVuZGVyZXIuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCU1ha2Ugd2luZG93IHVzZXMgYmxhY2sgYnJ1c2ggZm9yIGJhY2tncm91bmQuCisJQ2hlY2sgZm9ybWF0IHR5cGUgb2YgdmlkZW8gc3RyZWFtLgorCisJKiBkbGxzL2tlcm5lbC92b2x1bWUuYzogQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZCB0cmFjZSB0byBEZWZpbmVEb3NEZXZpY2UuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfbWFpbi5jLCBkbGxzL2RkcmF3L2RkcmF3X3ByaXZhdGUuaCwKKwkgIGRsbHMvZGRyYXcvZGRyYXdfdXRpbHMuYzoKKwlMaW9uZWwgVWxtZXIgPGxpb25lbC51bG1lckBmcmVlLmZyPgorCS0gZG8gbm90IHBhc3MgcHJpdmF0ZSBkYXRhIHRvIHRoZSBhcHBsaWNhdGlvbiBidXQgYSBjb3B5IG9mIGl0CisJLSBhZGQgc29tZSBtb3JlIHRyYWNlcworCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXggYSBidWcgaW4gMS4wIGVtdWxhdGlvbiBtb2RlIGluIEVNX0xJTkVMRU5HVEggKHdoaWNoIGJyb2tlIFBURQorCWluc3RhbGxlcikuCisKKwkqIHRvb2xzL3dtYy93bWMuYywgdG9vbHMvd21jL3dtYy5oLCB0b29scy93bWMvd3JpdGUuYywgdG9vbHMvd3JjL3dyYy5jLAorCSAgdG9vbHMvd3JjL3dyYy5oOgorCVNldCB0aGUgdmVyc2lvbiB3ZSByZXBvcnQgaW4gd21jIGFuZCB3cmMgZnJvbSB0aGUgZ2xvYmFsIFdpbmUKKwl2ZXJzaW9uLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXggMS4wIGVtdWxhdGlvbiBtb2RlIGluIE1FX0dldFRleHRXLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGxwYXRoLmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlEb24ndCBoYXJkY29kZSAid2luZG93cyIgZGlyZWN0b3J5LgorCU1ha2UgIk15IFBpY3R1cmVzIiBldGMuIHBvaW50IHRvICRIT01FLgorCisJKiBkbGxzL21zdmNydC90ZXN0cy9maWxlLmM6IFJpY2hhcmQgQ29oZW4gPHJpY2hhcmRAZGFpam9idS5jby51az4KKwlGaXggYW4gZXJyb3IgbWVzc2FnZS4KKworCSogZGxscy9kc291bmQvZHNvdW5kLmM6IFJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJRGlyZWN0U291bmREZXZpY2UgcmVmZXJlbmNlIGNvdW50IGNsZWFudXAuCisKKwkqIHByb2dyYW1zL3JlZ2VkaXQvQmcucmM6IE1pbGtvIEtyYWNob3Vub3YgPG1pbGtvQDNtaHoubmV0PgorCVVwZGF0ZSB0aGUgQnVsZ2FyaWFuIHJlc291cmNlIGZpbGUuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCVBhc3MgY2hhcmFjdGVycyB0byBnZXRfZmlsZV9uYW1lKCkgaGVscGVyLCBub3QgYnl0ZXMuCisKKwkqIGRsbHMvZGRyYXcvc3VyZmFjZV9tYWluLmM6IExpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJLSBwYXNzIGEgY29weSBvZiB0aGUgc3VyZmFjZSBkZXNjcmlwdGlvbiB0byB0aGUgYXBwbGljYXRpb24KKwktIGluY3JlYXNlIHRoZSBzdXJmYWNlIHJlZmVyZW5jZSBjb3VudCB3aGVuIGdpdmluZyB0aGUgc3VyZmFjZSBwb2ludGVyCisJICB0byB0aGUgY2FsbGVyCisKKwkqIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZDguYzogUm9iZXJ0IFJlaWYgPHJlaWZAZWFydGhsaW5rLm5ldD4KKwlGaXggZHNvdW5kOCB0ZXN0IHRvIGRlYWwgd2l0aCBhbiBpbnN0YWxsZWQgYnV0IHVucmVnaXN0ZXJlZAorCUlEaXJlY3RTb3VuZDguCisKKwkqIHByb2dyYW1zL3dpbmhlbHAvaGxwZmlsZS5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlFbnN1cmUgd2UgYWx3YXlzIGhhdmUgYSB0aXRsZSBmb3IgdGhlIC5obHAgZmlsZS4KKworCSogcHJvZ3JhbXMvd2luZWRiZy9tZW1vcnkuYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJSGFuZGxlIGVycm9yIGNvbmRpdGlvbnMgZm9yIHByaW50LgorCisJKiBkbGxzL3dpbm1tL21jaXdhdmUvbWNpd2F2ZS5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGaXhlZCBtbWlvT3BlblcgZmxhZ3MgZm9yIHBsYXliYWNrLgorCisJKiBwcm9ncmFtcy93aW5lY29uc29sZS91c2VyLmM6IEVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCS0gZml4ZWQgbW91c2UgZG91YmxlIGNsaWNrIGFuZCB3aGVlbGluZworCS0gYWxzbyBoYW5kbGluZyB0aGlyZCBtb3VzZSBidXR0b24gKGlmIGFueSkKKwktIGZ1bGwgc3VwcG9ydCBmb3IgY29udHJvbC9zaGlmdCBtb2RpZmllcgorCisJKiBwcm9ncmFtcy93aW5lcGF0aC93aW5lcGF0aC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkIGEgLS13aW5kb3dzIG9wdGlvbiBmb3IgY29udmVydGluZyBhIFVuaXggcGF0aCB0byBhIGxvbmcgV2luZG93cworCXBhdGguCisJRml4IHRoZSBkZXNjcmlwdGlvbiBvZiAtLWxvbmcgYW5kIC0tc2hvcnQuIFRoZXkgYXJlIG9ubHkgZ2FyYW50ZWVkIHRvCisJd29yayBvbiBXaW5kb3dzIHBhdGhzIHRob3VnaCB0aGV5IHdpbGwgb2Z0ZW4gc3VjY2Vzc2Z1bGx5IGNvbnZlcnQgVW5peAorCXBhdGhzIHRvIFdpbmRvd3MgcGF0aHMgdG9vLgorCisyMDA1LTEwLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aWRsL3dpZGwuYzoKKwlTZXQgdGhlIHdpZGwgdmVyc2lvbiB0byBiZSB0aGUgc2FtZSBhcyB0aGUgZ2xvYmFsIHBhY2thZ2UgdmVyc2lvbi4KKworCSogcHJvZ3JhbXMvd2luZXBhdGgvd2luZXBhdGguYzoKKwlTZXQgdGhlIHdpbmVwYXRoIHZlcnNpb24gdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGdsb2JhbCBwYWNrYWdlCisJdmVyc2lvbi4KKworCSogZGxscy91c2VyL2RpYWxvZy5jOgorCUluIERJQUxPR19GaXhDaGlsZHJlbk9uQ2hhbmdlRm9jdXMgbWFrZSBzdXJlIHRoZSBidXR0b24gaXMgYSBwdXNoCisJYnV0dG9uIGJlZm9yZSBtYWtpbmcgaXQgdGhlIGRlZmF1bHQuCisKKwkqIHByb2dyYW1zL3dpbmVjb25zb2xlL2N1cnNlcy5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlGdW5jdGlvbiBrZXlzIG5vdyB3b3JrIGluIGN1cnNlcyBtb2RlLgorCisJKiBkbGxzL21zdmNydC90ZXN0cy9maWxlLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUFkZCBhIGZldyB0ZXN0cyB0aGF0IGZhaWwgdW5kZXIgd2luZS4KKworCSogZGxscy9yc2FiYXNlL3JzYWJhc2Uuc3BlYzoKKwlTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlGb3J3YXJkIHRoZSBmdW5jdGlvbnMgRGxsUmVnaXN0ZXJTZXJ2ZXIgYW5kIERsbFVucmVnaXN0ZXJTZXJ2ZXIgb2YKKwlyc2FiYXNlLmRsbCB0byByc2FlbmguZGxsLgorCisJKiB0b29scy93aW5hcGkvd2luMTYuYXBpLCB0b29scy93aW5hcGkvd2luMzIuYXBpOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCU1vdmUgYWxsIFVuaWNvZGUgYW5kIEFuc2kgc3RyaW5nIHR5cGVzIHRvIHRoZSAlc3RyIGFuZCAld3N0cgorCXNlY3Rpb25zLgorCisJKiBkbGxzL3JpY2hlZDIwL2xpc3QuYywgZGxscy9yaWNoZWQyMC9ydW4uYzoKKwlLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlTZW5kIHZlcmJvc2UgaW5mbyB0byBkaWZmZXJlbnQgZGVidWcgY2hhbm5lbHMgKHJpY2hlZGl0X2NoZWNrIGZvcgorCW91dHB1dCBmcm9tIG9mZnNldCBjaGVja2VyLCByaWNoZWRpdF9saXN0cyBmb3IgdGhlIGRvY3VtZW50IGxpc3QKKwlkdW1wcykuCisKKzIwMDUtMTAtMDcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL25vdGVwYWQvQmcucmMsIHByb2dyYW1zL25vdGVwYWQvQ3MucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL0RhLnJjLCBwcm9ncmFtcy9ub3RlcGFkL0RlLnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9Fbi5yYywgcHJvZ3JhbXMvbm90ZXBhZC9Fcy5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvRmkucmMsIHByb2dyYW1zL25vdGVwYWQvRnIucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL0h1LnJjLCBwcm9ncmFtcy9ub3RlcGFkL0l0LnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9KYS5yYywgcHJvZ3JhbXMvbm90ZXBhZC9ObC5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvTm8ucmMsIHByb2dyYW1zL25vdGVwYWQvUGwucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL1B0LnJjLCBwcm9ncmFtcy9ub3RlcGFkL1J1LnJjLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9TaS5yYywgcHJvZ3JhbXMvbm90ZXBhZC9Tay5yYywKKwkgIHByb2dyYW1zL25vdGVwYWQvU3cucmMsIHByb2dyYW1zL25vdGVwYWQvVGgucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL1dhLnJjLCBwcm9ncmFtcy9ub3RlcGFkL1poLnJjOgorCUpvbmF0aGFuIEVybnN0IDxKb25hdGhhbkBFcm5zdEZhbWlseS5jaD4KKwlQYWdlc2V0dXAgZGlhbG9nIGZpeC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOiBKb25hdGhhbiBFcm5zdCA8Sm9uYXRoYW5ARXJuc3RGYW1pbHkuY2g+CisJRmlyc3QgY3JlYXRpb24gb2YgcmVnaXN0cnkgZW50cmllcyBtaXNzZWQgQXBwRGF0YS4KKworCSogZGxscy9tc3ZjcnQvZmlsZS5jLCBkbGxzL21zdmNydC90ZXN0cy9maWxlLmM6CisJVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJRml4IGluaXRpYWwgcG9zaXRpb24gZm9yIGZpbGVzIG9wZW5lZCB3aXRoIE9fQVBQRU5EIGZsYWcuCisKKwkqIGRsbHMvZGRyYXcvZGRyYXdfdXRpbHMuYywgZGxscy9kZHJhdy9zdXJmYWNlX21haW4uYzoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlEb24ndCBjcmFzaCBpZiBwRERTRCBpcyBOVUxMIG9uIERpcmVjdERyYXdTdXJmYWNlOjpMb2NrLgorCisyMDA1LTEwLTA2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBsb2FkZXIvd2luZS5tYW4uaW4sIHByb2dyYW1zL3dpbmVkYmcvLmN2c2lnbm9yZSwKKwkgIHByb2dyYW1zL3dpbmVkYmcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5tYW4sCisJICBwcm9ncmFtcy93aW5lZGJnL3dpbmVkYmcubWFuLmluLCBzZXJ2ZXIvd2luZXNlcnZlci5tYW4uaW4sCisJICB0b29scy8uY3ZzaWdub3JlLCB0b29scy9NYWtlZmlsZS5pbiwgdG9vbHMvd2lkbC8uY3ZzaWdub3JlLAorCSAgdG9vbHMvd2lkbC9NYWtlZmlsZS5pbiwgdG9vbHMvd2lkbC93aWRsLm1hbiwgdG9vbHMvd2lkbC93aWRsLm1hbi5pbiwKKwkgIHRvb2xzL3dpbmVidWlsZC93aW5lYnVpbGQubWFuLmluLCB0b29scy93aW5lZHVtcC8uY3ZzaWdub3JlLAorCSAgdG9vbHMvd2luZWR1bXAvTWFrZWZpbGUuaW4sIHRvb2xzL3dpbmVkdW1wL3dpbmVkdW1wLm1hbiwKKwkgIHRvb2xzL3dpbmVkdW1wL3dpbmVkdW1wLm1hbi5pbiwgdG9vbHMvd2luZWdjYy8uY3ZzaWdub3JlLAorCSAgdG9vbHMvd2luZWdjYy9NYWtlZmlsZS5pbiwgdG9vbHMvd2luZWdjYy93aW5lZ2NjLm1hbiwKKwkgIHRvb2xzL3dpbmVnY2Mvd2luZWdjYy5tYW4uaW4sIHRvb2xzL3dpbmVtYWtlci5tYW4sCisJICB0b29scy93aW5lbWFrZXIubWFuLmluLCB0b29scy93bWMvLmN2c2lnbm9yZSwgdG9vbHMvd21jL01ha2VmaWxlLmluLAorCSAgdG9vbHMvd21jL3dtYy5tYW4sIHRvb2xzL3dtYy93bWMubWFuLmluLCB0b29scy93cmMvLmN2c2lnbm9yZSwKKwkgIHRvb2xzL3dyYy9NYWtlZmlsZS5pbiwgdG9vbHMvd3JjL3dyYy5tYW4sIHRvb2xzL3dyYy93cmMubWFuLmluOgorCVB1dCBXaW5lIHZlcnNpb24gaW5mb3JtYXRpb24gaW4gYWxsIHRoZSBtYW4gcGFnZXMuCisKKwkqIE1ha2UucnVsZXMuaW4sIGxvYWRlci9NYWtlZmlsZS5pbiwgc2VydmVyL01ha2VmaWxlLmluLAorCSAgdG9vbHMvd2luZWJ1aWxkL01ha2VmaWxlLmluOgorCUFkZGVkIGdsb2JhbCBydWxlcyBmb3IgbWFuIHBhZ2VzLgorCisJKiBkbGxzL250ZGxsL3NlcnZlci5jOgorCUFkZGVkIGEgY3JpdGljYWwgc2VjdGlvbiBhcm91bmQgdGhlIGZkIGNhY2hlIHVudGlsIHRoZSByYWNlIGNvbmRpdGlvbnMKKwljYW4gYmUgZml4ZWQgcHJvcGVybHkuCisKKwkqIGRsbHMvYXRsL2F0bC5zcGVjLCBkbGxzL2F0bC9hdGxfbWFpbi5jLCBkbGxzL2F0bC9hdGxiYXNlLmg6CisJSmFjZWsgQ2FiYW4gPGphY2tAaXRtYS5wd3Iud3JvYy5wbD4KKwlBZGRlZCBBdGxNb2R1bGVBZGRUZXJtRnVuYyBpbXBsZW1lbnRhdGlvbi4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9zZWN1cml0eS5oOgorCVBldGVyIExlbWVua292IDxwZXRyb0BtYWlsLnJ1PgorCUFkZGVkIHNlY3VyaXR5LmguCisKKwkqIGRsbHMvZ2RpL2ZvbnQuYywgZGxscy9nZGkvZnJlZXR5cGUuYywgaW5jbHVkZS9nZGkuaDoKKwlIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUFkZCBhIFdpbmUgc3BlY2lmaWMgZmxhZyB0byBHZXRSYXN0ZXJpemVDYXBzIHRoYXQgcmVwb3J0cyB3aGV0aGVyCisJZnJlZXR5cGUncyBwYXRlbnRlZCBoaW50ZXIgaXMgZW5hYmxlZC4gIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHdpbmV4MTEKKwl0byBjaGVjayB3aGV0aGVyIGl0IHNob3VsZCBob25vdXIgdGhlIGdhc3AgdGFibGUgc2V0dGluZ3MuCisKKwkqIGRsbHMveDExZHJ2L3hyZW5kZXIuYzogSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZ25vcmUgdGhlIGdhc3AgdGFibGUgd2hlbiB3ZSBoYXZlIG5vIGhpbnRlci4KKworCSogZGxscy9kZHJhdy9kZHJhd19tYWluLmMsIGRsbHMvZGRyYXcvdGVzdHMvZGRyYXdtb2Rlcy5jOgorCVN0ZWZhbiBE9nNpbmdlciA8c3RlZmFuZG9lc2luZ2VyQGdteC5hdD4KKwktIEFkZCBoYW5kbGluZyBmb3IgRERTQ0xfU0VURk9DVVNXSU5ET1cgaW4gU2V0Q29vcGVyYXRpdmVMZXZlbC4KKwktIFByaW50IGEgZml4bWUgZm9yIEREU0NMX0NSRUFURURFVklDRVdJTkRPVyAgYW5kCisJICBERFNDTF9TRVRERVZJQ0VXSU5ET1cuCisJLSBEb24ndCBhbGxvdyBERFNDTF9FWENMVVNJVkUgd2l0aG91dCBERFNDTF9GVUxMU0NSRUVOLgorCisJKiB0b29scy93aWRsL3dpZGwubWFuLCB0b29scy93aW5lYnVpbGQvd2luZWJ1aWxkLm1hbi5pbjoKKwlGaXhlZCBzb21lIG5yb2ZmIHdhcm5pbmdzLgorCisJKiBkbGxzL2NvbWN0bDMyL3JlYmFyLmMsIGRsbHMvY29tY3RsMzIvc3RhdHVzLmMsIGRsbHMvY29tY3RsMzIvdGFiLmMsCisJICBkbGxzL2NvbWN0bDMyL3RoZW1pbmcuYywgZGxscy9jb21tZGxnL2ZpbGVkbGcuYywKKwkgIGRsbHMvY29tbWRsZy9wcmludGRsZy5jLCBkbGxzL29sZTMyL3Rlc3RzL3N0b3JhZ2UzMi5jLAorCSAgZGxscy9zaGVsbDMyL2VudW1pZGxpc3QuYywgZGxscy9zaGVsbDMyL3NoZmxkcl9kZXNrdG9wLmMsCisJICBkbGxzL3NoZWxsMzIvdGVzdHMvc2hsZm9sZGVyLmMsIHByb2dyYW1zL3dpbmVmaWxlL3dpbmVmaWxlLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJVXNlICJzdGF0aWMgY29uc3QiIHJhdGhlciB0aGFuICJjb25zdCBzdGF0aWMiIGFzIGdjYyAtVyBjb21wbGFpbnMKKwlhYm91dCB0aGUgZm9ybWVyLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9hdG9tLmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUZpeCBhdG9tIHRlc3RzIG9uIHdpbjl4LgorCisJKiBkbGxzL2tlcm5lbC9lZGl0bGluZS5jOiBKb3NodWEgRGF2aWVzIDxqZGF2aWVzdHhAY29tY2FzdC5uZXQ+CisJV2luZG93cyBpcyByZXR1cm5pbmcgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nLCBwbHVzIHRoZSBDUkxGCisJZGVsaW1pdGVycywgd2hlcmVhcyB3aW5lY29uc29sZSBpcyByZXR1cm5pbmcgb25lIGxlc3MuCisKKwkqIGRsbHMvcnNhZW5oL3JzYWVuaC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJV2hlbiBqdXN0IGEgcHVibGljIGtleSBpcyBpbXBvcnRlZCwgaXRzIEFMR19JRCBzaG91bGQgYmUgQ0FMR19SU0FfU0lHTgorCXJhdGhlciB0aGFuIENBTEdfUlNBX0tFWVguCisKKwkqIHRvb2xzL3dpbmFwaS93aW4zMi5hcGksIHRvb2xzL3dpbmFwaS93aW5hcGkucG06CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJd2luYXBpX2NoZWNrIGRvZXMgbm90IHVzZSB0aGUgJy0tZXh0ZW5zaW9uJyBmbGFnIHNvIHJlbW92ZSBpdC4KKworCSogdG9vbHMvd2luZWR1bXAvcGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZ25vcmUgdGhlIGRlbGF5IGxvYWQgZGlyZWN0b3J5IHNpemUuCisKKwkqIGRsbHMvbXN4bWwzL2RvbWRvYy5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCURvbid0IHRyeSB0byByZWxlYXNlIHRoZSBub2RlIGlmIHdlIGhhdmVuJ3QgbG9hZGVkIG9uZS4KKworCSogZGxscy9rZXJuZWwvc3luYy5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlBZGQgYnJhY2tldHMgYXJvdW5kIChhKT9iOmMgY29uc3RydWN0LgorCisyMDA1LTEwLTA0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC9leGNlcHQuYzoKKwlTZXQgV0lORURFQlVHIHRvIGFuIGVtcHR5IHZhbHVlIGluc3RlYWQgb2YgcmVtb3ZpbmcgaXQgc28gdGhhdCBpdCBnZXRzCisJcHJvcGVybHkgY2xlYXJlZCBpbiB0aGUgZGVidWdnZXIuCisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYzoKKwlDb3B5IFdJTkVERUJVRyBmcm9tIHRoZSBXaW5kb3dzIGVudmlyb25tZW50IHRvIGFsbG93IHBhc3NpbmcgYQorCW1vZGlmaWVkIHZhbHVlIHRvIGEgY2hpbGQgcHJvY2Vzcy4KKworCSogcHJvZ3JhbXMvdW5pbnN0YWxsZXIvbWFpbi5jOiBWaWpheSBLaXJhbiBLYW11anUgPGluZnlxdWVzdEBnbWFpbC5jb20+CisJRml4ZWQgdW5pbnN0YWxsZXIgY2xvc2UgYnV0dG9uLgorCisJKiBkbGxzL2NvbWN0bDMyL2xpc3R2aWV3LmM6IFZpdGFsaXkgTWFyZ29sZW4gPHdpbmUtcGF0Y2hAa2lldmluZm8uY29tPgorCUNvcnJlY3QgUGFnZSBVcC9Eb3duIGhhbmRsaW5nIGluIHJlcG9ydCBtb2RlLgorCisJKiBkbGxzL250ZGxsL3NpZ25hbF9pMzg2LmM6CisJQ2xlYXIgdGhlIHNpbmdsZS1zdGVwIGZsYWcgaW4gc2V0dXBfZXhjZXB0aW9uIGluc3RlYWQgb2YgaW4gdGhlCisJU0lHVFJBUCBoYW5kbGVyIHRvIGF2b2lkIGhhdmluZyB0aGUgYXNzaWdtbmVudCBvcHRpbWl6ZWQgb3V0LgorCisJKiB0b29scy93aW5lZHVtcC9wZS5jOgorCUZpeGVkIGR1bXBpbmcgb2YgdGhlIGltcG9ydCBkaXJlY3RvcnkgdG8gaWdub3JlIHRoZSBkaXJlY3Rvcnkgc2l6ZS4KKworCSogZGxscy9udGRsbC9sb2FkZXIuYzoKKwlJZ25vcmUgdGhlIHNpemUgb2YgdGhlIGltcG9ydCBkaXJlY3RvcnksIHByb2Nlc3MgaW1wb3J0cyB1bnRpbCB3ZSBmaW5kCisJYSBudWxsIGVudHJ5LgorCisJKiBkbGxzL3dpbmVkM2QvZGlyZWN0eC5jOiBPbGl2ZXIgU3RpZWJlciA8b2xpdmVyX3N0aWViZXJAeWFob28uY28udWs+CisJUHJvdmlkZSBsb29zZXIgZGV2aWNlIG1hdGNoaW5nIGZvciBiYWNrYnVmZmVyIGFuZCBkZXB0aCBidWZmZXIKKwlmb3JtYXRzLiBJdCBzaG91bGQgYWxsb3cgc29tZSBnYW1lcyBhbmQgYXBwbGljYXRpb25zIHRvIHJ1biB3aXRob3V0IFgKKwliZWluZyBpbiB0aGUgY29ycmVjdCBiYWNrYnVmZmVyIGZvcm1hdCAoZS5nLiAxNiBiaXQgZ2FtZXMgd2lsbCBydW4KKwl3aXRoIGEgMjRiaXQgWCBiYWNrYnVmZmVyKS4KKworCSogZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jOiBKdWFuIExhbmcgPGp1YW5fbGFuZ0B5YWhvby5jb20+CisJVXNlIHdpbmVfZ2V0X2Rvc19maWxlX25hbWUgcmF0aGVyIHRoYW4gcmVseWluZyBvbiBHZXRGdWxsUGF0aE5hbWVXCisJaGFjay4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOiBWaXRhbGl5IE1hcmdvbGVuIDx3aW5lLXBhdGNoQGtpZXZpbmZvLmNvbT4KKwlEb24ndCBzdGFydCBkcmFnZ2luZyBmb3IgYSBzaW5nbGUgbW91c2UgY2xpY2suCisKKwkqIHRvb2xzL3dpbmVkdW1wL2R1bXAuYywgdG9vbHMvd2luZWR1bXAvcGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCBzdXBwb3J0IGZvciBkdW1waW5nIGRlbGF5IGxvYWQgUEUgZGF0YS4KKworCSogaW5jbHVkZS93aW5kZWYuaDogRGltaSBQYXVuIDxkaW1pQGxhdHRpY2EuY29tPgorCUFsbG93IE1TVkMgdG8gdXNlIFdpbmUncyBoZWFkZXJzLgorCisJKiBkbGxzL3ZlcnNpb24vaW5mby5jOiBKYW1lcyBIYXdraW5zIDx0cnVpa2VuQGdtYWlsLmNvbT4KKwlDaGVjayB0aGUgc2l6ZSBvZiB0aGUgaW5wdXQgYnVmZmVyIHNvIHdlIGRvbid0IHdyaXRlIHBhc3QgdGhlIGVuZC4KKworCSogZm9udHMvTWFrZWZpbGUuaW46IFZpbmNlbnQgQulyb24gPHZiZXJvbkBtZWNhbm8uZ21lLnVzaGVyYi5jYT4KKwlTb3J0IHRoZSBmb250IGZpbGVuYW1lcyBpbiBhbHBoYWJldGljYWwgb3JkZXIgaW4gZm9udHMvTWFrZWZpbGUuaW4uCisKKwkqIHByb2dyYW1zL3dpbmVjZmcvbGlicmFyaWVzLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlSZW1vdmUgLmRsbCBmcm9tIERsbE92ZXJyaWRlcyBlbnRyaWVzLCBzdWNoIGVudHJpZXMgYXJlIGlnbm9yZWQuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluOgorCUpvbmF0aGFuIEVybnN0IDxKb25hdGhhbkBFcm5zdEZhbWlseS5jaD4KKwlNYWtlIHN1cmUgd2Ugb25seSBkZXBlbmQgb24gZGRyYXdfdGVzdCBpZiBYIHN1cHBvcnQgaXMgZW5hYmxlZC4KKworCSogcHJvZ3JhbXMvd2luZWxhdW5jaGVyLmluOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlEcm9wcGVkIHRoZSAidXNpbmcgbmF0aXZlIHdpbmRvd3MgbGlicmFyaWVzIiBjb21tZW50LgorCVJlcGxhY2Ugd2luZXNldHVwIGJ5IHdpbmVjZmcuIERyb3BwZWQgY29uZmlnIGZpbGUgZGV0ZWN0aW9uLgorCisJKiBkbGxzL2NyeXB0MzIvZW5jb2RlLmM6IEp1YW4gTGFuZyA8anVhbl9sYW5nQHlhaG9vLmNvbT4KKwlVc2UgY29ycmVjdCBuYW1lcyB3aGVuIGxvYWRpbmcgcmVnaXN0ZXJlZCBPSUQgZnVuY3Rpb25zLgorCisyMDA1LTEwLTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL3dpbnNwb29sL2luZm8uYzogTWF4aW1lIEJlbGxlbmfpIDxtYXhpbWUuYmVsbGVuZ2VAbGFwb3N0ZS5uZXQ+CisJRml4IGEgY3V0JnBhc3RlIG1pc3Rha2UuCisKKwkqIGRsbHMvdXNlci93aW4uYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJVXNlIEdldFN5c3RlbU1ldHJpY3MgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGRyYWcgd2lkdGggJiBoZWlnaHQuCisKKwkqIGRsbHMvbnRkbGwvc2VydmVyLmM6CisJRml4ZWQgYSBidWcgd2hlcmUgd2UgY291bGQgc2V0IHRoZSB3cm9uZyBoYW5kbGUgaW4gdGhlIGZkIGNhY2hlIHdoZW4KKwllbmNvdW50ZXJpbmcgdGhlIHJhY2UgY29uZGl0aW9uIGluIHdpbmVfc2VydmVyX2hhbmRsZV90b19mZC4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzogVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJRG9uJ3QgYXJyYW5nZSB0YWJzIGlmIHRoZXJlIGlzIG9ubHkgb25lIGxpbmUuCisKKwkqIHByb2dyYW1zL3dpbmV0ZXN0L01ha2VmaWxlLmluOiBQYXVsIE1pbGxhciA8cGF1bEBhc3Ryby5nbGEuYWMudWs+CisJRml4IGNyb3NzLWNvbXBpbGF0aW9uIG9mIHdpbmV0ZXN0IGJ5IHVwZGF0ZSB0aGUgbWFrZWZpbGUgdG8gdXNlIE9CSlMKKwlpbnN0ZWFkIG9mIHRoZSBub3cgYWJzZW50IEFMTF9PQkpTLgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jLCBkbGxzL3JpY2hlZDIwL3JlYWRlci5jOgorCUtyenlzenRvZiBGb2x0bWFuIDx3ZGV2QGZvbHRtYW4uY29tPgorCS0gUmVtb3ZlIGFub3RoZXIgcG90ZW50aWFsIHNvdXJjZXMgb2YgaW5maW5pdGUgbG9vcHMgY2F1c2VkIGJ5IEVPRiBpbgorCSAgdGhlIG1pZGRsZSBvZiB0aGUgZm9udCBhbmQgY29sb3IgdGFibGVzLgorCS0gQ2xvc2luZyBicmFjZSBvbiB0ZXh0IGxldmVsIGlzIHRyZWF0ZWQgYXMgRU9GIChlZmZlY3RpdmVseQorCSAgcHJvdGVjdGluZyB0aGUgY29udHJvbCBmcm9tIHRyYXNoIGFmdGVyIHRoZSBlbmQgb2YgUlRGKS4KKwktIFJlbW92ZWQgbWlzbGVhZGluZyBjb21tZW50IGFib3V0IGluY29tcGxldGUgYnVmZmVycyAoSSB3YXMKKwkgIGRlZmluaXRlbHkgd3JvbmcpLgorCisJKiBwcm9ncmFtcy93aW5lY2ZnL05vLnJjOiBBbGV4YW5kZXIgTi4gU/hybmVzIDxhbGV4QHRoZWhhbmRvZmFnb255LmNvbT4KKwlGaXhlZCBhIGZldyBtaXNzaW5nIGNoYXJhY3RlcnMgaW4gd2luZWNmZy4KKworCSogZGxscy9udGRsbC9udC5jOiBJdmFuIExlbyBQdW90aSA8aXZhbmxlb0BnbWFpbC5jb20+CisJTWFrZSBhIHN0dWIgYWN0dWFsbHkgc2F5ICJzdHViIi4KKworCSogZGxscy91c2VyL2lucHV0LmMsIGRsbHMvdXNlci90ZXN0cy93aW4uYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlSZWxlYXNlQ2FwdHVyZSBzaG91bGQgcmV0dXJuIFRSVUUuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlOb3cgcHJpbnRpbmcgaW5mb3JtYXRpb24gd2hlbiBjaGFuZ2luZyBmdW5jdGlvbiB3aGlsZSBzaW5nbGUgc3RlcHBpbmcuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvdHlwZXMuYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgYml0ZmllbGQgZXh0cmFjdGlvbi4KKworCSogaW5jbHVkZS9kM2Q5dHlwZXMuaCwgaW5jbHVkZS9kc291bmQuaDoKKwlSb2JlcnQgUmVpZiA8cmVpZkBlYXJ0aGxpbmsubmV0PgorCUZpeGVzIHNvIGQzZDkuaCBhbmQgZHNvdW5kLmggY2FuIGJlIGluY2x1ZGVkIGF0IHRoZSBzYW1lIHRpbWUuCisKKwkqIGRsbHMvcmljaGVkMjAvZWRpdG9yLmM6IEtyenlzenRvZiBGb2x0bWFuIDx3ZGV2QGZvbHRtYW4uY29tPgorCUltcGxlbWVudGVkIEVNX0dFVEZJUlNUVklTSUJMRUxJTkUgYW5kIEVNX1BPU0ZST01DSEFSIChiYXNpYworCXN1Ym9wdGltYWwgaW1wbGVtZW50YXRpb24sIGNhbiBiZSBvcHRpbWl6ZWQgdG8gc2tpcCB3aG9sZSBwYXJhZ3JhcGhzCisJbGF0ZXIgaWYgaXQncyB1c2VmdWwgYXQgYWxsKS4KKworCSogcHJvZ3JhbXMvd2luZWZpbGUvd2luZWZpbGUuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlGaXggZm9udCBoYW5kbGUgbGVhayBhZnRlciBjbG9zaW5nIHRoZSAnY2hvb3NlIGZvbnQnIGRpYWxvZyAoYmFzZWQgb24KKwlvcmdpbmFsIHBhdGNoIGJ5ICdDaHJpc3RvcGggYXQgQXBpVmlld2VyLmRlJykKKworCSogZGxscy9zaGVsbDMyL3NobGV4ZWMuYzogTWFydGluIEZ1Y2hzIDxtYXJ0aW4tZnVjaHNAZ214Lm5ldD4KKwlTaW1wbGlmeSAnc2VpJyBzdHJ1Y3R1cmUgaW5pdGlhbGl6YXRpb24gaW4gU2hlbGxFeGVjdXRlQS9XLgorCisJKiBkbGxzL29sZTMyL2NvbXBvYmouYzogUm9iZXJ0IFNoZWFybWFuIDxyb2JAY29kZXdlYXZlcnMuY29tPgorCVBhc3MgV01fUVVJVCB0byBvdXRlciBtb2RhbCBsb29wLgorCisJKiBkbGxzL3VzZXIvbWlzYy5jLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJU3RlZmFuIExlaWNodGVyIDxTdGVmYW4uTGVpY2h0ZXJAY2FtTGluZS5jb20+CisJQWRkZWQgc3R1YiBmb3IgVW5yZWdpc3RlckRldmljZU5vdGlmaWNhdGlvbi4KKworCSogcHJvZ3JhbXMvd2NtZC93Y21kbWFpbi5jOiBCcmlhbiBHcmF5c29uIDxiZ3JheXNvbkBmcmVlc2NhbGUuY29tPgorCVNraXAgdGFicyBpbiB3Y21kLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYywgZGxscy93aW5tbS93aW5lb3NzL2RzcmVuZGVyLmM6CisJVml0YWxpeSBNYXJnb2xlbiA8d2luZS1wYXRjaEBraWV2aW5mby5jb20+CisJUmVwbGFjZSByZWdpc3RyeSBlZGl0aW5nIGluc3RydWN0aW9ucyB3aXRoIHdpbmVjZmcuCisKKwkqIGRsbHMvZGJnaGVscC9zdGFicy5jOiBFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwktIE5fUFNZTSBzdGFicyBibG9ja3MgKGFrYSBwYXJhbWV0ZXJzKSBjYW4gYWxzbyBjb250YWluIGEgdHlwZWRlZgorCS0gc2hvcnRlbiBzb21lIHBhdGhzCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvdHlwZXMuYzogRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgYXJyYXkgZGVyZWZlcmVuY2luZy4KKworCSogZGxscy93aW5zb2NrL01ha2VmaWxlLmluOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCU1vdmUgdXNlcjMyIHRvIGRlbGF5IGxvYWRlZCBpbXBvcnRzLgorCisJKiBkbGxzL3dpbmVkb3MvbW9kdWxlLmM6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBhIFdBUk4gdG8gYSBGSVhNRSB0byBtYWtlIGl0IHZpc2libGUgdG8gYSB1c2VyLCByZXBsYWNlIGFuIEVSUgorCWJ5IGEgRklYTUUgYXMgaXQncyBtb3JlIGFwcHJvcHJpYXRlLgorCisJKiBkbGxzL2R4ZXJyOC9lcnJvcnMuYXdrLCBkbGxzL2R4ZXJyOS9lcnJvcnMuYXdrOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJQWRkIHN1cHBvcnQgZm9yIGVycm9ycyB3aXRoIG1vcmUgdGhhbiBvbmUgbmFtZS4KKworCSogZGxscy93aW5lZDNkL2RpcmVjdHguYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVXNlIGNvcnJlY3QgbWluTG9va3VwW10gYXJyYXkgZW50cnkuCisKKwkqIHByb2dyYW1zL3dpbmVsYXVuY2hlci5pbjogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJRG8gbm90IGFwcGVuZCBlbXB0eSAiOiIgaW4gTERfTElCUkFSWV9QQVRILgorCisJKiBkbGxzL3JpY2hlZDIwL2VkaXRvci5jOiBLcnp5c3p0b2YgRm9sdG1hbiA8d2RldkBmb2x0bWFuLmNvbT4KKwlGaXhlZCBhbm90aGVyIGNhc2Ugb2YgbWlzdW5kZXJzdGFuZGluZyBNU0ROIHdydCBTdHJlYW1JblByb2MsIGNhdXNpbmcKKwlsaWNlbnNlIHRleHQgdG8gYmUgdHJ1bmNhdGVkIGluIFBpY2FzYSBpbnN0YWxsZXIgKGFzIHdlbGwgYXMgc29tZQorCW90aGVyIHByb2dyYW1zLCBlc3BlY2lhbGx5IHRob3NlIHRoYXQgZGlzcGxheSBsb25nIHRleHRzIHdpdGggTlNJUykuCisKKzIwMDUtMDktMzAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIEFOTk9VTkNFLCBDaGFuZ2VMb2csIFZFUlNJT04sIGNvbmZpZ3VyZTogUmVsZWFzZSAyMDA1MDkzMC4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMjAwNS0wOS0zMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KIAogCSogZGxscy9jcnlwdDMyL2VuY29kZS5jLCBkbGxzL2NyeXB0MzIvdGVzdHMvZW5jb2RlLmM6CmRpZmYgLS1naXQgYS9WRVJTSU9OIGIvVkVSU0lPTgppbmRleCAyMjU5MmUzLi5hMzQ5MjlhIDEwMDY0NAotLS0gYS9WRVJTSU9OCisrKyBiL1ZFUlNJT04KQEAgLTEgKzEgQEAKLVdpbmUgdmVyc2lvbiAyMDA1MDkzMAorV2luZSB2ZXJzaW9uIDAuOQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IDA2OThlZGEuLjFlYTdjOWMgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OSBmb3IgV2luZSAyMDA1MDkzMC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5IGZvciBXaW5lIDAuOS4KICMKICMgUmVwb3J0IGJ1Z3MgdG8gPHdpbmUtZGV2ZWxAd2luZWhxLm9yZz4uCiAjCkBAIC0yNjksOCArMjY5LDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdXaW5lJwogUEFDS0FHRV9UQVJOQU1FPSd3aW5lJwotUEFDS0FHRV9WRVJTSU9OPScyMDA1MDkzMCcKLVBBQ0tBR0VfU1RSSU5HPSdXaW5lIDIwMDUwOTMwJworUEFDS0FHRV9WRVJTSU9OPScwLjknCitQQUNLQUdFX1NUUklORz0nV2luZSAwLjknCiBQQUNLQUdFX0JVR1JFUE9SVD0nd2luZS1kZXZlbEB3aW5laHEub3JnJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc4OCw3ICs3ODgsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwNTA5MzAgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAwLjkgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtODUzLDcgKzg1Myw3IEBACiAKIGlmIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiOyB0aGVuCiAgIGNhc2UgJGFjX2luaXRfaGVscCBpbgotICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDA1MDkzMDoiOzsKKyAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIFdpbmUgMC45OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTk4NCw3ICs5ODQsNyBAQAogdGVzdCAtbiAiJGFjX2luaXRfaGVscCIgJiYgZXhpdCAwCiBpZiAkYWNfaW5pdF92ZXJzaW9uOyB0aGVuCiAgIGNhdCA8PFxfQUNFT0YKLVdpbmUgY29uZmlndXJlIDIwMDUwOTMwCitXaW5lIGNvbmZpZ3VyZSAwLjkKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41OQogCiBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC05OTgsNyArOTk4LDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAyMDA1MDkzMCwgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBXaW5lICRhc19tZSAwLjksIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMzI1Nyw3ICszMjU3LDcgQEAKIGNhdCBjb25mZGVmcy5oID4+Y29uZnRlc3QuJGFjX2V4dAogY2F0ID4+Y29uZnRlc3QuJGFjX2V4dCA8PF9BQ0VPRgogLyogZW5kIGNvbmZkZWZzLmguICAqLwotI2luY2x1ZGUgPFgxMS9JbnRyaW5zaWMuaD4KKyNpbmNsdWRlIDxYMTEvWGxpYi5oPgogX0FDRU9GCiBpZiB7IChldmFsIGVjaG8gIiRhc19tZTokTElORU5POiBcIiRhY19jcHAgY29uZnRlc3QuJGFjX2V4dFwiIikgPiY1CiAgIChldmFsICRhY19jcHAgY29uZnRlc3QuJGFjX2V4dCkgMj5jb25mdGVzdC5lcjEKQEAgLTMyODQsNyArMzI4NCw3IEBACiBzZWQgJ3MvXi98IC8nIGNvbmZ0ZXN0LiRhY19leHQgPiY1CiAKICAgZm9yIGFjX2RpciBpbiAkYWNfeF9oZWFkZXJfZGlyczsgZG8KLSAgaWYgdGVzdCAtciAiJGFjX2Rpci9YMTEvSW50cmluc2ljLmgiOyB0aGVuCisgIGlmIHRlc3QgLXIgIiRhY19kaXIvWDExL1hsaWIuaCI7IHRoZW4KICAgICBhY194X2luY2x1ZGVzPSRhY19kaXIKICAgICBicmVhawogICBmaQpAQCAtMzI5OCwxOCArMzI5OCwxOCBAQAogICAjIFNlZSBpZiB3ZSBmaW5kIHRoZW0gd2l0aG91dCBhbnkgc3BlY2lhbCBvcHRpb25zLgogICAjIERvbid0IGFkZCB0byAkTElCUyBwZXJtYW5lbnRseS4KICAgYWNfc2F2ZV9MSUJTPSRMSUJTCi0gIExJQlM9Ii1sWHQgJExJQlMiCisgIExJQlM9Ii1sWDExICRMSUJTIgogICBjYXQgPmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKIC8qIGNvbmZkZWZzLmguICAqLwogX0FDRU9GCiBjYXQgY29uZmRlZnMuaCA+PmNvbmZ0ZXN0LiRhY19leHQKIGNhdCA+PmNvbmZ0ZXN0LiRhY19leHQgPDxfQUNFT0YKIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSNpbmNsdWRlIDxYMTEvSW50cmluc2ljLmg+CisjaW5jbHVkZSA8WDExL1hsaWIuaD4KIGludAogbWFpbiAoKQogewotWHRNYWxsb2MgKDApCitYcm1Jbml0aWFsaXplICgpCiAgIDsKICAgcmV0dXJuIDA7CiB9CkBAIC0zMzQ3LDcgKzMzNDcsNyBAQAogZG8KICAgIyBEb24ndCBldmVuIGF0dGVtcHQgdGhlIGhhaXIgb2YgdHJ5aW5nIHRvIGxpbmsgYW4gWCBwcm9ncmFtIQogICBmb3IgYWNfZXh0ZW5zaW9uIGluIGEgc28gc2w7IGRvCi0gICAgaWYgdGVzdCAtciAkYWNfZGlyL2xpYlh0LiRhY19leHRlbnNpb247IHRoZW4KKyAgICBpZiB0ZXN0IC1yICRhY19kaXIvbGliWDExLiRhY19leHRlbnNpb247IHRoZW4KICAgICAgIGFjX3hfbGlicmFyaWVzPSRhY19kaXIKICAgICAgIGJyZWFrIDIKICAgICBmaQpAQCAtMTg5NTgsNyArMTg5NTgsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDA1MDkzMCwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDAuOSwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0xOTAyMSw3ICsxOTAyMSw3IEBACiAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GCiBhY19jc192ZXJzaW9uPSJcXAotV2luZSBjb25maWcuc3RhdHVzIDIwMDUwOTMwCitXaW5lIGNvbmZpZy5zdGF0dXMgMC45CiBjb25maWd1cmVkIGJ5ICQwLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNTksCiAgIHdpdGggb3B0aW9ucyBcXCJgZWNobyAiJGFjX2NvbmZpZ3VyZV9hcmdzIiB8IHNlZCAncy9bXFwiIlxgXCRdL1xcXFwmL2cnYFxcIgogCg==