ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggODRjYzAwYi4uN2E1NjQ3YSAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsMTIgKzEsMTMgQEAKLVRoaXMgaXMgcmVsZWFzZSAyMDAzMDYxOCBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgorVGhpcyBpcyByZWxlYXNlIDIwMDMwNzA5IG9mIFdpbmUsIGEgZnJlZSBpbXBsZW1lbnRhdGlvbiBvZiBXaW5kb3dzIG9uCiBVbml4LiAgVGhpcyBpcyBzdGlsbCBhIGRldmVsb3BlcnMgb25seSByZWxlYXNlLiAgVGhlcmUgYXJlIG1hbnkgYnVncwogYW5kIHVuaW1wbGVtZW50ZWQgZmVhdHVyZXMuICBNb3N0IGFwcGxpY2F0aW9ucyBzdGlsbCBkbyBub3Qgd29yawogY29ycmVjdGx5LgogCi1XSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAzMDYxODogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCitXSEFUJ1MgTkVXIHdpdGggV2luZS0yMDAzMDcwOTogKHNlZSBDaGFuZ2VMb2cgZm9yIGRldGFpbHMpCiAgICAgICAgIC0gU3RpbGwgbW9yZSBEaXJlY3QzRCBhbmQgRGlyZWN0U291bmQgaW1wcm92ZW1lbnRzLgotICAgICAgICAtIFRvbnMgb2YgZml4ZXMgbWVyZ2VkIGZyb20gQ3Jvc3NvdmVyIE9mZmljZSAyLjAuCi0gICAgICAgIC0gTmV3IGlwaGxwYXBpIGRsbC4KKyAgICAgICAgLSBJbnRlci1wcm9jZXNzIGNsaXBib2FyZCBzdXBwb3J0LgorICAgICAgICAtIExvY2FsZSBoYW5kbGluZyBpbXByb3ZlbWVudHMuCisgICAgICAgIC0gTW9yZSBwcm9ncmVzcyBvbiB0aGUga2VybmVsL250ZGxsIHNlcGFyYXRpb24uCiAgICAgICAgIC0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE1LDggKzE2LDggQEAKIHRoZSByZWxlYXNlIGlzIGF2YWlsYWJsZSBhdCB0aGUgZnRwIHNpdGVzLiAgVGhlIHNvdXJjZXMgd2lsbCBiZSBhdmFpbGFibGUKIGZyb20gdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAKLSAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMwNjE4LnRhci5negotICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMDYxOC50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDMwNzA5LnRhci5negorICBodHRwOi8vcHJkb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3dpbmUvV2luZS0yMDAzMDcwOS50YXIuZ3oKIAogSXQgc2hvdWxkIGFsc28gYmUgYXZhaWxhYmxlIGZyb20gYW55IG90aGVyIHNpdGUgdGhhdCBtaXJyb3JzIGliaWJsaW8ub3JnLgogVGhlc2UgbG9jYXRpb25zIGFsc28gaG9sZCBwcmUtYnVpbHQgZG9jdW1lbnRhdGlvbiBwYWNrYWdlcyBpbiB2YXJpb3VzCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZmJjN2JjZi4uMGJjMGM1OSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw0ICsxLDEwMDggQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDMtMDctMDkgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci91c2VyX21haW4uYywgZGxscy91c2VyL3dpbnByb2MuaCwgd2luZG93cy93aW5wcm9jLmM6CisJU3RvcmUgd2luZG93IHByb2NlZHVyZXMgaW4gYSBzdGF0aWMgYXJyYXkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIGhlYXAuCisJT25seSBhbGxvY2F0ZSB0aGUgd2lucHJvYyBzZWxlY3RvciB3aGVuIGFjdHVhbGx5IG5lZWRlZC4KKworCSogcHJvZ3JhbXMvd2NtZC93Y21kbWFpbi5jOgorCUF2b2lkIGhhcmQtY29kZWQgY29tbWFuZCBsaW5lIGxlbmd0aCBsaW1pdCBpbiBXQ01EX3Byb2Nlc3NfY29tbWFuZC4KKworCSogZGxscy93aW5pbmV0L2h0dHAuYywgZGxscy93aW5pbmV0L2ludGVybmV0LmM6CisJRml4ZWQgYSBjb3VwbGUgb2YgYnVmZmVyIG92ZXJmbG93cy4KKworCSogaW5jbHVkZS93aW5iYXNlLmg6IERtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBiYWlrYWwucnU+CisJVXNlIGlubGluZSB2ZXJzaW9ucyBvZiBBUElzIG9ubHkgaW50ZXJuYWxseSBpbiBXaW5lLgorCisJKiBwcm9ncmFtcy93aW5lZGJnL2hhc2guYzogQ2F0YWxpbiBQYXR1bGVhIDxjYXRhbGluc0B2di5jYXJsZXRvbi5jYT4KKwlPbmx5IGRpc3BsYXkgZmlsZW5hbWVzIHdoZW4gc2hvd2luZyBhZGRyZXNzZXMuCisKKwkqIHByb2dyYW1zL3djbWQvd2NtZG1haW4uYzogR3JlZyBNYXJzZGVuIDxHTWFyc2RlbkBXRVNDQU0uY29tPgorCUFsbG93IGNvbW1hbmQgbGluZXMgd2l0aCBwaXBlcyB0byBiZSBwcm9jZXNzZWQgYnkgd2NtZC4KKworCSogd2luMzIvZXhjZXB0LmM6IEp1cmFqIEhlcmNlayA8anVyYWpAc3luY2FkLmNvbT4KKwlNb2RpZmllZCB1bmhhbmRsZWQgZXhjZXB0aW9uIG1lc3NhZ2UgdG8gY29udGFpbiBhbHNvIHRocmVhZAorCWlkZW50aWZpZXIuCisKKwkqIHRvb2xzL3dyYy9wYXJzZXIueTogSnVyYWogSGVyY2VrIDxqdXJhakBzeW5jYWQuY29tPgorCUFkanVzdGVkIGdyYW1tYXIgdG8gYWNjZXB0IGFsc28gaGVscC1pZHMgZm9yIGRpYWxvZ2V4IGNvbnRyb2xzLgorCisJKiBkbGxzL2lwaGxwYXBpL2lmZW51bS5jOiBSb2JlcnQgTHVubm9uIDxib2JAeWFycmFiZWUubmV0LmF1PgorCUZpeGVkIHNvbWUgY29tcGlsZSBwcm9ibGVtcyB1bmRlciBTb2xhcmlzLgorCisJKiBzY2hlZHVsZXIvdGhyZWFkLmM6CisJVXNlIE50UXVlcnlJbmZvcm1hdGlvblRocmVhZCB0byBpbXBsZW1lbnQgR2V0RXhpdENvZGVUaHJlYWQuCisKKwkqIGRsbHMvdXNlci9jb250cm9scy5oLCBkbGxzL3VzZXIvZGlhbG9nMTYuYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLAorCSAgd2luZG93cy9kaWFsb2cuYzoKKwlPbmx5IGNvbXB1dGUgZGlhbG9nIGJhc2UgdW5pdHMgb25jZSB3ZSBuZWVkIHRoZW0uCisKKwkqIGRvY3VtZW50YXRpb24vYXJjaGl0ZWN0dXJlLnNnbWwsIGRvY3VtZW50YXRpb24vYnVncy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9jb25maWd1cmluZy5zZ21sLCBkb2N1bWVudGF0aW9uL2NvbnNvbGVzLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2N2cy1yZWdyZXNzaW9uLnNnbWwsIGRvY3VtZW50YXRpb24vY3ZzLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWwsIGRvY3VtZW50YXRpb24vZGxscy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnNnbWwsIGRvY3VtZW50YXRpb24vZ2V0dGluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9pMThuLnNnbWwsIGRvY3VtZW50YXRpb24vaW1wbGVtZW50YXRpb24uc2dtbCwKKwkgIGRvY3VtZW50YXRpb24vbXVsdGltZWRpYS5zZ21sLCBkb2N1bWVudGF0aW9uL29sZS5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9vcGVuZ2wuc2dtbCwgZG9jdW1lbnRhdGlvbi9wYXRjaGVzLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3BvcnRpbmcuc2dtbCwgZG9jdW1lbnRhdGlvbi9wcmludGluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi9ydW5uaW5nLnNnbWwsIGRvY3VtZW50YXRpb24vdGVzdGluZy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi90b29scy5zZ21sLCBkb2N1bWVudGF0aW9uL3dpbmVsaWItYmluZGxscy5zZ21sLAorCSAgZG9jdW1lbnRhdGlvbi93aW5lbGliLWludHJvLnNnbWwsIGRvY3VtZW50YXRpb24vd2luZWxpYi1wb3J0aW5nLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmVsaWItdG9vbGtpdC5zZ21sOgorCVRvbSBXaWNrbGluZSA8dHdpY2tsaW5lQHNreWJlc3QuY29tPgorCVNwZWxsaW5nIGFuZCBVUkwgZml4ZXMuCisKKwkqIGRsbHMvb2xlMzIvTWFrZWZpbGUuaW4sIGRsbHMvb2xlMzIvY29tcG9iai5jLCBkbGxzL29sZTMyL29sZTE2LmMsCisJICBkbGxzL29sZTMyL29sZTIuYywgZGxscy9vbGUzMi9vbGUyXzE2LmM6CisJU3RldmVuIEVkd2FyZHMgPHN0ZXZlbl9lZDQxNTNAeWFob28uY29tPgorCS0gQ3JlYXRlIG5ldyBmaWxlIG9sZTJfMTYuYyBmb3Igb2xlMiAxNmJpdCBvbmx5IGZ1bmN0aW9ucy4KKwktIE1vdmUgQ0xTSURGcm9tUHJvZ0lEMTYgc28gaXQgY2FuIGJlIHVzZWQgaW50ZXJuYWxseS4KKwktIENvbXBpbGUgb3V0IG1vcmUgV2luMTYgc291cmNlcy4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmM6IEdlcmFsZCBQZmVpZmVyIDxwZmVpZmVyQGRiYWkudHV3aWVuLmFjLmF0PgorCUFkZCBjaGFyc2V0IGluZm9ybWF0aW9uIGFzIHVzZWQgYnkgRnJlZUJTRC4KKworCSogZGxscy9udGRsbC9udGRsbC5zcGVjOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAYmFpa2FsLnJ1PgorCUZpeCBzcGVjIGVudHJ5IGZvciBad1NldFRpbWVyUmVzb2x1dGlvbi4KKworCSogZGxscy9rZXJuZWwvbG9jYWxlLmMsIGRsbHMveDExZHJ2L2NsaXBib2FyZC5jLAorCSAgZGxscy94MTFkcnYva2V5Ym9hcmQuYywgZGxscy94MTFkcnYvd2luZG93LmMsCisJICBkb2N1bWVudGF0aW9uL2NvbmZpZ3VyaW5nLnNnbWwsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9jb25maWcsCisJICBpbmNsdWRlL3dpbm5scy5oLCBtZW1vcnkvY29kZXBhZ2UuYywgcHJvZ3JhbXMvd2luZWNmZy9wcm9wZXJ0aWVzLmgsCisJICBwcm9ncmFtcy93aW5lY2ZnL3dpbmVjZmcuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZGVkIHN1cHBvcnQgZm9yIENQX1VOSVhDUC4KKworCSogZGxscy9vbGVhdXQzMi9kaXNwYXRjaC5jOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBBZGRSZWYgdHlwZSBpbmZvIHN0b3JlZCBpbiBTdGREaXNwYXRjaC4KKwktIERvbid0IHVzZSBvdXRlciB1bmtub3duIGluIFN0ZERpc3BhdGNoLgorCisJKiBncmFwaGljcy94MTFkcnYveGZvbnQuYzogTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlEbyBub3QgY3Jhc2ggd2hlbiB0cnlpbmcgdG8gbG9hZCBiYWQgZm9udHMuCisKKwkqIGRsbHMva2VybmVsL3RocmVhZC5jLCBkbGxzL250ZGxsL250LmMsIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywKKwkgIGRsbHMvbnRkbGwvdGhyZWFkLmMsIGluY2x1ZGUvd2luZS9zZXJ2ZXJfcHJvdG9jb2wuaCwKKwkgIGluY2x1ZGUvd2ludGVybmwuaCwgc2VydmVyL3Byb3RvY29sLmRlZiwgc2VydmVyL3RocmVhZC5jLAorCSAgc2VydmVyL3RyYWNlLmM6CisJSW1wbGVtZW50ZWQgdGhlIFRocmVhZEJhc2ljSW5mb3JtYXRpb24gY2FzZSBmb3IKKwlOdFF1ZXJ5SW5mb3JtYXRpb25UaHJlYWQuCisKKwkqIGRsbHMvYXZpZmlsMzIvYXBpLmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9kbXVzaWMvaGVscGVyLmMsCisJICBkbGxzL2RwbGF5eC9kcGxheS5jLCBkbGxzL2Rzb3VuZC9zb3VuZDNkLmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9tc3JsZTMyLmMsIGRsbHMvb2xlMzIvc3RvcmFnZTMyLmMsCisJICBkbGxzL29sZWF1dDMyL3NhZmVhcnJheS5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIxNi5jLAorCSAgZGxscy9vbGVhdXQzMi92YXJpYW50LmMsIGRsbHMvc2hlbGwzMi90ZXN0cy9zaGxmaWxlb3AuYywKKwkgIGRvY3VtZW50YXRpb24vY29uZmlndXJpbmcuc2dtbCwgaW5jbHVkZS9kZHJhdy5oOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNwZWxsaW5nIGZpeGVzLgorCisJKiBkb2N1bWVudGF0aW9uL2F1dGhvcnMuZW50LCBkb2N1bWVudGF0aW9uL2J1aWxkLnNnbWwsCisJICBkb2N1bWVudGF0aW9uL3dpbmUtZGV2ZWwuc2dtbDoKKwlTaGFjaGFyIFNoZW1lc2ggPHdpbmUtcGF0Y2hlc0BzaGVtZXNoLmJpej4KKwlUaGUgYmVnaW5pbmcgb2YgYSAiYnVpbGRpbmcgd2luZSIgZG9jdW1lbnRhdGlvbi4gTW9yZSBkZXRhaWxlZAorCWV4cGxhbmF0aW9uIG9mIHRoZSAic29mdCIgdnMuICJoYXJkIiBkZXBlbmRlbmNpZXMuCisKKwkqIGRsbHMvbnRkbGwvZW52LmMsIHByb2dyYW1zL3djbWQvd2NtZG1haW4uYywKKwkgIHByb2dyYW1zL3dpbmV2ZG0vd2luZXZkbS5jOgorCU1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlOdWxsIHBhcmFtZXRlcnMgbmVlZCB0byBiZSBxdW90ZWQgb24gdGhlIGNvbW1hbmRsaW5lLgorCisJKiBkbGxzL2NvbWN0bDMyL3Byb3BzaGVldC5jOiBNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUHJlc2VydmUgQS9XIHdoZW4gY3JlYXRpbmcgcHJvcHNoZWV0IGRpYWxvZ3MuCisKKzIwMDMtMDctMDggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL3Byb2Nlc3MuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL3ZpcnR1YWwuYywKKwkgIGluY2x1ZGUvd2ludGVybmwuaDoKKwlJbXBsZW1lbnRlZCBOdFJlYWQvV3JpdGVWaXJ0dWFsTWVtb3J5LgorCisJKiBkbGxzL3VzZXIvY29tbTE2LmMsIGRsbHMvdXNlci91c2VyX21haW4uYzoKKwlMb29rdXAgQ09NL0xQVCBkZXZpY2VzIGluIHRoZSByZWdpc3RyeSB3aGVuIHRoZXkgYXJlIHVzZWQsIGluc3RlYWQgb2YKKwlsb2FkaW5nIGV2ZXJ5dGhpbmcgYXQgc3RhcnR1cC4KKworCSogZGxscy93aW5lZG9zL2Rvc3ZtLmMsIGRsbHMvd2luZWRvcy9oaW1lbS5jLCBkbGxzL3dpbmVkb3MvaW50MzEuYywKKwkgIGRsbHMvd2luZWRvcy9pbnQzMy5jLCBkbGxzL3dpbmVkb3MvdmdhLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVJlYWwgbW9kZSBjb250ZXh0IHNob3VsZCBhbHdheXMgaGF2ZSBWODYgZmxhZyB0dXJuZWQgb24uCisJRW50ZXJpbmcgcHJvdGVjdGVkIG1vZGUgdXNlcyBzaW1wbGVyIGFuZCBtb3JlIHJvYnVzdCB2aXJ0dWFsIGludGVycnVwdAorCWZsYWcgY2hlY2suCisJTW91c2UgZXZlbnRzIGFyZSBub3cgcmVjZWl2ZWQgaW4gZ3JhcGhpY3MgbW9kZXMuCisJSW1wcm92ZWQgdHJhY2luZyBvdXRwdXQgb2YgaW50MzMgaGFuZGxlci4KKworCSogZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5jOgorCVV3ZSBCb25uZXMgPGJvbkBlbGVrdHJvbi5pa3AucGh5c2lrLnR1LWRhcm1zdGFkdC5kZT4KKwlSZW1vdmVkIGEgbm8gbG9uZ2VyIHVzZWQgaGVhZGVyLgorCisJKiBkbGxzL2RkcmF3L2QzZGRldmljZS9tZXNhLmMsIGRsbHMvZGRyYXcvZHN1cmZhY2UvZGliLmMsCisJICBkbGxzL2RkcmF3L2RzdXJmYWNlL21haW4uYywgZGxscy9kZHJhdy9tZXNhLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIGZpeCBGUFMgY29tcHV0YXRpb24KKwktIHNvbWUgVFJBQ0VpbmcgZml4ZXMKKwktIG9wdGltaXplIEJsdEZhc3QgbG9ja2luZyByZWN0YW5nbGVzCisKKwkqIGRvY3VtZW50YXRpb24vc2FtcGxlcy93aW4uaW5pOiBUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwk2IG5ldyBtY2kgZXh0ZW5zaW9ucy4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOiBSZWluIEtsYXplcyA8cmtsYXplc0B4czRhbGwubmw+CisJRml4ZWQgYSB0eXBvIGluIHRoZSBwcmV2aW91cyBTSEdldEZpbGVJbmZvKCkgcGF0Y2guCisKKwkqIGRsbHMvb3BlbmdsMzIvbWFrZV9vcGVuZ2wsIGRsbHMvb3BlbmdsMzIvb3BlbmdsMzIuc3BlYywKKwkgIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5jLCBkbGxzL29wZW5nbDMyL29wZW5nbF9ub3JtLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwlPbmx5IHB1dCAncHVyZScgR0wgMS4yIGNhbGxzIGluIHRoZSAnb3BlbmdsX25vcm0uYycgZmlsZS4KKworCSogZ3JhcGhpY3MveDExZHJ2L3hmb250LmM6IE92ZSBLYWF2ZW4gPG92ZWtAdHJhbnNnYW1pbmcuY29tPgorCUZpeGVkIGEgbWVtb3J5IGFsbG9jYXRpb24vY29ycnVwdGlvbiBidWcgd2hlbiBncm93aW5nIHRoZSBmb250IGNhY2hlLgorCisJKiBpbmNsdWRlL2QzZDguaCwgaW5jbHVkZS9kM2Q5dHlwZXMuaDoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlTb21lIGZpeGVzIG9uIGQzZDggYW5kIGQzZDkgaGVhZGVycy4KKworCSogZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oOgorCVVscmljaCBDemVrYWxsYSA8dWxyaWNoQGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXhlZCBoYW5kbGluZyBvZiBzeW50aGVzaXplZCBkYXRhLgorCURvbid0IHJlcG9ydCBlcnJvcnMgd2hlbiB0aGVyZSBpcyBubyBzZWxlY3Rpb24gb3duZXIuCisJUmVpbnRlZ3JhdGUgdGhlIENPTVBPVU5EX1RFWFQgcGF0Y2ggYnkgS3VzYW5hZ2kgS291aWNoaS4KKworCSogZGxscy9kM2Q4L3N1cmZhY2UuYywgZGxscy9kM2Q4L3ZvbHVtZS5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gc29tZSBjb3NtZXRpYyBmaXhlcworCS0gZml4IGEgYnVnIG9uIElEaXJlY3QzRFZvbHVtZThJbXBsX0FkZERpcnR5Qm94CisKKzIwMDMtMDctMDMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGlmMTYzMi9idWlsdGluLmMsIGluY2x1ZGUvbW9kdWxlLmgsIGluY2x1ZGUvd2luZS9saWJyYXJ5LmgsCisJICBsaWJzL3dpbmUvbG9hZGVyLmMsIHJlbGF5MzIvYnVpbHRpbjMyLmMsIHNjaGVkdWxlci9wcm9jZXNzLmM6CisJQWRkZWQgYSBmaWxlX2V4aXN0cyBhcmd1bWVudCB0byB3aW5lX2RsbF9sb2FkIHRvIGFsbG93IGNoZWNraW5nCisJd2hldGhlciBhIGZhaWxlZCBkbGwgbG9hZCBpcyBiZWNhdXNlIHRoZSBmaWxlIGRpZG4ndCBleGlzdDsgbW9yZQorCXJvYnVzdCB0aGFuIHRyeWluZyB0byBndWVzcyB0aGUgY29udGVudHMgb2YgdGhlIGVycm9yIHN0cmluZy4uLgorCUdldCByaWQgb2YgQlVJTFRJTjMyX2Rsb3Blbi4KKworCSogc2VydmVyL2hvb2suYywgc2VydmVyL3F1ZXVlLmMsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oLAorCSAgc2VydmVyL3VzZXIuaDoKKwlTdG9yZSB0aGUgaG9vayB0YWJsZSBpbiB0aGUgdGhyZWFkIHF1ZXVlIGluc3RlYWQgb2YgdGhlIHRocmVhZAorCXN0cnVjdHVyZSwgYW5kIG1ha2Ugc3VyZSB0aGUgcXVldWUgaXMgYWxsb2NhdGVkIHdoZW4gc2V0dGluZyBhIGhvb2suCisKKwkqIGRsbHMvbnRkbGwvc3lzZGVwcy5jLCBmaWxlcy9zbWIuaDoKKwlGaXhlZCBjb21waWxlIHdoZW4gZnVuY3Rpb25zIGFyZSBub3QgaW5saW5lZC4KKworCSogc2VydmVyL2ZkLmM6IE9uZSBtb3JlIHdvcmthcm91bmQgZm9yIGEgbWlzc2luZyBORlMgbG9jayBkYWVtb24uCisKKwkqIGRsbHMvc2hlbGwzMi9zaGVsbDMyX21haW4uYzogU3RlcGhhbiBCRVVaRSA8ZmJpZ2d1bkBob3RtYWlsLmNvbT4KKwktIEZpeGVkIGlJbmRleCB1c2UgaW4gU0hHZXRGaWxlSW5mb0EgKGFzIG9mIE1TRE4sIGlJbmRleCBpcyBjb3BpZWQgaW4KKwkgIHRoZSBpSWNvbiBmaWVsZCBvZiBwc2ZpKQorCS0gUmVtb3ZlZCBETExfVEhSRUFEX0FUVEFDSCBhbmQgRExMX1RIUkVBRF9ERVRBQ0ggY2FzZXMuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X3ByaXZhdGUuaCwgZGxscy9kM2Q4L2RldmljZS5jLCBkbGxzL2QzZDgvZHJhd3ByaW0uYywKKwkgIGRsbHMvZDNkOC9zdXJmYWNlLmMsIGRsbHMvZDNkOC91dGlscy5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJSW1wbGVtZW50IFVwZGF0ZVRleHR1cmUgZm9yIDJEIHRleHR1cmVzIG9ubHkuCisJSGFuZGxlIGFscGhhb3AgZGlzYWJsZWQgYnV0IGNvbG9yIG9wIG5vdC1kaXNhYmxlIGluIGEgbW9yZSBhcHByb3ByaWF0ZQorCXdheSAoRG9jcyBzYXkgdGhpcyBpcyBhbiBpbGxlZ2FsIHN0YXRlIGFuZCB0aGVuIHByb2NlZWQgdG8gdXNlIGl0KS4KKwlUcmFjZSBvdXQgdGV4dHVyZXMgYXMgdGhleSBhcmUgY3JlYXRlZC4KKwlVcGRhdGUgdGhlIGNvbW1lbnRzIGFyb3VuZCB0aGUgZGVidWcgY29kZSBhbmQgY29tcGxldGUgdGhlIGRlYnVnZ2luZworCXNldCBzbyB0ZXh0dXJlcyB3aGljaCBhcmUgdXNlZCBpbiB0aGUgZ2FtZSBjYW4gYWxzbyBiZSB2aWV3ZWQuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmM6CisJUm9iZXJ0IFNoZWFybWFuIDxSLkouU2hlYXJtYW5Ad2Fyd2ljay5hYy51az4KKwktIEltcHJvdmUgUXVlcnlJbnRlcmZhY2UgRklYTUUgbWVzc2FnZS4KKwktIEFkZCBzdHVicyBmb3IgSU1lZGlhRmlsdGVyIGludGVyZmFjZSBpbiBJR3JhcGhCdWlsZGVyLgorCS0gSW1wbGVtZW50IHNvbWUgc2ltcGxlIG1ldGhvZHMuCisKKwkqIGRsbHMva2VybmVsL2xvY2FsZS5jLCBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUV4aXQgZWFsaWVyIGZyb20gTENNYXBTdHJpbmdBIGluIHRoZSBjYXNlIG9mIExDTUFQX1NPUlRLRVkuCisJRG9uJ3QgcmVseSBvbiBjb21wdXRpbmcgc3RyaW5nIGxlbmd0aCBieSBNdWx0aUJ5dGVUb1dpZGVDaGFyIGluCisJQ29tcGFyZVN0cmluZ0EsIGRvIGl0IG1hbnVhbGx5LgorCisJKiBkbGxzL3dpbm1tL3dpbmVqYWNrL2phY2suYzogTWFyY3VzIE1laXNzbmVyIDxtZWlzc25lckBzdXNlLmRlPgorCVVzZSBzdGFuZGFyZCBkZWJ1Z2dpbmcgbWFjcm9zIGZvciBqYWNrLgorCUpBQ0tfU09OQU1FIC0+IFNPTkFNRV9MSUJKQUNLIHNvIHdlIGRvIG5vdCBuZWVkIHRoZSBkZXZlbCBzeW1saW5rCisJdGhlcmUuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQzMS5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJRFBNSSBleGNlcHRpb25zIG9ubHkgaGFwcGVuIG9uIGkzODYuCisKKzIwMDMtMDctMDIgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGNvbnRyb2xzL2NvbWJvLmMsIGRsbHMvY2FiaW5ldC9mZGkuYywgZGxscy9kc291bmQvc291bmQzZC5jLAorCSAgZGxscy9rZXJuZWwvZm9ybWF0X21zZy5jLCBkbGxzL250ZGxsL3RpbWUuYywgZGxscy9vbGUzMi9kYXRhY2FjaGUuYywKKwkgIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBkbGxzL29sZTMyL29sZTIuYywgZGxscy9xdWFydHovZmlsdGVybWFwcGVyLmMsCisJICBkbGxzL3NobHdhcGkvcGF0aC5jLCBkbGxzL3R3YWluL3R3YWluLmgsIGRsbHMvdXNlci9sc3RyLmMsCisJICBkbGxzL3dpbmluZXQvaW50ZXJuZXQuYywgZGxscy93aW5tbS93aW5lb3NzL21pZGkuYywKKwkgIGRvY3VtZW50YXRpb24vbXVsdGltZWRpYS5zZ21sLCBncmFwaGljcy94MTFkcnYvb3BlbmdsLmMsCisJICBvYmplY3RzL3BhbGV0dGUuYywgcHJvZ3JhbXMvcmVnc3ZyMzIvcmVnc3ZyMzIuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAZnJlZS5mcj4KKwlGaXhlZCBzb21lIGNvbW1vbiBzcGVsbGluZyBlcnJvcnMuCisKKwkqIGxvYWRlci90YXNrLmM6CisJQXZvaWQgYWNjZXNzaW5nIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgaW4gVEFTS19DcmVhdGUgKHNwb3R0ZWQgYnkKKwlSb2JlcnQgU2hlYXJtYW4pLgorCisJKiBkbGxzL2ltbTMyL2ltbS5jLCBwcm9ncmFtcy93aW5lbWVudWJ1aWxkZXIvd2luZW1lbnVidWlsZGVyLmM6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGZyZWUuZnI+CisJUmVtb3ZlIHNvbWUgdW5uZWNlc3NhcnkgY2FzdHMgd2hlbiBhc3NpZ25pbmcgTlVMTCB0byBoYW5kbGVzLgorCisJKiBkbGxzL2RtdXNpYy9kbXVzaWNfcGVyZm9ybWFuY2UuYzoKKwlDaHJpc3RpYW4gQ29zdGEgPHRpdGFuLmNvc3RhQHdhbmFkb28uZnI+CisJTWFrZSBJbml0IGFuZCBJbml0QXVkaW8gcmV0dXJuIGFuIGVycm9yIHdoZW4gbm8gYXVkaW8gZHJpdmVyIGlzCisJYXZhaWxhYmxlLgorCUZpeCBjcmFzaCBpbiBJbml0QXVkaW8gd2hlbiByZWxlYXNpbmcgdGhlIGRzb3VuZCBvYmplY3QuCisKKwkqIGxpYnMvcG9ydC9pbnRlcmxvY2tlZC5jOiBNYXJjdXMgTWVpc3NuZXIgPG1laXNzbmVyQHN1c2UuZGU+CisJQWRkZWQgaXN5bmMgdG8gdGhlIGludGVybG9ja2VkIGZ1bmN0aW9ucy4KKworCSogaW5jbHVkZS93aW5iYXNlLmg6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlQb3dlclBDIGlubGluZSB2ZXJzaW9ucyBvZiB0aGUgaW50ZXJsb2NrZWQgZnVuY3Rpb25zLgorCisJKiBkbGxzL21zYWNtL2RyaXZlci5jLCBkbGxzL21zYWNtL2ludGVybmFsLmMsIGRsbHMvbXNhY20vc3RyZWFtLmMsCisJICBkbGxzL21zYWNtL3dpbmVhY20uaCwgZGxscy9tc3ZpZGVvL21zdmlkZW9fbWFpbi5jLCBkbGxzL3dpbm1tL21taW8uYywKKwkgIGRsbHMvd2lubW0vbW1zeXN0ZW0uYywgZGxscy93aW5tbS93aW5tbS5jLCBpbmNsdWRlL21tc3lzdGVtLmg6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSByZW5hbWVkIHdpbm1tLk9wZW5Ecml2ZXJXIGludG8gd2lubW0uT3BlbkRyaXZlcgorCS0gcmVwbGFjZWQgYWxsIGludGVyLURMTCBjYWxscyAobXNhY20gYW5kIG1zdmlkZW8pIHRvIE9wZW5Ecml2ZXJBIHdpdGgKKwkgIE9wZW5Ecml2ZXIgKHVuaWNvZGUgZm9ybSkKKwktIGFzIGEgY29uc2VxdWVuY2UsIGRyaXZlciBuYW1lIGhhbmRsaW5nIGluIG1zYWNtIGlzIG5vdyBtb3N0bHkKKwkgIHVuaWNvZGUKKwktIG1vdmVkIFVzZXJZaWVsZDE2IGFuZCBVbk1hcExTIGNhbGwgb3V0IG9mIHRoZSAzMmJpdCBwYXJ0IG9mIHdpbm1tCisKKwkqIGRsbHMvbXN2aWRlby9tc3JsZTMyL21zcmxlMzIuYzoKKwlNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwlGaXhlZCAyIHR5cG9zIGluIG15IGxhc3QgcGF0Y2guCisKKwkqIGRsbHMvYXZpZmlsMzIvYXBpLmMsIGRsbHMvYXZpZmlsMzIvYXZpZmlsZS5jLCBpbmNsdWRlL3Zmdy5oOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gRml4ZWQgbWVtb3J5IGxlYWsgaW4gQVZJU2F2ZU9wdGlvbnMuCisJLSBJbXBsZW1lbnRlZCBBVklTYXZlVlcgbWV0aG9kLgorCS0gU2VtaS1zdHViIGltcGxlbWVudGF0aW9uIGZvciBDcmVhdGVFZGl0YWJsZVN0cmVhbSBtZXRob2QuCisJLSBBZGRlZCBzdXBwb3J0IGZvciBjcmVhdGlvbiBvZiBpbnRlcmxlYXZlZCBBVkkgZmlsZXMuCisJLSBGaXhlZCBjcmVhdGlvbiBvZiBpbmRleCB0YWJsZSBpbiBBVkkgZmlsZXMuCisJLSBBZGRlZCBkZWNsYXJhdGlvbiBmb3IgSUFWSVN0cmVhbWluZyBpbnRlcmZhY2UuCisJLSBBZGRlZCBzb21lIG1vcmUgbWFjcm9zLgorCS0gRml4ZWQgc29tZSBtaW5vciBidWdzLgorCisJKiBkbGxzL2QzZDgvdGV4dHVyZS5jOiBKYXNvbiBFZG1lYWRlcyA8dXNAdGhlLWVkbWVhZGVzLmRlbW9uLmNvLnVrPgorCUVuc3VyZSBNSVBNQVAgbGV2ZWxzIGlzIHJlc2V0IHdoZW4gcmViaW5kaW5nIGFuIGV4aXN0aW5nIHRleHR1cmUgdG8gYQorCXRleHR1cmUgdW5pdC4KKworCSogZGxscy9kM2Q4L2Jhc2V0ZXh0dXJlLmM6IEphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJQWRkIEdldExldmVsQ291bnQgdG8gdGhlIGJhc2V0ZXh0dXJlIGNsYXNzLgorCisJKiBkbGxzL3NoZWxsMzIvYnJzZm9sZGVyLmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCU9ubHkgcmVsZWFzZSBvYmplY3QgaWYgd2UgYWN0dWFsbHkgZ290IGl0LgorCisJKiBkbGxzL2QzZDgvZHJhd3ByaW0uYzogSmFzb24gRWRtZWFkZXMgPHVzQHRoZS1lZG1lYWRlcy5kZW1vbi5jby51az4KKwlFbnN1cmUgcGl4ZWwgY29vcmRpbmF0ZXMgcG9pbnQgdG8gdGhlIGJvdHRvbSBsZWZ0IG9mIHRoZSBwaXhlbCBub3QgdGhlCisJbWlkZGxlLgorCisJKiBvYmplY3RzL3RleHQuYzogU2hhY2hhciBTaGVtZXNoIDx3aW5lLXBhdGNoQHNoZW1lc2guYml6PgorCURvbid0IGNhbGwgdGhlIHJlb3JkZXJpbmcgZnVuY3Rpb24gaWYgdGhlIHN0cmluZyBsZW5ndGggaXMgMC4gVGhpcworCWVsaW1pbmF0ZXMgYSBub2lzeSBGSVhNRSBhYm91dCBJQ1UgcmV0dXJuaW5nIGFuIGluY29ycmVjdCBlcnJvciBjb2RlLgorCisJKiBkbGxzL3F1YXJ0ei9maWx0ZXJtYXBwZXIuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUZpeCBjb21waWxhdGlvbiBkdWUgdG8gbmFtZWxlc3Mgc3RydWN0cyBhbmQgdW5pb25zLgorCisyMDAzLTA3LTAxICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBsaWJzL3dwcC9wcmVwcm9jLmMsIGxpYnMvd3BwL3dwcC5jLCBsaWJzL3dwcC93cHBfcHJpdmF0ZS5oOgorCUNyZWF0ZSBhIG5ldyBsaXN0IG9mIGRlZmluZWQgc3ltYm9scyB3aGVuIHBhcnNpbmcgYSBmaWxlLCB0byBhbGxvdworCXJlY3Vyc2l2ZSBwYXJzaW5nIG9mIG11bHRpcGxlIGZpbGVzLgorCisJKiBkbGxzL2RtdXNpYy9kbXVzaWNfbWlzYy5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfcHJpdmF0ZS5oLAorCSAgaW5jbHVkZS9heGV4dGVuZC5pZGwsIGluY2x1ZGUvZG11c2ljYy5oLCBpbmNsdWRlL2Rzb3VuZC5oLAorCSAgaW5jbHVkZS9zdHJtaWYuaCwgaW5jbHVkZS91dWlkcy5oLCBsaWJzL3V1aWQvdXVpZC5jOgorCUFkZCBzdHJtaWYuaCB0byB0aGUgaGVhZGVycyBpbmNsdWRlZCBpbiBsaWJ1dWlkLgorCUZpeGVkIGEgZmV3IGhlYWRlciBjb25mbGljdHMuCisKKwkqIGRsbHMvZGV2ZW51bS8uY3ZzaWdub3JlLCBkbGxzL2RldmVudW0vTWFrZWZpbGUuaW4sCisJICBkbGxzL2RldmVudW0vY3JlYXRlZGV2ZW51bS5jLCBkbGxzL2RldmVudW0vZGV2ZW51bS5yYywKKwkgIGRsbHMvZGV2ZW51bS9kZXZlbnVtLnNwZWMsIGRsbHMvZGV2ZW51bS9kZXZlbnVtX21haW4uYywKKwkgIGRsbHMvZGV2ZW51bS9kZXZlbnVtX3ByaXZhdGUuaCwgZGxscy9kZXZlbnVtL2ZhY3RvcnkuYywKKwkgIGRsbHMvZGV2ZW51bS9tZWRpYWNhdGVudW0uYywgZGxscy9kZXZlbnVtL3BhcnNlZGlzcGxheW5hbWUuYzoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCUltcGxlbWVudGVkIERldkVudW0gZGxsLgorCisJKiBkbGxzL3F1YXJ0ei9NYWtlZmlsZS5pbiwgZGxscy9xdWFydHovZW51bW1vbmlrZXIuYywKKwkgIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmMsIGRsbHMvcXVhcnR6L2ZpbHRlcm1hcHBlci5jLAorCSAgZGxscy9xdWFydHovbWFpbi5jLCBkbGxzL3F1YXJ0ei9xdWFydHpfcHJpdmF0ZS5oOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJSW1wbGVtZW50ZWQgSUZpbHRlck1hcHBlcjIuCisKKwkqIGluY2x1ZGUvb2FpZGwuaCwgaW5jbHVkZS9vYmppZGwuaCwgaW5jbHVkZS9zdHJtaWYuaCwKKwkgIGluY2x1ZGUvdW5rbnduLmgsIHRvb2xzL3dpZGwvaGVhZGVyLmM6CisJQWRkICNpZmRlZnMgYXJvdW5kIGZvcndhcmRzIGFuZCBpbnRlcmZhY2VzIGxpa2UgTUlETCBkb2VzLgorCisJKiBkbGxzL250ZGxsL2xvYWRlci5jLCBpbmNsdWRlL21vZHVsZS5oLCBpbmNsdWRlL3dpbnRlcm5sLmgsCisJICBsb2FkZXIvcGVfaW1hZ2UuYywgcmVsYXkzMi9yZWxheTM4Ni5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gcmVtb3ZlZCBuZXh0ICYgcHJldiBmaWVsZHMgZnJvbSBXSU5FX01PRFJFRiBhbmQgaW1wbGVtZW50IGluc3RlYWQKKwkgIHRoZSB0aHJlZSBsaW5rZWQgbGlzdHMgaW4gTERSX01PRFVMRQorCS0gYWRkZWQgUEVCX0xEUl9EQVRBIHN0cnVjdHVyZSB0byBQRUIKKwktIHJlbW92ZWQgYSBjb3VwbGUgb2Ygbm8gbG9uZ2VyIG5lZWRlZCBnbG9iYWwgJiBzdGF0aWMgdmFyaWFibGVzCisKKwkqIGRsbHMvbnRkbGwvc2lnbmFsX2kzODYuYywgZGxscy93aW5lZG9zL2hpbWVtLmMsIGRsbHMvd2luZWRvcy9pbnQzMS5jLAorCSAgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywgbWVtb3J5L2luc3RyLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCVN0YXJ0IHByb2Nlc3NpbmcgYXN5bmNocm9ub3VzIERPUyBldmVudHMgaW4gRFBNSSBtb2RlLgorCisJKiBjb25maWd1cmUsIGNvbmZpZ3VyZS5hYywgZGxscy9NYWtlZmlsZS5pbiwgZGxscy9tYWtlX2RsbHM6CisJQWRkZWQgZDNkOSBkbGwuCisKKwkqIGRsbHMvZDNkOS8uY3ZzaWdub3JlLCBkbGxzL2QzZDkvTWFrZWZpbGUuaW4sIGRsbHMvZDNkOS9iYXNldGV4dHVyZS5jLAorCSAgZGxscy9kM2Q5L2N1YmV0ZXh0dXJlLmMsIGRsbHMvZDNkOS9kM2Q5LnNwZWMsIGRsbHMvZDNkOS9kM2Q5X21haW4uYywKKwkgIGRsbHMvZDNkOS9kM2Q5X3ByaXZhdGUuaCwgZGxscy9kM2Q5L2RldmljZS5jLCBkbGxzL2QzZDkvZGlyZWN0eC5jLAorCSAgZGxscy9kM2Q5L2luZGV4YnVmZmVyLmMsIGRsbHMvZDNkOS9waXhlbHNoYWRlci5jLCBkbGxzL2QzZDkvcXVlcnkuYywKKwkgIGRsbHMvZDNkOS9yZXNvdXJjZS5jLCBkbGxzL2QzZDkvc3RhdGVibG9jay5jLCBkbGxzL2QzZDkvc3VyZmFjZS5jLAorCSAgZGxscy9kM2Q5L3N3YXBjaGFpbi5jLCBkbGxzL2QzZDkvdGV4dHVyZS5jLCBkbGxzL2QzZDkvdmVyc2lvbi5yYywKKwkgIGRsbHMvZDNkOS92ZXJ0ZXhidWZmZXIuYywgZGxscy9kM2Q5L3ZlcnRleGRlY2xhcmF0aW9uLmMsCisJICBkbGxzL2QzZDkvdmVydGV4c2hhZGVyLmMsIGRsbHMvZDNkOS92b2x1bWUuYywKKwkgIGRsbHMvZDNkOS92b2x1bWV0ZXh0dXJlLmMsIGRsbHMvZDNkOS92c2hhZGVyZGVjbGFyYXRpb24uYywKKwkgIGluY2x1ZGUvZDNkOC5oLCBpbmNsdWRlL2QzZDkuaCwgaW5jbHVkZS9kM2Q5dHlwZXMuaDoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwktIHNvbWUgY2xlYW51cHMgYW5kIGZpeGVzIG9uIGQzZDggYW5kIGQzZDkgaGVhZGVycworCS0gYSBsb3Qgb2Ygc3R1YnMgZm9yIGQzZDkuZGxsCisKKwkqIGxpYnMvdXVpZC9NYWtlZmlsZS5pbiwgbGlicy91dWlkL2R4OWd1aWQuYzoKKwlSYXBoYWVsIEp1bnF1ZWlyYSA8ZmVuaXhAY2x1Yi1pbnRlcm5ldC5mcj4KKwlBZGRlZCBkM2Q5IGd1aWRzLgorCisyMDAzLTA2LTMwICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9sb2NhbGUuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgdGVzdHMgZm9yIE5PUk1fSUdOT1JFTk9OU1BBQ0UgYW5kIE5PUk1fSUdOT1JFU1lNQk9MUyBpbiB0aGUKKwlMQ01hcFN0cmluZyhMQ01BUF9TT1JUS0VZKSBicmFuY2guCisKKwkqIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL250ZGxsLnNwZWMsIGRsbHMvbnRkbGwvbnRkbGxfbWlzYy5oLAorCSAgZGxscy9udGRsbC9zaWduYWxfaTM4Ni5jLCBkbGxzL250ZGxsL3NpZ25hbF9wb3dlcnBjLmMsCisJICBkbGxzL250ZGxsL3NpZ25hbF9zcGFyYy5jLCBkbGxzL250ZGxsL3N5bmMuYywgaW5jbHVkZS93aW50ZXJubC5oLAorCSAgc2NoZWR1bGVyL3N5bmNocm8uYzoKKwlJbXBsZW1lbnRlZCBOdERlbGF5RXhlY3V0aW9uIGFuZCBtYWtlIFNsZWVwIGNhbGwgaXQuCisJVGhlIGhhbmRsZSBjb3VudCBtdXN0IG5vdCBiZSAwIGluIE50V2FpdEZvck11bHRpcGxlT2JqZWN0cyAoc3BvdHRlZCBieQorCVRyb3kgUm9sbG8pLgorCisJKiBkbGxzL2F2aWZpbDMyL2ZhY3RvcnkuYywgZGxscy9jb21jdGwzMi9jb21tY3RybC5jLAorCSAgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYywgZGxscy9kM2Q4L2QzZDhfbWFpbi5jLCBkbGxzL2RkcmF3L21haW4uYywKKwkgIGRsbHMvZGlucHV0L2RpbnB1dF9tYWluLmMsIGRsbHMvZG11c2ljL2RtdXNpY19tYWluLmMsCisJICBkbGxzL2RwbGF5eC9kcGxheXhfbWFpbi5jLCBkbGxzL2RwbmhwYXN0L21haW4uYywgZGxscy9nZGkvZ2RpX21haW4uYywKKwkgIGRsbHMvaW1hZ2VobHAvaW1hZ2VobHBfbWFpbi5jLCBkbGxzL2ltbTMyL2ltbS5jLAorCSAgZGxscy9tc2FjbS9tc2FjbTMyX21haW4uYywgZGxscy9tc2lzeXMvTWFrZWZpbGUuaW4sCisJICBkbGxzL21zaXN5cy9tc2lzeXMuYywgZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGUzMi5jLAorCSAgZGxscy9uZXRhcGkzMi9uZXRhcGkzMi5jLCBkbGxzL29kYmMzMi9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvb2RiYzMyL3Byb3h5b2RiYy5jLCBkbGxzL29sZTMyL29sZTMyX21haW4uYywKKwkgIGRsbHMvb3BlbmdsMzIvd2dsLmMsIGRsbHMvcXVhcnR6L21haW4uYywgZGxscy9yaWNoZWRpdC9yaWNoZWRpdC5jLAorCSAgZGxscy9ycGNydDQvcnBjcnQ0X21haW4uYywgZGxscy9zZXJpYWx1aS9jb25mZGxnLmMsCisJICBkbGxzL3NobHdhcGkvc2hsd2FwaV9tYWluLmMsIGRsbHMvc25tcGFwaS9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvc25tcGFwaS9tYWluLmMsIGRsbHMvdHR5ZHJ2L3R0eWRydl9tYWluLmMsCisJICBkbGxzL3R3YWluL3R3YWluMzJfbWFpbi5jLCBkbGxzL3VybG1vbi91cmxtb25fbWFpbi5jLAorCSAgZGxscy93aW5hc3BpL3dpbmFzcGkzMi5jLCBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5lcHMvaW5pdC5jLAorCSAgZGxscy93aW5tbS9tY2lhdmkvbWNpYXZpLmMsIGRsbHMvd2lubW0vd2lubW0uYywKKwkgIGRsbHMvd2luc29jay9zb2NrZXQuYywgZGxscy93aW5zcG9vbC93c3Bvb2wuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUZvciBhbGwgRExMcyB3aXRoIGRlZmluZWQgRGxsTWFpbiBhbmQgd2hpY2ggZG8gbm90IHJlcXVpcmUKKwlETExfVEhSRUFEX0FUVEFDSC9ETExfVEhSRUFEX0RFVEFDSCBub3RpZmljYXRpb25zLCBjYWxsCisJRGlzYWJsZVRocmVhZExpYnJhcnlDYWxscygpIGluIG9yZGVyIHRvIHNsaWdodGx5IGltcHJvdmUgcGVyZm9ybWFuY2UKKwlvbiB0aHJlYWQgY3JlYXRpb24vZXhpdGluZy4KKworCSogZGxscy9kbXVzaWMvaGVscGVyLmM6IEZpeGVkIHdhcm5pbmcuCisKKwkqIGRsbHMvcXVhcnR6L2ZpbHRlcmdyYXBoLmMsIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvYXhjb3JlLmlkbCwKKwkgIGluY2x1ZGUvYXhleHRlbmQuaWRsLCBpbmNsdWRlL2RldmVudW0uaWRsLCBpbmNsdWRlL2R5bmdyYXBoLmlkbCwKKwkgIGluY2x1ZGUvc3RybWlmLmgsIGluY2x1ZGUvc3RybWlmLmlkbDoKKwlSb2JlcnQgU2hlYXJtYW4gPFIuSi5TaGVhcm1hbkB3YXJ3aWNrLmFjLnVrPgorCS0gQWRkZWQgRFNob3cgaGVhZGVycy4KKwktIEFkZGVkIG5lZWRlZCBjb25zdCdzIGluIEZpbHRlckdyYXBoIGltcGxlbWVudGF0aW9uLgorCisJKiBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfUHQucmMsIGRsbHMvYXZpZmlsMzIvcnNyYy5yYywKKwkgIGRsbHMvY29tY3RsMzIvY29tY3RsX1B0LnJjLCBkbGxzL2NvbWN0bDMyL3JzcmMucmMsCisJICBkbGxzL2NvbW1kbGcvY2RsZ19QdC5yYywgZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGVfUHQucmMsCisJICBkbGxzL21zdmlkZW8vbXNybGUzMi9yc3JjLnJjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9QdC5yYywKKwkgIGRsbHMvdXNlci9yZXNvdXJjZXMvdXNlcjMyX1B0LnJjLCBkbGxzL3dpbmVwcy9yc3JjLnJjLAorCSAgZGxscy93aW5lcHMvd3BzX1B0LnJjLCBkbGxzL3dpbm1tL3dpbm1tX1B0LnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvUHQucmM6CisJTWFyY2VsbyBEdWFydGUgPHdpbmUtZGV2ZWxAYm9sLmNvbS5icj4KKwktIExvY2FsaXphdGlvbiB0byBQb3J0dWd1ZXNlIG9mIEJyYXppbAorCS0gUmV2aXNpb24gYW5kIGFkZGl0aW9uIG9mIG1pc3NpbmcgcmVzb3VyY2VzCisJLSBNaW5vciB0eXBvIGZpeCBhbmQgY29kZXBhZ2UgZml4IGluIHByb2dyYW1zL3dpbmVmaWxlIHJlc291cmNlLgorCisJKiBkb2N1bWVudGF0aW9uL1JFQURNRS5wdF9icjogTWFyY2VsbyBEdWFydGUgPHdpbmUtZGV2ZWxAYm9sLmNvbS5icj4KKwlMb2NhbGl6YXRpb24gdG8gUG9ydHVndWVzZSBvZiBCcmF6aWwgb2YgUkVBRE1FIGZpbGUuCisKKwkqIHByb2dyYW1zL3dpbmVkYmcvd2luZWRiZy5jOiBDYXRhbGluIFBhdHVsZWEgPGNhdGFsaW5zQHZ2LmNhcmxldG9uLmNhPgorCUZpeGVkIFVuaWNvZGUgc3RyaW5nIG91dHB1dC4KKworCSogZGxscy9kbXVzaWMvZG11c2ljX2xvYWRlci5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfcGVyZm9ybWFuY2UuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19wcml2YXRlLmgsIGRsbHMvZG11c2ljL2hlbHBlci5jOgorCVJvayBNYW5kZWxqYyA8cm9rLm1hbmRlbGpjQGdpbWIub3JnPgorCUZpbGUgbG9hZGluZyBpbXByb3ZlbWVudHMuCisKKwkqIGluY2x1ZGUvd2lubnQuaCwgbWlzYy9jcHUuYzogTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJQWRkZWQgUEZfUEFFX0VOQUJMRUQgYW5kIFBGX1hNTUk2NF9JTlNUUlVDVElPTlMgZGVmaW5lcy4KKwlEZXRlY3QgdGhlbSBhbmQgM0ROT1cgYW5kIFhNTUlfSU5TVFJVQ1RJT05TIGZvciBMaW51eC4KKworCSogZGxscy93aW5tbS93aW5lYXVkaW9pby9NYWtlZmlsZS5pbjoKKwlSb2JlcnQgTHVubm9uIDxib2JAeWFycmFiZWUubmV0LmF1PgorCUFkZGVkIGxpYnV1aWQgdG8gd2luZWF1ZGlvaW8gbWFrZWZpbGUuCisKKwkqIGluY2x1ZGUvTWFrZWZpbGUuaW4sIGluY2x1ZGUvZHBhZGRyLmgsIGluY2x1ZGUvZHBsYXk4Lmg6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJQWRkZWQgRGlyZWN0UGxheTggaGVhZGVycy4KKworCSogZGxscy9rZXJuZWwvZmlsZS5jLCBkbGxzL2tlcm5lbC9zeXN0ZW0uYywgZGxscy91c2VyL2NvbW0xNi5jLAorCSAgZGxscy93aW5lZG9zL3ZnYS5jOgorCVJlcGxhY2UgY2FsbHMgdG8gV2FpdEZvck11bHRpcGxlT2JqZWN0cyB3aXRoIGEgMCBjb3VudCBieSBjYWxscyB0bworCVNsZWVwRXguCisKKwkqIGRsbHMvY29tbWRsZy9wcmludGRsZy5jOiBHZXQvU2V0UHJvcFcgbmVlZHMgYSBVbmljb2RlIHN0cmluZy4KKworCSogZGxscy9tc3ZpZGVvL21zcmxlMzIvbXNybGUzMi5jOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gRml4ZWQgaW50ZXJmcmFtZSBjb21wcmVzc2lvbiAtIG5vdyB3b3JrcyBmb3IgUkxFNCBhbmQgUkxFOC4KKwktIEZpeGVkIGFsaWdubWVudCBvZiBSTEU0IGluIGFic29sdXRlIG1vZGUuCisJLSBJbXByb3ZlZCBjb21wcmVzc2lvbiAoc21hbGxlciBvdXRwdXQpLgorCisJKiBERVZFTE9QRVJTLUhJTlRTOiBUb20gV2lja2xpbmUgPHR3aWNrbGluZUBza3liZXN0LmNvbT4KKwktIGFkZGVkIDIgZGxscworCS0gYWRkZWQgbGluayB0byBhcGlsaXN0CisJLSByZW1vdmVkIHN1Z2dlc3Rpb24gdG8gbG9vayBhdCBCeXRlIGZyb20gMjAgeWVhcnMgYWdvCisKKwkqIG1pc2MvY3B1LmM6IE1hcmN1cyBNZWlzc25lciA8bWFyY3VzQGpldC5mcmFua2VuLmRlPgorCUZpeGVkIENQVSBkZXRlY3Rpb24gZm9yIEZyZWVCU0QgYW5kIFA0LgorCisJKiBkbGxzL21zdmlkZW8vbXN2ZnczMi5zcGVjLCBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlb19wcml2YXRlLmg6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIHN1cHBvcnQgZm9yIHZpZGVvIGNvbXByZXNzb3IvZGVjb21wcmVzc29yIGR5bmFtaWMgaW5zdGFsbGF0aW9uLgorCisJKiBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbDMyLnNwZWM6CisJQ2hyaXN0aWFuIENvc3RhIDx0aXRhbi5jb3N0YUB3YW5hZG9vLmZyPgorCUFkZGVkIHNvbWUgc3R1YnMuCisKKwkqIGRsbHMvd2luZWRvcy9kb3NleGUuaCwgZGxscy93aW5lZG9zL2ludGVycnVwdHMuYywKKwkgIGRsbHMvd2luZWRvcy9tb2R1bGUuYywgZGxscy93aW5lZG9zL3RpbWVyLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCU1ha2UgdGltZXIgSVJRIGhhbmRsZXIgcmVndWxhciBidWlsdGluIGludGVycnVwdCBoYW5kbGVyIGluc3RlYWQgb2YKKwl1c2luZyBhbiBhc3NlbWJsZXIgc3R1Yi4KKworMjAwMy0wNi0yNyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9pbWFnZWhscC9hY2Nlc3MuYywgaW5jbHVkZS9pbWFnZWhscC5oOgorCVJlbW92ZWQgV2luZS1zcGVjaWZpYyBkZWZpbml0aW9uIGZyb20gZXhwb3J0ZWQgaGVhZGVyIChzcG90dGVkIGJ5CisJU3RldmVuIEVkd2FyZHMpLgorCisJKiBkbGxzL2Rzb3VuZC9idWZmZXIuYywgZGxscy9kc291bmQvZHNvdW5kX21haW4uYywKKwkgIGRsbHMvZHNvdW5kL2Rzb3VuZF9wcml2YXRlLmgsIGRsbHMvZHNvdW5kL21peGVyLmMsCisJICBkbGxzL2Rzb3VuZC9wcmltYXJ5LmMsIGRsbHMvZHNvdW5kL3NvdW5kM2QuYywKKwkgIGRsbHMvZHNvdW5kL3Rlc3RzL2Rzb3VuZC5jOgorCVJvYmVydCBSZWlmIDxyZWlmQGVhcnRobGluay5uZXQ+CisJM0QgYnVmZmVyIGFuZCBsaXN0ZW5lciByZWZlcmVuY2UgY291bnRzIHNob3VsZCBiZSBmaXhlZC4KKwkzRCBzb3VuZCBub3cgcGxheXMgaW4gM0QuCisJQ09NIGludGVyZmFjZXMgc2hvdWxkIGJlIGNvcnJlY3QgZm9yIGJ1ZmZlcnMgYW5kIDNEIHN0dWZmLiBUaGUgQ09NCisJaW50ZXJmYWNlIGlzIGJyb2tlbiBvbiBub3RpZmljYXRpb25zIGJ1dCBJIHdpbGwgZml4IHRoYXQgbmV4dC4KKwlGaXhlZCB0aGUgYnVnIHdoZW4gY2xvc2luZyBhbmQgb3BlbmluZyB0aGUgc2FtZSBvciBhbm90aGVyIHNvdW5kCisJZGV2aWNlIHF1aWNrbHkuCisJRml4ZWQgc29tZSBsb2NraW5nIGJ1dCB0aGVyZSBpcyBhIGxvdCBvZiB3b3JrIGxlZnQgeWV0LgorCisJKiBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYzogTWlrZSBIZWFybiA8bS5oZWFybkBzaWduYWwucWluZXRpcS5jb20+CisJU3RvcmUgUHJpbnRTdHJ1Y3R1cmVzIGluIGEgd2luZG93IHByb3BlcnR5IGluc3RlYWQgb2YgZXh0cmEgd2luZG93CisJYnl0ZXMuCisKKwkqIGRsbHMvZDNkOC9kM2Q4X21haW4uYywgZGxscy9kM2Q4L2QzZDhfcHJpdmF0ZS5oLAorCSAgZGxscy9kM2Q4L2QzZGNvcmVfZ2wuaCwgZGxscy9kM2Q4L2RyYXdwcmltLmM6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJLSBjdXJyZW50bHkgYWx3YXlzIHVzZSBzbG9hdyBwYXRoIGFzIGZhc3QgcGF0aCBoYXZlIHNvbWUgcHJvYmxlbXMKKwktIGZpeCBBUElFTlRSWSBtaXNtYXRjaGVkIHZhbHVlIHVzZWQgYnkgZ2wgZnVuYyBwb2ludGVycyAoaW4KKwkgIGQzZGNvcmVfZ2wuaCkKKworCSogZGxscy9nZGkvTWFrZWZpbGUuaW4sIGRsbHMvZ2RpL2JpZGkuYywgaW5jbHVkZS9nZGkuaCwgb2JqZWN0cy9mb250LmMsCisJICBvYmplY3RzL3RleHQuYzoKKwlTaGFjaGFyIFNoZW1lc2ggPHdpbmUtcGF0Y2hlc0BzaGVtZXNoLmJpej4KKwlJbXBsZW1lbnRhdGlvbiBvZiB0aGUgcmVvcmRlcmluZyBhbGdvcml0aG0gYnkgY2FsbGluZyBJQ1UncyByZW9yZGVyaW5nCisJZnVuY3Rpb25zLgorCisJKiBkbGxzL2RtdXNpYy9kbXVzaWMuYywgZGxscy9kbXVzaWMvZG11c2ljX2xvYWRlci5jLAorCSAgZGxscy9kbXVzaWMvZG11c2ljX21haW4uYywgZGxscy9kbXVzaWMvZG11c2ljX21pc2MuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19wZXJmb3JtYW5jZS5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfcGx1Z2lucy5jLAorCSAgZGxscy9kbXVzaWMvZG11c2ljX3ByaXZhdGUuaCwgZGxscy9kbXVzaWMvZG11c2ljX3NlZ21lbnQuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19zdHlsZS5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfc3ludGguYywKKwkgIGRsbHMvZG11c2ljL2hlbHBlci5jOgorCVJhcGhhZWwgSnVucXVlaXJhIDxmZW5peEBjbHViLWludGVybmV0LmZyPgorCS0gaHVnZSBDT00gY2xlYW51cDogb25seSBrZWVwIGRtdXNpYzggdmVyc2lvbiBvZiBpbnRlcmZhY2VzIHdoZW4gdGhleQorCSAgaW5oZXJpdCBmcm9tIGRtdXNpYzEgYW5kIGRtdXNpYzIgdmVyc2lvbi4gQW5kIGFsd2F5cyB1c2UgZG11c2ljOAorCSAgdmVyc2lvbnMgd2hlbiBhdmFpbGFibGUuCisJLSByZWFsbHkgc3R1cGlkIGltcGxlbWVudGF0aW9uIG9mIElEaXJlY3RNdXNpY0xvYWRlcjg6OkdldE9iamVjdCB3aGVuCisJICBJRGlyZWN0TXVzaWNTY3JpcHQgd2FudGVkCisJLSByZWFsbHkgZml4IHRoZSByZWZjb3VudCBwcm9ibGVtIGZvdW5kIGJ5IFJvaworCisJKiBkbGxzL3dpbmVkb3MvZG9zdm0uYzogR2VyYWxkIFBmZWlmZXIgPHBmZWlmZXJAZGJhaS50dXdpZW4uYWMuYXQ+CisJRW5hYmxlIGFsbCBvZiBEbGxNYWluKCksIGV2ZW4gaWYgaWYgbm90IE1aX1NVUFBPUlRFRC4KKworCSogZmlsZXMvcHJvZmlsZS5jOiBTdGVmYW4gTGVpY2h0ZXIgPFN0ZWZhbi5MZWljaHRlckBjYW1MaW5lLmNvbT4KKwlBZGRlZCBsaW5lIHdyYXBwaW5nIGZvciBhIEZJWE1FLgorCisJKiBkbGxzL3dpbmVkb3MvaW50MzEuYzogU3lsdmFpbiBQZXRyZW9sbGUgPHNwZXRyZW9sbGVAeWFob28uZnI+CisJRGlzcGxheSB0aGUgaW50ZXJydXB0IG51bWJlciBpbiBoZXhhZGVjaW1hbC4KKworCSogZGxscy9vbGVhdXQzMi90eXBlbGliLmM6IFJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJLSBTaWxlbmNlIHRoZSBGSVhNRSBhYm91dCBjb25zdHJ1Y3Rvci9kZXN0cnVjdG9yIHNpbmNlIGl0IGlzIHdyb25nIGZvcgorCSAgOTkuOSUgb2YgY2FzZXMgKGlmIE1TIHdpbGwgZXZlciB1c2UgdGhlIGZlYXR1cmUgYXQgYWxsKQorCS0gQWRkZWQgc3R1YnMgZm9yIElUeXBlQ29tcCBpbnRlcmZhY2UgaW4gSVR5cGVMaWIKKwktIEltcGxlbWVudGF0aW9uIG9mIElUeXBlQ29tcCBpbiBJVHlwZUluZm8KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMva2VybmVsL01ha2VmaWxlLmluLAorCSAgZGxscy9rZXJuZWwvbG9jYWxlLmMsIGRsbHMva2VybmVsL3Rlc3RzL2xvY2FsZS5jLAorCSAgZGxscy9udGRsbC9kZWJ1Z3Rvb2xzLmMsIGluY2x1ZGUvd2luZS91bmljb2RlLmgsIGluY2x1ZGUvd2lubmxzLmgsCisJICBsaWJzL3VuaWNvZGUvTWFrZWZpbGUuaW4sIGxpYnMvdW5pY29kZS9tYnRvd2MuYywKKwkgIGxpYnMvdW5pY29kZS9zb3J0a2V5LmMsIGxpYnMvdW5pY29kZS91dGY4LmMsIGxpYnMvdW5pY29kZS93Y3RvbWIuYywKKwkgIGxpYnMvdW5pY29kZS93aW5lX3VuaWNvZGUuZGVmOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJSW1wbGVtZW50IExDTWFwU3RyaW5nIHVzaW5nIHVuaWNvZGUgY29sbGF0aW9uIHRhYmxlcy4KKwlNb3ZlIENvbXBhcmVTdHJpbmcgYW5kIExDTWFwU3RyaW5nIHRvIGRsbHMva2VybmVsL2xvY2FsZS5jLgorCisJKiBkbGxzL2tlcm5lbC9NYWtlZmlsZS5pbiwgZGxscy9rZXJuZWwvcHJvY2Vzcy5jLAorCSAgZGxscy9udGRsbC9NYWtlZmlsZS5pbiwgZGxscy9udGRsbC9zeXNkZXBzLmMsIGluY2x1ZGUvdGhyZWFkLmgsCisJICBzY2hlZHVsZXIvZmliZXIuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYywgc2NoZWR1bGVyL3N5c2RlcHMuYywKKwkgIHNjaGVkdWxlci90aHJlYWQuYzoKKwlNb3ZlZCBzb21lIG9mIHRoZSBwcm9jZXNzIGZ1bmN0aW9ucyB0byBkbGxzL2tlcm5lbC4KKwlSZW1vdmVkIGtlcm5lbCBkZXBlbmRlbmNpZXMgZnJvbSBzeXNkZXBzLmMgYW5kIG1vdmVkIGl0IHRvIGRsbHMvbnRkbGwuCisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmM6CisJTWFrZSBzdXJlIHRvIHJldHVybiBhbiBlcnJvciBpZiBsb2FkX2RsbCBmYWlscyBiZWNhdXNlIHRoZSBsb2FkIG9yZGVyCisJaXMgZW1wdHkuCisKKwkqIGRsbHMvbnRkbGwvbG9hZGVyLmM6IFRyb3kgUm9sbG8gPHdpbmVAdHJveS5yb2xsby5uYW1lPgorCVJlbW92ZWQgRklYTUUgd2hlbiBsb2FkaW5nIHNlY29uZCBleGUgZmlsZS4KKworCSogbGlicy91bmljb2RlL2NvbGxhdGlvbi5jLCBsaWJzL3VuaWNvZGUvY3BtYXAucGw6CisJQWRkZWQgZ2VuZXJhdGlvbiBvZiB0YWJsZSBvZiBjb2xsYXRpb24ga2V5cyAoYmFzZWQgb24gYSBwYXRjaCBieQorCURtaXRyeSBUaW1vc2hrb3YpLgorCisJKiBkbGxzL3dpbmluZXQvbmV0Y29ubmVjdGlvbi5jOgorCURtaXRyeSBUaW1vc2hrb3YgPGRtaXRyeUBjb2Rld2VhdmVycy5jb20+CisJQWRkIGluY2x1c2lvbiBvZiA8c3lzL3RpbWUuaD4gbmVlZGVkIGZvciBzdHJ1Y3QgdGltZXZhbCBkZWNsYXJhdGlvbi4KKwlQcm90ZWN0IHNvbWUgb3B0aW9uYWwgaGVhZGVycyBmcm9tIGluY2x1c2lvbi4KKworCSogZGxscy9vbGUzMi9vbGUyLmMsIGRsbHMvb2xlMzIvb2xlMzIuc3BlYzoKKwlUcm95IFJvbGxvIDx3aW5lQHRyb3kucm9sbG8ubmFtZT4KKwlJbXBsZW1lbnRlZCBPbGVEcmF3LgorCisyMDAzLTA2LTI2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBsaWJzL3VuaWNvZGUvY18wMzcuYywgbGlicy91bmljb2RlL2NfMDQyLmMsIGxpYnMvdW5pY29kZS9jXzEwMDAwLmMsCisJICBsaWJzL3VuaWNvZGUvY18xMDAwNi5jLCBsaWJzL3VuaWNvZGUvY18xMDAwNy5jLAorCSAgbGlicy91bmljb2RlL2NfMTAwMjkuYywgbGlicy91bmljb2RlL2NfMTAwNi5jLAorCSAgbGlicy91bmljb2RlL2NfMTAwNzkuYywgbGlicy91bmljb2RlL2NfMTAwODEuYywKKwkgIGxpYnMvdW5pY29kZS9jXzEwMjYuYywgbGlicy91bmljb2RlL2NfMTI1MC5jLCBsaWJzL3VuaWNvZGUvY18xMjUxLmMsCisJICBsaWJzL3VuaWNvZGUvY18xMjUyLmMsIGxpYnMvdW5pY29kZS9jXzEyNTMuYywgbGlicy91bmljb2RlL2NfMTI1NC5jLAorCSAgbGlicy91bmljb2RlL2NfMTI1NS5jLCBsaWJzL3VuaWNvZGUvY18xMjU2LmMsIGxpYnMvdW5pY29kZS9jXzEyNTcuYywKKwkgIGxpYnMvdW5pY29kZS9jXzEyNTguYywgbGlicy91bmljb2RlL2NfMjA4NjYuYywKKwkgIGxpYnMvdW5pY29kZS9jXzIwOTMyLmMsIGxpYnMvdW5pY29kZS9jXzI4NTkxLmMsCisJICBsaWJzL3VuaWNvZGUvY18yODU5Mi5jLCBsaWJzL3VuaWNvZGUvY18yODU5My5jLAorCSAgbGlicy91bmljb2RlL2NfMjg1OTQuYywgbGlicy91bmljb2RlL2NfMjg1OTUuYywKKwkgIGxpYnMvdW5pY29kZS9jXzI4NTk2LmMsIGxpYnMvdW5pY29kZS9jXzI4NTk3LmMsCisJICBsaWJzL3VuaWNvZGUvY18yODU5OC5jLCBsaWJzL3VuaWNvZGUvY18yODU5OS5jLAorCSAgbGlicy91bmljb2RlL2NfMjg2MDAuYywgbGlicy91bmljb2RlL2NfMjg2MDMuYywKKwkgIGxpYnMvdW5pY29kZS9jXzI4NjA0LmMsIGxpYnMvdW5pY29kZS9jXzI4NjA1LmMsCisJICBsaWJzL3VuaWNvZGUvY18yODYwNi5jLCBsaWJzL3VuaWNvZGUvY180MjQuYywgbGlicy91bmljb2RlL2NfNDM3LmMsCisJICBsaWJzL3VuaWNvZGUvY181MDAuYywgbGlicy91bmljb2RlL2NfNzM3LmMsIGxpYnMvdW5pY29kZS9jXzc3NS5jLAorCSAgbGlicy91bmljb2RlL2NfODUwLmMsIGxpYnMvdW5pY29kZS9jXzg1Mi5jLCBsaWJzL3VuaWNvZGUvY184NTUuYywKKwkgIGxpYnMvdW5pY29kZS9jXzg1Ni5jLCBsaWJzL3VuaWNvZGUvY184NTcuYywgbGlicy91bmljb2RlL2NfODYwLmMsCisJICBsaWJzL3VuaWNvZGUvY184NjEuYywgbGlicy91bmljb2RlL2NfODYyLmMsIGxpYnMvdW5pY29kZS9jXzg2My5jLAorCSAgbGlicy91bmljb2RlL2NfODY0LmMsIGxpYnMvdW5pY29kZS9jXzg2NS5jLCBsaWJzL3VuaWNvZGUvY184NjYuYywKKwkgIGxpYnMvdW5pY29kZS9jXzg2OS5jLCBsaWJzL3VuaWNvZGUvY184NzQuYywgbGlicy91bmljb2RlL2NfODc1LmMsCisJICBsaWJzL3VuaWNvZGUvY184NzguYywgbGlicy91bmljb2RlL2NfOTMyLmMsIGxpYnMvdW5pY29kZS9jXzkzNi5jLAorCSAgbGlicy91bmljb2RlL2NfOTQ5LmMsIGxpYnMvdW5pY29kZS9jXzk1MC5jLCBsaWJzL3VuaWNvZGUvY2FzZW1hcC5jLAorCSAgbGlicy91bmljb2RlL3djdHlwZS5jOgorCVVwZGF0ZWQgdG8gdGhlIGxhdGVzdCBVbmljb2RlIHN0YW5kYXJkLgorCisJKiBkbGxzL2tlcm5lbC9jb21tLmMsIGRsbHMva2VybmVsL2ZpbGUuYywgZGxscy9udGRsbC9maWxlLmMsCisJICBkbGxzL250ZGxsL3N5bmMuYywgZGxscy93aW5zb2NrL3NvY2tldC5jLCBmaWxlcy9maWxlLmMsIGZpbGVzL3NtYi5jLAorCSAgZmlsZXMvc21iLmgsIGluY2x1ZGUvYXN5bmMuaCwgaW5jbHVkZS93aW50ZXJubC5oOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gbWFkZSBhc3luYy5oIHJlYWR5IGZvciB1c2UgaW4gbnRkbGw6IHJlcGxhY2VkIGFsbCBjYWxscyB0byBrZXJuZWwzMgorCSAgZnVuY3Rpb25zIHdpdGggbnRkbGwgZXF1aXZhbGVudAorCS0gcmVwbGFjZWQgc3RhdHVzIHNldHRlci9nZXR0ZXIgZm9yIHdpbmUgYXN5bmMgc3RydWN0dXJlcyB3aXRoIGRpcmVjdAorCSAgYWNjZXNzIHRvIGEgKG5vdyBpbmNsdWRlZCkgSU9fU1RBVFVTX0JMT0NLIHN0cnVjdHVyZQorCS0gc2luY2Ugd2Ugbm93IGhhdmUgYSBJT19TVEFUVVNfQkxPQ0sgaW4gYXN5bmNfcHJpdmF0ZSwgd2Ugbm8gbG9uZ2VyCisJICBuZWVkIGluIG1vc3Qgb2YgdGhlIHVzZXIgKGRlcml2YXRlZCkgc3RydWN0dXJlcyBhIGZpZWxkIGZvcgorCSAgTFBPVkVSTEFQUEVEIChpdCdzIHN0b3JlZCBhcyB0aGUgSU9fU1RBVFVTX0JMT0NLKQorCS0gcmV3cm90ZSB0aGUgYXN5bmMuaCB1c2VycyBhY2NvcmRpbmdseQorCS0gaW1wbGVtZW50ZWQgbnRkbGwuTnR7UmVhZHxXcml0ZX1GaWxlIGFuZCBsZXQKKwkgIGtlcm5lbDMyLntSZWFkfFdyaXRlfUZpbGUoRXgpPyB1c2UgdGhvc2UgbmV3IG50ZGxsIGZ1bmN0aW9ucworCS0gcmV3cm90ZSBzbWIgcmVhZC93cml0ZSBpbnRlcmZhY2VzIHRvIGJlIG1vcmUgbnRkbGwgc3R5bGlzaCAobm8KKwkgIG92ZXJsYXBwZWQgeWV0KQorCisJKiBpbmNsdWRlL01ha2VmaWxlLmluLCBpbmNsdWRlL2RiZ2hlbHAuaDoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlBZGRlZCBkYmdoZWxwLmggaGVhZGVyLgorCisJKiBkbGxzL2tlcm5lbC90ZXN0cy9wcm9jZXNzLmM6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUFkZGVkIGEgc21hbGwgdGVzdCBmb3IgcHJvY2VzcyBleGl0IGNvZGUgcmV0cmlldmFsLgorCisJKiBkbGxzL2NvbW1kbGcvY2RsZzMyLmM6IFN0ZXZlbiBFZHdhcmRzIDxTdGV2ZW5fRWQ0MTUzQHlhaG9vLmNvbT4KKwlSZW1vdmUgdW5uZWVkZWQgY2FsbHMgdG8gTG9hZExpYnJhcnkxNiBhbmQgRnJlZUxpYnJhcnkxNi4KKworMjAwMy0wNi0yNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9vbGVhdXQzMi92YXJpYW50LmM6IE1hcmN1cyBNZWlzc25lciA8bWVpc3NuZXJAc3VzZS5kZT4KKwlWYXJBZGQ6IEFkZGVkIFZUX1I4LCBWVF9FTVBUWSwgVlRfTlVMTCBoYW5kbGluZy4KKworCSogZGxscy94MTFkcnYvd2lucG9zLmM6CisJTWFwIHRvcC1sZXZlbCB3aW5kb3dzIHdoZW4gV1NfVklTSUJMRSBpcyBzZXQsIGJ1dCBkb24ndCB1bm1hcCB0aGVtCisJd2hlbiBpdCdzIGNsZWFyZWQuCisKKwkqIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvbWFrZV9kbGxzOgorCUFub3RoZXIgbWFrZSBpbnN0YWxsIGRlcGVuZGVuY3kgZml4LgorCisJKiBkbGxzL250ZGxsL2Nkcm9tLmMsIGRsbHMvbnRkbGwvZmlsZS5jLCBkbGxzL250ZGxsL250ZGxsX21pc2MuaCwKKwkgIGluY2x1ZGUvZmlsZS5oLCB3aW4zMi9kZXZpY2UuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIHN0YXJ0ZWQgaW1wbGVtZW50aW5nIG50ZGxsLk50RGV2aWNlSW9Db250cm9sRmlsZSBhbmQgbWFkZQorCSAga2VybmVsMzIuRGV2aWNlSW9Db250cm9sIGNhbGwgaXQKKwktIGNoYW5nZWQgY2Ryb20gaW9jdGwgZnVuY3Rpb24ncyBwcm90b3R5cGUgdG8gc3RpY2sgdG8KKwkgIG50ZGxsLk50RGV2aWNlSW9Db250cm9sRmlsZSBzaWduYXR1cmUKKworCSogaW5jbHVkZS9kM2Q5LmgsIGluY2x1ZGUvZDNkOXR5cGVzLmg6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJZDNkOSBoZWFkZXJzIGFyZSBiZXR0ZXIgd2hlbiB0aGV5IGJ1aWxkLgorCisJKiBkbGxzL2NvbW1kbGcvZmlsZWRsZy5jLCBkbGxzL2NvbW1kbGcvZmlsZWRsZy5oLAorCSAgZGxscy9jb21tZGxnL2ZpbGVkbGcxNi5jOgorCVN0ZXZlbiBFZHdhcmRzIDxTdGV2ZW5fRWQ0MTUzQHlhaG9vLmNvbT4KKwlNb3JlIHNwbGl0dGluZyBvZiB0aGUgV2luMTYvMzIgaW50ZXJuYWwgZmlsZWRsZ3Byb2Mgd2luZG93IHByb2NlZHVyZXMKKwlhbmQgZGlhbG9nIGluaXQuCisJTWFrZSBhIGZldyBpbnRlcm5hbCBmdW5jdGlvbiBzdGF0aWMgYW5kIHNoYXJlIGEgZmV3IG90aGVycy4KKworCSogZmlsZXMvc21iLmMsIGZpbGVzL3NtYi5oOiBCaWxsIE1lZGxhbmQgPGJpbGxtZWRsYW5kQG1lcmN1cnlzcGVlZC5jb20+CisJQSBsaXR0bGUgU01CIHByZXBhcmF0b3J5IHdvcms6CisJRG9uJ3QgcHVibGlzaCBpbnRlcm5hbCBpbmZvcm1hdGlvbi4KKwlBZGQgYSBmdW5jdGlvbiBmb3IgZGV0ZWN0aW5nIFVOQyBuYW1lcy4KKwlBY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IE5UIGFsbG93cyBlaXRoZXIgc2VwYXJhdG9yIGNoYXJhY3Rlci4KKworCSogZGxscy9vbGVhdXQzMi9vbGVmb250LmMsIGRsbHMvb2xlYXV0MzIvdGVzdHMvLmN2c2lnbm9yZSwKKwkgIGRsbHMvb2xlYXV0MzIvdGVzdHMvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYXV0MzIvdGVzdHMvb2xlZm9udC5jLAorCSAgZGxscy9vbGVhdXQzMi92YXJpYW50LmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJT2xlQ3JlYXRlRm9udEluZGlyZWN0KE5VTEwsLi4uKSB1c2VzIHRoZSBPTEUgU3RkRm9udC4KKwlBZGRlZCB0ZXN0Y2FzZSBmb3IgT2xlQ3JlYXRlRm9udEluZGlyZWN0KE5VTEwpLgorCUFkZGVkIFZUX05VTEwgLT4gVlRfQk9PTCB2YXJpYW50IGNvbnZlcnRlci4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL3Jlc291cmNlLmMsIGRsbHMva2VybmVsL3N5bmMuYywKKwkgIGRsbHMva2VybmVsL3RhcGUuYywgZGxscy9rZXJuZWwvdGhyZWFkLmMsIGRsbHMvbnRkbGwvTWFrZWZpbGUuaW4sCisJICBmaWxlcy90YXBlLmMsIHNjaGVkdWxlci9jcml0c2VjdGlvbi5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsCisJICB3aW4zMi9rZXJuZWwzMi5jOgorCU1vdmVkIHRhcGUuYyB0byBkbGxzL2tlcm5lbC4KKwlNb3ZlZCBjcml0aWNhbCBzZWN0aW9uIGFuZCByZXNvdXJjZSB1cGRhdGUgZnVuY3Rpb25zIHRvIGRsbHMva2VybmVsLgorCVN0YXJ0ZWQgbW92aW5nIHNvbWUgb2YgdGhlIHRocmVhZCBmdW5jdGlvbnMgdG9vLgorCisJKiBkbGxzL2dkaS9tZmRydi9pbml0LmM6IE1pa2UgTWNDb3JtYWNrIDxtaWtlQGNvZGV3ZWF2ZXJzLmNvbT4KKwlIYW5kbGUgQ3JlYXRlTWV0YUZpbGVXKE5VTEwpIGNvcnJlY3RseS4KKworCSogZGxscy9zaGVsbDMyL3Nodl9pdGVtX2NtZW51LmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSVN2SXRlbUNtX2ZuSW52b2tlQ29tbWFuZDogYWRkZWQgc3VwcG9ydCBmb3IgImRlbGV0ZSIgY29tbWFuZC4KKworCSogZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL2ZpbGUuYywgZGxscy9rZXJuZWwvZmlsZTE2LmMsCisJICBkbGxzL2tlcm5lbC9rZXJuZWxfcHJpdmF0ZS5oLCBkbGxzL250ZGxsL2ZpbGUuYywKKwkgIGRsbHMvbnRkbGwvbnRkbGwuc3BlYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL3dpbmUvc2VydmVyX3Byb3RvY29sLmgsCisJICBpbmNsdWRlL3dpbnRlcm5sLmgsIG1pc2MvcmVnaXN0cnkuYywgc2VydmVyL2ZpbGUuYywKKwkgIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90cmFjZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCS0gc3RhcnQgbW92aW5nIGEgZmV3IGZpbGUgcmVsYXRlZCBmdW5jdGlvbnMgZnJvbSBmaWxlcy9maWxlLmMgdG8KKwkgIGRsbHMva2VybmVsIHN1YmRpciAoYWxzbyBzcGxpdHRpbmcgMTZiaXQgQVBJcyBpbiBhIHNlcGFyYXRlIGZpbGUpCisJLSBpbXBsZW1lbnRlZCBudGRsbC5OdHtMb2NrfFVubG9ja31GaWxlLCBhbmQgbWFkZSB1c2Ugb2YgdGhvc2UgZm9yIHRoZQorCSAga2VybmVsMzIgZXF1aXZhbGVudAorCS0gaW1wbGVtZW50ZWQgYSBmZXcgaW5mb3JtYXRpb24gY2xhc3NlcyBpbiBOdFF1ZXJ5SW5mb3JtYXRpb25GaWxlIGFuZAorCSAgTnRTZXRJbmZvcm1hdGlvbkZpbGUgKHN0aWxsIGxvdHMgb2YgbWlzc2luZyBjbGFzc2VzKQorCS0gZW5oYW5jZWQgdGhlIGdldF9maWxlX2luZm8gc2VydmVyIHJlcXVlc3QgaW4gb3JkZXIgdG8gaW1wbGVtZW50CisJICBjb3JyZWN0bHkgTnRRdWVyeUluZm9ybWF0aW9uRmlsZSAoY2hhbmdlIHRpbWUgJiBmaWxlIGFsbG9jIHNpemUpCisJLSByZXdyb3RlIHJlZ2lzdHJ5IGxvYWRpbmcgdG8gY29tcGx5IHdpdGggbGF0ZXN0IGNoYW5nZXMKKworCSogZGxscy9kbXVzaWMvTWFrZWZpbGUuaW4sIGRsbHMvZG11c2ljL2RtdXNpY19sb2FkZXIuYywKKwkgIGRsbHMvZG11c2ljL2RtdXNpY19wZXJmb3JtYW5jZS5jLCBkbGxzL2RtdXNpYy9kbXVzaWNfcHJpdmF0ZS5oLAorCSAgZGxscy9kbXVzaWMvaGVscGVyLmM6CisJUm9rIE1hbmRlbGpjIDxyb2subWFuZGVsamNAZ2ltYi5vcmc+CisJQWRkZWQgZnJhbWV3b3JrIGZvciBmaWxlIGxvYWRpbmcuCisKKwkqIGRsbHMvd2luZWRvcy9kb3N2bS5jOiBHZXJhbGQgUGZlaWZlciA8cGZlaWZlckBkYmFpLnR1d2llbi5hYy5hdD4KKwlFeHBvc2UgcGFydCBvZiBET1NWTV9TZW5kUXVldWVkRXZlbnRzKCkgYWxzbyBmb3IgcGxhdGZvcm1zIHdpdGhvdXQKKwlNWl9TVVBQT1JURUQuCisKKzIwMDMtMDYtMjMgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvdXNlci91c2VyMzIuc3BlYywgZGxscy91c2VyL3VzZXJfbWFpbi5jLAorCSAgZGxscy94MTFkcnYvY2xpcGJvYXJkLmMsIGRsbHMveDExZHJ2L2V2ZW50LmMsIGRsbHMveDExZHJ2L3gxMWRydi5oLAorCSAgZGxscy94MTFkcnYveDExZHJ2LnNwZWMsIGRsbHMveDExZHJ2L3gxMWRydl9tYWluLmMsCisJICBpbmNsdWRlL2NsaXBib2FyZC5oLCBpbmNsdWRlL3VzZXIuaCwgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgc2VydmVyL01ha2VmaWxlLmluLCBzZXJ2ZXIvY2xpcGJvYXJkLmMsIHNlcnZlci9wcm90b2NvbC5kZWYsCisJICBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90cmFjZS5jLCBzZXJ2ZXIvdXNlci5oLAorCSAgd2luZG93cy9jbGlwYm9hcmQuYywgd2luZG93cy93aW4uYzoKKwlVbHJpY2ggQ3pla2FsbGEgPHVjemVrYWxsYUBjb2Rld2VhdmVycy5jb20+CisJLSB1c2UgZ2xvYmFsIGF0b21zIGZvciB0aGUgZm9ybWF0IGlkcworCS0gYWRkIHRpbWVvdXQgd2hlbiBjYWxsaW5nIFhDaGVja1R5cGVkV2luZG93RXZlbnQKKwktIGZpeCBicm9rZW4gSXNDbGlwYm9hcmRGb3JtYXRBdmFpbGFibGU7IGl0IHRyaWVkIHRvIGRvIGEgdHJpY2sgd2l0aAorCSAgRW51bUNsaXBib2FyZEZvcm1hdHMgYnkgbWFraW5nIGluY29ycmVjdCBhc3N1bXB0aW9ucworCS0gaW4gWDExRFJWX0lzQ2xpcGJvYXJkRm9ybWF0QXZhaWxhYmxlIGRvIGEgcXVpY2sgZXhpdCBpZiBubyBvbmUgb3ducworCSAgdGhlIHNlbGVjdGlvbgorCS0gYWRkIDEgc2Vjb25kICptaW5pbXVtKiB0aW1lIGxhcHNlIGJldHdlZW4gWFNlbGVjdGlvbk93bmVyIGNhbGxzCisJLSBzeW5jIGNsaXBib2FyZCBvd25lcnNoaXAgYmV0d2VlbiBkaWZmZXJlbnQgd2luZSBwcm9jZXNzZXMKKwktIHByZXZlbnRzIGFwcHMgZnJvbSBnZXR0aW5nIGludG8gd2llcmQgc3RhdGUgd2hlcmUgdGhleSB0aG91Z2h0IHRoZXkKKwkgIGRpZG4ndCBvd24gdGhlIHNlbGVjdGlvbiBidXQgdGhleSBkaWQgYW5kIGFzIGEgcmVzdWx0IHF1ZXJpZWQKKwkgIHRoZW1zZWx2ZXMgZm9yIGF2YWlsYWJsZSBzZWxlY3Rpb24gZGF0YQorCisJKiBkbGxzL3dpbmVwcy9pbml0LmM6IEh1dyBEYXZpZXMgPGh1d0Bjb2Rld2VhdmVycy5jb20+CisJTWFrZSBzdXJlIHdlIHVwZGF0ZSBkYy0+Yml0c1BlclBpeGVsLgorCisJKiBkbGxzL2dkaS9kcml2ZXIuYzoKKwlBZGRlZCBzcGVjaWFsIGNhc2UgZm9yICJkaXNwbGF5IiBpbiBEUklWRVJfR2V0RHJpdmVyTmFtZSBzbyB0aGF0CisJR2V0REMoTlVMTCwiZGlzcGxheSIpIHdvcmtzLgorCisJKiBkbGxzL2dkaS9mcmVldHlwZS5jLCBpbmNsdWRlL2dkaS5oLCBvYmplY3RzL2ZvbnQuYywgb2JqZWN0cy90ZXh0LmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEb24ndCBlbmFibGUgY2xpZW50IHNpZGUgZm9udHMgdW5sZXNzIHdlIGhhdmUgYXQgbGVhc3Qgb25lIG5vbi1zeW1ib2wKKwlmb250IGluc3RhbGxlZCAtIHRoaXMgYXZvaWRzIGEgbmFzdHkgV2luZ2RpbmdzIG9ubHkgc2NlbmFyaW8uCisJQWRkIHRoZSBhYmlsaXR5IHRvIHBlcmZvcm0gZm9udCByZXBsYWNlbWVudHMsIHRoaXMgZXNzZW50aWFsbHkgbGV0cworCXlvdSBnaXZlIGEgc2Vjb25kIG5hbWUgdG8gYSBmb250IGZhbWlseSBzbyB0aGF0IGZhbWlseUEgZ2V0cworCWVudW1lcmF0ZWQgYXMgZmFtaWx5QiB0b28uCisJSWYgd2UgZW5jb3VudGVyIHR3byBjb3BpZXMgb2YgdGhlIHNhbWUgZm9udCB0aGVuIHVzZSB0aGUgb25lIHdpdGggdGhlCisJbGFyZ2VyIHZlcnNpb24gbnVtYmVyLgorCisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlIEdldFRleHRDaGFyc2V0SW5mbyBpbXBsZW1lbnRhdGlvbiB0byB0aGUgZm9udCBkcml2ZXIuCisKKwkqIHdpbmRvd3Mvd2luLmM6IEFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJU2ltcGxlIG9wdGltaXphdGlvbiBpbiBFbmFibGVXaW5kb3cuCisKKwkqIHdpbmRvd3MvcGFpbnRpbmcuYzogRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlEdW1wIFJEV18gZmxhZ3MgaW4gUmVkcmF3V2luZG93LgorCisJKiBkbGxzL3gxMWRydi9rZXlib2FyZC5jOiBEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFsb25nIHdpdGggQWx0R3Igc3RhdGUgc2F2ZSBhbHNvIGFsbCBwb3NzaWJsZSBtb2RpZmllciBzdGF0ZXMuCisKKwkqIGRsbHMvd2luZXBzL2Rvd25sb2FkLmMsIGRsbHMvd2luZXBzL2VzY2FwZS5jLCBkbGxzL3dpbmVwcy9wcy5jLAorCSAgZGxscy93aW5lcHMvcHNkcnYuaCwgZGxscy93aW5lcHMvdHlwZTQyLmM6CisJSHV3IERhdmllcyA8aHV3QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGb3IgUG9zdFNjcmlwdCB2ZXJzaW9ucyA8IDIuMDE1IHdlIG5lZWQgdG8gZXhwbGljaXRseSBhbGxvY2F0ZSBzcGFjZQorCWZvciB0aGUgJ2dseWYnIGFycmF5LgorCVRvIGNvbnNlcnZlIFZNLCB3ZSBvbmx5IGFsbG93IHVwIHRvIHR3byBmb250cyB0byBiZSBkb3dubG9hZGVkIGJlZm9yZQorCXJlY2xhaW1pbmcgdGhlaXIgVk0uCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jOiBIdXcgRGF2aWVzIDxodXdAY29kZXdlYXZlcnMuY29tPgorCUl0IHNlZW1zIGN1cHNHZXREZWZhdWx0IHJldHVybnMgdGhlIHN5c3RlbSBkZWZhdWx0IHByaW50ZXIgYW5kIGlnbm9yZXMKKwlhIHVzZXIncyBvdmVycmlkZS4gIFNvIHVzZSBjdXBzR2V0RGVzdHMgaW5zdGVhZCB3aGljaCBkb2VzIHJlc3BlY3QgdGhlCisJdXNlcidzIGNob2ljZS4KKwlEZWxldGUgYWxsIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIHByaW50ZXIga2V5cyBvbiBzdGFydHVwIGJlZm9yZQorCXF1ZXJ5aW5nIHRoZSBjdXBzIHNlcnZlci4KKworCSogZG9jdW1lbnRhdGlvbi9NYWtlZmlsZS5pbiwgcHJvZ3JhbXMvTWFrZWZpbGUuaW4sCisJICB0b29scy93aW5lYnVpbGQvTWFrZWZpbGUuaW46CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIHN1cmUgdG8gcmV0dXJuIGFuIGVycm9yIGlmIHRoZSBmaWxlIGdlbmVyYXRpb24gZmFpbHMuCisKKwkqIGRsbHMvd2luZWRvcy9pbnQxMy5jOiBGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCU9fUkRPTkxZPT0wIGJ1dCBpdCdzIGNsZWFuZXIgdG8gcGFzcyBpdCB0byBEUklWRV9PcGVuRGV2aWNlKCkgYW55d2F5LgorCisJKiBkbGxzL3NoZWxsMzIvY2hhbmdlbm90aWZ5LmMsIGRsbHMvc2hlbGwzMi9zaGVsbDMyLnNwZWM6CisJTWlrZSBNY0Nvcm1hY2sgPG1pa2VAY29kZXdlYXZlcnMuY29tPgorCUNoYW5nZSBub3RpZmljYXRpb24gZml4ZXMuCisKKwkqIGRsbHMvZ2RpL2RyaXZlci5jLCBkbGxzL2dkaS9lbmhtZmRydi9lbmhtZXRhZmlsZWRydi5oLAorCSAgZGxscy9nZGkvZW5obWZkcnYvaW5pdC5jLCBkbGxzL2dkaS9lbmhtZmRydi9tYXBwaW5nLmMsCisJICBkbGxzL2dkaS9tZmRydi9pbml0LmMsIGluY2x1ZGUvZ2RpLmgsIG9iamVjdHMvZGMuYzoKKwlNaWtlIE1jQ29ybWFjayA8bWlrZUBjb2Rld2VhdmVycy5jb20+CisJUmVjb3JkIFNldFdvcmxkVHJhbnNmb3JtIGFuZCBNb2RpZnlXb3JsZFRyYW5zZm9ybSBpbiBlbmhhbmNlZAorCW1ldGFmaWxlcy4KKworCSogZGxscy9NYWtlZmlsZS5pbiwgZGxscy9tYWtlX2RsbHM6CisJQWRkZWQgaW1wb3J0IGxpYnMgZGVwZW5kZW5jeSBmb3IgbWFrZSBpbnN0YWxsLgorCisJKiBwcm9ncmFtcy9jbG9jay9Fbi5yYywgcHJvZ3JhbXMvY2xvY2svUHQucmMsIHByb2dyYW1zL2Nsb2NrL3JzcmMucmMsCisJICBwcm9ncmFtcy9jbWRsZ3RzdC9Fbi5yYywgcHJvZ3JhbXMvY21kbGd0c3QvUHQucmMsCisJICBwcm9ncmFtcy9jbWRsZ3RzdC9jbWRsZ3IucmMsIHByb2dyYW1zL25vdGVwYWQvRW4ucmMsCisJICBwcm9ncmFtcy9ub3RlcGFkL1B0LnJjLCBwcm9ncmFtcy9wcm9nbWFuL1B0LnJjLAorCSAgcHJvZ3JhbXMvcHJvZ21hbi9yc3JjLnJjLCBwcm9ncmFtcy9zdGFydC9QdC5yYywKKwkgIHByb2dyYW1zL3N0YXJ0L3JzcmMucmMsIHByb2dyYW1zL3ZpZXcvRW4ucmMsIHByb2dyYW1zL3ZpZXcvUHQucmMsCisJICBwcm9ncmFtcy92aWV3L3ZpZXdyYy5yYywgcHJvZ3JhbXMvd2NtZC9Fbi5yYywgcHJvZ3JhbXMvd2NtZC9QdC5yYywKKwkgIHByb2dyYW1zL3djbWQvd2NtZHJjLnJjLCBwcm9ncmFtcy93aW5lY2ZnL0VuLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNmZy9QdC5yYywgcHJvZ3JhbXMvd2luZWNmZy93aW5lY2ZnLnJjLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGVfUHQucmMsCisJICBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZV9yZXMucmMsIHByb2dyYW1zL3dpbmVmaWxlL1B0LnJjLAorCSAgcHJvZ3JhbXMvd2luZWZpbGUvcnNyYy5yYywgcHJvZ3JhbXMvd2luZW1pbmUvRW4ucmMsCisJICBwcm9ncmFtcy93aW5lbWluZS9QdC5yYywgcHJvZ3JhbXMvd2luZW1pbmUvcnNyYy5yYywKKwkgIHByb2dyYW1zL3dpbmhlbHAvUHQucmMsIHByb2dyYW1zL3dpbmhlbHAvcnNyYy5yYzoKKwlNYXJjZWxvIER1YXJ0ZSA8d2luZS1kZXZlbEBib2wuY29tLmJyPgorCS0gbG9jYWxpemF0aW9uIHRvIHRoZSBQb3J0dWd1ZXNlIG9mIEJyYXppbCBvZiAicHJvZ3JhbXMvKiIKKwktIHNlcGFyYXRpb24gb2Ygc29tZSByZXNvdXJjZXMgdGhhdCBvbmx5IGV4aXN0ZWQgaW4gRW5nbGlzaAorCS0gbGVzc2VyIGFkanVzdG1lbnRzIGluIG1lbnVzCisKKwkqIGRsbHMva2VybmVsL2NvbnNvbGUuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgZGxscy9udGRsbC9oZWFwLmMsCisJICBmaWxlcy9wcm9maWxlLmMsIGZpbGVzL3NtYi5jLCBtZW1vcnkvaGVhcC5jLCBzY2hlZHVsZXIvcHRocmVhZC5jLAorCSAgc2NoZWR1bGVyL3N5c2xldmVsLmM6CisJRXJpYyBQb3VlY2ggPHBvdWVjaC1lcmljQHdhbmFkb28uZnI+CisJLSBpbiBrZXJuZWwzMiwgcmVwbGFjZWQgYWxsIHtFbnRlcnxMZWF2ZX1Dcml0aWNhbFNlY3Rpb24gY2FsbHMgd2l0aAorCSAgbnRkbGwgY291bnRlcnBhcnRzCisJLSB7RW50ZXJ8TGVhdmV9Q3JpdGljYWxTZWN0aW9uIGlzIG5vdyBhIHB1cmUgZm9yd2FyZCBmcm9tIGtlcm5lbDMyIHRvCisJICBudGRsbCAod2Ugbm93IGxvbmdlciBjYW4gdXNlIHtFbnRlcnxMZWF2ZX1Dcml0aWNhbFNlY3Rpb24gaW4ga2VybmVsMzIpCisJLSByZXBsYWNlZCBhIGZldyBrZXJuZWwzMiBoZWFwIG1hbmFnZW1lbnQgY2FsbHMgZnJvbSBudGRsbCwgd2l0aAorCSAgUnRsSGVhcCogZXF1aXZhbGVudHMKKworCSogZGxscy9jYWJpbmV0L2ZkaS5jOiBHcmVnb3J5IE0uIFR1cm5lciA8Z210dXJuZXIwMDdAYW1lcml0ZWNoLm5ldD4KKwktIHJlbW92ZSB1bnVzZWQgbG9vcCB0aGF0IGFsd2F5cyBpdGVyYXRlcyBvbmNlCisJLSByZW1vdmUgd2FybmluZworCS0gcHJlcGFyYXRpb25zIHRvIHVzZSBtdWx0aXBsZSBmZGlfZGVjb21wX3N0YXRlIHN0cnVjdHVyZXMgaW4gYSBsaW5rZWRsaXN0LAorCSAgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCBzcGxpdCBjYWJpbmV0cywgaWYgYWxsIGdvZXMgYWNjb3JkaW5nCisJICB0byBwbGFuIC0tIHRoaXMgaXMgc29tZXdoYXQgYW5hbG9nb3VzIHRvIHN0cnVjdCBjYWJpbmV0IGluIGNhYmV4dHJhY3QuCisKKwkqIGRsbHMvYXZpZmlsMzIvTWFrZWZpbGUuaW4sIGRsbHMvYXZpZmlsMzIvYWNtc3RyZWFtLmMsCisJICBkbGxzL2F2aWZpbDMyL2FwaS5jLCBkbGxzL2F2aWZpbDMyL2F2aWZpbDMyLnNwZWMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGUuYywgZGxscy9hdmlmaWwzMi9hdmlmaWxlLnNwZWMsCisJICBkbGxzL2F2aWZpbDMyL2F2aWZpbGVfcHJpdmF0ZS5oLCBkbGxzL2F2aWZpbDMyL2V4dHJhY2h1bmsuYywKKwkgIGRsbHMvYXZpZmlsMzIvZ2V0ZnJhbWUuYywgZGxscy9hdmlmaWwzMi9pY21zdHJlYW0uYywKKwkgIGRsbHMvYXZpZmlsMzIvdG1wZmlsZS5jLCBkbGxzL2F2aWZpbDMyL3dhdmZpbGUuYywgaW5jbHVkZS92ZncuaDoKKwlNaWNoYWVsIEf8bm5ld2lnIDxNaWNoYWVsR3Vlbm5ld2lnQGdteC5kZT4KKwktIEZpeGVkIHNvbWUgc2lnbmVkL3Vuc2lnbmVkIG1pc21hdGNoZXMuCisJLSBGaXhlZCBidWdzIGluIEFWSVNhdmVPcHRpb25zIGRpYWxvZyBoYW5kbGluZy4KKwktIEZpeGVkIGJ1ZyBpbiBBVklGSUxFX0xvYWRGaWxlIC0tIG5vdyBjaGVjayBmb3IgbW9yZSB0aGFuCisJICBNQVhfQVZJU1RSRUFNUyBzdHJlYW1zIGluIGZpbGUuCisJLSBJbXBsZW1lbnRlZCBBVklNYWtlRmlsZUZyb21TdHJlYW1zIGFuZCBBVklTYXZlVkEgbWV0aG9kLgorCS0gQWRkZWQgSUFWSUVkaXRTdHJlYW0gaW50ZXJmYWNlLgorCS0gSW1wbGVtZW50ZWQgRWRpdFN0cmVhbSogbWV0aG9kcy4KKwktIEFkZGVkIHN0dWJzIGZvciBBVklTYXZlVlcsIENyZWF0ZUVkaXRhYmxlU3RyZWFtLgorCS0gQWRkZWQgc3R1YnMgZm9yIGNsaXBib2FyZCBoYW5kbGluZy4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvTWFrZWZpbGUuaW4sIGRsbHMvb2xlYWNjLy5jdnNpZ25vcmUsCisJICBkbGxzL29sZWFjYy9NYWtlZmlsZS5pbiwgZGxscy9vbGVhY2MvbWFpbi5jLCBkbGxzL29sZWFjYy9vbGVhY2Muc3BlYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlDcmVhdGVkIGFuIGVtcHR5IG9sZWFjYyBETEwuCisKKwkqIGRsbHMva2VybmVsL2NvbnNvbGUuYywgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLAorCSAgcHJvZ3JhbXMvd2luZWNvbnNvbGUvd2luZWNvbnNvbGUuYywgc2VydmVyL2NvbnNvbGUuYywKKwkgIHNlcnZlci9jb25zb2xlLmgsIHNlcnZlci9wcm90b2NvbC5kZWYsIHNlcnZlci90cmFjZS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUluIGNvbnNvbGUgaW5wdXQgcmVjb3JkIHF1ZXVlLCByZXBsYWNlIHNlbWFwaG9yZSB3aXRoIGEgbWFudWFsIHJlc2V0CisJZXZlbnQsIHNvIHRoYXQgd2UgZ2V0IGNvcnJlY3QgYmVoYXZpb3IgaW4gc3luY2hyb25pemF0aW9uIGhhbmRsaW5nLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zZXhlLmgsIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBkbGxzL3dpbmVkb3MvaW50MDkuYywKKwkgIGRsbHMvd2luZWRvcy9yZWxheS5jOgorCUp1a2thIEhlaW5vbmVuIDxqaGVpQGlraS5maT4KKwlBZGQgSVJRIGFja25vd2xlZGdlIGhhbmRsZXIgZm9yIGludGVybmFsIElSUXMuCisJQ2hhbmdlIERQTUkgYXN5bmNocm9ub3VzIGV2ZW50IGhhbmRsaW5nLgorCUFsd2F5cyB1c2UgYWx0ZXJuYXRlIHN0YWNrIGluIERQTUkgcmVsYXlzIGFuZCBjaGVjayBmb3IgcGVuZGluZyBldmVudHMKKwlhZnRlciBvcmlnaW5hbCBzdGFjayBoYXMgYmVlbiByZXN0b3JlZC4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOiBLdXNhbmFnaSBLb3VpY2hpIDxzbGFzaEBtYS5uZXdlYi5uZS5qcD4KKwlBZGRlZCBMaXN0Vmlld19HZXRJdGVtVGV4dCBtYWNyby4KKworCSogZGxscy9kZHJhdy9kM2RkZXZpY2UvbWVzYS5jLCBkbGxzL2RkcmF3L2RzdXJmYWNlL2RpYi5jLAorCSAgZGxscy9kZHJhdy9tZXNhLmM6CisJTGlvbmVsIFVsbWVyIDxsaW9uZWwudWxtZXJAZnJlZS5mcj4KKwktIHNvbWUgVFJBQ0VpbmcgZml4ZXMKKwktIGZhc3RlciBCbHQgdG8gdGhlIGZyYW1lYnVmZmVyIHVzaW5nIHRleHR1cmUgZW5naW5lCisKKwkqIGRsbHMvY29tbWRsZy9jZGxnX1J1LnJjOiBPbGVnIFByb2tob3JvdiA8eG9sZWdwcm9AcmJjbWFpbC5ydT4KKwlGaXhlZCBSdXNzaWFuIGNvbW1kbGcgbG9jYWxpemF0aW9uLiBTb21lIHJlc291cmNlIGVsZW1lbnRzIGRpZG4ndCBoYXZlCisJcHJvcGVyIHNpemUsIGFuZCB3ZXJlIHBhcnRpYWxseSB2aXNpYmxlLgorCisJKiBkbGxzL21zdmlkZW8vbXN2ZnczMi5zcGVjLCBkbGxzL21zdmlkZW8vbXN2aWRlb19tYWluLmMsCisJICBkbGxzL21zdmlkZW8vbXN2aWRlb19wcml2YXRlLmgsIGRvY3VtZW50YXRpb24vc2FtcGxlcy9zeXN0ZW0uaW5pOgorCU1pY2hhZWwgR/xubmV3aWcgPE1pY2hhZWxHdWVubmV3aWdAZ214LmRlPgorCS0gYWRkZWQgc3R1YnMgZm9yIEdldE9wZW5GaWxlTmFtZVByZXZpZXd7QSxXfQorCS0gYWRkZWQgc3R1YnMgZm9yIEdldFNhdmVGaWxlTmFtZVByZXZpZXd7QSxXfQorCS0gcmVtb3ZlZCBpbnZhbGlkIFZJREMuTVJMRCBsaW5lIGZyb20gc3lzdGVtLmluaQorCisJKiBkbGxzL2lwaGxwYXBpL2lwaGxwYXBpX21haW4uYywgZGxscy9uZXRhcGkzMi90ZXN0cy93a3N0YS5jLAorCSAgZGxscy9uZXRhcGkzMi93a3N0YS5jOgorCUVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUZpeGVkIGEgZmV3IGJ1Z3MgaW4gbmV0d29yayBpbnRlcmZhY2UgaGFuZGxpbmcgKGNvZGUgJiB0ZXN0KS4KKworMjAwMy0wNi0yMSAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwvY29uc29sZS5jLCBkbGxzL2tlcm5lbC9lZGl0bGluZS5jLAorCSAgZGxscy9rZXJuZWwva2VybmVsMzIuc3BlYywgZGxscy9rZXJuZWwva2VybmVsX3ByaXZhdGUuaCwKKwkgIGRsbHMva2VybmVsL3Rlc3RzL2NvbnNvbGUuYywgZmlsZXMvZmlsZS5jLAorCSAgaW5jbHVkZS93aW5lL3NlcnZlcl9wcm90b2NvbC5oLCBwcm9ncmFtcy93aW5lY29uc29sZS93aW5lY29uc29sZS5jLAorCSAgc2NoZWR1bGVyL2hhbmRsZS5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvc3luY2hyby5jLAorCSAgc2VydmVyL2NvbnNvbGUuYywgc2VydmVyL2NvbnNvbGUuaCwgc2VydmVyL2ZkLmMsIHNlcnZlci9wcm9jZXNzLmMsCisJICBzZXJ2ZXIvcHJvdG9jb2wuZGVmLCBzZXJ2ZXIvcmVxdWVzdC5oLCBzZXJ2ZXIvdHJhY2UuYzoKKwlFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwktIGFkYXB0ZWQga2VybmVsMzIgc28gdGhhdCBpdCBubyBsb25nZXIgKGRpcmVjdGx5KSBtYW5hZ2VzIGNvbnNvbGUKKwkgIGhhbmRsZXMgYXMgd2luZXNlcnZlciBoYW5kbGVzCisJLSBjb25zb2xlIGlucHV0IGhhbmRsZSBvYmplY3QgaXMgbm8gbG9uZ2VyIHdhaXRhYmxlIChpbnB1dCByZWNvcmQKKwkgIHN5bmNocm9uaXNhdGlvbiBpcyBub3cgaW1wbGVtZW50ZWQgYXMgYSBzaW1wbGUgc2VtYXBob3JlKSwgYW5kIHJlbW92ZWQKKwkgIEZEX1RZUEVfQ09OU09MRSBmcm9tIGZkIHR5cGVzIGluIHdpbmVzZXJ2ZXIKKwktIGNvbnNvbGUgaGFuZGxlcyBub3cgYWx3YXlzIGhhdmUgdGhlaXIgdHdvIGxvd2VyIGJpdCBzZXQgc28gb25lIGNhbgorCSAgZGlzdGluZ3Vpc2ggYSBjb25zb2xlIGhhbmRsZSBmcm9tIGEga2VybmVsIG9iamVjdCBoYW5kbGUKKwktIGltcGxlbWVudGVkIHNvbWUgdW5kb2N1bWVudGVkIGtlcm5lbDMyIGNvbnNvbGUgcmVsYXRlZCBBUElzCisJICAoQ2xvc2VDb25zb2xlSGFuZGxlLCBHZXRDb25zb2xlSW5wdXRXYWl0SGFuZGxlLCBPcGVuQ29uc29sZVcsCisJICBWZXJpZnlDb25zb2xlSW9IYW5kbGUsIER1cGxpY2F0ZUNvbnNvbGVIYW5kbGUpCisJLSBhbGxvd2VkIGEgZmV3IGtlcm5lbDMyIEFQSXMgdG8gdGFrZSBjb25zb2xlIHBzZXVkby1oYW5kbGVzCisJICAoRmx1c2hGaWxlQnVmZmVyLCBHZXRGaWxlVHlwZSwgV2FpdEZvcipPYmplY3QqKQorCS0gc2ltcGxpZmllZCB0aGUgY29uc29sZSBpbmhlcml0YW5jZSBhdCBwcm9jZXNzIGNyZWF0aW9uCisJLSBpbiBjb25zb2xlIHRlc3RzLCBubyBsb25nZXIgY3JlYXRlIGEgY29uc29sZSBpZiBvbmUgYWxyZWFkeSBleGlzdHMKKworCSogc2VydmVyL21hcHBpbmcuYzoKKwlUaGUgc2VydmVyIGFsc28gbmVlZHMgdG8gY29wZSB3aXRoIElNQUdFX1NDTl9DTlRfVU5JTklUSUFMSVpFRF9EQVRBCisJYW5kIElNQUdFX1NDTl9DTlRfSU5JVElBTElaRURfREFUQSBmbGFncyBzZXQgdG9nZXRoZXIuCisKKwkqIGRsbHMvbnRkbGwvdmlydHVhbC5jOiBFcmljIFBvdWVjaCA8cG91ZWNoLWVyaWNAd2FuYWRvby5mcj4KKwlGaXhlZCBzZWN0aW9uIG1hcHBpbmcgaW4gUEUgbG9hZGluZyB3aGVuIGJvdGgKKwlJTUFHRV9TQ05fQ05UX1VOSU5JVElBTElaRURfREFUQSBhbmQgSU1BR0VfU0NOX0NOVF9JTklUSUFMSVpFRF9EQVRBCisJYXJlIHNldC4KKworCSogZGxscy9zaGVsbDMyL3NoZWxsMzJfbWFpbi5jOgorCUphc29uIEVkbWVhZGVzIDx1c0B0aGUtZWRtZWFkZXMuZGVtb24uY28udWs+CisJU0hHZXRGaWxlSW5mbyBzaG91bGQgdG9sZXJhdGUgbnVsbCBwb2ludGVycy4KKworMjAwMy0wNi0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy94MTFkcnYvd2luZG93LmM6IEt1c2FuYWdpIEtvdWljaGkgPHNsYXNoQG1hLm5ld2ViLm5lLmpwPgorCVN0b3JlIFdNX05BTUUgYW5kIFdNX0lDT05fTkFNRSBpbiBDT01QT1VORF9URVhUIGZvcm1hdC4KKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvd2luaW5ldC9NYWtlZmlsZS5pbiwKKwkgIGRsbHMvd2luaW5ldC9jb29raWUuYywgZGxscy93aW5pbmV0L2h0dHAuYywgZGxscy93aW5pbmV0L2ludGVybmV0LmMsCisJICBkbGxzL3dpbmluZXQvaW50ZXJuZXQuaCwgZGxscy93aW5pbmV0L25ldGNvbm5lY3Rpb24uYywKKwkgIGluY2x1ZGUvY29uZmlnLmguaW46CisJRGF2aWQgSGFtbWVydG9uIDxkYXZpZEB0cmFuc2dhbWluZy5jb20+CisJLSBpbXBsZW1lbnRlZCBzdXBwb3J0IGZvciBodHRwcyBwcm90b2NvbAorCS0gZml4ZXMgdG8gdGhlIGh0dHAgcHJvdG9jb2wKKworCSogY29uZmlndXJlLCBjb25maWd1cmUuYWMsIGRsbHMvZ2RpL01ha2VmaWxlLmluLCBpbmNsdWRlL2NvbmZpZy5oLmluOgorCUFkZGVkIGNoZWNrcyBmb3IgSUNVIGxpYnJhcmllcyAoYmFzZWQgb24gYSBwYXRjaCBieSBTaGFjaGFyIFNoZW1lc2gpLgorCisJKiB0b29scy9tYWtlZGVwLmM6CisJQWRkZWQgc3VwcG9ydCBmb3IgI2luY2x1ZGUgaW4gSURMIGZpbGVzIChiYXNlZCBvbiBhIHBhdGNoIGJ5IFJvYmVydAorCVNoZWFybWFuKS4KKworCSogaW5jbHVkZS93dHlwZXMuaCwgaW5jbHVkZS93dHlwZXMuaWRsOgorCVJvYmVydCBTaGVhcm1hbiA8Ui5KLlNoZWFybWFuQHdhcndpY2suYWMudWs+CisJQWRkZWQgdHlwZWRlZiBmb3IgQ09MT1JSRUYuCisKKwkqIGRsbHMvb3BlbmdsMzIvbWFrZV9vcGVuZ2wsIGRsbHMvb3BlbmdsMzIvb3BlbmdsX2V4dC5jLAorCSAgZGxscy9vcGVuZ2wzMi9vcGVuZ2xfbm9ybS5jOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJRG8gbm90IHVzZSBhbnkgdHlwZWRlZnMgaW4gdGhlIEdMIHRodW5rcyB0byBwcmV2ZW50IGFsbCBwb3NzaWJsZQorCWNvbXBpbGF0aW9uIGlzc3Vlcy4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9kM2Q5LmgsIGluY2x1ZGUvZDNkOWNhcHMuaCwKKwkgIGluY2x1ZGUvZDNkOXR5cGVzLmg6CisJUmFwaGFlbCBKdW5xdWVpcmEgPGZlbml4QGNsdWItaW50ZXJuZXQuZnI+CisJQWRkZWQgZDNkOSBoZWFkZXJzLgorCisJKiBkbGxzL3dpbmVkb3MvZG9zdm0uYywgZGxscy93aW5lZG9zL2ludDMxLmM6CisJSnVra2EgSGVpbm9uZW4gPGpoZWlAaWtpLmZpPgorCUFkZCBpbnQzMSBWSUYgbWFuaXB1bGF0aW9uIGZ1bmN0aW9ucy4KKwlGaXggYXN5bmNocm9ub3VzIGV2ZW50IGxvY2tpbmcuCisJTWFrZSBhc3luY2hyb25vdXMgZXZlbnQgaGFuZGxpbmcgc3VwcG9ydCBEUE1JLgorCisJKiBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWw6IEVyaWMgUG91ZWNoIDxwb3VlY2gtZXJpY0B3YW5hZG9vLmZyPgorCUFkZGVkIGEgc2VjdGlvbiBhYm91dCB1c2luZyBrZ2RiIGFuZCBkZGQgdG8gZGVidWcgd2luZS4KKworMjAwMy0wNi0xOCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogQU5OT1VOQ0UsIENoYW5nZUxvZywgVkVSU0lPTiwgY29uZmlndXJlOiBSZWxlYXNlIDIwMDMwNjE4LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAzLTA2LTE4ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMvYWR2YXBpMzIvc2VydmljZS5jLApkaWZmIC0tZ2l0IGEvVkVSU0lPTiBiL1ZFUlNJT04KaW5kZXggZTNhNmMyOC4uNzAzYTgwYiAxMDA2NDQKLS0tIGEvVkVSU0lPTgorKysgYi9WRVJTSU9OCkBAIC0xICsxIEBACi1XaW5lIHZlcnNpb24gMjAwMzA2MTgKK1dpbmUgdmVyc2lvbiAyMDAzMDcwOQpkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCmluZGV4IGRjZDM0MjUuLjdkYWE2MTYgMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTEsNiArMSw2IEBACiAjISAvYmluL3NoCiAjIEd1ZXNzIHZhbHVlcyBmb3Igc3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCi0jIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NyBmb3IgV2luZSAyMDAzMDYxOC4KKyMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3IGZvciBXaW5lIDIwMDMwNzA5LgogIwogIyBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgogIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KQEAgLTI2Niw4ICsyNjYsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J1dpbmUnCiBQQUNLQUdFX1RBUk5BTUU9J3dpbmUnCi1QQUNLQUdFX1ZFUlNJT049JzIwMDMwNjE4JwotUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzA2MTgnCitQQUNLQUdFX1ZFUlNJT049JzIwMDMwNzA5JworUEFDS0FHRV9TVFJJTkc9J1dpbmUgMjAwMzA3MDknCiBQQUNLQUdFX0JVR1JFUE9SVD0nJwogCiBhY191bmlxdWVfZmlsZT0ic2VydmVyL2F0b20uYyIKQEAgLTc3Nyw3ICs3NzcsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIFdpbmUgMjAwMzA2MTggdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgV2luZSAyMDAzMDcwOSB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC04NDIsNyArODQyLDcgQEAKIAogaWYgdGVzdCAtbiAiJGFjX2luaXRfaGVscCI7IHRoZW4KICAgY2FzZSAkYWNfaW5pdF9oZWxwIGluCi0gICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBXaW5lIDIwMDMwNjE4OiI7OworICAgICBzaG9ydCB8IHJlY3Vyc2l2ZSApIGVjaG8gIkNvbmZpZ3VyYXRpb24gb2YgV2luZSAyMDAzMDcwOToiOzsKICAgIGVzYWMKICAgY2F0IDw8XF9BQ0VPRgogCkBAIC05MzYsNyArOTM2LDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgMAogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1XaW5lIGNvbmZpZ3VyZSAyMDAzMDYxOAorV2luZSBjb25maWd1cmUgMjAwMzA3MDkKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41NwogCiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMgpAQCAtOTUxLDcgKzk1MSw3IEBACiBUaGlzIGZpbGUgY29udGFpbnMgYW55IG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IGNvbXBpbGVycyB3aGlsZQogcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KIAotSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzA2MTgsIHdoaWNoIHdhcworSXQgd2FzIGNyZWF0ZWQgYnkgV2luZSAkYXNfbWUgMjAwMzA3MDksIHdoaWNoIHdhcwogZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCiAKICAgJCAkMCAkQApAQCAtMTY3MzUsNyArMTY3MzUsNyBAQAogfSA+JjUKIGNhdCA+JjUgPDxfQ1NFT0YKIAotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBXaW5lICRhc19tZSAyMDAzMDYxOCwgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IFdpbmUgJGFzX21lIDIwMDMwNzA5LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41Ny4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE2Nzk4LDcgKzE2Nzk4LDcgQEAKIAogY2F0ID4+JENPTkZJR19TVEFUVVMgPDxfQUNFT0YKIGFjX2NzX3ZlcnNpb249IlxcCi1XaW5lIGNvbmZpZy5zdGF0dXMgMjAwMzA2MTgKK1dpbmUgY29uZmlnLnN0YXR1cyAyMDAzMDcwOQogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjU3LAogICB3aXRoIG9wdGlvbnMgXFwiYGVjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvW1xcIiJcYFwkXS9cXFxcJi9nJ2BcXCIKIAo=