ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggMzg5YjMzMy4uOWQyYzgyYiAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMTExMDggb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAxMTIyNiBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTIgKzYsMTIgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTExMDg6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gU2hhcmVkIHdpbmRvd3Mgc3VwcG9ydCBzdGFydHMgZG9pbmcgc29tZXRoaW5nIHVzZWZ1bC4KLQktIE92ZXJsYXBwZWQgSS9PIGltcHJvdmVtZW50cy4KLQktIFN1cHBvcnQgZm9yIHJ1bm5pbmcgZmlsZXMgZnJvbSByZW1vdmFibGUgbWVkaWEuCi0JLSBNYW55IHNobHdhcGkgaW1wcm92ZW1lbnRzLgotCS0gUXVhcnR6IGRsbCBrZWVwcyBncm93aW5nLgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTEyMjY6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gTWFueSBpbXByb3ZlbWVudHMgdG8gYXVkaW8gc3VwcG9ydC4KKwktIExvdHMgb2YgbmV3IGFjdGlvbnMgaW4gU3lzdGVtUGFyYW1ldGVyc0luZm8uCisJLSBOZXcgY29uc29sZSBiYXNlZCBvbiBXaW4zMiB3aW5kb3cgaW5zdGVhZCBvZiB4dGVybS4KKwktIFNlcnZlciBwcm90b2NvbCByZWRlc2lnbmVkLgorCS0gTW9yZSBzaGx3YXBpIGltcHJvdmVtZW50cy4KIAktIExvdHMgb2YgYnVnIGZpeGVzLgogCiBTZWUgdGhlIFJFQURNRSBmaWxlIGluIHRoZSBkaXN0cmlidXRpb24gZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCkBAIC0yMCwxMCArMjAsMTAgQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDExMTA4LnRhci5negotICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTEwOC50YXIuZ3oKLSAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTEwOC50YXIuZ3oKLSAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTExMDgudGFyLmd6CisgIGh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMTIyNi50YXIuZ3oKKyAgZnRwOi8vZnRwLmluZm9tYWdpYy5jb20vcHViL21pcnJvcnMvbGludXgvc3Vuc2l0ZS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTEyMjYudGFyLmd6CisgIGZ0cDovL2Z0cC5mdS1iZXJsaW4uZGUvdW5peC9saW51eC9taXJyb3JzL3N1bnNpdGUudW5jLmVkdS9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTEyMjYudGFyLmd6CisgIGZ0cDovL29yY3VzLnByb2dzb2MudXRzLmVkdS5hdS9wdWIvV2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDExMjI2LnRhci5negogCiBJdCBzaG91bGQgYWxzbyBiZSBhdmFpbGFibGUgZnJvbSBhbnkgb3RoZXIgc2l0ZSB0aGF0IG1pcnJvcnMgaWJpYmxpby5vcmcuCiBGb3IgbW9yZSBkb3dubG9hZCBsb2NhdGlvbnMsIHNlZSBodHRwOi8vZnRwc2VhcmNoLmx5Y29zLmNvbS4gVGhlc2UKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3NjJhMzQ0Li44ZTRmM2JkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDQgKzEsMTExMCBAQAogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAwMS0xMi0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9zeXNwYXJhbXMuYywgaW5jbHVkZS93aW51c2VyLmg6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgYmFzaWMgaGFuZGxpbmcgb2YgYXNzZXNzaWJpbGl0eSBhY3Rpb25zLgorCisJKiBkbGxzL2NvbWN0bDMyL2FuaW1hdGUuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmRlPgorCUlmIHRoZSBmY2NIYW5kbGVyIGlzIG1taW9GT1VSQ0MoMCwgMCwgMCwgMCkgdGhlIEFWSSBpcyBhbHNvCisJdW5jb21wcmVzc2VkLgorCWluZm9QdHItPmhXbmQgd2Fzbid0IHVwZGF0ZWQgaW4gQU5JTUFURV9PcGVuQS4KKworCSogc2VydmVyL3NlbGVjdC5jOgorCVNhdmUgdGhlIHJlZ2lzdHJ5IGJlZm9yZSBleGl0aW5nIG9uIGEgU0lHVEVSTS4KKworCSogb2JqZWN0cy9jbGlwcGluZy5jOgorCU1ha2Ugc3VyZSB0aGUgREMgdmlzaWJsZSByZWdpb24gaXMgdXBkYXRlZCBpbiBHZXRDbGlwQm94LgorCisJKiBkbGxzL3dpbmVkb3MvTWFrZWZpbGUuaW4sIGluY2x1ZGUvY29uZmlnLmguaW4sIG1zZG9zL2ludDIxLmMsCisJICBjb25maWd1cmUuaW4sIGRsbHMvdHR5ZHJ2L01ha2VmaWxlLmluLCBjb25maWd1cmU6CisJTGluayB0byB0aGUgY3Vyc2VzIGxpYnJhcnkgb25seSBmb3IgdGhlIGRsbHMgdGhhdCBuZWVkIGl0LgorCisJKiBpbmNsdWRlL2hlYXAuaCwgZGxscy9vbGVhdXQzMi9vbGUyZGlzcC5oOgorCVJlbW92ZWQgdGhlIFNFR1BUUl8qIG1hY3Jvcy4KKworCSogdG9vbHMvd3JjL1JFQURNRS53cmMsIHRvb2xzL3dyYy9wYXJzZXIueSwgZGxscy9kZHJhdy9kc3VyZmFjZS9kaWIuYywKKwkgIGRvY3VtZW50YXRpb24vcmVnaXN0cnkuc2dtbCwgUkVBRE1FLCBjb25maWd1cmUsIGNvbmZpZ3VyZS5pbjoKKwlBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJRG9jdW1lbnRhdGlvbiB1cGRhdGUuCisKKwkqIG1lbW9yeS9oZWFwLmM6CisJRml4ZWQgYnVnIGluIHN5c3RlbSBoZWFwIGNyZWF0aW9uIHdoZW4gaXQgYWxyZWFkeSBleGlzdHMuCisKKwkqIHByb2dyYW1zL2NvbnRyb2wvY29udHJvbC5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlVcGRhdGVkIHRvIG5vdCByZWx5IG9uIHJ1bmRsbDMyLmV4ZSBhbnkgbW9yZS4KKworCSogd2luZG93cy9zeXNjb2xvci5jLCBjb250cm9scy9tZW51LmMsIGRsbHMvc2hlbGwzMi9jb250cm9sLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUZpeGVkLCBhZGRlZCBvciBpbXBsZW1lbnRlZCBzdHViczoKKwktIERyYXdNZW51QmFyVGVtcCgpOiBjb3JyZWN0ZWQgcGFyYW1ldGVyIGNvdW50LgorCS0gQ2FsbENQTEVudHJ5MTYoKTogc3R1Yi4KKwktIFNldFN5c0NvbG9yc1RlbXAoKTogZnVsbHkgaW1wbGVtZW50ZWQgKGhvcGVmdWxseSkgdGhpcyB1bmRvY3VtZW50ZWQKKwkgIGZ1bmN0aW9uLgorCisJKiBkbGxzL3gxMWRydi9tb3VzZS5jOgorCUR1YW5lIENsYXJrIDxkY2xhcmtAYWthbWFpbC5jb20+CisJQWRkZWQgY29sb3IgY3Vyc29yIHN1cHBvcnQuCisKKwkqIHdpbmRvd3MvY3Vyc29yaWNvbi5jOgorCUR1YW5lIENsYXJrIDxkY2xhcmtAYWthbWFpbC5jb20+CisJRGVzdHJveWluZyBjdXJzb3IgaXMgbm90IG5lY2Vzc2FyaWx5IGFuIGVycm9yLgorCisJKiB3aW5kb3dzL3dpbnByb2MuYzoKKwlVc2UgTWFwTFMvVW5NYXBMUyBpbnN0ZWFkIG9mIFNFR1BUUl8qIG1hY3Jvcy4KKworCSogaW5jbHVkZS93aW5wcm9jLmgsIHdpbmRvd3MvaG9vay5jOgorCVJlc3RydWN0dXJlZCBob29rIG1hcHBpbmcgZnVuY3Rpb25zIHRvIGF2b2lkIG1vc3QgbWVtb3J5CisJYWxsb2NhdGlvbnMuIEdvdCByaWQgb2YgU0VHUFRSXyogbWFjcm9zLgorCisJKiBkbGxzL3dpbmluZXQvZnRwLmMsIGluY2x1ZGUvd2luYmFzZS5oLCBkbGxzL21zdmNydC9maWxlLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggZGVmaW5pdGlvbiBvZiBCWV9IQU5ETEVfRklMRV9JTkZPUk1BVElPTiBzdHJ1Y3R1cmUuCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX1N2LnJjOgorCUpvaGFuIERhaGxpbiA8amRhaGxpbkB0ZWxpYS5jb20+CisJVXBkYXRlZCBTd2VkaXNoIHRyYW5zbGF0aW9uLgorCisJKiBkbGxzL3VzZXIvbHN0ci5jLCBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZS5jLAorCSAgd2luMzIvY29uc29sZS5jLCBkbGxzL2tlcm5lbC9mb3JtYXRfbXNnLmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlDaGVjayB0aGUgcmV0dXJuIHZhbHVlIG9mICpzbnByaW50ZiBmb3IgQzk5IHN0eWxlIG92ZXJmbG93IHJlcG9ydGluZy4KKworCSogaW5jbHVkZS91c2VyLmgsIGRsbHMvdXNlci9jb21tMTYuYywgZGxscy91c2VyL21zZzE2LmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwlVc2UgYWxlcnRhYmxlIHdhaXRzIGluIFBlZWtNZXNzYWdlMTYgYW5kIEdldE1lc3NhZ2UxNiBzbyB3ZSBjYW4KKwlwcm9jZXNzIEFQQ3MgZm9yIDE2Yml0IGNvbW1zLgorCisJKiBpbmNsdWRlL21zZG9zLmg6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUdvdCByaWQgb2YgV0lORV9QQUNLRUQuCisKKzIwMDEtMTItMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWM6CisJSm9uIEdyaWZmaXRocyA8am9uX3BfZ3JpZmZpdGhzQHlhaG9vLmNvbT4KKwlJbXBsZW1lbnQvZG9jdW1lbnQgb3JkaW5hbHMgNy0xMS4KKworCSogZGxscy9nZGkvZnJlZXR5cGUuYywgZGxscy93aW5lcHMvdHJ1ZXR5cGUuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlJbmNsdWRlIGZ0c25hbWVzLmggb3IgZnRuYW1lcy5oLCBub3QgYm90aC4KKworCSogZGxscy93aW5zb2NrL3NvY2tldC5jLCBkbGxzL3VzZXIvY29tbTE2LmMsIGRsbHMvd2lubW0vZHJpdmVyLmMsCisJICBkbGxzL3dpbm1tL2xvbHZsZHJ2LmMsIGRsbHMvd2lubW0vbWNpLmMsIGRsbHMvd2lubW0vbW1pby5jLAorCSAgZGxscy93aW5tbS9tbXN5c3RlbS5jLCBkbGxzL29sZTMyL2lmcy5jLCBkbGxzL29sZTMyL3N0b3JhZ2UuYzoKKwlVc2UgTWFwTFMvVW5NYXBMUyBpbnN0ZWFkIG9mIFNFR1BUUl8qIG1hY3Jvcy4KKworCSogZGxscy9jb21jdGwzMi90YWIuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBuZXJpbS5uZXQ+CisJRm9yd2FyZCB0YWIgbm90aWZpY2F0aW9ucyB0byB0aGUgcGFyZW50LgorCisJKiBkbGxzL3VybG1vbi91bW9uLmMsIGRsbHMvdXJsbW9uL3VybG1vbi5zcGVjLAorCSAgZGxscy93aW5pbmV0L2ludGVybmV0LmMsIGRsbHMvd2luaW5ldC93aW5pbmV0LnNwZWMsCisJICBkbGxzL3NobHdhcGkvc3RyaW5nLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCVRyaXZpYWwgZml4ZXMgZm9yIHNobHdhcGkgYW5kIEludGVybmV0IHJvdXRpbmVzLgorCisJKiBkZWJ1Z2dlci93aW5lZGJnLmM6CisJQmlsbCBNZWRsYW5kIDxtZWRiaTAxQGFjY3BhYy5jb20+CisJRml4ZWQgdnNucHJpbnRmIHJldHVybiB2YWx1ZSBjaGVjay4KKworMjAwMS0xMi0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogaW5jbHVkZS9zeXNtZXRyaWNzLmgsIHdpbmRvd3Mvc3lzbWV0cmljcy5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUltcGxlbWVudGVkIHByb2Nlc3NpbmcgZm9yIGFjdGlvbnMgU1BJX1NFVE1PVVNFQlVUVE9OU1dBUCwKKwlTUElfU0VURkFTVFRBU0tTV0lUQ0gsIFNQSV9TRVREUkFHRlVMTFdJTkRPV1MsIFNQSV9TRVRXT1JLQVJFQS4KKworCSogZGVidWdnZXIvc3RhYnMuYywgZGVidWdnZXIvdHlwZXMuYywgZGVidWdnZXIvd2luZWRiZy5jLAorCSAgZGVidWdnZXIvYnJlYWsuYywgZGVidWdnZXIvZGJnLnksIGRlYnVnZ2VyL2RlYnVnZ2VyLmgsCisJICBkZWJ1Z2dlci9leHByLmMsIGRlYnVnZ2VyL2luZm8uYywgZGVidWdnZXIvaW50dmFyLmgsCisJICBkZWJ1Z2dlci9tZW1vcnkuYywgZGVidWdnZXIvbXNjLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgc3RhYnMgcGFyc2luZyBmb3IgR0NDIDMuMCAoZGVmYXVsdCB0eXBlcykuCisJQWRkZWQgYm9vbGVhbiB0eXBlIHN1cHBvcnQuCisJU2ltcGxpZmllZCBpbnRlcm5hbCB0eXBlcyBoYW5kbGluZy4KKworCSogd2luMzIvY29uc29sZS5jLCB3aW4zMi9lZGl0bGluZS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIGJ1ZmZlciBsZW5ndGggaW4gaGlzdG9yeSBtYW5pcHVsYXRpb24uCisJV3JpdGluZyBuZXcgY2hhcnMgbXVzdCBiZSBkb25lIHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgKG5vdCBjZWxsCisJY3VycmVudCBhdHRyaWJ1dGUpLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvYXVkaW8uYzoKKwlFcmljIFBvdWVjaCA8ZXJpYy5wb3VlY2hAd2FuYWRvby5mcj4KKwlBZGRlZCBmdWxsLWR1cGxleCBjYXBhYmlsaXR5LgorCUFkZGVkIG1pc3NpbmcgaW5pdCBmb3Igd2F2ZS1pbi4KKwlGaXhlZCBwYXVzZSBiZWhhdmlvciBpbiB3YXZlLW91dC4KKwlBZGRlZCBtZXNzYWdlLXJpbmcgZGVsZXRpb24uCisJQWRkZWQgZXhwZXJpbWVudGFsIGZ1bGwtZHVwbGV4IGNhcGFiaWxpdHkuCisKKwkqIGRsbHMvd2lubW0vbW1pby5jLCBkbGxzL3dpbm1tL3dpbmVtbS5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIGFub3RoZXIgYnVuY2ggb2YgYnVncyAobWFpbmx5IGxpbmtlZCB0byBvcGVyYXRpb25zIHdoZXJlIGZpbGUKKwlwb2ludGVyIHdhcyBwYXN0IHRoZSBlbmQgb2YgZmlsZSkuCisKKwkqIGRsbHMvbXN2Y3J0L2NwcC5jLCBkbGxzL21zdmNydC9leGNlcHQuYywgZGxscy9tc3ZjcnQvaGVhcC5jLAorCSAgZGxscy9tc3ZjcnQvbWFpbi5jLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQWRkIFJUVEkgc3VwcG9ydC4KKwlGaXggd2hhdF9leGNlcHRpb24gcHJvdG90eXBlLgorCUZpeCBuZXdfaGFuZGxlcl9mdW5jIHByb3RvdHlwZS4KKwlBZGQgc2V0X25ld19oYW5kbGVyLCBfY2FsbG5ld2gsIF9oZWFwYWRkLgorCUFkZCBzdHVicyBmb3IgX191bkROYW1lIGFuZCBfX3VuRE5hbWVFeC4KKwlBZGRlZCBhIHNlbWktc3R1YiBmb3IgX19DeHhGcmFtZUhhbmRsZXIuCisKKwkqIGluY2x1ZGUvbXN2Y3J0L3NldGptcC5oLCBpbmNsdWRlL01ha2VmaWxlLmluLAorCSAgZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWMsIGRsbHMvbXN2Y3J0L2V4Y2VwdC5jOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBbGV4YW5kcmUgSnVsbGlhcmQgPGp1bGxpYXJkQGNvZGV3ZWF2ZXJzLmNvbT4KKwlJbXBsZW1lbnQgc2V0am1wL3NldGptcDMgYW5kIGxvbmdqbXAuCisKKwkqIGdyYXBoaWNzL3gxMWRydi9wYWxldHRlLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlIYW5kbGUgbW9yZSB0aGFuIDggYml0cyBwZXIgY29sb3IgY29tcG9uZW50LgorCisJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CisJRnJhbudvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNZXJnZWQgdGhlIGhhbmRsaW5nIG9mIDE1IGFuZCAxNiBiaXRzIFggc2VydmVyIGRlcHRocy4KKwlVc2UgdGhlIG1hc2tzIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gMTUgYW5kIDE2IGJpdHMuCisJQ2hlY2sgdGhlIG1hc2tzIGJldHRlciBhbmQgY2FsbCBnZW5lcmljIGNvZGUgaWYgdGhleSBhcmUgbm90CisJc3VwcG9ydGVkIGRpcmVjdGx5LgorCUNoYW5nZWQgdGhlICdub3RzdXBwb3J0ZWQnIHRyYWNlcyBmcm9tIEZJWE1FcyB0byBXQVJOcy4KKworCSogc2VydmVyL3NlcmlhbC5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJSGFuZGxlIFJlYWRJbnRlcnZhbFRpbWVvdXQ9TUFYRFdPUkQgc3BlY2lhbCBjYXNlIGEgYml0IGJldHRlci4KKworCSogZmlsZXMvZmlsZS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJRG9uJ3QgcmV0dXJuIGZyb20gb3ZlcmxhcHBlZCBSZWFkRmlsZSBvbiBFQUdBSU4gYW5kIG90aGVyIG5vbi1mYXRhbAorCWVycm9ycy4KKworCSogaW5jbHVkZS9tc3ZjcnQvc2hhcmUuaDoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlBbmQgaW4gYWRkaXRpb24gdG8gTWluZ3czMiB3ZSB3aWxsIHdhbnQgdGhlIF8gdmVyc2lvbnMuCisKKzIwMDEtMTItMjAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3MvY2xhc3MuYywgd2luZG93cy9kaWFsb2cuYywgd2luZG93cy9tZGkuYywgbG9hZGVyL21vZHVsZS5jLAorCSAgb2JqZWN0cy9mb250LmMsIG9iamVjdHMvZ2Rpb2JqLmMsIHNjaGVkdWxlci9zeXNsZXZlbC5jLAorCSAgZGxscy91c2VyL21zZzE2LmMsIGRsbHMvdXNlci9wcm9wZXJ0eS5jLCBncmFwaGljcy93aW4xNmRydi9icnVzaC5jLAorCSAgZ3JhcGhpY3Mvd2luMTZkcnYvZm9udC5jLCBncmFwaGljcy93aW4xNmRydi9pbml0LmMsCisJICBncmFwaGljcy93aW4xNmRydi9wZW4uYywgZ3JhcGhpY3Mvd2luMTZkcnYvcHJ0ZHJ2LmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsIGRsbHMvb2xlYXV0MzIvb2xlMmRpc3AuYzoKKwlVc2UgTWFwTFMvVW5NYXBMUyBpbnN0ZWFkIG9mIFNFR1BUUl8qIG1hY3Jvcy4KKworCSogc2VydmVyL2hhbmRsZS5jLCBzZXJ2ZXIvbWFwcGluZy5jLCBzZXJ2ZXIvbXV0ZXguYywKKwkgIHNlcnZlci9uYW1lZF9waXBlLmMsIHNlcnZlci9vYmplY3QuaCwgc2VydmVyL3BpcGUuYywKKwkgIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLAorCSAgc2VydmVyL3JlZ2lzdHJ5LmMsIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9yZXF1ZXN0LmgsCisJICBzZXJ2ZXIvc2VtYXBob3JlLmMsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NuYXBzaG90LmMsCisJICBzZXJ2ZXIvc29jay5jLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90aW1lci5jLCBzZXJ2ZXIvdHJhY2UuYywKKwkgIHNjaGVkdWxlci9zeW5jaHJvLmMsIHNlcnZlci9hc3luYy5jLCBzZXJ2ZXIvYXN5bmMuaCwgc2VydmVyL2F0b20uYywKKwkgIHNlcnZlci9jaGFuZ2UuYywgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2RlYnVnZ2VyLmMsCisJICBzZXJ2ZXIvZGV2aWNlLmMsIHNlcnZlci9ldmVudC5jLCBzZXJ2ZXIvZmlsZS5jLCBpbmNsdWRlL2ZpbGUuaCwKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgZmlsZXMvZmlsZS5jLCBkbGxzL2tlcm5lbC9jb21tLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwktIG1vdmUgYXN5bmMgYWN0aXZhdGlvbiBpbnRvIHRoZSBzZXJ2ZXIKKwktIGltcGxlbWVudCBhc3luYyBxdWV1ZXMKKworCSogbWVtb3J5L2dsb2JhbC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlHbG9iYWxSZUFsbG9jMTY6IElmIGhlYXAgaGFzIEdsb2JhbFBhZ2VMb2NrIHNldCwgdHJ5IG9ubHkgd2l0aAorCUhFQVBfUkVBTExPQ19JTl9QTEFDRV9PTkxZIGZsYWcgc2V0LgorCisyMDAxLTEyLTE5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC93b3d0aHVuay5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlVc2UgR2xvYmFsUGFnZUxvY2sgZm9yIEdldFZETVBvaW50ZXIzMlcxNiBwb2ludGVycy4KKworCSogcmVsYXkzMi9yZWxheTM4Ni5jOgorCUZpeGVkIHN0YWNrIG9mZnNldCBpbiByZWxheSBkZWJ1Z2dpbmcgb2YgY2RlY2wgcmVnaXN0ZXIgZnVuY3Rpb25zLgorCisJKiBtZW1vcnkvaGVhcC5jLCBtZW1vcnkvc2VsZWN0b3IuYywgZ3JhcGhpY3Mvd2luMTZkcnYvZm9udC5jLAorCSAgaW5jbHVkZS9oZWFwLmgsIGluY2x1ZGUvbnRkZGsuaCwgaW5jbHVkZS93aW5iYXNlLmgsIGluY2x1ZGUvd2lubnQuaCwKKwkgIGRsbHMvb2xlMzIvaWZzLmMsIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL2RlYnVndG9vbHMuYywgZGxscy9udGRsbC9oZWFwLmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvbnRkbGwvcnRsLmM6CisJTW92ZWQgaGVhcCBmdW5jdGlvbnMgdG8gbnRkbGwuCisJR290IHJpZCBvZiBpbnRlcm5hbCBoZWFwIGZsYWdzLgorCVJlaW1wbGVtZW50ZWQgTWFwTFMgdG8gbm90IGRlcGVuZCBvbiB0aGUgc2VncHRyIGhlYXAuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbXN2Y3J0L3NoYXJlLmg6CisJQmlsbCBNZWRsYW5kIDxtZWRiaTAxQGFjY3BhYy5jb20+CisJQWRkZWQgc2hhcmUuaCBmcm9tIE1pbmd3MzIuCisKKwkqIFJFQURNRTogQmFuZyBKdW4tWW91bmcgPGp1bnlvdW5nQG1vZ3VhLmNvbT4KKwlXaW5lIGlzIG5vdyB3b3JraW5nIG9uIE5ldEJTRCwgc28gYWRkIE5ldEJTRCB0byB0aGUgc3VwcG9ydGVkIE9TJ2VzCisJbGlzdCAoYW5kIGFkZCBzb21lIG5vdGVzIGFzIHdlbGwpLgorCisJKiBmaWxlcy9maWxlLmM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VfbWNjb3JtYWNrQHN0YXJ0LmNvbS5hdT4KKwlJbXBsZW1lbnRlZCB0aW1lZC1vdXQgbm9uLW92ZXJsYXBwZWQgUmVhZEZpbGUuCisKKwkqIHRvb2xzL3dyYy9wcGwubCwgdG9vbHMvd3JjL3dyYy5oOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuY29tPgorCVJlcGxhY2VkIE1BWCB3aXRoIG1heCBhbmQgZGVsZXRlZCBkZWZpbml0aW9uIG9mIE1BWC4KKworCSogZGxscy9jb21jdGwzMi9pbWFnZWxpc3QuYzoKKwlNaWNoYWVsIFN0ZWZhbml1YyA8bXN0ZWZhbmlAcmVkaGF0LmNvbT4KKwlGaXhlZC9pbXBsZW1lbnRlZCB0aGUgSW1hZ2VMaXN0XypEcmFnKiBmdW5jdGlvbnMuCisKKwkqIGRsbHMvY29tY3RsMzIvcHJvcHNoZWV0LmM6CisJTGF3c29uIFdoaXRuZXkgPGxhd3Nvbl93aGl0bmV5QGp1bm8uY29tPgorCUlmIHRoZXJlIGlzIG5vIHBzSW5mbywgaXQgZG9lc24ndCBuZWVkIHRvIGJlIGNsZWFuZWQgdXAuCisKKzIwMDEtMTItMTcgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGlmMTYzMi8uY3ZzaWdub3JlLCBpZjE2MzIvTWFrZWZpbGUuaW4sIGlmMTYzMi90aHVuay5jLAorCSAgaW5jbHVkZS9jYWxsYmFjay5oOgorCVJlbW92ZWQgbm8gbG9uZ2VyIHVzZWQgdGh1bmtpbmcgYW5kIGNhbGxvdXQgZnVuY3Rpb25zLgorCisJKiBtaXNjL3N5c3RlbS5jOgorCVN0b3JlIHRoZSAxNi1iaXQgY2FsbGJhY2sgaW4gdGhlIHRpbWVyIHN0cnVjdHVyZSBpbnN0ZWFkIG9mIHVzaW5nIGEKKwl0aHVuay4KKworCSogd2luZG93cy91c2VyLmMsIG1zZG9zL2RwbWkuYywgb2JqZWN0cy9kaWIuYywgc2NoZWR1bGVyL3RocmVhZC5jLAorCSAgaWYxNjMyL3JlbGF5LmMsIGxvYWRlci9uZS9yZXNvdXJjZS5jLCBtZW1vcnkvbG9jYWwuYywKKwkgIGRsbHMvc2V0dXBhcGkvdmlydGNvcHkuYywgZGxscy93aW5lZG9zL2Rvc2FzcGkuYywKKwkgIGdyYXBoaWNzL3dpbjE2ZHJ2L3BydGRydi5jLCBkbGxzL2tlcm5lbC91dHRodW5rLmMsCisJICBkbGxzL2tlcm5lbC93b3d0aHVuay5jOgorCVJlbW92ZWQgdW5uZWNlc3NhcnkgaW5jbHVkZXMuCisKKwkqIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJQ2FsbCB0aGUgMzItYml0IFVTRVIgc2lnbmFsIHByb2MgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyBhIGNhbGxvdXQuCisKKwkqIGRsbHMveDExZHJ2L3dpbnBvcy5jOgorCVBhdWwgUnVwZSA8cHJ1cGVAbmMucnIuY29tPgorCVByZXZlbnQgIndpbmRvdyBiZWxvbmdzIHRvIGFub3RoZXIgcHJvY2VzcyIgZXJyb3JzIHdoZW4gcnVubmluZworCW11bHRpcGxlIHByb2dyYW1zIHNpbXVsdGFuZW91c2x5LgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWxfbWFpbi5jLCBkbGxzL2tlcm5lbC90aHVuay5jOgorCURvIG5vdCBjYWxsIFRIVU5LX0luaXQgYXQgc3RhcnR1cCwgb25seSBkbyBpdCB3aGVuIHRoZSBhcHAgYWN0dWFsbHkKKwlyZXF1aXJlcyB0aHVua3MuCisKKwkqIGluY2x1ZGUvY3Vyc29yaWNvbi5oLCBsb2FkZXIvcmVzb3VyY2UuYywgd2luZG93cy9jdXJzb3JpY29uLmMsCisJICBkbGxzL3VzZXIvdXNlcjMyLnNwZWM6CisJRXhwb3J0IERlc3Ryb3lJY29uMzIgZnJvbSB1c2VyMzIgYW5kIHVzZSBHZXRQcm9jQWRkcmVzcyB0byBjYWxsIGl0CisJZnJvbSBGcmVlUmVzb3VyY2UxNi4KKworCSogd2luZG93cy8uY3ZzaWdub3JlLCB3aW5kb3dzL01ha2VmaWxlLmluLCB3aW5kb3dzL3BhaW50aW5nLmMsCisJICB3aW5kb3dzL3dpbi5jLCBkbGxzL3VzZXIvLmN2c2lnbm9yZSwgZGxscy91c2VyL01ha2VmaWxlLmluLAorCSAgZGxscy91c2VyL3Byb3BlcnR5LmMsIGRsbHMvdXNlci90ZXh0LmMsIGRsbHMvdXNlci90aHVuay5jLAorCSAgZGxscy91c2VyL3VzZXIuc3BlYywgZGxscy91c2VyL3duZDE2LmM6CisJQ2hhbmdlZCAxNi1iaXQgVVNFUiBFbnVtKiBmdW5jdGlvbnMgdG8gbm90IHVzZSB0aHVua3MsIG5vdyB0aGF0IDE2LWJpdAorCVdpbmVsaWIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKworCSogd2luZG93cy9ob29rLmMsIHdpbmRvd3Mva2V5Ym9hcmQuYywgZGxscy91c2VyL21vdXNlLmM6CisJR290IHJpZCBvZiBkeW5hbWljIHRodW5rIGFsbG9jYXRpb24gaW4gbW91c2Uva2V5Ym9hcmQgZXZlbnQgcHJvY3MgYW5kCisJd2luZG93IGhvb2tzLgorCisJKiBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpLnNwZWMsIGluY2x1ZGUvc2hsd2FwaS5oOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJSW1wbGVtZW50ZWQsIGRvY3VtZW50ZWQgb3IgZml4ZWQgU0hEZWxldGVPcnBoYW5LZXlBL1csIFNIRW51bUtleUV4QS9XLAorCVNIRW51bVZhbHVlQS9XLCBTSFF1ZXJ5SW5mb0tleUEvVy4gU0hSZWdHZXRQYXRoQS9XLCBTSFJlZ1NldFBhdGhBL1csCisJU0hHZXRWYWx1ZUEvVywgU0hTZXRWYWx1ZUEvVywgU0hRdWVyeVZhbHVlRXhBL1csIFNIRGVsZXRlS2V5QS9XLAorCVNIRGVsZXRlRW1wdHlLZXlBL1csIFNIRGVsZXRlVmFsdWVBL1csIG9yZGluYWxzIDMyMC0zMjMuCisKKwkqIG1lbW9yeS9sb2NhbC5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJQWRkZWQgZXJyb3IgbWVzc2FnZSBpbiBMT0NBTF9HZXRCbG9jaygpLgorCisJKiB3aW5kb3dzL3dpbnBvcy5jOgorCURhdmUgSGF3a2VzIDxkYXZlaC13aW5lQGNhZGxpbmsuY29tPgorCUFsdGVyZWQgdGhlIGFsZ29yaXRobSBmb3Igc2VsZWN0aW5nIGEgbmV3IGZvY3VzIGFmdGVyIGEgd2luZG93IGlzCisJZGVzdHJveWVkIHRoYXQgY3VycmVudGx5IGhhcyB0aGUgZm9jdXMuCisKKwkqIGRsbHMvZ2RpLy5jdnNpZ25vcmUsIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBkbGxzL2dkaS9nZGkuc3BlYywKKwkgIGRsbHMvZ2RpL3RodW5rLmMsIG9iamVjdHMvZm9udC5jLCBvYmplY3RzL2dkaW9iai5jLAorCSAgb2JqZWN0cy9saW5lZGRhLmMsIG9iamVjdHMvbWV0YWZpbGUuYzoKKwlDaGFuZ2VkIDE2LWJpdCBHREkgRW51bSogZnVuY3Rpb25zIHRvIG5vdCB1c2UgdGh1bmtzLCBub3cgdGhhdCAxNi1iaXQKKwlXaW5lbGliIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisKKwkqIG9iamVjdHMvLmN2c2lnbm9yZSwgb2JqZWN0cy9NYWtlZmlsZS5pbiwgb2JqZWN0cy9kYy5jLAorCSAgd2luZG93cy9kY2UuYywgZ3JhcGhpY3MvZXNjYXBlLmMsIGluY2x1ZGUvZ2RpLmgsCisJICBpbmNsdWRlL3dpbmUvd2luZ2RpMTYuaCwgZGxscy9nZGkvZ2RpMzIuc3BlYywgZGxscy9nZGkvcHJpbnRkcnYuYzoKKwlDaGFuZ2VkIERDIGhvb2sgYW5kIGFib3J0IHByb2MgaGFuZGxpbmcgdG8gYXZvaWQgaGF2aW5nIHRvIGFsbG9jYXRlCisJdGh1bmtzIGR5bmFtaWNhbGx5LgorCisJKiBkbGxzL2NvbWN0bDMyL3RhYi5jOiBOb2cgPG5vZ0BzZGYubG9uZXN0YXIub3JnPgorCVBhc3Mgb24gYWxsIHVuaGFuZGVsZWQgbWVzc2FnZXMgdG8gdGhlIG93bmVyLgorCisJKiBkbGxzL3NobHdhcGkvcGF0aC5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlQYXRoSXNVUkwoQXxXKTogQ2hlY2sgZm9yIE5VTEwgc3RyaW5ncy4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYzoKKwlKb2hhbiBEYWhsaW4gPGpkYWhsaW5AdGVsaWEuY29tPgorCUFkZCBhIGZldyBleHRyYSBmaWVsZHMgdG8gSFRUUF9HZXRTdGRIZWFkZXJJbmRleC4KKworMjAwMS0xMi0xNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3VzZXIuc3BlYywgd2luZG93cy93aW5wcm9jLmM6CisJQ2hhbmdlZCAxNi0+MzIgd2luZG93IHByb2NlZHVyZSB0aHVua3MgdG8gdXNlIHdpbmVidWlsZC1nZW5lcmF0ZWQKKwllbnRyeSBjb2RlIGRpcmVjdGx5LgorCisJKiByZWxheTMyL3JlbGF5Mzg2LmMsIHRvb2xzL3dpbmVidWlsZC9SRUFETUUsIHRvb2xzL3dpbmVidWlsZC9idWlsZC5oLAorCSAgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLCB0b29scy93aW5lYnVpbGQvcGFyc2VyLmMsCisJICB0b29scy93aW5lYnVpbGQvc3BlYzE2LmMsIHRvb2xzL3dpbmVidWlsZC9zcGVjMzIuYywKKwkgIGluY2x1ZGUvYnVpbHRpbjE2LmgsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgaWYxNjMyL2J1aWx0aW4uYywKKwkgIGlmMTYzMi9yZWxheS5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC90aHVuay5jLAorCSAgZGxscy9rZXJuZWwvd2luODdlbS5zcGVjLCBkbGxzL2tlcm5lbC93aW5kZWJ1Zy5zcGVjLAorCSAgZGxscy9rZXJuZWwvd3Byb2NzLnNwZWMsIE1ha2UucnVsZXMuaW4sIGRsbHMva2VybmVsL2tlcm5lbC5zcGVjOgorCU1hZGUgcmVnaXN0ZXIgYW5kIGludGVycnVwdCBmbGFncyBpbnN0ZWFkIG9mIGVudHJ5IHBvaW50IHR5cGVzLCBzbworCXRoYXQgd2UgY2FuIGhhdmUgYm90aCBzdGRjYWxsIGFuZCBjZGVjbCByZWdpc3RlciBmdW5jdGlvbnMuCisJQ2hhbmdlZCAxNi1iaXQgLnNwZWMuYyBmaWxlIGdlbmVyYXRpb24gdG8gYXZvaWQgaW5jbHVkaW5nIGJ1aWx0aW4xNi5oLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGluY2x1ZGUvd2luc29jay5oOgorCVBhdWwgUnVwZSA8cHJ1cGVAbmMucnIuY29tPgorCVZlcnkgc2ltcGxlIHN1cHBvcnQgZm9yIFNPX09QRU5UWVBFIGluIGdldHNvY2tvcHQgYW5kIHNldHNvY2tvcHQuCisKKwkqIGxpYnJhcnkvcG9ydC5jOgorCUJhbmcgSnVuLVlvdW5nIDxqdW55b3VuZ0Btb2d1YS5jb20+CisJTWFrZSB1c2Ugb2Ygc29sYXJpc190cnlfbW1hcCgpIGZvciBOZXRCU0QuIFJlbmFtZSBpdCB0bworCXRyeV9tbWFwX2ZpeGVkKCkgc2luY2UgaXQncyBubyBsb25nZXIgU29sYXJpcy1zcGVjaWZpYy4KKworCSogaW5jbHVkZS9jb25maWcuaC5pbiwgY29uZmlndXJlLCBjb25maWd1cmUuaW46CisJQmFuZyBKdW4tWW91bmcgPGp1bnlvdW5nQG1vZ3VhLmNvbT4KKwlBZGRlZCBjaGVjayBmb3Igc3RkaW50LmggKG5lZWRlZCBvbiBOZXRCU0QpLgorCisJKiBkbGxzL3dzb2NrMzIvc29ja2V0LmMsIGRsbHMvd3NvY2szMi93c2NvbnRyb2wuaDoKKwlCYW5nIEp1bi1Zb3VuZyA8anVueW91bmdAbW9ndWEuY29tPgorCUZpeCBOZXRCU0QgY29tcGlsYXRpb24gZXJyb3JzLgorCisJKiB0b29scy93aW5lc2hlbGxsaW5rOgorCVNpbW9uIFdhbHRvbiA8c2ltb253MkBwYWNiZWxsLm5ldD4KKwlGaXhlZCBhIGJhc2hpc20uCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCVRoYXdlZCBzb21lIGZyZWV6ZXMuCisJQ2xlYW5lZCB1cCB0aW1lIGFuZCBub3RpZmljYXRpb24gaGFuZGxpbmcuCisJVHlwb3MgZml4ZXMgKEdlcmFyZCkuCisJQWRkZWQgYnJlYWtsb29wIHN1cHBvcnQuCisKKzIwMDEtMTItMTMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci9NYWtlZmlsZS5pbiwgZGxscy91c2VyL3BhaW50aW5nLmMsIGRsbHMvdXNlci93bmQxNi5jLAorCSAgd2luZG93cy9wYWludGluZy5jOgorCVN0YXJ0ZWQgcmV3cml0ZSBvZiBwYWludGluZyBmdW5jdGlvbnMgZm9yIG11bHRpcGxlIHByb2Nlc3Nlcy4gTW92ZWQKKwlCZWdpblBhaW50IHRvIGRsbHMvdXNlci4gRml4ZWQgYnVnIGluIHBhaW50IGNvdW50IGhhbmRsaW5nLgorCisJKiB0b29scy93aW5lc2hlbGxsaW5rOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUZpeGVkIHNvbWUgcGxhY2VzIHdoZXJlIHdoaXRlc3BhY2Ugd2FzIG5vdCBoYW5kbGVkIGNvcnJlY3RseS4KKwlEbyBub3QgdXNlIGBjbWRgcyB3aXRoaW4gY2F0IDw8RU9GIHNpbmNlIGJhc2gxIHNvbWV0aW1lcyBnZXRzIGNvbmZ1c2VkCisJYnkgaXQuCisKKwkqIGRsbHMva2VybmVsL2NvbW0uYywgZGxscy91c2VyL2NvbW0xNi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJT25seSBSVFNfQ09OVFJPTF9IQU5EU0hBS0Ugc2hvdWxkIHNldCBDUlRTQ1RTLgorCisJKiBkbGxzL3R0eWRydi90dHlkcnYuc3BlYywgZGxscy90dHlkcnYvd25kLmM6CisJRXJpYyBMYWZvcmVzdCA8ZWNsQHBldC5kaHMub3JnPgorCUFkZCB0aGUgbWlzc2luZyBmdW5jdGlvbmFsaXR5IGluIHRoZSB0dHkgZHJpdmVyLgorCisyMDAxLTEyLTExICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB0b29scy93aW5lYnVpbGQvYnVpbGQuaCwgdG9vbHMvd2luZWJ1aWxkL2ltcG9ydC5jLAorCSAgdG9vbHMvd2luZWJ1aWxkL21haW4uYywgdG9vbHMvd2luZWJ1aWxkL3JlbGF5LmMsCisJICB0b29scy93aW5lYnVpbGQvc3BlYzMyLmMsIGluY2x1ZGUvd2lubnQuaCwgcmVsYXkzMi9yZWxheTM4Ni5jLAorCSAgcmVsYXkzMi9zbm9vcC5jLCBkbGxzL250ZGxsLy5jdnNpZ25vcmUsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGlmMTYzMi8uY3ZzaWdub3JlLCBpZjE2MzIvTWFrZWZpbGUuaW46CisJRXhwb3J0ZWQgQ0FMTDMyX1JlZ3MgZnJvbSBudGRsbCwgcmVuYW1lZCB0byBfX3dpbmVfY2FsbF9mcm9tXzMyX3JlZ3MKKwl0byBmb2xsb3cgdGhlIG5hbWluZyBjb252ZW50aW9uIGZvciB0aGlzIHR5cGUgb2YgZnVuY3Rpb25zLgorCVNwbGl0IDE2IGFuZCAzMi1iaXQgcmVsYXkgZnVuY3Rpb25zIGludG8gc2VwYXJhdGUgZmlsZXMsIGFuZCBtb3ZlZCB0aGUKKwkzMi1iaXQgb25lcyB0byBkbGxzL250ZGxsLgorCisJKiBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjOgorCUpvbiBHcmlmZml0aHMgPGpvbl9wX2dyaWZmaXRoc0B5YWhvby5jb20+CisJQWRkIG5ldyBzdHViIE1MTG9hZExpYnJhcnkuCisKKwkqIGRsbHMvd2luaW5ldC9odHRwLmMsIGRsbHMvd2luaW5ldC9pbnRlcm5ldC5jLCBpbmNsdWRlL3NobHdhcGkuaCwKKwkgIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmgsIGRsbHMvc2hsd2FwaS9wYXRoLmMsCisJICBkbGxzL3NobHdhcGkvcmVnLmMsIGRsbHMvc2hsd2FwaS9zaGx3YXBpX21haW4uYywKKwkgIGRsbHMvc2hsd2FwaS9zdHJpbmcuYywgZGxscy9zaGx3YXBpL3VybC5jLCBkbGxzL3JpY2hlZGl0L3JpY2hlZGl0LmMsCisJICBkbGxzL3NoZWxsMzIvY2xpcGJvYXJkLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jLAorCSAgZGxscy9zaGVsbDMyL3NoZWxscGF0aC5jLCBkbGxzL3NoZWxsMzIvdW5kb2NzaGVsbC5oLAorCSAgZGxscy9jb21jdGwzMi9jb21tY3RybC5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZ2Jyb3dzZXIuYzoKKwlKb24gR3JpZmZpdGhzIDxqb25fcF9ncmlmZml0aHNAeWFob28uY29tPgorCUFkZCBleGNsdXNpb24gZGVmcyAmIHJlbWFpbmluZyBmdW5jcywgcmVtb3ZlIGludGVybmFsIHR5cGVzICYKKwlvYmpfYmFzZS5oIChzeW5jIHdpdGggd2luIHZlcnNpb24pLCBmaXhlZCBhIG51bWJlciBvZiBmdW5jdGlvbgorCXByb3RvdHlwZXMuCisKKwkqIHNjaGVkdWxlci9wdGhyZWFkLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCUltcGxlbWVudGVkIHB0aHJlYWRfcndsb2NrIHN0dWJzLgorCisJKiBjb250cm9scy9idXR0b24uYzoKKwlCaWxsIE1lZGxhbmQgPG1lZGJpMDFAYWNjcGFjLmNvbT4KKwlGb3IgYSByYWRpbyBidXR0b24gZXZlbiBpZiB0aGUgaW5pdGlhbCBzdHlsZSBpbmNsdWRlcyBXU19UQUJTVE9QIHRoZQorCWZpcnN0IEJNX1NFVENIRUNLIDAgd2lsbCBjbGVhciBpdCAoZXZlbiBpZiB0aGUgc3RhdGUgd2FzIGNsZWFyKS4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOgorCUJpbGwgTWVkbGFuZCA8bWVkYmkwMUBhY2NwYWMuY29tPgorCUEgdHJlZXZpZXcgaXRlbSBtYXkgYmUgVFZJX1JPT1QuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCURhdmUgSGF3a2VzIDxkYXZlaEBjYWRsaW5rLmNvbT4KKwlGaXggZm9yIHRvb2xiYXIgcG90ZW50aWFsbHkgdXNpbmcgYSBOVUxMIHBvaW50ZXIuCisKKzIwMDEtMTItMDYgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGluY2x1ZGUvd2luLmgsIHdpbmRvd3Mvd2luLmMsIHdpbmRvd3Mvd2lucG9zLmM6CisJQWRkZWQgV0lOX0dldFJlY3RhbmdsZXMgZnVuY3Rpb24uCisJRml4ZWQgV2luZG93RnJvbVBvaW50IHRvIHdvcmsgYWNjcm9zcyBwcm9jZXNzZXMuCisKKwkqIHdpbmRvd3MvbWVzc2FnZS5jLCBpbmNsdWRlL3N5c21ldHJpY3MuaCwgd2luZG93cy9zeXNtZXRyaWNzLmMsCisJICB3aW5kb3dzL3N5c3BhcmFtcy5jLCBkbGxzL3VzZXIvdXNlcl9tYWluLmM6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgcHJvY2Vzc2luZyBmb3IgYWN0aW9uczogU1BJX0dFVC9TRVRHUklER1JBTlVMQVJJVFksCisJU1BJX0dFVC9TRVRJQ09OVElUTEVXUkFQLCBTUElfR0VUL1NFVE1FTlVEUk9QQUxJR05NRU5ULAorCVNQSV9HRVQvU0VURE9VQkxFQ0xLV0lEVEgsIFNQSV9HRVQvU0VURE9VQkxFQ0xLSEVJR0hULAorCVNQSV9HRVQvU0VURE9VQkxFQ0xJQ0tUSU1FLgorCisJKiB3aW5kb3dzL3NweS5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJQ2hhbmdlIHRoZSBtZXNzYWdlIHRyYWNlIGluZGVudGF0aW9uIHRvIGJlIGNvbnNpc3RlbnQgYnkgdGhyZWFkLgorCisJKiBkZWJ1Z2dlci9tc2MuYywgZGVidWdnZXIvdHlwZXMuYzoKKwlEYXZlIEhhd2tlcyA8ZGF2ZWgtd2luZUBjYWRsaW5rLmNvbT4KKwlGaXggZm9yIHNvbWUgdHlwZXMgb2YgQysrIGRlYnVnIGluZm8gdGhhdCBjYW4gY2F1c2Ugd2luZWRiZyB0byBjcmFzaC4KKworCSogd2luZG93cy9kaWFsb2cuYzoKKwlEYXZlIEhhd2tlcyA8ZGF2ZWgtd2luZUBjYWRsaW5rLmNvbT4KKwlESUFMT0dfQ3JlYXRlSW5kaXJlY3QgY2FuIGluY29ycmVjdGx5IGtpbGwgdGhlIGN1cnJlbnQgaW5wdXQgZm9jdXMuCisKKzIwMDEtMTItMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3Mvd2lucHJvYy5jLCBkbGxzL2tlcm5lbC90aHVuay5jLCBkbGxzL2tlcm5lbC91dHRodW5rLmM6CisJUmVtb3ZlZCBjYWxscyB0byBIRUFQX0dldFNlZ3B0ci4KKworCSogZGxscy93aW5lZG9zL21vZHVsZS5jOgorCUZpeGVkIGNvbXBpbGUgZm9yICFNWl9TVVBQT1JURUQuCisKKwkqIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYywgbWVtb3J5L3JlZ2lzdHJ5LmM6CisJVXNlIG50ZGxsIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIE11bHRpQnl0ZVRvV2lkZUNoYXIvV2lkZUNoYXJUb011bHRpQnl0ZQorCXRvIGF2b2lkIGNvcnJ1cHRpbmcgdGhlIGxhc3QgZXJyb3IgY29kZS4KKworCSogaW5jbHVkZS9udGRkay5oLCBtZW1vcnkvY29kZXBhZ2UuYywgZGxscy9udGRsbC9taXNjLmMsCisJICBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLCBkbGxzL250ZGxsL3J0bC5jLAorCSAgZGxscy9udGRsbC9ydGxzdHIuYywgZGxscy9udGRsbC9zZWMuYywgZGxscy9udGRsbC93Y3N0cmluZy5jOgorCVJlbW92ZWQgbnRkbGwgZGVwZW5kZW5jeSBvbiBNdWx0aUJ5dGVUb1dpZGVDaGFyL1dpZGVDaGFyVG9NdWx0aUJ5dGUKKwlrZXJuZWwzMiBmdW5jdGlvbnMsIHBsdXMgYSBmZXcgc21hbGwgY2xlYW51cHMuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvbXN2Y3J0L21iY3R5cGUuaCwKKwkgIGluY2x1ZGUvbXN2Y3J0L21ic3RyaW5nLmgsIGluY2x1ZGUvbXN2Y3J0L3N0cmluZy5oLAorCSAgZGxscy9tc3ZjcnQvbWJjcy5jLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUNsZWFudXAgYW5kIGltcHJvdmUgdGhlIG1iY3Mgc3VwcG9ydC4KKwlBZGQgbWJjdHlwZS5oIGFuZCBtYnN0cmluZy5oLgorCUltcGxlbWVudCBwdXR3YyBhbmQgcHV0d2NoYXIuCisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCURhdmUgSGF3a2VzIDxkYXZlaC13aW5lQGNhZGxpbmsuY29tPgorCVRoZSB0b29sYmFyIGNvbW1hbmRzIHdlcmUgbm90IHNlbnQgdG8gdGhlIGNvcnJlY3Qgbm90aWZpY2F0aW9uCisJd2luZG93LgorCisJKiBpbmNsdWRlL3dpbmUvbW1zeXN0ZW0xNi5oLCBpbmNsdWRlL3dpbmUvd2luZGVmMTYuaCwKKwkgIGluY2x1ZGUvd2luZS93aW5uZXQxNi5oOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlGaXhlZCBpbmNvcnJlY3QgcGFja2luZy4KKworCSogZGxscy9tc3ZjcnQvZW52aXJvbi5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJZ2V0ZW52IGlzIGNhc2UgaW5zZW5zaXRpdmUuCisKKwkqIGRsbHMvbXN2Y3J0L3RpbWUuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCW1rdGltZSBtdXN0IG5vcm1hbGl6ZSB0aGUgc3RydWN0IHRtIGZpZWxkcy4KKworMjAwMS0xMi0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogcHJvZ3JhbXMvd2luZWNvbnNvbGUvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3dpbmVjb25zb2xlL2RpYWxvZy5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvcmVnaXN0cnkuYywgcHJvZ3JhbXMvd2luZWNvbnNvbGUvdXNlci5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbl9wcml2YXRlLmgsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uX3VzZXIuaCwKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZS5zcGVjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfRW4ucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Gci5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX3Jlcy5oOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCS0gYWxsb3cgdG8gc2F2ZS9yZXN0b3JlIHNvbWUgcHJvcGVydGllcyBpbnRvIHRoZSByZWdpc3RyeSAobGlrZSBmb250LAorCSAgY3Vyc29yIHNpemUuLi4pCisJLSBpbXBsZW1lbnQgdGhlIHR3byBzZXRzIG9mIHByb3BlcnRpZXMgKGRlZmF1bHQgJiBjdXJyZW50KQorCS0gZml4ZWQgc29tZSBidWdzIG1haW5seSBpbiBkaWFsb2cKKwktIGVuaGFuY2VkIGZvbnQgc2VsZWN0aW9uIG1lY2hhbmlzbXMsCisJLSBhZGRlZCBhbmQgcHJvdGVjdGVkIHN1Yi1tZW51IGZvciBhbGwgb3BlcmF0aW9ucyAoc3lzbWVudSBpcyBub3QKKwkgIGF2YWlsIGluIG1hbmFnZWQgbW9kZSkKKwktIGJldHRlciBkYXRhIHNlcGFyYXRpb24gZm9yIHRoZSBiYWNrZW5kKHMpCisKKwkqIHNlcnZlci9jb25zb2xlLmgsIHNlcnZlci9kZWJ1Z2dlci5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLAorCSAgc2VydmVyL3Byb2Nlc3MuaCwgc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvY29uc29sZS5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUxldCB0aGUgY29uc29sZSByZW5kZXJlciBiZSBkZWZpbmVkIGFzIGEgdGhyZWFkLgorCisJKiBwcm9ncmFtcy93aW5oZWxwL21hY3JvLmg6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJT25seSBpbmNsdWRlIHRoZSBuZWNlc3NhcnkgZmlsZXMgdG8gYXZvaWQgY29uZmxpY3RzIGluIGdldGhvc3RuYW1lCisJcHJvdG90eXBlcyBiZXR3ZWVuIHdpbnNvY2suaCBhbmQgdW5pc3RkLmgKKworCSogb2JqZWN0cy9iaXRtYXAuYzoKKwlFcmlrIEluZ2UgQm9sc/ggPGtuYW5AbW8uaGltb2xkZS5ubz4KKwlDcmVhdGVCaXRtYXAgY2FuIHRha2UgbkhlaWdodCBvciBuV2lkdGggPSB6ZXJvLCBhbmQgdGhlbiByZXR1cm5zIGEKKwlwb2ludGVyIHRvIGEgMXgxIG1vbm9jaHJvbWUgYml0bWFwLgorCisJKiBkbGxzL3NobHdhcGkvb3JkaW5hbC5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBDb3JyZWN0IGltcGxlbWVudGF0aW9uIG9mIF8xNjkgKGNhbGwgb2YgUmVsZWFzZSkuIFRoaXMgZml4ZXMgY3Jhc2hlcworCSAgd2hlbiBhY3R1YWxseSBhdHRlbXB0aW5nIHRvIGNhbGwgUmVsZWFzZS4KKwktIENvcnJlY3Qgc29tZSB0cmFjZXMuCisKKwkqIG1zZG9zL01ha2VmaWxlLmluLCBtc2Rvcy9kZXZpY2VzLmMsIG1zZG9zL2Rvc2FzcGkuYywgbXNkb3MvZG9zbWVtLmMsCisJICBtc2Rvcy9kcG1pLmMsIG1zZG9zL2ludDEwLmMsIG1zZG9zL2ludDE2LmMsIG1zZG9zL2ludDE3LmMsCisJICBtc2Rvcy9pbnQxOS5jLCBtc2Rvcy9pbnQyMC5jLCBtc2Rvcy9pbnQyMS5jLCBtc2Rvcy9pbnQyOS5jLAorCSAgbXNkb3MvaW50MmYuYywgbXNkb3MvaW50MzMuYywgbXNkb3MvaW50ZXJydXB0cy5jLCBtc2Rvcy9pb3BvcnRzLmMsCisJICBtc2Rvcy92Z2EuYywgbXNkb3MveG1zLmMsIGluY2x1ZGUvY2FsbGJhY2suaCwgaW5jbHVkZS9kb3NleGUuaCwKKwkgIGluY2x1ZGUvbWlzY2VtdS5oLCBpbmNsdWRlL3ZnYS5oLCBtaXNjZW11L21haW4uYywKKwkgIGdyYXBoaWNzL2Rpc3BkaWIuYywgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9udGRsbC5zcGVjLAorCSAgZGxscy93aW5lZG9zL01ha2VmaWxlLmluLCBkbGxzL3dpbmVkb3MvZGV2aWNlcy5jLAorCSAgZGxscy93aW5lZG9zL2Rvc2FzcGkuYywgZGxscy93aW5lZG9zL2Rvc2V4ZS5oLCBkbGxzL3dpbmVkb3MvZG9zdm0uYywKKwkgIGRsbHMvd2luZWRvcy9pbnQwOS5jLCBkbGxzL3dpbmVkb3MvaW50MTAuYywgZGxscy93aW5lZG9zL2ludDE2LmMsCisJICBkbGxzL3dpbmVkb3MvaW50MTcuYywgZGxscy93aW5lZG9zL2ludDE5LmMsIGRsbHMvd2luZWRvcy9pbnQyMC5jLAorCSAgZGxscy93aW5lZG9zL2ludDIxLmMsIGRsbHMvd2luZWRvcy9pbnQyOS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQzMy5jLCBkbGxzL3dpbmVkb3MvaW9wb3J0cy5jLCBkbGxzL3dpbmVkb3MvbW9kdWxlLmMsCisJICBkbGxzL3dpbmVkb3MvdmdhLmMsIGRsbHMvd2luZWRvcy92Z2EuaCwgZGxscy93aW5lZG9zL3dpbmVkb3Muc3BlYywKKwkgIGRsbHMvd2luZWRvcy94bXMuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywKKwkgIGRsbHMva2VybmVsL3dwcm9jcy5zcGVjOgorCU1vdmVkIG1vc3Qgb2YgdGhlIHJlYWwtbW9kZSBzdHVmZiB0byBkbGxzL3dpbmVkb3MuCisKKwkqIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJQWRkZWQgU1lOQ0hST05JWkUgYWNjZXNzIHRvIHN0ZGlvIGhhbmRsZXMuCisKKwkqIGRsbHMva2VybmVsL2NvbnNvbGUuYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlDb3B5IHRoZSBjb3JyZWN0IG51bWJlciBvZiBieXRlcyBpbiBXcml0ZUNvbnNvbGVJbnB1dEEuCisKKwkqIGRsbHMvd2lubW0vbW1pby5jLCBpbmNsdWRlL21tc3lzdGVtLmg6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgYnVncyBpbiBvdXRwdXQgZnVuY3Rpb25zICh3cml0ZSkuCisJUmV3cm90ZSBzb21lIHBhcnRzIGZvciBiZXR0ZXIgRExMIHNlcGFyYXRpb24uCisJRml4ZWQgc29tZSBwcm90b3R5cGVzLgorCUZpeGVkIG1taW9BZHZhbmNlIGluIHdyaXRlIG1vZGUuCisKKwkqIGRsbHMvbXNhY20vZm9ybWF0LmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgYWNtRm9ybWF0Q2hvb3NlIHJldHVybmVkIGZpZWxkcy4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGc5NS5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQG5lcmltLm5ldD4KKwlJbml0aWFsaXplIGRpYWxvZyBkYXRhIGNvcnJlY3RseSBpbiBDcmVhdGVUZW1wbGF0ZURpYWxvZy4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQG5lcmltLm5ldD4KKwlNaXNjIGZpeGVzIHRvIERDQiBidWlsZGluZyBmcm9tIGNvbW1hbmQgbGluZS4KKworCSogdG9vbHMvd2luZWNvbmY6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCUJldHRlciBoYW5kbGluZyBvZiBjb25maWd1cmF0aW9uIHdpdGggc2V2ZXJhbCBXaW5kb3dzIGluc3RhbGxhdGlvbnMuCisKKzIwMDEtMTItMDEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvdG9vbGJhci5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJVW5kb2N1bWVudGVkIGZlYXR1cmUgb2YgVEJfe0dFVHxTRVR9QlVUVE9OSU5GT3tBfFd9OiBpZiBtYXNrIGhhcworCTB4ODAwMDAwMDAgc2V0IHRoZW4gdGhlIGNvbW1hbmQgaWQgaXMgcmVhbGx5IHRoZSBpbmRleC4KKworCSogZGxscy9zaGx3YXBpL3BhdGguYywgZGxscy9zaGx3YXBpL3JlZy5jLCBkbGxzL3NobHdhcGkvc2hsd2FwaS5zcGVjLAorCSAgZGxscy9zaGx3YXBpL3N0cmluZy5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBGaXhlZCBQYXRoSXNVUkx7QXxXfS4KKwktIEltcGxlbWVudGVkIFBhdGhSZW5hbWVFeHRlbnNpb257QXxXfSwgU0hSZWdEdXBsaWNhdGVIS2V5LAorCSAgQ2hyQ21wSXtBfFd9LgorCS0gQWRkZWQgZm9yd2FyZHMgdG8gRHJhd1RleHRXLCBDcmVhdGVEaWFsb2dQYXJhbUEsIENyZWF0ZUZvbnRXLAorCSAgVHJhY2VQb3B1cE1lbnVFeC4KKworCSogaW5jbHVkZS9zaGx3YXBpLmgsIGRsbHMvc2hsd2FwaS9vcmRpbmFsLmMsIGRsbHMvc2hsd2FwaS91cmwuYzoKKwlHdXkgTC4gQWxiZXJ0ZWxsaSA8Z2FsYmVydGVAbmVvLmxydW4uY29tPgorCS0gU3R1YiByb3V0aW5lcyBmb3IgXzE2NCwgXzIwOCwgXzIxMCwgXzIxMSwgXzIzOSwgXzM1NiwgXzQxMywgXzQzNywKKwkgIENvbG9yUkdCVG9ITFMKKwktIEltcGxlbWVudCByb3V0aW5lcyBmb3IgXzE3MiwgXzE3NCwgXzE3NiwgXzE5OSwgXzIxNSwgXzIxOSwgXzIzNiwgXzM3NywKKwkgIF8zNzgsIFVybENvbXBhcmV7QXxXfSwgVXJsQXBwbHlTY2hlbWV7QXxXfS4KKwktIEZpeCByb3V0aW5lcyBfMjE3LCBfMTY5LCBfMjQwLCBfMjc2LCBfMzQyLCBfMzc2LgorCisyMDAxLTExLTMwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3VzZXIuaCwgZGxscy90dHlkcnYvdHR5ZHJ2LnNwZWMsIGRsbHMvdHR5ZHJ2L3VzZXIuYywKKwkgIGRsbHMvdXNlci91c2VyX21haW4uYywgZGxscy94MTFkcnYveDExZHJ2LnNwZWMsCisJICBkbGxzL3gxMWRydi94MTFkcnZfbWFpbi5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCVJlbW92ZWQgR2V0L1NldFNjcmVlblNhdmVUaW1lb3V0IHVzZXIgZHJpdmVyIGZ1bmN0aW9ucyBiZWNhdXNlIHRoZXkKKwlhcmUgbm90IHVzZWQuCisKKwkqIGRsbHMvY29tY3RsMzIvaW1hZ2VsaXN0LmM6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5kZT4KKwlJbXBsZW1lbnRlZCBJbWFnZUxpc3RfR2V0RHJhZ0ltYWdlLgorCUZpeGVkIEltYWdlTGlzdF9TZXREcmFnQ3Vyc29ySW1hZ2UgYW5kIEltYWdlTGlzdF9NZXJnZS4KKwlObyBuZWVkIGZvciBTdHJldGNoQmx0IGluIEltYWdlTGlzdF9CZWdpbkRyYWcuCisJQWRkZWQgc29tZSB0cmFjZXMuCisKKwkqIGRsbHMveDExZHJ2L2RnYTIuYzoKKwlHbGVubiBTY2hyYWRlciA8Z2VzY2hyYWRlckBtZWRpYW9uZS5uZXQ+CisJVXNlIGdkaV9kaXNwbGF5IGV2ZXJ5d2hlcmUgdG8gYXZvaWQgQmFkQ29sb3IgZXJyb3JzLgorCisJKiB3aW5kb3dzL25vbmNsaWVudC5jLCB3aW5kb3dzL3BhaW50aW5nLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCVJlbW92ZSBzb21lIHBvc3NpYmxlIGludGVybG9ja2luZyBwcm9ibGVtcyB3aXRoIHBlYiBsb2NrLgorCisJKiBkbGxzL3dpbnNvY2svc29ja2V0LmM6CisJUGF1bCBSdXBlIDxwcnVwZUBuYy5yci5jb20+CisJRml4ZWQgV1NfZ2V0cGVlcm5hbWUgcGFyYW1ldGVyIGluIFdTX2FjY2VwdC4KKwlDaGFuZ2VkIG9yZGVyIG9mIGV2ZW50IHByb2Nlc3NpbmcgaW4gV0lOU09DS19Eb0FzeW5jRXZlbnQuCisKKwkqIG1lbW9yeS92aXJ0dWFsLmM6CisJQW5kcmV3IExld3lja3kgPGFuZHJld0B0cmFuc2dhbWluZy5jb20+CisJbWFwX2ltYWdlOiBtYXAgdGhlIFBFIGhlYWRlciByZWFkb25seS4KKworCSogbG9hZGVyL3BlX2ltYWdlLmM6CisJQW5kcmV3IExld3lja3kgPGFuZHJld0B0cmFuc2dhbWluZy5jb20+CisJZG9fcmVsb2NhdGlvbnM6IHByb2Nlc3MgcmVsb2NhdGlvbiBibG9ja3Mgd2l0aCBhIFZpcnR1YWxBZGRyZXNzIG9mIDAsCisJc3RvcCBvbmNlIFNpemVPZkJsb2NrID09IDAuCisKKwkqIGRvY3VtZW50YXRpb24vZGVidWdnaW5nLnNnbWw6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5jb20+CisJUmVuYW1lIGRlYnVnLmggdG8gZGVidWd0b29scy5oLgorCisJKiB3aW5kb3dzL3dpbnBvcy5jLCB3aW5kb3dzL3BhaW50aW5nLmMsIHdpbmRvd3MvcXVldWUuYywKKwkgIHdpbmRvd3MvdGltZXIuYywgd2luZG93cy93aW4uYywgd2luZG93cy9kZWZ3bmQuYywgd2luZG93cy9pbnB1dC5jLAorCSAgd2luZG93cy9tZXNzYWdlLmMsIHRvb2xzL21ha2VfcmVxdWVzdHMsIHdpbjMyL2NvbnNvbGUuYywKKwkgIHdpbjMyL2RldmljZS5jLCB3aW4zMi9leGNlcHQuYywgc2VydmVyL3RocmVhZC5oLCBzZXJ2ZXIvdGltZXIuYywKKwkgIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvd2luZG93LmMsIHNlcnZlci9hc3luYy5jLCBzZXJ2ZXIvYXRvbS5jLAorCSAgc2VydmVyL2NoYW5nZS5jLCBzZXJ2ZXIvY29uc29sZS5jLCBzZXJ2ZXIvY29uc29sZS5oLAorCSAgc2VydmVyL2NvbnRleHRfaTM4Ni5jLCBzZXJ2ZXIvY29udGV4dF9zcGFyYy5jLCBzZXJ2ZXIvZGVidWdnZXIuYywKKwkgIHNlcnZlci9kZXZpY2UuYywgc2VydmVyL2V2ZW50LmMsIHNlcnZlci9maWxlLmMsIHNlcnZlci9oYW5kbGUuYywKKwkgIHNlcnZlci9tYXBwaW5nLmMsIHNlcnZlci9tdXRleC5jLCBzZXJ2ZXIvbmFtZWRfcGlwZS5jLAorCSAgc2VydmVyL29iamVjdC5jLCBzZXJ2ZXIvb2JqZWN0LmgsIHNlcnZlci9waXBlLmMsIHNlcnZlci9wcm9jZXNzLmMsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcXVldWUuYywgc2VydmVyL3JlZ2lzdHJ5LmMsCisJICBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvc2VsZWN0LmMsCisJICBzZXJ2ZXIvc2VtYXBob3JlLmMsIHNlcnZlci9zZXJpYWwuYywgc2VydmVyL3NuYXBzaG90LmMsCisJICBzZXJ2ZXIvc29jay5jLCBzZXJ2ZXIvdGhyZWFkLmMsIG1zZG9zL3ZnYS5jLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYywgc2NoZWR1bGVyL2NsaWVudC5jLAorCSAgc2NoZWR1bGVyL2hhbmRsZS5jLCBzY2hlZHVsZXIvcGlwZS5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLAorCSAgc2NoZWR1bGVyL3N5bmNocm8uYywgc2NoZWR1bGVyL3RocmVhZC5jLCBzY2hlZHVsZXIvdGltZXIuYywKKwkgIG1lbW9yeS9hdG9tLmMsIG1lbW9yeS9yZWdpc3RyeS5jLCBtZW1vcnkvc2VsZWN0b3IuYywKKwkgIG1lbW9yeS92aXJ0dWFsLmMsIG1pc2Mvb3B0aW9ucy5jLCBtaXNjL3JlZ2lzdHJ5LmMsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyLmgsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL3BlX2ltYWdlLmMsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBpbmNsdWRlL3dpbmJhc2UuaCwgaW5jbHVkZS93aW5jb24uaCwgZGxscy91c2VyL21lc3NhZ2UuYywKKwkgIGRsbHMvdXNlci9wcm9wZXJ0eS5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGZpbGVzL2NoYW5nZS5jLAorCSAgZmlsZXMvZG9zX2ZzLmMsIGZpbGVzL2ZpbGUuYywgZGxscy9udGRsbC9leGNlcHRpb24uYywKKwkgIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL29tLmMsCisJICBkbGxzL250ZGxsL3JlZy5jLCBkbGxzL250ZGxsL3N5bmMuYywgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sCisJICBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywKKwkgIGRsbHMva2VybmVsL3N5bmMuYywgZGxscy9rZXJuZWwvdG9vbGhlbHAuYywKKwkgIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYzoKKwlSZWRlc2lnbiBvZiB0aGUgc2VydmVyIGNvbW11bmljYXRpb24gcHJvdG9jb2wgdG8gYWxsb3cgYXJiaXRyYXJ5IHNpemVkCisJZGF0YSB0byBiZSBleGNoYW5nZWQuCisJU3BsaXQgcmVxdWVzdCBhbmQgcmVwbHkgc3RydWN0dXJlcyB0byBtYWtlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CisJZWFzaWVyLgorCU1vdmVkIG1hbnkgY29uc29sZSBmdW5jdGlvbnMgdG8gZGxscy9rZXJuZWwsIGFkZGVkIGNvZGUgcGFnZSBzdXBwb3J0LAorCWNoYW5nZWQgYSBmZXcgcmVxdWVzdHMgdG8gYmVoYXZlIHByb3Blcmx5IHdpdGggdGhlIG5ldyBwcm90b2NvbC4KKworMjAwMS0xMS0yNSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogdG9vbHMvZm9udF9jb252ZXJ0LnNoLCBkb2N1bWVudGF0aW9uL2RiMmh0bWwtd2luZWhxLAorCSAgZG9jdW1lbnRhdGlvbi9tYWtlX3dpbmVocToKKwlBbmRyZWFzIE1vaHIgPGFuZGlAcmhseDAxLmZodC1lc3NsaW5nZW4uZGU+CisJQXZvaWQgcG90ZW50aWFsIHByb2JsZW1zIHdpdGggZmlsZW5hbWVzIGNvbnRhaW5pbmcgc3BhY2VzLgorCisJKiB3aW4zMi9jb25zb2xlLmMsIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTm93IHBhc3NpbmcgZXZlbnQgd2l0aCAtLXVzZS1ldmVudCB0byBsZXQgcHJvZ3JhbXMgc3RhcnRpbmcgd2l0aAorCWRpZ2l0cyBiZWluZyBydW4uCisKKwkqIG1pc2NlbXUvbWFpbi5jOgorCUpvc2h1YSBUaGllbGVuIDx0aGllbGVuQG5ldHByaW5jZS5uZXQ+CisJbW1zeXN0ZW0uZGxsIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGxvYWRlZCBmb3IgMTYtYml0IGFwcHMuCisKKwkqIGRlYnVnZ2VyL2RlYnVnLmw6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgSU8gd2hlbiBub3QgcnVuIHdpdGggd2luZWNvbnNvbGUuCisKKzIwMDEtMTEtMjQgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHByb2dyYW1zL3dpbnZlci9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvd2luZXRlc3QvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy93aW5oZWxwL01ha2VmaWxlLmluLCBwcm9ncmFtcy93aW5lY29uc29sZS9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVtaW5lL01ha2VmaWxlLmluLCBwcm9ncmFtcy91bmluc3RhbGxlci9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3ZpZXcvTWFrZWZpbGUuaW4sIHByb2dyYW1zL3djbWQvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy9vc3ZlcnNpb25jaGVjay9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcHJvZ21hbi9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3JlZ2FwaS9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvcmVndGVzdC9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL2NtZGxndHN0L01ha2VmaWxlLmluLCBwcm9ncmFtcy9jb250cm9sL01ha2VmaWxlLmluLAorCSAgcHJvZ3JhbXMvbm90ZXBhZC9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvYXZpdG9vbHMvTWFrZWZpbGUuaW4sCisJICBwcm9ncmFtcy9jbG9jay9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvTWFrZXByb2cucnVsZXMuaW46CisJQ29tcGlsZSBhbGwgcHJvZ3JhbXMgd2l0aCAtRFNUUklDVCAtRE5PTkFNRUxFU1NVTklPTiAtRE5PTkFNRUxFU1NTVFJVQ1QuCisKKwkqIHNlcnZlci93aW5kb3cuYzoKKwlTa2lwIHF1ZXVlIGNsZWFudXBzIGlmIHF1ZXVlIGhhcyBiZWVuIGRlc3Ryb3llZCBhbHJlYWR5LgorCisJKiBkbGxzL250ZGxsL3JlZy5jLCBtZW1vcnkvcmVnaXN0cnkuYywgZGxscy9hZHZhcGkzMi9yZWdpc3RyeS5jOgorCUZpeGVkIHJlZ2lzdHJ5IHJvdXRpbmVzIGJyb2tlbiBieSB0aGUgc3RydWN0dXJlIHNpemVzIGZpeC4KKworMjAwMS0xMS0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGVidWdnZXIvTWFrZWZpbGUuaW4sIGRlYnVnZ2VyL2RlYnVnLmwsIGRlYnVnZ2VyL2RlYnVnZ2VyLmgsCisJICBkZWJ1Z2dlci9lZGl0bGluZS5jLCBkZWJ1Z2dlci9oYXNoLmMsIGRlYnVnZ2VyL3NvdXJjZS5jLAorCSAgZGVidWdnZXIvd2luZWRiZy5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCVJldmlzaXRlZCBjb25zb2xlIHN1cHBvcnQgKGdvdCByaWQgb2Ygb2xkIGhhY2tzIGFuZCBwcml2YXRlIGVkaXRsaW5lCisJc2luY2Ugd2Ugbm93IGhhdmUgYSBicmFuZCBuZXcgY29uc29sZSksIHJlbW92ZWQgcHJpdmF0ZSBkZWJ1ZyBoZWFwLgorCisJKiB3aW4zMi9NYWtlZmlsZS5pbiwgd2luMzIvY29uc29sZS5jLCB3aW4zMi9lZGl0bGluZS5jLAorCSAgdG9vbHMvbWFrZV9yZXF1ZXN0cywgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2NvbnNvbGUuaCwKKwkgIHNlcnZlci9kZWJ1Z2dlci5jLCBzZXJ2ZXIvZmlsZS5jLCBzZXJ2ZXIvaGFuZGxlLmMsIHNlcnZlci9vYmplY3QuaCwKKwkgIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9wcm9jZXNzLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsCisJICBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLnNwZWMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9Fbi5yYywKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlX0ZyLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfcmVzLmgsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9yZXMucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS8uY3ZzaWdub3JlLCBwcm9ncmFtcy93aW5lY29uc29sZS9NYWtlZmlsZS5pbiwKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL2RpYWxvZy5jLCBwcm9ncmFtcy93aW5lY29uc29sZS91c2VyLmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uX3ByaXZhdGUuaCwKKwkgIHByb2dyYW1zL3dpbmVjb25zb2xlL3dpbmVjb25zb2xlLmMsIGxvYWRlci9tb2R1bGUuYywKKwkgIHByb2dyYW1zL01ha2VmaWxlLmluLCBpbmNsdWRlL2ZpbGUuaCwgaW5jbHVkZS93aW5jb24uaCwKKwkgIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwgZGxscy94MTFkcnYveDExZHJ2X21haW4uYywKKwkgIGRvY3VtZW50YXRpb24vcnVubmluZy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluLCBmaWxlcy9maWxlLmMsCisJICBjb25maWd1cmUuaW4sIE1ha2VmaWxlLmluLCBjb25maWd1cmU6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJTmV3IGNvbnNvbGUgY29kZSBiYXNlZCBvbiBXaW4zMiB3aW5kb3dzLgorCisJKiBtc2Rvcy92eGQuYywgbG9hZGVyL3BlX2ltYWdlLmMsIG1lbW9yeS9yZWdpc3RyeS5jLCBkbGxzL250ZGxsL3JlZy5jLAorCSAgaW5jbHVkZS9jb21tY3RybC5oLCBpbmNsdWRlL2RwbGF5LmgsIGluY2x1ZGUvZHBsb2JieS5oLAorCSAgaW5jbHVkZS9tbXN5c3RlbS5oLCBpbmNsdWRlL25iMzAuaCwgaW5jbHVkZS9udGRkay5oLAorCSAgaW5jbHVkZS9udGRlZi5oLCBpbmNsdWRlL3dpbmJhc2UuaCwgaW5jbHVkZS93aW5nZGkuaCwKKwkgIGluY2x1ZGUvd2lubnQuaCwgaW5jbHVkZS93aW51c2VyLmgsIGRsbHMvYWR2YXBpMzIvcmVnaXN0cnkuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZpeGVkIHBhY2tpbmcgYW5kIGxheW91dCBvZiBtYW55IHN5c3RlbSBzdHJ1Y3R1cmVzLgorCisJKiBkbGxzL21zdmNydC9lbnZpcm9uLmM6CisJVXdlIEJvbm5lcyA8Ym9uQGVsZWt0cm9uLmlrcC5waHlzaWsudHUtZGFybXN0YWR0LmRlPgorCU1TVkNSVF9nZXRlbnY6IGNvbXBhcmUgZm9yIHRoZSBsZW5ndGggb2YgdGhlIGtleSBhbmQgcmV0dXJuIE5VTEwgaW4KKwljYXNlIG9mIGZhaWx1cmUuCisKKwkqIGRvY3VtZW50YXRpb24vcGFja2FnaW5nLnNnbWw6CisJTWljaGFlbCBTdGVmYW5pdWMgPG1zdGVmYW5pQHJlZGhhdC5jb20+CisJQWRkIG1pc3NpbmcgPC9wYXJhPi4KKworCSogZGxscy91c2VyL2NvbW0xNi5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlX21jY29ybWFja0BzdGFydC5jb20uYXU+CisJQ2hlY2sgZm9yIGNvbXBsZXRlZCBvdmVybGFwcGVkcyBpbiBSZWFkQ29tbTE2IHRvIHNvbHZlIHByb2JsZW1zIHdpdGgKKwlwcm9ncmFtcyB0aGF0IGxvb3Agb24gaXQgYnV0IGRvbid0IGdldCBkYXRhLgorCisJKiBpbmNsdWRlL21zdmNydC9zeXMvdHlwZXMuaDoKKwlVd2UgQm9ubmVzIDxib25AZWxla3Ryb24uaWtwLnBoeXNpay50dS1kYXJtc3RhZHQuZGU+CisJX2Rldl90IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuCisKKzIwMDEtMTEtMjAgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHdpbmRvd3Mvc3lzcGFyYW1zLmMsIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmM6CisJQW5kcml5IFBhbGFtYXJjaHVrIDxhcGEzYUB5YWhvby5jb20+CisJSW1wbGVtZW50ZWQgcHJvY2Vzc2luZyBmb3IgYWN0aW9ucyBTUElfR0VUL1NFVFNDUkVFTlNBVkVUSU1FT1VULAorCVNQSV9HRVQvU0VUU0NSRUVOU0FWRUFDVElWRSwgU1BJX0dFVC9TRVRTQ1JFRU5TQVZFUlJVTk5JTkcuCisKKwkqIGRsbHMvYWR2YXBpMzIvYWR2YXBpLmM6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJR2V0VXNlck5hbWUgc2hvdWxkIGluY2x1ZGUgdGhlIHRlcm1pbmF0aW5nIG51bGwgY2hhcmFjdGVyIHdoZW4KKwlyZXR1cm5pbmcgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciByZXR1cm5lZC4gQ29ycmVjdGx5IGhhbmRsZSB0aGUKKwlFUlJPUl9NT1JFX0RBVEEgY2FzZS4KKworCSogbWVtb3J5L2dsb2JhbC5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwlVc2UgZXhjZXB0aW9uIGhhbmRsZXIgZm9yIEdsb2JhbFVubG9jaywgR2xvYmFsRnJlZS4KKworCSogZGxscy93aW5lZG9zL2ludDA5LmMsIGRsbHMvd2luZWRvcy9tb2R1bGUuYywgd2luZG93cy9jdXJzb3JpY29uLmMsCisJICBkbGxzL3NoZWxsMzIvc2hlbGxzdHJpbmcuYywgZGxscy9zaGx3YXBpL29yZGluYWwuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlEb2N1bWVudGF0aW9uIGZpeGVzLgorCisJKiBkbGxzL3gxMWRydi94MTFkcnYuc3BlYywgZGxscy9tc3JsZTMyL21zcmxlMzIuYzoKKwlQYXRyaWsgU3RyaWR2YWxsIDxwc0BsZWlzc25lci5zZT4KKwlGaXhlZCBzb21lIGlzc3VlcyBmb3VuZCBieSB3aW5hcGlfY2hlY2suCisKKwkqIHRvb2xzL3dpbmFwaV9jaGVjay9tb2R1bGVzLmRhdCwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4xNi93aW5zb2NrLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9hdmljYXAzMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvbWFwaTMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9tc2ltZzMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9tc3JsZTMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9tc3ZjcnQuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL21zdmZ3MzIuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL25ldGFwaTMyLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9zaGx3YXBpLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi9zdGkuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3R0eWRydi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIvdXJsLmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW4zMi91cmxtb24uYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3dpbmVkb3MuYXBpLAorCSAgdG9vbHMvd2luYXBpX2NoZWNrL3dpbjMyL3dzMl8zMi5hcGksCisJICB0b29scy93aW5hcGlfY2hlY2svd2luMzIveDExZHJ2LmFwaSwKKwkgIHRvb2xzL3dpbmFwaV9jaGVjay93aW5hcGlfY2hlY2s6CisJUGF0cmlrIFN0cmlkdmFsbCA8cHNAbGVpc3NuZXIuc2U+CisJTWlub3IgQVBJIGZpbGVzIHVwZGF0ZS4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJRGF2ZSBIYXdrZXMgPGRhdmVoLXdpbmVAY2FkbGluay5jb20+CisJVE9PTEJBUl9HZXRSZWN0IGRpZCBub3QgY29ycmVjdGx5IHRyYW5zbGF0ZSB0aGUgY29tbWFuZCBJRCB0byB0aGUKKwlidXR0b24gaW5kZXguCisKKwkqIHRvb2xzL3dpbmVzaGVsbGxpbms6CisJRHVzYW4gTGFja28gPGRsYWNrb0Bjb2Rld2VhdmVycy5jb20+CisJQWRkIERlYmlhbi9NYW5kcmFrZSBtZW51IHN5c3RlbSBzdXBwb3J0LgorCisJKiB3aW5kb3dzL2NsYXNzLmM6CisJQmlsbCBNZWRsYW5kIDxCaWxsLk1lZGxhbmRAYWNjcGFjLmNvbT4KKwlJdCBpcyBsZWdhbCB0byBjYWxsIFVucmVnaXN0ZXJDbGFzcyB3aXRoIGFuIGhJbnN0YW5jZSBvZiB6ZXJvLgorCisJKiBzZXJ2ZXIvY29udGV4dF9pMzg2LmMsIHNlcnZlci9jb250ZXh0X3NwYXJjLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJT25seSBpbmNsdWRlICdzeXMvdXNlci5oJyBmb3IgTGludXguIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3Igb24KKwlGcmVlQlNEIDUuMC4KKworCSogaW5jbHVkZS93aW5udC5oLCBkbGxzL2FkdmFwaTMyL3NlcnZpY2UuYywgZGxscy9udGRsbC9udC5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUZpeCBMVUlEIGRlZmluaXRpb24uCisKKwkqIHdpbmRvd3Mvc3B5LmMsIGluY2x1ZGUvd2ludXNlci5oOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQ29udmVydCBtZXNzYWdlIHNweSB0byB1bmljb2RlLgorCisJKiB3aW5kb3dzL3gxMWRydi9rZXlib2FyZC5jOgorCURhdmUgSGF3a2VzIDxkYXZlaC13aW5lQGNhZGxpbmsuY29tPgorCUZpeCBsb2NrIHVwIGluIEdldEtleU5hbWVUZXh0IGR1ZSB0byBhbiBpbmNyZW1lbnQgd3JhcCB3aGVuIEtleUNvZGUgaXMKKwlhIGNoYXIgdHlwZSBhbmQgbWF4X2tleWNvZGUgaXMgMjU1LgorCisyMDAxLTExLTE5ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW4zMi9leGNlcHQuYywgd2luMzIvdGltZS5jLCBwcm9ncmFtcy91bmluc3RhbGxlci9tYWluLmMsCisJICBwcm9ncmFtcy91bmluc3RhbGxlci9yc3JjLnJjLCBzY2hlZHVsZXIvcHRocmVhZC5jLAorCSAgdG9vbHMvd2luZWluc3RhbGwsIG1zZG9zL2ludDIxLmMsIG1pc2MvY2Ryb20uYywgZmlsZXMvZGlyZWN0b3J5LmMsCisJICBmaWxlcy9kb3NfZnMuYywgZG9jdW1lbnRhdGlvbi9zYW1wbGVzL2NvbmZpZywKKwkgIGRvY3VtZW50YXRpb24vcGFja2FnaW5nLnNnbWwsIGRsbHMveDExZHJ2L2RnYTIuYywKKwkgIGRsbHMvd2luZXBzL3dwc19EZS5yYywgZGxscy9vbGVhdXQzMi90eXBlbGliLmMsCisJICBkbGxzL29sZTMyL2NvbXBvYmouYywgY29udHJvbHMvRURJVC5UT0RPLAorCSAgZGxscy9kcGxheXgvZHBsYXl4X2dsb2JhbC5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwktIGZpeCB3cm9uZyBoZXhhZGVjaW1hbCBHZXRMYXN0RXJyb3IoKSBvdXRwdXQKKwktIG1pc2MgZml4ZXMKKwktIGNoYW5nZWQgbXkgZW1haWwgYWRkcmVzcworCisJKiBkbGxzL2tlcm5lbC9kZWJ1Z2dlci5jLCBzZXJ2ZXIvcHJvY2Vzcy5jLCB0b29scy93aW5lYnVpbGQvc3BlYzMyLmM6CisJSmFtZXMgSnVyYW4gPGphbWVzanVyYW5AYWx1bW5pLnBzdS5lZHU+CisJUHJldmVudCB3YXJuaW5ncyBhYm91dCBsYWJlbHMgYXQgZW5kIG9mIHN3aXRjaCBzdGF0ZW1lbnRzIHdoZW4KKwljb21waWxpbmcgd2l0aCBnY2MtMy54LgorCisJKiBkbGxzL3dzb2NrMzIvcHJvdG9jb2wuYywgZGxscy93c29jazMyL3NvY2tldC5jLCBzZXJ2ZXIvdHJhY2UuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCUZpeCB0aGUgU29sYXJpcyBhbmQgRnJlZUJTRCBjb21waWxhdGlvbiBlcnJvcnMgaW50cm9kdWNlZCBieSB0aGUKKwlyZWNlbnQgd2luc29jayB1cGRhdGUuCisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOgorCVNpbW9uIEJyaXRuZWxsIDx1Z2hiYXNoQHlhaG9vLmNvbT4KKwlGaXggYSBsb29wIHBsYXlpbmcgZmFpbHVyZSBhbmQgYSBwcm9ibGVtIHdpdGggY2hvcHB5IHNvdW5kLgorCisJKiBpbmNsdWRlL21zdmNydC9wcm9jZXNzLmgsIGRsbHMvZGlucHV0L2pveXN0aWNrL2xpbnV4LmMsCisJICBkbGxzL3NobHdhcGkvdXJsLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJQSBmZXcgdHlwb3MuCisKKwkqIGluY2x1ZGUvcnBjbmRyLmg6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJTUlETF9TVFVCX01FU1NBR0UgbmVlZHMgYSBwYWNrNCBmb3IgdGhlIE1heENvdW50IGZpZWxkLgorCisJKiBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCUJldHRlciByZWxheWluZyBmb3IgX2xjcmVhdC4KKworCSogZGxscy9hdmljYXAzMi9hdmljYXAzMi5zcGVjOgorCU1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCVNtYWxsIHR5cG8gaW4gYXZpY2FwMzIuc3BlYyBmaXhlZC4KKworCSogd2luZG93cy93aW4uYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBuZXJpbS5uZXQ+CisJRml4IGV4Y2hhbmdlZCBsaW5lcyBpbiBXSU5fR2V0V2luZG93TG9uZy4KKworMjAwMS0xMS0xNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogd2luZG93cy9kZWZ3bmQuYzoKKwlUcnVuY2F0ZSB0aGUgd2luZG93IHRleHQgaWYgaXQgaXMgdG9vIGxhcmdlIGZvciB0aGUgcmVxdWVzdCBidWZmZXIuCisKKwkqIHdpbmRvd3MvY2xhc3MuYzoKKwlKb3NodWEgVGhpZWxlbiA8dGhpZWxlbkBuZXRwcmluY2UubmV0PgorCUxvY2FsIGNsYXNzZXMgcmVnaXN0ZXJlZCB3aXRoIFVTRVIgaW5zdGFuY2UgaGFuZGxlIG5vdyBhcmUgbm93IGZvdW5kCisJaW4gQ0xBU1NfRmluZENsYXNzQnlBdG9tLgorCisJKiBpbmNsdWRlL3JpY2hlZGl0LmgsIGRsbHMvcmljaGVkaXQvcmljaGVkaXQuYzoKKwlKdXNzaSBKdW1wcGFuZW4gPGp1c3NpakB6ZXVzZWRpdC5jb20+CisJQWRkZWQgbWlzc2luZyBSaWNoRWRpdCBkZWZpbmVzLgorCisyMDAxLTExLTE0ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL3dpbi5jLCBkbGxzL3VzZXIvbWVzc2FnZS5jLCBpbmNsdWRlL3dpbi5oLCBzZXJ2ZXIvcXVldWUuYywKKwkgIHNlcnZlci91c2VyLmgsIHNlcnZlci93aW5kb3cuYzoKKwlNb3ZlZCBXSU5fRmluZFdpblRvUmVwYWludCBmdW5jdGlvbmFsaXR5IHRvIHRoZSBzZXJ2ZXIuCisKKwkqIHNlcnZlci9zb2NrLmMsIGluY2x1ZGUvd2luZS93aW5zb2NrMTYuaCwgaW5jbHVkZS9NYWtlZmlsZS5pbiwKKwkgIGluY2x1ZGUvd2luZG93cy5oLCBpbmNsdWRlL3dpbnNvY2suaCwgaW5jbHVkZS93aW5zb2NrMi5oLAorCSAgaW5jbHVkZS93czJ0Y3BpcC5oLCBpbmNsdWRlL3dzaXB4LmgsIGRsbHMvd2luc29jay9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luc29jay9hc3luYy5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsCisJICBkbGxzL3dpbnNvY2svd2luc29jay5zcGVjLCBkbGxzL3dpbnNvY2svd3MyXzMyLnNwZWMsCisJICBkbGxzL3dzb2NrMzIvcHJvdG9jb2wuYywgZGxscy93c29jazMyL3NvY2tldC5jLAorCSAgZGxscy93c29jazMyL3dzb2NrMzIuc3BlYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlNYWtlIHdpbnNvY2suaCBhbmQgd2luc29jazIuaCBpbmRlcGVuZGVudCBmcm9tIHRoZSBVbml4IGhlYWRlcnMuCisJTWFrZSB0aGVtIGNvbXBhdGlibGUgd2l0aCBib3RoIHRoZSBVbml4IEMgaGVhZGVycyBhbmQgdGhlIE1TVkNSVAorCWhlYWRlcnMuCisJRW5zdXJlIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgVW5peCBoZWFkZXJzIHZpYSB0aGUgVVNFX1dTX1BSRUZJWAorCW1hY3JvLgorCUFkZCBXSU5FX05PV0lOU09DSzogcHJldmVudHMgd2luc29jay5oIGZyb20gYmVpbmcgaW5jbHVkZWQgZnJvbQorCXdpbmRvd3MuaCB3aGVuIGRlZmluZWQuCisJQWRkIHdzMnRjcGlwLmgsIG1vdmUgZGVmaW5pdGlvbnMgdG8gdGhlIHJpZ2h0IGhlYWRlci4KKworCSogaW5jbHVkZS93aW5nZGkuaDoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVN0cnVjdHVyZSBORVdURVhUTUVUUklDIHVzZXMgcGFja2luZyA0LgorCisJKiBpbmNsdWRlL21hcGlkZWZzLmg6CisJSnVzc2kgSnVtcHBhbmVuIDxqdXNzaWpAemV1c2VkaXQuY29tPgorCUFkZGVkIG1pc3NpbmcgTUFQSSBkZWZpbmVzLgorCisyMDAxLTExLTEzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL3BhaW50aW5nLmMsIHdpbmRvd3Mvd2luLmMsCisJICBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci9xdWV1ZS5jLAorCSAgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmMsIHNlcnZlci91bmljb2RlLmgsIHNlcnZlci91c2VyLmgsCisJICBzZXJ2ZXIvd2luZG93LmM6CisJU3RvcmUgdGhlIHdpbmRvdyBjYXB0aW9uIHRleHQgaW4gdGhlIHNlcnZlci4KKwlNYWludGFpbiBhIHBhaW50IGNvdW50IHNlcGFyYXRlbHkgZm9yIGVhY2ggd2luZG93LgorCisJKiBkbGxzL3gxMWRydi93aW5wb3MuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBuZXJpbS5uZXQ+CisJRml4IHRoZSBzZXJ2ZXIgcGFpbnQgY291bnQgaW4gU2V0V2luZG93UG9zLgorCisJKiBkbGxzL3dpbm1tL21tc3lzdGVtLmMsIGRsbHMvd2lubW0vd2F2ZW1hcC93YXZlbWFwLmM6CisJRXJpYyBQb3VlY2ggPGVyaWMucG91ZWNoQHdhbmFkb28uZnI+CisJRml4ZWQgd2F2ZShJbnxPdXQpT3BlbiB3aGVuIGNhbGxlZCB3aXRoIFdBVkVfTUFQUEVEIGZsYWc7IHNvbWUgbWlub3IKKwkxNi8zMiBBUEkgY2FsbCBvcmRlcmluZy4KKworCSogd2luZG93cy9pbnB1dC5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUltcGxlbWVudGVkIHByb2Nlc3NpbmcgZm9yIFNQSV9HRVQvU0VUTU9VU0UsIFNQSV9HRVQvU0VUS0VZQk9BUkRERUxBWSwKKwlTUElfR0VUL1NFVEtFWUJPQVJEU1BFRUQgYWN0aW9ucy4gSW1wbGVtZW50ZWQgdXNlIG9mIG1vdXNlCisJYWNjZWxlcmF0aW9uL3RocmVzaG9sZCBmb3IgcmVsYXRpdmUgbW91c2UgbW92ZW1lbnRzLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJQW5kcmVhcyBNb2hyIDxhbmRpQHJobHgwMS5maHQtZXNzbGluZ2VuLmRlPgorCUVESVRfRU1fTGluZUxlbmd0aCBjYWxsZWQgZnJvbSB3aXRoaW4gRURJVF9FTV9MaW5lTGVuZ3RoIG5lZWRzCisJc3RhcnRpbmcgbGluZSBjaGFyIGluZGV4LCBub3QgbGluZSBpbmRleCAoPT0gbGluZSBudW1iZXIpLgorCisJKiBpbmNsdWRlL3NobHdhcGkuaCwgZGxscy9zaGx3YXBpL29yZGluYWwuYywgZGxscy9zaGx3YXBpL3JlZy5jLAorCSAgZGxscy9zaGx3YXBpL3NobHdhcGkuc3BlYywgZGxscy9zaGx3YXBpL3VybC5jOgorCUd1eSBMLiBBbGJlcnRlbGxpIDxnYWxiZXJ0ZUBuZW8ubHJ1bi5jb20+CisJLSBJbXBsZW1lbnQgb3JkaW5hbHMgNywgOCwgOSwgMTMsIDE0LCAxOSwgMzYuCisJLSBJbXBsZW1lbnQgU0hSZWdXcml0ZVVTVmFsdWV7QXxXfSwgVXJsR2V0UGFydHtBfFd9LCBVcmxJcy4uLntBfFd9CisKKzIwMDEtMTEtMTIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvd2lubW0vd2luZW9zcy9hdWRpby5jOgorCUVyaWMgUG91ZWNoIDxlcmljLnBvdWVjaEB3YW5hZG9vLmZyPgorCUZpeGVkIHNvbWUgcmFjZSBjb25kaXRpb25zIGluIG5vdGlmaWNhdGlvbiB2cy4gb3BlcmF0aW9uCisJc3luY2hyb25pemF0aW9uIHVzaW5nIHRoZSBzYW1lIGluIHByb2Nlc3MgbWVzc2FnZSByaW5nIGluIHdhdmVJbiBhcyBpbgorCXdhdmVPdXQuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUh1dyBEIE0gRGF2aWVzIDxoZGF2aWVzQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlcyBzdHVwaWQgYnVnIHdpdGggdHlwZWxpYiBmaWxlbmFtZXMuCisKKwkqIGRsbHMvdXNlci93bmQxNi5jOgorCUxhd3NvbiBXaGl0bmV5IDxsYXdzb25fd2hpdG5leUBqdW5vLmNvbT4KKwlDYXN0IGlkIHRvIHVuc2lnbmVkIGluIEdldERsZ0l0ZW0xNi4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOgorCUdlcnNvbiBLdXJ6IDxHZXJzb24uS3VyekBwZXJnYW1vbi1zb2Z0d2FyZS5kZT4KKwlQYXJpdHkgc2V0dGluZ3Mgd2VyZSBub3Qgc2V0IHByb3Blcmx5IGluIEJ1aWxkQ29tbURDQkFuZFRpbWVvdXRzKCkKKwliZWNhdXNlIG9mIGFuIG9mZi1ieS1vbmUgZXJyb3IuCisKKwkqIGRsbHMvY29tbWRsZy9mb250ZGxnLmM6CisJR2VyYXJkIFBhdGVsIDxnZXJhcmQucGF0ZWxAbmVyaW0ubmV0PgorCUZpeGVkIGhhbmRsaW5nIG9mIC0xIGl0ZW1pZCBpbiBXTV9EUkFXSVRFTS4KKworCSogZGxscy9tc3ZjcnQvbWJjcy5jLCBkbGxzL21zdmNydC9tc3ZjcnQuc3BlYywgZGxscy9tc3ZjcnQvdGltZS5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQG5lcmltLm5ldD4KKwktIGltcGxlbWVudCBtYnNjc3BuIG1vc3RseSBhcyBhIHN0dWIKKwktIHJlaW1wbGVtZW50IG1rdGltZQorCisJKiBkbGxzL3Jhc2FwaTMyL3Jhc2FwaS5jOgorCUFuZHJlYXMgTW9ociA8YW5kaUByaGx4MDEuZmh0LWVzc2xpbmdlbi5kZT4KKwktIGRvbid0IGZvcmdldCB0byBpbml0aWFsaXplIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byAwCisJLSBhZGQgIlJBUyBkb2Vzbid0IHdvcmsiIHdhcm5pbmcKKworMjAwMS0xMS0wOSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy93aW5tbS93aW5lb3NzL2F1ZGlvLmM6CisJU2ltb24gQnJpdG5lbGwgPHVnaGJhc2hAeWFob28uY29tPgorCUNsZWFuZWQgdXAgdGhlIHdvZFBsYXllciBmdW5jdGlvbmFsaXR5IHRvIG1ha2UgaXQgZWFzaWVyIHRvIGZvbGxvdy4KKwlDaGFuZ2VkIG5vdGlmaWNhdGlvbiB0byBiZSBjYWxjdWxhdGVkIGZyb20gYnl0ZXMgcGxheWVkIHJhdGhlciB0aGFuCisJdGltZSBlbGFwc2VkLgorCisJKiBkbGxzL21zYWNtL2RyaXZlci5jOgorCVRyYXZpcyBNaWNoaWVsc2VuIDx0am1pY2hpZWxzZW5AeWFob28uY29tPgorCVRlc3QgYml0cyB3aXRoICcmJyBpbnN0ZWFkIG9mICcmJicuCisKKwkqIHdpbmRvd3Mvc3lzbWV0cmljcy5jLCB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUFuZHJpeSBQYWxhbWFyY2h1ayA8YXBhM2FAeWFob28uY29tPgorCUltcGxlbWVudGVkIFNQSV9JQ09OSE9SSVpPTlRBTFNQQUNJTkcsIFNQSV9JQ09OVkVSVElDQUxTUEFDSU5HIHN5c3RlbQorCXBhcmFtZXRlcnMgcHJvY2Vzc2luZy4KKworCSogcHJvZ3JhbXMvcmVnYXBpL3JlZ2FwaS5jOgorCUZyYW7nb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJQ29ycmVjdCBoYW5kbGluZyBvZiBzdHJpbmdzIGluIHNldFZhbHVlLgorCUJldHRlciBoYW5kbGluZyBvZiBzdHIoeCkgYW5kIGhleCh4KSBpbiBzZXRWYWx1ZS4KKwlNaXNjIHR5cG9zLgorCisJKiBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPm8KKwlEb2N1bWVudCB0aGUgbmV3IC13aW52ZXIgdmVyc2lvbnMuCisKKwkqIGRsbHMvdXNlci93bmQxNi5jOgorCUpvc2h1YSBUaGllbGVuIDx0aGllbGVuQG5ldHByaW5jZS5uZXQ+CisJQ2hhbmdlZCBCTV8gbWVzc2FnZXMgU0VUQ0hFQ0sgYW5kIEdFVENIRUNLIHRvIFNFVENIRUNLMTYgYW5kCisJR0VUQ0hFQ0sxNiBpbiBDaGVja0RsZ0l0ZW0xNiBhbmQgSXNEbGdJdGVtQ2hlY2tlZDE2LgorCUNhc3QgVUlOVDE2IHZhbHVlIHRvIFVJTlQgb3IgSU5UIGRlcGVuZGluZyBvbiBzaWduIGluIFNldERsZ0l0ZW1JbnQxNi4KKworCSogcmVsYXkzMi9idWlsdGluMzIuYzoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVJlY29nbml6ZSB0aGUgRnJlZUJTRCBkbG9wZW4gZXF1aXZhbGVudCBvZiAiY2Fubm90IG9wZW4iLgorCisJKiBkbGxzL3NobHdhcGkvc3RyaW5nLmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwlVc2UgcHJvcGVyIHVuaWNvZGUgcm91dGluZS4KKworCSogTWFrZS5ydWxlcy5pbjoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCU1ha2Ugb3V0LW9mLXNvdXJjZS10cmVlIGJ1aWxkcyB3b3JrIHdpdGggU29sYXJpcyBtYWtlLgorCisyMDAxLTExLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBpbmNsdWRlL3ZlcnNpb24uaCwgQU5OT1VOQ0UsIENoYW5nZUxvZzoKKwlSZWxlYXNlIDIwMDExMTA4LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAxLTExLTA4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL21zdmNydC93Y3MuYywgZGxscy9zaGx3YXBpL3VybC5jLCBpbmNsdWRlL3dpbmUvdW5pY29kZS5oOgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS92ZXJzaW9uLmggYi9pbmNsdWRlL3ZlcnNpb24uaAppbmRleCAzMTU0MGY2Li40YWU1OTJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL3ZlcnNpb24uaAorKysgYi9pbmNsdWRlL3ZlcnNpb24uaApAQCAtMSArMSBAQAotI2RlZmluZSBXSU5FX1JFTEVBU0VfSU5GTyAiV2luZSByZWxlYXNlIDIwMDExMTA4IgorI2RlZmluZSBXSU5FX1JFTEVBU0VfSU5GTyAiV2luZSByZWxlYXNlIDIwMDExMjI2Igo=