From: Dmitry Shulga Date: June 10 2011 7:03am Subject: bzr push into mysql-5.1 branch (Dmitry.Shulga:3642 to 3643) Bug#45235 Bug#11753738 List-Archive: http://lists.mysql.com/commits/139022 X-Bug: 45235,11753738 Message-Id: <201106100703.p5A73xPq001576@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1225184892115844914==" --===============1225184892115844914== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDM2NDMgRG1pdHJ5IFNodWxnYQkyMDExLTA2LTEwCiAgICAgIEZpeGVkIGJ1ZyMxMTc1MzczOCAo Zm9ybWVseSBrbm93biBhcyBidWcjNDUyMzUpIC0gNS4xIERPRVMgTk9UIFNVUFBPUlQgNS4wLU9O TFkKICAgICAgU1lOVEFYIFRSSUdHRVJTIElOIEFOWSBXQVkKICAgICAgCiAgICAgIFRhYmxlIHdp dGggdHJpZ2dlcnMgd2hpY2ggd2VyZSB1c2luZyBkZXByZWNhdGVkICg1LjAtb25seSkgc3ludGF4 IGJlY2FtZQogICAgICB1bmF2YWlsYWJsZSBmb3IgYW55IERNTCBhbmQgRERMIGFmdGVyIHVwZ3Jh ZGUgdG8gNS4xIHZlcnNpb24gb2Ygc2VydmVyLgogICAgICBBdHRlbXB0IHRvIGV4ZWN1dGUgYW55 IHN0YXRlbWVudCBvbiBzdWNoIGEgdGFibGUgcmVzdWx0ZWQgaW4gcGFyc2luZwogICAgICBlcnJv ciByZXBvcnRlZC4gU2luY2UgdGhpcyBpbmNsdWRlZCBEUk9QIFRSSUdHRVIgYW5kIERST1AgVEFC TEUKICAgICAgc3RhdGVtZW50cyAoYWN0dWFsbHksIHRoZSBsYXR0ZXIgd2FzIGFsbG93ZWQgYnV0 IHdhcyBub3QgZnVuY3Rpb25pbmcKICAgICAgcHJvcGVybHkgZm9yIHN1Y2ggdGFibGVzKSBpdCB3 YXMgaW1wb3NzaWJsZSB0byBmaXggdGhlIHByb2JsZW0gd2l0aG91dAogICAgICBtYW51YWwgb3Bl cmF0aW9ucyBvbiAuVFJHIGFuZCAuVFJOIGZpbGVzIGluIGRhdGEgZGlyZWN0b3J5LgogICAgICAK ICAgICAgVGhlIHByb2JsZW0gd2FzIHRoYXQgZmFpbHVyZSB0byBwYXJzZSB0cmlnZ2VyIGJvZHkg KGR1ZSB0byA1LjAtb25seQogICAgICBzeW50YXgpIHdoZW4gb3BlbmluZyB0cmlnZ2VyIGZpbGUg Zm9yIGEgdGFibGUgcHJldmVudGVkIHRoZSB0YWJsZQogICAgICBmcm9tIGJlaW5nIG9wZW4uIFRo aXMgbWFkZSBhbGwgb3BlcmF0aW9ucyBvbiB0aGUgdGFibGUgaW1wb3NzaWJsZQogICAgICAoZXhj ZXB0IERST1AgVEFCTEUgd2hpY2ggZHVlIHRvIHBlY3VsaWFyaXR5IGluIGl0cyBpbXBsZW1lbnRh dGlvbgogICAgICBkcm9wcGVkIHRoZSB0YWJsZSBidXQgbGVmdCB0cmlnZ2VyIGZpbGVzIGFyb3Vu ZCkuCiAgICAgIAogICAgICBUaGlzIHBhdGNoIHNvbHZlcyB0aGlzIHByb2JsZW0gYnkgc2lsZW5j aW5nIGVycm9yIHdoaWNoIG9jY3VycyB3aGVuCiAgICAgIHdlIHBhcnNlIHRyaWdnZXIgYm9keSBk dXJpbmcgdGFibGUgb3Blbi4gRXJyb3IgbWVzc2FnZSBpcyBwcmVzZXJ2ZWQKICAgICAgZm9yIHRo ZSBmdXR1cmUgdXNlIGFuZCB0YWJsZSBpcyBtYXJrZWQgYXMgaGF2aW5nIGEgYnJva2VuIHRyaWdn ZXIuCiAgICAgIFdlIGFsc28gdHJ5IHRvIGFuYWx5emUgcGFyc2UgdHJlZSB0byByZWNvdmVyIHRy aWdnZXIgbmFtZSwgd2hpY2gKICAgICAgd2lsbCBiZSBuZWVkZWQgaW4gb3JkZXIgdG8gZHJvcCB0 aGUgYnJva2VuIHRyaWdnZXIuIERNTCBzdGF0ZW1lbnRzCiAgICAgIHdoaWNoIGludm9rZSB0cmln Z2VycyBvbiB0aGUgdGFibGUgbWFya2VkIGFzIGhhdmluZyBicm9rZW4gdHJpZ2dlcgogICAgICBh cmUgcHJvaGliaXRlZCBhbmQgZW1pdCBzYXZlZCBlcnJvciBtZXNzYWdlLiBUaGUgc2FtZSBoYXBw ZW5zIGZvcgogICAgICBEREwgd2hpY2ggY2hhbmdlIHRyaWdnZXJzIGV4Y2VwdCBEUk9QIFRSSUdH RVIgYW5kIERST1AgVEFCTEUgd2hpY2gKICAgICAgdHJ5IHRoZWlyIGJlc3QgdG8gZG8gd2hhdCB3 YXMgcmVxdWVzdGVkLiBUYWJsZSBiZWNvbWVzIG5vIGxvbmdlcgogICAgICBtYXJrZWQgYXMgaGF2 aW5nIGJyb2tlbiB0cmlnZ2VyIHdoZW4gbGFzdCBzdWNoIHRyaWdnZXIgaXMgZHJvcHBlZC4KICAg ICBAIG15c3FsLXRlc3Qvci90cmlnZ2VyLWNvbXBhdC5yZXN1bHQKICAgICAgICBBZGQgcmVzdWx0 cyBmb3IgdGVzdCBjYXNlIGZvciBidWcjNDUyMzUKICAgICBAIG15c3FsLXRlc3QvdC90cmlnZ2Vy LWNvbXBhdC50ZXN0CiAgICAgICAgQWRkIHRlc3QgY2FzZSBmb3IgYnVnIzQ1MjM1LgogICAgIEAg c3FsL3NwX2hlYWQuY2MKICAgICAgICBBZGRlZCBwcm90ZWN0aW9uIGFnYWluc3QgTUVNX1JPT1Qg ZG91YmxlIHJlc3RvcmluZyB0bwogICAgICAgIHNwX2hlYWQ6OnJlc3RvcmVfdGhkX21lbV9yb290 KCkgbWV0aG9kLiBTaW5jZSB0aGlzCiAgICAgICAgbWV0aG9kIGNhbiBiZSBzb21ldGltZXMgY2Fs bGVkIHR3aWNlIGR1cmluZyBwYXJzaW5nCiAgICAgICAgb2Ygc3RvcmVkIHJvdXRpbmUgKHRoZSBm aXJzdCB0aW1lIGR1cmluZyBub3JtYWwgZmxvdwogICAgICAgIG9mIHBhcnNpbmcsIGFuZCB0aGUg c2Vjb25kIHRpbWUgd2hlbiBhIHN5bnRheCBlcnJvcgogICAgICAgIGlzIGRldGVjdGVkKSB3ZSBu ZWVkIHRvIHNob3J0Y3V0IGV4ZWN1dGlvbiBvZiB0aGUKICAgICAgICBtZXRob2QgdG8gYXZvaWQg ZGFtYWdpbmcgTUVNX1JPT1QgYnkgdGhlIHNlY29uZAogICAgICAgIGNvbnNlY3V0aXZlIGNhbGwg dG8gdGhpcyBtZXRob2QuCiAgICAgQCBzcWwvc3FsX3RyaWdnZXIuY2MKICAgICAgICBBZGRlZCBl cnJvciBoYW5kbGVyIERlcHJlY2F0ZWRfdHJpZ2dlcl9zeW50YXhfaGFuZGxlciB0byAKICAgICAg ICBjYXRjaCBub24tT09NIGVycm9ycyBkdXJpbmcgcGFyc2luZyBvZiB0cmlnZ2VyIGJvZHkuCiAg ICAgICAgCiAgICAgICAgQWRkZWQgaGFuZGxpbmcgb2YgcGFyc2UgZXJyb3JzIGludG8gbWV0aG9k IAogICAgICAgIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNoZWNrX25fbG9hZCgpLgogICAgIEAgc3Fs L3NxbF90cmlnZ2VyLmgKICAgICAgICBBZGRlZCBuZXcgbWVtYmVycyB0byBoYW5kbGUgYnJva2Vu IHRyaWdnZXJzIGFuZCBlcnJvciBtZXNzYWdlcy4KCiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwt dGVzdC9yL3RyaWdnZXItY29tcGF0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvdHJpZ2dlci5y ZXN1bHQKICAgICAgbXlzcWwtdGVzdC90L3RyaWdnZXItY29tcGF0LnRlc3QKICAgICAgc3FsL3Nw X2hlYWQuY2MKICAgICAgc3FsL3NxbF9wYXJzZS5jYwogICAgICBzcWwvc3FsX3RyaWdnZXIuY2MK ICAgICAgc3FsL3NxbF90cmlnZ2VyLmgKIDM2NDIgTWFya28gTcOka2Vsw6QJMjAxMS0wNi0wOQog ICAgICBEaXNhYmxlIGEgZGVidWcgYXNzZXJ0aW9uIHRoYXQgd2FzIGFkZGVkIHRvIHRyYWNrIGRv d24gQnVnIzEyNjEyMTg0LgogICAgICAKICAgICAgcm93X2J1aWxkKCk6IFRoZSByZWNvcmQgbWF5 IGNvbnRhaW4gbnVsbCBCTE9CIHBvaW50ZXJzIHdoZW4gdGhlIHNlcnZlcgogICAgICBpcyByb2xs aW5nIGJhY2sgYW4gaW5zZXJ0IHRoYXQgd2FzIGludGVycnVwdGVkIGJ5IGEgc2VydmVyIGNyYXNo LgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcm93LmMKICAg ICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Jvdy9yb3cwcm93LmMKPT09IG1vZGlmaWVkIGZpbGUg J215c3FsLXRlc3Qvci90cmlnZ2VyLWNvbXBhdC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci90 cmlnZ2VyLWNvbXBhdC5yZXN1bHQJMjAwOS0wMi0xOSAyMzoyNDoyNSArMDAwMAorKysgYi9teXNx bC10ZXN0L3IvdHJpZ2dlci1jb21wYXQucmVzdWx0CTIwMTEtMDYtMTAgMDM6NTI6MzkgKzAwMDAK QEAgLTQzLDMgKzQzLDEwMSBAQCBEUk9QIFRBQkxFIHQyOwogRFJPUCBVU0VSIG15c3FsdGVzdF9k Zm5AbG9jYWxob3N0OwogRFJPUCBVU0VSIG15c3FsdGVzdF9pbnZAbG9jYWxob3N0OwogRFJPUCBE QVRBQkFTRSBteXNxbHRlc3RfZGIxOworVVNFIHRlc3Q7CisjCisjIEJ1ZyM0NTIzNTogNS4xIGRv ZXMgbm90IHN1cHBvcnQgNS4wLW9ubHkgc3ludGF4IHRyaWdnZXJzIGluIGFueSB3YXkKKyMKK0RS T1AgVEFCTEUgSUYgRVhJU1RTIHQxLCB0MiwgdDM7CitDUkVBVEUgVEFCTEUgdDEgKCBhIElOVCAp OworQ1JFQVRFIFRBQkxFIHQyICggYSBJTlQgKTsKK0NSRUFURSBUQUJMRSB0MyAoIGEgSU5UICk7 CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEpLCAoMiksICgzKTsKK0lOU0VSVCBJTlRPIHQyIFZB TFVFUyAoMSksICgyKSwgKDMpOworSU5TRVJUIElOVE8gdDMgVkFMVUVTICgxKSwgKDIpLCAoMyk7 CisjIFdlIHNpbXVsYXRlIGltcG9ydGluZyBhIHRyaWdnZXIgZnJvbSA1LjAgYnkgd3JpdGluZyBh IC5UUk4gZmlsZSBmb3IKKyMgZWFjaCB0cmlnZ2VyIHBsdXMgYSAuVFJHIGZpbGUgdGhlIHdheSBN eVNRTCA1LjAgd291bGQgaGF2ZSBkb25lIGl0LCAKKyMgd2l0aCBzeW50YXggYWxsb3dlZCBpbiA1 LjAgb25seS4KKyMKKyMgTm90ZSB0aGF0IGluIDUuMCB0aGUgZm9sbG93aW5nIGxpbmVzIGFyZSBt aXNzaW5nIGZyb20gdDEuVFJHOgorIworIyBjbGllbnRfY3NfbmFtZXM9J2xhdGluMScKKyMgY29u bmVjdGlvbl9jbF9uYW1lcz0nbGF0aW4xX3N3ZWRpc2hfY2knCisjIGRiX2NsX25hbWVzPSdsYXRp bjFfc3dlZGlzaF9jaScKKyMgV2Ugd2lsbCBnZXQgcGFyc2UgZXJyb3JzIGZvciBtb3N0IERETCBh bmQgRE1MIHN0YXRlbWVudHMgd2hlbiB0aGUgdGFibGUKKyMgaGFzIGJyb2tlbiB0cmlnZ2Vycy4g VGhlIHBhcnNlIGVycm9yIHJlZmVycyB0byB0aGUgZmlyc3QgYnJva2VuIAorIyB0cmlnZ2VyLgor Q1JFQVRFIFRSSUdHRVIgdHIxNiBBRlRFUiBVUERBVEUgT04gdDEgRk9SIEVBQ0ggUk9XIElOU0VS VCBJTlRPIHQxIFZBTFVFUyAoMSk7CitFUlJPUiA0MjAwMDogVHJpZ2dlciAndHIxMycgaGFzIGFu IGVycm9yIGluIGl0cyBib2R5OiAnWW91IGhhdmUgYW4gZXJyb3IgaW4geW91ciBTUUwgc3ludGF4 OyBjaGVjayB0aGUgbWFudWFsIHRoYXQgY29ycmVzcG9uZHMgdG8geW91ciBNeVNRTCBzZXJ2ZXIg dmVyc2lvbiBmb3IgdGhlIHJpZ2h0IHN5bnRheCB0byB1c2UgbmVhciAnYSBVU0lORyB0MSBhJyBh dCBsaW5lIDEnCitDUkVBVEUgVFJJR0dFUiB0cjIyIEJFRk9SRSBJTlNFUlQgT04gdDIgRk9SIEVB Q0ggUk9XIERFTEVURSBGUk9NIG5vbl9leGlzdGluZ190YWJsZTsKK0VSUk9SIDQyMDAwOiBVbmtu b3duIHRyaWdnZXIgaGFzIGFuIGVycm9yIGluIGl0cyBib2R5OiAnWW91IGhhdmUgYW4gZXJyb3Ig aW4geW91ciBTUUwgc3ludGF4OyBjaGVjayB0aGUgbWFudWFsIHRoYXQgY29ycmVzcG9uZHMgdG8g eW91ciBNeVNRTCBzZXJ2ZXIgdmVyc2lvbiBmb3IgdGhlIHJpZ2h0IHN5bnRheCB0byB1c2UgbmVh ciAnTm90IGFsbG93ZWQgc3ludGF4IGhlcmUsIGFuZCB0cmlnZ2VyIG5hbWUgY2FudCBiZSBleHRy YWN0ZWQgZWl0aGVyLicgYXQgbGluZSAxJworU0hPVyBUUklHR0VSUzsKK1RyaWdnZXIJRXZlbnQJ VGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVhdGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVy X3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5lY3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cjEx CUlOU0VSVAl0MQlERUxFVEUgRlJPTSB0MwlCRUZPUkUJTlVMTAkJcm9vdEBsb2NhbGhvc3QJbGF0 aW4xCWxhdGluMV9zd2VkaXNoX2NpCWxhdGluMV9zd2VkaXNoX2NpCit0cjEyCUlOU0VSVAl0MQlE RUxFVEUgRlJPTSB0MwlBRlRFUglOVUxMCQlyb290QGxvY2FsaG9zdAlsYXRpbjEJbGF0aW4xX3N3 ZWRpc2hfY2kJbGF0aW4xX3N3ZWRpc2hfY2kKK3RyMTQJREVMRVRFCXQxCURFTEVURSBGUk9NIG5v bl9leGlzdGluZ190YWJsZQlBRlRFUglOVUxMCQlyb290QGxvY2FsaG9zdAlsYXRpbjEJbGF0aW4x X3N3ZWRpc2hfY2kJbGF0aW4xX3N3ZWRpc2hfY2kKK1dhcm5pbmdzOgorV2FybmluZwkxNjAzCVRy aWdnZXJzIGZvciB0YWJsZSBgdGVzdGAuYHQxYCBoYXZlIG5vIGNyZWF0aW9uIGNvbnRleHQKK1dh cm5pbmcJMTYwMwlUcmlnZ2VycyBmb3IgdGFibGUgYHRlc3RgLmB0MmAgaGF2ZSBubyBjcmVhdGlv biBjb250ZXh0CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEpOworRVJST1IgNDIwMDA6IFRyaWdn ZXIgJ3RyMTMnIGhhcyBhbiBlcnJvciBpbiBpdHMgYm9keTogJ1lvdSBoYXZlIGFuIGVycm9yIGlu IHlvdXIgU1FMIHN5bnRheDsgY2hlY2sgdGhlIG1hbnVhbCB0aGF0IGNvcnJlc3BvbmRzIHRvIHlv dXIgTXlTUUwgc2VydmVyIHZlcnNpb24gZm9yIHRoZSByaWdodCBzeW50YXggdG8gdXNlIG5lYXIg J2EgVVNJTkcgdDEgYScgYXQgbGluZSAxJworSU5TRVJUIElOVE8gdDIgVkFMVUVTICgxKTsKK0VS Uk9SIDQyMDAwOiBVbmtub3duIHRyaWdnZXIgaGFzIGFuIGVycm9yIGluIGl0cyBib2R5OiAnWW91 IGhhdmUgYW4gZXJyb3IgaW4geW91ciBTUUwgc3ludGF4OyBjaGVjayB0aGUgbWFudWFsIHRoYXQg Y29ycmVzcG9uZHMgdG8geW91ciBNeVNRTCBzZXJ2ZXIgdmVyc2lvbiBmb3IgdGhlIHJpZ2h0IHN5 bnRheCB0byB1c2UgbmVhciAnTm90IGFsbG93ZWQgc3ludGF4IGhlcmUsIGFuZCB0cmlnZ2VyIG5h bWUgY2FudCBiZSBleHRyYWN0ZWQgZWl0aGVyLicgYXQgbGluZSAxJworREVMRVRFIEZST00gdDE7 CitFUlJPUiA0MjAwMDogVHJpZ2dlciAndHIxMycgaGFzIGFuIGVycm9yIGluIGl0cyBib2R5OiAn WW91IGhhdmUgYW4gZXJyb3IgaW4geW91ciBTUUwgc3ludGF4OyBjaGVjayB0aGUgbWFudWFsIHRo YXQgY29ycmVzcG9uZHMgdG8geW91ciBNeVNRTCBzZXJ2ZXIgdmVyc2lvbiBmb3IgdGhlIHJpZ2h0 IHN5bnRheCB0byB1c2UgbmVhciAnYSBVU0lORyB0MSBhJyBhdCBsaW5lIDEnCitVUERBVEUgdDEg U0VUIGEgPSAxIFdIRVJFIGEgPSAxOworRVJST1IgNDIwMDA6IFRyaWdnZXIgJ3RyMTMnIGhhcyBh biBlcnJvciBpbiBpdHMgYm9keTogJ1lvdSBoYXZlIGFuIGVycm9yIGluIHlvdXIgU1FMIHN5bnRh eDsgY2hlY2sgdGhlIG1hbnVhbCB0aGF0IGNvcnJlc3BvbmRzIHRvIHlvdXIgTXlTUUwgc2VydmVy IHZlcnNpb24gZm9yIHRoZSByaWdodCBzeW50YXggdG8gdXNlIG5lYXIgJ2EgVVNJTkcgdDEgYScg YXQgbGluZSAxJworU0VMRUNUICogRlJPTSB0MTsKK2EKKzEKKzIKKzMKK1JFTkFNRSBUQUJMRSB0 MSBUTyB0MV8yOworRVJST1IgNDIwMDA6IFRyaWdnZXIgJ3RyMTMnIGhhcyBhbiBlcnJvciBpbiBp dHMgYm9keTogJ1lvdSBoYXZlIGFuIGVycm9yIGluIHlvdXIgU1FMIHN5bnRheDsgY2hlY2sgdGhl IG1hbnVhbCB0aGF0IGNvcnJlc3BvbmRzIHRvIHlvdXIgTXlTUUwgc2VydmVyIHZlcnNpb24gZm9y IHRoZSByaWdodCBzeW50YXggdG8gdXNlIG5lYXIgJ2EgVVNJTkcgdDEgYScgYXQgbGluZSAxJwor U0hPVyBUUklHR0VSUzsKK1RyaWdnZXIJRXZlbnQJVGFibGUJU3RhdGVtZW50CVRpbWluZwlDcmVh dGVkCXNxbF9tb2RlCURlZmluZXIJY2hhcmFjdGVyX3NldF9jbGllbnQJY29sbGF0aW9uX2Nvbm5l Y3Rpb24JRGF0YWJhc2UgQ29sbGF0aW9uCit0cjExCUlOU0VSVAl0MQlERUxFVEUgRlJPTSB0MwlC RUZPUkUJTlVMTAkJcm9vdEBsb2NhbGhvc3QJbGF0aW4xCWxhdGluMV9zd2VkaXNoX2NpCWxhdGlu MV9zd2VkaXNoX2NpCit0cjEyCUlOU0VSVAl0MQlERUxFVEUgRlJPTSB0MwlBRlRFUglOVUxMCQly b290QGxvY2FsaG9zdAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kJbGF0aW4xX3N3ZWRpc2hfY2kK K3RyMTQJREVMRVRFCXQxCURFTEVURSBGUk9NIG5vbl9leGlzdGluZ190YWJsZQlBRlRFUglOVUxM CQlyb290QGxvY2FsaG9zdAlsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kJbGF0aW4xX3N3ZWRpc2hf Y2kKK1dhcm5pbmdzOgorV2FybmluZwkxNjAzCVRyaWdnZXJzIGZvciB0YWJsZSBgdGVzdGAuYHQx YCBoYXZlIG5vIGNyZWF0aW9uIGNvbnRleHQKK0RST1AgVFJJR0dFUiB0cjExOworV2FybmluZ3M6 CitXYXJuaW5nCTE2MDMJVHJpZ2dlcnMgZm9yIHRhYmxlIGB0ZXN0YC5gdDFgIGhhdmUgbm8gY3Jl YXRpb24gY29udGV4dAorRFJPUCBUUklHR0VSIHRyMTI7CitEUk9QIFRSSUdHRVIgdHIxMzsKK0RS T1AgVFJJR0dFUiB0cjE0OworRFJPUCBUUklHR0VSIHRyMTU7CitTSE9XIFRSSUdHRVJTOworVHJp Z2dlcglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5l cgljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xs YXRpb24KKyMgTWFrZSBzdXJlIHRoZXJlIGlzIG5vIHRyaWdnZXIgZmlsZSBsZWZ0LgorIyBXZSB3 cml0ZSB0aGUgc2FtZSB0cmlnZ2VyIGZpbGVzIG9uZSBtb3JlIHRpbWUgdG8gdGVzdCBEUk9QIFRB QkxFLgorRFJPUCBUQUJMRSB0MTsKK1dhcm5pbmdzOgorV2FybmluZwkxNjAzCVRyaWdnZXJzIGZv ciB0YWJsZSBgdGVzdGAuYHQxYCBoYXZlIG5vIGNyZWF0aW9uIGNvbnRleHQKK0RST1AgVEFCTEUg dDI7CitXYXJuaW5nczoKK1dhcm5pbmcJMTYwMwlUcmlnZ2VycyBmb3IgdGFibGUgYHRlc3RgLmB0 MmAgaGF2ZSBubyBjcmVhdGlvbiBjb250ZXh0CitEUk9QIFRBQkxFIHQzOworIyBNYWtlIHN1cmUg dGhlcmUgaXMgbm8gdHJpZ2dlciBmaWxlIGxlZnQuCitDUkVBVEUgVEFCTEUgdDEgKCBhIElOVCAp OworQ1JFQVRFIFRBQkxFIHQyICggYSBJTlQgKTsKK0lOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSks ICgyKSwgKDMpOworSU5TRVJUIElOVE8gdDIgVkFMVUVTICgxKSwgKDIpLCAoMyk7CisjIFdlIHdy aXRlIHRocmVlIHRyaWdnZXIgZmlsZXMuIEZpcnN0IHRyaWdnZXIgaXMgc3ludGF4aWNhbGx5IGlu Y29ycmVjdCwgbmV4dCB0cmlnZ2VyIGlzIGNvcnJlY3QKKyMgYW5kIGxhc3QgdHJpZ2dlciBpcyBi cm9rZW4uCisjIE5leHQgd2UgdHJ5IHRvIGV4ZWN1dGUgU0hPVyBDUkVBVEUgVFJHR0lSIGNvbW1h bmQgZm9yIGJyb2tlbiB0cmlnZ2VyIGFuZCB0aGVuIHRyeSB0byBkcm9wIG9uZS4KK0ZMVVNIIFRB QkxFIHQxOworU0hPVyBDUkVBVEUgVFJJR0dFUiB0cjEyOworVHJpZ2dlcglzcWxfbW9kZQlTUUwg T3JpZ2luYWwgU3RhdGVtZW50CWNoYXJhY3Rlcl9zZXRfY2xpZW50CWNvbGxhdGlvbl9jb25uZWN0 aW9uCURhdGFiYXNlIENvbGxhdGlvbgordHIxMgkJQ1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2Nh bGhvc3RgIFRSSUdHRVIgdHIxMiBCRUZPUkUgSU5TRVJUIE9OIHQxIEZPUiBFQUNIIFJPVyBERUxF VEUgRlJPTSB0MglsYXRpbjEJbGF0aW4xX3N3ZWRpc2hfY2kJbGF0aW4xX3N3ZWRpc2hfY2kKK1dh cm5pbmdzOgorV2FybmluZwkxNjAzCVRyaWdnZXJzIGZvciB0YWJsZSBgdGVzdGAuYHQxYCBoYXZl IG5vIGNyZWF0aW9uIGNvbnRleHQKK1NIT1cgQ1JFQVRFIFRSSUdHRVIgdHIxMTsKK1RyaWdnZXIJ c3FsX21vZGUJU1FMIE9yaWdpbmFsIFN0YXRlbWVudAljaGFyYWN0ZXJfc2V0X2NsaWVudAljb2xs YXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRpb24KK3RyMTEJCUNSRUFURSBERUZJTkVS PWByb290YEBgbG9jYWxob3N0YCBUUklHR0VSIHRyMTEgQkVGT1JFIERFTEVURSBPTiB0MSBGT1Ig RUFDSCBST1cgREVMRVRFIEZST00gdDEgYSBVU0lORyB0MSBhCWxhdGluMQlsYXRpbjFfc3dlZGlz aF9jaQlsYXRpbjFfc3dlZGlzaF9jaQorRFJPUCBUUklHR0VSIHRyMTI7CitXYXJuaW5nczoKK1dh cm5pbmcJMTYwMwlUcmlnZ2VycyBmb3IgdGFibGUgYHRlc3RgLmB0MWAgaGF2ZSBubyBjcmVhdGlv biBjb250ZXh0CitEUk9QIFRSSUdHRVIgdHIxMTsKK0RST1AgVEFCTEUgdDE7CitEUk9QIFRBQkxF IHQyOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci90cmlnZ2VyLnJlc3VsdCcKLS0t IGEvbXlzcWwtdGVzdC9yL3RyaWdnZXIucmVzdWx0CTIwMTAtMDgtMTggMDQ6NTY6MDYgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC9yL3RyaWdnZXIucmVzdWx0CTIwMTEtMDYtMTAgMDM6NTI6MzkgKzAw MDAKQEAgLTIxMzQsMTAgKzIxMzQsOCBAQCBDUkVBVEUgVFJJR0dFUiB0cmcxIEJFRk9SRSBJTlNF UlQgT04gdDIgCiAjIFVzZWQgdG8gY3Jhc2gKIFNIT1cgVFJJR0dFUlMgSU4gZGIxOwogVHJpZ2dl cglFdmVudAlUYWJsZQlTdGF0ZW1lbnQJVGltaW5nCUNyZWF0ZWQJc3FsX21vZGUJRGVmaW5lcglj aGFyYWN0ZXJfc2V0X2NsaWVudAljb2xsYXRpb25fY29ubmVjdGlvbglEYXRhYmFzZSBDb2xsYXRp b24KLVdhcm5pbmdzOgotV2FybmluZwkxMDY0CVlvdSBoYXZlIGFuIGVycm9yIGluIHlvdXIgU1FM IHN5bnRheDsgY2hlY2sgdGhlIG1hbnVhbCB0aGF0IGNvcnJlc3BvbmRzIHRvIHlvdXIgTXlTUUwg c2VydmVyIHZlcnNpb24gZm9yIHRoZSByaWdodCBzeW50YXggdG8gdXNlIG5lYXIgJ1ZBTFVFUyAo MSknIGF0IGxpbmUgMQogSU5TRVJUIElOVE8gdDIgVkFMVUVTICgxKTsKLUVSUk9SIDQyMDAwOiBZ b3UgaGF2ZSBhbiBlcnJvciBpbiB5b3VyIFNRTCBzeW50YXg7IGNoZWNrIHRoZSBtYW51YWwgdGhh dCBjb3JyZXNwb25kcyB0byB5b3VyIE15U1FMIHNlcnZlciB2ZXJzaW9uIGZvciB0aGUgcmlnaHQg c3ludGF4IHRvIHVzZSBuZWFyICdWQUxVRVMgKDEpJyBhdCBsaW5lIDEKK0VSUk9SIDQyMDAwOiBU cmlnZ2VyICd0cmcxJyBoYXMgYW4gZXJyb3IgaW4gaXRzIGJvZHk6ICdZb3UgaGF2ZSBhbiBlcnJv ciBpbiB5b3VyIFNRTCBzeW50YXg7IGNoZWNrIHRoZSBtYW51YWwgdGhhdCBjb3JyZXNwb25kcyB0 byB5b3VyIE15U1FMIHNlcnZlciB2ZXJzaW9uIGZvciB0aGUgcmlnaHQgc3ludGF4IHRvIHVzZSBu ZWFyICdWQUxVRVMgKDEpJyBhdCBsaW5lIDEnCiBTRUxFQ1QgKiBGUk9NIHQxOwogYgogIyBXb3Jr IGFyb3VuZCBCdWcjNDUyMzUKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvdHJpZ2dl ci1jb21wYXQudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3RyaWdnZXItY29tcGF0LnRlc3QJMjAw OS0wMi0xOSAyMzoyNDoyNSArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvdHJpZ2dlci1jb21wYXQu dGVzdAkyMDExLTA2LTEwIDAzOjUyOjM5ICswMDAwCkBAIC0xMDYsNCArMTA2LDE3OCBAQCBEUk9Q IFRBQkxFIHQyOwogRFJPUCBVU0VSIG15c3FsdGVzdF9kZm5AbG9jYWxob3N0OwogRFJPUCBVU0VS IG15c3FsdGVzdF9pbnZAbG9jYWxob3N0OwogRFJPUCBEQVRBQkFTRSBteXNxbHRlc3RfZGIxOwor VVNFIHRlc3Q7CiAKKworLS1lY2hvICMKKy0tZWNobyAjIEJ1ZyM0NTIzNTogNS4xIGRvZXMgbm90 IHN1cHBvcnQgNS4wLW9ubHkgc3ludGF4IHRyaWdnZXJzIGluIGFueSB3YXkKKy0tZWNobyAjCits ZXQgJE1ZU1FMRF9EQVRBRElSPWBTRUxFQ1QgQEBkYXRhZGlyYDsKKworLS1kaXNhYmxlX3dhcm5p bmdzCitEUk9QIFRBQkxFIElGIEVYSVNUUyB0MSwgdDIsIHQzOworLS1lbmFibGVfd2FybmluZ3MK KworQ1JFQVRFIFRBQkxFIHQxICggYSBJTlQgKTsKK0NSRUFURSBUQUJMRSB0MiAoIGEgSU5UICk7 CitDUkVBVEUgVEFCTEUgdDMgKCBhIElOVCApOworSU5TRVJUIElOVE8gdDEgVkFMVUVTICgxKSwg KDIpLCAoMyk7CitJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKDEpLCAoMiksICgzKTsKK0lOU0VSVCBJ TlRPIHQzIFZBTFVFUyAoMSksICgyKSwgKDMpOworCistLWVjaG8gIyBXZSBzaW11bGF0ZSBpbXBv cnRpbmcgYSB0cmlnZ2VyIGZyb20gNS4wIGJ5IHdyaXRpbmcgYSAuVFJOIGZpbGUgZm9yCistLWVj aG8gIyBlYWNoIHRyaWdnZXIgcGx1cyBhIC5UUkcgZmlsZSB0aGUgd2F5IE15U1FMIDUuMCB3b3Vs ZCBoYXZlIGRvbmUgaXQsIAorLS1lY2hvICMgd2l0aCBzeW50YXggYWxsb3dlZCBpbiA1LjAgb25s eS4KKy0tZWNobyAjCistLWVjaG8gIyBOb3RlIHRoYXQgaW4gNS4wIHRoZSBmb2xsb3dpbmcgbGlu ZXMgYXJlIG1pc3NpbmcgZnJvbSB0MS5UUkc6CistLWVjaG8gIworLS1lY2hvICMgY2xpZW50X2Nz X25hbWVzPSdsYXRpbjEnCistLWVjaG8gIyBjb25uZWN0aW9uX2NsX25hbWVzPSdsYXRpbjFfc3dl ZGlzaF9jaScKKy0tZWNobyAjIGRiX2NsX25hbWVzPSdsYXRpbjFfc3dlZGlzaF9jaScKKworLS13 cml0ZV9maWxlICRNWVNRTERfREFUQURJUi90ZXN0L3RyMTEuVFJOCitUWVBFPVRSSUdHRVJOQU1F Cit0cmlnZ2VyX3RhYmxlPXQxCitFT0YKKworLS13cml0ZV9maWxlICRNWVNRTERfREFUQURJUi90 ZXN0L3RyMTIuVFJOCitUWVBFPVRSSUdHRVJOQU1FCit0cmlnZ2VyX3RhYmxlPXQxCitFT0YKKwor LS13cml0ZV9maWxlICRNWVNRTERfREFUQURJUi90ZXN0L3RyMTMuVFJOCitUWVBFPVRSSUdHRVJO QU1FCit0cmlnZ2VyX3RhYmxlPXQxCitFT0YKKworLS13cml0ZV9maWxlICRNWVNRTERfREFUQURJ Ui90ZXN0L3RyMTQuVFJOCitUWVBFPVRSSUdHRVJOQU1FCit0cmlnZ2VyX3RhYmxlPXQxCitFT0YK KworLS13cml0ZV9maWxlICRNWVNRTERfREFUQURJUi90ZXN0L3RyMTUuVFJOCitUWVBFPVRSSUdH RVJOQU1FCit0cmlnZ2VyX3RhYmxlPXQxCitFT0YKKworLS13cml0ZV9maWxlICRNWVNRTERfREFU QURJUi90ZXN0L3QxLlRSRworVFlQRT1UUklHR0VSUwordHJpZ2dlcnM9J0NSRUFURSBERUZJTkVS PWByb290YEBgbG9jYWxob3N0YCBUUklHR0VSIHRyMTEgQkVGT1JFIElOU0VSVCBPTiB0MSBGT1Ig RUFDSCBST1cgREVMRVRFIEZST00gdDMnICdDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9z dGAgVFJJR0dFUiB0cjEyIEFGVEVSIElOU0VSVCBPTiB0MSBGT1IgRUFDSCBST1cgREVMRVRFIEZS T00gdDMnICdDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgVFJJR0dFUiB0cjEzIEJF Rk9SRSBERUxFVEUgT04gdDEgRk9SIEVBQ0ggUk9XIERFTEVURSBGUk9NIHQxIGEgVVNJTkcgdDEg YScgJ0NSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBUUklHR0VSIHRyMTQgQUZURVIg REVMRVRFIE9OIHQxIEZPUiBFQUNIIFJPVyBERUxFVEUgRlJPTSBub25fZXhpc3RpbmdfdGFibGUn ICdDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgVFJJR0dFUiB0cjE1IEJFRk9SRSBV UERBVEUgT04gdDEgRk9SIEVBQ0ggUk9XIERFTEVURSBGUk9NIG5vbl9leGlzdGluZ190YWJsZSBh IFVTSU5HIG5vbl9leGlzdGluZ190YWJsZSBhJworc3FsX21vZGVzPTAgMCAwIDAgMAorZGVmaW5l cnM9J3Jvb3RAbG9jYWxob3N0JyAncm9vdEBsb2NhbGhvc3QnICdyb290QGxvY2FsaG9zdCcgJ3Jv b3RAbG9jYWxob3N0JyAncm9vdEBsb2NhbGhvc3QnCitFT0YKKworLS13cml0ZV9maWxlICRNWVNR TERfREFUQURJUi90ZXN0L3QyLlRSRworVFlQRT1UUklHR0VSUwordHJpZ2dlcnM9J05vdCBhbGxv d2VkIHN5bnRheCBoZXJlLCBhbmQgdHJpZ2dlciBuYW1lIGNhbnQgYmUgZXh0cmFjdGVkIGVpdGhl ci4nCitzcWxfbW9kZXM9MAorZGVmaW5lcnM9J3Jvb3RAbG9jYWxob3N0JworRU9GCisKKy0tZWNo byAjIFdlIHdpbGwgZ2V0IHBhcnNlIGVycm9ycyBmb3IgbW9zdCBEREwgYW5kIERNTCBzdGF0ZW1l bnRzIHdoZW4gdGhlIHRhYmxlCistLWVjaG8gIyBoYXMgYnJva2VuIHRyaWdnZXJzLiBUaGUgcGFy c2UgZXJyb3IgcmVmZXJzIHRvIHRoZSBmaXJzdCBicm9rZW4gCistLWVjaG8gIyB0cmlnZ2VyLgor LS1lcnJvciBFUl9QQVJTRV9FUlJPUgorQ1JFQVRFIFRSSUdHRVIgdHIxNiBBRlRFUiBVUERBVEUg T04gdDEgRk9SIEVBQ0ggUk9XIElOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMSk7CistLWVycm9yIEVS X1BBUlNFX0VSUk9SCitDUkVBVEUgVFJJR0dFUiB0cjIyIEJFRk9SRSBJTlNFUlQgT04gdDIgRk9S IEVBQ0ggUk9XIERFTEVURSBGUk9NIG5vbl9leGlzdGluZ190YWJsZTsKK1NIT1cgVFJJR0dFUlM7 CistLWVycm9yIEVSX1BBUlNFX0VSUk9SCitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEpOworLS1l cnJvciBFUl9QQVJTRV9FUlJPUgorSU5TRVJUIElOVE8gdDIgVkFMVUVTICgxKTsKKy0tZXJyb3Ig RVJfUEFSU0VfRVJST1IKK0RFTEVURSBGUk9NIHQxOworLS1lcnJvciBFUl9QQVJTRV9FUlJPUgor VVBEQVRFIHQxIFNFVCBhID0gMSBXSEVSRSBhID0gMTsKK1NFTEVDVCAqIEZST00gdDE7CistLWVy cm9yIEVSX1BBUlNFX0VSUk9SCitSRU5BTUUgVEFCTEUgdDEgVE8gdDFfMjsKK1NIT1cgVFJJR0dF UlM7CisKK0RST1AgVFJJR0dFUiB0cjExOworRFJPUCBUUklHR0VSIHRyMTI7CitEUk9QIFRSSUdH RVIgdHIxMzsKK0RST1AgVFJJR0dFUiB0cjE0OworRFJPUCBUUklHR0VSIHRyMTU7CisKK1NIT1cg VFJJR0dFUlM7CisKKy0tZWNobyAjIE1ha2Ugc3VyZSB0aGVyZSBpcyBubyB0cmlnZ2VyIGZpbGUg bGVmdC4KKy0tbGlzdF9maWxlcyAkTVlTUUxEX0RBVEFESVIvdGVzdC8gdHIqCisKKy0tZWNobyAj IFdlIHdyaXRlIHRoZSBzYW1lIHRyaWdnZXIgZmlsZXMgb25lIG1vcmUgdGltZSB0byB0ZXN0IERS T1AgVEFCTEUuCistLXdyaXRlX2ZpbGUgJE1ZU1FMRF9EQVRBRElSL3Rlc3QvdHIxMS5UUk4KK1RZ UEU9VFJJR0dFUk5BTUUKK3RyaWdnZXJfdGFibGU9dDEKK0VPRgorCistLXdyaXRlX2ZpbGUgJE1Z U1FMRF9EQVRBRElSL3Rlc3QvdHIxMi5UUk4KK1RZUEU9VFJJR0dFUk5BTUUKK3RyaWdnZXJfdGFi bGU9dDEKK0VPRgorCistLXdyaXRlX2ZpbGUgJE1ZU1FMRF9EQVRBRElSL3Rlc3QvdHIxMy5UUk4K K1RZUEU9VFJJR0dFUk5BTUUKK3RyaWdnZXJfdGFibGU9dDEKK0VPRgorCistLXdyaXRlX2ZpbGUg JE1ZU1FMRF9EQVRBRElSL3Rlc3QvdHIxNC5UUk4KK1RZUEU9VFJJR0dFUk5BTUUKK3RyaWdnZXJf dGFibGU9dDEKK0VPRgorCistLXdyaXRlX2ZpbGUgJE1ZU1FMRF9EQVRBRElSL3Rlc3QvdHIxNS5U Uk4KK1RZUEU9VFJJR0dFUk5BTUUKK3RyaWdnZXJfdGFibGU9dDEKK0VPRgorCistLXdyaXRlX2Zp bGUgJE1ZU1FMRF9EQVRBRElSL3Rlc3QvdDEuVFJHCitUWVBFPVRSSUdHRVJTCit0cmlnZ2Vycz0n Q1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIFRSSUdHRVIgdHIxMSBCRUZPUkUgSU5T RVJUIE9OIHQxIEZPUiBFQUNIIFJPVyBERUxFVEUgRlJPTSB0MycgJ0NSRUFURSBERUZJTkVSPWBy b290YEBgbG9jYWxob3N0YCBUUklHR0VSIHRyMTIgQUZURVIgSU5TRVJUIE9OIHQxIEZPUiBFQUNI IFJPVyBERUxFVEUgRlJPTSB0MycgJ0NSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBU UklHR0VSIHRyMTMgQkVGT1JFIERFTEVURSBPTiB0MSBGT1IgRUFDSCBST1cgREVMRVRFIEZST00g dDEgYSBVU0lORyB0MSBhJyAnQ1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIFRSSUdH RVIgdHIxNCBBRlRFUiBERUxFVEUgT04gdDEgRk9SIEVBQ0ggUk9XIERFTEVURSBGUk9NIG5vbl9l eGlzdGluZ190YWJsZScgJ0NSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBUUklHR0VS IHRyMTUgQkVGT1JFIFVQREFURSBPTiB0MSBGT1IgRUFDSCBST1cgREVMRVRFIEZST00gbm9uX2V4 aXN0aW5nX3RhYmxlIGEgVVNJTkcgbm9uX2V4aXN0aW5nX3RhYmxlIGEnCitzcWxfbW9kZXM9MCAw IDAgMCAwCitkZWZpbmVycz0ncm9vdEBsb2NhbGhvc3QnICdyb290QGxvY2FsaG9zdCcgJ3Jvb3RA bG9jYWxob3N0JyAncm9vdEBsb2NhbGhvc3QnICdyb290QGxvY2FsaG9zdCcKK0VPRgorCitEUk9Q IFRBQkxFIHQxOworRFJPUCBUQUJMRSB0MjsKK0RST1AgVEFCTEUgdDM7CisKKy0tZWNobyAjIE1h a2Ugc3VyZSB0aGVyZSBpcyBubyB0cmlnZ2VyIGZpbGUgbGVmdC4KKworLS1saXN0X2ZpbGVzICRN WVNRTERfREFUQURJUi90ZXN0LyB0cioKKworQ1JFQVRFIFRBQkxFIHQxICggYSBJTlQgKTsKK0NS RUFURSBUQUJMRSB0MiAoIGEgSU5UICk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEpLCAoMiks ICgzKTsKK0lOU0VSVCBJTlRPIHQyIFZBTFVFUyAoMSksICgyKSwgKDMpOworCistLWVjaG8gIyBX ZSB3cml0ZSB0aHJlZSB0cmlnZ2VyIGZpbGVzLiBGaXJzdCB0cmlnZ2VyIGlzIHN5bnRheGljYWxs eSBpbmNvcnJlY3QsIG5leHQgdHJpZ2dlciBpcyBjb3JyZWN0CistLWVjaG8gIyBhbmQgbGFzdCB0 cmlnZ2VyIGlzIGJyb2tlbi4KKy0tZWNobyAjIE5leHQgd2UgdHJ5IHRvIGV4ZWN1dGUgU0hPVyBD UkVBVEUgVFJHR0lSIGNvbW1hbmQgZm9yIGJyb2tlbiB0cmlnZ2VyIGFuZCB0aGVuIHRyeSB0byBk cm9wIG9uZS4KKy0td3JpdGVfZmlsZSAkTVlTUUxEX0RBVEFESVIvdGVzdC90cjExLlRSTgorVFlQ RT1UUklHR0VSTkFNRQordHJpZ2dlcl90YWJsZT10MQorRU9GCisKKy0td3JpdGVfZmlsZSAkTVlT UUxEX0RBVEFESVIvdGVzdC90cjEyLlRSTgorVFlQRT1UUklHR0VSTkFNRQordHJpZ2dlcl90YWJs ZT10MQorRU9GCisKKy0td3JpdGVfZmlsZSAkTVlTUUxEX0RBVEFESVIvdGVzdC90MS5UUkcKK1RZ UEU9VFJJR0dFUlMKK3RyaWdnZXJzPSdDUkVBVEUgdGhlIHdyb25nZXN0IHRyaWdnZXJfaW5fdGhl X3dvcmxkJyAnQ1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIFRSSUdHRVIgdHIxMSBC RUZPUkUgREVMRVRFIE9OIHQxIEZPUiBFQUNIIFJPVyBERUxFVEUgRlJPTSB0MSBhIFVTSU5HIHQx IGEnICdDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgVFJJR0dFUiB0cjEyIEJFRk9S RSBJTlNFUlQgT04gdDEgRk9SIEVBQ0ggUk9XIERFTEVURSBGUk9NIHQyJworc3FsX21vZGVzPTAg MCAwCitkZWZpbmVycz0ncm9vdEBsb2NhbGhvc3QnICdyb290QGxvY2FsaG9zdCcgJ3Jvb3RAbG9j YWxob3N0JworRU9GCisKK0ZMVVNIIFRBQkxFIHQxOworCitTSE9XIENSRUFURSBUUklHR0VSIHRy MTI7CitTSE9XIENSRUFURSBUUklHR0VSIHRyMTE7CitEUk9QIFRSSUdHRVIgdHIxMjsKK0RST1Ag VFJJR0dFUiB0cjExOworCitEUk9QIFRBQkxFIHQxOworRFJPUCBUQUJMRSB0MjsKCj09PSBtb2Rp ZmllZCBmaWxlICdzcWwvc3BfaGVhZC5jYycKLS0tIGEvc3FsL3NwX2hlYWQuY2MJMjAxMS0wNS0x NiAyMDowNDowMSArMDAwMAorKysgYi9zcWwvc3BfaGVhZC5jYwkyMDExLTA2LTEwIDAzOjUyOjM5 ICswMDAwCkBAIC0yMzU0LDYgKzIzNTQsMjEgQEAgdm9pZAogc3BfaGVhZDo6cmVzdG9yZV90aGRf bWVtX3Jvb3QoVEhEICp0aGQpCiB7CiAgIERCVUdfRU5URVIoInNwX2hlYWQ6OnJlc3RvcmVfdGhk X21lbV9yb290Iik7CisKKyAgLyoKKyAgIEluIHNvbWUgY2FzZXMgb3VyIHBhcnNlciBkZXRlY3Rz IGEgc3ludGF4IGVycm9yIGFuZCBjYWxscworICAgTEVYOjpjbGVhbnVwX2xleF9hZnRlcl9wYXJz ZV9lcnJvcigpIG1ldGhvZCBvbmx5IGFmdGVyCisgICBmaW5pc2hpbmcgcGFyc2luZyB0aGUgd2hv bGUgcm91dGluZS4gSW4gc3VjaCBhIHNpdHVhdGlvbgorICAgc3BfaGVhZDo6cmVzdG9yZV90aGRf bWVtX3Jvb3QoKSB3aWxsIGJlIGNhbGxlZCB0d2ljZSAtIHRoZQorICAgZmlyc3QgdGltZSBhcyBw YXJ0IG9mIG5vcm1hbCBwYXJzaW5nIHByb2Nlc3MgYW5kIHRoZSBzZWNvbmQKKyAgIHRpbWUgYnkg Y2xlYW51cF9sZXhfYWZ0ZXJfcGFyc2VfZXJyb3IoKS4KKyAgIFRvIGF2b2lkIHJ1aW5pbmcgYWN0 aXZlIGFyZW5hL21lbV9yb290IHN0YXRlIGluIHRoaXMgY2FzZSB3ZQorICAgc2tpcCByZXN0b3Jh dGlvbiBvZiBvbGQgYXJlbmEvbWVtX3Jvb3QgaWYgdGhpcyBtZXRob2QgaGFzIGJlZW4KKyAgIGFs cmVhZHkgY2FsbGVkIGZvciB0aGlzIHJvdXRpbmUuCisgICovCisgIGlmICghbV90aGQpCisgICAg REJVR19WT0lEX1JFVFVSTjsKKwogICBJdGVtICpmbGlzdD0gZnJlZV9saXN0OwkvLyBUaGUgb2xk IGxpc3QKICAgc2V0X3F1ZXJ5X2FyZW5hKHRoZCk7ICAgICAgICAgLy8gR2V0IG5ldyBmcmVlX2xp c3QgYW5kIG1lbV9yb290CiAgIHN0YXRlPSBJTklUSUFMSVpFRF9GT1JfU1A7Cgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3FsL3NxbF9wYXJzZS5jYycKLS0tIGEvc3FsL3NxbF9wYXJzZS5jYwkyMDExLTA1 LTE2IDIwOjA0OjAxICswMDAwCisrKyBiL3NxbC9zcWxfcGFyc2UuY2MJMjAxMS0wNi0xMCAwMzo1 MjozOSArMDAwMApAQCAtNzk3MiwxMCArNzk3MiwxNCBAQCBib29sIHBhcnNlX3NxbChUSEQgKnRo ZCwKIAogICBib29sIG15c3FsX3BhcnNlX3N0YXR1cz0gTVlTUUxwYXJzZSh0aGQpICE9IDA7CiAK LSAgLyogQ2hlY2sgdGhhdCBpZiBNWVNRTHBhcnNlKCkgZmFpbGVkLCB0aGQtPmlzX2Vycm9yKCkg aXMgc2V0LiAqLworICAvKgorICAgIENoZWNrIHRoYXQgaWYgTVlTUUxwYXJzZSgpIGZhaWxlZCwg dGhkLT5pc19lcnJvcigpIGlzIHNldCAodW5sZXNzCisgICAgd2UgaGF2ZSBhbiBlcnJvciBoYW5k bGVyIGluc3RhbGxlZCwgd2hpY2ggbWlnaHQgaGF2ZSBzaWxlbmNlZCBlcnJvcikuCisgICovCiAK ICAgREJVR19BU1NFUlQoIW15c3FsX3BhcnNlX3N0YXR1cyB8fAotICAgICAgICAgICAgICAobXlz cWxfcGFyc2Vfc3RhdHVzICYmIHRoZC0+aXNfZXJyb3IoKSkpOworICAgICAgICAgICAgICAobXlz cWxfcGFyc2Vfc3RhdHVzICYmIHRoZC0+aXNfZXJyb3IoKSkgfHwKKyAgICAgICAgICAgICAgKG15 c3FsX3BhcnNlX3N0YXR1cyAmJiB0aGQtPmdldF9pbnRlcm5hbF9oYW5kbGVyKCkpKTsKIAogICAv KiBSZXNldCBwYXJzZXIgc3RhdGUuICovCiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3Ry aWdnZXIuY2MnCi0tLSBhL3NxbC9zcWxfdHJpZ2dlci5jYwkyMDEwLTA5LTA3IDA4OjUzOjQ2ICsw MDAwCisrKyBiL3NxbC9zcWxfdHJpZ2dlci5jYwkyMDExLTA2LTEwIDAzOjUyOjM5ICswMDAwCkBA IC0xOSw2ICsxOSw3IEBACiAjaW5jbHVkZSAic3BfaGVhZC5oIgogI2luY2x1ZGUgInNxbF90cmln Z2VyLmgiCiAjaW5jbHVkZSAicGFyc2VfZmlsZS5oIgorI2luY2x1ZGUgPG15c3lzX2Vyci5oPgog CiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKi8KIApAQCAtMjkzLDYgKzI5NCw1MiBAQCBwcml2YXRlOgogCiAK IC8qKgorICBBbiBlcnJvciBoYW5kbGVyIHRoYXQgY2F0Y2hlcyBhbGwgbm9uLU9PTSBlcnJvcnMg d2hpY2ggY2FuIG9jY3VyIGR1cmluZworICBwYXJzaW5nIG9mIHRyaWdnZXIgYm9keS4gU3VjaCBl cnJvcnMgYXJlIGlnbm9yZWQgYW5kIGNvcnJlc3BvbmRpbmcgZXJyb3IKKyAgbWVzc2FnZSBpcyB1 c2VkIHRvIGNvbnN0cnVjdCBhIG1vcmUgdmVyYm9zZSBlcnJvciBtZXNzYWdlIHdoaWNoIGNvbnRh aW5zCisgIG5hbWUgb2YgcHJvYmxlbWF0aWMgdHJpZ2dlci4gVGhpcyBlcnJvciBtZXNzYWdlIGlz IGxhdGVyIGVtaXR0ZWQgd2hlbgorICBvbmUgdHJpZXMgdG8gcGVyZm9ybSBETUwgb3Igc29tZSBv ZiBEREwgb24gdGhpcyB0YWJsZS4KKyAgQWxzbywgaWYgcG9zc2libGUsIGdyYWJzIG5hbWUgb2Yg dGhlIHRyaWdnZXIgYmVpbmcgcGFyc2VkIHNvIGl0IGNhbiBiZQorICB1c2VkIHRvIGNvcnJlY3Rs eSBkcm9wIHByb2JsZW1hdGljIHRyaWdnZXIuCisqLworY2xhc3MgRGVwcmVjYXRlZF90cmlnZ2Vy X3N5bnRheF9oYW5kbGVyIDogcHVibGljIEludGVybmFsX2Vycm9yX2hhbmRsZXIgCit7Citwcml2 YXRlOgorCisgIGNoYXIgbV9tZXNzYWdlW01ZU1FMX0VSUk1TR19TSVpFXTsKKyAgTEVYX1NUUklO RyAqbV90cmlnZ2VyX25hbWU7CisKK3B1YmxpYzoKKworICBEZXByZWNhdGVkX3RyaWdnZXJfc3lu dGF4X2hhbmRsZXIoKSA6IG1fdHJpZ2dlcl9uYW1lKE5VTEwpIHt9CisKKyAgdmlydHVhbCBib29s IGhhbmRsZV9lcnJvcih1aW50IHNxbF9lcnJubywgY29uc3QgY2hhciAqbWVzc2FnZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNWVNRTF9FUlJPUjo6ZW51bV93YXJuaW5nX2xldmVsIGxl dmVsLCBUSEQgKnRoZCkKKyAgeworICAgIGlmIChzcWxfZXJybm8gIT0gRUVfT1VUT0ZNRU1PUlkg JiYKKyAgICAgICAgc3FsX2Vycm5vICE9IEVSX09VVF9PRl9SRVNPVVJDRVMpCisgICAgeworICAg ICAgaWYodGhkLT5sZXgtPnNwbmFtZSkKKyAgICAgICAgbV90cmlnZ2VyX25hbWU9ICZ0aGQtPmxl eC0+c3BuYW1lLT5tX25hbWU7CisgICAgICBpZiAobV90cmlnZ2VyX25hbWUpCisgICAgICAgIG15 X3NucHJpbnRmKG1fbWVzc2FnZSwgc2l6ZW9mKG1fbWVzc2FnZSksCisgICAgICAgICAgICAgICAg ICAgICJUcmlnZ2VyICclcycgaGFzIGFuIGVycm9yIGluIGl0cyBib2R5OiAnJXMnIiwKKyAgICAg ICAgICAgICAgICAgICAgbV90cmlnZ2VyX25hbWUtPnN0ciwgbWVzc2FnZSk7CisgICAgICBlbHNl CisgICAgICAgIG15X3NucHJpbnRmKG1fbWVzc2FnZSwgc2l6ZW9mKG1fbWVzc2FnZSksCisgICAg ICAgICAgICAgICAgICAgICJVbmtub3duIHRyaWdnZXIgaGFzIGFuIGVycm9yIGluIGl0cyBib2R5 OiAnJXMnIiwKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSk7CisgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworICB9CisKKyAgTEVYX1NUUklORyAqZ2V0X3Ry aWdnZXJfbmFtZSgpIHsgcmV0dXJuIG1fdHJpZ2dlcl9uYW1lOyB9CisgIGNoYXIgKmdldF9lcnJv cl9tZXNzYWdlKCkgeyByZXR1cm4gbV9tZXNzYWdlOyB9Cit9OworCisKKy8qKgogICBDcmVhdGUg b3IgZHJvcCB0cmlnZ2VyIGZvciB0YWJsZS4KIAogICBAcGFyYW0gdGhkICAgICBjdXJyZW50IHRo cmVhZCBjb250ZXh0IChpbmNsdWRpbmcgdHJpZ2dlciBkZWZpbml0aW9uIGluIExFWCkKQEAgLTU3 NSw2ICs2MjIsOCBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNyZWF0ZV90cmlnZ2VyCiAg IExFWF9TVFJJTkcgKnRyZ19jb25uZWN0aW9uX2NsX25hbWU7CiAgIExFWF9TVFJJTkcgKnRyZ19k Yl9jbF9uYW1lOwogCisgIGlmIChjaGVja19mb3JfYnJva2VuX3RyaWdnZXJzKCkpCisgICAgcmV0 dXJuIHRydWU7CiAKICAgLyogVHJpZ2dlciBtdXN0IGJlIGluIHRoZSBzYW1lIHNjaGVtYSBhcyB0 YXJnZXQgdGFibGUuICovCiAgIGlmIChteV9zdHJjYXNlY21wKHRhYmxlX2FsaWFzX2NoYXJzZXQs IHRhYmxlLT5zLT5kYi5zdHIsCkBAIC04NDgsNyArODk3LDcgQEAgc3RhdGljIGJvb2wgcm1fdHJp Z2dlcl9maWxlKGNoYXIgKnBhdGgsIAogICBAcGFyYW0gcGF0aCAgICAgICAgIGNoYXIgYnVmZmVy IG9mIHNpemUgRk5fUkVGTEVOIHRvIGJlIHVzZWQKICAgICAgICAgICAgICAgICAgICAgICBmb3Ig Y29uc3RydWN0aW5nIHBhdGggdG8gLlRSTiBmaWxlLgogICBAcGFyYW0gZGIgICAgICAgICAgIHRy aWdnZXIncyBkYXRhYmFzZSBuYW1lCi0gIEBwYXJhbSB0YWJsZV9uYW1lICAgdHJpZ2dlcidzIG5h bWUKKyAgQHBhcmFtIHRyaWdnZXJfbmFtZSB0cmlnZ2VyJ3MgbmFtZQogCiAgIEByZXR2YWwKICAg ICBGYWxzZSAgIHN1Y2Nlc3MKQEAgLTEzMTIsMTIgKzEzNjEsMTEgQEAgYm9vbCBUYWJsZV90cmln Z2Vyc19saXN0OjpjaGVja19uX2xvYWQoVAogICAgICAgICBsZXhfc3RhcnQodGhkKTsKICAgICAg ICAgdGhkLT5zcGNvbnQ9IE5VTEw7CiAKLSAgICAgICAgaWYgKHBhcnNlX3NxbCh0aGQsICYgcGFy c2VyX3N0YXRlLCBjcmVhdGlvbl9jdHgpKQotICAgICAgICB7Ci0gICAgICAgICAgLyogQ3VycmVu dGx5IHNwaGVhZCBpcyBhbHdheXMgZGVsZXRlZCBpbiBjYXNlIG9mIGEgcGFyc2UgZXJyb3IgKi8K LSAgICAgICAgICBEQlVHX0FTU0VSVChsZXguc3BoZWFkID09IDApOwotICAgICAgICAgIGdvdG8g ZXJyX3dpdGhfbGV4X2NsZWFudXA7Ci0gICAgICAgIH0KKyAgICAgICAgRGVwcmVjYXRlZF90cmln Z2VyX3N5bnRheF9oYW5kbGVyIGVycm9yX2hhbmRsZXI7CisgICAgICAgIHRoZC0+cHVzaF9pbnRl cm5hbF9oYW5kbGVyKCZlcnJvcl9oYW5kbGVyKTsKKyAgICAgICAgYm9vbCBwYXJzZV9lcnJvcj0g cGFyc2Vfc3FsKHRoZCwgJiBwYXJzZXJfc3RhdGUsIGNyZWF0aW9uX2N0eCk7CisgICAgICAgIHRo ZC0+cG9wX2ludGVybmFsX2hhbmRsZXIoKTsKKwogICAgICAgICAvKgogICAgICAgICAgIE5vdCBz dHJpY3RseSBuZWNlc3NhcnkgdG8gaW52b2tlIHRoaXMgbWV0aG9kIGhlcmUsIHNpbmNlIHdlIGtu b3cKICAgICAgICAgICB0aGF0IHdlJ3ZlIHBhcnNlZCBDUkVBVEUgVFJJR0dFUiBhbmQgbm90IGFu CkBAIC0xMzI4LDYgKzEzNzYsNTIgQEAgYm9vbCBUYWJsZV90cmlnZ2Vyc19saXN0OjpjaGVja19u X2xvYWQoVAogICAgICAgICAqLwogICAgICAgICBsZXguc2V0X3RyZ19ldmVudF90eXBlX2Zvcl90 YWJsZXMoKTsKIAorICAgICAgICBpZiAocGFyc2VfZXJyb3IpCisgICAgICAgIHsKKyAgICAgICAg ICBpZiAoIXRyaWdnZXJzLT5tX2hhc191bnBhcnNlYWJsZV90cmlnZ2VyKQorICAgICAgICAgICAg dHJpZ2dlcnMtPnNldF9wYXJzZV9lcnJvcl9tZXNzYWdlKGVycm9yX2hhbmRsZXIuZ2V0X2Vycm9y X21lc3NhZ2UoKSk7CisgICAgICAgICAgLyogQ3VycmVudGx5IHNwaGVhZCBpcyBhbHdheXMgc2V0 IHRvIE5VTEwgaW4gY2FzZSBvZiBhIHBhcnNlIGVycm9yICovCisgICAgICAgICAgREJVR19BU1NF UlQobGV4LnNwaGVhZCA9PSAwKTsKKyAgICAgICAgICBpZiAoZXJyb3JfaGFuZGxlci5nZXRfdHJp Z2dlcl9uYW1lKCkpCisgICAgICAgICAgeworICAgICAgICAgICAgTEVYX1NUUklORyAqdHJpZ2dl cl9uYW1lOworICAgICAgICAgICAgY29uc3QgTEVYX1NUUklORyAqb3JpZ190cmlnZ2VyX25hbWU9 IGVycm9yX2hhbmRsZXIuZ2V0X3RyaWdnZXJfbmFtZSgpOworCisgICAgICAgICAgICBpZiAoISh0 cmlnZ2VyX25hbWU9IGFsbG9jX2xleF9zdHJpbmcoJnRhYmxlLT5tZW1fcm9vdCkpIHx8CisgICAg ICAgICAgICAgICAgISh0cmlnZ2VyX25hbWUtPnN0cj0gc3RybWFrZV9yb290KCZ0YWJsZS0+bWVt X3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9yaWdfdHJpZ2dlcl9uYW1lLT5zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9yaWdfdHJpZ2dlcl9uYW1lLT5sZW5ndGgpKSkKKyAgICAgICAg ICAgICAgZ290byBlcnJfd2l0aF9sZXhfY2xlYW51cDsKKworICAgICAgICAgICAgdHJpZ2dlcl9u YW1lLT5sZW5ndGg9IG9yaWdfdHJpZ2dlcl9uYW1lLT5sZW5ndGg7CisKKyAgICAgICAgICAgIGlm ICh0cmlnZ2Vycy0+bmFtZXNfbGlzdC5wdXNoX2JhY2sodHJpZ2dlcl9uYW1lLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdGFibGUtPm1lbV9yb290KSkK KyAgICAgICAgICAgICAgZ290byBlcnJfd2l0aF9sZXhfY2xlYW51cDsKKyAgICAgICAgICB9Cisg ICAgICAgICAgZWxzZQorICAgICAgICAgIHsKKyAgICAgICAgICAgIC8qIAorICAgICAgICAgICAg ICAgVGhlIFRhYmxlX3RyaWdnZXJzX2xpc3QgaXMgbm90IGNvbnN0cnVjdGVkIGFzIGEgbGlzdCBv ZgorICAgICAgICAgICAgICAgdHJpZ2dlciBvYmplY3RzIGFzIG9uZSB3b3VsZCBleHBlY3QsIGJ1 dCByYXRoZXIgb2YgbGlzdHMgb2YKKyAgICAgICAgICAgICAgIHByb3BlcnRpZXMgb2YgZXF1YWwg bGVuZ3RoLiBUaHVzLCBldmVuIGlmIHdlIGRvbid0IGdldCB0aGUKKyAgICAgICAgICAgICAgIHRy aWdnZXIgbmFtZSwgd2Ugc3RpbGwgZmlsbCBhbGwgaW4gYWxsIHRoZSBsaXN0cyB3aXRoCisgICAg ICAgICAgICAgICBwbGFjZWhvbGRlcnMgYXMgd2UgbWlnaHQgb3RoZXJ3aXNlIGNyZWF0ZSBhIHNr ZXcgaW4gdGhlCisgICAgICAgICAgICAgICBsaXN0cy4gT2J2aW91c2x5LCB0aGlzIGhhcyB0byBi ZSByZWZhY3RvcmVkLgorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIExFWF9TVFJJTkcgKmVt cHR5PSBhbGxvY19sZXhfc3RyaW5nKCZ0YWJsZS0+bWVtX3Jvb3QpOworICAgICAgICAgICAgaWYg KCFlbXB0eSkKKyAgICAgICAgICAgICAgZ290byBlcnJfd2l0aF9sZXhfY2xlYW51cDsKKworICAg ICAgICAgICAgZW1wdHktPnN0cj0gY29uc3RfY2FzdDxjaGFyKj4oIiIpOworICAgICAgICAgICAg ZW1wdHktPmxlbmd0aD0gMDsKKyAgICAgICAgICAgIGlmICh0cmlnZ2Vycy0+bmFtZXNfbGlzdC5w dXNoX2JhY2soZW1wdHksICZ0YWJsZS0+bWVtX3Jvb3QpKQorICAgICAgICAgICAgICBnb3RvIGVy cl93aXRoX2xleF9jbGVhbnVwOworICAgICAgICAgIH0KKyAgICAgICAgICBsZXhfZW5kKCZsZXgp OworICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisKICAgICAgICAgbGV4LnNwaGVhZC0+ c2V0X2luZm8oMCwgMCwgJmxleC5zcF9jaGlzdGljcywgKHVsb25nKSAqdHJnX3NxbF9tb2RlKTsK IAogICAgICAgICBpbnQgZXZlbnQ9IGxleC50cmdfY2hpc3RpY3MuZXZlbnQ7CkBAIC0xMzY4LDgg KzE0NjIsOCBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNoZWNrX25fbG9hZChUCiAKICAg ICAgICAgaWYgKHRyaWdnZXJzLT5uYW1lc19saXN0LnB1c2hfYmFjaygmbGV4LnNwaGVhZC0+bV9u YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0YWJsZS0+ bWVtX3Jvb3QpKQotICAgICAgICAgICAgZ290byBlcnJfd2l0aF9sZXhfY2xlYW51cDsKLQorICAg ICAgICAgIGdvdG8gZXJyX3dpdGhfbGV4X2NsZWFudXA7CisgICAgICAgIAogICAgICAgICBpZiAo IShvbl90YWJsZV9uYW1lPSBhbGxvY19sZXhfc3RyaW5nKCZ0YWJsZS0+bWVtX3Jvb3QpKSkKICAg ICAgICAgICBnb3RvIGVycl93aXRoX2xleF9jbGVhbnVwOwogCkBAIC0xMzk0LDkgKzE0ODgsOCBA QCBib29sIFRhYmxlX3RyaWdnZXJzX2xpc3Q6OmNoZWNrX25fbG9hZChUCiAgICAgICAgIGNoYXIg Zm5hbWVbTkFNRV9MRU4gKyAxXTsKICAgICAgICAgREJVR19BU1NFUlQoKCFteV9zdHJjYXNlY21w KHRhYmxlX2FsaWFzX2NoYXJzZXQsIGxleC5xdWVyeV90YWJsZXMtPmRiLCBkYikgfHwKICAgICAg ICAgICAgICAgICAgICAgIChjaGVja19uX2N1dF9teXNxbDUwX3ByZWZpeChkYiwgZm5hbWUsIHNp emVvZihmbmFtZSkpICYmCi0gICAgICAgICAgICAgICAgICAgICAgIW15X3N0cmNhc2VjbXAodGFi bGVfYWxpYXNfY2hhcnNldCwgbGV4LnF1ZXJ5X3RhYmxlcy0+ZGIsIGZuYW1lKSkpICYmCi0gICAg ICAgICAgICAgICAgICAgICghbXlfc3RyY2FzZWNtcCh0YWJsZV9hbGlhc19jaGFyc2V0LCBsZXgu cXVlcnlfdGFibGVzLT50YWJsZV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdGFibGVfbmFtZSkgfHwKKyAgICAgICAgICAgICAgICAgICAgICAhbXlfc3RyY2FzZWNt cCh0YWJsZV9hbGlhc19jaGFyc2V0LCBsZXgucXVlcnlfdGFibGVzLT5kYiwgZm5hbWUpKSkpOwor ICAgICAgICBEQlVHX0FTU0VSVCgoIW15X3N0cmNhc2VjbXAodGFibGVfYWxpYXNfY2hhcnNldCwg bGV4LnF1ZXJ5X3RhYmxlcy0+dGFibGVfbmFtZSwgdGFibGVfbmFtZSkgfHwKICAgICAgICAgICAg ICAgICAgICAgIChjaGVja19uX2N1dF9teXNxbDUwX3ByZWZpeCh0YWJsZV9uYW1lLCBmbmFtZSwg c2l6ZW9mKGZuYW1lKSkgJiYKICAgICAgICAgICAgICAgICAgICAgICAhbXlfc3RyY2FzZWNtcCh0 YWJsZV9hbGlhc19jaGFyc2V0LCBsZXgucXVlcnlfdGFibGVzLT50YWJsZV9uYW1lLCBmbmFtZSkp KSk7CiAjZW5kaWYKQEAgLTE2ODAsNiArMTc3MywxMyBAQCBib29sIFRhYmxlX3RyaWdnZXJzX2xp c3Q6OmRyb3BfYWxsX3RyaWdnCiAKICAgICB3aGlsZSAoKHRyaWdnZXI9IGl0X25hbWUrKykpCiAg ICAgeworICAgICAgLyoKKyAgICAgICAgVHJpZ2dlciwgd2hpY2ggYm9keSB3ZSBmYWlsZWQgdG8g cGFyc2UgZHVyaW5nIGNhbGwKKyAgICAgICAgVGFibGVfdHJpZ2dlcnNfbGlzdDo6Y2hlY2tfbl9s b2FkKCksIG1pZ2h0IGJlIG1pc3NpbmcgbmFtZS4KKyAgICAgICAgU3VjaCB0cmlnZ2VycyBoYXZl IHplcm8tbGVuZ3RoIG5hbWUgYW5kIGFyZSBza2lwcGVkIGhlcmUuCisgICAgICAqLworICAgICAg aWYgKHRyaWdnZXItPmxlbmd0aCA9PSAwKQorICAgICAgICBjb250aW51ZTsKICAgICAgIGlmIChy bV90cmlnbmFtZV9maWxlKHBhdGgsIGRiLCB0cmlnZ2VyLT5zdHIpKQogICAgICAgewogICAgICAg ICAvKgpAQCAtMTkwMyw2ICsyMDAzLDExIEBAIGJvb2wgVGFibGVfdHJpZ2dlcnNfbGlzdDo6Y2hh bmdlX3RhYmxlX24KICAgfQogICBpZiAodGFibGUudHJpZ2dlcnMpCiAgIHsKKyAgICBpZiAodGFi bGUudHJpZ2dlcnMtPmNoZWNrX2Zvcl9icm9rZW5fdHJpZ2dlcnMoKSkKKyAgICB7CisgICAgICBy ZXN1bHQ9IDE7CisgICAgICBnb3RvIGVuZDsKKyAgICB9CiAgICAgTEVYX1NUUklORyBvbGRfdGFi bGVfbmFtZT0geyAoY2hhciAqKSBvbGRfdGFibGUsIHN0cmxlbihvbGRfdGFibGUpIH07CiAgICAg TEVYX1NUUklORyBuZXdfdGFibGVfbmFtZT0geyAoY2hhciAqKSBuZXdfdGFibGUsIHN0cmxlbihu ZXdfdGFibGUpIH07CiAgICAgLyoKQEAgLTE5OTEsNiArMjA5Niw5IEBAIGJvb2wgVGFibGVfdHJp Z2dlcnNfbGlzdDo6cHJvY2Vzc190cmlnZ2UKICAgc3BfaGVhZCAqc3BfdHJpZ2dlcj0gYm9kaWVz W2V2ZW50XVt0aW1lX3R5cGVdOwogICBTRUxFQ1RfTEVYICpzYXZlX2N1cnJlbnRfc2VsZWN0Owog CisgIGlmIChjaGVja19mb3JfYnJva2VuX3RyaWdnZXJzKCkpCisgICAgcmV0dXJuIHRydWU7CisK ICAgaWYgKHNwX3RyaWdnZXIgPT0gTlVMTCkKICAgICByZXR1cm4gRkFMU0U7CiAKQEAgLTIwNzAs NiArMjE3OCwyMiBAQCB2b2lkIFRhYmxlX3RyaWdnZXJzX2xpc3Q6Om1hcmtfZmllbGRzX3VzCiAK IAogLyoqCisgICBTaWduYWxzIHRvIHRoZSBUYWJsZV90cmlnZ2Vyc19saXN0IHRoYXQgYSBwYXJz ZSBlcnJvciBoYXMgb2NjdXJlZCB3aGVuCisgICByZWFkaW5nIGEgdHJpZ2dlciBmcm9tIGZpbGUu IFRoaXMgbWFrZXMgdGhlIFRhYmxlX3RyaWdnZXJzX2xpc3QgZW50ZXIgYW4KKyAgIGVycm9yIHN0 YXRlIGZsYWdnZWQgYnkgbV9oYXNfdW5wYXJzZWFibGVfdHJpZ2dlciA9PSB0cnVlLiBUaGUgZXJy b3IgbWVzc2FnZQorICAgd2lsbCBiZSB1c2VkIHdoZW5ldmVyIGEgc3RhdGVtZW50IGludm9raW5n IG9yIG1hbmlwdWxhdGluZyB0cmlnZ2VycyBpcworICAgaXNzdWVkIGFnYWluc3QgdGhlIFRhYmxl X3RyaWdnZXJzX2xpc3QncyB0YWJsZS4KKworICAgQHBhcmFtIGVycm9yX21lc3NhZ2UgVGhlIGVy cm9yIG1lc3NhZ2UgdGhyb3duIGJ5IHRoZSBwYXJzZXIuCisgKi8KK3ZvaWQgVGFibGVfdHJpZ2dl cnNfbGlzdDo6c2V0X3BhcnNlX2Vycm9yX21lc3NhZ2UoY2hhciAqZXJyb3JfbWVzc2FnZSkKK3sK KyAgbV9oYXNfdW5wYXJzZWFibGVfdHJpZ2dlcj0gdHJ1ZTsKKyAgc3RyY3B5KG1fcGFyc2VfZXJy b3JfbWVzc2FnZSwgZXJyb3JfbWVzc2FnZSk7Cit9CisKKworLyoqCiAgIFRyaWdnZXIgQlVHIzE0 MDkwIGNvbXBhdGliaWxpdHkgaG9vay4KIAogICBAcGFyYW1baW4sb3V0XSB1bmtub3duX2tleSAg ICAgICByZWZlcmVuY2Ugb24gdGhlIGxpbmUgd2l0aCB1bmtub3duCgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL3NxbF90cmlnZ2VyLmgnCi0tLSBhL3NxbC9zcWxfdHJpZ2dlci5oCTIwMDktMDEtMTQg MTQ6NTA6NTEgKzAwMDAKKysrIGIvc3FsL3NxbF90cmlnZ2VyLmgJMjAxMS0wNi0xMCAwMzo1Mjoz OSArMDAwMApAQCAtNjIsNiArNjIsMjcgQEAgY2xhc3MgVGFibGVfdHJpZ2dlcnNfbGlzdDogcHVi bGljIFNxbF9hbAogICAqLwogICBHUkFOVF9JTkZPICAgICAgICBzdWJqZWN0X3RhYmxlX2dyYW50 c1tUUkdfRVZFTlRfTUFYXVtUUkdfQUNUSU9OX01BWF07CiAKKyAgLyoqCisgICAgIFRoaXMgZmxh ZyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlIHRyaWdnZXJzIHdhcyBub3QgcGFyc2VkIHN1Y2Nl c3NmdWxseSwKKyAgICAgYW5kIGFzIGEgcHJlY2F1dGlvbiB0aGUgb2JqZWN0IGhhcyBlbnRlcmVk IGEgc3RhdGUgd2hlcmUgYWxsIHRyaWdnZXIKKyAgICAgYWNjZXNzIHJlc3VsdHMgaW4gZXJyb3Jz IHVudGlsIGFsbCBzdWNoIHRyaWdnZXJzIGFyZSBkcm9wcGVkLiBJdCBpcyBub3QKKyAgICAgc2Fm ZSB0byBhZGQgdHJpZ2dlcnMgc2luY2Ugd2UgZG9uJ3Qga25vdyBpZiB0aGUgYnJva2VuIHRyaWdn ZXIgaGFzIHRoZQorICAgICBzYW1lIG5hbWUgb3IgZXZlbnQgdHlwZS4gTm9yIGlzIGl0IHNhZmUg dG8gaW52b2tlIGFueSB0cmlnZ2VyIGZvciB0aGUKKyAgICAgYWZvcmVtZW50aW9uZWQgcmVhc29u cy4gVGhlIG9ubHkgc2FmZSBvcGVyYXRpb25zIGFyZSBkcm9wX3RyaWdnZXIgYW5kCisgICAgIGRy b3BfYWxsX3RyaWdnZXJzLgorCisgICAgIEBzZWUgVGFibGVfdHJpZ2dlcnNfbGlzdDo6c2V0X3Bh cnNlX2Vycm9yCisgICAqLworICBib29sIG1faGFzX3VucGFyc2VhYmxlX3RyaWdnZXI7CisKKyAg LyoqCisgICAgVGhpcyBlcnJvciB3aWxsIGJlIGRpc3BsYXllZCB3aGVuIHRoZSB1c2VyIHRyaWVz IHRvIG1hbmlwdWxhdGUgb3IgaW52b2tlCisgICAgdHJpZ2dlcnMgb24gYSB0YWJsZSB0aGF0IGhh cyBicm9rZW4gdHJpZ2dlcnMuIEl0IHdpbGwgZ2V0IHNldCBvbmx5IG9uY2UKKyAgICBwZXIgc3Rh dGVtZW50IGFuZCB0aHVzIHdpbGwgY29udGFpbiB0aGUgZmlyc3QgcGFyc2UgZXJyb3IgZW5jb3Vu dGVyZWQgaW4KKyAgICB0aGUgdHJpZ2dlciBmaWxlLgorICAgKi8KKyAgY2hhciBtX3BhcnNlX2Vy cm9yX21lc3NhZ2VbTVlTUUxfRVJSTVNHX1NJWkVdOworCiBwdWJsaWM6CiAgIC8qKgogICAgIEZp ZWxkIHJlc3BvbnNpYmxlIGZvciBzdG9yaW5nIHRyaWdnZXJzIGRlZmluaXRpb25zIGluIGZpbGUu CkBAIC04NCw3ICsxMDUsNyBAQCBwdWJsaWM6CiAgIC8qIEVuZCBvZiBjaGFyYWN0ZXIgc2VyIGNv bnRleHQuICovCiAKICAgVGFibGVfdHJpZ2dlcnNfbGlzdChUQUJMRSAqdGFibGVfYXJnKToKLSAg ICByZWNvcmQxX2ZpZWxkKDApLCB0cmlnZ2VyX3RhYmxlKHRhYmxlX2FyZykKKyAgcmVjb3JkMV9m aWVsZCgwKSwgdHJpZ2dlcl90YWJsZSh0YWJsZV9hcmcpLCBtX2hhc191bnBhcnNlYWJsZV90cmln Z2VyKGZhbHNlKQogICB7CiAgICAgYnplcm8oKGNoYXIgKilib2RpZXMsIHNpemVvZihib2RpZXMp KTsKICAgICBiemVybygoY2hhciAqKXRyaWdnZXJfZmllbGRzLCBzaXplb2YodHJpZ2dlcl9maWVs ZHMpKTsKQEAgLTE0MCw2ICsxNjEsOCBAQCBwdWJsaWM6CiAKICAgdm9pZCBtYXJrX2ZpZWxkc191 c2VkKHRyZ19ldmVudF90eXBlIGV2ZW50KTsKIAorICB2b2lkIHNldF9wYXJzZV9lcnJvcl9tZXNz YWdlKGNoYXIgKmVycm9yX21lc3NhZ2UpOworCiAgIGZyaWVuZCBjbGFzcyBJdGVtX3RyaWdnZXJf ZmllbGQ7CiAgIGZyaWVuZCBpbnQgc3BfY2FjaGVfcm91dGluZXNfYW5kX2FkZF90YWJsZXNfZm9y X3RyaWdnZXJzKFRIRCAqdGhkLCBMRVggKmxleCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRBQkxFX0xJU1QgKnRhYmxlKTsKQEAg LTE1NSw2ICsxNzgsMTYgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBjaGFyICpuZXdfZGJfbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMRVhfU1RSSU5HICpvbGRfdGFibGVfbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMRVhfU1RSSU5HICpuZXdfdGFibGVfbmFtZSk7CisKKyAg Ym9vbCBjaGVja19mb3JfYnJva2VuX3RyaWdnZXJzKCkgCisgIHsKKyAgICBpZiAobV9oYXNfdW5w YXJzZWFibGVfdHJpZ2dlcikKKyAgICB7CisgICAgICBteV9tZXNzYWdlKEVSX1BBUlNFX0VSUk9S LCBtX3BhcnNlX2Vycm9yX21lc3NhZ2UsIE1ZRigwKSk7CisgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICB9CisgICAgcmV0dXJuIGZhbHNlOworICB9CiB9OwogCiBleHRlcm4gY29uc3QgTEVYX1NUUklO RyB0cmdfYWN0aW9uX3RpbWVfdHlwZV9uYW1lc1tdOwoK --===============1225184892115844914== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/dmitry.shulga@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dmitry.shulga@stripped\ # tef314b27j7hkhm6 # target_branch: file:///Users/shulga/projects/mysql/mysql-5.1-\ # bug11753738/ # testament_sha1: 6d6eaa3a211fd151eeb949ec9a40c76d7373f61b # timestamp: 2011-06-10 14:03:53 +0700 # base_revision_id: marko.makela@stripped\ # f5ur24c5mj7rg1cu # # Begin bundle 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 G6r82Q== --===============1225184892115844914==--