From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DKgb3-0006X7-IR for qemu-devel@nongnu.org; Sun, 10 Apr 2005 13:51:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DKgb2-0006W0-C2 for qemu-devel@nongnu.org; Sun, 10 Apr 2005 13:51:44 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DKgaM-0005QA-Hj for qemu-devel@nongnu.org; Sun, 10 Apr 2005 13:51:02 -0400 Received: from [195.129.94.187] (helo=srv94-187.ip-tech.ch) by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24) (Exim 4.34) id 1DKh2E-0003TG-DG for qemu-devel@nongnu.org; Sun, 10 Apr 2005 14:19:51 -0400 Message-ID: <42596DEE.5080203@kberg.ch> Date: Sun, 10 Apr 2005 20:18:22 +0200 From: Mike Kronenberg MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] Experimental Cocoa Video Driver References: <42588DA6.4060106@kberg.ch> In-Reply-To: <42588DA6.4060106@kberg.ch> Content-Type: multipart/mixed; boundary="------------040006060609010902010609" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------040006060609010902010609 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit And another little update - i know im posting way to fast :) Mike Kronenberg wrote: > Provides improved Mousesupport and grab/ungrab > - to grab: click into qemu window > - to ungrab: ctrl+alt or switch window (incl. alt-tab) > > Tested: (on Win95b) > - leftclick, leftdrag, leftdoubleclick > - rightclick, rightdrag > > Not tested: > - scrollwheel > > Known Bug: > - can't grab when switching from other app by clicking qemu-window > (first grabs, then ungrabs) > -> workaround: alt-tab to qemu, then click on qemu-window This patch removes this Bug - ungrabs automatically, when qemu-window looses activ-status. Mike --------------040006060609010902010609 Content-Type: image/tiff; x-mac-type="0"; x-mac-creator="0"; name="cocoa.m_20050410_3.tiff" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="cocoa.m_20050410_3.tiff" SW5kZXg6IGNvY29hLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2c3Jvb3QvcWVtdS9x ZW11L2NvY29hLm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC1yMS40IGNv Y29hLm0KLS0tIGNvY29hLm0JNyBBcHIgMjAwNSAyMDozNjo1MCAtMDAwMAkxLjQKKysrIGNv Y29hLm0JMTAgQXByIDIwMDUgMTg6MTM6MzEgLTAwMDAKQEAgLTI3LDcgKzI3LDcgQEAKICAg ICAgICAgICAgICAgeCAgY2VudGVyIHRoZSB3aW5kb3cKICAgICAgICAgICAgICAgLSAgc2F2 ZSB3aW5kb3cgcG9zaXRpb24KICAgICAgICAgICAgICAgLSAgaGFuZGxlIGtleWJvYXJkIGV2 ZW50Ci0gICAgICAgICAgICAgIC0gIGhhbmRsZSBtb3VzZSBldmVudAorICAgICAgICAgICAg ICAvICBoYW5kbGUgbW91c2UgZXZlbnQKICAgICAgICAgICAgICAgLSAgbm9uIDMyIGJwcCBz dXBwb3J0CiAgICAgICAgICAgICAgIC0gIGZ1bGwgc2NyZWVuCiAgICAgICAgICAgICAgIC0g IG1vdXNlIGZvY3VzCkBAIC00Nyw2ICs0Nyw4IEBACiBjaGFyICoqZ0FyZ3Y7CiBEaXNwbGF5 U3RhdGUgY3VycmVudF9kczsKIAoraW50IGdyYWIgPSAwOworCiAvKiBtYWluIGRlZmluZWQg aW4gcWVtdS92bC5jICovCiBpbnQgcWVtdV9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndik7 CiAKQEAgLTE3Myw1NSArMTc1LDEyOSBAQAogCiBzdGF0aWMgaW50IGtleW1hcFtdID0KIHsK LSAgICAzMCwgLy8nYScgMHgwCi0gICAgMzEsICAvLydzJwotICAgIDMyLCAgLy8nZCcKLSAg ICAzMywgIC8vJ2YnCi0gICAgMzUsICAvLydoJwotICAgIDM0LCAgLy8nZycKLSAgICA0NCwg IC8vJ3onCi0gICAgNDUsICAvLyd4JwotICAgIDQ2LCAgLy8nYycKLSAgICA0NywgIC8vJ3Yn Ci0gICAgMCwgICAvLyAwICAweDBhCi0gICAgNDgsICAvLydiJwotICAgIDE2LCAgLy8ncScK LSAgICAxNywgIC8vJ3cnCi0gICAgMTgsICAvLydlJwotICAgIDE5LCAgLy8ncicgCi0gICAg MjEsICAvLyd5JyAweDEwCi0gICAgMjAsICAvLyd0JwotICAgIDIsICAvLycxJwotICAgIDMs ICAvLycyJwotICAgIDQsICAvLyczJwotICAgIDUsICAvLyc0JwotICAgIDcsICAvLyc2Jwot ICAgIDYsICAvLyc1JwotICAgIDAsICAvLyc9JwotICAgIDEwLCAgLy8nOScKLSAgICA4LCAg Ly8nNycgMHgxQQotICAgIDAsICAvLyctJyAKLSAgICA5LCAgLy8nOCcgCi0gICAgMTEsICAv LycwJyAKLSAgICAyNywgIC8vJ10nIAotICAgIDI0LCAgLy8nbycgCi0gICAgMjIsICAvLyd1 JyAweDIwCi0gICAgMjYsICAvLydbJwotICAgIDIzLCAgLy8naScKLSAgICAyNSwgIC8vJ3An Ci0gICAgMjgsICAvLydcbicKLSAgICAzOCwgIC8vJ2wnCi0gICAgMzYsICAvLydqJwotICAg IDQwLCAgLy8nIicKLSAgICAzNywgIC8vJ2snCi0gICAgMzksICAvLyc7JwotICAgIDE1LCAg Ly8nXHQnIDB4MzAKLSAgICAwLCAgLy8nICcKLSAgICAwLCAgLy8nYCcKLSAgICAxNCwgIC8v JzxiYWNrc3BhY2U+JwotICAgIDAsICAvLycnIDB4MzQKLSAgICAwLCAgLy8nPGVzYz4nCi0g ICAgMCwgIC8vJzxlc2M+JworICAgIDMwLAkvLwkweDAwCSNkZWZpbmUgUVpfYQkweDFlCisg ICAgMzEsCS8vCTB4MDEJI2RlZmluZSBRWl9zCTB4MWYKKyAgICAzMiwJLy8JMHgwMgkjZGVm aW5lIFFaX2QJMHgyMAorICAgIDMzLAkvLwkweDAzCSNkZWZpbmUgUVpfZgkweDIxCisgICAg MzUsCS8vCTB4MDQJI2RlZmluZSBRWl9oCTB4MjMKKyAgICAzNCwJLy8JMHgwNQkjZGVmaW5l IFFaX2cJMHgyMgorICAgIDQ0LAkvLwkweDA2CSNkZWZpbmUgUVpfegkweDJjCisgICAgNDUs CS8vCTB4MDcJI2RlZmluZSBRWl94CTB4MmQKKyAgICA0NiwJLy8JMHgwOAkjZGVmaW5lIFFa X2MJMHgyZQorICAgIDQ3LAkvLwkweDA5CSNkZWZpbmUgUVpfdgkweDJmCisgICAgMCwJLy8J MHgwQQlVbmRlZmluZWQJCisgICAgNDgsCS8vCTB4MEIJI2RlZmluZSBRWl9iCTB4MzAKKyAg ICAxNiwJLy8JMHgwQwkjZGVmaW5lIFFaX3EJMHgxMAorICAgIDE3LAkvLwkweDBECSNkZWZp bmUgUVpfdwkweDExCisgICAgMTgsCS8vCTB4MEUJI2RlZmluZSBRWl9lCTB4MTIKKyAgICAx OSwJLy8JMHgwRgkjZGVmaW5lIFFaX3IJMHgxMworICAgIDIxLAkvLwkweDEwCSNkZWZpbmUg UVpfeQkweDE1CisgICAgMjAsCS8vCTB4MTEJI2RlZmluZSBRWl90CTB4MTQKKyAgICAyLAkv LwkweDEyCSNkZWZpbmUgUVpfMQkweDIKKyAgICAzLAkvLwkweDEzCSNkZWZpbmUgUVpfMgkw eDMKKyAgICA0LAkvLwkweDE0CSNkZWZpbmUgUVpfMwkweDQKKyAgICA1LAkvLwkweDE1CSNk ZWZpbmUgUVpfNAkweDUKKyAgICA3LAkvLwkweDE2CSNkZWZpbmUgUVpfNgkweDcKKyAgICA2 LAkvLwkweDE3CSNkZWZpbmUgUVpfNQkweDYKKyAgICAxMywJLy8JMHgxOAkjZGVmaW5lIFFa X0VRVUFMUwkweGQKKyAgICAxMCwJLy8JMHgxOQkjZGVmaW5lIFFaXzkJMHhhCisgICAgOCwJ Ly8JMHgxQQkjZGVmaW5lIFFaXzcJMHg4CisgICAgMTIsCS8vCTB4MUIJI2RlZmluZSBRWl9N SU5VUwkweGMKKyAgICA5LAkvLwkweDFDCSNkZWZpbmUgUVpfOAkweDkKKyAgICAxMSwJLy8J MHgxRAkjZGVmaW5lIFFaXzAJMHhiCisgICAgMjcsCS8vCTB4MUUJI2RlZmluZSBRWl9SSUdI VEJSQUNLRVQJMHgxYgorICAgIDI0LAkvLwkweDFGCSNkZWZpbmUgUVpfbwkweDE4CisgICAg MjIsCS8vCTB4MjAJI2RlZmluZSBRWl91CTB4MTYKKyAgICAyNiwJLy8JMHgyMQkjZGVmaW5l IFFaX0xFRlRCUkFDS0VUCTB4MWEKKyAgICAyMywJLy8JMHgyMgkjZGVmaW5lIFFaX2kJMHgx NworICAgIDI1LAkvLwkweDIzCSNkZWZpbmUgUVpfcAkweDE5CisgICAgMjgsCS8vCTB4MjQJ I2RlZmluZSBRWl9SRVRVUk4JMHgxYworICAgIDM4LAkvLwkweDI1CSNkZWZpbmUgUVpfbAkw eDI2CisgICAgMzYsCS8vCTB4MjYJI2RlZmluZSBRWl9qCTB4MjQKKyAgICA0MCwJLy8JMHgy NwkjZGVmaW5lIFFaX1FVT1RFCTB4MjgKKyAgICAzNywJLy8JMHgyOAkjZGVmaW5lIFFaX2sJ MHgyNQorICAgIDM5LAkvLwkweDI5CSNkZWZpbmUgUVpfU0VNSUNPTE9OCTB4MjcKKyAgICA0 MywJLy8JMHgyQQkjZGVmaW5lIFFaX0JBQ0tTTEFTSAkweDJiCisgICAgNTEsCS8vCTB4MkIJ I2RlZmluZSBRWl9DT01NQQkweDMzCisgICAgNTMsCS8vCTB4MkMJI2RlZmluZSBRWl9TTEFT SAkweDM1CisgICAgNDksCS8vCTB4MkQJI2RlZmluZSBRWl9uCTB4MzEKKyAgICA1MCwJLy8J MHgyRQkjZGVmaW5lIFFaX20JMHgzMgorICAgIDUyLAkvLwkweDJGCSNkZWZpbmUgUVpfUEVS SU9ECTB4MzQKKyAgICAxNSwJLy8JMHgzMAkjZGVmaW5lIFFaX1RBQgkweGYKKyAgICA1NywJ Ly8JMHgzMQkjZGVmaW5lIFFaX1NQQUNFCTB4MzkKKyAgICA0MSwJLy8JMHgzMgkjZGVmaW5l IFFaX0JBQ0tRVU9URQkweDI5CisgICAgMTQsCS8vCTB4MzMJI2RlZmluZSBRWl9CQUNLU1BB Q0UJMHhlCisgICAgMCwJLy8JMHgzNAlVbmRlZmluZWQJCisgICAgMSwJLy8JMHgzNQkjZGVm aW5lIFFaX0VTQ0FQRQkweDEKKyAgICAwLAkvLwkweDM2CSNkZWZpbmUgUVpfUk1FVEEJCisg ICAgMCwJLy8JMHgzNwkjZGVmaW5lIFFaX0xNRVRBCQorICAgIDI2LAkvLwkweDM4CSNkZWZp bmUgUVpfTFNISUZUCTB4MmEKKyAgICA1OCwJLy8JMHgzOQkjZGVmaW5lIFFaX0NBUFNMT0NL CTB4M2EKKyAgICA1NiwJLy8JMHgzQQkjZGVmaW5lIFFaX0xBTFQJMHgzOAorICAgIDI5LAkv LwkweDNCCSNkZWZpbmUgUVpfTENUUkwJMHgxZAorICAgIDU0LAkvLwkweDNDCSNkZWZpbmUg UVpfUlNISUZUCTB4MzYKKyAgICAxNjgsCS8vCTB4M0QJI2RlZmluZSBRWl9SQUxUCTB4YjgK KyAgICAxNTcsCS8vCTB4M0UJI2RlZmluZSBRWl9SQ1RSTAkweDlkCisgICAgMCwJLy8JMHgz RglVbmRlZmluZWQJCisgICAgMCwJLy8JMHg0MAlVbmRlZmluZWQJCisgICAgMCwJLy8JMHg0 MQlVbmRlZmluZWQJCisgICAgMCwJLy8JMHg0MglVbmRlZmluZWQJCisgICAgNTUsCS8vCTB4 NDMJI2RlZmluZSBRWl9LUF9NVUxUSVBMWQkweDM3CisgICAgNzgsCS8vCTB4NDUJI2RlZmlu ZSBRWl9LUF9QTFVTCTB4NGUKKyAgICA2OSwJLy8JMHg0NwkjZGVmaW5lIFFaX05VTUxPQ0sJ MHg0NQorICAgIDAsCS8vCTB4NDgJVW5kZWZpbmVkCQorICAgIDAsCS8vCTB4NDkJVW5kZWZp bmVkCQorICAgIDAsCS8vCTB4NEEJVW5kZWZpbmVkCQorICAgIDIxLAkvLwkweDRCCSNkZWZp bmUgUVpfS1BfRElWSURFCTB4YjUKKyAgICAxNTIsCS8vCTB4NEMJI2RlZmluZSBRWl9LUF9F TlRFUgkweDljCisgICAgNzQsCS8vCTB4NEUJI2RlZmluZSBRWl9LUF9NSU5VUwkweDRhCisg ICAgMCwJLy8JMHg0RglVbmRlZmluZWQJCisgICAgMCwJLy8JMHg1MAlVbmRlZmluZWQJCisg ICAgMCwJLy8JMHg1MQkjZGVmaW5lIFFaX0tQX0VRVUFMUwkKKyAgICA4MiwJLy8JMHg1Mgkj ZGVmaW5lIFFaX0tQMAkweDUyCisgICAgNzksCS8vCTB4NTMJI2RlZmluZSBRWl9LUDEJMHg0 ZgorICAgIDgwLAkvLwkweDU0CSNkZWZpbmUgUVpfS1AyCTB4NTAKKyAgICA4MSwJLy8JMHg1 NQkjZGVmaW5lIFFaX0tQMwkweDUxCisgICAgNzYsCS8vCTB4NTYJI2RlZmluZSBRWl9LUDQJ MHg0YgorICAgIDc3LAkvLwkweDU3CSNkZWZpbmUgUVpfS1A1CTB4NGMKKyAgICA3OCwJLy8J MHg1OAkjZGVmaW5lIFFaX0tQNgkweDRkCisgICAgNzEsCS8vCTB4NTkJI2RlZmluZSBRWl9L UDcJMHg0NworICAgIDAsCS8vCTB4NUEJVW5kZWZpbmVkCQorICAgIDcyLAkvLwkweDVCCSNk ZWZpbmUgUVpfS1A4CTB4NDgKKyAgICA3MywJLy8JMHg1QwkjZGVmaW5lIFFaX0tQOQkweDQ5 CisgICAgMCwJLy8JMHg1RAlVbmRlZmluZWQJCisgICAgMCwJLy8JMHg1RQlVbmRlZmluZWQJ CisgICAgMCwJLy8JMHg1RglVbmRlZmluZWQJCisgICAgNjMsCS8vCTB4NjAJI2RlZmluZSBR Wl9GNQkweDNmCisgICAgNjQsCS8vCTB4NjEJI2RlZmluZSBRWl9GNgkweDQwCisgICAgNjUs CS8vCTB4NjIJI2RlZmluZSBRWl9GNwkweDQxCisgICAgNjEsCS8vCTB4NjMJI2RlZmluZSBR Wl9GMwkweDNkCisgICAgNjYsCS8vCTB4NjQJI2RlZmluZSBRWl9GOAkweDQyCisgICAgNjcs CS8vCTB4NjUJI2RlZmluZSBRWl9GOQkweDQzCisgICAgMCwJLy8JMHg2NglVbmRlZmluZWQJ CisgICAgODcsCS8vCTB4NjcJI2RlZmluZSBRWl9GMTEJMHg1NworICAgIDAsCS8vCTB4NjgJ VW5kZWZpbmVkCQorICAgIDIzLAkvLwkweDY5CSNkZWZpbmUgUVpfUFJJTlQJMHhiNworICAg IDAsCS8vCTB4NkEJVW5kZWZpbmVkCQorICAgIDcwLAkvLwkweDZCCSNkZWZpbmUgUVpfU0NS T0xMT0NLCTB4NDYKKyAgICA2OCwJLy8JMHg2RAkjZGVmaW5lIFFaX0YxMAkweDQ0CisgICAg MCwJLy8JMHg2RQlVbmRlZmluZWQJCisgICAgODgsCS8vCTB4NkYJI2RlZmluZSBRWl9GMTIJ MHg1OAorICAgIDAsCS8vCTB4NzAJVW5kZWZpbmVkCQorICAgIDExMCwJLy8JMHg3MQkjZGVm aW5lIFFaX1BBVVNFCTB4MAorICAgIDIxMCwJLy8JMHg3MgkjZGVmaW5lIFFaX0lOU0VSVAkw eGQyCisgICAgMTk5LAkvLwkweDczCSNkZWZpbmUgUVpfSE9NRQkweGM3CisgICAgMjAxLAkv LwkweDc0CSNkZWZpbmUgUVpfUEFHRVVQCTB4YzkKKyAgICAyMTEsCS8vCTB4NzUJI2RlZmlu ZSBRWl9ERUxFVEUJMHhkMworICAgIDYyLAkvLwkweDc2CSNkZWZpbmUgUVpfRjQJMHgzZQor ICAgIDIyMywJLy8JMHg3NwkjZGVmaW5lIFFaX0VORAkweGNmCisgICAgNjAsCS8vCTB4NzgJ I2RlZmluZSBRWl9GMgkweDNjCisgICAgMjA5LAkvLwkweDc5CSNkZWZpbmUgUVpfUEFHRURP V04JMHhkMQorICAgIDU5LAkvLwkweDdBCSNkZWZpbmUgUVpfRjEJMHgzYgorICAgIDIxOSwJ Ly8JMHg3QgkjZGVmaW5lIFFaX0xFRlQJMHhjYgorICAgIDIyMSwJLy8JMHg3QwkjZGVmaW5l IFFaX1JJR0hUCTB4Y2QKKyAgICAyMDgsCS8vCTB4N0QJI2RlZmluZSBRWl9ET1dOCTB4ZDAK KyAgICAyMDAsCS8vCTB4N0UJI2RlZmluZSBRWl9VUAkweGM4CQogICAgIC8qIE5vdCBjb21w bGV0ZWQgdG8gZmluaXNoIHNlZSBodHRwOi8vd3d3LmxpYnNkbC5vcmcvY2dpL2N2c3dlYi5j Z2kvU0RMMTIvc3JjL3ZpZGVvL3F1YXJ0ei9TRExfUXVhcnR6S2V5cy5oP3Jldj0xLjYmY29u dGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwICovCiB9OwogCkBAIC0yNDYsMTcgKzMy MiwyNiBAQAogICAgIE5TRGF0ZSAqZGlzdGFudFBhc3Q7CiAgICAgTlNFdmVudCAqZXZlbnQ7 CiAgICAgTlNBdXRvcmVsZWFzZVBvb2wgKnBvb2w7Ci0gICAgaW50IGdyYWIgPSAxOwogICAg IAogICAgIHBvb2wgPSBbIFsgTlNBdXRvcmVsZWFzZVBvb2wgYWxsb2MgXSBpbml0IF07CiAg ICAgZGlzdGFudFBhc3QgPSBbIE5TRGF0ZSBkaXN0YW50UGFzdCBdOwogICAgIAorICAgIC8q IHJlbGVhc2UgZ3JhYiB3aGVuIHByZXNzaW5nIGN0cmwrYWx0ICovCisgICAgaWYgKChbIFsg TlNBcHAgY3VycmVudEV2ZW50IF0gbW9kaWZpZXJGbGFncyBdICYgTlNDb250cm9sS2V5TWFz aykgJiYgKFsgWyBOU0FwcCBjdXJyZW50RXZlbnQgXSBtb2RpZmllckZsYWdzIF0gJiBOU0Fs dGVybmF0ZUtleU1hc2spKQorICAgIHsKKwkJZ3JhYiA9IDA7CisJCVsgd2luZG93IHNldFRp dGxlOkAiUWVtdSIgXTsKKyAgIAkJWyBOU0N1cnNvciB1bmhpZGUgXTsKKwkJQ0dBc3NvY2lh dGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRpb24gKCBUUlVFICk7CisgICAgfQorICAgIAog ICAgIGlmIChpc19hY3RpdmVfY29uc29sZSh2Z2FfY29uc29sZSkpIAogICAgICAgICB2Z2Ff dXBkYXRlX2Rpc3BsYXkoKTsKICAgICBkbyB7CiAgICAgICAgIGV2ZW50ID0gWyBOU0FwcCBu ZXh0RXZlbnRNYXRjaGluZ01hc2s6TlNBbnlFdmVudE1hc2sgdW50aWxEYXRlOmRpc3RhbnRQ YXN0CiAgICAgICAgICAgICAgICAgICAgICAgICBpbk1vZGU6IE5TRGVmYXVsdFJ1bkxvb3BN b2RlIGRlcXVldWU6WUVTIF07CiAgICAgICAgIGlmIChldmVudCAhPSBuaWwpIHsKKwogICAg ICAgICAgICAgc3dpdGNoIChbZXZlbnQgdHlwZV0pIHsKICAgICAgICAgICAgICAgICBjYXNl IE5TS2V5RG93bjoKICAgICAgICAgICAgICAgICAgICAgaWYoZ3JhYikKQEAgLTI3OSwyMSAr MzY0LDkxIEBACiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg YnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOU1Njcm9sbFdoZWVsOgotICAgICAgICAg ICAgICAgIAorCQkJCQlpZihncmFiKQorCQkJCQl7CisJCQkJCQlpbnQgZHogPSBbZXZlbnQg ZGVsdGFaXTsKKwkJCQkJCWtiZF9tb3VzZV9ldmVudCgwLCAwLCBkeiwgMCk7CisJCQkJCX0K KwkJCQkJYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOU0xlZnRNb3VzZURvd246CisJ CQkJCWlmKGdyYWIpCisJCQkJCXsKKwkJCQkJCWludCBidXR0b25zID0gMDsKKwkJCQkJCWlm IChbIFsgTlNBcHAgY3VycmVudEV2ZW50IF0gbW9kaWZpZXJGbGFncyBdICYgTlNDb21tYW5k S2V5TWFzaykgeyAvL2xlZnRjbGljaytjb21tYW5kIHNpbXVsYXRlcyByaWdodGNsaWNrCisJ CQkJCQkJYnV0dG9ucyB8PSBNT1VTRV9FVkVOVF9SQlVUVE9OOworCQkJCQkJfSBlbHNlIHsK KwkJCQkJCQlidXR0b25zIHw9IE1PVVNFX0VWRU5UX0xCVVRUT047CisJCQkJCQl9CisJCQkJ CQlrYmRfbW91c2VfZXZlbnQoMCwgMCwgMCwgYnV0dG9ucyk7CisJCQkJCX0gZWxzZSB7CisJ CQkJCQlncmFiID0gMTsKKwkJCQkJCVsgd2luZG93IHNldFRpdGxlOkAiUWVtdSAtIFByZXNz IGN0cmwgKyBhbHQgdG8gdW5ncmFiIiBdOworCQkgICAgICAgCQkgICAgWyBOU0N1cnNvciBo aWRlIF07CisJCSAgICAJCQkJQ0dBc3NvY2lhdGVNb3VzZUFuZE1vdXNlQ3Vyc29yUG9zaXRp b24gKCBGQUxTRSApOworCQkJCQl9CisJCQkJCWJyZWFrOwogICAgICAgICAgICAgICAgIGNh c2UgTlNMZWZ0TW91c2VVcDoKLSAgICAgICAgICAgICAgICAKKwkJCQkJaWYoZ3JhYikKKwkJ CQkJeworCQkJCQkJa2JkX21vdXNlX2V2ZW50KDAsIDAsIDAsIDApOworCQkJCQl9CisJCQkJ CWJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTlNPdGhlck1vdXNlRG93bjoKICAgICAg ICAgICAgICAgICBjYXNlIE5TUmlnaHRNb3VzZURvd246Ci0gICAgICAgICAgICAgICAgCisJ CQkJCWlmKGdyYWIpCisJCQkJCXsKKwkJCQkJCWludCBidXR0b25zID0gMDsKKwkJCQkJCWJ1 dHRvbnMgfD0gTU9VU0VfRVZFTlRfUkJVVFRPTjsKKwkJCQkJCWtiZF9tb3VzZV9ldmVudCgw LCAwLCAwLCBidXR0b25zKTsKKwkJCQkJfQorCQkJCQlicmVhazsKICAgICAgICAgICAgICAg ICBjYXNlIE5TT3RoZXJNb3VzZVVwOgogICAgICAgICAgICAgICAgIGNhc2UgTlNSaWdodE1v dXNlVXA6CisJCQkJCWlmKGdyYWIpCisJCQkJCXsKKwkJCQkJCWtiZF9tb3VzZV9ldmVudCgw LCAwLCAwLCAwKTsKKwkJCQkJfQorCQkJCQlicmVhazsKICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICBjYXNlIE5TTW91c2VNb3ZlZDoKKwkJCQkJaWYoZ3JhYikKKwkJCQkJ eworCQkJCQkJaW50IGR4LCBkeSwgZHosIGJ1dHRvbnM7CisJCQkJCQlkeCA9IFtldmVudCBk ZWx0YVhdOworCQkJCQkJZHkgPSBbZXZlbnQgZGVsdGFZXTsKKwkJCQkJCWR6ID0gMDsKKwkJ CQkJCWJ1dHRvbnMgPSAwOworCQkJCQkJa2JkX21vdXNlX2V2ZW50KGR4LCBkeSwgZHosIGJ1 dHRvbnMpOworCQkJCQl9CisJCQkJCWJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTlNP dGhlck1vdXNlRHJhZ2dlZDoKICAgICAgICAgICAgICAgICBjYXNlIE5TUmlnaHRNb3VzZURy YWdnZWQ6CisJCQkJCWlmKGdyYWIpCisJCQkJCXsKKwkJCQkJCWludCBkeCwgZHksIGR6LCBi dXR0b25zOworCQkJCQkJZHggPSBbZXZlbnQgZGVsdGFYXTsKKwkJCQkJCWR5ID0gW2V2ZW50 IGRlbHRhWV07CisJCQkJCQlkeiA9IDA7CisJCQkJCQlidXR0b25zID0gMDsKKwkJCQkJCWJ1 dHRvbnMgfD0gTU9VU0VfRVZFTlRfUkJVVFRPTjsKKwkJCQkJCWtiZF9tb3VzZV9ldmVudChk eCwgZHksIGR6LCBidXR0b25zKTsKKwkJCQkJfQogICAgICAgICAgICAgICAgIGNhc2UgTlNM ZWZ0TW91c2VEcmFnZ2VkOgotICAgICAgICAgICAgICAgIAorCQkJCQlpZihncmFiKQorCQkJ CQl7CisJCQkJCQlpbnQgZHgsIGR5LCBkeiwgYnV0dG9uczsKKwkJCQkJCWR4ID0gW2V2ZW50 IGRlbHRhWF07CisJCQkJCQlkeSA9IFtldmVudCBkZWx0YVldOworCQkJCQkJZHogPSAwOwor CQkJCQkJYnV0dG9ucyA9IDA7CisJCQkJCQlpZiAoWyBbIE5TQXBwIGN1cnJlbnRFdmVudCBd IG1vZGlmaWVyRmxhZ3MgXSAmIE5TQ29tbWFuZEtleU1hc2spIHsgLy9sZWZ0Y2xpY2srY29t bWFuZCBzaW11bGF0ZXMgcmlnaHRjbGljaworCQkJCQkJCWJ1dHRvbnMgfD0gTU9VU0VfRVZF TlRfUkJVVFRPTjsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJYnV0dG9ucyB8PSBNT1VTRV9F VkVOVF9MQlVUVE9OOworCQkJCQkJfQorCQkJCQkJa2JkX21vdXNlX2V2ZW50KGR4LCBkeSwg ZHosIGJ1dHRvbnMpOworCQkJCQl9CisJCQkJCWJyZWFrOwogICAgICAgICAgICAgICAgIGRl ZmF1bHQ6IFtOU0FwcCBzZW5kRXZlbnQ6ZXZlbnRdOwogICAgICAgICAgICAgfQogICAgICAg ICB9CkBAIC0zMjUsNiArNDgwLDcgQEAKICAgICAKICAgICBjb2NvYV9yZXNpemUoZHMsIDY0 MCwgNDAwKTsKICAgICAKKyAgICAKICAgICBhdGV4aXQoY29jb2FfY2xlYW51cCk7CiB9CiAK QEAgLTQwNSw2ICs1NjEsNyBAQAogewogfQogLSAodm9pZClhcHBsaWNhdGlvbkRpZEZpbmlz aExhdW5jaGluZzogKE5TTm90aWZpY2F0aW9uICopIG5vdGU7CistICh2b2lkKWFwcGxpY2F0 aW9uRGlkUmVzaWduQWN0aXZlOiAoTlNOb3RpZmljYXRpb24gKikgaW5hY3RpdmF0aW9uTm90 ZTsKIC0gKHZvaWQpYXBwbGljYXRpb25XaWxsVGVybWluYXRlOihOU05vdGlmaWNhdGlvbiAq KWFOb3RpZmljYXRpb247CiAKIC0gKHZvaWQpb3BlblBhbmVsRGlkRW5kOihOU09wZW5QYW5l bCAqKXNoZWV0IHJldHVybkNvZGU6KGludClyZXR1cm5Db2RlIGNvbnRleHRJbmZvOih2b2lk ICopY29udGV4dEluZm87CkBAIC00NDEsNiArNTk4LDE1IEBACiAgICAgfQogfQogCisvKiB1 bmdyYWIgaWYgd2luZG93IGJlY29tZXMgaW5hY3RpdmUgKi8KKy0gKHZvaWQpYXBwbGljYXRp b25EaWRSZXNpZ25BY3RpdmU6KE5TTm90aWZpY2F0aW9uICopaW5hY3RpdmF0aW9uTm90ZQor eworCWdyYWIgPSAwOworCVsgd2luZG93IHNldFRpdGxlOkAiUWVtdSIgXTsKKyAgIAlbIE5T Q3Vyc29yIHVuaGlkZSBdOworCUNHQXNzb2NpYXRlTW91c2VBbmRNb3VzZUN1cnNvclBvc2l0 aW9uICggVFJVRSApOworfQorCiAtICh2b2lkKWFwcGxpY2F0aW9uV2lsbFRlcm1pbmF0ZToo TlNOb3RpZmljYXRpb24gKilhTm90aWZpY2F0aW9uCiB7CiAgICAgcHJpbnRmKCJBcHBsaWNh dGlvbiB3aWxsIHRlcm1pbmF0ZVxuIik7Cg== --------------040006060609010902010609--