From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HebFJ-0003c8-V7 for qemu-devel@nongnu.org; Thu, 19 Apr 2007 14:20:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HebFJ-0003bn-3B for qemu-devel@nongnu.org; Thu, 19 Apr 2007 14:20:41 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HebFI-0003bh-TE for qemu-devel@nongnu.org; Thu, 19 Apr 2007 14:20:40 -0400 Received: from ug-out-1314.google.com ([66.249.92.170]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HebAJ-0000nF-KP for qemu-devel@nongnu.org; Thu, 19 Apr 2007 14:15:32 -0400 Received: by ug-out-1314.google.com with SMTP id j40so647482ugd for ; Thu, 19 Apr 2007 11:15:30 -0700 (PDT) Message-ID: Date: Thu, 19 Apr 2007 21:15:30 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] qemu/hw pckbd.c In-Reply-To: <200704191544.45984.paul@codesourcery.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_52259_25484998.1177006530676" References: <200704181708.22450.paul@codesourcery.com> <1176972212.6333.101.camel@rapid> <200704191544.45984.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: "J. Mayer" , qemu-devel@nongnu.org ------=_Part_52259_25484998.1177006530676 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Ok, try this patch. It doesn't handle cases where the sub-page areas are something else than IO. Though I don't know if it handles any other cases for that matter, but at least Sparc32 may work. :-) ------=_Part_52259_25484998.1177006530676 Content-Type: text/x-patch; name=subpage_io.diff; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: base64 X-Attachment-Id: f_f0pj9jek Content-Disposition: attachment; filename="subpage_io.diff" SW5kZXg6IHFlbXUvZXhlYy5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9leGVjLmMJMjAwNy0w NC0xOSAxODowNzoyNi4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvZXhlYy5jCTIwMDctMDQtMTkg MTg6MDc6MjguMDAwMDAwMDAwICswMDAwCkBAIC0xNTUsNiArMTU1LDE0IEBACiBzdGF0aWMgaW50 IHRiX2ZsdXNoX2NvdW50Owogc3RhdGljIGludCB0Yl9waHlzX2ludmFsaWRhdGVfY291bnQ7CiAK KyNkZWZpbmUgU1VCUEFHRV9JRFgoYWRkcikgKChhZGRyKSAmIChUQVJHRVRfUEFHRV9CSVRTIC0g MSkpCit0eXBlZGVmIHN0cnVjdCBzdWJwYWdlX3QgeworICAgIHRhcmdldF9waHlzX2FkZHJfdCBi YXNlOworICAgIENQVVJlYWRNZW1vcnlGdW5jICoqbWVtX3JlYWRbVEFSR0VUX1BBR0VfU0laRV07 CisgICAgQ1BVV3JpdGVNZW1vcnlGdW5jICoqbWVtX3dyaXRlW1RBUkdFVF9QQUdFX1NJWkVdOwor ICAgIHZvaWQgKm9wYXF1ZVtUQVJHRVRfUEFHRV9TSVpFXTsKK30gc3VicGFnZV90OworCiBzdGF0 aWMgdm9pZCBwYWdlX2luaXQodm9pZCkKIHsKICAgICAvKiBOT1RFOiB3ZSBjYW4gYWx3YXlzIHN1 cHBvc2UgdGhhdCBxZW11X2hvc3RfcGFnZV9zaXplID49CkBAIC0xODk2LDYgKzE5MDQsMTAgQEAK IH0KICNlbmRpZiAvKiBkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpICovCiAKK3N0YXRpYyBpbnQg c3VicGFnZV9yZWdpc3RlciAoc3VicGFnZV90ICptbWlvLCB1aW50MzJfdCBzdGFydCwgdWludDMy X3QgZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWVtb3J5KTsKK3N0YXRp YyB2b2lkICpzdWJwYWdlX2luaXQgKHRhcmdldF9waHlzX2FkZHJfdCBiYXNlLCB1aW50MzJfdCAq cGh5cyk7CisKIC8qIHJlZ2lzdGVyIHBoeXNpY2FsIG1lbW9yeS4gJ3NpemUnIG11c3QgYmUgYSBt dWx0aXBsZSBvZiB0aGUgdGFyZ2V0CiAgICBwYWdlIHNpemUuIElmIChwaHlzX29mZnNldCAmIH5U QVJHRVRfUEFHRV9NQVNLKSAhPSAwLCB0aGVuIGl0IGlzIGFuCiAgICBpbyBtZW1vcnkgcGFnZSAq LwpAQCAtMTkwNiwxNSArMTkxOCwzOSBAQAogICAgIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLCBl bmRfYWRkcjsKICAgICBQaHlzUGFnZURlc2MgKnA7CiAgICAgQ1BVU3RhdGUgKmVudjsKKyAgICB1 bnNpZ25lZCBsb25nIG9yaWdfc2l6ZSA9IHNpemU7CisgICAgdm9pZCAqc3VicGFnZTsKIAogICAg IHNpemUgPSAoc2l6ZSArIFRBUkdFVF9QQUdFX1NJWkUgLSAxKSAmIFRBUkdFVF9QQUdFX01BU0s7 CiAgICAgZW5kX2FkZHIgPSBzdGFydF9hZGRyICsgc2l6ZTsKICAgICBmb3IoYWRkciA9IHN0YXJ0 X2FkZHI7IGFkZHIgIT0gZW5kX2FkZHI7IGFkZHIgKz0gVEFSR0VUX1BBR0VfU0laRSkgewotICAg ICAgICBwID0gcGh5c19wYWdlX2ZpbmRfYWxsb2MoYWRkciA+PiBUQVJHRVRfUEFHRV9CSVRTLCAx KTsKLSAgICAgICAgcC0+cGh5c19vZmZzZXQgPSBwaHlzX29mZnNldDsKLSAgICAgICAgaWYgKChw aHlzX29mZnNldCAmIH5UQVJHRVRfUEFHRV9NQVNLKSA8PSBJT19NRU1fUk9NIHx8Ci0gICAgICAg ICAgICAocGh5c19vZmZzZXQgJiBJT19NRU1fUk9NRCkpCi0gICAgICAgICAgICBwaHlzX29mZnNl dCArPSBUQVJHRVRfUEFHRV9TSVpFOworICAgICAgICBwID0gcGh5c19wYWdlX2ZpbmQoYWRkciA+ PiBUQVJHRVRfUEFHRV9CSVRTKTsKKyAgICAgICAgaWYgKHAgJiYgcC0+cGh5c19vZmZzZXQgIT0g SU9fTUVNX1VOQVNTSUdORUQpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgb3JpZ19tZW1v cnkgPSBwLT5waHlzX29mZnNldDsKKyAgICAgICAgICAgIHRhcmdldF9waHlzX2FkZHJfdCBzdGFy dF9hZGRyMiwgZW5kX2FkZHIyOworCisgICAgICAgICAgICBpZiAoYWRkciA+IHN0YXJ0X2FkZHIp CisgICAgICAgICAgICAgICAgc3RhcnRfYWRkcjIgPSAwOworICAgICAgICAgICAgZWxzZQorICAg ICAgICAgICAgICAgIHN0YXJ0X2FkZHIyID0gc3RhcnRfYWRkciAmIH5UQVJHRVRfUEFHRV9NQVNL OworCisgICAgICAgICAgICBpZiAoZW5kX2FkZHIgLSBhZGRyID4gVEFSR0VUX1BBR0VfU0laRSkK KyAgICAgICAgICAgICAgICBlbmRfYWRkcjIgPSBUQVJHRVRfUEFHRV9TSVpFIC0gMTsKKyAgICAg ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlbmRfYWRkcjIgPSBzdGFydF9hZGRyICsgb3Jp Z19zaXplIC0gYWRkcjsKKworICAgICAgICAgICAgaWYgKCEob3JpZ19tZW1vcnkgJiBJT19NRU1f U1VCUEFHRSkpIHsKKyAgICAgICAgICAgICAgICBzdWJwYWdlID0gc3VicGFnZV9pbml0KGFkZHIs ICZwLT5waHlzX29mZnNldCk7CisgICAgICAgICAgICAgICAgc3VicGFnZV9yZWdpc3RlcihzdWJw YWdlLCAwLCBUQVJHRVRfUEFHRV9TSVpFLCBvcmlnX21lbW9yeSk7CisgICAgICAgICAgICB9Cisg ICAgICAgICAgICBzdWJwYWdlX3JlZ2lzdGVyKGlvX21lbV9vcGFxdWVbb3JpZ19tZW1vcnldLCBz dGFydF9hZGRyMiwgZW5kX2FkZHIyLCBwaHlzX29mZnNldCk7CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICBwID0gcGh5c19wYWdlX2ZpbmRfYWxsb2MoYWRkciA+PiBUQVJHRVRfUEFHRV9C SVRTLCAxKTsKKyAgICAgICAgICAgIHAtPnBoeXNfb2Zmc2V0ID0gcGh5c19vZmZzZXQ7CisgICAg ICAgICAgICBpZiAoKHBoeXNfb2Zmc2V0ICYgflRBUkdFVF9QQUdFX01BU0spIDw9IElPX01FTV9S T00gfHwKKyAgICAgICAgICAgICAgICAocGh5c19vZmZzZXQgJiBJT19NRU1fUk9NRCkpCisgICAg ICAgICAgICAgICAgcGh5c19vZmZzZXQgKz0gVEFSR0VUX1BBR0VfU0laRTsKKyAgICAgICAgfQog ICAgIH0KICAgICAKICAgICAvKiBzaW5jZSBlYWNoIENQVSBzdG9yZXMgcmFtIGFkZHJlc3NlcyBp biBpdHMgVExCIGNhY2hlLCB3ZSBtdXN0CkBAIC0yMTUwLDYgKzIxODYsMTQ2IEBACiB9OwogI2Vu ZGlmCiAKK3N0YXRpYyBpbmxpbmUgdWludDMyX3Qgc3VicGFnZV9yZWFkbGVuIChzdWJwYWdlX3Qg Km1taW8sIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgaW50IGxlbikKK3sKKyAgICBDUFVSZWFkTWVtb3J5RnVuYyAqKm1l bV9yZWFkOworICAgIHVpbnQzMl90IHJldDsKKyAgICB1bnNpZ25lZCBpbnQgaWR4OworCisgICAg aWR4ID0gU1VCUEFHRV9JRFgoYWRkciAtIG1taW8tPmJhc2UpOworI2lmIGRlZmluZWQoREVCVUdf U1VCUEFHRSkKKyAgICBwcmludGYoIiVzOiBzdWJwYWdlICVwIGxlbiAlZCBhZGRyICIgUEFERFJY ICIgaWR4ICVkXG4iLCBfX2Z1bmNfXywKKyAgICAgICAgICAgbW1pbywgbGVuLCBhZGRyLCBpZHgp OworI2VuZGlmCisgICAgbWVtX3JlYWQgPSBtbWlvLT5tZW1fcmVhZFtpZHhdOworICAgIHJldCA9 ICgqbWVtX3JlYWRbbGVuXSkobW1pby0+b3BhcXVlW2lkeF0sIGFkZHIpOworCisgICAgcmV0dXJu IHJldDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHN1YnBhZ2Vfd3JpdGVsZW4gKHN1YnBhZ2Vf dCAqbW1pbywgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCB2YWx1ZSwgdW5zaWduZWQgaW50IGxlbikKK3sKKyAgICBDUFVXcml0 ZU1lbW9yeUZ1bmMgKiptZW1fd3JpdGU7CisgICAgdW5zaWduZWQgaW50IGlkeDsKKworICAgIGlk eCA9IFNVQlBBR0VfSURYKGFkZHIgLSBtbWlvLT5iYXNlKTsKKyNpZiBkZWZpbmVkKERFQlVHX1NV QlBBR0UpCisgICAgcHJpbnRmKCIlczogc3VicGFnZSAlcCBsZW4gJWQgYWRkciAiIFBBRERSWCAi IGlkeCAlZCB2YWx1ZSAlMDh4XG4iLCBfX2Z1bmNfXywKKyAgICAgICAgICAgbW1pbywgbGVuLCBh ZGRyLCBpZHgsIHZhbHVlKTsKKyNlbmRpZgorICAgIG1lbV93cml0ZSA9IG1taW8tPm1lbV93cml0 ZVtpZHhdOworICAgICgqbWVtX3dyaXRlW2xlbl0pKG1taW8tPm9wYXF1ZVtpZHhdLCBhZGRyLCB2 YWx1ZSk7Cit9CisKK3N0YXRpYyB1aW50MzJfdCBzdWJwYWdlX3JlYWRiICh2b2lkICpvcGFxdWUs IHRhcmdldF9waHlzX2FkZHJfdCBhZGRyKQoreworI2lmIGRlZmluZWQoREVCVUdfU1VCUEFHRSkK KyAgICBwcmludGYoIiVzOiBhZGRyICIgUEFERFJYICJcbiIsIF9fZnVuY19fLCBhZGRyKTsKKyNl bmRpZgorCisgICAgcmV0dXJuIHN1YnBhZ2VfcmVhZGxlbihvcGFxdWUsIGFkZHIsIDApOworfQor CitzdGF0aWMgdm9pZCBzdWJwYWdlX3dyaXRlYiAodm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19h ZGRyX3QgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWx1ZSkK K3sKKyNpZiBkZWZpbmVkKERFQlVHX1NVQlBBR0UpCisgICAgcHJpbnRmKCIlczogYWRkciAiIFBB RERSWCAiIHZhbCAlMDh4XG4iLCBfX2Z1bmNfXywgYWRkciwgdmFsdWUpOworI2VuZGlmCisgICAg c3VicGFnZV93cml0ZWxlbihvcGFxdWUsIGFkZHIsIHZhbHVlLCAwKTsKK30KKworc3RhdGljIHVp bnQzMl90IHN1YnBhZ2VfcmVhZHcgKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFk ZHIpCit7CisjaWYgZGVmaW5lZChERUJVR19TVUJQQUdFKQorICAgIHByaW50ZigiJXM6IGFkZHIg IiBQQUREUlggIlxuIiwgX19mdW5jX18sIGFkZHIpOworI2VuZGlmCisKKyAgICByZXR1cm4gc3Vi cGFnZV9yZWFkbGVuKG9wYXF1ZSwgYWRkciwgMSk7Cit9CisKK3N0YXRpYyB2b2lkIHN1YnBhZ2Vf d3JpdGV3ICh2b2lkICpvcGFxdWUsIHRhcmdldF9waHlzX2FkZHJfdCBhZGRyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbHVlKQoreworI2lmIGRlZmluZWQoREVCVUdf U1VCUEFHRSkKKyAgICBwcmludGYoIiVzOiBhZGRyICIgUEFERFJYICIgdmFsICUwOHhcbiIsIF9f ZnVuY19fLCBhZGRyLCB2YWx1ZSk7CisjZW5kaWYKKyAgICBzdWJwYWdlX3dyaXRlbGVuKG9wYXF1 ZSwgYWRkciwgdmFsdWUsIDEpOworfQorCitzdGF0aWMgdWludDMyX3Qgc3VicGFnZV9yZWFkbCAo dm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19hZGRyX3QgYWRkcikKK3sKKyNpZiBkZWZpbmVkKERF QlVHX1NVQlBBR0UpCisgICAgcHJpbnRmKCIlczogYWRkciAiIFBBRERSWCAiXG4iLCBfX2Z1bmNf XywgYWRkcik7CisjZW5kaWYKKworICAgIHJldHVybiBzdWJwYWdlX3JlYWRsZW4ob3BhcXVlLCBh ZGRyLCAyKTsKK30KKworc3RhdGljIHZvaWQgc3VicGFnZV93cml0ZWwgKHZvaWQgKm9wYXF1ZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcGh5c19hZGRyX3QgYWRkciwgdWludDMy X3QgdmFsdWUpCit7CisjaWYgZGVmaW5lZChERUJVR19TVUJQQUdFKQorICAgIHByaW50ZigiJXM6 IGFkZHIgIiBQQUREUlggIiB2YWwgJTA4eFxuIiwgX19mdW5jX18sIGFkZHIsIHZhbHVlKTsKKyNl bmRpZgorICAgIHN1YnBhZ2Vfd3JpdGVsZW4ob3BhcXVlLCBhZGRyLCB2YWx1ZSwgMik7Cit9CisK K3N0YXRpYyBDUFVSZWFkTWVtb3J5RnVuYyAqc3VicGFnZV9yZWFkW10gPSB7CisgICAgJnN1YnBh Z2VfcmVhZGIsCisgICAgJnN1YnBhZ2VfcmVhZHcsCisgICAgJnN1YnBhZ2VfcmVhZGwsCit9Owor CitzdGF0aWMgQ1BVV3JpdGVNZW1vcnlGdW5jICpzdWJwYWdlX3dyaXRlW10gPSB7CisgICAgJnN1 YnBhZ2Vfd3JpdGViLAorICAgICZzdWJwYWdlX3dyaXRldywKKyAgICAmc3VicGFnZV93cml0ZWws Cit9OworCitzdGF0aWMgaW50IHN1YnBhZ2VfcmVnaXN0ZXIgKHN1YnBhZ2VfdCAqbW1pbywgdWlu dDMyX3Qgc3RhcnQsIHVpbnQzMl90IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50IG1lbW9yeSkKK3sKKyAgICBpbnQgaWR4LCBlaWR4OworCisgICAgaWYgKHN0YXJ0ID4gVEFS R0VUX1BBR0VfU0laRSB8fCBlbmQgPiBUQVJHRVRfUEFHRV9TSVpFKQorICAgICAgICByZXR1cm4g LTE7CisgICAgaWR4ID0gU1VCUEFHRV9JRFgoc3RhcnQpOworICAgIGVpZHggPSBTVUJQQUdFX0lE WChlbmQpOworI2lmIGRlZmluZWQoREVCVUdfU1VCUEFHRSkKKyAgICBwcmludGYoIiVzOiBvZmZz ZXQgJTA4eCBsZW4gJTA4eCAlMDh4ICVkICVkXG4iLCBfX2Z1bmNfXywgb2Zmc2V0LCBsZW4sCisg ICAgICAgICAgIGVuZCwgaWR4LCBlaWR4KTsKKyNlbmRpZgorICAgIGZvciAoOyBpZHggPD0gZWlk eDsgaWR4KyspIHsKKyAgICAgICAgbW1pby0+bWVtX3JlYWRbaWR4XSA9IGlvX21lbV9yZWFkW21l bW9yeV07CisgICAgICAgIG1taW8tPm1lbV93cml0ZVtpZHhdID0gaW9fbWVtX3dyaXRlW21lbW9y eV07CisgICAgICAgIG1taW8tPm9wYXF1ZVtpZHhdID0gaW9fbWVtX29wYXF1ZVttZW1vcnldOwor ICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCAqc3VicGFnZV9pbml0ICh0 YXJnZXRfcGh5c19hZGRyX3QgYmFzZSwgdWludDMyX3QgKnBoeXMpCit7CisgICAgc3VicGFnZV90 ICptbWlvOworICAgIGludCBzdWJwYWdlX21lbW9yeTsKKworICAgIG1taW8gPSBxZW11X21hbGxv Y3ooc2l6ZW9mKHN1YnBhZ2VfdCkpOworICAgIGlmIChtbWlvICE9IE5VTEwpIHsKKyAgICAgICAg bW1pby0+YmFzZSA9IGJhc2U7CisgICAgICAgIHN1YnBhZ2VfbWVtb3J5ID0gY3B1X3JlZ2lzdGVy X2lvX21lbW9yeSgwLCBzdWJwYWdlX3JlYWQsIHN1YnBhZ2Vfd3JpdGUsIG1taW8pOworI2lmIGRl ZmluZWQoREVCVUdfU1VCUEFHRSkKKyAgICAgICAgcHJpbnRmKCIlczogJXAgYmFzZSAlMDh4IGxl biAlMDh4ICVkXG4iLCBfX2Z1bmNfXywKKyAgICAgICAgICAgICAgIG1taW8sIGJhc2UsIFRBUkdF VF9QQUdFX1NJWkUsIHN1YnBhZ2VfbWVtb3J5KTsKKyNlbmRpZgorICAgICAgICAqcGh5cyA9IHN1 YnBhZ2VfbWVtb3J5IHwgSU9fTUVNX1NVQlBBR0U7CisgICAgfQorCisgICAgcmV0dXJuIG1taW87 Cit9CisKIHN0YXRpYyB2b2lkIGlvX21lbV9pbml0KHZvaWQpCiB7CiAgICAgY3B1X3JlZ2lzdGVy X2lvX21lbW9yeShJT19NRU1fUk9NID4+IElPX01FTV9TSElGVCwgZXJyb3JfbWVtX3JlYWQsIHVu YXNzaWduZWRfbWVtX3dyaXRlLCBOVUxMKTsKSW5kZXg6IHFlbXUvY3B1LWFsbC5oCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHFlbXUub3JpZy9jcHUtYWxsLmgJMjAwNy0wNC0xOSAxODowNzoyNi4wMDAwMDAwMDAg KzAwMDAKKysrIHFlbXUvY3B1LWFsbC5oCTIwMDctMDQtMTkgMTg6MDc6MjguMDAwMDAwMDAwICsw MDAwCkBAIC04NTcsNiArODU3LDcgQEAKICAgIGV4Y2VwdGlvbiwgdGhlIHdyaXRlIG1lbW9yeSBj YWxsYmFjayBnZXRzIHRoZSByYW0gb2Zmc2V0IGluc3RlYWQgb2YKICAgIHRoZSBwaHlzaWNhbCBh ZGRyZXNzICovCiAjZGVmaW5lIElPX01FTV9ST01EICAgICAgICAoMSkKKyNkZWZpbmUgSU9fTUVN X1NVQlBBR0UgICAgICgyKQogCiB0eXBlZGVmIHZvaWQgQ1BVV3JpdGVNZW1vcnlGdW5jKHZvaWQg Km9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQzMl90IHZhbHVlKTsKIHR5cGVk ZWYgdWludDMyX3QgQ1BVUmVhZE1lbW9yeUZ1bmModm9pZCAqb3BhcXVlLCB0YXJnZXRfcGh5c19h ZGRyX3QgYWRkcik7Cg== ------=_Part_52259_25484998.1177006530676--