ZGlmZiAtLWdpdCBhL2Rpc3RyaWJ1dGlvbi9zcmMvbWFpbi9yZWxlYXNlL2Jpbi9MSUNFTlNFIGIvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2UvYmluL0xJQ0VOU0UKaW5kZXggYTc3OTc3Ni4uN2YyYzE5MCAxMDA2NDQKLS0tIGEvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2UvYmluL0xJQ0VOU0UKKysrIGIvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2UvYmluL0xJQ0VOU0UKQEAgLTQyNCw3ICs0MjQsNDIgQEAKICAqIC0gSlNPTlJwY0NsaWVudF9jcmVhdGVNZXRob2QgY2hhbmdlZCBzbyBjYWxsYmFjayBpcyBsYXN0IGFyZwogICovCiAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgdHVzY2FueS13ZWItamF2YXNjcmlwdC1kb2pvIGFuZCBkZW1vLWJpZ2JhbmsgamFycyBpbmNsdWRlIGEgcmVkaXN0cmlidXRpb24gb2YKKyBkb2pvdG9vbGtpdCBWMS4zLjAKK3VuZGVyIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0IGFuZCBsaWNlbnNlOgorCitUaGUgIk5ldyIgQlNEIExpY2Vuc2U6CisqKioqKioqKioqKioqKioqKioqKioqCisKK0NvcHlyaWdodCAoYykgMjAwNSwgVGhlIERvam8gRm91bmRhdGlvbgorQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKworICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcworICAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKKyAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCisgICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgRG9qbyBGb3VuZGF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECitBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKK0RBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCitTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKK09SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCitPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogQVBBQ0hFIFRVU0NBTlkgU0NBIFJFRElTVFJJQlVURUQgRklMRVM6IAogCkBAIC0yNDU4LDQxICsyNDkzLDYgQEAKICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAqLwogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1UaGUgZmlsZToKLSBkb2pvdG9vbGtpdCBWMS4zLjAKLWlzIHJlZGlzdHJpYnV0ZWQgaW4gZXhlY3V0YWJsZSBmb3JtIGFuZCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgZm9sbG93aW5nIHRlcm1zOgotCi1UaGUgIk5ldyIgQlNEIExpY2Vuc2U6Ci0qKioqKioqKioqKioqKioqKioqKioqCi0KLUNvcHlyaWdodCAoYykgMjAwNSwgVGhlIERvam8gRm91bmRhdGlvbgotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLQotICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcwotCWxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwKLQl0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uCi0JYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gICogTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgRG9qbyBGb3VuZGF0aW9uIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotCW1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotCXdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECi1BTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLURBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCi1TRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLU9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi1PRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiBUaGUgZmlsZToKZGlmZiAtLWdpdCBhL2Rpc3RyaWJ1dGlvbi9zcmMvbWFpbi9yZWxlYXNlL3NyYy9MSUNFTlNFIGIvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2Uvc3JjL0xJQ0VOU0UKaW5kZXggZmJkZWE3OS4uYTBhYjE1YSAxMDA2NDQKLS0tIGEvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2Uvc3JjL0xJQ0VOU0UKKysrIGIvZGlzdHJpYnV0aW9uL3NyYy9tYWluL3JlbGVhc2Uvc3JjL0xJQ0VOU0UKQEAgLTM2Nyw3ICszNjcsNyBAQAogCiBUaGUgaXBvLnhzZCBhbmQgd3NkbGkueHNkIGZpbGVzIGFyZSBpbmNsdWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6CiAKLUNvcHlyaWdodCAoYykgMjAwOCBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtLCAoTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSwgCitDb3B5cmlnaHQgKGMpIDIwMDQgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSwgKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIAogRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1bSBmb3IgSW5mb3JtYXRpY3MgYW5kIE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNpdHkpLiAKIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIFRoaXMgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVzNDKGMpIFNvZnR3YXJlIExpY2Vuc2UgWzFdIGluIAogdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgCmRpZmYgLS1naXQgYS9tb2R1bGVzL2Fzc2VtYmx5LXhzZC9MSUNFTlNFIGIvbW9kdWxlcy9hc3NlbWJseS14c2QvTElDRU5TRQppbmRleCA2NDZjZDU4Li5hYjVlODJlIDEwMDY0NAotLS0gYS9tb2R1bGVzL2Fzc2VtYmx5LXhzZC9MSUNFTlNFCisrKyBiL21vZHVsZXMvYXNzZW1ibHkteHNkL0xJQ0VOU0UKQEAgLTIwMiw1MCArMjAyLDc1IEBACiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitBUEFDSEUgVFVTQ0FOWSBTQ0EgU1VCQ09NUE9ORU5UUzoKIAotQXBhY2hlIFR1c2NhbnkgU0NBIGZvciBKYXZhIFN1YmNvbXBvbmVudHMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09OiAKK0FwYWNoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgKK3NlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGVzZSBzdWJjb21wb25lbnRzCitpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzLgogCi1UaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgcmVsZWFzZSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgKLXNlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGUgc291cmNlCi1jb2RlIGZvciB0aGUgdGhlc2Ugc3ViY29tcG9uZW50cyBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQKLWNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1RoaXMgbW9kdWxlIGFzc2VtYmx5LXhzZCBpbmNsdWRlcyBYU0QgZmlsZXMgdW5kZXIgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHRzIGFuZCBsaWNlbnNlOgogCi1UaGlzIG1vZHVsZSBpbmNsdWRlcyBYU0QgZmlsZXMgdW5kZXIgdGhlIGZvbGxvd2luZyBTQ0EgQ29sbGFib3JhdGlvbiBsaWNlbnNlOgorQ29weXJpZ2h0IE5vdGljZXMKIAotTGljZW5zZSBmb3IgdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBKYXZhRG9jLCBJbnRlcmZhY2UgRGVmaW5pdGlvbiBmaWxlcyBhbmQgWFNEIGZpbGVzLgorKEMpIENvcHlyaWdodCBCRUEgU3lzdGVtcywgSW5jLiwgQ2FwZSBDbGVhciBTb2Z0d2FyZSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3JwLCBJbnRlcmZhY2UyMSwgSU9OQSBUZWNobm9sb2dpZXMsCitPcmFjbGUsIFByaW1ldG9uIFRlY2hub2xvZ2llcywgUHJvZ3Jlc3MgU29mdHdhcmUsIFJlZCBIYXQsIFJvZ3VlIFdhdmUgU29mdHdhcmUsIFNBUCBBRy4sIFNpZW1lbnMgQUcuLCBTb2Z0d2FyZSBBRy4sIFN5YmFzZQorSW5jLiwgVElCQ08gU29mdHdhcmUgSW5jLiwgMjAwNSwgMjAwNy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAotUGVybWlzc2lvbiB0byBjb3B5LCBtYWtlIGRlcml2YXRpdmUgd29ya3Mgb2YsIGFuZCBkaXN0cmlidXRlIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgCi1KYXZhRG9jLCBJbnRlcmZhY2UgRGVmaW5pdGlvbiBGaWxlcyBhbmQgWFNEIGZpbGVzIGluIGFueSBtZWRpdW0gd2l0aG91dCBmZWUgb3Igcm95YWx0eSBhcyBwYXJ0IAotb2YgYSBjb21wbGlhbnQgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uIGlzIGhlcmVieSBncmFudGVkLiAgCi1UaGUgU2VydmljZSBDb21wb25lbnRzIEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uIG1heSBiZSBmb3VuZCBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uOgorKEMpIENvcHlyaWdodCBCRUEgU3lzdGVtcywgSW5jLiwgQ2FwZSBDbGVhciBTb2Z0d2FyZSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3JwLCBJbnRlcmZhY2UyMSwgSU9OQQorVGVjaG5vbG9naWVzLCBPcmFjbGUsIFByaW1ldG9uIFRlY2hub2xvZ2llcywgUHJvZ3Jlc3MgU29mdHdhcmUsIFJlZCBIYXQsIFJvZ3VlIFdhdmUgU29mdHdhcmUsIFNBUCBBRy4sIFNpZW1lbnMKK0FHLiwgU29mdHdhcmUgQUcuLCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuLCBTeWJhc2UgSW5jLiwgVElCQ08gU29mdHdhcmUgSW5jLiwgMjAwNSwgMjAwOC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIAotCWh0dHA6Ly93d3cub3NvYS5vcmcvZG93bmxvYWQvYXR0YWNobWVudHMvMzUvU0NBX0Fzc2VtYmx5TW9kZWxfVjEwMC5wZGYKK0xpY2Vuc2UKIAotVEhFIFNFUlZJQ0UgQ09NUE9ORU5UIEFSQ0hJVEVDVFVSRSBTUEVDSUZJQ0FUSU9OIEFORCBUSEUgSkFWQURPQywgSU5URVJGQUNFIERFRklOSVRJT04gRklMRVMgQU5EIFhTRCBGSUxFUyAKLUFSRSBQUk9WSURFRCAiQVMgSVMsIiBBTkQgVEhFIEFVVEhPUlMgTUFLRSBOTyBSRVBSRVNFTlRBVElPTlMgT1IgV0FSUkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELCBSRUdBUkRJTkcgVEhJUyAKLVNQRUNJRklDQVRJT04gT1IgVEhFIEpBVkFET0MsIElOVEVSRkFDRSBERUZJTklUSU9OIEZJTEVTIEFORCBYU0QgRklMRVMgQU5EIFRIRSBJTVBMRU1FTlRBVElPTiBPRiBUSEVJUiBDT05URU5UUywgCi1JTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCAKLU5PTi1JTkZSSU5HRU1FTlQgT1IgVElUTEUuICBUSEUgQVVUSE9SUyBXSUxMIE5PVCBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCAKLUlOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcgT1VUIE9GIE9SIFJFTEFUSU5HIFRPIEFOWSBVU0UgT1IgRElTVFJJQlVUSU9OIE9GIFRIRSAKLVNFUlZJQ0UgQ09NUE9ORU5UIEFSQ0hJVEVDVFVSRSBTUEVDSUZJQ0FUSU9OIE9SIFRIRSBKQVZBRE9DLCBJTlRFUkZBQ0UgREVGSU5USU9OIEZJTEVTIE9SIFhTRCBGSUxFUy4KK1Blcm1pc3Npb24gdG8gY29weSwgZGlzcGxheSBhbmQgZGlzdHJpYnV0ZSB0aGUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24gYW5kL29yCitwb3J0aW9ucyB0aGVyZW9mLCB3aXRob3V0IG1vZGlmaWNhdGlvbiwgaW4gYW55IG1lZGl1bSB3aXRob3V0IGZlZSBvciByb3lhbHR5IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZAordGhhdCB5b3UgaW5jbHVkZSB0aGUgZm9sbG93aW5nIG9uIEFMTCBjb3BpZXMgb2YgdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uLCBvcgorcG9ydGlvbnMgdGhlcmVvZiwgdGhhdCB5b3UgbWFrZToKIAotVGhlIG5hbWUgYW5kIHRyYWRlbWFya3Mgb2YgdGhlIEF1dGhvcnMgbWF5IE5PVCBiZSB1c2VkIGluIGFueSBtYW5uZXIsIGluY2x1ZGluZyBhZHZlcnRpc2luZyBvciAKLXB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBvciBpdHMgY29udGVudHMgd2l0aG91dCBzcGVjaWZpYywgCi13cml0dGVuIHByaW9yIHBlcm1pc3Npb24uIFRpdGxlIHRvIGNvcHlyaWdodCBpbiB0aGUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24gYW5kIHRoZSAKLUphdmFEb2MsIEludGVyZmFjZSBEZWZpbml0aW9uIEZpbGVzIGFuZCBYU0QgRmlsZXMgd2lsbCBhdCBhbGwgdGltZXMgcmVtYWluIHdpdGggdGhlIEF1dGhvcnMuCisxLiBBIGxpbmsgb3IgVVJMIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBhdCB0aGlzIGxvY2F0aW9uOgortyBodHRwOi8vd3d3Lm9zb2Eub3JnL2Rpc3BsYXkvTWFpbi9TZXJ2aWNlK0NvbXBvbmVudCtBcmNoaXRlY3R1cmUrU3BlY2lmaWNhdGlvbnMKKworMi4gVGhlIGZ1bGwgdGV4dCBvZiB0aGUgY29weXJpZ2h0IG5vdGljZSBhcyBzaG93biBpbiB0aGUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24uCisKK0JFQSwgQ2FwZSBDbGVhciwgSUJNLCBJbnRlcmZhY2UyMSwgSU9OQSwgT3JhY2xlLCBQcmltZXRvbiwgUHJvZ3Jlc3MgU29mdHdhcmUsIFJlZCBIYXQsIFJvZ3VlIFdhdmUsCitTQVAsIFNpZW1lbnMsIFNvZnR3YXJlIEFHLiwgU3VuLCBTeWJhc2UsIFRJQkNPIChjb2xsZWN0aXZlbHksIHRoZSAiQXV0aG9ycyIpIGFncmVlIHRvIGdyYW50IHlvdSBhCityb3lhbHR5LWZyZWUgbGljZW5zZSwgdW5kZXIgcmVhc29uYWJsZSwgbm9uLWRpc2NyaW1pbmF0b3J5IHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIHBhdGVudHMgdGhhdCB0aGV5IGRlZW0KK25lY2Vzc2FyeSB0byBpbXBsZW1lbnQgdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uLgorCitUSEUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNQRUNJRklDQVRJT04gSVMgUFJPVklERUQgIkFTIElTLCIgQU5EIFRIRQorQVVUSE9SUyBNQUtFIE5PIFJFUFJFU0VOVEFUSU9OUyBPUiBXQVJSQU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsCitSRUdBUkRJTkcgVEhJUyBTUEVDSUZJQ0FUSU9OIEFORCBUSEUgSU1QTEVNRU5UQVRJT04gT0YgSVRTIENPTlRFTlRTLAorSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBCitQQVJUSUNVTEFSIFBVUlBPU0UsIE5PTi1JTkZSSU5HRU1FTlQgT1IgVElUTEUuCisKK1RIRSBBVVRIT1JTIFdJTEwgTk9UIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIFNQRUNJQUwsIElOQ0lERU5UQUwKK09SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBPUiBSRUxBVElORyBUTyBBTlkgVVNFIE9SCitESVNUUklCVVRJT04gT0YgVEhFIFNlcnZpY2UgQ29tcG9uZW50cyBBcmNoaXRlY3R1cmUgU1BFQ0lGSUNBVElPTi4KKworVGhlIG5hbWUgYW5kIHRyYWRlbWFya3Mgb2YgdGhlIEF1dGhvcnMgbWF5IE5PVCBiZSB1c2VkIGluIGFueSBtYW5uZXIsIGluY2x1ZGluZyBhZHZlcnRpc2luZyBvcgorcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uIG9yIGl0cyBjb250ZW50cyB3aXRob3V0IHNwZWNpZmljLAord3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiBUaXRsZSB0byBjb3B5cmlnaHQgaW4gdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uCit3aWxsIGF0IGFsbCB0aW1lcyByZW1haW4gd2l0aCB0aGUgQXV0aG9ycy4KIAogTm8gb3RoZXIgcmlnaHRzIGFyZSBncmFudGVkIGJ5IGltcGxpY2F0aW9uLCBlc3RvcHBlbCBvciBvdGhlcndpc2UuCiAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLVRoaXMgbW9kdWxlIGluY2x1ZGVzIFhTRCBmaWxlcyB1bmRlciB0aGUgZm9sbG93aW5nIFczQyhyKSBTb2Z0d2FyZSBMaWNlbnNlOgorVGhpcyBtb2R1bGUgYXNzZW1ibHkteHNkIGluY2x1ZGVzIGZpbGVzIHVuZGVyIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0IGFuZCBsaWNlbnNlOgogCi1XM0MocikgU09GVFdBUkUgTk9USUNFIEFORCBMSUNFTlNFCitDb3B5cmlnaHQgKGMpIDIwMDQgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSAoTWFzc2FjaHVzZXR0cyBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSwgCitFdXJvcGVhbiBSZXNlYXJjaCBDb25zb3J0aXVtIGZvciBJbmZvcm1hdGljcyBhbmQgTWF0aGVtYXRpY3MsIEtlaW8gVW5pdmVyc2l0eSkuIAorQWxsIFJpZ2h0cyBSZXNlcnZlZC4gVGhpcyB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBXM0MocikgU29mdHdhcmUgTGljZW5zZSBbMV0gCitpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCAKK3dhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKworICAgIFsxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDIvY29weXJpZ2h0LXNvZnR3YXJlLTIwMDIxMjMxCisKK1czQ64gU09GVFdBUkUgTk9USUNFIEFORCBMSUNFTlNFCiBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDIvY29weXJpZ2h0LXNvZnR3YXJlLTIwMDIxMjMxCiAKIFRoaXMgd29yayAoYW5kIGluY2x1ZGVkIHNvZnR3YXJlLCBkb2N1bWVudGF0aW9uIHN1Y2ggYXMgUkVBRE1Fcywgb3Igb3RoZXIgcmVsYXRlZCBpdGVtcykgCkBAIC0yNzksMyArMzA0LDUgQEAKIHBlcnRhaW5pbmcgdG8gdGhlIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMsIHdyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4gVGl0bGUgdG8gY29weXJpZ2h0IAogaW4gdGhpcyBzb2Z0d2FyZSBhbmQgYW55IGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiB3aWxsIGF0IGFsbCB0aW1lcyByZW1haW4gd2l0aCBjb3B5cmlnaHQgCiBob2xkZXJzLgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9hc3NlbWJseS14c2QvTk9USUNFIGIvbW9kdWxlcy9hc3NlbWJseS14c2QvTk9USUNFCmluZGV4IDQ5ZmY5MzUuLmFkMmJhNDAgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvYXNzZW1ibHkteHNkL05PVElDRQorKysgYi9tb2R1bGVzL2Fzc2VtYmx5LXhzZC9OT1RJQ0UKQEAgLTQsMjAgKzQsMyBAQAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQogVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvKS4KIAotVGhpcyBwcm9kdWN0IGFsc28gaW5jbHVkZXMgc29mdHdhcmUgdW5kZXIgdGhlIFNDQSBDb2xsYWJvcmF0aW9uIGxpY2Vuc2UgCi0oc2VlIHRoZSBMSUNFTlNFIGZpbGUgY29udGFpbmVkIGluIHRoaXMgZGlzdHJpYnV0aW9uKSwgd2l0aCB0aGUgZm9sbG93aW5nCi1jb3B5cmlnaHQ6Ci0KLShjKSBDb3B5cmlnaHQgU0NBIENvbGxhYm9yYXRpb24gMjAwNiwgMjAwNwotCi1UaGlzIHByb2R1Y3QgYWxzbyBpbmNsdWRlcyBzb2Z0d2FyZSB1bmRlciB0aGUgVzNDKHIpIFNvZnR3YXJlIExpY2Vuc2UKLShzZWUgdGhlIExJQ0VOU0UgZmlsZSBjb250YWluZWQgaW4gdGhpcyBkaXN0cmlidXRpb24pLCB3aXRoIHRoZSBmb2xsb3dpbmcKLWNvcHlyaWdodDoKLQotQ29weXJpZ2h0IChjKSAyMDA0IFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gKE1hc3NhY2h1c2V0dHMgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3ksIAotRXVyb3BlYW4gUmVzZWFyY2ggQ29uc29ydGl1bSBmb3IgSW5mb3JtYXRpY3MgYW5kIE1hdGhlbWF0aWNzLCBLZWlvIFVuaXZlcnNpdHkpLiAKLUFsbCBSaWdodHMgUmVzZXJ2ZWQuIFRoaXMgd29yayBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgVzNDKHIpIFNvZnR3YXJlIExpY2Vuc2UgWzFdIAotaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgCi13YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCi0KLSAgICBbMV0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDAyL2NvcHlyaWdodC1zb2Z0d2FyZS0yMDAyMTIzMQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9iaW5kaW5nLWdkYXRhL0xJQ0VOU0UgYi9tb2R1bGVzL2JpbmRpbmctZ2RhdGEvTElDRU5TRQppbmRleCBkNjQ1Njk1Li44YWE5MDZjIDEwMDY0NAotLS0gYS9tb2R1bGVzL2JpbmRpbmctZ2RhdGEvTElDRU5TRQorKysgYi9tb2R1bGVzL2JpbmRpbmctZ2RhdGEvTElDRU5TRQpAQCAtMjAwLDMgKzIwMCw2IEBACiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKKwpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9iaW5kaW5nLWdkYXRhL05PVElDRSBiL21vZHVsZXMvYmluZGluZy1nZGF0YS9OT1RJQ0UKaW5kZXggNTk1YjNhMC4uYWQyYmE0MCAxMDA2NDQKLS0tIGEvbW9kdWxlcy9iaW5kaW5nLWdkYXRhL05PVElDRQorKysgYi9tb2R1bGVzL2JpbmRpbmctZ2RhdGEvTk9USUNFCkBAIC00LDUgKzQsMyBAQAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQogVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvKS4KIAotCi0KZGlmZiAtLWdpdCBhL21vZHVsZXMvYmluZGluZy1qc29ucnBjLXJ1bnRpbWUvTElDRU5TRSBiL21vZHVsZXMvYmluZGluZy1qc29ucnBjLXJ1bnRpbWUvTElDRU5TRQppbmRleCA4YWE5MDZjLi5mZjg4NjUzIDEwMDY0NAotLS0gYS9tb2R1bGVzL2JpbmRpbmctanNvbnJwYy1ydW50aW1lL0xJQ0VOU0UKKysrIGIvbW9kdWxlcy9iaW5kaW5nLWpzb25ycGMtcnVudGltZS9MSUNFTlNFCkBAIC0yMDIsNCArMjAyLDQ2IEBACiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCitBUEFDSEUgVFVTQ0FOWSBTQ0EgU1VCQ09NUE9ORU5UUzoKKworQXBhY2hlIFR1c2NhbnkgU0NBIGZvciBKYXZhIGluY2x1ZGVzIGEgbnVtYmVyIG9mIHN1YmNvbXBvbmVudHMgd2l0aAorc2VwYXJhdGUgY29weXJpZ2h0IG5vdGljZXMgYW5kIGxpY2Vuc2UgdGVybXMuIFlvdXIgdXNlIG9mIHRoZXNlIHN1YmNvbXBvbmVudHMKK2lzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXMuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgbW9kdWxlIGJpbmRpbmctanNvbnJwYy1ydW50aW1lIGluY2x1ZGVzIHRoZSBmaWxlIGpzb25ycGMuanMgdW5kZXIgdGhlCitmb2xsb3dpbmcgY29weXJpZ2h0IGFuZCBsaWNlbnNlOgorCisvKgorICogSlNPTi1SUEMgSmF2YVNjcmlwdCBjbGllbnQKKyAqCisgKiAkSWQ6IGpzb25ycGMuanMsdiAxLjM2LjIuMyAyMDA2LzAzLzA4IDE1OjA5OjM3IG1jbGFyayBFeHAgJAorICoKKyAqIENvcHlyaWdodCAoYykgMjAwMy0yMDA0IEphbi1LbGFhcyBLb2xsaG9mCisgKiBDb3B5cmlnaHQgKGMpIDIwMDUgTWljaGFlbCBDbGFyaywgTWV0YXBhcmFkaWdtIFB0ZSBMdGQKKyAqCisgKiBUaGlzIGNvZGUgaXMgYmFzZWQgb24gSmFuLUtsYWFzJyBKYXZhU2NyaXB0IG8gbGFpdCBsaWJyYXJ5IChqc29sYWl0KS4KKyAqCisgKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKyAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KKyAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorICoKKyAqICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorICoKKyAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKyAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCisgKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KKyAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICoKKyAqLworCisvKgorICogTW9kaWZpY2F0aW9ucyBmb3IgQXBhY2hlIFR1c2Nhbnk6CisgKiAtIEpTT05ScGNDbGllbnRfY3JlYXRlTWV0aG9kIGNoYW5nZWQgc28gY2FsbGJhY2sgaXMgbGFzdCBhcmcKKyAqLworCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9jb250cmlidXRpb24tZ3Jvb3Z5L05PVElDRSBiL21vZHVsZXMvY29udHJpYnV0aW9uLWdyb292eS9OT1RJQ0UKaW5kZXggMjJlMDA3Yy4uYWQyYmE0MCAxMDA2NDQKLS0tIGEvbW9kdWxlcy9jb250cmlidXRpb24tZ3Jvb3Z5L05PVElDRQorKysgYi9tb2R1bGVzL2NvbnRyaWJ1dGlvbi1ncm9vdnkvTk9USUNFCkBAIC00LDUgKzQsMyBAQAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQogVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvKS4KIAotVGhpcyBwcm9kdWN0IHVzZXMgUmVsYXggV1MgKGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9yZWxheC13cy8pIHdpdGggdGhlIGZvbGxvd2luZyBjb3B5cmlnaHQ6Ci0gKiBDb3B5cmlnaHQgMjAwOCBKYXNvbiBTYW5kbwpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kYXRhYmluZGluZy1qc29uL0xJQ0VOU0UgYi9tb2R1bGVzL2RhdGFiaW5kaW5nLWpzb24vTElDRU5TRQppbmRleCBkNjQ1Njk1Li44YWE5MDZjIDEwMDY0NAotLS0gYS9tb2R1bGVzL2RhdGFiaW5kaW5nLWpzb24vTElDRU5TRQorKysgYi9tb2R1bGVzL2RhdGFiaW5kaW5nLWpzb24vTElDRU5TRQpAQCAtMjAwLDMgKzIwMCw2IEBACiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKKwpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9kYXRhYmluZGluZy1zYXhvbi9MSUNFTlNFIGIvbW9kdWxlcy9kYXRhYmluZGluZy1zYXhvbi9MSUNFTlNFCmluZGV4IGQ2NDU2OTUuLjhhYTkwNmMgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvZGF0YWJpbmRpbmctc2F4b24vTElDRU5TRQorKysgYi9tb2R1bGVzL2RhdGFiaW5kaW5nLXNheG9uL0xJQ0VOU0UKQEAgLTIwMCwzICsyMDAsNiBAQAogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKworCisKZGlmZiAtLWdpdCBhL21vZHVsZXMvZGF0YWJpbmRpbmcteG1sYmVhbnMvTElDRU5TRSBiL21vZHVsZXMvZGF0YWJpbmRpbmcteG1sYmVhbnMvTElDRU5TRQppbmRleCBkNjQ1Njk1Li44YWE5MDZjIDEwMDc1NQotLS0gYS9tb2R1bGVzL2RhdGFiaW5kaW5nLXhtbGJlYW5zL0xJQ0VOU0UKKysrIGIvbW9kdWxlcy9kYXRhYmluZGluZy14bWxiZWFucy9MSUNFTlNFCkBAIC0yMDAsMyArMjAwLDYgQEAKICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisKKworCmRpZmYgLS1naXQgYS9tb2R1bGVzL2RhdGFiaW5kaW5nL0xJQ0VOU0UgYi9tb2R1bGVzL2RhdGFiaW5kaW5nL0xJQ0VOU0UKaW5kZXggNjE2YmVjOS4uOGFhOTA2YyAxMDA2NDQKLS0tIGEvbW9kdWxlcy9kYXRhYmluZGluZy9MSUNFTlNFCisrKyBiL21vZHVsZXMvZGF0YWJpbmRpbmcvTElDRU5TRQpAQCAtMjAxLDQ0ICsyMDEsNSBAQAogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1UaGUgdGVzdCBjYXNlcyB1c2UgeG1sdW5pdCB3aXRoIHRoZSBmb2xsb3dpbmcgbGljZW5zZToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIAotCi0vKgotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi1Db3B5cmlnaHQgKGMpIDIwMDEtMjAwNywgSmVmZiBNYXJ0aW4sIFRpbSBCYWNvbgotQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQotUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLWFyZSBtZXQ6Ci0KLSAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gICAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwotICAgICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCi0gICAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSB4bWx1bml0LnNvdXJjZWZvcmdlLm5ldCBub3IgdGhlIG5hbWVzCi0gICAgICBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cwotICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuCi0gICAgICBwZXJtaXNzaW9uLgotCi1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0iQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MKLUZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi1DT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsCi1JTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLAotQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgotQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi1MSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTgotQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi1QT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLQotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qLwogCiAKZGlmZiAtLWdpdCBhL21vZHVsZXMvZXh0ZW5zaWJpbGl0eS1vc2dpL05PVElDRSBiL21vZHVsZXMvZXh0ZW5zaWJpbGl0eS1vc2dpL05PVElDRQppbmRleCBhNjdjZDdjLi45ZGRiYTA2IDEwMDY0NAotLS0gYS9tb2R1bGVzL2V4dGVuc2liaWxpdHktb3NnaS9OT1RJQ0UKKysrIGIvbW9kdWxlcy9leHRlbnNpYmlsaXR5LW9zZ2kvTk9USUNFCkBAIC0xLDMgKzEsNCBAQAorJHtwb20ubmFtZX0NCiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEwIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbg0KIA0KIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkNCmRpZmYgLS1naXQgYS9tb2R1bGVzL2V4dGVuc2liaWxpdHkvTk9USUNFIGIvbW9kdWxlcy9leHRlbnNpYmlsaXR5L05PVElDRQppbmRleCA2ZDZhMjc2Li5hZDJiYTQwIDEwMDY0NAotLS0gYS9tb2R1bGVzL2V4dGVuc2liaWxpdHkvTk9USUNFCisrKyBiL21vZHVsZXMvZXh0ZW5zaWJpbGl0eS9OT1RJQ0UKQEAgLTEsMyArMSw0IEBACiske3BvbS5uYW1lfQogQ29weXJpZ2h0IChjKSAyMDA1IC0gMjAxMCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KIAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9ob3N0LXdlYmFwcC9MSUNFTlNFIGIvbW9kdWxlcy9ob3N0LXdlYmFwcC9MSUNFTlNFCmluZGV4IDFhZTcyM2UuLmQxZTRjMzEgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvaG9zdC13ZWJhcHAvTElDRU5TRQorKysgYi9tb2R1bGVzL2hvc3Qtd2ViYXBwL0xJQ0VOU0UKQEAgLTIwMSwxOCArMjAxLDMwIEBACiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1BcGFjaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgU3ViY29tcG9uZW50cwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT06IAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotVGhlIFR1c2NhbnkgU0NBIGZvciBKYXZhIHJlbGVhc2UgaW5jbHVkZXMgYSBudW1iZXIgb2Ygc3ViY29tcG9uZW50cyB3aXRoCi1zZXBhcmF0ZSBjb3B5cmlnaHQgbm90aWNlcyBhbmQgbGljZW5zZSB0ZXJtcy4gWW91ciB1c2Ugb2YgdGhlIHNvdXJjZQotY29kZSBmb3IgdGhlIHRoZXNlIHN1YmNvbXBvbmVudHMgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kCi1jb25kaXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXMuCitBUEFDSEUgVFVTQ0FOWSBTQ0EgU1VCQ09NUE9ORU5UUzoKIAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotVGhlIG1vZHVsZSBob3N0LXdlYmFwcCBpbmNsdWRlcyBmaWxlcyB1bmRlciB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6CitBcGFjaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgaW5jbHVkZXMgYSBudW1iZXIgb2Ygc3ViY29tcG9uZW50cyB3aXRoCitzZXBhcmF0ZSBjb3B5cmlnaHQgbm90aWNlcyBhbmQgbGljZW5zZSB0ZXJtcy4gWW91ciB1c2Ugb2YgdGhlc2Ugc3ViY29tcG9uZW50cworaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBtb2R1bGUgaG9zdC13ZWJhcHAgaW5jbHVkZXMgZmlsZXMgdW5kZXIgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHRzIGFuZCBsaWNlbnNlOgorCitDb3B5cmlnaHQgTm90aWNlcworCisoQykgQ29weXJpZ2h0IEJFQSBTeXN0ZW1zLCBJbmMuLCBDYXBlIENsZWFyIFNvZnR3YXJlLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAsIEludGVyZmFjZTIxLCBJT05BIFRlY2hub2xvZ2llcywKK09yYWNsZSwgUHJpbWV0b24gVGVjaG5vbG9naWVzLCBQcm9ncmVzcyBTb2Z0d2FyZSwgUmVkIEhhdCwgUm9ndWUgV2F2ZSBTb2Z0d2FyZSwgU0FQIEFHLiwgU2llbWVucyBBRy4sIFNvZnR3YXJlIEFHLiwgU3liYXNlCitJbmMuLCBUSUJDTyBTb2Z0d2FyZSBJbmMuLCAyMDA1LCAyMDA3LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisoQykgQ29weXJpZ2h0IEJFQSBTeXN0ZW1zLCBJbmMuLCBDYXBlIENsZWFyIFNvZnR3YXJlLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAsIEludGVyZmFjZTIxLCBJT05BCitUZWNobm9sb2dpZXMsIE9yYWNsZSwgUHJpbWV0b24gVGVjaG5vbG9naWVzLCBQcm9ncmVzcyBTb2Z0d2FyZSwgUmVkIEhhdCwgUm9ndWUgV2F2ZSBTb2Z0d2FyZSwgU0FQIEFHLiwgU2llbWVucworQUcuLCBTb2Z0d2FyZSBBRy4sIFN1biBNaWNyb3N5c3RlbXMsIEluYy4sIFN5YmFzZSBJbmMuLCBUSUJDTyBTb2Z0d2FyZSBJbmMuLCAyMDA1LCAyMDA4LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitMaWNlbnNlCiAKIFBlcm1pc3Npb24gdG8gY29weSwgZGlzcGxheSBhbmQgZGlzdHJpYnV0ZSB0aGUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24gYW5kL29yCiBwb3J0aW9ucyB0aGVyZW9mLCB3aXRob3V0IG1vZGlmaWNhdGlvbiwgaW4gYW55IG1lZGl1bSB3aXRob3V0IGZlZSBvciByb3lhbHR5IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZApAQCAtMjIwLDcgKzIzMiw3IEBACiBwb3J0aW9ucyB0aGVyZW9mLCB0aGF0IHlvdSBtYWtlOgogCiAxLiBBIGxpbmsgb3IgVVJMIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBhdCB0aGlzIGxvY2F0aW9uOgotICBodHRwOi8vd3d3Lm9zb2Eub3JnL2Rpc3BsYXkvTWFpbi9TZXJ2aWNlK0NvbXBvbmVudCtBcmNoaXRlY3R1cmUrU3BlY2lmaWNhdGlvbnMKK7cgaHR0cDovL3d3dy5vc29hLm9yZy9kaXNwbGF5L01haW4vU2VydmljZStDb21wb25lbnQrQXJjaGl0ZWN0dXJlK1NwZWNpZmljYXRpb25zCiAKIDIuIFRoZSBmdWxsIHRleHQgb2YgdGhlIGNvcHlyaWdodCBub3RpY2UgYXMgc2hvd24gaW4gdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uLgogCkBAIC0yMjgsMTQgKzI0MCwyMiBAQAogU0FQLCBTaWVtZW5zLCBTb2Z0d2FyZSBBRy4sIFN1biwgU3liYXNlLCBUSUJDTyAoY29sbGVjdGl2ZWx5LCB0aGUgIkF1dGhvcnMiKSBhZ3JlZSB0byBncmFudCB5b3UgYQogcm95YWx0eS1mcmVlIGxpY2Vuc2UsIHVuZGVyIHJlYXNvbmFibGUsIG5vbi1kaXNjcmltaW5hdG9yeSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0byBwYXRlbnRzIHRoYXQgdGhleSBkZWVtCiBuZWNlc3NhcnkgdG8gaW1wbGVtZW50IHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbi4KKwogVEhFIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTUEVDSUZJQ0FUSU9OIElTIFBST1ZJREVEICJBUyBJUywiIEFORCBUSEUKIEFVVEhPUlMgTUFLRSBOTyBSRVBSRVNFTlRBVElPTlMgT1IgV0FSUkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELAogUkVHQVJESU5HIFRISVMgU1BFQ0lGSUNBVElPTiBBTkQgVEhFIElNUExFTUVOVEFUSU9OIE9GIElUUyBDT05URU5UUywKIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQQogUEFSVElDVUxBUiBQVVJQT1NFLCBOT04tSU5GUklOR0VNRU5UIE9SIFRJVExFLgorCiBUSEUgQVVUSE9SUyBXSUxMIE5PVCBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJTkNJREVOVEFMCiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgT1IgUkVMQVRJTkcgVE8gQU5ZIFVTRSBPUgogRElTVFJJQlVUSU9OIE9GIFRIRSBTZXJ2aWNlIENvbXBvbmVudHMgQXJjaGl0ZWN0dXJlIFNQRUNJRklDQVRJT04uCisKIFRoZSBuYW1lIGFuZCB0cmFkZW1hcmtzIG9mIHRoZSBBdXRob3JzIG1heSBOT1QgYmUgdXNlZCBpbiBhbnkgbWFubmVyLCBpbmNsdWRpbmcgYWR2ZXJ0aXNpbmcgb3IKIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBvciBpdHMgY29udGVudHMgd2l0aG91dCBzcGVjaWZpYywKK3dyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4gVGl0bGUgdG8gY29weXJpZ2h0IGluIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbgord2lsbCBhdCBhbGwgdGltZXMgcmVtYWluIHdpdGggdGhlIEF1dGhvcnMuCiAKK05vIG90aGVyIHJpZ2h0cyBhcmUgZ3JhbnRlZCBieSBpbXBsaWNhdGlvbiwgZXN0b3BwZWwgb3Igb3RoZXJ3aXNlLgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9ob3N0LXdlYmFwcC9OT1RJQ0UgYi9tb2R1bGVzL2hvc3Qtd2ViYXBwL05PVElDRQppbmRleCA5NTQ4MTVjLi5hZDJiYTQwIDEwMDY0NAotLS0gYS9tb2R1bGVzL2hvc3Qtd2ViYXBwL05PVElDRQorKysgYi9tb2R1bGVzL2hvc3Qtd2ViYXBwL05PVElDRQpAQCAtNCw5ICs0LDMgQEAKIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkKIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoaHR0cDovL3d3dy5hcGFjaGUub3JnLykuCiAKLVRoaXMgcHJvZHVjdCBhbHNvIGluY2x1ZGVzIHNvZnR3YXJlIHVuZGVyIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgc3BlY2lmaWNhdGlvbiBsaWNlbnNlCi0oc2VlIHRoZSBMSUNFTlNFIGZpbGUgY29udGFpbmVkIGluIHRoaXMgZGlzdHJpYnV0aW9uKSB3aXRoIHRoZSBmb2xsb3dpbmcgY29weXJpZ2h0Ci0KLShjKSBDb3B5cmlnaHQgQkVBIFN5c3RlbXMsIEluYy4sIENhcGUgQ2xlYXIgU29mdHdhcmUsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMgQ29ycCwgSW50ZXJmYWNlMjEsIElPTkEKLVRlY2hub2xvZ2llcywgT3JhY2xlLCBQcmltZXRvbiBUZWNobm9sb2dpZXMsIFByb2dyZXNzIFNvZnR3YXJlLCBSZWQgSGF0LCBSb2d1ZSBXYXZlIFNvZnR3YXJlLCBTQVAgQUcuLCBTaWVtZW5zCi1BRy4sIFNvZnR3YXJlIEFHLiwgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiwgU3liYXNlIEluYy4sIFRJQkNPIFNvZnR3YXJlIEluYy4sIDIwMDUsIDIwMDguIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLWJwZWwtb2RlL0xJQ0VOU0UgYi9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLWJwZWwtb2RlL0xJQ0VOU0UKaW5kZXggYmFiYTljYS4uNmU1MjlhMiAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsLW9kZS9MSUNFTlNFCisrKyBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC1vZGUvTElDRU5TRQpAQCAtMjAxLDUxICsyMDEsNSBAQAogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KIA0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIA0KLUFwYWNoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSBTdWJjb21wb25lbnRzDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT06IA0KIA0KLVRoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSByZWxlYXNlIGluY2x1ZGVzIGEgbnVtYmVyIG9mIHN1YmNvbXBvbmVudHMgd2l0aA0KLXNlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGUgc291cmNlDQotY29kZSBmb3IgdGhlIHRoZXNlIHN1YmNvbXBvbmVudHMgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kDQotY29uZGl0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzLg0KLQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotDQotVGhpcyBtb2R1bGUgaW1wbGVtZW50YXRpb24tc2NyaXB0IHRlbXBvcmFyaWx5IGluY2x1ZGVzIG9uZSBmaWxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgQlNEIGxpY2Vuc2U6DQotDQotIENvcHlyaWdodCAoYykgMjAwNiwgU3VuIE1pY3Jvc3lzdGVtcywgSW5jLg0KLSBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLSANCi0gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IA0KLSBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCi0gDQotICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyANCi0gICAgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQotIA0KLSAgLSBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIA0KLSAgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIA0KLSAgICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCi0gDQotICAtIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gbm9yIHRoZSBuYW1lcyBvZiANCi0gICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyANCi0gICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQotIA0KLSBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgDQotIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIA0KLSBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgDQotIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIA0KLSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSANCi0gQ09QWVJJR0hUIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSANCi0gRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiANCi0gQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgDQotIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgDQotIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIA0KLSBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIA0KLSBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgDQotIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgDQotIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggDQotIERBTUFHRS4gDQotDQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCmRpZmYgLS1naXQgYS9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLWJwZWwtb2RlL05PVElDRSBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC1vZGUvTk9USUNFCmluZGV4IDliYzFjZTkuLjlkZGJhMDYgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC1vZGUvTk9USUNFCisrKyBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC1vZGUvTk9USUNFCkBAIC00LDE0ICs0LDMgQEAKIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkNCiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLg0KIA0KLVVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkLCBhbGwgZGlzdHJpYnV0aW9uIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbg0KLWlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wICgiQUwiKS4NCi1BIGNvcHkgb2YgdGhlIEFMIGlzIHByb3ZpZGVkIHdpdGggdGhpcyBkaXN0cmlidXRpb24gYXMgdGhlIExJQ0VOU0UgZmlsZSBwcmVzZW50IGluIHRoZQ0KLXJvb3QgZGlyZWN0b3J5LCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLy4NCi0NCi1UaGlzIHByb2R1Y3QgYWxzbyBpbmNsdWRlcyBzb2Z0d2FyZSB1bmRlciB0aGUgQlNEIGxpY2Vuc2UgDQotKHNlZSB0aGUgTElDRU5TRSBmaWxlIGNvbnRhaW5lZCBpbiB0aGlzIGRpc3RyaWJ1dGlvbiksIHdpdGgNCi10aGUgZm9sbG93aW5nIGNvcHlyaWdodDoNCi0NCi1Db3B5cmlnaHQgKGMpIDIwMDYsIFN1biBNaWNyb3N5c3RlbXMsIEluYy4NCi1BbGwgcmlnaHRzIHJlc2VydmVkLg0KZGlmZiAtLWdpdCBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC9MSUNFTlNFIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsL0xJQ0VOU0UKaW5kZXggYmFiYTljYS4uNmU1MjlhMiAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsL0xJQ0VOU0UKKysrIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsL0xJQ0VOU0UKQEAgLTIwMSw1MSArMjAxLDUgQEAKICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiANCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiANCi1BcGFjaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgU3ViY29tcG9uZW50cw0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09OiANCiANCi1UaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgcmVsZWFzZSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgNCi1zZXBhcmF0ZSBjb3B5cmlnaHQgbm90aWNlcyBhbmQgbGljZW5zZSB0ZXJtcy4gWW91ciB1c2Ugb2YgdGhlIHNvdXJjZQ0KLWNvZGUgZm9yIHRoZSB0aGVzZSBzdWJjb21wb25lbnRzIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZA0KLWNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4NCi0NCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLQ0KLVRoaXMgbW9kdWxlIGltcGxlbWVudGF0aW9uLXNjcmlwdCB0ZW1wb3JhcmlseSBpbmNsdWRlcyBvbmUgZmlsZSB1bmRlciB0aGUgZm9sbG93aW5nIEJTRCBsaWNlbnNlOg0KLQ0KLSBDb3B5cmlnaHQgKGMpIDIwMDYsIFN1biBNaWNyb3N5c3RlbXMsIEluYy4NCi0gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCi0gDQotIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCANCi0gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQotIA0KLSAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgDQotICAgIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KLSANCi0gIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCANCi0gICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiANCi0gICAgYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQotIA0KLSAgLSBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgDQotICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgDQotICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KLSANCi0gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIA0KLSBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCANCi0gV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIA0KLSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSANCi0gUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgDQotIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgDQotIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgDQotIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIA0KLSBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIA0KLSBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiANCi0gQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiANCi0gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIA0KLSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIA0KLSBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIA0KLSBEQU1BR0UuIA0KLQ0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsL05PVElDRSBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24tYnBlbC9OT1RJQ0UKaW5kZXggOWJjMWNlOS4uOWRkYmEwNiAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1icGVsL05PVElDRQorKysgYi9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLWJwZWwvTk9USUNFCkBAIC00LDE0ICs0LDMgQEAKIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkNCiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLg0KIA0KLVVubGVzcyBvdGhlcndpc2UgaW5kaWNhdGVkLCBhbGwgZGlzdHJpYnV0aW9uIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbg0KLWlzIHByb3ZpZGVkIHRvIHlvdSB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEFwYWNoZSBMaWNlbnNlIFZlcnNpb24gMi4wICgiQUwiKS4NCi1BIGNvcHkgb2YgdGhlIEFMIGlzIHByb3ZpZGVkIHdpdGggdGhpcyBkaXN0cmlidXRpb24gYXMgdGhlIExJQ0VOU0UgZmlsZSBwcmVzZW50IGluIHRoZQ0KLXJvb3QgZGlyZWN0b3J5LCBhbmQgaXMgYWxzbyBhdmFpbGFibGUgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLy4NCi0NCi1UaGlzIHByb2R1Y3QgYWxzbyBpbmNsdWRlcyBzb2Z0d2FyZSB1bmRlciB0aGUgQlNEIGxpY2Vuc2UgDQotKHNlZSB0aGUgTElDRU5TRSBmaWxlIGNvbnRhaW5lZCBpbiB0aGlzIGRpc3RyaWJ1dGlvbiksIHdpdGgNCi10aGUgZm9sbG93aW5nIGNvcHlyaWdodDoNCi0NCi1Db3B5cmlnaHQgKGMpIDIwMDYsIFN1biBNaWNyb3N5c3RlbXMsIEluYy4NCi1BbGwgcmlnaHRzIHJlc2VydmVkLg0KZGlmZiAtLWdpdCBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24tb3NnaS9MSUNFTlNFIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1vc2dpL0xJQ0VOU0UKaW5kZXggNmIwYjEyNy4uOGFhOTA2YyAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1vc2dpL0xJQ0VOU0UKKysrIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1vc2dpL0xJQ0VOU0UKQEAgLTIwMSwzICsyMDEsNSBAQAogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKKworCmRpZmYgLS1naXQgYS9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLXNjcmlwdC9MSUNFTlNFIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi1zY3JpcHQvTElDRU5TRQppbmRleCA0YjVhYjc0Li41NjdkZmM1IDEwMDY0NAotLS0gYS9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLXNjcmlwdC9MSUNFTlNFCisrKyBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24tc2NyaXB0L0xJQ0VOU0UKQEAgLTIwMSwxOSArMjAxLDE5IEBACiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KIAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLUFwYWNoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSBTdWJjb21wb25lbnRzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgcmVsZWFzZSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgKLXNlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGUgc291cmNlCi1jb2RlIGZvciB0aGUgdGhlc2Ugc3ViY29tcG9uZW50cyBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQKLWNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4KK0FQQUNIRSBUVVNDQU5ZIFNDQSBTVUJDT01QT05FTlRTOgogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorQXBhY2hlIFR1c2NhbnkgU0NBIGZvciBKYXZhIGluY2x1ZGVzIGEgbnVtYmVyIG9mIHN1YmNvbXBvbmVudHMgd2l0aAorc2VwYXJhdGUgY29weXJpZ2h0IG5vdGljZXMgYW5kIGxpY2Vuc2UgdGVybXMuIFlvdXIgdXNlIG9mIHRoZXNlIHN1YmNvbXBvbmVudHMKK2lzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXMuCiAKLVRoaXMgbW9kdWxlIGltcGxlbWVudGF0aW9uLXNjcmlwdCB0ZW1wb3JhcmlseSBpbmNsdWRlcyBvbmUgZmlsZSB1bmRlciB0aGUgZm9sbG93aW5nIEJTRCBsaWNlbnNlOgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBtb2R1bGUgaW1wbGVtZW50YXRpb24tc2NyaXB0IHRlbXBvcmFyaWx5IGluY2x1ZGVzIG9uZSBmaWxlIHVuZGVyIHRoZQorZm9sbG93aW5nIEJTRCBsaWNlbnNlOgogCiAgQ29weXJpZ2h0IChjKSAyMDA2LCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KQEAgLTI0OCw0ICsyNDgsNCBAQAogIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggCiAgREFNQUdFLiAKIAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLXdlYi1ydW50aW1lL0xJQ0VOU0UgYi9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLXdlYi1ydW50aW1lL0xJQ0VOU0UKaW5kZXggNmIwYjEyNy4uNmU0MmM3MSAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi13ZWItcnVudGltZS9MSUNFTlNFCisrKyBiL21vZHVsZXMvaW1wbGVtZW50YXRpb24td2ViLXJ1bnRpbWUvTElDRU5TRQpAQCAtMjAxLDMgKzIwMSw0NyBAQAogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQVBBQ0hFIFRVU0NBTlkgU0NBIFNVQkNPTVBPTkVOVFM6CisKK0FwYWNoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgKK3NlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGVzZSBzdWJjb21wb25lbnRzCitpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgZm9sbG93aW5nIGxpY2Vuc2VzLgorCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIG1vZHVsZSBpbXBsZW1lbnRhdGlvbi13ZWItcnVudGltZSBpbmNsdWRlcyB0aGUgZmlsZSBqc29ucnBjLmpzIHVuZGVyIHRoZQorZm9sbG93aW5nIGNvcHlyaWdodCBhbmQgbGljZW5zZToKKworLyoKKyAqIEpTT04tUlBDIEphdmFTY3JpcHQgY2xpZW50CisgKgorICogJElkOiBqc29ucnBjLmpzLHYgMS4zNi4yLjMgMjAwNi8wMy8wOCAxNTowOTozNyBtY2xhcmsgRXhwICQKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNCBKYW4tS2xhYXMgS29sbGhvZgorICogQ29weXJpZ2h0IChjKSAyMDA1IE1pY2hhZWwgQ2xhcmssIE1ldGFwYXJhZGlnbSBQdGUgTHRkCisgKgorICogVGhpcyBjb2RlIGlzIGJhc2VkIG9uIEphbi1LbGFhcycgSmF2YVNjcmlwdCBvIGxhaXQgbGlicmFyeSAoanNvbGFpdCkuCisgKgorICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisgKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCisgKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyAqCisgKiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyAqCisgKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCisgKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisgKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCisgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAqCisgKi8KKworLyoKKyAqIE1vZGlmaWNhdGlvbnMgZm9yIEFwYWNoZSBUdXNjYW55OgorICogLSBKU09OUnBjQ2xpZW50X2NyZWF0ZU1ldGhvZCBjaGFuZ2VkIHNvIGNhbGxiYWNrIGlzIGxhc3QgYXJnCisgKi8KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24td2ViLXJ1bnRpbWUvTk9USUNFIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi13ZWItcnVudGltZS9OT1RJQ0UKaW5kZXggYjhmMzQ1Ni4uYWQyYmE0MCAxMDA2NDQKLS0tIGEvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi13ZWItcnVudGltZS9OT1RJQ0UKKysrIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi13ZWItcnVudGltZS9OT1RJQ0UKQEAgLTQsNiArNCwzIEBACiBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5CiBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLgogCi1UaGlzIHByb2R1Y3QgaW5jbHVkZXMvdXNlcyBKU09OLVJQQyBKYXZhU2NyaXB0IGNsaWVudCAoanNvbnJwYy5qcykgCi0gQ29weXJpZ2h0IChjKSAyMDAzLTIwMDQgSmFuLUtsYWFzIEtvbGxob2YKLSBDb3B5cmlnaHQgKGMpIDIwMDUgTWljaGFlbCBDbGFyaywgTWV0YXBhcmFkaWdtIFB0ZSBMdGQKZGlmZiAtLWdpdCBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24teHF1ZXJ5L0xJQ0VOU0UgYi9tb2R1bGVzL2ltcGxlbWVudGF0aW9uLXhxdWVyeS9MSUNFTlNFCmluZGV4IGQ2NDU2OTUuLjhhYTkwNmMgMTAwNjQ0Ci0tLSBhL21vZHVsZXMvaW1wbGVtZW50YXRpb24teHF1ZXJ5L0xJQ0VOU0UKKysrIGIvbW9kdWxlcy9pbXBsZW1lbnRhdGlvbi14cXVlcnkvTElDRU5TRQpAQCAtMjAwLDMgKzIwMCw2IEBACiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKKwpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9vc2dpLXJ1bnRpbWUvTElDRU5TRSBiL21vZHVsZXMvb3NnaS1ydW50aW1lL0xJQ0VOU0UKaW5kZXggNDNlOTFlYi4uNmU1MjlhMiAxMDA2NDQKLS0tIGEvbW9kdWxlcy9vc2dpLXJ1bnRpbWUvTElDRU5TRQorKysgYi9tb2R1bGVzL29zZ2ktcnVudGltZS9MSUNFTlNFCkBAIC0yMDEsMyArMjAxLDUgQEAKICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQNCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4NCiANCisNCisNCmRpZmYgLS1naXQgYS9tb2R1bGVzL3BvbGljeS9OT1RJQ0UgYi9tb2R1bGVzL3BvbGljeS9OT1RJQ0UKaW5kZXggNmQ2YTI3Ni4uYWQyYmE0MCAxMDA2NDQKLS0tIGEvbW9kdWxlcy9wb2xpY3kvTk9USUNFCisrKyBiL21vZHVsZXMvcG9saWN5L05PVElDRQpAQCAtMSwzICsxLDQgQEAKKyR7cG9tLm5hbWV9CiBDb3B5cmlnaHQgKGMpIDIwMDUgLSAyMDEwIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbgogCiBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5CmRpZmYgLS1naXQgYS9tb2R1bGVzL3NjYS1hcGktZXh0ZW5zaW9uL0xJQ0VOU0UgYi9tb2R1bGVzL3NjYS1hcGktZXh0ZW5zaW9uL0xJQ0VOU0UKaW5kZXggZDY0NTY5NS4uOGFhOTA2YyAxMDA2NDQKLS0tIGEvbW9kdWxlcy9zY2EtYXBpLWV4dGVuc2lvbi9MSUNFTlNFCisrKyBiL21vZHVsZXMvc2NhLWFwaS1leHRlbnNpb24vTElDRU5TRQpAQCAtMjAwLDMgKzIwMCw2IEBACiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorCisKKwpkaWZmIC0tZ2l0IGEvbW9kdWxlcy9zY2EtYXBpL0xJQ0VOU0UgYi9tb2R1bGVzL3NjYS1hcGkvTElDRU5TRQppbmRleCA2MTdjNjkwLi5hZjQ2NzY3IDEwMDY0NAotLS0gYS9tb2R1bGVzL3NjYS1hcGkvTElDRU5TRQorKysgYi9tb2R1bGVzL3NjYS1hcGkvTElDRU5TRQpAQCAtMjAxLDE4ICsyMDEsMzAgQEAKICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLUFwYWNoZSBUdXNjYW55IFNDQSBmb3IgSmF2YSBTdWJjb21wb25lbnRzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgcmVsZWFzZSBpbmNsdWRlcyBhIG51bWJlciBvZiBzdWJjb21wb25lbnRzIHdpdGgKLXNlcGFyYXRlIGNvcHlyaWdodCBub3RpY2VzIGFuZCBsaWNlbnNlIHRlcm1zLiBZb3VyIHVzZSBvZiB0aGUgc291cmNlCi1jb2RlIGZvciB0aGUgdGhlc2Ugc3ViY29tcG9uZW50cyBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQKLWNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4KK0FQQUNIRSBUVVNDQU5ZIFNDQSBTVUJDT01QT05FTlRTOgogCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1UaGUgbW9kdWxlIHNjYS1hcGkgaW5jbHVkZXMgYSBudW1iZXIgb2YgZmlsZXMgdW5kZXIgdGhlIGZvbGxvd2luZyBsaWNlbnNlOgorQXBhY2hlIFR1c2NhbnkgU0NBIGZvciBKYXZhIGluY2x1ZGVzIGEgbnVtYmVyIG9mIHN1YmNvbXBvbmVudHMgd2l0aAorc2VwYXJhdGUgY29weXJpZ2h0IG5vdGljZXMgYW5kIGxpY2Vuc2UgdGVybXMuIFlvdXIgdXNlIG9mIHRoZXNlIHN1YmNvbXBvbmVudHMKK2lzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgbGljZW5zZXMuCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoaXMgbW9kdWxlIHNjYS1hcGkgaW5jbHVkZXMgZmlsZXMgdW5kZXIgdGhlIGZvbGxvd2luZyBjb3B5cmlnaHRzIGFuZCBsaWNlbnNlOgorCitDb3B5cmlnaHQgTm90aWNlcworCisoQykgQ29weXJpZ2h0IEJFQSBTeXN0ZW1zLCBJbmMuLCBDYXBlIENsZWFyIFNvZnR3YXJlLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAsIEludGVyZmFjZTIxLCBJT05BIFRlY2hub2xvZ2llcywKK09yYWNsZSwgUHJpbWV0b24gVGVjaG5vbG9naWVzLCBQcm9ncmVzcyBTb2Z0d2FyZSwgUmVkIEhhdCwgUm9ndWUgV2F2ZSBTb2Z0d2FyZSwgU0FQIEFHLiwgU2llbWVucyBBRy4sIFNvZnR3YXJlIEFHLiwgU3liYXNlCitJbmMuLCBUSUJDTyBTb2Z0d2FyZSBJbmMuLCAyMDA1LCAyMDA3LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCisoQykgQ29weXJpZ2h0IEJFQSBTeXN0ZW1zLCBJbmMuLCBDYXBlIENsZWFyIFNvZnR3YXJlLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzIENvcnAsIEludGVyZmFjZTIxLCBJT05BCitUZWNobm9sb2dpZXMsIE9yYWNsZSwgUHJpbWV0b24gVGVjaG5vbG9naWVzLCBQcm9ncmVzcyBTb2Z0d2FyZSwgUmVkIEhhdCwgUm9ndWUgV2F2ZSBTb2Z0d2FyZSwgU0FQIEFHLiwgU2llbWVucworQUcuLCBTb2Z0d2FyZSBBRy4sIFN1biBNaWNyb3N5c3RlbXMsIEluYy4sIFN5YmFzZSBJbmMuLCBUSUJDTyBTb2Z0d2FyZSBJbmMuLCAyMDA1LCAyMDA4LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorCitMaWNlbnNlCiAKIFBlcm1pc3Npb24gdG8gY29weSwgZGlzcGxheSBhbmQgZGlzdHJpYnV0ZSB0aGUgU2VydmljZSBDb21wb25lbnQgQXJjaGl0ZWN0dXJlIFNwZWNpZmljYXRpb24gYW5kL29yCiBwb3J0aW9ucyB0aGVyZW9mLCB3aXRob3V0IG1vZGlmaWNhdGlvbiwgaW4gYW55IG1lZGl1bSB3aXRob3V0IGZlZSBvciByb3lhbHR5IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZApAQCAtMjIwLDcgKzIzMiw3IEBACiBwb3J0aW9ucyB0aGVyZW9mLCB0aGF0IHlvdSBtYWtlOgogCiAxLiBBIGxpbmsgb3IgVVJMIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBhdCB0aGlzIGxvY2F0aW9uOgotICBodHRwOi8vd3d3Lm9zb2Eub3JnL2Rpc3BsYXkvTWFpbi9TZXJ2aWNlK0NvbXBvbmVudCtBcmNoaXRlY3R1cmUrU3BlY2lmaWNhdGlvbnMKK7cgaHR0cDovL3d3dy5vc29hLm9yZy9kaXNwbGF5L01haW4vU2VydmljZStDb21wb25lbnQrQXJjaGl0ZWN0dXJlK1NwZWNpZmljYXRpb25zCiAKIDIuIFRoZSBmdWxsIHRleHQgb2YgdGhlIGNvcHlyaWdodCBub3RpY2UgYXMgc2hvd24gaW4gdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9uLgogCkBAIC0yMjgsMTYgKzI0MCwyMiBAQAogU0FQLCBTaWVtZW5zLCBTb2Z0d2FyZSBBRy4sIFN1biwgU3liYXNlLCBUSUJDTyAoY29sbGVjdGl2ZWx5LCB0aGUgIkF1dGhvcnMiKSBhZ3JlZSB0byBncmFudCB5b3UgYQogcm95YWx0eS1mcmVlIGxpY2Vuc2UsIHVuZGVyIHJlYXNvbmFibGUsIG5vbi1kaXNjcmltaW5hdG9yeSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0byBwYXRlbnRzIHRoYXQgdGhleSBkZWVtCiBuZWNlc3NhcnkgdG8gaW1wbGVtZW50IHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbi4KKwogVEhFIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBTUEVDSUZJQ0FUSU9OIElTIFBST1ZJREVEICJBUyBJUywiIEFORCBUSEUKIEFVVEhPUlMgTUFLRSBOTyBSRVBSRVNFTlRBVElPTlMgT1IgV0FSUkFOVElFUywgRVhQUkVTUyBPUiBJTVBMSUVELAogUkVHQVJESU5HIFRISVMgU1BFQ0lGSUNBVElPTiBBTkQgVEhFIElNUExFTUVOVEFUSU9OIE9GIElUUyBDT05URU5UUywKIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQQogUEFSVElDVUxBUiBQVVJQT1NFLCBOT04tSU5GUklOR0VNRU5UIE9SIFRJVExFLgorCiBUSEUgQVVUSE9SUyBXSUxMIE5PVCBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJTkNJREVOVEFMCiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORyBPVVQgT0YgT1IgUkVMQVRJTkcgVE8gQU5ZIFVTRSBPUgogRElTVFJJQlVUSU9OIE9GIFRIRSBTZXJ2aWNlIENvbXBvbmVudHMgQXJjaGl0ZWN0dXJlIFNQRUNJRklDQVRJT04uCisKIFRoZSBuYW1lIGFuZCB0cmFkZW1hcmtzIG9mIHRoZSBBdXRob3JzIG1heSBOT1QgYmUgdXNlZCBpbiBhbnkgbWFubmVyLCBpbmNsdWRpbmcgYWR2ZXJ0aXNpbmcgb3IKIHB1YmxpY2l0eSBwZXJ0YWluaW5nIHRvIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbiBvciBpdHMgY29udGVudHMgd2l0aG91dCBzcGVjaWZpYywKK3dyaXR0ZW4gcHJpb3IgcGVybWlzc2lvbi4gVGl0bGUgdG8gY29weXJpZ2h0IGluIHRoZSBTZXJ2aWNlIENvbXBvbmVudCBBcmNoaXRlY3R1cmUgU3BlY2lmaWNhdGlvbgord2lsbCBhdCBhbGwgdGltZXMgcmVtYWluIHdpdGggdGhlIEF1dGhvcnMuCiAKK05vIG90aGVyIHJpZ2h0cyBhcmUgZ3JhbnRlZCBieSBpbXBsaWNhdGlvbiwgZXN0b3BwZWwgb3Igb3RoZXJ3aXNlLgogCi0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9tb2R1bGVzL3NjYS1hcGkvTk9USUNFIGIvbW9kdWxlcy9zY2EtYXBpL05PVElDRQppbmRleCA1MDFkM2VhLi5hZDJiYTQwIDEwMDY0NAotLS0gYS9tb2R1bGVzL3NjYS1hcGkvTk9USUNFCisrKyBiL21vZHVsZXMvc2NhLWFwaS9OT1RJQ0UKQEAgLTQsMTAgKzQsMyBAQAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQogVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvKS4KIAotVGhpcyBwcm9kdWN0IGFsc28gaW5jbHVkZXMgc29mdHdhcmUgdW5kZXIgdGhlIFNlcnZpY2UgQ29tcG9uZW50IEFyY2hpdGVjdHVyZSBzcGVjaWZpY2F0aW9uIGxpY2Vuc2UKLShzZWUgdGhlIExJQ0VOU0UgZmlsZSBjb250YWluZWQgaW4gdGhpcyBkaXN0cmlidXRpb24pIHdpdGggdGhlIGZvbGxvd2luZyBjb3B5cmlnaHQKLQotKGMpIENvcHlyaWdodCBCRUEgU3lzdGVtcywgSW5jLiwgQ2FwZSBDbGVhciBTb2Z0d2FyZSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcyBDb3JwLCBJbnRlcmZhY2UyMSwgSU9OQSBUZWNobm9sb2dpZXMsCi0zNyBPcmFjbGUsIFByaW1ldG9uIFRlY2hub2xvZ2llcywgUHJvZ3Jlc3MgU29mdHdhcmUsIFJlZCBIYXQsIFJvZ3VlIFdhdmUgU29mdHdhcmUsIFNBUCBBRy4sIFNpZW1lbnMgQUcuLCBTb2Z0d2FyZSBBRy4sIFN5YmFzZQotMzggSW5jLiwgVElCQ08gU29mdHdhcmUgSW5jLiwgMjAwNSwgMjAwNy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLQpkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWItamF2YXNjcmlwdC1kb2pvL0xJQ0VOU0UgYi9tb2R1bGVzL3dlYi1qYXZhc2NyaXB0LWRvam8vTElDRU5TRQppbmRleCA0MjJlNWY3Li44YjZiZTMzIDEwMDY0NAotLS0gYS9tb2R1bGVzL3dlYi1qYXZhc2NyaXB0LWRvam8vTElDRU5TRQorKysgYi9tb2R1bGVzL3dlYi1qYXZhc2NyaXB0LWRvam8vTElDRU5TRQpAQCAtMjAyLDkgKzIwMiwxOSBAQAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAKIAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKLWRvam90b29sa2l0IFYxLjMuMDoKK0FQQUNIRSBUVVNDQU5ZIFNDQSBTVUJDT01QT05FTlRTOgorCitBcGFjaGUgVHVzY2FueSBTQ0EgZm9yIEphdmEgaW5jbHVkZXMgYSBudW1iZXIgb2Ygc3ViY29tcG9uZW50cyB3aXRoCitzZXBhcmF0ZSBjb3B5cmlnaHQgbm90aWNlcyBhbmQgbGljZW5zZSB0ZXJtcy4gWW91ciB1c2Ugb2YgdGhlc2Ugc3ViY29tcG9uZW50cworaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIGZvbGxvd2luZyBsaWNlbnNlcy4KKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBtb2R1bGUgd2ViLWphdmFzY3JpcHQtZG9qbyBpbmNsdWRlcyBhIHJlZGlzdHJpYnV0aW9uIG9mCisgZG9qb3Rvb2xraXQgVjEuMy4wCit1bmRlciB0aGUgZm9sbG93aW5nIGNvcHlyaWdodCBhbmQgbGljZW5zZToKIAogVGhlICJOZXciIEJTRCBMaWNlbnNlOgogKioqKioqKioqKioqKioqKioqKioqKgpkaWZmIC0tZ2l0IGEvbW9kdWxlcy93ZWItamF2YXNjcmlwdC1kb2pvL05PVElDRSBiL21vZHVsZXMvd2ViLWphdmFzY3JpcHQtZG9qby9OT1RJQ0UKaW5kZXggNTVjYjhiOC4uYWQyYmE0MCAxMDA2NDQKLS0tIGEvbW9kdWxlcy93ZWItamF2YXNjcmlwdC1kb2pvL05PVElDRQorKysgYi9tb2R1bGVzL3dlYi1qYXZhc2NyaXB0LWRvam8vTk9USUNFCkBAIC00LDggKzQsMyBAQAogVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieQogVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChodHRwOi8vd3d3LmFwYWNoZS5vcmcvKS4KIAotVGhpcyBwcm9kdWN0IGluY2x1ZGVzIGRvam90b29sa2l0IGZpbGVzIChodHRwOi8vZG9qb3Rvb2xraXQub3JnLykgdW5kZXIgdGhlCi0iTmV3IiBCU0QgTGljZW5zZSAoc2VlIHRoZSBMSUNFTlNFIGZpbGUgY29udGFpbmVkIGluIHRoaXMgZGlzdHJpYnV0aW9uKSB1bmRlciB0aGUgCi1mb2xsb3dpbmcgY29weXJpZ2h0Ci0gQ29weXJpZ2h0IChjKSAyMDA1LCBUaGUgRG9qbyBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotCmRpZmYgLS1naXQgYS90b29scy9lY2xpcHNlL3BsdWdpbnMvY29yZS9hYm91dF9maWxlcy9MSUNFTlNFIGIvdG9vbHMvZWNsaXBzZS9wbHVnaW5zL2NvcmUvYWJvdXRfZmlsZXMvTElDRU5TRQppbmRleCBiMzYwMGQxLi5lZThhNWQ3IDEwMDY0NAotLS0gYS90b29scy9lY2xpcHNlL3BsdWdpbnMvY29yZS9hYm91dF9maWxlcy9MSUNFTlNFCisrKyBiL3Rvb2xzL2VjbGlwc2UvcGx1Z2lucy9jb3JlL2Fib3V0X2ZpbGVzL0xJQ0VOU0UKQEAgLTI1NiwzICsyNTYsNSBAQAogTm8gb3RoZXIgcmlnaHRzIGFyZSBncmFudGVkIGJ5IGltcGxpY2F0aW9uLCBlc3RvcHBlbCBvciBvdGhlcndpc2UuCiAKIFJldmlzaW9uIGxldmVsIDEuMSwgbGFzdCB1cGRhdGVkIG9uIDIwMDcvMTEvMTkKKworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K