ZGlmZiAtLWdpdCBhL0FOTk9VTkNFIGIvQU5OT1VOQ0UKaW5kZXggYmNkODBjYi4uZDBhZDI1NyAxMDA2NDQKLS0tIGEvQU5OT1VOQ0UKKysrIGIvQU5OT1VOQ0UKQEAgLTEsNCArMSw0IEBACi1UaGlzIGlzIHJlbGVhc2UgMjAwMTAyMTYgb2YgV2luZSwgYSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIFdpbmRvd3Mgb24KK1RoaXMgaXMgcmVsZWFzZSAyMDAxMDMwNSBvZiBXaW5lLCBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgV2luZG93cyBvbgogVW5peC4gIFRoaXMgaXMgc3RpbGwgYSBkZXZlbG9wZXJzIG9ubHkgcmVsZWFzZS4gIFRoZXJlIGFyZSBtYW55IGJ1Z3MKIGFuZCB1bmltcGxlbWVudGVkIGZlYXR1cmVzLiAgTW9zdCBhcHBsaWNhdGlvbnMgc3RpbGwgZG8gbm90IHdvcmsKIGNvcnJlY3RseS4KQEAgLTYsMTAgKzYsMTAgQEAKIFBhdGNoZXMgc2hvdWxkIGJlIHN1Ym1pdHRlZCB0byAid2luZS1wYXRjaGVzQHdpbmVocS5jb20iLiAgUGxlYXNlIGRvbid0CiBmb3JnZXQgdG8gaW5jbHVkZSBhIENoYW5nZUxvZyBlbnRyeS4KIAotV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTAyMTY6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQotCS0gU2V2ZXJhbCBQb3N0U2NyaXB0IGRyaXZlciBpbXByb3ZlbWVudHMuCi0JLSBJbXByb3ZlZCBlbmhhbmNlZCBtZXRhZmlsZXMgc3VwcG9ydC4KLQktIEJlZ2lubmluZ3Mgb2YgUG93ZXJQQyBzdXBwb3J0LgorV0hBVCdTIE5FVyB3aXRoIFdpbmUtMjAwMTAzMDU6IChzZWUgQ2hhbmdlTG9nIGZvciBkZXRhaWxzKQorCS0gU29tZSBpbXByb3ZlbWVudHMgdG8gdGhlIHdpbmVzZXJ2ZXIgcHJvdG9jb2wuCisJLSBUaGUgdXN1YWwgY29tbW9uIGNvbnRyb2xzIGZpeGVzL2ltcHJvdmVtZW50cy4KKwktIFZlcnNpb24gaW5mb3JtYXRpb24gaW4gYnVpbHRpbiBkbGxzLgogCS0gTG90cyBvZiBidWcgZml4ZXMuCiAKIFNlZSB0aGUgUkVBRE1FIGZpbGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBmb3IgaW5zdGFsbGF0aW9uIGluc3RydWN0aW9ucy4KQEAgLTE4LDEwICsxOCwxMCBAQAogdGhlIHJlbGVhc2UgaXMgYXZhaWxhYmxlIGF0IHRoZSBmdHAgc2l0ZXMuICBUaGUgc291cmNlcyB3aWxsIGJlIGF2YWlsYWJsZQogZnJvbSB0aGUgZm9sbG93aW5nIGxvY2F0aW9uczoKIAotICBodHRwOi8vd3d3LmliaWJsaW8ub3JnL3B1Yi9MaW51eC9BTFBIQS93aW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTAyMTYudGFyLmd6Ci0gIGZ0cDovL2Z0cC5pbmZvbWFnaWMuY29tL3B1Yi9taXJyb3JzL2xpbnV4L3N1bnNpdGUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDEwMjE2LnRhci5negotICBmdHA6Ly9mdHAuZnUtYmVybGluLmRlL3VuaXgvbGludXgvbWlycm9ycy9zdW5zaXRlLnVuYy5lZHUvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDEwMjE2LnRhci5negotICBmdHA6Ly9vcmN1cy5wcm9nc29jLnV0cy5lZHUuYXUvcHViL1dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMDIxNi50YXIuZ3oKKyAgaHR0cDovL3d3dy5pYmlibGlvLm9yZy9wdWIvTGludXgvQUxQSEEvd2luZS9kZXZlbG9wbWVudC9XaW5lLTIwMDEwMzA1LnRhci5negorICBmdHA6Ly9mdHAuaW5mb21hZ2ljLmNvbS9wdWIvbWlycm9ycy9saW51eC9zdW5zaXRlL0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMDMwNS50YXIuZ3oKKyAgZnRwOi8vZnRwLmZ1LWJlcmxpbi5kZS91bml4L2xpbnV4L21pcnJvcnMvc3Vuc2l0ZS51bmMuZWR1L0FMUEhBL3dpbmUvZGV2ZWxvcG1lbnQvV2luZS0yMDAxMDMwNS50YXIuZ3oKKyAgZnRwOi8vb3JjdXMucHJvZ3NvYy51dHMuZWR1LmF1L3B1Yi9XaW5lL2RldmVsb3BtZW50L1dpbmUtMjAwMTAzMDUudGFyLmd6CiAKIEl0IHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBmcm9tIGFueSBvdGhlciBzaXRlIHRoYXQgbWlycm9ycyBpYmlibGlvLm9yZy4KIEZvciBtb3JlIGRvd25sb2FkIGxvY2F0aW9ucywgc2VlIGh0dHA6Ly9mdHBzZWFyY2gubHljb3MuY29tLiBUaGVzZQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDlkOTExNjkuLjQ1MzQyNTUgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNCArMSwzNjkgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIwMDEtMDMtMDUgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYzoKKwlGcmFuY29pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVVwZGF0ZSBuU2VsZWN0aW9uTWFyayBhbmQgbkZvY3VzZWRJdGVtIHdoZW4gaW5zZXJ0aW5nL2RlbGV0aW5nL3NvcnRpbmcKKwlpdGVtcy4KKwlTb3J0SXRlbXM6IElmIHNvcnRpbmcgbGVzcyB0aGFuIDIgaXRlbXMsIGRvIG5vdGhpbmcuCisKKwkqIHdpbjMyL2ZpbGUuYywgc2NoZWR1bGVyL3Byb2Nlc3MuYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUltcGxlbWVudGVkIFNldEZpbGVBcGlzVG9PRU0sIFNldEZpbGVBcGlzVG9BTlNJIGFuZCBBcmVGaWxlQXBpc0FOU0kuCisKKwkqIGRsbHMvY29tY3RsMzIvcGFnZXIuYzoKKwlTdXNhbiBGYXJsZXkgPHN1c2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwktIEJhY2tncm91bmQgb2YgdGhlIGNoaWxkIHduZCBzaG91bGQgYmUgZXJhc2VkIHdpdGggdGhlIHNhbWUgY29sb3IgYXMKKwkgIHRoZSBjb250cm9sLgorCS0gRGVmYXVsdCBzY3JvbGwgYW1vdW50IHNob3VsZCBiZSB0aGUgbWluaW11bSBjbGllbnQgYXJlYS4KKworCSogd2luZG93cy9kaWFsb2cuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJVW5ibG9jayB0aGUgZGlhbG9nIG1lc3NhZ2UgbG9vcCB3aXRoIGEgV01fTlVMTCBtZXNzYWdlLgorCisJKiBncmFwaGljcy94MTFkcnYvZGliLmM6CisJVmVkcmFuIFJvZGljIDx2ZWRyYW5AcmVuYXRhLmlyYi5ocj4KKwlNYWRlIDggYnBwIHRvIDI0IGJpdCBkZXB0aCBjb252ZXJzaW9uIGluIFgxMURSVl9ESUJfU2V0SW1hZ2VCaXRzXzgKKwlmYXN0ZXIgYnkgdXNpbmcgaW5saW5lIGFzbS4KKworCSogdG9vbHMvc3BlY21ha2VyL21pc2MuYywgc2VydmVyL2RlYnVnZ2VyLmMsIHNlcnZlci9yZWdpc3RyeS5jLCBncmFwaGljcy94MTFkcnYveGZvbnQuYywgcHJvZ3JhbXMvd2luaGVscC9obHBmaWxlLmMsIGZpbGVzL2Rvc19mcy5jLCBmaWxlcy9kcml2ZS5jLCBkbGxzL3dpbm1tL21taW8uYzoKKwlDaGFuZ2VkIGlzb2xhdGVkIGZvciBsb29wcyB0byB3aGlsZSBsb29wcyAoYmFzZWQgb24gYSBwYXRjaCBieSBBbmRyZWFzCisJTW9ocikuCisKKwkqIGRsbHMvb2xlYXV0MzIvdHlwZWxpYi5jOgorCUFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KKwlUaGUgZm9yIGxvb3AgaW4gSVR5cGVMaWIyX2ZuRmluZE5hbWUgd2FzIHdyb25nIChleHRyYSAnOycpLgorCisJKiBmaWxlcy9maWxlLmM6IEFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KKwlHZXRGaWxlSW5mb3JtYXRpb25CeUhhbmRsZSgpIGZhaWxzIGZvciBwaXBlIGhhbmRsZXMgYWNjb3JkaW5nIHRvCisJTVNETiwgYW5kIGFsc28gZm9yIHNlcmlhbCBoYW5kbGVzIChGSUxFX1RZUEVfQ0hBUiBpbiBnZW5lcmFsID8pLgorCisJKiBkbGxzL2dkaS9nZGlfbWFpbi5jLCBncmFwaGljcy9kcml2ZXIuYzoKKwlJYW4gUGlsY2hlciA8cGlsY2hlckBjb25jZW50cmljLm5ldD4KKwlEb24ndCBsb2FkIHRoZSBXSU5FUFMgZHJpdmVyIHVudGlsIGl0J3MgbmVlZGVkLgorCisJKiBjb250cm9scy9lZGl0LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlNYWtlIEVESVRfVW5sb2NrQnVmZmVyIGNvcGUgd2l0aCBkZXN0cm95ZWQgd2luZG93cy4KKworMjAwMS0wMy0wNCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy9rZXJuZWwva2VybmVsX21haW4uYywgbWVtb3J5L2hlYXAuYzoKKwlXZSBuZWVkIHRvIGNyZWF0ZSB0aGUgc3lzdGVtIGhlYXAgYXQgc3RhcnR1cCBldmVuIHRob3VnaCB3ZSBkb24ndCB1c2UKKwlpdCwgc2luY2Ugc29tZSBXaW45NSBuYXRpdmUgZGxscyBkZXBlbmQgb24gdGhhdC4KKworCSogZGxscy9vcGVuZ2wzMi9tYWtlX29wZW5nbCwgZGxscy9vcGVuZ2wzMi9vcGVuZ2wzMi5zcGVjLCBkbGxzL29wZW5nbDMyL29wZW5nbF9leHQuYywgZGxscy9vcGVuZ2wzMi9vcGVuZ2xfbm9ybS5jOgorCUxpb25lbCBVbG1lciA8bGlvbmVsLnVsbWVyQGZyZWUuZnI+CisJIC0gYWRkIHRyYWNpbmcgdG8gT3BlbkdMIHRodW5rcworCSAtIHVwZGF0ZSB0byBsYXRlc3QgZ2wuc3BlYyBmaWxlCisKKwkqIHdpbmRvd3Mvd2lucG9zLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgRENYX0NMSVBTSUJMSU5HUyB0byBmbGFncyBmb3IgRENFX0dldFZpc1JnbiBvbmx5IGlmIHdpbmRvdyBoYXMKKwlXU19DTElQU0lCTElOR1MgYml0IHNldC4KKworCSogZGxscy9jb21jdGwzMi9saXN0dmlldy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBjb2Rld2VhdmVycy5jb20+CisJSW4gTElTVFZJRVdfQWRkR3JvdXBTZWxlY3Rpb24gYW5kIExJU1RWSUVXX1NldEdyb3VwU2VsZWN0aW9uLCBpZiBubworCXNlbGVjdGlvbiBtYXJrIGhhcyBiZWVuIHNldCwganVzdCBzZWxlY3QgdGhlIGN1cnJlbnQgaXRlbS4KKwlJbiBMSVNUVklFV19TZXRHcm91cFNlbGVjdGlvbiB3ZSBtdXN0IGFsc28gc2V0IHRoZSBzZWxlY3Rpb24gbWFyayBpbgorCXRoYXQgY2FzZSAoYW5kIG9ubHkgaW4gdGhhdCBjYXNlKS4KKwlSZW1vdmVkIGEgbmF1Z2h0eSAnOycgKHNwb3R0ZWQgYnkgRXJpYyBQb3VlY2gpLgorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlJZiBhIHRhcmdldCBoYXMgQysrIHNvdXJjZXMsIHRoZW4gdXNlIGcrKyB0byBsaW5rIGl0IChmaXhlcyAjMTYyKS4KKwlSZW1vdmVkIFNPTkFNRSwgaXQncyBub3QgcmVsZXZhbnQgZm9yIGRsbHMgYW5kIHdhcyB1bnVzZWQgYW55d2F5LgorCisyMDAxLTAzLTAzICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBzY2hlZHVsZXIvY2xpZW50LmM6IEZpeGVkIGZpbGUgZGVzY3JpcHRvciBsZWFrLgorCisJKiBkbGxzL3dpbm1tL3dpbmVvc3MvbWlkaS5jLCBkb2N1bWVudGF0aW9uL3NhbXBsZXMvY29uZmlnLCBmaWxlcy9kaXJlY3RvcnkuYywgd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYzoKKwlBbmRyZWFzIE1vaHIgPGEubW9ockBtYWlsdG8uZGU+CisJU29tZSBtb3JlIG1lc3NhZ2UgY2xlYW51cHMuCisKKwkqIGRsbHMvZHNvdW5kL2Rzb3VuZF9tYWluLmM6IENocmlzIEphY29ic29uCisJU21hbGwgYnVnIGZpeC4KKworCSogZGxscy9jb21tZGxnL2ZpbGVkbGcuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJSW5pdGlhbGl6ZSB0aGUgcmV0dXJuIGVycm9yIGNvZGUgdG8gMCBmb3IgY29tbW9uIGRpYWxvZyBmaWxlCisJZnVuY3Rpb25zLgorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgZmlsZXMgZm91bmQgaW4gYW4gJ2luY2x1ZGUnIGRpcmVjdG9yeSwgdG8gdGhlICdtaXNjIHNvdXJjZXMnIGxpc3QuCisKKzIwMDEtMDMtMDEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNlcnZlci9maWxlLmMsIHNlcnZlci9wcm9jZXNzLmMsIHNlcnZlci9yZXF1ZXN0LmMsIHNlcnZlci9yZXF1ZXN0LmgsIHNlcnZlci90aHJlYWQuYywgc2VydmVyL3RocmVhZC5oLCBzZXJ2ZXIvdHJhY2UuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL3NlcnZlci5oLCBpbmNsdWRlL3RocmVhZC5oLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci9zeXNkZXBzLmMsIHNjaGVkdWxlci90aHJlYWQuYzoKKwlDcmVhdGUgdGhlIHNlcnZlciBwaXBlcyBvbiB0aGUgY2xpZW50IHNpZGUgYW5kIHRyYW5zZmVyIHRoZW0gdG8gdGhlCisJc2VydmVyIG9uIHRocmVhZCBjcmVhdGlvbi4KKwlVc2UgYSBzaW5nbGUgcGVyLXByb2Nlc3Mgc29ja2V0IGluc3RlYWQgb2Ygb25lIHBlciB0aHJlYWQgZm9yCisJdHJhbnNmZXJyaW5nIGZpbGUgaGFuZGxlcyBiZXR3ZWVuIGNsaWVudCBhbmQgc2VydmVyLgorCisJKiB0b29scy93aW5lbWFrZXI6CisJRnJhbmNvaXMgR291Z2V0IDxmZ291Z2V0QGNvZGV3ZWF2ZXJzLmNvbT4KKwlSZWVuYWJsZSB0aGUgd3JhcHBlciBzdXBwb3J0LgorCisJKiBkbGxzL3dpbmVwcy9hZm0uYzoKKwlJYW4gUGlsY2hlciA8cGlsY2hlckBjb25jZW50cmljLm5ldD4KKwlTcXVhc2ggYW5vdGhlciBBRk0gY2hhcmFjdGVyIG1ldHJpY3MgcGFyc2luZyBidWcuCisKKzIwMDEtMDItMjggIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIHNjaGVkdWxlci9jbGllbnQuYywgc2VydmVyL2ZpbGUuYywgc2VydmVyL3Byb2Nlc3MuYywgc2VydmVyL3Byb2Nlc3MuaCwgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90cmFjZS5jLCBmaWxlcy9maWxlLmMsIGluY2x1ZGUvc2VydmVyLmg6CisJTmV3IG1lY2hhbmlzbSB0byB0cmFuc2ZlciBmaWxlIGRlc2NyaXB0b3JzIGZyb20gY2xpZW50IHRvIHNlcnZlci4KKworCSogd2luZG93cy94MTFkcnYva2V5Ym9hcmQuYzoKKwlKb2hhbm5lcy5TY2hpbmRlbGluQGdteC5kZQorCVNvbWUgbWlub3IgY2hhbmdlcyB0byB0aGUgR2VybWFuIGtleWJvYXJkIGxheW91dC4KKworCSogd2luZG93cy93aW5wb3MuYzoKKwlEb21pbmlrIFN0cmFzc2VyIDxkb21pbmlrLnN0cmFzc2VyQG1jaHAuc2llbWVucy5kZT4KKwlBdm9pZCBjcmFzaCBhdCBlbmQgb2YgbGlzdC4KKworCSogZGxscy93aW5lcHMvYWZtLmM6CisJSWFuIFBpbGNoZXIgPHBpbGNoZXJAY29uY2VudHJpYy5uZXQ+CisJRml4IGJ1ZyBpbiBBRk0gY2hhcmFjdGVyIHdpZHRoIHBhcnNpbmcuCisKKwkqIHdpbjMyL2RldmljZS5jLCB3aW5kb3dzL3dpbnBvcy5jLCBkbGxzL29sZTMyL2FudGltb25pa2VyLmMsIGRsbHMvb2xlMzIvYmluZGN0eC5jLCBkbGxzL29sZTMyL2NsaXBib2FyZC5jLCBkbGxzL29sZTMyL2NvbXBvc2l0ZW1vbmlrZXIuYywgZGxscy9vbGUzMi9maWxlbW9uaWtlci5jLCBkbGxzL29sZTMyL2l0ZW1tb25pa2VyLmMsIGRsbHMvb2xlMzIvbW9uaWtlci5jLCBkbGxzL29sZTMyL3N0b3JhZ2UzMi5jLCBkbGxzL29sZWF1dDMyL3R5cGVsaWIuYywgZGxscy9vbGVhdXQzMi92YXJpYW50LmMsIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYywgZGxscy91c2VyL2RkZW1sLmMsIGRsbHMvdXNlci9leHRpY29uLmMsIGdyYXBoaWNzL3gxMWRydi9ncmFwaGljcy5jLCBpbmNsdWRlL2RkcmF3LmgsIG9iamVjdHMvbWV0YWZpbGUuYywgcHJvZ3JhbXMvbm90ZXBhZC9tYWluLmMsIGRlYnVnZ2VyL3R5cGVzLmMsIGRsbHMvY29tY3RsMzIvbGlzdHZpZXcuYywgZGxscy9jb21jdGwzMi9wYWdlci5jLCBkbGxzL2NvbWN0bDMyL3Rvb2xiYXIuYywgZGxscy9kcGxheXgvZHBsYXkuYywgZGxscy9tc3ZjcnQvcHJvY2Vzcy5jOgorCUZyYW5jb2lzIEdvdWdldCA8ZmdvdWdldEBmcmVlLmZyPgorCVNtYWxsICd0eXBvcyBpbiBjb21tZW50cycgZml4ZXMuCisKKwkqIGluY2x1ZGUvbW9kdWxlLmgsIGluY2x1ZGUvdGFzay5oLCBpbmNsdWRlL3RocmVhZC5oLCBsb2FkZXIvbmUvbW9kdWxlLmMsIGxvYWRlci90YXNrLmMsIHNjaGVkdWxlci9wcm9jZXNzLmMsIHNjaGVkdWxlci90aHJlYWQuYywgZGxscy9rZXJuZWwva2VybmVsX21haW4uYzoKKwlVc2UgdGhlIHN0YW5kYXJkIENyZWF0ZVRocmVhZCByb3V0aW5lIHRvIGNyZWF0ZSAxNi1iaXQgdGFza3MgaW5zdGVhZAorCW9mIGR1cGxpY2F0aW5nIHRoZSBjb2RlLgorCisJKiBkbGxzL3dpbnNwb29sL3dzcG9vbC5jLCBkbGxzL3dpbnNwb29sL2luZm8uYzoKKwlSZW1vdmVkIGRlcGVuZGVuY3kgb24gY29tY3RsMzIuCisKKwkqIGluY2x1ZGUvd2lubnQuaDoKKwlGcmFu529pcyBHb3VnZXQgPGZnb3VnZXRAY29kZXdlYXZlcnMuY29tPgorCVdJTkVfVU5JQ09ERV9URVhUIHdhcyBpbmNvcnJlY3QuCisJRHJvcHBlZCBzdXBwb3J0IGZvciBXSU5FX1VOSUNPREVfVEVYVCgnYycpIGluIEMuCisKKwkqIGRsbHMvd3NvY2szMi9zb2NrZXQuYywgZGxscy93c29jazMyL3dzY29udHJvbC5oOgorCU1pY2hhZWwgU3RlZmFuaXVjIDxtc3RlZmFuaUByZWRoYXQuZGU+CisJSW1wbGVtZW50ZWQgV3NDb250cm9sIGNvbW1hbmQgd2l0aCBpZCAweDEwMS4KKworCSogZGxscy9rZXJuZWwvbmxzL2Fmay5ubHMsIGRsbHMva2VybmVsL25scy9iZWwubmxzLCBkbGxzL2tlcm5lbC9ubHMvYmdyLm5scywgZGxscy9rZXJuZWwvbmxzL2NhdC5ubHMsIGRsbHMva2VybmVsL25scy9jemUubmxzLCBkbGxzL2tlcm5lbC9ubHMvZGVhLm5scywgZGxscy9rZXJuZWwvbmxzL2RlYy5ubHMsIGRsbHMva2VybmVsL25scy9kZWwubmxzLCBkbGxzL2tlcm5lbC9ubHMvZGVzLm5scywgZGxscy9rZXJuZWwvbmxzL2VzbS5ubHMsIGRsbHMva2VybmVsL25scy9lc24ubmxzLCBkbGxzL2tlcm5lbC9ubHMvZXNwLm5scywgZGxscy9rZXJuZWwvbmxzL2V1cS5ubHMsIGRsbHMva2VybmVsL25scy9maW4ubmxzLCBkbGxzL2tlcm5lbC9ubHMvZnJhLm5scywgZGxscy9rZXJuZWwvbmxzL2ZyYi5ubHMsIGRsbHMva2VybmVsL25scy9mcmMubmxzLCBkbGxzL2tlcm5lbC9ubHMvZnJsLm5scywgZGxscy9rZXJuZWwvbmxzL2Zycy5ubHMsIGRsbHMva2VybmVsL25scy9ncmMubmxzLCBkbGxzL2tlcm5lbC9ubHMvaHVuLm5scywgZGxscy9rZXJuZWwvbmxzL2luZC5ubHMsIGRsbHMva2VybmVsL25scy9pc2wubmxzLCBkbGxzL2tlcm5lbC9ubHMvaXRhLm5scywgZGxscy9rZXJuZWwvbmxzL2l0cy5ubHMsIGRsbHMva2VybmVsL25scy9qcG4ubmxzLCBkbGxzL2tlcm5lbC9ubHMvbmxiLm5scywgZGxscy9rZXJuZWwvbmxzL25sZC5ubHMsIGRsbHMva2VybmVsL25scy9ub24ubmxzLCBkbGxzL2tlcm5lbC9ubHMvbm9yLm5scywgZGxscy9rZXJuZWwvbmxzL3Bsay5ubHMsIGRsbHMva2VybmVsL25scy9wdGIubmxzLCBkbGxzL2tlcm5lbC9ubHMvcHRnLm5scywgZGxscy9rZXJuZWwvbmxzL3JvbS5ubHMsIGRsbHMva2VybmVsL25scy9za3kubmxzLCBkbGxzL2tlcm5lbC9ubHMvc2x2Lm5scywgZGxscy9rZXJuZWwvbmxzL3N2ZS5ubHMsIGRsbHMva2VybmVsL25scy90cmsubmxzOgorCVByemVteXNsYXcgQnJ1c2tpIDxmNjYzMzZwYkBhc2suZXRpLnBnLmdkYS5wbD4KKwlBZGRlZCBMT0NBTEVfSURFRkFVTFRNQUNDT0RFUEFHRSBkZWZpbml0aW9uIGluIG1vc3QgbmxzIGZpbGVzLgorCisyMDAxLTAyLTI3ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiB3aW5kb3dzL3F1ZXVlLmMsIHNjaGVkdWxlci9jbGllbnQuYywgc2NoZWR1bGVyL2hhbmRsZS5jLCBzY2hlZHVsZXIvcGlwZS5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvc3luY2hyby5jLCBzY2hlZHVsZXIvdGhyZWFkLmMsIHNjaGVkdWxlci90aW1lci5jLCBzZXJ2ZXIvcmVxdWVzdC5jLCBzZXJ2ZXIvdGhyZWFkLmMsIHNlcnZlci90aHJlYWQuaCwgdG9vbHMvbWFrZV9yZXF1ZXN0cywgd2luMzIvY29uc29sZS5jLCB3aW4zMi9kZXZpY2UuYywgd2luMzIvZXhjZXB0LmMsIGxvYWRlci9tb2R1bGUuYywgbG9hZGVyL25lL21vZHVsZS5jLCBsb2FkZXIvcGVfaW1hZ2UuYywgbWVtb3J5L2F0b20uYywgbWVtb3J5L3JlZ2lzdHJ5LmMsIG1lbW9yeS9zZWxlY3Rvci5jLCBtZW1vcnkvdmlydHVhbC5jLCBtaXNjL3JlZ2lzdHJ5LmMsIGRsbHMvbnRkbGwvZXhjZXB0aW9uLmMsIGRsbHMvbnRkbGwvbnQuYywgZGxscy9udGRsbC9udGRsbC5zcGVjLCBkbGxzL250ZGxsL29tLmMsIGRsbHMvbnRkbGwvcmVnLmMsIGRsbHMvbnRkbGwvc3luYy5jLCBkbGxzL3dpbnNvY2svc29ja2V0LmMsIGZpbGVzL2NoYW5nZS5jLCBmaWxlcy9kb3NfZnMuYywgZmlsZXMvZmlsZS5jLCBpbmNsdWRlL3NlcnZlci5oLCBpbmNsdWRlL3RocmVhZC5oLCBkbGxzL2FkdmFwaTMyL3JlZ2lzdHJ5LmMsIGRsbHMva2VybmVsL2NvbW0uYywgZGxscy9rZXJuZWwvZGVidWdnZXIuYywgZGxscy9rZXJuZWwvc3luYy5jLCBkbGxzL2tlcm5lbC90b29saGVscC5jOgorCU5ldyBzZXQgb2YgbWFjcm9zIGZvciBzZXJ2ZXIgY2FsbHM7IG1ha2VzIHJlcXVlc3RzIHdpdGhvdXQgdmFyaWFibGUKKwlwYXJ0IHNvbWV3aGF0IGZhc3Rlci4KKworCSogc2NoZWR1bGVyL3B0aHJlYWQuYzoKKwlNb3ZlZCBQVEhSRUFEX2luaXRfZG9uZSBvdXQgb2YgdGhlICNpZmRlZi4KKworMjAwMS0wMi0yNiAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogY29udHJvbHMvbWVudS5jLCBkbGxzL2tlcm5lbC9rZXJuZWwzMi5zcGVjLCBkbGxzL2tlcm5lbC90aW1lLmMsIGRsbHMvdXNlci91c2VyMzIuc3BlYywgd2luZG93cy9zeXNjb2xvci5jLCB3aW5kb3dzL3VzZXIuYzoKKwlFcmljIFBvdWVjaCA8RXJpYy5Qb3VlY2hAd2FuYWRvby5mcj4KKwlBZGRlZCBhIGZldyBtaXNzaW5nIHN0dWJzIHRvIEtFUk5FTDMyIGFuZCBVU0VSMzIuCisKKwkqIHRvb2xzL3dpbmVsYXVuY2hlci5pbjoKKwlPdmUgS2FhdmVuIDxvdmVrQGFyY3RpY25ldC5ubz4KKwlIYW5kbGUgZmlsZW5hbWVzIHdpdGggc3BhY2VzLgorCisJKiBkbGxzL2NvbW1kbGcvcHJpbnRkbGcuYzoKKwlHZXJhcmQgUGF0ZWwgPGdlcmFyZC5wYXRlbEBhc2kuZnI+CisJTWFwIDMyIGJpdHMgcmVzb3VyY2UgZm9yIDE2IGJpdHMgcHJpbnQgZGlhbG9nLgorCisJKiBjb250cm9scy9saXN0Ym94LmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlVc2UgR2V0U3lzQ29sb3JCcnVzaChDT0xPUl9XSU5ET1cpIHdoZW4gdGhlcmUgaXMgbm8gYnJ1c2ggZm9yIGRyYXdpbmcKKwliYWNrZ3JvdW5kIGluIGxpc3Rib3guCisKKwkqIGRsbHMvc2hlbGwzMi9zaGxmaWxlb3AuYzoKKwlEYXZpZCBHcmFudCA8ZGF2ZUByZWFjaC5uZXQ+CisJQWRkZWQgKHBhcnRpYWwpIHN1cHBvcnQgZm9yIEZPX0NPUFkgYW5kIEZPX0RFTEVURS4KKworMjAwMS0wMi0yMyAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogZGxscy91c2VyL3Jlc291cmNlcy8uY3ZzaWdub3JlLCBkbGxzL3VzZXIvcmVzb3VyY2VzL3VzZXIzMi5yYywgZGxscy91c2VyL3Jlc291cmNlcy92ZXJzaW9uLnJjLCBkbGxzL3VzZXIvcmVzb3VyY2VzL3ZlcnNpb24xNi5yYywgZGxscy92ZXJzaW9uL2luZm8uYywgaW5jbHVkZS93aW5lL3dpbmVfY29tbW9uX3Zlci5yYywgZGxscy9rZXJuZWwvLmN2c2lnbm9yZSwgZGxscy9rZXJuZWwvTWFrZWZpbGUuaW4sIGRsbHMva2VybmVsL2tlcm5lbC5yYywgZGxscy9rZXJuZWwva2VybmVsLnNwZWMsIGRsbHMva2VybmVsL2tlcm5lbDMyLnNwZWMsIGRsbHMva2VybmVsL3ZlcnNpb24ucmMsIGRsbHMva2VybmVsL3ZlcnNpb24xNi5yYywgZGxscy91c2VyL01ha2VmaWxlLmluLCBkbGxzL3VzZXIvdXNlci5zcGVjLCBkbGxzL2dkaS8uY3ZzaWdub3JlLCBkbGxzL2dkaS9NYWtlZmlsZS5pbiwgZGxscy9nZGkvZ2RpLnNwZWMsIGRsbHMvZ2RpL2dkaTMyLnNwZWMsIGRsbHMvZ2RpL3ZlcnNpb24ucmMsIGRsbHMvZ2RpL3ZlcnNpb24xNi5yYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCUFkZCB2ZXJzaW9uIGluZm9ybWF0aW9uICgxNiBhbmQgMzIgYml0KSB0byBjb3JlIGJ1aWx0LWluIGRsbHM6CisJa3JubDM4Ni5leGUva2VybmVsMzIuZGxsLCB1c2VyLmV4ZS91c2VyMzIuZGxsLCBnZGkuZXhlL2dkaTMyLmRsbC4KKwlQcm92aWRlIGEgd2F5IGZvciByZWFkaW5nIHZlcnNpb24gaW5mb3JtYXRpb24gdXNpbmcgc3RhbmRhcmQgQVBJOgorCUdldEZpbGVWZXJzaW9uSW5mb1NpemUgLT4gR2V0RmlsZVZlcnNpb25JbmZvIC0+IFZlclF1ZXJ5VmFsdWUuCisKKwkqIGluY2x1ZGUvaGVhcC5oLCBtZW1vcnkvaGVhcC5jLCBzY2hlZHVsZXIvcHJvY2Vzcy5jLCBzY2hlZHVsZXIvcHRocmVhZC5jOgorCU9ubHkgY3JlYXRlIHRoZSBzeXN0ZW0gaGVhcCB3aGVuIHdlIGFjdHVhbGx5IG5lZWQgaXQuCisKKwkqIGZpbGVzL2Rvc19mcy5jLCBtZW1vcnkvZ2xvYmFsLmM6CisJQWxsb2NhdGlvbnMgZG8gbm90IG5lZWQgdG8gYmUgb24gdGhlIHN5c3RlbSBoZWFwLgorCisJKiBkbGxzL2NvbWN0bDMyL3BhZ2VyLmM6CisJU3VzYW4gRmFybGV5IDxzdXNhbkBjb2Rld2VhdmVycy5jb20+CisJSG9yaXovVmVydCBkZXRlcm1pbmF0aW9uIG11c3QgYmUgZHluYW1pYywgYXMgdGhlIHN0eWxlIG1heSBub3QgYmUgc2V0CisJdXBvbiBjcmVhdGlvbjsgaW1wcm92ZWQgcG9zaXRpb25pbmcgYW5kIHNjcm9sbGluZy4KKworCSogaW5jbHVkZS9jb21tY3RybC5oOgorCVN1c2FuIEZhcmxleSA8c3VzYW5AY29kZXdlYXZlcnMuY29tPgorCUF2b2lkIGFsaWdubWVudCBwcm9ibGVtcyB3aXRoIE5NUEdTQ1JPTEwgc3RydWN0LgorCisJKiB3aW5kb3dzL3N5c3BhcmFtcy5jOgorCUNocmlzIE1vcmdhbiA8Y21vcmdhbkBjb2Rld2VhdmVycy5jb20+CisJUmVwbGFjZSBmaXhtZSBmb3IgU1BJX0dFVFdIRUVMU0NST0xMTElORVMgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiAzLgorCisJKiBjb250cm9scy9idXR0b24uYzoKKwlEbWl0cnkgVGltb3Noa292IDxkbWl0cnlAY29kZXdlYXZlcnMuY29tPgorCVByZXBhcmUgYmFja2dyb3VuZCB3aGlsZSBkcmF3aW5nIHJhZGlvIGJ1dHRvbnMgYW5kIGNoZWNrYm94ZXMuCisKKwkqIHdpbmRvd3MveDExZHJ2L2NsaXBib2FyZC5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJLSBXZSBuZWVkIHRvIG1ha2Ugc3VyZSB3ZSBwYXkgYXR0ZW50aW9uIHRvIGlmIG91ciBjYWxsIHRvCisJICBTZXRDbGlwYm9hcmREYXRhIGZyb20gdGhlIFgxMURSViB2ZXJzaW9uIG9mIHRoZSBmdW5jdGlvbiB3b3Jrcy4gSWYgbm90CisJICB3ZSBuZWVkIHRvIGRlbGV0ZSB0aGUgZ2xvYmFsIGJsb2NrIHdlIGFsbG9jYXRlZC4gVGhpcyBpcyBhIHNldmVyIG1lbW9yeQorCSAgbGVhayB3aXRoIGxhcmdlIGNsaXBib2FyZCBpdGVtcy4KKwktIElmIGFuIFggc2VsZWN0aW9uIGl0IHRvbyBsYXJnZSB0aGVuIFggbWF5IGdpdmUgaXQgdG8gdXMgaW4gY2h1bmtzLAorCSAgd2Ugd2VyZSBub3QgaGFuZGxpbmcgdGhpcyB3ZWxsLgorCisJKiBkbGxzL2tlcm5lbC9ubHMvdWtyLm5sczoKKwlWYWxlcnkgS2FydGVsIDxrdm5AaWdrLmtpZXYudWE+CisJVXBkYXRlZCBhbGwgZmllbGRzIHdpdGggVWtyYWluaWFuIHZhbHVlcy4KKworCSogY29udHJvbHMvbWVudS5jLCBjb250cm9scy9zY3JvbGwuYywgZGxscy90dHlkcnYvd25kLmMsIHdpbmRvd3MvY3Vyc29yaWNvbi5jLCB3aW5kb3dzL2RjZS5jLCB3aW5kb3dzL2RlZnduZC5jLCB3aW5kb3dzL21kaS5jLCB3aW5kb3dzL21lc3NhZ2UuYywgd2luZG93cy9wcm9wZXJ0eS5jLCB3aW5kb3dzL3F1ZXVlLmMsIHdpbmRvd3Mvd2lucG9zLmMsIHdpbmRvd3MveDExZHJ2L3duZC5jOgorCURvIG5vdCBhbGxvY2F0ZSBhbnkgVVNFUiBkYXRhIG9uIHRoZSBzeXN0ZW0gaGVhcC4KKworCSogaW5jbHVkZS9NYWtlZmlsZS5pbiwgaW5jbHVkZS9jcGwuaCwgaW5jbHVkZS93aW51c2VyLmgsIGRsbHMvc2hlbGwzMi9NYWtlZmlsZS5pbiwgZGxscy9zaGVsbDMyL2NvbnRyb2wuYywgZGxscy9zaGVsbDMyL2ljb25jYWNoZS5jLCBkbGxzL3NoZWxsMzIvc2hlbGwzMi5zcGVjLCBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmMsIGRsbHMvc2hlbGwzMi9zaGVsbG9yZC5jOgorCUVyaWMgUG91ZWNoIDxFcmljLlBvdWVjaEB3YW5hZG9vLmZyPgorCUEgZmlyc3Qgc3RhYiBhdCBpbXBsZW1lbnRpbmcgdGhlIFJ1bkRsbCBmZWF0dXJlcy4KKworCSogZGxscy9rZXJuZWwvY29tbS5jOgorCUFuZHJlYXMgTW9ociA8YS5tb2hyQG1haWx0by5kZT4KKwlCdWlsZENvbW1EQ0IxNiBoYWQgYSByYXRoZXIgYnJva2VuIGJhdWQgcmF0ZSBoYW5kbGluZy4KKworCSogdG9vbHMvd2luZWxhdW5jaGVyLmluOgorCU92ZSBLYWF2ZW4gPG92ZWtAYXJjdGljbmV0Lm5vPgorCU1hZGUgdGhlIHdpbmVsYXVuY2hlciBzdXBwb3J0IHdpbmVsaWIgYXBwIGludm9jYXRpb25zLiBGaXhlZCBhIGZldworCWZpbGUgcGF0aCBpc3N1ZXMuCisKKzIwMDEtMDItMjEgIEFsZXhhbmRyZSBKdWxsaWFyZCAgPGp1bGxpYXJkQHdpbmVocS5jb20+CisKKwkqIGRsbHMva2VybmVsL2tlcm5lbC5zcGVjLCBpbmNsdWRlL3NlcnZlci5oLCBpbmNsdWRlL3RocmVhZC5oLCBzY2hlZHVsZXIvY2xpZW50LmMsIHNjaGVkdWxlci9zeW5jaHJvLmMsIHNjaGVkdWxlci90aHJlYWQuYywgc2VydmVyL3JlcXVlc3QuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RocmVhZC5jLCBzZXJ2ZXIvdGhyZWFkLmgsIHNlcnZlci90cmFjZS5jOgorCUFkZGVkIHNlcGFyYXRlIHNlcnZlciBwaXBlIHRvIHdhaXQgb24gYmxvY2tpbmcgc2VydmVyIGNhbGxzLgorCVNlbmQgdGhlIGNvbXBsZXRlIHJlcXVlc3QvcmVwbHkgdGhyb3VnaCB0aGUgcmVxdWVzdCBmaWZvIGluc3RlYWQgb2YKKwlqdXN0IGEgZHVtbXkgYnl0ZS4KKwlDb252ZXJ0IGVycm9yIHN0YXR1cyB0byB0ZXh0IGluIHNlcnZlciByZXBseSB0cmFjaW5nLgorCisJKiBkbGxzL3NoZWxsMzIvc2hsZmlsZW9wLmMsIGRsbHMvc2hlbGwzMi9zaGxmb2xkZXIuYywgZGxscy9zaGVsbDMyL3NocmVzLnJjLCBkbGxzL3NoZWxsMzIvc2hyZXNkZWYuaDoKKwlDaHJpcyBNb3JnYW4gPGNtb3JnYW5AY29kZXdlYXZlcnMuY29tPgorCUNvbmZpcm0gZmlsZSBkZWxldGVzLiAgTWFrZSBkZWxldGUgY29uZmlybWF0aW9uIG1lc3NhZ2VzIG1vcmUKKwljb25zaXN0ZW50LiBJbXByb3ZlIHRyYWNlIG1lc3NhZ2VzIG9uIGRlbGV0ZSBmYWlsdXJlLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9tYWluLmgsIGRsbHMvc2hlbGwzMi9zaGx2aWV3LmM6CisJQ2hyaXMgTW9yZ2FuIDxjbW9yZ2FuQGNvZGV3ZWF2ZXJzLmNvbT4KKwlBZGQgc2hlbGwgc3VwcG9ydCBmb3IgZGVsZXRpbmcgZmlsZXMgdXNpbmcgdGhlIERlbGV0ZSBrZXkuCisKKwkqIGRsbHMvd2luc3Bvb2wvaW5mby5jLCBkbGxzL3dpbnNwb29sL3dpbnNwb29sLmRydi5zcGVjLCBpbmNsdWRlL3dpbnNwb29sLmg6CisJSWFuIFBpbGNoZXIgPHBpbGNoZXJAY29uY2VudHJpYy5uZXQ+CisJSW1wbGVtZW50IEVudW1QcmludGVyRGF0YUV4e0F8V30uCisKKwkqIGRsbHMvY29tbWRsZy9jb21kbGczMi5zcGVjLCBkbGxzL21zYWNtL21zYWNtMzIuc3BlYywgZGxscy9tc25ldDMyL21zbmV0MzIuc3BlYywgZGxscy9tc3ZpZGVvL21zdmZ3MzIuc3BlYzoKKwlSZW1vdmVkIHNvbWUgdW5uZWNlc3Nhcnkgb3JkaW5hbHMuCisKKwkqIGRsbHMvY3J0ZGxsL2NydGRsbF9tYWluLmMsIGRsbHMvbXN2Y3J0L2RhdGEuYywgZGxscy9tc3ZjcnQvbXN2Y3J0Lmg6CisJX19nZXRtYWluYXJncyBsYXN0IGFyZ3VtZW50IGlzIGEgcG9pbnRlciB0byBuZXdfbW9kZS4KKworMjAwMS0wMi0yMCAgQWxleGFuZHJlIEp1bGxpYXJkICA8anVsbGlhcmRAd2luZWhxLmNvbT4KKworCSogc2VydmVyL21hcHBpbmcuYywgc2VydmVyL3JlcXVlc3QuaCwgc2VydmVyL3RyYWNlLmMsIGluY2x1ZGUvc2VydmVyLmgsIG1lbW9yeS92aXJ0dWFsLmMsIHNjaGVkdWxlci9jbGllbnQuYzoKKwlTbWFsbCBzZXJ2ZXIgcHJvdG9jb2wgY2xlYW51cHMuCisKKwkqIGRsbHMvb2xlY2xpL29sZWNsaS5zcGVjLCBkbGxzL29sZWNsaS9vbGVjbGkzMi5zcGVjLCBkbGxzL29sZWNsaS9vbGVjbGlfbWFpbi5jOgorCUdlcmFyZCBQYXRlbCA8Z2VyYXJkLnBhdGVsQGFzaS5mcj4KKwlTdHViIGZvciBPbGVTYXZlZENsaWVudERvYy4KKworCSogZGxscy9jb21jdGwzMi90cmVldmlldy5jOgorCUFyaWMgU3Rld2FydCA8YXJpY0Bjb2Rld2VhdmVycy5jb20+CisJSW5zZXJ0IHRoZSBpdGVtIGJlZm9yZSBjYWxsaW5nIGEgU2V0Rmlyc3RWaXNpYmxlIHdoaWNoIGNhbiBnZW5lcmF0ZSBhCisJV01fUEFJTlQgbWVzc2FnZS4KKworCSogbGlicmFyeS9wb3J0LmM6CisJQ2xlYXIgJWVicCBiZWZvcmUgZW50ZXJpbmcgdGhlIG5ldyB0aHJlYWQuCisKKwkqIGRsbHMvd2luc29jay9zb2NrZXQuYzoKKwlHb3QgcmlkIG9mIHRoZSBXU0lORk8gc3RydWN0dXJlLiBGaXhlZCBhIGNvdXBsZSBvZiBidWdzLgorCisJKiBkbGxzL2NydGRsbC9jcnRkbGwuc3BlYywgZGxscy9jcnRkbGwvY3J0ZGxsX21haW4uYzoKKwlGaXhlZCBfX0dldE1haW5BcmdzLgorCisJKiBBTk5PVU5DRSwgUkVBRE1FLCBkb2N1bWVudGF0aW9uL3dpbmUubWFuLmluOgorCUpvZXJnIE1heWVyIDxqbWF5ZXJAbG9wbG9mLmRlPgorCUFkZCBpbmZvcm1hdGlvbiBhYm91dCBwcmVidWlsdCBkb2N1bWVudGF0aW9uIHBhY2thZ2VzIGluCisJb3RoZXItdGhhbi1zZ21sIGZvcm0uCisKKwkqIHdpbmRvd3MvY2xpcGJvYXJkLmM6CisJQXJpYyBTdGV3YXJ0IDxhcmljQGNvZGV3ZWF2ZXJzLmNvbT4KKwlXZSBuZWVkIHRvIGdpdmUgcm9vbSBmb3IgdGhlIG51bGwgdGVybWluYXRpb24gd2hlbiB0cmFuc2xhdGluZyB0aGUKKwljbGlwYm9hcmQgdGV4dC4KKworCSogZGxscy9jb21jdGwzMi9jb21ib2V4LmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIEltcGxlbWVudCBDQl9TRVRDVVJTRUwsIENCRU1fREVMRVRFSVRFTSwgQ0JFTV9HRVRJVEVNLAorCSAgQ0JFTV97R0VUfFNFVH1VTklDT0RFRk9STUFULCBDQl9GSU5EU1RSSU5HRVhBQ1QsIFdNX0NPTU1BTkQsCisJICBXTV9ERUxFVEVJVEVNLgorCS0gSW1wbGVtZW50IGV4dGVuZGVkIHN0eWxlIENCRVNfRVhfTk9FRElUSU1BR0UsIGFuZCB3YXJuIG90aGVycyBhcmUKKwkgIG5vdCB5ZXQgaW1wbGVtZW50ZWQuCisJLSBSZXN0cnVjdHVyZSBEcmF3SXRlbSBjb2RlIHRvIGRvIHRoaW5ncyBtb3JlIHJhdGlvbmFsbHkuCisKKwkqIGNvbnRyb2xzL2NvbWJvLmM6CisJR3V5IEwuIEFsYmVydGVsbGkgPGdhbGJlcnRlQG5lby5scnVuLmNvbT4KKwktIFJlc3RydWN0dXJlIFBhaW50VGV4dCBjb2RlIHRvIHJlbW92ZSBGaWxsUmVjdCBmcm9tIG93bmVyLWRyYXduIHBhdGguCisJLSBDaGFuZ2UgU2V0Rm9jdXMgdG8gaW5kaWNhdGUgZm9jdXMgc2V0IG9ubHkgYWZ0ZXIgTm90aWZ5IGlzIHNlbnQgdG8gb3duZXIuCisJLSBHZXQgbW9yZSBpbmZvIGluIGEgdHJhY2UuCisKKwkqIGZpbGVzL2Rvc19mcy5jOiBSZWluIEtsYXplcyA8cmtsYXplc0BjYXNlbWEubmV0PgorCUNvcnJlY3QgZXJyb3IgbWVzc2FnZSBpbiBjYXNlIERPU0ZTX09wZW5EZXZpY2UoKSBmYWlscyBvbiBhIENPTXgKKwlkZXZpY2UuCisKKwkqIG1pc2NlbXUvbWFpbi5jLCBvYmplY3RzL3BhbGV0dGUuYywgd2luMzIvZXhjZXB0LmMsIGRsbHMvd2luZWRvcy9kb3N2bS5jLCBpZjE2MzIvdGh1bmsuYywgaW5jbHVkZS9jYWxsYmFjay5oLCBsb2FkZXIvdGFzay5jOgorCVJlbW92ZWQgYSBmZXcgQ2FsbG91dCBmdW5jdGlvbnMgYnkgZG9pbmcgYSBHZXRQcm9jQWRkcmVzcyBhdCB0aGUgdGltZQorCXdlIGFjdHVhbGx5IG5lZWQgdGhlIGZ1bmN0aW9uLgorCisJKiBtZW1vcnkvdmlydHVhbC5jOgorCUZpeGVkIE1FTV9TWVNURU0gaGFuZGxpbmcgdG8gYXZvaWQgdW5tYXBwaW5nIGFyZWFzIHRoYXQgd2UgZGlkbid0IG1tYXAuCisKKwkqIGRsbHMvbXN2Y3J0L2RhdGEuYywgZGxscy9tc3ZjcnQvbXN2Y3J0LnNwZWM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlGaXggcHJvdG90eXBlcyBvZiBNU1ZDUlRfX19nZXRtYWluYXJncyBhbmQgTVNWQ1JUX19fd2dldG1haW5hcmdzLgorCVByb3RlY3QgTVNWQ1JUX19hY21kbG4gZ2xvYmFsIHZhcmlhYmxlIGZyb20gY29ycnVwdGlvbi4KKworCSogaW5jbHVkZS93aW5udC5oOgorCUpvc2ggRHVCb2lzIDxkdWJvaXNqQGNvZGV3ZWF2ZXJzLmNvbT4KKwlNb3ZlZCB0eXBlZGVmIG9mIENSSVRJQ0FMX1NFQ1RJT04gb3V0IG9mICNwcmFnbWEgcGFjaygxKSBibG9jay4KKworCSogZGxscy9jb21jdGwzMi90b29sYmFyLmM6CisJRXJpYyBLb2hsIDxla29obEBjb2Rld2VhdmVycy5jb20+CisJRml4ZWQgYmVoYXZpb3VyIG9mIGRyb3Bkb3duIGJ1dHRvbnMuIFdoZW4gYSBkcm9wZG93biBidXR0b24gaXMKKwljbGlja2VkLCBpdCBkb2VzIG5vdCBjaGFuZ2UgaW50byBwcmVzc2VkIHN0YXRlLgorCisJKiBvYmplY3RzL2VuaG1ldGFmaWxlLmM6CisJRG1pdHJ5IFRpbW9zaGtvdiA8ZG1pdHJ5QGNvZGV3ZWF2ZXJzLmNvbT4KKwlCZXR0ZXIgaW1wbGVtZW50YXRpb24gb2YgRU1GIHJlY29yZCBFTVJfRVhUU0VMRUNUQ0xJUFJHTi4KKworCSogZGxscy9jb21tZGxnL2NkbGdfRGUucmM6CisJTWFyY3VzIE1laXNzbmVyIDxtYXJjdXNAamV0LmZyYW5rZW4uZGU+CisJVHJhbnNsYXRlZCBuZXcgY29tbW9uIGRpYWxvZyByZXNvdXJjZXMgaW50byBHZXJtYW4uCisJUmVzaXplZCBmaWxlIGRpYWxvZyBhIGJpdCB0byBtYWtlIHRvb2xiYXIgY29tcGxldGVseSB2aXNpYmxlIGFnYWluLgorCisJKiBkbGxzL3NoZWxsMzIvc2hlbGwzMl9EZS5yYzoKKwlNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KKwlGaXhlZCBHZXJtYW4gdHJhbnNsYXRpb24sIGNoYW5nZWQgZGlhbG9nIGZvbnQgdG8gSGVsdmV0aWNhLgorCisyMDAxLTAyLTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgorCisJKiBBTk5PVU5DRSwgQ2hhbmdlTG9nLCBpbmNsdWRlL3ZlcnNpb24uaDoKKwlSZWxlYXNlIDIwMDEwMjE2LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyMDAxLTAyLTE2ICBBbGV4YW5kcmUgSnVsbGlhcmQgIDxqdWxsaWFyZEB3aW5laHEuY29tPgogCiAJKiBkbGxzL250ZGxsL2RlYnVndG9vbHMuYzoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdmVyc2lvbi5oIGIvaW5jbHVkZS92ZXJzaW9uLmgKaW5kZXggYTU0YTBmNS4uNTdmNTlkZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS92ZXJzaW9uLmgKKysrIGIvaW5jbHVkZS92ZXJzaW9uLmgKQEAgLTEgKzEgQEAKLSNkZWZpbmUgV0lORV9SRUxFQVNFX0lORk8gIldpbmUgcmVsZWFzZSAyMDAxMDIxNiIKKyNkZWZpbmUgV0lORV9SRUxFQVNFX0lORk8gIldpbmUgcmVsZWFzZSAyMDAxMDMwNSIK