From: marko.makela Date: August 10 2010 10:22am Subject: bzr commit into mysql-trunk-innodb branch (marko.makela:3151) Bug#54914 List-Archive: http://lists.mysql.com/commits/115386 X-Bug: 54914 Message-Id: <201008101023.o7A92JXd024363@acsinet15.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0263607131==" --===============0263607131== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline I0F0IGZpbGU6Ly8vaG9tZS9tYXJrby9pbm5vYmFzZS9kZXYvbXlzcWwyYS81LjUtaW5ub2RiLyBi YXNlZCBvbiByZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEwMDgwOTA4NTgzNy1zMW5m eDZnamY3bDZ0dGFiCgogMzE1MSBNYXJrbyBNw6RrZWzDpAkyMDEwLTA4LTEwCiAgICAgIEJ1ZyM1 NDkxNDogSW5ub0RCOiBwZXJmb3JtYW5jZSBkcm9wIHdpdGggaW5ub2RiX2NoYW5nZV9idWZmZXJp bmc9YWxsCiAgICAgIAogICAgICBSZWR1Y2UgaWJ1Zl9tdXRleCBhbmQgaWJ1Zl9wZXNzaW1pc3Rp Y19pbnNlcnRfbXV0ZXggY29udGVudGlvbiBmdXJ0aGVyLgogICAgICAKICAgICAgUHJvdGVjdCBp YnVmLT5lbXB0eSBieSB0aGUgaW5zZXJ0IGJ1ZmZlciByb290IHBhZ2UgbGF0Y2gsIG5vdCBpYnVm X211dGV4LgogICAgICAKICAgICAgaWJ1Zl90cmVlX3Jvb3RfZ2V0KCk6IEFzc2VydCB0aGF0IGli dWZfbXV0ZXggaXMgb3duZWQgYnkgdGhlCiAgICAgIGNhbGxlci4gQXNzZXJ0IHRoYXQgdGhlIHN0 YW1wZWQgcGFnZSBudW1iZXIgaXMgY29ycmVjdC4gQXNzZXJ0IHRoYXQKICAgICAgaWJ1Zi0+ZW1w dHkgYWdyZWVzIHdpdGggdGhlIHJvb3QgcGFnZS4KICAgICAgCiAgICAgIGlidWZfc2l6ZV91cGRh dGUoKTogRG8gbm90IHVwZGF0ZSBpYnVmLT5lbXB0eS4KICAgICAgCiAgICAgIGlidWZfaW5pdF9h dF9kYl9zdGFydCgpOiBVcGRhdGUgaWJ1Zi0+ZW1wdHkgd2hpbGUgaG9sZGluZyB0aGUgcm9vdCBw YWdlIGxhdGNoLgogICAgICAKICAgICAgaWJ1Zl9hZGRfZnJlZV9wYWdlKCk6IFJldHVybiBUUlVF L0ZBTFNFIGluc3RlYWQgb2YgREJfU1VDQ0VTUy9EQl9TVFJPTkdfRkFJTC4KICAgICAgCiAgICAg IGlidWZfcmVtb3ZlX2ZyZWVfcGFnZSgpOiBSZWxlYXNlIGlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0 X211dGV4IGFzCiAgICAgIGVhcmx5IGFzIHBvc3NpYmxlLgogICAgICAKICAgICAgaWJ1Zl9jb250 cmFjdF9leHQoKTogUmVseSBvbiBhIGRpcnR5IHJlYWQgb2YgaWJ1Zi0+ZW1wdHksIHVubGVzcyB0 aGUKICAgICAgc2VydmVyIGlzIGJlaW5nIHNodXQgZG93bi4gTmV2ZXIgYWNxdWlyZSBpYnVmX211 dGV4LiBFbGltaW5hdGUgbl9zdG9yZWQuCiAgICAgIAogICAgICBpYnVmX2NvbnRyYWN0X2FmdGVy X2luc2VydCgpOiBOZXZlciBhY3F1aXJlIGlidWZfbXV0ZXguIFBlcmZvcm0gZGlydHkKICAgICAg cmVhZHMgb2YgaWJ1Zi0+c2l6ZSBhbmQgaWJ1Zi0+bWF4X3NpemUuCiAgICAgIAogICAgICBpYnVm X2luc2VydF9sb3coKTogT25seSBhY3F1aXJlIGlidWZfbXV0ZXggZm9yIG1vZGU9PUJUUl9NT0RJ RllfVFJFRS4KICAgICAgUGVyZm9ybSBkaXJ0eSByZWFkcyBvZiBpYnVmLT5zaXplIGFuZCBpYnVm LT5tYXhfc2l6ZS4gVXBkYXRlCiAgICAgIGlidWYtPmVtcHR5IHdoaWxlIGhvbGRpbmcgdGhlIHJv b3QgcGFnZSBsYXRjaC4KICAgICAgCiAgICAgIGlidWZfZGVsZXRlX3JlYygpOiBVcGRhdGUgaWJ1 Zi0+ZW1wdHkgd2hpbGUgaG9sZGluZyB0aGUgcm9vdCBwYWdlIGxhdGNoLgogICAgICAKICAgICAg aWJ1Zl9pc19lbXB0eSgpOiBSZWxlYXNlIGlidWZfbXV0ZXggZWFybGllci4KCiAgICBtb2RpZmll ZDoKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS9pYnVmMGlidWYuaWMKPT09IG1vZGlmaWVkIGZpbGUgJ3N0b3JhZ2Uv aW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYuYycKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2li dWYwaWJ1Zi5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwODA5MDg1ODM3LXMx bmZ4NmdqZjdsNnR0YWIKKysrIGIvc3RvcmFnZS9pbm5vYmFzZS9pYnVmL2lidWYwaWJ1Zi5jCXJl dmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwODEwMTAyMjQ4LXhyZGppZTJkZTRyOWgz ZWQKQEAgLTU1LDYgKzU1LDcgQEAgQ3JlYXRlZCA3LzE5LzE5OTcgSGVpa2tpIFR1dXJpCiAjaW5j bHVkZSAibG9jazBsb2NrLmgiCiAjaW5jbHVkZSAibG9nMHJlY3YuaCIKICNpbmNsdWRlICJxdWUw cXVlLmgiCisjaW5jbHVkZSAic3J2MHN0YXJ0LmgiIC8qIHNydl9zaHV0ZG93bl9zdGF0ZSAqLwog CiAvKglTVFJVQ1RVUkUgT0YgQU4gSU5TRVJUIEJVRkZFUiBSRUNPUkQKIApAQCAtMzk1LDggKzM5 NiwxMCBAQCBpYnVmX3RyZWVfcm9vdF9nZXQoCiAJbXRyX3QqCQltdHIpCS8qITwgaW46IG10ciAq LwogewogCWJ1Zl9ibG9ja190KglibG9jazsKKwlwYWdlX3QqCQlyb290OwogCiAJdXRfYWQoaWJ1 Zl9pbnNpZGUoKSk7CisJdXRfYWQobXV0ZXhfb3duKCZpYnVmX211dGV4KSk7CiAKIAltdHJfeF9s b2NrKGRpY3RfaW5kZXhfZ2V0X2xvY2soaWJ1Zi0+aW5kZXgpLCBtdHIpOwogCkBAIC00MDUsNyAr NDA4LDEzIEBAIGlidWZfdHJlZV9yb290X2dldCgKIAogCWJ1Zl9ibG9ja19kYmdfYWRkX2xldmVs KGJsb2NrLCBTWU5DX1RSRUVfTk9ERSk7CiAKLQlyZXR1cm4oYnVmX2Jsb2NrX2dldF9mcmFtZShi bG9jaykpOworCXJvb3QgPSBidWZfYmxvY2tfZ2V0X2ZyYW1lKGJsb2NrKTsKKworCXV0X2FkKHBh Z2VfZ2V0X3NwYWNlX2lkKHJvb3QpID09IElCVUZfU1BBQ0VfSUQpOworCXV0X2FkKHBhZ2VfZ2V0 X3BhZ2Vfbm8ocm9vdCkgPT0gRlNQX0lCVUZfVFJFRV9ST09UX1BBR0VfTk8pOworCXV0X2FkKGli dWYtPmVtcHR5ID09IChwYWdlX2dldF9uX3JlY3Mocm9vdCkgPT0gMCkpOworCisJcmV0dXJuKHJv b3QpOwogfQogCiAjaWZkZWYgVU5JVl9JQlVGX0NPVU5UX0RFQlVHCkBAIC00ODIsOCArNDkxLDYg QEAgaWJ1Zl9zaXplX3VwZGF0ZSgKIAogCS8qIHRoZSAnMSArJyBpcyB0aGUgaWJ1ZiBoZWFkZXIg cGFnZSAqLwogCWlidWYtPnNpemUgPSBpYnVmLT5zZWdfc2l6ZSAtICgxICsgaWJ1Zi0+ZnJlZV9s aXN0X2xlbik7Ci0KLQlpYnVmLT5lbXB0eSA9IHBhZ2VfZ2V0X25fcmVjcyhyb290KSA9PSAwOwog fQogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLy8qKgpAQCAtNTU0LDYgKzU2MSw3IEBAIGlidWZfaW5pdF9hdF9kYl9z dGFydCh2b2lkKQogCWlidWZfc2l6ZV91cGRhdGUocm9vdCwgJm10cik7CiAJbXV0ZXhfZXhpdCgm aWJ1Zl9tdXRleCk7CiAKKwlpYnVmLT5lbXB0eSA9IChwYWdlX2dldF9uX3JlY3Mocm9vdCkgPT0g MCk7CiAJbXRyX2NvbW1pdCgmbXRyKTsKIAogCWlidWZfZXhpdCgpOwpAQCAtMjAyNSw5ICsyMDMz LDkgQEAgaWJ1Zl9kYXRhX3Rvb19tdWNoX2ZyZWUodm9pZCkKIC8qKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCiBB bGxvY2F0ZXMgYSBuZXcgcGFnZSBmcm9tIHRoZSBpYnVmIGZpbGUgc2VnbWVudCBhbmQgYWRkcyBp dCB0byB0aGUgZnJlZQogbGlzdC4KLUByZXR1cm4JREJfU1VDQ0VTUywgb3IgREJfU1RST05HX0ZB SUwgaWYgbm8gc3BhY2UgbGVmdCAqLworQHJldHVybglUUlVFIG9uIHN1Y2Nlc3MsIEZBTFNFIGlm IG5vIHNwYWNlIGxlZnQgKi8KIHN0YXRpYwotdWxpbnQKK2lib29sCiBpYnVmX2FkZF9mcmVlX3Bh Z2Uodm9pZCkKIC8qPT09PT09PT09PT09PT09PT09PT0qLwogewpAQCAtMjA2MywxMCArMjA3MSwx MCBAQCBpYnVmX2FkZF9mcmVlX3BhZ2Uodm9pZCkKIAkJaGVhZGVyX3BhZ2UgKyBJQlVGX0hFQURF UiArIElCVUZfVFJFRV9TRUdfSEVBREVSLCAwLCBGU1BfVVAsCiAJCSZtdHIpOwogCi0JaWYgKHBh Z2Vfbm8gPT0gRklMX05VTEwpIHsKKwlpZiAoVU5JVl9VTkxJS0VMWShwYWdlX25vID09IEZJTF9O VUxMKSkgewogCQltdHJfY29tbWl0KCZtdHIpOwogCi0JCXJldHVybihEQl9TVFJPTkdfRkFJTCk7 CisJCXJldHVybihGQUxTRSk7CiAJfQogCiAJewpAQCAtMjExMyw3ICsyMTIxLDcgQEAgaWJ1Zl9h ZGRfZnJlZV9wYWdlKHZvaWQpCiAKIAlpYnVmX2V4aXQoKTsKIAotCXJldHVybihEQl9TVUNDRVNT KTsKKwlyZXR1cm4oVFJVRSk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCkBAIC0yMTQzLDIwICsy MTUxLDE3IEBAIGlidWZfcmVtb3ZlX2ZyZWVfcGFnZSh2b2lkKQogCWhlYWRlcl9wYWdlID0gaWJ1 Zl9oZWFkZXJfcGFnZV9nZXQoJm10cik7CiAKIAkvKiBQcmV2ZW50IHBlc3NpbWlzdGljIGluc2Vy dHMgdG8gaW5zZXJ0IGJ1ZmZlciB0cmVlcyBmb3IgYSB3aGlsZSAqLwotCW11dGV4X2VudGVyKCZp YnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7Ci0KIAlpYnVmX2VudGVyKCk7Ci0KKwltdXRl eF9lbnRlcigmaWJ1Zl9wZXNzaW1pc3RpY19pbnNlcnRfbXV0ZXgpOwogCW11dGV4X2VudGVyKCZp YnVmX211dGV4KTsKIAogCWlmICghaWJ1Zl9kYXRhX3Rvb19tdWNoX2ZyZWUoKSkgewogCiAJCW11 dGV4X2V4aXQoJmlidWZfbXV0ZXgpOworCQltdXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2lu c2VydF9tdXRleCk7CiAKIAkJaWJ1Zl9leGl0KCk7CiAKLQkJbXV0ZXhfZXhpdCgmaWJ1Zl9wZXNz aW1pc3RpY19pbnNlcnRfbXV0ZXgpOwotCiAJCW10cl9jb21taXQoJm10cik7CiAKIAkJcmV0dXJu OwpAQCAtMjIxOCwxMSArMjIyMywxMSBAQCBpYnVmX3JlbW92ZV9mcmVlX3BhZ2Uodm9pZCkKIAlm bHN0X3JlbW92ZShyb290ICsgUEFHRV9IRUFERVIgKyBQQUdFX0JUUl9JQlVGX0ZSRUVfTElTVCwK IAkJICAgIHBhZ2UgKyBQQUdFX0hFQURFUiArIFBBR0VfQlRSX0lCVUZfRlJFRV9MSVNUX05PREUs ICZtdHIpOwogCisJbXV0ZXhfZXhpdCgmaWJ1Zl9wZXNzaW1pc3RpY19pbnNlcnRfbXV0ZXgpOwor CiAJaWJ1Zi0+c2VnX3NpemUtLTsKIAlpYnVmLT5mcmVlX2xpc3RfbGVuLS07CiAKLQltdXRleF9l eGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7Ci0KIAkvKiBTZXQgdGhlIGJpdCBp bmRpY2F0aW5nIHRoYXQgdGhpcyBwYWdlIGlzIG5vIG1vcmUgYW4gaWJ1ZiB0cmVlIHBhZ2UKIAko bGV2ZWwgMiBwYWdlKSAqLwogCkBAIC0yNDg0LDE3ICsyNDg5LDE5IEBAIGlidWZfY29udHJhY3Rf ZXh0KAogCXVsaW50CQlwYWdlX25vc1tJQlVGX01BWF9OX1BBR0VTX01FUkdFRF07CiAJdWxpbnQJ CXNwYWNlX2lkc1tJQlVGX01BWF9OX1BBR0VTX01FUkdFRF07CiAJaWJfaW50NjRfdAlzcGFjZV92 ZXJzaW9uc1tJQlVGX01BWF9OX1BBR0VTX01FUkdFRF07Ci0JdWxpbnQJCW5fc3RvcmVkOwogCXVs aW50CQlzdW1fc2l6ZXM7CiAJbXRyX3QJCW10cjsKIAogCSpuX3BhZ2VzID0gMDsKIAl1dF9hZCgh aWJ1Zl9pbnNpZGUoKSk7CiAKLQltdXRleF9lbnRlcigmaWJ1Zl9tdXRleCk7CisJLyogV2UgcGVy Zm9ybSBhIGRpcnR5IHJlYWQgb2YgaWJ1Zi0+ZW1wdHksIHdpdGhvdXQgbGF0Y2hpbmcKKwl0aGUg aW5zZXJ0IGJ1ZmZlciByb290IHBhZ2UuIFdlIHRydXN0IHRoaXMgZGlydHkgcmVhZCBleGNlcHQK Kwl3aGVuIGEgc2xvdyBzaHV0ZG93biBpcyBiZWluZyBleGVjdXRlZC4gRHVyaW5nIGEgc2xvdwor CXNodXRkb3duLCB0aGUgaW5zZXJ0IGJ1ZmZlciBtZXJnZSBtdXN0IGJlIGNvbXBsZXRlZC4gKi8K IAotCWlmIChpYnVmLT5lbXB0eSkgewotCQltdXRleF9leGl0KCZpYnVmX211dGV4KTsKKwlpZiAo VU5JVl9VTkxJS0VMWShpYnVmLT5lbXB0eSkKKwkgICAgJiYgVU5JVl9MSUtFTFkoIXNydl9zaHV0 ZG93bl9zdGF0ZSkpIHsKIGlidWZfaXNfZW1wdHk6CiAKICNpZiAwIC8qIFRPRE8gKi8KQEAgLTI1 MjMsMTggKzI1MzAsMTggQEAgaWJ1Zl9pc19lbXB0eToKIAlwb3NpdGlvbiB3aXRoaW4gdGhlIGxl YWYgKi8KIAogCWJ0cl9wY3VyX29wZW5fYXRfcm5kX3BvcyhpYnVmLT5pbmRleCwgQlRSX1NFQVJD SF9MRUFGLCAmcGN1ciwgJm10cik7Ci0JbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7CiAKIAl1dF9h ZChwYWdlX3ZhbGlkYXRlKGJ0cl9wY3VyX2dldF9wYWdlKCZwY3VyKSwgaWJ1Zi0+aW5kZXgpKTsK IAogCWlmIChwYWdlX2dldF9uX3JlY3MoYnRyX3BjdXJfZ2V0X3BhZ2UoJnBjdXIpKSA9PSAwKSB7 Ci0JCS8qIFdoZW4gdGhlIGlidWYgdHJlZSBpcyBlbXB0aWVkIGNvbXBsZXRlbHksIHRoZSBsYXN0 IHJlY29yZAotCQlpcyByZW1vdmVkIHVzaW5nIGFuIG9wdGltaXN0aWMgZGVsZXRlIGFuZCBpYnVm X3NpemVfdXBkYXRlCi0JCWlzIG5vdCBjYWxsZWQsIGNhdXNpbmcgaWJ1Zi0+ZW1wdHkgdG8gcmVt YWluIEZBTFNFLiBJZiB3ZSBkbwotCQlub3QgcmVzZXQgaXQgdG8gVFJVRSBoZXJlIHRoZW4gZGF0 YWJhc2Ugc2h1dGRvd24gd2lsbCBoYW5nCi0JCWluIHRoZSBsb29wIGluIGlidWZfY29udHJhY3Rf Zm9yX25fcGFnZXMuICovCi0KLQkJaWJ1Zi0+ZW1wdHkgPSBUUlVFOworCQkvKiBJZiBhIEItdHJl ZSBwYWdlIGlzIGVtcHR5LCBpdCBtdXN0IGJlIHRoZSByb290IHBhZ2UKKwkJYW5kIHRoZSB3aG9s ZSBCLXRyZWUgbXVzdCBiZSBlbXB0eS4gSW5ub0RCIGRvZXMgbm90CisJCWFsbG93IGVtcHR5IEIt dHJlZSBwYWdlcyBvdGhlciB0aGFuIHRoZSByb290LiAqLworCQl1dF9hZChpYnVmLT5lbXB0eSk7 CisJCXV0X2FkKHBhZ2VfZ2V0X3NwYWNlX2lkKGJ0cl9wY3VyX2dldF9wYWdlKCZwY3VyKSkKKwkJ ICAgICAgPT0gSUJVRl9TUEFDRV9JRCk7CisJCXV0X2FkKHBhZ2VfZ2V0X3BhZ2Vfbm8oYnRyX3Bj dXJfZ2V0X3BhZ2UoJnBjdXIpKQorCQkgICAgICA9PSBGU1BfSUJVRl9UUkVFX1JPT1RfUEFHRV9O Tyk7CiAKIAkJaWJ1Zl9leGl0KCk7CiAKQEAgLTI1NDYsMTAgKzI1NTMsMTAgQEAgaWJ1Zl9pc19l bXB0eToKIAogCXN1bV9zaXplcyA9IGlidWZfZ2V0X21lcmdlX3BhZ2Vfbm9zKFRSVUUsIGJ0cl9w Y3VyX2dldF9yZWMoJnBjdXIpLAogCQkJCQkgICAgc3BhY2VfaWRzLCBzcGFjZV92ZXJzaW9ucywK LQkJCQkJICAgIHBhZ2Vfbm9zLCAmbl9zdG9yZWQpOworCQkJCQkgICAgcGFnZV9ub3MsIG5fcGFn ZXMpOwogI2lmIDAgLyogZGVmaW5lZCBVTklWX0lCVUZfREVCVUcgKi8KIAlmcHJpbnRmKHN0ZGVy ciwgIklidWYgY29udHJhY3Qgc3luYyAlbHUgcGFnZXMgJWx1IHZvbHVtZSAlbHVcbiIsCi0JCXN5 bmMsIG5fc3RvcmVkLCBzdW1fc2l6ZXMpOworCQlzeW5jLCAqbl9wYWdlcywgc3VtX3NpemVzKTsK ICNlbmRpZgogCWlidWZfZXhpdCgpOwogCkBAIC0yNTU3LDggKzI1NjQsNyBAQCBpYnVmX2lzX2Vt cHR5OgogCWJ0cl9wY3VyX2Nsb3NlKCZwY3VyKTsKIAogCWJ1Zl9yZWFkX2lidWZfbWVyZ2VfcGFn ZXMoc3luYywgc3BhY2VfaWRzLCBzcGFjZV92ZXJzaW9ucywgcGFnZV9ub3MsCi0JCQkJICBuX3N0 b3JlZCk7Ci0JKm5fcGFnZXMgPSBuX3N0b3JlZDsKKwkJCQkgICpuX3BhZ2VzKTsKIAogCXJldHVy bihzdW1fc2l6ZXMgKyAxKTsKIH0KQEAgLTI2MjgsMzMgKzI2MzQsMzMgQEAgaWJ1Zl9jb250cmFj dF9hZnRlcl9pbnNlcnQoCiAJaWJvb2wJc3luYzsKIAl1bGludAlzdW1fc2l6ZXM7CiAJdWxpbnQJ c2l6ZTsKKwl1bGludAltYXhfc2l6ZTsKIAotCW11dGV4X2VudGVyKCZpYnVmX211dGV4KTsKLQot CWlmIChpYnVmLT5zaXplIDwgaWJ1Zi0+bWF4X3NpemUgKyBJQlVGX0NPTlRSQUNUX09OX0lOU0VS VF9OT05fU1lOQykgewotCQltdXRleF9leGl0KCZpYnVmX211dGV4KTsKKwkvKiBQZXJmb3JtIGRp cnR5IHJlYWRzIG9mIGlidWYtPnNpemUgYW5kIGlidWYtPm1heF9zaXplLCB0bworCXJlZHVjZSBp YnVmX211dGV4IGNvbnRlbnRpb24uIGlidWYtPm1heF9zaXplIHJlbWFpbnMgY29uc3RhbnQKKwlh ZnRlciBpYnVmX2luaXRfYXRfZGJfc3RhcnQoKSwgYnV0IGlidWYtPnNpemUgc2hvdWxkIGJlCisJ cHJvdGVjdGVkIGJ5IGlidWZfbXV0ZXguIEdpdmVuIHRoYXQgaWJ1Zi0+c2l6ZSBmaXRzIGluIGEK KwltYWNoaW5lIHdvcmQsIHRoaXMgc2hvdWxkIGJlIE9LOyBhdCB3b3JzdCB3ZSBhcmUgZG9pbmcg c29tZQorCWV4Y2Vzc2l2ZSBpYnVmX2NvbnRyYWN0KCkgb3Igb2NjYXNpb25hbGx5IHNraXBwaW5n IGEKKwlpYnVmX2NvbnRyYWN0KCkuICovCisJc2l6ZSA9IGlidWYtPnNpemU7CisJbWF4X3NpemUg PSBpYnVmLT5tYXhfc2l6ZTsKIAorCWlmIChzaXplIDwgbWF4X3NpemUgKyBJQlVGX0NPTlRSQUNU X09OX0lOU0VSVF9OT05fU1lOQykgewogCQlyZXR1cm47CiAJfQogCi0Jc3luYyA9IEZBTFNFOwot Ci0JaWYgKGlidWYtPnNpemUgPj0gaWJ1Zi0+bWF4X3NpemUgKyBJQlVGX0NPTlRSQUNUX09OX0lO U0VSVF9TWU5DKSB7Ci0KLQkJc3luYyA9IFRSVUU7Ci0JfQotCi0JbXV0ZXhfZXhpdCgmaWJ1Zl9t dXRleCk7CisJc3luYyA9IChzaXplID49IG1heF9zaXplICsgSUJVRl9DT05UUkFDVF9PTl9JTlNF UlRfU1lOQyk7CiAKIAkvKiBDb250cmFjdCBhdCBsZWFzdCBlbnRyeV9zaXplIG1hbnkgYnl0ZXMg Ki8KIAlzdW1fc2l6ZXMgPSAwOwogCXNpemUgPSAxOwogCi0Jd2hpbGUgKChzaXplID4gMCkgJiYg KHN1bV9zaXplcyA8IGVudHJ5X3NpemUpKSB7CisJZG8gewogCiAJCXNpemUgPSBpYnVmX2NvbnRy YWN0KHN5bmMpOwogCQlzdW1fc2l6ZXMgKz0gc2l6ZTsKLQl9CisJfSB3aGlsZSAoc2l6ZSA+IDAg JiYgc3VtX3NpemVzIDwgZW50cnlfc2l6ZSk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovLyoqCkBAIC0z MjcyLDcgKzMyNzgsNyBAQCBpYnVmX3NldF9lbnRyeV9jb3VudGVyKAogLyoqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8v KioKIEJ1ZmZlciBhbiBvcGVyYXRpb24gaW4gdGhlIGluc2VydC9kZWxldGUgYnVmZmVyLCBpbnN0 ZWFkIG9mIGRvaW5nIGl0CiBkaXJlY3RseSB0byB0aGUgZGlzayBwYWdlLCBpZiB0aGlzIGlzIHBv c3NpYmxlLgotQHJldHVybglEQl9TVUNDRVNTLCBEQl9GQUlMLCBEQl9TVFJPTkdfRkFJTCAqLwor QHJldHVybglEQl9TVUNDRVNTLCBEQl9TVFJPTkdfRkFJTCBvciBvdGhlciBlcnJvciAqLwogc3Rh dGljCiB1bGludAogaWJ1Zl9pbnNlcnRfbG93KApAQCAtMzMwMiw2ICszMzA4LDcgQEAgaWJ1Zl9p bnNlcnRfbG93KAogCXJlY190KgkJaW5zX3JlYzsKIAlpYm9vbAkJb2xkX2JpdF92YWx1ZTsKIAlw YWdlX3QqCQliaXRtYXBfcGFnZTsKKwlidWZfYmxvY2tfdCoJYmxvY2s7CiAJcGFnZV90KgkJcm9v dDsKIAl1bGludAkJZXJyOwogCWlib29sCQlkb19tZXJnZTsKQEAgLTMzMTEsNyArMzMxOCw2IEBA IGlidWZfaW5zZXJ0X2xvdygKIAl1bGludAkJbl9zdG9yZWQ7CiAJbXRyX3QJCW10cjsKIAltdHJf dAkJYml0bWFwX210cjsKLQlpYm9vbAkJdG9vX2JpZzsKIAogCXV0X2EoIWRpY3RfaW5kZXhfaXNf Y2x1c3QoaW5kZXgpKTsKIAl1dF9hZChkdHVwbGVfY2hlY2tfdHlwZWQoZW50cnkpKTsKQEAgLTMz MjMsMTEgKzMzMjksMTQgQEAgaWJ1Zl9pbnNlcnRfbG93KAogCiAJZG9fbWVyZ2UgPSBGQUxTRTsK IAotCW11dGV4X2VudGVyKCZpYnVmX211dGV4KTsKLQl0b29fYmlnID0gaWJ1Zi0+c2l6ZSA+PSBp YnVmLT5tYXhfc2l6ZSArIElCVUZfQ09OVFJBQ1RfRE9fTk9UX0lOU0VSVDsKLQltdXRleF9leGl0 KCZpYnVmX211dGV4KTsKLQotCWlmICh0b29fYmlnKSB7CisJLyogUGVyZm9ybSBkaXJ0eSByZWFk cyBvZiBpYnVmLT5zaXplIGFuZCBpYnVmLT5tYXhfc2l6ZSwgdG8KKwlyZWR1Y2UgaWJ1Zl9tdXRl eCBjb250ZW50aW9uLiBpYnVmLT5tYXhfc2l6ZSByZW1haW5zIGNvbnN0YW50CisJYWZ0ZXIgaWJ1 Zl9pbml0X2F0X2RiX3N0YXJ0KCksIGJ1dCBpYnVmLT5zaXplIHNob3VsZCBiZQorCXByb3RlY3Rl ZCBieSBpYnVmX211dGV4LiBHaXZlbiB0aGF0IGlidWYtPnNpemUgZml0cyBpbiBhCisJbWFjaGlu ZSB3b3JkLCB0aGlzIHNob3VsZCBiZSBPSzsgYXQgd29yc3Qgd2UgYXJlIGRvaW5nIHNvbWUKKwll eGNlc3NpdmUgaWJ1Zl9jb250cmFjdCgpIG9yIG9jY2FzaW9uYWxseSBza2lwcGluZyBhCisJaWJ1 Zl9jb250cmFjdCgpLiAqLworCWlmIChpYnVmLT5zaXplID49IGlidWYtPm1heF9zaXplICsgSUJV Rl9DT05UUkFDVF9ET19OT1RfSU5TRVJUKSB7CiAJCS8qIEluc2VydCBidWZmZXIgaXMgbm93IHRv byBiaWcsIGNvbnRyYWN0IGl0IGJ1dCBkbyBub3QgdHJ5CiAJCXRvIGluc2VydCAqLwogCkBAIC0z MzYxLDEwICszMzcwLDggQEAgaWJ1Zl9pbnNlcnRfbG93KAogCiAJaWYgKG1vZGUgPT0gQlRSX01P RElGWV9UUkVFKSB7CiAJCWZvciAoOzspIHsKLQkJCW11dGV4X2VudGVyKCZpYnVmX3Blc3NpbWlz dGljX2luc2VydF9tdXRleCk7Ci0KIAkJCWlidWZfZW50ZXIoKTsKLQorCQkJbXV0ZXhfZW50ZXIo JmlidWZfcGVzc2ltaXN0aWNfaW5zZXJ0X211dGV4KTsKIAkJCW11dGV4X2VudGVyKCZpYnVmX211 dGV4KTsKIAogCQkJaWYgKFVOSVZfTElLRUxZKGlidWZfZGF0YV9lbm91Z2hfZnJlZV9mb3JfaW5z ZXJ0KCkpKSB7CkBAIC0zMzczLDE3ICszMzgwLDEzIEBAIGlidWZfaW5zZXJ0X2xvdygKIAkJCX0K IAogCQkJbXV0ZXhfZXhpdCgmaWJ1Zl9tdXRleCk7Ci0KLQkJCWlidWZfZXhpdCgpOwotCiAJCQlt dXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2VydF9tdXRleCk7CisJCQlpYnVmX2V4aXQo KTsKIAotCQkJZXJyID0gaWJ1Zl9hZGRfZnJlZV9wYWdlKCk7Ci0KLQkJCWlmIChVTklWX1VOTElL RUxZKGVyciA9PSBEQl9TVFJPTkdfRkFJTCkpIHsKKwkJCWlmIChVTklWX1VOTElLRUxZKCFpYnVm X2FkZF9mcmVlX3BhZ2UoKSkpIHsKIAogCQkJCW1lbV9oZWFwX2ZyZWUoaGVhcCk7Ci0JCQkJcmV0 dXJuKGVycik7CisJCQkJcmV0dXJuKERCX1NUUk9OR19GQUlMKTsKIAkJCX0KIAkJfQogCX0gZWxz ZSB7CkBAIC0zNDIzLDkgKzM0MjYsMTQgQEAgaWJ1Zl9pbnNlcnRfbG93KAogCQliZWZvcmUgbXRy X2NvbW1pdCgmbXRyKS4gIFdlIG11c3Qgbm90IG10cl9jb21taXQoJm10cikKIAkJdW50aWwgYWZ0 ZXIgdGhlIElCVUZfT1BfREVMRVRFIGhhcyBiZWVuIGJ1ZmZlcmVkLiAqLwogCi0JCWVyciA9IERC X1NUUk9OR19GQUlMOworZmFpbF9leGl0OgorCQlpZiAobW9kZSA9PSBCVFJfTU9ESUZZX1RSRUUp IHsKKwkJCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOworCQkJbXV0ZXhfZXhpdCgmaWJ1Zl9wZXNz aW1pc3RpY19pbnNlcnRfbXV0ZXgpOworCQl9CiAKLQkJZ290byBmdW5jdGlvbl9leGl0OworCQll cnIgPSBEQl9TVFJPTkdfRkFJTDsKKwkJZ290byBmdW5jX2V4aXQ7CiAJfQogCiAJLyogQWZ0ZXIg dGhpcyBwb2ludCwgdGhlIHBhZ2UgY291bGQgc3RpbGwgYmUgbG9hZGVkIHRvIHRoZQpAQCAtMzQ3 MSw5ICszNDc5LDcgQEAgaWJ1Zl9pbnNlcnRfbG93KAogCQkJCXNwYWNlX2lkcywgc3BhY2VfdmVy c2lvbnMsCiAJCQkJcGFnZV9ub3MsICZuX3N0b3JlZCk7CiAKLQkJCWVyciA9IERCX1NUUk9OR19G QUlMOwotCi0JCQlnb3RvIGZ1bmN0aW9uX2V4aXQ7CisJCQlnb3RvIGZhaWxfZXhpdDsKIAkJfQog CX0KIApAQCAtMzQ4NCwxMSArMzQ5MCw5IEBAIGlidWZfaW5zZXJ0X2xvdygKIAkgICAgJiYgIWli dWZfc2V0X2VudHJ5X2NvdW50ZXIoaWJ1Zl9lbnRyeSwgc3BhY2UsIHBhZ2Vfbm8sICZwY3VyLAog CQkJCSAgICAgICBtb2RlID09IEJUUl9NT0RJRllfUFJFViwgJm10cikpIHsKIGJpdG1hcF9mYWls OgotCQllcnIgPSBEQl9TVFJPTkdfRkFJTDsKLQogCQltdHJfY29tbWl0KCZiaXRtYXBfbXRyKTsK IAotCQlnb3RvIGZ1bmN0aW9uX2V4aXQ7CisJCWdvdG8gZmFpbF9leGl0OwogCX0KIAogCS8qIFNl dCB0aGUgYml0bWFwIGJpdCBkZW5vdGluZyB0aGF0IHRoZSBpbnNlcnQgYnVmZmVyIGNvbnRhaW5z CkBAIC0zNTEyLDEwICszNTE2LDE5IEBAIGJpdG1hcF9mYWlsOgogCQllcnIgPSBidHJfY3VyX29w dGltaXN0aWNfaW5zZXJ0KEJUUl9OT19MT0NLSU5HX0ZMQUcsIGN1cnNvciwKIAkJCQkJCWlidWZf ZW50cnksICZpbnNfcmVjLAogCQkJCQkJJmR1bW15X2JpZ19yZWMsIDAsIHRociwgJm10cik7Ci0J CWlmIChlcnIgPT0gREJfU1VDQ0VTUyAmJiBvcCAhPSBJQlVGX09QX0RFTEVURSkgewotCQkJLyog VXBkYXRlIHRoZSBwYWdlIG1heCB0cnggaWQgZmllbGQgKi8KLQkJCXBhZ2VfdXBkYXRlX21heF90 cnhfaWQoYnRyX2N1cl9nZXRfYmxvY2soY3Vyc29yKSwgTlVMTCwKLQkJCQkJICAgICAgIHRocl9n ZXRfdHJ4KHRociktPmlkLCAmbXRyKTsKKwkJYmxvY2sgPSBidHJfY3VyX2dldF9ibG9jayhjdXJz b3IpOworCQl1dF9hZChidWZfYmxvY2tfZ2V0X3NwYWNlKGJsb2NrKSA9PSBJQlVGX1NQQUNFX0lE KTsKKworCQkvKiBJZiB0aGlzIGlzIHRoZSByb290IHBhZ2UsIHVwZGF0ZSBpYnVmLT5lbXB0eS4g Ki8KKwkJaWYgKFVOSVZfVU5MSUtFTFkoYnVmX2Jsb2NrX2dldF9wYWdlX25vKGJsb2NrKQorCQkJ CSAgPT0gRlNQX0lCVUZfVFJFRV9ST09UX1BBR0VfTk8pKSB7CisJCQljb25zdCBwYWdlX3QqCXJv b3QgPSBidWZfYmxvY2tfZ2V0X2ZyYW1lKGJsb2NrKTsKKworCQkJdXRfYWQocGFnZV9nZXRfc3Bh Y2VfaWQocm9vdCkgPT0gSUJVRl9TUEFDRV9JRCk7CisJCQl1dF9hZChwYWdlX2dldF9wYWdlX25v KHJvb3QpCisJCQkgICAgICA9PSBGU1BfSUJVRl9UUkVFX1JPT1RfUEFHRV9OTyk7CisKKwkJCWli dWYtPmVtcHR5ID0gKHBhZ2VfZ2V0X25fcmVjcyhyb290KSA9PSAwKTsKIAkJfQogCX0gZWxzZSB7 CiAJCXV0X2FkKG1vZGUgPT0gQlRSX01PRElGWV9UUkVFKTsKQEAgLTM1MzIsMTYgKzM1NDUsMjIg QEAgYml0bWFwX2ZhaWw6CiAJCQkJCQkgY3Vyc29yLAogCQkJCQkJIGlidWZfZW50cnksICZpbnNf cmVjLAogCQkJCQkJICZkdW1teV9iaWdfcmVjLCAwLCB0aHIsICZtdHIpOwotCQlpZiAoZXJyID09 IERCX1NVQ0NFU1MgJiYgb3AgIT0gSUJVRl9PUF9ERUxFVEUpIHsKLQkJCS8qIFVwZGF0ZSB0aGUg cGFnZSBtYXggdHJ4IGlkIGZpZWxkICovCi0JCQlwYWdlX3VwZGF0ZV9tYXhfdHJ4X2lkKGJ0cl9j dXJfZ2V0X2Jsb2NrKGN1cnNvciksIE5VTEwsCi0JCQkJCSAgICAgICB0aHJfZ2V0X3RyeCh0aHIp LT5pZCwgJm10cik7Ci0JCX0KLQorCQltdXRleF9leGl0KCZpYnVmX3Blc3NpbWlzdGljX2luc2Vy dF9tdXRleCk7CiAJCWlidWZfc2l6ZV91cGRhdGUocm9vdCwgJm10cik7CisJCW11dGV4X2V4aXQo JmlidWZfbXV0ZXgpOworCQlpYnVmLT5lbXB0eSA9IChwYWdlX2dldF9uX3JlY3Mocm9vdCkgPT0g MCk7CisKKwkJYmxvY2sgPSBidHJfY3VyX2dldF9ibG9jayhjdXJzb3IpOworCQl1dF9hZChidWZf YmxvY2tfZ2V0X3NwYWNlKGJsb2NrKSA9PSBJQlVGX1NQQUNFX0lEKTsKKwl9CisKKwlpZiAoZXJy ID09IERCX1NVQ0NFU1MgJiYgb3AgIT0gSUJVRl9PUF9ERUxFVEUpIHsKKwkJLyogVXBkYXRlIHRo ZSBwYWdlIG1heCB0cnggaWQgZmllbGQgKi8KKwkJcGFnZV91cGRhdGVfbWF4X3RyeF9pZChibG9j aywgTlVMTCwKKwkJCQkgICAgICAgdGhyX2dldF90cngodGhyKS0+aWQsICZtdHIpOwogCX0KIAot ZnVuY3Rpb25fZXhpdDoKK2Z1bmNfZXhpdDoKICNpZmRlZiBVTklWX0lCVUZfQ09VTlRfREVCVUcK IAlpZiAoZXJyID09IERCX1NVQ0NFU1MpIHsKIAkJZnByaW50ZihzdGRlcnIsCkBAIC0zNTUzLDEx ICszNTcyLDYgQEAgZnVuY3Rpb25fZXhpdDoKIAkJCSAgICAgICBpYnVmX2NvdW50X2dldChzcGFj ZSwgcGFnZV9ubykgKyAxKTsKIAl9CiAjZW5kaWYKLQlpZiAobW9kZSA9PSBCVFJfTU9ESUZZX1RS RUUpIHsKLQotCQltdXRleF9leGl0KCZpYnVmX211dGV4KTsKLQkJbXV0ZXhfZXhpdCgmaWJ1Zl9w ZXNzaW1pc3RpY19pbnNlcnRfbXV0ZXgpOwotCX0KIAogCW10cl9jb21taXQoJm10cik7CiAJYnRy X3BjdXJfY2xvc2UoJnBjdXIpOwpAQCAtMzU2NSwxNiArMzU3OSw4IEBAIGZ1bmN0aW9uX2V4aXQ6 CiAKIAltZW1faGVhcF9mcmVlKGhlYXApOwogCi0JaWYgKGVyciA9PSBEQl9TVUNDRVNTKSB7Ci0J CW11dGV4X2VudGVyKCZpYnVmX211dGV4KTsKLQotCQlpYnVmLT5lbXB0eSA9IEZBTFNFOwotCi0J CW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOwotCi0JCWlmIChtb2RlID09IEJUUl9NT0RJRllfVFJF RSkgewotCQkJaWJ1Zl9jb250cmFjdF9hZnRlcl9pbnNlcnQoZW50cnlfc2l6ZSk7Ci0JCX0KKwlp ZiAoZXJyID09IERCX1NVQ0NFU1MgJiYgbW9kZSA9PSBCVFJfTU9ESUZZX1RSRUUpIHsKKwkJaWJ1 Zl9jb250cmFjdF9hZnRlcl9pbnNlcnQoZW50cnlfc2l6ZSk7CiAJfQogCiAJaWYgKGRvX21lcmdl KSB7CkBAIC00MDgxLDYgKzQwODcsMjIgQEAgaWJ1Zl9kZWxldGVfcmVjKAogCXN1Y2Nlc3MgPSBi dHJfY3VyX29wdGltaXN0aWNfZGVsZXRlKGJ0cl9wY3VyX2dldF9idHJfY3VyKHBjdXIpLCBtdHIp OwogCiAJaWYgKHN1Y2Nlc3MpIHsKKwkJaWYgKFVOSVZfVU5MSUtFTFkoIXBhZ2VfZ2V0X25fcmVj cyhidHJfcGN1cl9nZXRfcGFnZShwY3VyKSkpKSB7CisJCQkvKiBJZiBhIEItdHJlZSBwYWdlIGlz IGVtcHR5LCBpdCBtdXN0IGJlIHRoZSByb290IHBhZ2UKKwkJCWFuZCB0aGUgd2hvbGUgQi10cmVl IG11c3QgYmUgZW1wdHkuIElubm9EQiBkb2VzIG5vdAorCQkJYWxsb3cgZW1wdHkgQi10cmVlIHBh Z2VzIG90aGVyIHRoYW4gdGhlIHJvb3QuICovCisJCQlyb290ID0gYnRyX3BjdXJfZ2V0X3BhZ2Uo cGN1cik7CisKKwkJCXV0X2FkKHBhZ2VfZ2V0X3NwYWNlX2lkKHJvb3QpID09IElCVUZfU1BBQ0Vf SUQpOworCQkJdXRfYWQocGFnZV9nZXRfcGFnZV9ubyhyb290KQorCQkJICAgICAgPT0gRlNQX0lC VUZfVFJFRV9ST09UX1BBR0VfTk8pOworCisJCQkvKiBpYnVmLT5lbXB0eSBpcyBwcm90ZWN0ZWQg YnkgdGhlIHJvb3QgcGFnZSBsYXRjaC4KKwkJCUJlZm9yZSB0aGUgZGVsZXRpb24sIGl0IGhhZCB0 byBiZSBGQUxTRS4gKi8KKwkJCXV0X2FkKCFpYnVmLT5lbXB0eSk7CisJCQlpYnVmLT5lbXB0eSA9 IFRSVUU7CisJCX0KKwogI2lmZGVmIFVOSVZfSUJVRl9DT1VOVF9ERUJVRwogCQlmcHJpbnRmKHN0 ZGVyciwKIAkJCSJEZWNyZW1lbnRpbmcgaWJ1ZiBjb3VudCBvZiBzcGFjZSAlbHUgcGFnZSAlbHVc biIKQEAgLTQxMDgsNiArNDEzMCw3IEBAIGlidWZfZGVsZXRlX3JlYygKIAlpZiAoIWlidWZfcmVz dG9yZV9wb3Moc3BhY2UsIHBhZ2Vfbm8sIHNlYXJjaF90dXBsZSwKIAkJCSAgICAgIEJUUl9NT0RJ RllfVFJFRSwgcGN1ciwgbXRyKSkgewogCisJCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOwogCQln b3RvIGZ1bmNfZXhpdDsKIAl9CiAKQEAgLTQxMjEsMTAgKzQxNDQsMTIgQEAgaWJ1Zl9kZWxldGVf cmVjKAogCWlidWZfY291bnRfc2V0KHNwYWNlLCBwYWdlX25vLCBpYnVmX2NvdW50X2dldChzcGFj ZSwgcGFnZV9ubykgLSAxKTsKICNlbmRpZgogCWlidWZfc2l6ZV91cGRhdGUocm9vdCwgbXRyKTsK KwltdXRleF9leGl0KCZpYnVmX211dGV4KTsKKworCWlidWYtPmVtcHR5ID0gKHBhZ2VfZ2V0X25f cmVjcyhyb290KSA9PSAwKTsKIAlidHJfcGN1cl9jb21taXRfc3BlY2lmeV9tdHIocGN1ciwgbXRy KTsKIAogZnVuY19leGl0OgotCW11dGV4X2V4aXQoJmlidWZfbXV0ZXgpOwogCWJ0cl9wY3VyX2Ns b3NlKHBjdXIpOwogCiAJcmV0dXJuKFRSVUUpOwpAQCAtNDY0MiwzNyArNDY2NywxOCBAQCBpYnVm X2lzX2VtcHR5KHZvaWQpCiAJbXRyX3QJCW10cjsKIAogCWlidWZfZW50ZXIoKTsKLQotCW11dGV4 X2VudGVyKCZpYnVmX211dGV4KTsKLQogCW10cl9zdGFydCgmbXRyKTsKIAorCW11dGV4X2VudGVy KCZpYnVmX211dGV4KTsKIAlyb290ID0gaWJ1Zl90cmVlX3Jvb3RfZ2V0KCZtdHIpOwotCi0JaWYg KHBhZ2VfZ2V0X25fcmVjcyhyb290KSA9PSAwKSB7Ci0KLQkJaXNfZW1wdHkgPSBUUlVFOwotCi0J CWlmIChpYnVmLT5lbXB0eSA9PSBGQUxTRSkgewotCQkJZnByaW50ZihzdGRlcnIsCi0JCQkJIklu bm9EQjogV2FybmluZzogaW5zZXJ0IGJ1ZmZlciB0cmVlIGlzIGVtcHR5IgotCQkJCSIgYnV0IHRo ZSBkYXRhIHN0cnVjdCBkb2VzIG5vdFxuIgotCQkJCSJJbm5vREI6IGtub3cgaXQuIFRoaXMgY29u ZGl0aW9uIGlzIGxlZ2FsIgotCQkJCSIgaWYgdGhlIG1hc3RlciB0aHJlYWQgaGFzIG5vdCB5ZXRc biIKLQkJCQkiSW5ub0RCOiBydW4gdG8gY29tcGxldGlvbi5cbiIpOwotCQl9Ci0JfSBlbHNlIHsK LQkJdXRfYShpYnVmLT5lbXB0eSA9PSBGQUxTRSk7Ci0KLQkJaXNfZW1wdHkgPSBGQUxTRTsKLQl9 Ci0KIAltdXRleF9leGl0KCZpYnVmX211dGV4KTsKIAorCWlzX2VtcHR5ID0gKHBhZ2VfZ2V0X25f cmVjcyhyb290KSA9PSAwKTsKIAltdHJfY29tbWl0KCZtdHIpOwotCiAJaWJ1Zl9leGl0KCk7CiAK Kwl1dF9hKGlzX2VtcHR5ID09IGlidWYtPmVtcHR5KTsKKwogCXJldHVybihpc19lbXB0eSk7CiB9 CiAKCj09PSBtb2RpZmllZCBmaWxlICdzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvaWJ1ZjBpYnVm LmljJwotLS0gYS9zdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvaWJ1ZjBpYnVmLmljCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTAwODA5MDg1ODM3LXMxbmZ4NmdqZjdsNnR0YWIKKysr IGIvc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2lidWYwaWJ1Zi5pYwlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDEwMDgxMDEwMjI0OC14cmRqaWUyZGU0cjloM2VkCkBAIC00NiwxMSAr NDYsMTIgQEAgc3RydWN0IGlidWZfc3RydWN0ewogCXVsaW50CQlzZWdfc2l6ZTsJLyohPCBhbGxv Y2F0ZWQgcGFnZXMgb2YgdGhlIGZpbGUKIAkJCQkJc2VnbWVudCBjb250YWluaW5nIGlidWYgaGVh ZGVyIGFuZAogCQkJCQl0cmVlICovCi0JaWJvb2wJCWVtcHR5OwkJLyohPCBhZnRlciBhbiBpbnNl cnQgdG8gdGhlIGlidWYgdHJlZQotCQkJCQlpcyBwZXJmb3JtZWQsIHRoaXMgaXMgc2V0IHRvIEZB TFNFLAotCQkJCQlhbmQgaWYgYSBjb250cmFjdCBvcGVyYXRpb24gZmluZHMKLQkJCQkJdGhlIHRy ZWUgZW1wdHksIHRoaXMgaXMgc2V0IHRvCi0JCQkJCVRSVUUgKi8KKwlpYm9vbAkJZW1wdHk7CQkv KiE8IFByb3RlY3RlZCBieSB0aGUgcGFnZQorCQkJCQlsYXRjaCBvZiB0aGUgcm9vdCBwYWdlIG9m IHRoZQorCQkJCQlpbnNlcnQgYnVmZmVyIHRyZWUKKwkJCQkJKEZTUF9JQlVGX1RSRUVfUk9PVF9Q QUdFX05PKS4gVFJVRQorCQkJCQlpZiBhbmQgb25seSBpZiB0aGUgaW5zZXJ0CisJCQkJCWJ1ZmZl ciB0cmVlIGlzIGVtcHR5LiAqLwogCXVsaW50CQlmcmVlX2xpc3RfbGVuOwkvKiE8IGxlbmd0aCBv ZiB0aGUgZnJlZSBsaXN0ICovCiAJdWxpbnQJCWhlaWdodDsJCS8qITwgdHJlZSBoZWlnaHQgKi8K IAlkaWN0X2luZGV4X3QqCWluZGV4OwkJLyohPCBpbnNlcnQgYnVmZmVyIGluZGV4ICovCgo= --===============0263607131== 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/5.5-innodb/ # testament_sha1: d12b4d711bb499233de1ebac4936cb3ab7fae595 # timestamp: 2010-08-10 13:22:58 +0300 # source_branch: file:///home/marko/innobase/dev/mysql2a/5.1-innodb/ # base_revision_id: marko.makela@stripped\ # s1nfx6gjf7l6ttab # # Begin bundle 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 wA== --===============0263607131==--