From: marko.makela Date: June 28 2011 9:44am Subject: bzr push into mysql-5.1 branch (marko.makela:3657 to 3658) Bug#12595087 List-Archive: http://lists.mysql.com/commits/139957 X-Bug: 12595087 Message-Id: <201106280944.p5S9iSmH019129@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDM2NTggTWFya28gTcOka2Vsw6QJMjAxMS0wNi0yOAogICAgICBCdWcjMTI1OTUwODcgLSA2MTE5 MTogUXVlc3Rpb24gYWJvdXQgcGFnZV96aXBfYXZhaWxhYmxlIChjbGVhbiB1cCBwYWdlMHppcC5j KQogICAgICAKICAgICAgcGFnZV96aXBfZGlyX2VsZW1zKCk6IE5ldyBmdW5jdGlvbiwgcmVmYWN0 b3JlZCBmcm9tIHBhZ2VfemlwX2Rpcl9zaXplKCkuCiAgICAgIAogICAgICBwYWdlX3ppcF9kaXJf c2l6ZSgpOiBVc2UgcGFnZV96aXBfZGlyX2VsZW1zKCkKICAgICAgCiAgICAgIHBhZ2VfemlwX2Rp cl9zdGFydF9vZmZzKCk6IE5ldyBmdW5jdGlvbjogR2V0cyBhbiBvZmZzZXQgdG8gdGhlCiAgICAg IGNvbXByZXNzZWQgcGFnZSB0cmFpbGVyICh0aGUgZGVuc2UgcGFnZSBkaXJlY3RvcnkpLCBpbmNs dWRpbmcgZGVsZXRlZAogICAgICByZWNvcmRzICh0aGUgZnJlZSBsaXN0KQogICAgICAKICAgICAg cGFnZV96aXBfZGlyX3N0YXJ0X2xvdyhwYWdlX3ppcCwgbl9kZW5zZSk6IENvbnN0bmVzcy1wcmVz ZXJ2aW5nCiAgICAgIHdyYXBwZXIgbWFjcm8gZm9yIHBhZ2VfemlwX2Rpcl9zdGFydF9vZmZzKCku CiAgICAgIAogICAgICBwYWdlX3ppcF9kaXJfc3RhcnQocGFnZV96aXApOiBDb25zdG5lc3MtcHJl c2VydmluZwogICAgICB3cmFwcGVyIG1hY3JvIGZvciBwYWdlX3ppcF9kaXJfc3RhcnRfb2Zmcygp LgogICAgICAKICAgICAgcGFnZV96aXBfZGVjb21wcmVzc19ub2RlX3B0cnMoKSwgcGFnZV96aXBf ZGVjb21wcmVzc19jbHVzdCgpOiBSZXBsYWNlCiAgICAgIGEgZm9ybXVsYSB3aXRoIGEgZnVsbHkg ZXF1aXZhbGVudCBwYWdlX3ppcF9kaXJfc3RhcnRfbG93KCkgY2FsbC4KICAgICAgCiAgICAgIHBh Z2VfemlwX3dyaXRlX3JlYygpLCBwYWdlX3ppcF9wYXJzZV93cml0ZV9ub2RlX3B0cigpLAogICAg ICBwYWdlX3ppcF93cml0ZV9ub2RlX3B0cigpLCBwYWdlX3ppcF93cml0ZV90cnhfaWRfYW5kX3Jv bGxfcHRyKCksCiAgICAgIHBhZ2VfemlwX2NsZWFyX3JlYygpOiBSZXBsYWNlIGEgZm9ybXVsYSB3 aXRoIGFuIGFsbW9zdCBlcXVpdmFsZW50CiAgICAgIHBhZ2VfemlwX2Rpcl9zdGFydCgpIGNhbGwu CiAgICAgIEl0IGlzIE9LIHRvIHJlcGxhY2UgcGFnZV9kaXJfZ2V0X25faGVhcChwYWdlKSB3aXRo CiAgICAgIHBhZ2VfZGlyX2dldF9uX2hlYXAocGFnZV96aXAtPmRhdGEpLCBiZWNhdXNlCiAgICAg IHV0X2FkKHBhZ2VfemlwX2hlYWRlcl9jbXAocGFnZV96aXAsIHBhZ2UpKSBvcgogICAgICBwYWdl X3ppcF92YWxpZGF0ZShwYWdlX3ppcCwgcGFnZSkgYXNzZXJ0cyB0aGF0IHRoZQogICAgICBwYWdl IGhlYWRlcnMgYXJlIGlkZW50aWNhbC4KICAgICAgCiAgICAgIHJiOjY4NyBhcHByb3ZlZCBieSBK aW1teSBZYW5nCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0b3JhZ2UvaW5ub2RiX3BsdWdpbi9wYWdl L3BhZ2UwemlwLmMKIDM2NTcgRG1pdHJ5IFNodWxnYQkyMDExLTA2LTIzCiAgICAgIEZpeGVkIEJ1 ZyMxMTc1NjAxMyAoZm9ybWVybHkga25vd24gYXMgYnVnIzQ3ODcwKToKICAgICAgQk9HVVMgIlRI RSBUQUJMRSBNWVNRTC5QUk9DIElTIE1JU1NJTkcsLi4uIgogICAgICAKICAgICAgVGhlcmUgd2Fz IGEgcmFjZSBjb25kaXRpb24gYmV0d2VlbiBsb2FkaW5nIGEgc3RvcmVkIHJvdXRpbmUKICAgICAg KGZ1bmN0aW9uL3Byb2NlZHVyZS90cmlnZ2VyKSBzcGVjaWZpZWQgYnkgZnVsbHkgcXVhbGlmaWVk IG5hbWUKICAgICAgU0NIRU1BX05BTUUuUFJPQ19OQU1FIGFuZCBkcm9wcGluZyB0aGUgc3RvcmVk IHJvdXRpbmUgZGF0YWJhc2UuCiAgICAgIAogICAgICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB0aGVy ZSBpcyBhIHdpbmRvdyBmb3IgcmFjZSBjb25kaXRpb24gd2hlbiBvbmUgc2VydmVyCiAgICAgIHRo cmVhZCB0cmllcyB0byBsb2FkIGEgc3RvcmVkIHJvdXRpbmUgYmVpbmcgZXhlY3V0ZWQgYW5kIHRo ZSBvdGhlciB0aHJlYWQKICAgICAgdHJpZXMgdG8gZHJvcCB0aGUgc3RvcmVkIHJvdXRpbmUgc2No ZW1hLgogICAgICAKICAgICAgVGhpcyBjb25kaXRpb24gcmFjZSB3aW5kb3cgZXhpc3RzIGluIGlt cGxlbWVudGF0aW9uIG9mIGZ1bmN0aW9uCiAgICAgIG15c3FsX2NoYW5nZV9kYigpIGNhbGxlZCBi eSBkYl9sb2FkX3JvdXRpbmUoKSBkdXJpbmcgbG9hZGluZyBvZiBzdG9yZWQKICAgICAgcm91dGlu ZSB0byBjYWNoZS4gRnVuY3Rpb24gbXlzcWxfY2hhbmdlX2RiKCkgY2FsbHMgY2hlY2tfZGJfZGly X2V4aXN0ZW5jZSgpCiAgICAgIHRoYXQgbWlnaHQgZmFpbGVkIGJlY2F1c2Ugc3BlY2lmaWVkIGRh dGFiYXNlIHdhcyBkcm9wcGVkIGR1cmluZyBjb25jdXJyZW50CiAgICAgIGV4ZWN1dGlvbiBvZiBE Uk9QIFNDSEVNQSBzdGF0ZW1lbnQuIGRiX2xvYWRfcm91dGluZSgpIGNhbGxzIG15c3FsX2NoYW5n ZV9kYigpCiAgICAgIHdpdGggZmxhZyAnZm9yY2Vfc3dpdGNoJyBzZXQgdG8gJ3RydWUnIHZhbHVl IHNvIHdoZW4gcmVmZXJlbmNlZCBkYiBpcyBub3QgZm91bmQKICAgICAgdGhlbiBteV9lcnJvcigp IGlzIG5vdCBjYWxsZWQgYW5kIGZ1bmN0aW9uIG15c3FsX2NoYW5nZV9kYigpIHJldHVybnMgb2su CiAgICAgIFRoaXMgc2hhZG93cyBpbmZvcm1hdGlvbiBhYm91dCBzY2hlbWEgb3BlbmluZyBlcnJv ciBpbiBkYl9sb2FkX3JvdXRpbmUoKS4KICAgICAgVGhlbiBkYl9sb2FkX3JvdXRpbmUoKSBtYWtl cyBhdHRlbXB0IHRvIHBhcnNlIHN0b3JlZCByb3V0aW5lIHRoYXQgaXMgZmFpbGVkLgogICAgICBU aGlzIG1ha2VzIHRvIHJldHVybiBlcnJvciB0byBzcF9jYWNoZV9yb3V0aW5lc19hbmRfYWRkX3Rh Ymxlc19hdXgoKSBidXQgc2luY2UKICAgICAgZHVyaW5nIGVycm9yIGdlbmVyYXRpb24gYSBjYWxs IHRvIG15X2Vycm9yIHdhc24ndCBtYWRlIGFuZCBoZW5jZQogICAgICBUSEQ6Om1haW5fZGEgd2Fz bid0IHNldCB3ZSBzZXQgdGhlIGdlbmVyaWMgIm15c3FsLnByb2MgdGFibGUgY29ycnVwdCIgZXJy b3IKICAgICAgd2hlbiBydW5uaW5nIHNwX2NhY2hlX3JvdXRpbmVzX2FuZF9hZGRfdGFibGVzX2F1 eCgpLgogICAgICAKICAgICAgVGhlIGZpeCBpcyB0byBpbnN0YWxsIGFuIGVycm9yIGhhbmRsZXIg aW5zaWRlIGRiX2xvYWRfcm91dGluZSgpIGZvcgogICAgICB0aGUgbXlzcWxfb3BfY2hhbmdlX2Ri KCkgY2FsbCwgYW5kIGNoZWNrIGxhdGVyIGlmIHRoZSBFUl9CQURfREJfRVJST1IKICAgICAgd2Fz IGNhdWdodC4KICAgICBAIHNxbC9zcWxfZGIuY2MKICAgICAgICBBZGRlZCBzeW5jaHJvbml6YXRp b24gcG9pbnQgImJlZm9yZV9kYl9kaXJfY2hlY2siIHRvIGVtdWxhdGUgYSByYWNlIGNvbmRpdGlv biBkdXJpbmcKICAgICAgICBwcm9jZXNzaW5nIG9mIENBTEwvRFJPUCBTQ0hFTUEuCgogICAgbW9k aWZpZWQ6CiAgICAgIG15c3FsLXRlc3Qvci9zcF9zeW5jLnJlc3VsdAogICAgICBteXNxbC10ZXN0 L3Qvc3Bfc3luYy50ZXN0CiAgICAgIHNxbC9zcC5jYwogICAgICBzcWwvc3FsX2RiLmNjCj09PSBt b2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9kYl9wbHVnaW4vcGFnZS9wYWdlMHppcC5jJwotLS0g YS9zdG9yYWdlL2lubm9kYl9wbHVnaW4vcGFnZS9wYWdlMHppcC5jCXJldmlkOmRtaXRyeS5zaHVs Z2FAb3JhY2xlLmNvbS0yMDExMDYyMzEzNDEwNC01YW80ZWw5bHd6OTV2c2IzCisrKyBiL3N0b3Jh Z2UvaW5ub2RiX3BsdWdpbi9wYWdlL3BhZ2UwemlwLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNs ZS5jb20tMjAxMTA2MjgwODU3MDkta2NrYnZpaDFtdmlibnRhcQpAQCAtMTUxLDYgKzE1MSwyMCBA QCBwYWdlX3ppcF9lbXB0eV9zaXplKAogI2VuZGlmIC8qICFVTklWX0hPVEJBQ0tVUCAqLwogCiAv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8vKioKK0dldHMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgZGVuc2UgcGFnZSBk aXJlY3RvcnksCitpbmNsdWRpbmcgZGVsZXRlZCByZWNvcmRzICh0aGUgZnJlZSBsaXN0KS4KK0By ZXR1cm4JbnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBkZW5zZSBwYWdlIGRpcmVjdG9yeSAqLwor VU5JVl9JTkxJTkUKK3VsaW50CitwYWdlX3ppcF9kaXJfZWxlbXMoCisvKj09PT09PT09PT09PT09 PSovCisJY29uc3QgcGFnZV96aXBfZGVzX3QqCXBhZ2VfemlwKQkvKiE8IGluOiBjb21wcmVzc2Vk IHBhZ2UgKi8KK3sKKwkvKiBFeGNsdWRlIHRoZSBwYWdlIGluZmltdW0gYW5kIHN1cHJlbXVtIGZy b20gdGhlIHJlY29yZCBjb3VudC4gKi8KKwlyZXR1cm4ocGFnZV9kaXJfZ2V0X25faGVhcChwYWdl X3ppcC0+ZGF0YSkgLSBQQUdFX0hFQVBfTk9fVVNFUl9MT1cpOworfQorCisvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIEdl dHMgdGhlIHNpemUgb2YgdGhlIGNvbXByZXNzZWQgcGFnZSB0cmFpbGVyICh0aGUgZGVuc2UgcGFn ZSBkaXJlY3RvcnkpLAogaW5jbHVkaW5nIGRlbGV0ZWQgcmVjb3JkcyAodGhlIGZyZWUgbGlzdCku CiBAcmV0dXJuCWxlbmd0aCBvZiBkZW5zZSBwYWdlIGRpcmVjdG9yeSwgaW4gYnl0ZXMgKi8KQEAg LTE2MCwxNCArMTc0LDQyIEBAIHBhZ2VfemlwX2Rpcl9zaXplKAogLyo9PT09PT09PT09PT09PSov CiAJY29uc3QgcGFnZV96aXBfZGVzX3QqCXBhZ2VfemlwKQkvKiE8IGluOiBjb21wcmVzc2VkIHBh Z2UgKi8KIHsKLQkvKiBFeGNsdWRlIHRoZSBwYWdlIGluZmltdW0gYW5kIHN1cHJlbXVtIGZyb20g dGhlIHJlY29yZCBjb3VudC4gKi8KLQl1bGludAlzaXplID0gUEFHRV9aSVBfRElSX1NMT1RfU0la RQotCQkqIChwYWdlX2Rpcl9nZXRfbl9oZWFwKHBhZ2VfemlwLT5kYXRhKQotCQkgICAtIFBBR0Vf SEVBUF9OT19VU0VSX0xPVyk7Ci0JcmV0dXJuKHNpemUpOworCXJldHVybihQQUdFX1pJUF9ESVJf U0xPVF9TSVpFICogcGFnZV96aXBfZGlyX2VsZW1zKHBhZ2VfemlwKSk7CiB9CiAKIC8qKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8q KgorR2V0cyBhbiBvZmZzZXQgdG8gdGhlIGNvbXByZXNzZWQgcGFnZSB0cmFpbGVyICh0aGUgZGVu c2UgcGFnZSBkaXJlY3RvcnkpLAoraW5jbHVkaW5nIGRlbGV0ZWQgcmVjb3JkcyAodGhlIGZyZWUg bGlzdCkuCitAcmV0dXJuCW9mZnNldCBvZiB0aGUgZGVuc2UgcGFnZSBkaXJlY3RvcnkgKi8KK1VO SVZfSU5MSU5FCit1bGludAorcGFnZV96aXBfZGlyX3N0YXJ0X29mZnMoCisvKj09PT09PT09PT09 PT09PT09PT09Ki8KKwljb25zdCBwYWdlX3ppcF9kZXNfdCoJcGFnZV96aXAsCS8qITwgaW46IGNv bXByZXNzZWQgcGFnZSAqLworCXVsaW50CQkJbl9kZW5zZSkJLyohPCBpbjogZGlyZWN0b3J5IHNp emUgKi8KK3sKKwl1dF9hZChuX2RlbnNlICogUEFHRV9aSVBfRElSX1NMT1RfU0laRSA8IHBhZ2Vf emlwX2dldF9zaXplKHBhZ2VfemlwKSk7CisKKwlyZXR1cm4ocGFnZV96aXBfZ2V0X3NpemUocGFn ZV96aXApIC0gbl9kZW5zZSAqIFBBR0VfWklQX0RJUl9TTE9UX1NJWkUpOworfQorCisvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8v KioKK0dldHMgYSBwb2ludGVyIHRvIHRoZSBjb21wcmVzc2VkIHBhZ2UgdHJhaWxlciAodGhlIGRl bnNlIHBhZ2UgZGlyZWN0b3J5KSwKK2luY2x1ZGluZyBkZWxldGVkIHJlY29yZHMgKHRoZSBmcmVl IGxpc3QpLgorQHBhcmFtW2luXSBwYWdlX3ppcAljb21wcmVzc2VkIHBhZ2UKK0BwYXJhbVtpbl0g bl9kZW5zZQludW1iZXIgb2YgZW50cmllcyBpbiB0aGUgZGlyZWN0b3J5CitAcmV0dXJuCXBvaW50 ZXIgdG8gdGhlIGRlbnNlIHBhZ2UgZGlyZWN0b3J5ICovCisjZGVmaW5lIHBhZ2VfemlwX2Rpcl9z dGFydF9sb3cocGFnZV96aXAsIG5fZGVuc2UpCQkJXAorCSgocGFnZV96aXApLT5kYXRhICsgcGFn ZV96aXBfZGlyX3N0YXJ0X29mZnMocGFnZV96aXAsIG5fZGVuc2UpKQorLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCitHZXRz IGEgcG9pbnRlciB0byB0aGUgY29tcHJlc3NlZCBwYWdlIHRyYWlsZXIgKHRoZSBkZW5zZSBwYWdl IGRpcmVjdG9yeSksCitpbmNsdWRpbmcgZGVsZXRlZCByZWNvcmRzICh0aGUgZnJlZSBsaXN0KS4K K0BwYXJhbVtpbl0gcGFnZV96aXAJY29tcHJlc3NlZCBwYWdlCitAcmV0dXJuCXBvaW50ZXIgdG8g dGhlIGRlbnNlIHBhZ2UgZGlyZWN0b3J5ICovCisjZGVmaW5lIHBhZ2VfemlwX2Rpcl9zdGFydChw YWdlX3ppcCkJCQkJCVwKKwlwYWdlX3ppcF9kaXJfc3RhcnRfbG93KHBhZ2VfemlwLCBwYWdlX3pp cF9kaXJfZWxlbXMocGFnZV96aXApKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vKioKIEdldHMgdGhlIHNpemUgb2YgdGhl IGNvbXByZXNzZWQgcGFnZSB0cmFpbGVyICh0aGUgZGVuc2UgcGFnZSBkaXJlY3RvcnkpLAogb25s eSBpbmNsdWRpbmcgdXNlciByZWNvcmRzIChleGNsdWRpbmcgdGhlIGZyZWUgbGlzdCkuCiBAcmV0 dXJuCWxlbmd0aCBvZiBkZW5zZSBwYWdlIGRpcmVjdG9yeSBjb21wcmlzaW5nIGV4aXN0aW5nIHJl Y29yZHMsIGluIGJ5dGVzICovCkBAIC0yMjQyLDggKzIyODQsNyBAQCB6bGliX2RvbmU6CiAJfQog CiAJLyogUmVzdG9yZSB0aGUgdW5jb21wcmVzc2VkIGNvbHVtbnMgaW4gaGVhcF9ubyBvcmRlci4g Ki8KLQlzdG9yYWdlCT0gcGFnZV96aXAtPmRhdGEgKyBwYWdlX3ppcF9nZXRfc2l6ZShwYWdlX3pp cCkKLQkJLSBuX2RlbnNlICogUEFHRV9aSVBfRElSX1NMT1RfU0laRTsKKwlzdG9yYWdlID0gcGFn ZV96aXBfZGlyX3N0YXJ0X2xvdyhwYWdlX3ppcCwgbl9kZW5zZSk7CiAKIAlmb3IgKHNsb3QgPSAw OyBzbG90IDwgbl9kZW5zZTsgc2xvdCsrKSB7CiAJCXJlY190KgkJcmVjCT0gcmVjc1tzbG90XTsK QEAgLTI3MjgsOCArMjc2OSw3IEBAIHpsaWJfZG9uZToKIAkJcmV0dXJuKEZBTFNFKTsKIAl9CiAK LQlzdG9yYWdlID0gcGFnZV96aXAtPmRhdGEgKyBwYWdlX3ppcF9nZXRfc2l6ZShwYWdlX3ppcCkK LQkJLSBuX2RlbnNlICogUEFHRV9aSVBfRElSX1NMT1RfU0laRTsKKwlzdG9yYWdlID0gcGFnZV96 aXBfZGlyX3N0YXJ0X2xvdyhwYWdlX3ppcCwgbl9kZW5zZSk7CiAKIAlleHRlcm5zID0gc3RvcmFn ZSAtIG5fZGVuc2UKIAkJKiAoREFUQV9UUlhfSURfTEVOICsgREFUQV9ST0xMX1BUUl9MRU4pOwpA QCAtMzQ1Nyw5ICszNDk3LDcgQEAgcGFnZV96aXBfd3JpdGVfcmVjKAogCX0KIAogCS8qIFdyaXRl IHRoZSBkYXRhIGJ5dGVzLiAgU3RvcmUgdGhlIHVuY29tcHJlc3NlZCBieXRlcyBzZXBhcmF0ZWx5 LiAqLwotCXN0b3JhZ2UgPSBwYWdlX3ppcC0+ZGF0YSArIHBhZ2VfemlwX2dldF9zaXplKHBhZ2Vf emlwKQotCQktIChwYWdlX2Rpcl9nZXRfbl9oZWFwKHBhZ2UpIC0gUEFHRV9IRUFQX05PX1VTRVJf TE9XKQotCQkqIFBBR0VfWklQX0RJUl9TTE9UX1NJWkU7CisJc3RvcmFnZSA9IHBhZ2VfemlwX2Rp cl9zdGFydChwYWdlX3ppcCk7CiAKIAlpZiAocGFnZV9pc19sZWFmKHBhZ2UpKSB7CiAJCXVsaW50 CQlsZW47CkBAIC0zNzU1LDkgKzM3OTMsNyBAQCBjb3JydXB0OgogCQlmaWVsZCA9IHBhZ2UgKyBv ZmZzZXQ7CiAJCXN0b3JhZ2UgPSBwYWdlX3ppcC0+ZGF0YSArIHpfb2Zmc2V0OwogCi0JCXN0b3Jh Z2VfZW5kID0gcGFnZV96aXAtPmRhdGEgKyBwYWdlX3ppcF9nZXRfc2l6ZShwYWdlX3ppcCkKLQkJ CS0gKHBhZ2VfZGlyX2dldF9uX2hlYXAocGFnZSkgLSBQQUdFX0hFQVBfTk9fVVNFUl9MT1cpCi0J CQkqIFBBR0VfWklQX0RJUl9TTE9UX1NJWkU7CisJCXN0b3JhZ2VfZW5kID0gcGFnZV96aXBfZGly X3N0YXJ0KHBhZ2VfemlwKTsKIAogCQloZWFwX25vID0gMSArIChzdG9yYWdlX2VuZCAtIHN0b3Jh Z2UpIC8gUkVDX05PREVfUFRSX1NJWkU7CiAKQEAgLTM3OTMsNyArMzgyOSw5IEBAIHBhZ2Vfemlw X3dyaXRlX25vZGVfcHRyKAogewogCWJ5dGUqCWZpZWxkOwogCWJ5dGUqCXN0b3JhZ2U7CisjaWZk ZWYgVU5JVl9ERUJVRwogCXBhZ2VfdCoJcGFnZQk9IHBhZ2VfYWxpZ24ocmVjKTsKKyNlbmRpZiAv KiBVTklWX0RFQlVHICovCiAKIAl1dF9hZChQQUdFX1pJUF9NQVRDSChyZWMsIHBhZ2VfemlwKSk7 CiAJdXRfYWQocGFnZV9zaW1wbGVfdmFsaWRhdGVfbmV3KHBhZ2UpKTsKQEAgLTM4MTAsOSArMzg0 OCw3IEBAIHBhZ2VfemlwX3dyaXRlX25vZGVfcHRyKAogCVVOSVZfTUVNX0FTU0VSVF9SVyhwYWdl X3ppcC0+ZGF0YSwgcGFnZV96aXBfZ2V0X3NpemUocGFnZV96aXApKTsKIAlVTklWX01FTV9BU1NF UlRfUlcocmVjLCBzaXplKTsKIAotCXN0b3JhZ2UgPSBwYWdlX3ppcC0+ZGF0YSArIHBhZ2Vfemlw X2dldF9zaXplKHBhZ2VfemlwKQotCQktIChwYWdlX2Rpcl9nZXRfbl9oZWFwKHBhZ2UpIC0gUEFH RV9IRUFQX05PX1VTRVJfTE9XKQotCQkqIFBBR0VfWklQX0RJUl9TTE9UX1NJWkUKKwlzdG9yYWdl ID0gcGFnZV96aXBfZGlyX3N0YXJ0KHBhZ2VfemlwKQogCQktIChyZWNfZ2V0X2hlYXBfbm9fbmV3 KHJlYykgLSAxKSAqIFJFQ19OT0RFX1BUUl9TSVpFOwogCWZpZWxkID0gcmVjICsgc2l6ZSAtIFJF Q19OT0RFX1BUUl9TSVpFOwogCkBAIC0zODYxLDcgKzM4OTcsOSBAQCBwYWdlX3ppcF93cml0ZV90 cnhfaWRfYW5kX3JvbGxfcHRyKAogewogCWJ5dGUqCWZpZWxkOwogCWJ5dGUqCXN0b3JhZ2U7Cisj aWZkZWYgVU5JVl9ERUJVRwogCXBhZ2VfdCoJcGFnZQk9IHBhZ2VfYWxpZ24ocmVjKTsKKyNlbmRp ZiAvKiBVTklWX0RFQlVHICovCiAJdWxpbnQJbGVuOwogCiAJdXRfYWQoUEFHRV9aSVBfTUFUQ0go cmVjLCBwYWdlX3ppcCkpOwpAQCAtMzg3OSw5ICszOTE3LDcgQEAgcGFnZV96aXBfd3JpdGVfdHJ4 X2lkX2FuZF9yb2xsX3B0cigKIAogCVVOSVZfTUVNX0FTU0VSVF9SVyhwYWdlX3ppcC0+ZGF0YSwg cGFnZV96aXBfZ2V0X3NpemUocGFnZV96aXApKTsKIAotCXN0b3JhZ2UgPSBwYWdlX3ppcC0+ZGF0 YSArIHBhZ2VfemlwX2dldF9zaXplKHBhZ2VfemlwKQotCQktIChwYWdlX2Rpcl9nZXRfbl9oZWFw KHBhZ2UpIC0gUEFHRV9IRUFQX05PX1VTRVJfTE9XKQotCQkqIFBBR0VfWklQX0RJUl9TTE9UX1NJ WkUKKwlzdG9yYWdlID0gcGFnZV96aXBfZGlyX3N0YXJ0KHBhZ2VfemlwKQogCQktIChyZWNfZ2V0 X2hlYXBfbm9fbmV3KHJlYykgLSAxKQogCQkqIChEQVRBX1RSWF9JRF9MRU4gKyBEQVRBX1JPTExf UFRSX0xFTik7CiAKQEAgLTM5NDgsMTEgKzM5ODQsNyBAQCBwYWdlX3ppcF9jbGVhcl9yZWMoCiAJ CS8qIENsZWFyIG5vZGVfcHRyLiBPbiB0aGUgY29tcHJlc3NlZCBwYWdlLAogCQl0aGVyZSBpcyBh biBhcnJheSBvZiBub2RlX3B0ciBpbW1lZGlhdGVseSBiZWZvcmUgdGhlCiAJCWRlbnNlIHBhZ2Ug ZGlyZWN0b3J5LCBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHBhZ2UuICovCi0JCXN0b3JhZ2UJPSBw YWdlX3ppcC0+ZGF0YQotCQkJKyBwYWdlX3ppcF9nZXRfc2l6ZShwYWdlX3ppcCkKLQkJCS0gKHBh Z2VfZGlyX2dldF9uX2hlYXAocGFnZSkKLQkJCSAgIC0gUEFHRV9IRUFQX05PX1VTRVJfTE9XKQot CQkJKiBQQUdFX1pJUF9ESVJfU0xPVF9TSVpFOworCQlzdG9yYWdlCT0gcGFnZV96aXBfZGlyX3N0 YXJ0KHBhZ2VfemlwKTsKIAkJdXRfYWQoZGljdF9pbmRleF9nZXRfbl91bmlxdWVfaW5fdHJlZShp bmRleCkgPT0KIAkJICAgICAgcmVjX29mZnNfbl9maWVsZHMob2Zmc2V0cykgLSAxKTsKIAkJZmll bGQJPSByZWNfZ2V0X250aF9maWVsZChyZWMsIG9mZnNldHMsCkBAIC0zOTcyLDExICs0MDA0LDcg QEAgcGFnZV96aXBfY2xlYXJfcmVjKAogCQkJPSBkaWN0X2NvbF9nZXRfY2x1c3RfcG9zKAogCQkJ ZGljdF90YWJsZV9nZXRfc3lzX2NvbCgKIAkJCQlpbmRleC0+dGFibGUsIERBVEFfVFJYX0lEKSwg aW5kZXgpOwotCQlzdG9yYWdlCT0gcGFnZV96aXAtPmRhdGEKLQkJCSsgcGFnZV96aXBfZ2V0X3Np emUocGFnZV96aXApCi0JCQktIChwYWdlX2Rpcl9nZXRfbl9oZWFwKHBhZ2UpCi0JCQkgICAtIFBB R0VfSEVBUF9OT19VU0VSX0xPVykKLQkJCSogUEFHRV9aSVBfRElSX1NMT1RfU0laRTsKKwkJc3Rv cmFnZQk9IHBhZ2VfemlwX2Rpcl9zdGFydChwYWdlX3ppcCk7CiAJCWZpZWxkCT0gcmVjX2dldF9u dGhfZmllbGQocmVjLCBvZmZzZXRzLCB0cnhfaWRfcG9zLCAmbGVuKTsKIAkJdXRfYWQobGVuID09 IERBVEFfVFJYX0lEX0xFTik7CiAKCk5vIGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNo IGVtYWlscyku