ZGlmZiAtLWdpdCBhL2RvYy9kZXZfZ3VpZGUvYXYxX2VuY29kZXIuZG94IGIvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKaW5kZXggYzlkNzA3Ny4uOWZkNDhlZCAxMDA2NDQKLS0tIGEvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKKysrIGIvZG9jL2Rldl9ndWlkZS9hdjFfZW5jb2Rlci5kb3gKQEAgLTc3LDE2ICs3NywxNiBAQAogLSBGZWF0dXJlcyBzdWNoIGFzIHR3byBwYXNzIGVuY29kaW5nIG9yIG9wdGltaXphdGlvbiBmb3IgbG93IGRlbGF5CiAgIGVuY29kaW5nLgogCi1Gb3IgYSBtb3JlIGRldGFpbGVkIG92ZXJ2aWV3IG9mIEFWMZJzIGVuY29kaW5nIHRvb2xzIGFuZCBhIGRpc2N1c3Npb24gb2Ygc29tZQorRm9yIGEgbW9yZSBkZXRhaWxlZCBvdmVydmlldyBvZiBBVjEncyBlbmNvZGluZyB0b29scyBhbmQgYSBkaXNjdXNzaW9uIG9mIHNvbWUKIG9mIHRoZSBkZXNpZ24gY29uc2lkZXJhdGlvbnMgYW5kIGhhcmR3YXJlIGNvbnN0cmFpbnRzIHRoYXQgaGFkIHRvIGJlCi1hY2NvbW1vZGF0ZWQsIHBsZWFzZSByZWZlciB0byAqKiogVE9ETyBsaW5rIHRvIEppbmduaW5nknMgQVYxIG92ZXJ2aWV3IHBhcGVyLgorYWNjb21tb2RhdGVkLCBwbGVhc2UgcmVmZXIgdG8gKioqIFRPRE8gbGluayB0byBKaW5nbmluZydzIEFWMSBvdmVydmlldyBwYXBlci4KIAogRmlndXJlIDMgcHJvdmlkZXMgYSBzbGlnaHRseSBleHBhbmRlZCBidXQgc3RpbGwgc2ltcGxpc3RpYyB2aWV3IG9mIHRoZQogQVYxIGVuY29kZXIgYXJjaGl0ZWN0dXJlIHdpdGggYmxvY2tzIHRoYXQgcmVsYXRlIHRvIHNvbWUgb2YgdGhlIHN1YnNlcXVlbnQKIHNlY3Rpb25zIG9mIHRoaXMgZG9jdW1lbnQuIEluIHRoaXMgZGlhZ3JhbSwgdGhlIHJhdyB1bmNvbXByZXNzZWQgZnJhbWUgYnVmZmVycwogYXJlIHNob3duIGluIGRhcmsgZ3JlZW4gYW5kIHRoZSByZWNvbnN0cnVjdGVkIGZyYW1lIGJ1ZmZlcnMgdXNlZCBmb3IKIHByZWRpY3Rpb24gaW4gbGlnaHQgZ3JlZW4uIFJlZCBpbmRpY2F0ZXMgdGhvc2UgcGFydHMgb2YgdGhlIGNvZGVjIHRoYXQgYXJlCi0ob3IgbWF5IGJlKSCTbG9zc3mULCB3aGVyZSBmaWRlbGl0eSBjYW4gYmUgdHJhZGVkIG9mZiBhZ2FpbnN0IGNvbXByZXNzaW9uCisob3IgbWF5IGJlKSBsb3NzeSwgd2hlcmUgZmlkZWxpdHkgY2FuIGJlIHRyYWRlZCBvZmYgYWdhaW5zdCBjb21wcmVzc2lvbgogZWZmaWNpZW5jeSwgd2hpbHN0IGxpZ2h0IGJsdWUgc2hvd3MgYWxnb3JpdGhtcyBvciBjb2RpbmcgdG9vbHMgdGhhdCBhcmUKIGxvc3NsZXNzLiBUaGUgeWVsbG93IGJsb2NrcyByZXByZXNlbnQgbm9uLWJpdHN0cmVhbSBub3JtYXRpdmUgY29uZmlndXJhdGlvbgogYW5kIGNvbnRyb2wgYWxnb3JpdGhtcy4KQEAgLTk5LDcgKzk5LDggQEAKIAogXHNlY3Rpb24gYXJjaGl0ZWN0dXJlX2VuY19kYXRhX3N0cnVjdHVyZXMgTWFpbiBFbmNvZGVyIERhdGEgU3RydWN0dXJlcwogCi0gVGhlIGZvbGxvd2luZyBhcmUgdGhlIG1haW4gaGlnaCBsZXZlbCBkYXRhIHN0cnVjdHVyZXMgdXNlZCBieSB0aGUgbGliYW9tIEFWMSBlbmNvZGVyOgorVGhlIGZvbGxvd2luZyBhcmUgdGhlIG1haW4gaGlnaCBsZXZlbCBkYXRhIHN0cnVjdHVyZXMgdXNlZCBieSB0aGUgbGliYW9tIEFWMQorZW5jb2RlcjoKIAogIC0gXHJlZiBBVjFfQ09NUAogIC0gQWRkIGRldGFpbHMsIHJlZmVyZW5jZXMgb3IgbGlua3MgaGVyZTogVE9ETyA/IHVydmFuZ0AKQEAgLTEwNyw3ICsxMDgsODcgQEAKIAogXHNlY3Rpb24gYXJjaGl0ZWN0dXJlX2VuY191c2VfY2FzZXMgRW5jb2RlciBVc2UgQ2FzZXMKIAotIEFkZCBkZXRhaWxzIGhlcmUuCitUaGUgbGliYW9tIEFWMSBlbmNvZGVyIGlzIGNvbmZpZ3VyYWJsZSB0byBzdXBwb3J0IGEgbnVtYmVyIG9mIGRpZmZlcmVudCB1c2UKK2Nhc2VzIGFuZCByYXRlIGNvbnRyb2wgc3RyYXRlZ2llcy4KKworVGhlIHByaW5jaXBsZSB1c2UgY2FzZXMgZm9yIHdoaWNoIGl0IGlzIG9wdGltaXNlZCBhcmUgYXMgZm9sbG93czoKKworIC0gPGI+VmlkZW8gb24gRGVtYW5kIC8gU3RyZWFtaW5nPC9iPgorIC0gPGI+TG93IERlbGF5IG9yICBMaXZlIFN0cmVhbWluZzwvYj4KKyAtIDxiPlZpZGVvIENvbmZlcmVuY2luZyAvIFJlYWwgVGltZSBDb2RpbmcgKFJUQyk8L2I+CisgLSA8Yj5GaXhlZCBRdWFsaXR5IC8gVGVzdGluZzwvYj4KKworT3RoZXIgZXhhbXBsZXMgb2YgdXNlIGNhc2VzIGZvciB3aGljaCB0aGUgZW5jb2RlciBjb3VsZCBiZSBjb25maWd1cmVkIGJ1dCBmb3IKK3doaWNoIHRoZXJlIGlzIGxlc3MgYnkgd2F5IG9mIHNwZWNpZmljIG9wdGltaXphdGlvbnMgaW5jbHVkZToKKworIC0gPGI+RG93bmxvYWQgYW5kIFBsYXk8L2I+CisgLSA8Yj5EaXNrIFBsYXliYWNrPC9iPj4KKyAtIDxiPlN0b3JhZ2U8L2I+CisgLSA8Yj5FZGl0aW5nPC9iPgorIC0gPGI+QnJvYWRjYXN0IHZpZGVvPC9iPgorCitTcGVjaWZpYyB1c2UgY2FzZXMgbWF5IGhhdmUgcGFydGljdWxhciByZXF1aXJlbWVudHMgb3IgY29uc3RyYWludHMuIEZvciBleGFtcGxlOgorCis8Yj5WaWRlbyBDb25mZXJlbmNpbmc6PC9iPiAgSW4gYSB2aWRlbyBjb25mZXJlbmNlIHdlIG5lZWQgdG8gZW5jb2RlIHRoZSB2aWRlbworaW4gcmVhbCB0aW1lIGFuZCB0byBhdm9pZCBhbnkgY29kaW5nIHRvb2xzIHRoYXQgY291bGQgaW5jcmVhc2UgbGF0ZW5jeSwgc3VjaAorYXMgZnJhbWUgbG9vayBhaGVhZC4KKworPGI+TGl2ZSBTdHJlYW1zOjwvYj4gSW4gY2FzZXMgc3VjaCBhcyCTbGl2ZSBzdHJlYW1pbmcgb2YgZ2FtZXMgb3IgZXZlbnRzlCBpdAorbWF5IGJlIHBvc3NpYmxlIHRvIGFsbG93IHNvbWUgbGltaXRlZCBidWZmZXJpbmcgb2YgdGhlIHZpZGVvIGFuZCB1c2Ugb2YKK2xvb2thaGVhZCBjb2RpbmcgdG9vbHMgdG8gaW1wcm92ZSBlbmNvZGluZyBxdWFsaXR5LiBIb3dldmVyLCAgd2hpbHN0IGEgbGFnIG9mCithIHNlY29uZCBvciB0d28gbWF5IGJlIGZpbmUgZ2l2ZW4gdGhlIG9uZSB3YXkgbmF0dXJlIG9mIHRoaXMgdHlwZSBvZiB2aWRlbywKK2l0IGlzIGNsZWFybHkgbm90IHBvc3NpYmxlIHRvIHVzZSB0b29scyBzdWNoIGFzIHR3byBwYXNzIGNvZGluZy4KKworPGI+QnJvYWRjYXN0OjwvYj4gQnJvYWRjYXN0IHZpZGVvIChlLmcuIGRpZ2l0YWwgVFYgb3ZlciBzYXRlbGxpdGUpIG1heSBoYXZlCitzcGVjaWZpYyByZXF1aXJlbWVudHMgc3VjaCBhcyBmcmVxdWVudCBhbmQgcmVndWxhciBrZXkgZnJhbWVzIChlLmcuIG9uY2UgcGVyCitzZWNvbmQgb3IgbW9yZSkgYXMgdGhlc2UgYXJlIGltcG9ydGFudCBhcyBlbnRyeSBwb2ludHMgdG8gdXNlcnMgd2hlbiBzd2l0Y2hpbmcKK2NoYW5uZWxzLiBUaGVyZSBtYXkgYWxzbyBiZSAgc3RyaWN0IHVwcGVyIGxpbWl0cyBvbiBiYW5kd2lkdGggb3ZlciBhIHNob3J0Cit3aW5kb3cgb2YgdGltZS4KKworPGI+RG93bmxvYWQgYW5kIFBsYXk6PC9iPiBEb3dubG9hZCBhbmQgcGxheSBhcHBsaWNhdGlvbnMgbWF5IGhhdmUgbGVzcyBzdHJpY3QKK3JlcXVpcmVtZW50cyBpbiB0ZXJtcyBvZiBsb2NhbCBmcmFtZSBieSBmcmFtZSByYXRlIGNvbnRyb2wgYnV0IHRoZXJlIG1heSBiZSBhCityZXF1aXJlbWVudCB0byBhY2N1cmF0ZWx5IGhpdCBhIGZpbGUgc2l6ZSB0YXJnZXQgZm9yIHRoZSB2aWRlbyBjbGlwIGFzIGEKK3dob2xlLiBTaW1pbGFyIGNvbnNpZGVyYXRpb25zIG1heSBhcHBseSB0byBwbGF5YmFjayBmcm9tIG1hc3Mgc3RvcmFnZSBkZXZpY2VzCitzdWNoIGFzIERWRCBvciBkaXNrIGRyaXZlcy4KKworPGI+RWRpdGluZzo8L2I+IEluIGNlcnRhaW4gc3BlY2lhbCB1c2UgY2FzZXMgc3VjaCBhcyBvZmZsaW5lIGVkaXRpbmcsIGl0IG1heQorYmUgZGVzaXJhYmxlIHRvIGhhdmUgdmVyeSBoaWdoIHF1YWxpdHkgYW5kIGRhdGEgcmF0ZSBidXQgYWxzbyB2ZXJ5IGZyZXF1ZW50CitrZXkgZnJhbWVzIG9yIGluZGVlZCB0byBlbmNvZGUgdGhlIHZpZGVvIGV4Y2x1c2l2ZWx5IGFzIGtleSBmcmFtZXMuIExvc3NsZXNzCit2aWRlbyBlbmNvZGluZyBtYXkgYWxzbyBiZSByZXF1aXJlZCBpbiB0aGlzIHVzZSBjYXNlLgorCis8Yj5WT0QgLyBTdHJlYW1pbmc6PC9iPiBPbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IGFuZCBjb21tb24gdXNlIGNhc2VzIGZvciBBVjEKK2lzIHZpZGVvIG9uIGRlbWFuZCBvciBzdHJlYW1pbmcsIGZvciBzZXJ2aWNlcyBzdWNoIGFzIFlvdVR1YmUgYW5kIE5ldGZsaXguIEluCit0aGlzIHVzZSBjYXNlIGl0IGlzIHBvc3NpYmxlIHRvIGRvIHR3byBvciBldmVuIG11bHRpLXBhc3MgZW5jb2RpbmcgdG8gaW1wcm92ZQorY29tcHJlc3Npb24gZWZmaWNpZW5jeS4gU3RyZWFtaW5nIHNlcnZpY2VzIHdpbGwgb2Z0ZW4gc3RvcmUgbWFueSBlbmNvZGVkCitjb3BpZXMgb2YgYSB2aWRlbyBhdCBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgYW5kIGRhdGEgcmF0ZXMgdG8gc3VwcG9ydCB1c2Vycword2l0aCBkaWZmZXJlbnQgdHlwZXMgb2YgcGxheWJhY2sgZGV2aWNlIGFuZCBiYW5kd2lkdGggbGltaXRhdGlvbnMuCitGdXJ0aGVybW9yZSwgdGhlc2Ugc2VydmljZXMgc3VwcG9ydCBkeW5hbWljIHN3aXRjaGluZyBiZXR3ZWVuIG11bHRpcGxlCitzdHJlYW1zLCBzbyB0aGF0IHRoZXkgY2FuIHJlc3BvbmQgdG8gY2hhbmdpbmcgbmV0d29yayBjb25kaXRpb25zLgorCitFeGFjdCByYXRlIGNvbnRyb2wgd2hlbiBlbmNvZGluZyBmb3IgYSBzcGVjaWZpYyBmb3JtYXQgKGUuZyAzNjBQIG9yIDEwODBQIG9uCitZb3VUdWJlKSBtYXkgbm90IGJlIGNyaXRpY2FsLCBwcm92aWRlZCB0aGF0IHRoZSB2aWRlbyBiYW5kd2lkdGggcmVtYWlucyB3aXRoaW4KK2FsbG93ZWQgbGltaXRzLiBXaGlsc3QgYSBmb3JtYXQgbWF5IGhhdmUgYSBub21pbmFsIHRhcmdldCBkYXRhIHJhdGUsIHRoaXMgY2FuCitiZSBjb25zaWRlcmVkIG1vcmUgYXMgdGhlIGRlc2lyZWQgYXZlcmFnZSBlZ3Jlc3MgcmF0ZSBvdmVyIHRoZSB2aWRlbyBjb3JwdXMKK3JhdGhlciB0aGFuIGEgc3RyaWN0IHJlcXVpcmVtZW50IGZvciBhbnkgaW5kaXZpZHVhbCBjbGlwLiBJbmRlZWQsIGluIG9yZGVyCit0byBtYWludGFpbiBvcHRpbWFsIHF1YWxpdHkgb2YgZXhwZXJpZW5jZSBmb3IgdGhlIGVuZCB1c2VyLCBpdCBtYXkgYmUKK2Rlc2lyYWJsZSB0byBlbmNvZGUgc29tZSBlYXNpZXIgdmlkZW9zIG9yIHNlY3Rpb25zIG9mIHZpZGVvIGF0IGEgbG93ZXIgZGF0YQorcmF0ZSBhbmQgaGFyZGVyIHZpZGVvcyBvciBzZWN0aW9ucyBhdCBhIGhpZ2hlciByYXRlLgorCitWT0QgLyBzdHJlYW1pbmcgZG9lcyBub3QgdXN1YWxseSByZXF1aXJlIHZlcnkgZnJlcXVlbnQga2V5IGZyYW1lcyAoYXMgaW4gdGhlCiticm9hZGNhc3QgY2FzZSkgYnV0IGtleSBmcmFtZXMgYXJlIGltcG9ydGFudCBpbiB0cmljayBwbGF5IChzY2FubmluZyBiYWNrIGFuZAorZm9ydGggdG8gZGlmZmVyZW50IHBvaW50cyBpbiBhIHZpZGVvKSBhbmQgZm9yIGFkYXB0aXZlIHN0cmVhbSBzd2l0Y2hpbmcuIEFzCitzdWNoLCBpbiBhIHVzZSBjYXNlIGxpa2UgWW91VHViZSwgdGhlcmUgaXMgbm9ybWFsbHkgYW4gdXBwZXIgbGltaXQgb24gdGhlCittYXhpbXVtIHRpbWUgYmV0d2VlbiBrZXkgZnJhbWVzIG9mIGEgZmV3IHNlY29uZHMsIGJ1dCB3aXRoaW4gY2VydGFpbiBsaW1pdHMKK3RoZSBlbmNvZGVyIGNhbiB0cnkgdG8gYWxpZ24ga2V5IGZyYW1lcyB3aXRoIHJlYWwgc2NlbmUgY3V0cy4KKworV2hpbHN0IGVuY29kZXIgc3BlZWQgbWF5IG5vdCBzZWVtIHRvIGJlIGFzIGNyaXRpY2FsIGluIHRoaXMgdXNlIGNhc2UsIGZvcgorc2VydmljZXMgc3VjaCBhcyBZb3VUdWJlLCB3aGVyZSBtaWxsaW9ucyBvZiBuZXcgdmlkZW9zIGhhdmUgdG8gYmUgZW5jb2RlZAorZXZlcnkgZGF5LCBlbmNvZGVyIHNwZWVkIGlzIHN0aWxsIGltcG9ydGFudCwgc28gbGliYW9tIGFsbG93cyBjb21tYW5kIGxpbmUKK2NvbnRyb2wgb2YgdGhlIGVuY29kZSBzcGVlZCB2cyBxdWFsaXR5IHRyYWRlIG9mZi4KKworPGI+Rml4ZWQgUXVhbGl0eSAvIFRlc3RpbmcgTW9kZTo8L2I+IExpYmFvbSBhbHNvIGhhcyBhIGZpeGVkIHF1YWxpdHkgZW5jb2RlcgorcGF0aHdheSBkZXNpZ25lZCBmb3IgdGVzdGluZyB1bmRlciBoaWdobHkgY29uc3RyYWluZWQgY29uZGl0aW9ucy4KKwogCiBcc2VjdGlvbiBhcmNoaXRlY3R1cmVfZW5jX3JhdGVfY3RybCBSYXRlIENvbnRyb2wKIAo=