From: marko.makela Date: June 9 2011 11:06am Subject: bzr push into mysql-5.1 branch (marko.makela:3638 to 3639) Bug#12612184 List-Archive: http://lists.mysql.com/commits/138943 X-Bug: 12612184 Message-Id: <201106091106.p59B6Z4v016271@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1874413367==" --===============1874413367== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline IDM2MzkgTWFya28gTcOka2Vsw6QJMjAxMS0wNi0wOQogICAgICBCTE9CIGluc3RydW1lbnRhdGlv biBmb3IgQnVnIzEyNjEyMTg0IFJhY2UgY29uZGl0aW9uIGluIHJvd191cGRfY2x1c3RfcmVjKCkK ICAgICAgCiAgICAgIElmIFVOSVZfREVCVUcgb3IgVU5JVl9CTE9CX0xJR0hUX0RFQlVHIGlzIGVu YWJsZWQsIGFkZAogICAgICAhcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKCkgYXNzZXJ0aW9ucywg ZW5zdXJpbmcgdGhhdCByZWNvcmRzIGRvIG5vdAogICAgICBjb250YWluIG51bGwgcG9pbnRlcnMg dG8gZXh0ZXJuYWxseSBzdG9yZWQgY29sdW1ucyBpbiBpbmFwcHJvcHJpYXRlCiAgICAgIHBsYWNl cy4KICAgICAgCiAgICAgIGJ0cl9jdXJfb3B0aW1pc3RpY191cGRhdGUoKTogQXNzZXJ0ICFyZWNf b2Zmc19hbnlfbnVsbF9leHRlcm4oKS4KICAgICAgSW5jb21wbGV0ZSByZWNvcmRzIG11c3QgbmV2 ZXIgYmUgdXBkYXRlZCBvciBkZWxldGVkLiBUaGlzIGFzc2VydGlvbgogICAgICB3aWxsIGNvdmVy IGFsc28gdGhlIHBlc3NpbWlzdGljIHJvdXRlLgogICAgICAKICAgICAgcm93X2J1aWxkKCk6IEFz c2VydCAhcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKCkuIFNlYXJjaCB0dXBsZXMgbXVzdAogICAg ICBuZXZlciBiZSBidWlsdCBmcm9tIGluY29tcGxldGUgaW5kZXggZW50cmllcy4KICAgICAgCiAg ICAgIHJvd19yZWNfdG9faW5kZXhfZW50cnkoKTogQXNzZXJ0ICFyZWNfb2Zmc19hbnlfbnVsbF9l eHRlcm4oKSB1bmxlc3MKICAgICAgUk9XX0NPUFlfREFUQSBpcyByZXF1ZXN0ZWQuIFJPV19DT1BZ X0RBVEEgaXMgdXNlZCBmb3IKICAgICAgbXVsdGktdmVyc2lvbmluZywgYW5kIHRoZXJlZm9yZSBp dCBtaWdodCBiZSB2YWxpZCB0byBjb3B5IHRoZSBtb3N0CiAgICAgIHJlY2VudCAodW5jb21taXR0 ZWQpIHZlcnNpb24gd2hpbGUgaXQgY29udGFpbnMgYSBudWxsIHBvaW50ZXIgdG8KICAgICAgb2Zm LXBhZ2UgY29sdW1ucy4KICAgICAgCiAgICAgIHJvd192ZXJzX2J1aWxkX2Zvcl9jb25zaXN0ZW50 X3JlYWQoKSwKICAgICAgcm93X3ZlcnNfYnVpbGRfZm9yX3NlbWlfY29uc2lzdGVudF9yZWFkKCk6 IEFzc2VydCAhcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKCkKICAgICAgb24gYWxsIHZlcnNpb25z IGV4Y2VwdCB0aGUgbW9zdCByZWNlbnQgb25lLgogICAgICAKICAgICAgdHJ4X3VuZG9fcHJldl92 ZXJzaW9uX2J1aWxkKCk6IEFzc2VydCAhcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKCkgb24KICAg ICAgdGhlIHByZXZpb3VzIHZlcnNpb24uCiAgICAgIAogICAgICByYjo2ODIgYXBwcm92ZWQgYnkg U3VubnkgQmFpbnMKCiAgICBtb2RpZmllZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRy MGN1ci5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwdHlwZXMuaAogICAgICBz dG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9yZW0wcmVjLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS91bml2LmkK ICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHJvdy5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jh c2Uvcm93L3JvdzB2ZXJzLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS90cngvdHJ4MHJlYy5jCiAg ICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cKICAgICAgc3RvcmFnZS9pbm5vZGJf cGx1Z2luL2J0ci9idHIwY3VyLmMKICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUv cmVtMHJlYy5oCiAgICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi9pbmNsdWRlL3JlbTByZWMuaWMK ICAgICAgc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Jvdy9yb3cwcm93LmMKICAgICAgc3RvcmFnZS9p bm5vZGJfcGx1Z2luL3Jvdy9yb3cwdmVycy5jCiAgICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi90 cngvdHJ4MHJlYy5jCiAzNjM4IFJhbWlsIEthbGltdWxsaW4JMjAxMS0wNi0wNwogICAgICBCdWcj MTE3NjQ0ODc6IG15aXNhbSBjb3JydXB0aW9uIHdpdGggaW5zZXJ0IGlnbm9yZSBhbmQgaW52YWxp ZCBzcGF0aWFsIGRhdGEKICAgICAgCiAgICAgIFByb2JsZW06IGluIGNhc2Ugb2Ygd3JvbmcgZGF0 YSBpbnNlcnQgaW50byBpbmRleGVkIEdFT01FVFJZIGZpZWxkcyAKICAgICAgKGUuZy4gTlVMTCB2 YWx1ZSBmb3IgYSBub3QgTlVMTCBmaWVsZCkgTXlJU0FNIHJlcG9ydGVkIAogICAgICAiRVJST1Ig MTI2IChIWTAwMCk6IEluY29ycmVjdCBrZXkgZmlsZSBmb3IgdGFibGU7IHRyeSB0byByZXBhaXIg aXQiCiAgICAgIGR1ZSB0byBtaXN1c2Ugb2YgdGhlIGtleSBkZWxldGlvbiBmdW5jdGlvbi4KICAg ICAgCiAgICAgIEZpeDogYWx3YXlzIHVzZSBSLXRyZWUga2V5IGZ1bmN0aW9ucyBmb3IgUi10cmVl IGJhc2VkIGluZGV4ZXMKICAgICAgYW5kIEItdHJlZSBrZXkgZnVuY3Rpb25zIGZvciBCLXRyZWUg YmFzZWQgaW5kZXhlcy4KICAgICBAIG15c3FsLXRlc3Qvci9naXMtcnRyZWUucmVzdWx0CiAgICAg ICAgQnVnIzExNzY0NDg3OiBteWlzYW0gY29ycnVwdGlvbiB3aXRoIGluc2VydCBpZ25vcmUgYW5k IGludmFsaWQgc3BhdGlhbCBkYXRhCiAgICAgICAgICAtIHRlc3QgcmVzdWx0LgogICAgIEAgbXlz cWwtdGVzdC90L2dpcy1ydHJlZS50ZXN0CiAgICAgICAgQnVnIzExNzY0NDg3OiBteWlzYW0gY29y cnVwdGlvbiB3aXRoIGluc2VydCBpZ25vcmUgYW5kIGludmFsaWQgc3BhdGlhbCBkYXRhCiAgICAg ICAgICAtIHRlc3QgY2FzZS4KICAgICBAIHN0b3JhZ2UvbXlpc2FtL21pX3VwZGF0ZS5jCiAgICAg ICAgQnVnIzExNzY0NDg3OiBteWlzYW0gY29ycnVwdGlvbiB3aXRoIGluc2VydCBpZ25vcmUgYW5k IGludmFsaWQgc3BhdGlhbCBkYXRhCiAgICAgICAgICAtIGhhbmRsaW5nIHVwZGF0ZSBlcnJvcnMg Y2hlY2sgZm9yIEhBX0VSUl9OVUxMX0lOX1NQQVRJQUwgYXMgd2VsbCB0byBiZSAKICAgICAgICBj b25zaXN0ZW50IHdpdGggbWlfd3JpdGUoKTsKICAgICAgICAgIC0gYWx3YXlzIHVzZSBrZXlpbmZv LT5ja19kZWxldGUoKS9ja19pbnNlcnQoKSBpbnN0ZWFkIG9mIF9taV9ja19kZWxldGUoKS9fbWlf Y2tfd3JpdGUoKQogICAgICAgIHRvIGhhbmRsZSBpbmRleCBwcm9wZXJseSwgYXMgaXQgbWF5IGJl IG9mIEItdHJlZSBvciBSLXRyZWUgdHlwZS4KICAgICBAIHN0b3JhZ2UvbXlpc2FtL21pX3dyaXRl LmMKICAgICAgICBCdWcjMTE3NjQ0ODc6IG15aXNhbSBjb3JydXB0aW9uIHdpdGggaW5zZXJ0IGln bm9yZSBhbmQgaW52YWxpZCBzcGF0aWFsIGRhdGEKICAgICAgICAgIC0gYWx3YXlzIHVzZSBrZXlp bmZvLT5ja19kZWxldGUoKSBpbnN0ZWFkIG9mIF9taV9ja19kZWxldGUoKSB0byBoYW5kbGUKICAg ICAgICBpbmRleCBwcm9wZXJseSwgYXMgaXQgbWF5IGJlIG9mIEItdHJlZSBvciBSLXRyZWUgdHlw ZS4KCiAgICBtb2RpZmllZDoKICAgICAgbXlzcWwtdGVzdC9yL2dpcy1ydHJlZS5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC90L2dpcy1ydHJlZS50ZXN0CiAgICAgIHN0b3JhZ2UvbXlpc2FtL21pX3Vw ZGF0ZS5jCiAgICAgIHN0b3JhZ2UvbXlpc2FtL21pX3dyaXRlLmMKPT09IG1vZGlmaWVkIGZpbGUg J3N0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBjdXIuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9i dHIvYnRyMGN1ci5jCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96 NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvYnRyL2J0cjBjdXIuYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC03 Myw2ICs3MywxMyBAQCB0aGlzIG1hbnkgaW5kZXggcGFnZXMgKi8KIAkgICsgbm90X2VtcHR5KQkJ CQkJCQlcCiAJIC8gKEJUUl9LRVlfVkFMX0VTVElNQVRFX05fUEFHRVMgKyBleHRfc2l6ZSkpCiAK KyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcK Ky8qIEEgQkxPQiBmaWVsZCByZWZlcmVuY2UgZnVsbCBvZiB6ZXJvLCBmb3IgdXNlIGluIGFzc2Vy dGlvbnMgYW5kIHRlc3RzLgorSW5pdGlhbGx5LCBCTE9CIGZpZWxkIHJlZmVyZW5jZXMgYXJlIHNl dCB0byB6ZXJvLCBpbgorZHR1cGxlX2NvbnZlcnRfYmlnX3JlYygpLiAqLworY29uc3QgYnl0ZSBm aWVsZF9yZWZfemVyb1tCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFXTsKKyNlbmRpZiAvKiBVTklW X0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLworCiAvKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIE1h cmtzIGFsbCBleHRlcm4gZmllbGRzIGluIGEgcmVjb3JkIGFzIG93bmVkIGJ5IHRoZSByZWNvcmQu IFRoaXMgZnVuY3Rpb24KIHNob3VsZCBiZSBjYWxsZWQgaWYgdGhlIGRlbGV0ZSBtYXJrIG9mIGEg cmVjb3JkIGlzIHJlbW92ZWQ6IGEgbm90IGRlbGV0ZQpAQCAtMTU4NSw2ICsxNTkyLDkgQEAgYnRy X2N1cl9vcHRpbWlzdGljX3VwZGF0ZSgKIAogCWhlYXAgPSBtZW1faGVhcF9jcmVhdGUoMTAyNCk7 CiAJb2Zmc2V0cyA9IHJlY19nZXRfb2Zmc2V0cyhyZWMsIGluZGV4LCBOVUxMLCBVTElOVF9VTkRF RklORUQsICZoZWFwKTsKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JM T0JfTElHSFRfREVCVUcKKwl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocmVjLCBvZmZz ZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8K IAogI2lmZGVmIFVOSVZfREVCVUcKIAlpZiAoYnRyX2N1cl9wcmludF9yZWNvcmRfb3BzICYmIHRo cikgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwdHlw ZXMuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J0cjB0eXBlcy5oCXJldmlkOnJh bWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3Jh Z2UvaW5ub2Jhc2UvaW5jbHVkZS9idHIwdHlwZXMuaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xl LmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC0xOCw0ICsxOCw5IEBAIHR5 cGVkZWYgc3RydWN0IGJ0cl9wY3VyX3N0cnVjdAkJYnRyX3BjdXIKIHR5cGVkZWYgc3RydWN0IGJ0 cl9jdXJfc3RydWN0CQlidHJfY3VyX3Q7CiB0eXBlZGVmIHN0cnVjdCBidHJfc2VhcmNoX3N0cnVj dAlidHJfc2VhcmNoX3Q7CiAKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5lZCBVTklW X0JMT0JfTElHSFRfREVCVUcKKyNkZWZpbmUgQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRQkyMAor ZXh0ZXJuIGNvbnN0IGJ5dGUgZmllbGRfcmVmX3plcm9bQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0la RV07CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwog I2VuZGlmCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JlbTBy ZWMuaCcKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3JlbTByZWMuaAlyZXZpZDpyYW1p bEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdl L2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29t LTIwMTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTMzOSw2ICszMzksMTkgQEAgcmVj X29mZnNfYW55X2V4dGVybigKIC8qPT09PT09PT09PT09PT09PSovCiAJCQkJLyogb3V0OiBUUlVF IGlmIGEgZmllbGQgaXMgc3RvcmVkIGV4dGVybmFsbHkgKi8KIAljb25zdCB1bGludCoJb2Zmc2V0 cyk7LyogaW46IGFycmF5IHJldHVybmVkIGJ5IHJlY19nZXRfb2Zmc2V0cygpICovCisjaWYgZGVm aW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0RldGVy bWluZSBpZiB0aGUgb2Zmc2V0cyBhcmUgZm9yIGEgcmVjb3JkIGNvbnRhaW5pbmcgbnVsbCBCTE9C IHBvaW50ZXJzLiAqLworVU5JVl9JTkxJTkUKK2NvbnN0IGJ5dGUqCityZWNfb2Zmc19hbnlfbnVs bF9leHRlcm4oCisvKj09PT09PT09PT09PT09PT09PT09PSovCisJCQkJCS8qIG91dDogZmlyc3Qg ZmllbGQgY29udGFpbmluZworCQkJCQlhIG51bGwgQkxPQiBwb2ludGVyLAorCQkJCQlvciBOVUxM IGlmIG5vbmUgZm91bmQgKi8KKwlyZWNfdCoJCXJlYywJCS8qITwgaW46IHJlY29yZCAqLworCWNv bnN0IHVsaW50KglvZmZzZXRzKTsJLyohPCBpbjogcmVjX2dldF9vZmZzZXRzKHJlYykgKi8KKyNl bmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLwogLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog U2V0cyB0aGUgdmFsdWUgb2YgdGhlIGl0aCBmaWVsZCBleHRlcm4gc3RvcmFnZSBiaXQuICovCiBV TklWX0lOTElORQoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9y ZW0wcmVjLmljJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5pYwlyZXZp ZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9z dG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvcmVtMHJlYy5pYwlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC05LDYgKzksNyBAQCBD cmVhdGVkIDUvMzAvMTk5NCBIZWlra2kgVHV1cmkKICNpbmNsdWRlICJtYWNoMGRhdGEuaCIKICNp bmNsdWRlICJ1dDBieXRlLmgiCiAjaW5jbHVkZSAiZGljdDBkaWN0LmgiCisjaW5jbHVkZSAiYnRy MHR5cGVzLmgiCiAKIC8qIENvbXBhY3QgZmxhZyBPUmVkIHRvIHRoZSBleHRyYSBzaXplIHJldHVy bmVkIGJ5IHJlY19nZXRfb2Zmc2V0cygpICovCiAjZGVmaW5lIFJFQ19PRkZTX0NPTVBBQ1QJKCh1 bGludCkgMSA8PCAzMSkKQEAgLTEwMjAsNiArMTAyMSw0MiBAQCByZWNfb2Zmc19hbnlfZXh0ZXJu KAogCXJldHVybihGQUxTRSk7CiB9CiAKKyNpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVmaW5l ZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKgorRGV0ZXJtaW5lIGlmIHRoZSBvZmZzZXRzIGFyZSBm b3IgYSByZWNvcmQgY29udGFpbmluZyBudWxsIEJMT0IgcG9pbnRlcnMuICovCitVTklWX0lOTElO RQorY29uc3QgYnl0ZSoKK3JlY19vZmZzX2FueV9udWxsX2V4dGVybigKKy8qPT09PT09PT09PT09 PT09PT09PT09Ki8KKwkJCQkJLyogb3V0OiBmaXJzdCBmaWVsZCBjb250YWluaW5nCisJCQkJCWEg bnVsbCBCTE9CIHBvaW50ZXIsCisJCQkJCW9yIE5VTEwgaWYgbm9uZSBmb3VuZCAqLworCXJlY190 KgkJcmVjLAkJLyohPCBpbjogcmVjb3JkICovCisJY29uc3QgdWxpbnQqCW9mZnNldHMpCS8qITwg aW46IHJlY19nZXRfb2Zmc2V0cyhyZWMpICovCit7CisJdWxpbnQJaTsKKwl1dF9hZChyZWNfb2Zm c192YWxpZGF0ZShyZWMsIE5VTEwsIG9mZnNldHMpKTsKKworCWZvciAoaSA9IDA7IGkgPCByZWNf b2Zmc19uX2ZpZWxkcyhvZmZzZXRzKTsgaSsrKSB7CisJCWlmIChyZWNfb2Zmc19udGhfZXh0ZXJu KG9mZnNldHMsIGkpKSB7CisJCQl1bGludAkJbGVuOworCQkJY29uc3QgYnl0ZSoJZmllbGQKKwkJ CQk9IHJlY19nZXRfbnRoX2ZpZWxkKHJlYywgb2Zmc2V0cywgaSwgJmxlbik7CisKKwkJCXV0X2Eo bGVuID49IEJUUl9FWFRFUk5fRklFTERfUkVGX1NJWkUpOworCQkJaWYgKCFtZW1jbXAoZmllbGQg KyBsZW4KKwkJCQkgICAgLSBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFLAorCQkJCSAgICBmaWVs ZF9yZWZfemVybywKKwkJCQkgICAgQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRSkpIHsKKwkJCQly ZXR1cm4oZmllbGQpOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuKE5VTEwpOworfQorI2VuZGlm IC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCisKIC8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIFNl dHMgdGhlIHZhbHVlIG9mIHRoZSBpdGggZmllbGQgZXh0ZXJuIHN0b3JhZ2UgYml0LiAqLwogVU5J Vl9JTkxJTkUKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdW5p di5pJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvdW5pdi5pCXJldmlkOnJhbWlsQG15 c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5u b2Jhc2UvaW5jbHVkZS91bml2LmkJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2 MDkxMDMxMTUtcmhmd3h0bXllZGNwNWlsNgpAQCAtODgsNiArODgsOCBAQCBtZW1vcnkgaXMgcmVh ZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgYmxvCiAjaWYgMAogI2RlZmluZSBVTklWX0RFQlVHX1ZB TEdSSU5ECQkJLyogRW5hYmxlIGV4dHJhCiAJCQkJCQlWYWxncmluZCBpbnN0cnVtZW50YXRpb24g Ki8KKyNkZWZpbmUgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCQkJLyogRW5hYmxlIG9mZi1wYWdlIGNv bHVtbgorCQkJCQkJZGVidWdnaW5nIHdpdGhvdXQgVU5JVl9ERUJVRyAqLwogI2RlZmluZSBVTklW X0RFQlVHCQkJCS8qIEVuYWJsZSB1dF9hZCgpIGFzc2VydGlvbnMgKi8KICNkZWZpbmUgVU5JVl9M SVNUX0RFQlVHCQkJCS8qIGRlYnVnIFVUX0xJU1RfIG1hY3JvcyAqLwogI2RlZmluZSBVTklWX01F TV9ERUJVRwkJCQkvKiBkZXRlY3QgbWVtb3J5IGxlYWtzIGV0YyAqLwoKPT09IG1vZGlmaWVkIGZp bGUgJ3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzByb3cuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFz ZS9yb3cvcm93MHJvdy5jCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1m ZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzByb3cuYwlyZXZpZDpt YXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBA IC0yMTAsNiArMjEwLDEwIEBAIHJvd19idWlsZCgKIAkJdXRfYWQocmVjX29mZnNfdmFsaWRhdGUo cmVjLCBpbmRleCwgb2Zmc2V0cykpOwogCX0KIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBk ZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4 dGVybihyZWMsIG9mZnNldHMpKTsKKyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9M SUdIVF9ERUJVRyAqLworCiAJaWYgKHR5cGUgIT0gUk9XX0NPUFlfUE9JTlRFUlMpIHsKIAkJLyog VGFrZSBhIGNvcHkgb2YgcmVjIHRvIGhlYXAgKi8KIAkJYnVmID0gbWVtX2hlYXBfYWxsb2MoaGVh cCwgcmVjX29mZnNfc2l6ZShvZmZzZXRzKSk7CkBAIC0zMDIsNiArMzA2LDEwIEBAIHJvd19yZWNf dG9faW5kZXhfZW50cnkoCiAJCXJlYyA9IHJlY19jb3B5KGJ1ZiwgcmVjLCBvZmZzZXRzKTsKIAkJ LyogQXZvaWQgYSBkZWJ1ZyBhc3NlcnRpb24gaW4gcmVjX29mZnNfdmFsaWRhdGUoKS4gKi8KIAkJ cmVjX29mZnNfbWFrZV92YWxpZChyZWMsIGluZGV4LCBvZmZzZXRzKTsKKyNpZiBkZWZpbmVkIFVO SVZfREVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwl9IGVsc2UgeworCQl1 dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4ocmVjLCBvZmZzZXRzKSk7CisjZW5kaWYgLyog VU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KIAl9CiAKIAlyZWNfbGVuID0g cmVjX29mZnNfbl9maWVsZHMob2Zmc2V0cyk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9p bm5vYmFzZS9yb3cvcm93MHZlcnMuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93MHZl cnMuYwlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFn NAorKysgYi9zdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdmVycy5jCXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTQ3Myw2ICs0 NzMsMTEgQEAgcm93X3ZlcnNfYnVpbGRfZm9yX2NvbnNpc3RlbnRfcmVhZCgKIAkJCQkvKiBUaGUg dmlldyBhbHJlYWR5IHNlZXMgdGhpcyB2ZXJzaW9uOiB3ZSBjYW4KIAkJCQljb3B5IGl0IHRvIGlu X2hlYXAgYW5kIHJldHVybiAqLwogCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQg VU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJCQkJdXRfYSghcmVjX29mZnNfYW55X251bGxfZXh0ZXJu KAorCQkJCQkgICAgIHZlcnNpb24sICpvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8 fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCQkJCWJ1ZiA9IG1lbV9oZWFwX2FsbG9jKGlu X2hlYXAsCiAJCQkJCQkgICAgIHJlY19vZmZzX3NpemUoKm9mZnNldHMpKTsKIAkJCQkqb2xkX3Zl cnMgPSByZWNfY29weShidWYsIHZlcnNpb24sICpvZmZzZXRzKTsKQEAgLTUwNiw2ICs1MTEsMTAg QEAgcm93X3ZlcnNfYnVpbGRfZm9yX2NvbnNpc3RlbnRfcmVhZCgKIAkJKm9mZnNldHMgPSByZWNf Z2V0X29mZnNldHMocHJldl92ZXJzaW9uLCBpbmRleCwgKm9mZnNldHMsCiAJCQkJCSAgIFVMSU5U X1VOREVGSU5FRCwgb2Zmc2V0X2hlYXApOwogCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRl ZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4 dGVybihwcmV2X3ZlcnNpb24sICpvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBV TklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCQl0cnhfaWQgPSByb3dfZ2V0X3JlY190cnhfaWQo cHJldl92ZXJzaW9uLCBpbmRleCwgKm9mZnNldHMpOwogCiAJCWlmIChyZWFkX3ZpZXdfc2Vlc190 cnhfaWQodmlldywgdHJ4X2lkKSkgewpAQCAtNjA2LDYgKzYxNSwxMCBAQCByb3dfdmVyc19idWls ZF9mb3Jfc2VtaV9jb25zaXN0ZW50X3JlYWQoCiAJCQkvKiBXZSBmb3VuZCBhIHZlcnNpb24gdGhh dCBiZWxvbmdzIHRvIGEKIAkJCWNvbW1pdHRlZCB0cmFuc2FjdGlvbjogcmV0dXJuIGl0LiAqLwog CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVH CisJCQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4odmVyc2lvbiwgKm9mZnNldHMpKTsK KyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdIVF9ERUJVRyAqLworCiAJCQlp ZiAocmVjID09IHZlcnNpb24pIHsKIAkJCQkqb2xkX3ZlcnMgPSByZWM7CiAJCQkJZXJyID0gREJf U1VDQ0VTUzsKQEAgLTY2Myw2ICs2NzYsOSBAQCByb3dfdmVyc19idWlsZF9mb3Jfc2VtaV9jb25z aXN0ZW50X3JlYWQoCiAJCXZlcnNpb24gPSBwcmV2X3ZlcnNpb247CiAJCSpvZmZzZXRzID0gcmVj X2dldF9vZmZzZXRzKHZlcnNpb24sIGluZGV4LCAqb2Zmc2V0cywKIAkJCQkJICAgVUxJTlRfVU5E RUZJTkVELCBvZmZzZXRfaGVhcCk7CisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQg VU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybih2 ZXJzaW9uLCAqb2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJ R0hUX0RFQlVHICovCiAJfS8qIGZvciAoOzspICovCiAKIAlpZiAoaGVhcCkgewoKPT09IG1vZGlm aWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMuYycKLS0tIGEvc3RvcmFnZS9p bm5vYmFzZS90cngvdHJ4MHJlYy5jCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0 My02bm1mZW96NmZndHI5MWc0CisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvdHJ4L3RyeDByZWMuYwly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1 aWw2CkBAIC0xMzk3LDYgKzEzOTcsMTAgQEAgdHJ4X3VuZG9fcHJldl92ZXJzaW9uX2J1aWxkKAog CQlyZXR1cm4oREJfRVJST1IpOwogCX0KIAorIyBpZiBkZWZpbmVkIFVOSVZfREVCVUcgfHwgZGVm aW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRl cm4ocmVjLCBvZmZzZXRzKSk7CisjIGVuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJ R0hUX0RFQlVHICovCisKIAlpZiAocm93X3VwZF9jaGFuZ2VzX2ZpZWxkX3NpemVfb3JfZXh0ZXJu YWwoaW5kZXgsIG9mZnNldHMsIHVwZGF0ZSkpIHsKIAkJdWxpbnQqCWV4dF92ZWN0OwogCQl1bGlu dAluX2V4dF92ZWN0OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9D aGFuZ2VMb2cnCi0tLSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9DaGFuZ2VMb2cJcmV2aWQ6cmFt aWxAbXlzcWwuY29tLTIwMTEwNjA3MTUzMDQzLTZubWZlb3o2Zmd0cjkxZzQKKysrIGIvc3RvcmFn ZS9pbm5vZGJfcGx1Z2luL0NoYW5nZUxvZwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDExMDYwOTEwMzExNS1yaGZ3eHRteWVkY3A1aWw2CkBAIC0xLDMgKzEsOCBAQAorMjAxMS0wNi0w OQlUaGUgSW5ub0RCIFRlYW0KKwkqIGJ0ci9idHIwY3VyLmMsIGluY2x1ZGUvcmVtMHJlYy5oLCBp bmNsdWRlL3JlbTByZWMuaWMsCisJKiByb3cvcm93MHJvdy5jLCByb3cvcm93MHZlcnMuYywgdHJ4 L3RyeDByZWMuYzoKKwlJbnN0cnVtZW50YXRpb24gZm9yIEJ1ZyMxMjYxMjE4NCBSYWNlIGNvbmRp dGlvbiBpbiByb3dfdXBkX2NsdXN0X3JlYygpCisKIDIwMTEtMDQtMDcJVGhlIElubm9EQiBUZWFt CiAKIAkqIGhhbmRsZXIvaGFfaW5ub2RiLmNjLCBoYW5kbGVyL2hhX2lubm9kYi5oLCBoYW5kbGVy L2hhbmRsZXIwYWx0ZXIuY2M6Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1 Z2luL2J0ci9idHIwY3VyLmMnCi0tLSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9idHIvYnRyMGN1 ci5jCXJldmlkOnJhbWlsQG15c3FsLmNvbS0yMDExMDYwNzE1MzA0My02bm1mZW96NmZndHI5MWc0 CisrKyBiL3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9idHIvYnRyMGN1ci5jCXJldmlkOm1hcmtvLm1h a2VsYUBvcmFjbGUuY29tLTIwMTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEsNiAr MSw2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk0LCAyMDEw LCBJbm5vYmFzZSBPeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NCwg MjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K IENvcHlyaWdodCAoYykgMjAwOCwgR29vZ2xlIEluYy4KIAogUG9ydGlvbnMgb2YgdGhpcyBmaWxl IGNvbnRhaW4gbW9kaWZpY2F0aW9ucyBjb250cmlidXRlZCBhbmQgY29weXJpZ2h0ZWQgYnkKQEAg LTE4NzEsNiArMTg3MSw5IEBAIGJ0cl9jdXJfb3B0aW1pc3RpY191cGRhdGUoCiAKIAloZWFwID0g bWVtX2hlYXBfY3JlYXRlKDEwMjQpOwogCW9mZnNldHMgPSByZWNfZ2V0X29mZnNldHMocmVjLCBp bmRleCwgTlVMTCwgVUxJTlRfVU5ERUZJTkVELCAmaGVhcCk7CisjaWYgZGVmaW5lZCBVTklWX0RF QlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJdXRfYSghcmVjX29mZnNfYW55 X251bGxfZXh0ZXJuKHJlYywgb2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHICovCiAKICNpZmRlZiBVTklWX0RFQlVHCiAJaWYgKGJ0cl9jdXJf cHJpbnRfcmVjb3JkX29wcyAmJiB0aHIpIHsKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lu bm9kYl9wbHVnaW4vaW5jbHVkZS9yZW0wcmVjLmgnCi0tLSBhL3N0b3JhZ2UvaW5ub2RiX3BsdWdp bi9pbmNsdWRlL3JlbTByZWMuaAlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMt Nm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5jbHVkZS9yZW0w cmVjLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MDkxMDMxMTUtcmhmd3h0 bXllZGNwNWlsNgpAQCAtMSw2ICsxLDYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogCi1Db3B5 cmlnaHQgKGMpIDE5OTQsIDIwMDksIElubm9iYXNlIE95LiBBbGwgUmlnaHRzIFJlc2VydmVkLgor Q29weXJpZ2h0IChjKSAxOTk0LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBB bGwgUmlnaHRzIFJlc2VydmVkLgogCiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUKQEAgLTQ4MCw2ICs0ODAsMTggQEAgdWxpbnQKIHJlY19vZmZzX2FueV9leHRlcm4o CiAvKj09PT09PT09PT09PT09PT0qLwogCWNvbnN0IHVsaW50KglvZmZzZXRzKTsvKiE8IGluOiBh cnJheSByZXR1cm5lZCBieSByZWNfZ2V0X29mZnNldHMoKSAqLworI2lmIGRlZmluZWQgVU5JVl9E RUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworLyoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKK0RldGVybWluZSBpZiB0 aGUgb2Zmc2V0cyBhcmUgZm9yIGEgcmVjb3JkIGNvbnRhaW5pbmcgbnVsbCBCTE9CIHBvaW50ZXJz LgorQHJldHVybglmaXJzdCBmaWVsZCBjb250YWluaW5nIGEgbnVsbCBCTE9CIHBvaW50ZXIsIG9y IE5VTEwgaWYgbm9uZSBmb3VuZCAqLworVU5JVl9JTkxJTkUKK2NvbnN0IGJ5dGUqCityZWNfb2Zm c19hbnlfbnVsbF9leHRlcm4oCisvKj09PT09PT09PT09PT09PT09PT09PSovCisJY29uc3QgcmVj X3QqCXJlYywJCS8qITwgaW46IHJlY29yZCAqLworCWNvbnN0IHVsaW50KglvZmZzZXRzKQkvKiE8 IGluOiByZWNfZ2V0X29mZnNldHMocmVjKSAqLworCV9fYXR0cmlidXRlX18oKG5vbm51bGwsIHdh cm5fdW51c2VkX3Jlc3VsdCkpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJ R0hUX0RFQlVHICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqLy8qKgogUmV0dXJucyBub256ZXJvIGlmIHRoZSBleHRlcm4gYml0IGlzIHNl dCBpbiBudGggZmllbGQgb2YgcmVjLgogQHJldHVybglub256ZXJvIGlmIGV4dGVybmFsbHkgc3Rv cmVkICovCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUv cmVtMHJlYy5pYycKLS0tIGEvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL2luY2x1ZGUvcmVtMHJlYy5p YwlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMwNDMtNm5tZmVvejZmZ3RyOTFnNAor KysgYi9zdG9yYWdlL2lubm9kYl9wbHVnaW4vaW5jbHVkZS9yZW0wcmVjLmljCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEs NiArMSw2IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk0LCAy MDA5LCBJbm5vYmFzZSBPeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5 NCwgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZl ZC4KIAogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIKIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC0yNiw2 ICsyNiw3IEBAIENyZWF0ZWQgNS8zMC8xOTk0IEhlaWtraSBUdXVyaQogI2luY2x1ZGUgIm1hY2gw ZGF0YS5oIgogI2luY2x1ZGUgInV0MGJ5dGUuaCIKICNpbmNsdWRlICJkaWN0MGRpY3QuaCIKKyNp bmNsdWRlICJidHIwdHlwZXMuaCIKIAogLyogQ29tcGFjdCBmbGFnIE9SZWQgdG8gdGhlIGV4dHJh IHNpemUgcmV0dXJuZWQgYnkgcmVjX2dldF9vZmZzZXRzKCkgKi8KICNkZWZpbmUgUkVDX09GRlNf Q09NUEFDVAkoKHVsaW50KSAxIDw8IDMxKQpAQCAtMTA4Nyw2ICsxMDg4LDQ0IEBAIHJlY19vZmZz X2FueV9leHRlcm4oCiAJcmV0dXJuKFVOSVZfVU5MSUtFTFkoKnJlY19vZmZzX2Jhc2Uob2Zmc2V0 cykgJiBSRUNfT0ZGU19FWFRFUk5BTCkpOwogfQogCisjaWYgZGVmaW5lZCBVTklWX0RFQlVHIHx8 IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisvKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorRGV0ZXJtaW5lIGlmIHRoZSBvZmZz ZXRzIGFyZSBmb3IgYSByZWNvcmQgY29udGFpbmluZyBudWxsIEJMT0IgcG9pbnRlcnMuCitAcmV0 dXJuCWZpcnN0IGZpZWxkIGNvbnRhaW5pbmcgYSBudWxsIEJMT0IgcG9pbnRlciwgb3IgTlVMTCBp ZiBub25lIGZvdW5kICovCitVTklWX0lOTElORQorY29uc3QgYnl0ZSoKK3JlY19vZmZzX2FueV9u dWxsX2V4dGVybigKKy8qPT09PT09PT09PT09PT09PT09PT09Ki8KKwljb25zdCByZWNfdCoJcmVj LAkJLyohPCBpbjogcmVjb3JkICovCisJY29uc3QgdWxpbnQqCW9mZnNldHMpCS8qITwgaW46IHJl Y19nZXRfb2Zmc2V0cyhyZWMpICovCit7CisJdWxpbnQJaTsKKwl1dF9hZChyZWNfb2Zmc192YWxp ZGF0ZShyZWMsIE5VTEwsIG9mZnNldHMpKTsKKworCWlmICghcmVjX29mZnNfYW55X2V4dGVybihv ZmZzZXRzKSkgeworCQlyZXR1cm4oTlVMTCk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHJlY19v ZmZzX25fZmllbGRzKG9mZnNldHMpOyBpKyspIHsKKwkJaWYgKHJlY19vZmZzX250aF9leHRlcm4o b2Zmc2V0cywgaSkpIHsKKwkJCXVsaW50CQlsZW47CisJCQljb25zdCBieXRlKglmaWVsZAorCQkJ CT0gcmVjX2dldF9udGhfZmllbGQocmVjLCBvZmZzZXRzLCBpLCAmbGVuKTsKKworCQkJdXRfYShs ZW4gPj0gQlRSX0VYVEVSTl9GSUVMRF9SRUZfU0laRSk7CisJCQlpZiAoIW1lbWNtcChmaWVsZCAr IGxlbgorCQkJCSAgICAtIEJUUl9FWFRFUk5fRklFTERfUkVGX1NJWkUsCisJCQkJICAgIGZpZWxk X3JlZl96ZXJvLAorCQkJCSAgICBCVFJfRVhURVJOX0ZJRUxEX1JFRl9TSVpFKSkgeworCQkJCXJl dHVybihmaWVsZCk7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4oTlVMTCk7Cit9CisjZW5kaWYg LyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogLyoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIFJldHVybnMg bm9uemVybyBpZiB0aGUgZXh0ZXJuIGJpdCBpcyBzZXQgaW4gbnRoIGZpZWxkIG9mIHJlYy4KIEBy ZXR1cm4Jbm9uemVybyBpZiBleHRlcm5hbGx5IHN0b3JlZCAqLwoKPT09IG1vZGlmaWVkIGZpbGUg J3N0b3JhZ2UvaW5ub2RiX3BsdWdpbi9yb3cvcm93MHJvdy5jJwotLS0gYS9zdG9yYWdlL2lubm9k Yl9wbHVnaW4vcm93L3JvdzByb3cuYwlyZXZpZDpyYW1pbEBteXNxbC5jb20tMjAxMTA2MDcxNTMw NDMtNm5tZmVvejZmZ3RyOTFnNAorKysgYi9zdG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzBy b3cuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDExMDYwOTEwMzExNS1yaGZ3eHRt eWVkY3A1aWw2CkBAIC0xLDYgKzEsNiBAQAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKLUNvcHly aWdodCAoYykgMTk5NiwgMjAxMCwgSW5ub2Jhc2UgT3kuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCitD b3B5cmlnaHQgKGMpIDE5OTYsIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFs bCBSaWdodHMgUmVzZXJ2ZWQuCiAKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyCiB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZQpAQCAtMjMxLDYgKzIzMSwxMCBAQCByb3dfYnVpbGQoCiAJCXV0X2FkKHJlY19vZmZz X3ZhbGlkYXRlKHJlYywgaW5kZXgsIG9mZnNldHMpKTsKIAl9CiAKKyNpZiBkZWZpbmVkIFVOSVZf REVCVUcgfHwgZGVmaW5lZCBVTklWX0JMT0JfTElHSFRfREVCVUcKKwl1dF9hKCFyZWNfb2Zmc19h bnlfbnVsbF9leHRlcm4ocmVjLCBvZmZzZXRzKSk7CisjZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBV TklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCWlmICh0eXBlICE9IFJPV19DT1BZX1BPSU5URVJT KSB7CiAJCS8qIFRha2UgYSBjb3B5IG9mIHJlYyB0byBoZWFwICovCiAJCWJ1ZiA9IG1lbV9oZWFw X2FsbG9jKGhlYXAsIHJlY19vZmZzX3NpemUob2Zmc2V0cykpOwpAQCAtNDE1LDYgKzQxOSwxMCBA QCByb3dfcmVjX3RvX2luZGV4X2VudHJ5KAogCQlyZWMgPSByZWNfY29weShidWYsIHJlYywgb2Zm c2V0cyk7CiAJCS8qIEF2b2lkIGEgZGVidWcgYXNzZXJ0aW9uIGluIHJlY19vZmZzX3ZhbGlkYXRl KCkuICovCiAJCXJlY19vZmZzX21ha2VfdmFsaWQocmVjLCBpbmRleCwgb2Zmc2V0cyk7CisjaWYg ZGVmaW5lZCBVTklWX0RFQlVHIHx8IGRlZmluZWQgVU5JVl9CTE9CX0xJR0hUX0RFQlVHCisJfSBl bHNlIHsKKwkJdXRfYSghcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKHJlYywgb2Zmc2V0cykpOwor I2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCiAJfQogCiAJ ZW50cnkgPSByb3dfcmVjX3RvX2luZGV4X2VudHJ5X2xvdyhyZWMsIGluZGV4LCBvZmZzZXRzLCBu X2V4dCwgaGVhcCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Jv dy9yb3cwdmVycy5jJwotLS0gYS9zdG9yYWdlL2lubm9kYl9wbHVnaW4vcm93L3JvdzB2ZXJzLmMJ cmV2aWQ6cmFtaWxAbXlzcWwuY29tLTIwMTEwNjA3MTUzMDQzLTZubWZlb3o2Zmd0cjkxZzQKKysr IGIvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Jvdy9yb3cwdmVycy5jCXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTEwNjA5MTAzMTE1LXJoZnd4dG15ZWRjcDVpbDYKQEAgLTEsNiArMSw2 IEBACiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioKIAotQ29weXJpZ2h0IChjKSAxOTk3LCAyMDA5LCBJ bm5vYmFzZSBPeS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KK0NvcHlyaWdodCAoYykgMTk5NywgMjAx MSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KIAog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQgdW5kZXIKIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCkBAIC01NTAsNiArNTUw LDExIEBAIHJvd192ZXJzX2J1aWxkX2Zvcl9jb25zaXN0ZW50X3JlYWQoCiAJCQkJLyogVGhlIHZp ZXcgYWxyZWFkeSBzZWVzIHRoaXMgdmVyc2lvbjogd2UgY2FuCiAJCQkJY29weSBpdCB0byBpbl9o ZWFwIGFuZCByZXR1cm4gKi8KIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVO SVZfQkxPQl9MSUdIVF9ERUJVRworCQkJCXV0X2EoIXJlY19vZmZzX2FueV9udWxsX2V4dGVybigK KwkJCQkJICAgICB2ZXJzaW9uLCAqb2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwg VU5JVl9CTE9CX0xJR0hUX0RFQlVHICovCisKIAkJCQlidWYgPSBtZW1faGVhcF9hbGxvYyhpbl9o ZWFwLAogCQkJCQkJICAgICByZWNfb2Zmc19zaXplKCpvZmZzZXRzKSk7CiAJCQkJKm9sZF92ZXJz ID0gcmVjX2NvcHkoYnVmLCB2ZXJzaW9uLCAqb2Zmc2V0cyk7CkBAIC01ODMsNiArNTg4LDEwIEBA IHJvd192ZXJzX2J1aWxkX2Zvcl9jb25zaXN0ZW50X3JlYWQoCiAJCSpvZmZzZXRzID0gcmVjX2dl dF9vZmZzZXRzKHByZXZfdmVyc2lvbiwgaW5kZXgsICpvZmZzZXRzLAogCQkJCQkgICBVTElOVF9V TkRFRklORUQsIG9mZnNldF9oZWFwKTsKIAorI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZp bmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworCQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRl cm4ocHJldl92ZXJzaW9uLCAqb2Zmc2V0cykpOworI2VuZGlmIC8qIFVOSVZfREVCVUcgfHwgVU5J Vl9CTE9CX0xJR0hUX0RFQlVHICovCisKIAkJdHJ4X2lkID0gcm93X2dldF9yZWNfdHJ4X2lkKHBy ZXZfdmVyc2lvbiwgaW5kZXgsICpvZmZzZXRzKTsKIAogCQlpZiAocmVhZF92aWV3X3NlZXNfdHJ4 X2lkKHZpZXcsIHRyeF9pZCkpIHsKQEAgLTY4Miw2ICs2OTEsMTAgQEAgcm93X3ZlcnNfYnVpbGRf Zm9yX3NlbWlfY29uc2lzdGVudF9yZWFkKAogCQkJLyogV2UgZm91bmQgYSB2ZXJzaW9uIHRoYXQg YmVsb25ncyB0byBhCiAJCQljb21taXR0ZWQgdHJhbnNhY3Rpb246IHJldHVybiBpdC4gKi8KIAor I2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRwor CQkJdXRfYSghcmVjX29mZnNfYW55X251bGxfZXh0ZXJuKHZlcnNpb24sICpvZmZzZXRzKSk7Cisj ZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBVTklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCQkJaWYg KHJlYyA9PSB2ZXJzaW9uKSB7CiAJCQkJKm9sZF92ZXJzID0gcmVjOwogCQkJCWVyciA9IERCX1NV Q0NFU1M7CkBAIC03MzksNiArNzUyLDkgQEAgcm93X3ZlcnNfYnVpbGRfZm9yX3NlbWlfY29uc2lz dGVudF9yZWFkKAogCQl2ZXJzaW9uID0gcHJldl92ZXJzaW9uOwogCQkqb2Zmc2V0cyA9IHJlY19n ZXRfb2Zmc2V0cyh2ZXJzaW9uLCBpbmRleCwgKm9mZnNldHMsCiAJCQkJCSAgIFVMSU5UX1VOREVG SU5FRCwgb2Zmc2V0X2hlYXApOworI2lmIGRlZmluZWQgVU5JVl9ERUJVRyB8fCBkZWZpbmVkIFVO SVZfQkxPQl9MSUdIVF9ERUJVRworCQl1dF9hKCFyZWNfb2Zmc19hbnlfbnVsbF9leHRlcm4odmVy c2lvbiwgKm9mZnNldHMpKTsKKyNlbmRpZiAvKiBVTklWX0RFQlVHIHx8IFVOSVZfQkxPQl9MSUdI VF9ERUJVRyAqLwogCX0vKiBmb3IgKDs7KSAqLwogCiAJaWYgKGhlYXApIHsKCj09PSBtb2RpZmll ZCBmaWxlICdzdG9yYWdlL2lubm9kYl9wbHVnaW4vdHJ4L3RyeDByZWMuYycKLS0tIGEvc3RvcmFn ZS9pbm5vZGJfcGx1Z2luL3RyeC90cngwcmVjLmMJcmV2aWQ6cmFtaWxAbXlzcWwuY29tLTIwMTEw NjA3MTUzMDQzLTZubWZlb3o2Zmd0cjkxZzQKKysrIGIvc3RvcmFnZS9pbm5vZGJfcGx1Z2luL3Ry eC90cngwcmVjLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMTA2MDkxMDMxMTUt cmhmd3h0bXllZGNwNWlsNgpAQCAtMSw2ICsxLDYgQEAKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgog Ci1Db3B5cmlnaHQgKGMpIDE5OTYsIDIwMTAsIElubm9iYXNlIE95LiBBbGwgUmlnaHRzIFJlc2Vy dmVkLgorQ29weXJpZ2h0IChjKSAxOTk2LCAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlh dGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogCiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlcgogdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUKQEAgLTE1NzcsNiArMTU3NywxMCBAQCB0cnhfdW5kb19wcmV2X3ZlcnNp b25fYnVpbGQoCiAJCXJldHVybihEQl9FUlJPUik7CiAJfQogCisjIGlmIGRlZmluZWQgVU5JVl9E RUJVRyB8fCBkZWZpbmVkIFVOSVZfQkxPQl9MSUdIVF9ERUJVRworCXV0X2EoIXJlY19vZmZzX2Fu eV9udWxsX2V4dGVybihyZWMsIG9mZnNldHMpKTsKKyMgZW5kaWYgLyogVU5JVl9ERUJVRyB8fCBV TklWX0JMT0JfTElHSFRfREVCVUcgKi8KKwogCWlmIChyb3dfdXBkX2NoYW5nZXNfZmllbGRfc2l6 ZV9vcl9leHRlcm5hbChpbmRleCwgb2Zmc2V0cywgdXBkYXRlKSkgewogCQl1bGludAluX2V4dDsK IAoK --===============1874413367== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/marko.makela@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: marko.makela@stripped # target_branch: file:///home/marko/innobase/dev/mysql2a/mysql-5.1/ # testament_sha1: 8c306e23c10bfbc5efa38d299519079ca0ddb040 # timestamp: 2011-06-09 14:06:27 +0300 # base_revision_id: ramil@stripped # # Begin bundle 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 --===============1874413367==--