From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Filipe Cabecinhas Newsgroups: gmane.emacs.devel Subject: Fullscreen patch for Cocoa Emacs Date: Mon, 01 Feb 2010 00:00:01 +0000 Message-ID: <4B661981.5000004@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060009000901060203030800" X-Trace: ger.gmane.org 1264982422 30168 80.91.229.12 (1 Feb 2010 00:00:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 1 Feb 2010 00:00:22 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 01 01:00:19 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1NbjiD-0005mH-MS for ged-emacs-devel@m.gmane.org; Mon, 01 Feb 2010 01:00:18 +0100 Original-Received: from localhost ([127.0.0.1]:51505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NbjiC-00012L-Ft for ged-emacs-devel@m.gmane.org; Sun, 31 Jan 2010 19:00:16 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nbji6-00012G-BJ for emacs-devel@gnu.org; Sun, 31 Jan 2010 19:00:10 -0500 Original-Received: from [199.232.76.173] (port=50636 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nbji5-000128-Rz for emacs-devel@gnu.org; Sun, 31 Jan 2010 19:00:09 -0500 Original-Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Nbji3-0003c6-Id for emacs-devel@gnu.org; Sun, 31 Jan 2010 19:00:09 -0500 Original-Received: from mail-ew0-f213.google.com ([209.85.219.213]:58402) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Nbji2-0003bp-Ux for emacs-devel@gnu.org; Sun, 31 Jan 2010 19:00:07 -0500 Original-Received: by ewy5 with SMTP id 5so6950934ewy.32 for ; Sun, 31 Jan 2010 16:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:content-type; bh=CNO59/tSQuSmLZXzcgqUWwYfNSlUZ/88WmgoFkJvW8U=; b=k34OikbtxrLdL8TkI0hoYLO9bZ0LBGjUAVUal2XK2dRPcwOqr/F3jg2iln5SPbuqLC 6/WxFXLrin7s6+TyMTofLzBUppzQuYL5C50mNmGfW6rtAMkvoLHw30Ctm6fymB0NX/J3 lkztTXrAPxpBrBa49ieR/WKR4MMRJTSlpyjvs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :content-type; b=uuk57pwACsfyZlieK3noXiIffEyMxajhdtBd4FqS266luxwl3Bsp7dqyUE0PGd6cHG Bh7tnBuIeUXzfWXewadpJzoCdij86/n6W/68KQP4HJoP6s5q9fcEBfevXS6ES6XgVuuE fIkqbQnRS5JBqqerVNrGTgsx7sq429+ZqHhsw= Original-Received: by 10.213.1.142 with SMTP id 14mr2424898ebf.40.1264982405262; Sun, 31 Jan 2010 16:00:05 -0800 (PST) Original-Received: from farnsworth.lan (bl12-76-149.dsl.telepac.pt [85.245.76.149]) by mx.google.com with ESMTPS id 10sm8739509eyz.39.2010.01.31.16.00.03 (version=SSLv3 cipher=RC4-MD5); Sun, 31 Jan 2010 16:00:04 -0800 (PST) User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.1.5) Gecko/20091204 Lightning/1.0b2pre Thunderbird/3.0 X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:120759 Archived-At: This is a multi-part message in MIME format. --------------060009000901060203030800 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi. This is a patch to port Aquamacs' fullscreen mode to GNU Emacs. With this patch we also hide the old frame, instead of displaying an empty frame when using Exposé. Regards, Filipe --------------060009000901060203030800 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="cocoa-fullscreen.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="cocoa-fullscreen.patch" IyBCYXphYXIgbWVyZ2UgZGlyZWN0aXZlIGZvcm1hdCAyIChCYXphYXIgMC45MCkKIyByZXZp c2lvbl9pZDogZmlsY2FiQGdtYWlsLmNvbS0yMDEwMDEzMTIzNTgxNi0wbnlsZGc1ZGQwODM1 amprCiMgdGFyZ2V0X2JyYW5jaDogaHR0cDovL2J6ci5zYXZhbm5haC5nbnUub3JnL3IvZW1h Y3MvdHJ1bmsKIyB0ZXN0YW1lbnRfc2hhMTogY2IyNWJmYTcxMzA4NTgwNjcyNDE1MDdlMTlj ZDNkNmExMzYyOWVlNgojIHRpbWVzdGFtcDogMjAxMC0wMS0zMSAyMzo1OTowNCArMDAwMAoj IGJhc2VfcmV2aXNpb25faWQ6IGhhbmRhQG0xN24ub3JnLTIwMTAwMTMxMDcwODA3LWQ2MnM5 b29xZ2VidnU3czcKIyAKIyBCZWdpbiBwYXRjaAo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL25z Zm5zLm0nCi0tLSBzcmMvbnNmbnMubQkyMDEwLTAxLTE1IDAxOjQ2OjUzICswMDAwCisrKyBz cmMvbnNmbnMubQkyMDEwLTAxLTMxIDIzOjU4OjE2ICswMDAwCkBAIC0xMDI5LDcgKzEwMjks NyBAQAogICB4X3NldF9mcmluZ2Vfd2lkdGgsIC8qIGdlbmVyaWMgT0sgKi8KICAgeF9zZXRf ZnJpbmdlX3dpZHRoLCAvKiBnZW5lcmljIE9LICovCiAgIDAsIC8qIHhfc2V0X3dhaXRfZm9y X3dtLCB3aWxsIGlnbm9yZSAqLwotICAwLCAgLyogeF9zZXRfZnVsbHNjcmVlbiB3aWxsIGln bm9yZSAqLworICB4X3NldF9mdWxsc2NyZWVuLCAgIC8qIGdlbmVyaWMgT0sgKi8KICAgeF9z ZXRfZm9udF9iYWNrZW5kLCAvKiBnZW5lcmljIE9LICovCiAgIHhfc2V0X2FscGhhLAogICAw LCAvKiB4X3NldF9zdGlja3kgKi8gIAoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9uc3Rlcm0u bScKLS0tIHNyYy9uc3Rlcm0ubQkyMDEwLTAxLTMxIDA1OjIzOjA5ICswMDAwCisrKyBzcmMv bnN0ZXJtLm0JMjAxMC0wMS0zMSAyMzo1ODoxNiArMDAwMApAQCAtMTEwMyw2ICsxMTAzLDEw IEBACiAKICAgTlNUUkFDRSAoeF9zZXRfb2Zmc2V0KTsKIAorICAvKiBSZWZ1c2UgdG8gY2hh bmdlIG9uZSBvciBib3RoIG9mZnNldHMgaWYgaW4gZnVsbC1zY3JlZW4gbW9kZS4gKi8KKyAg aWYgKGYtPndhbnRfZnVsbHNjcmVlbiAmIEZVTExTQ1JFRU5fQk9USCkKKyAgICByZXR1cm47 CisKICAgQkxPQ0tfSU5QVVQ7CiAKICAgZi0+bGVmdF9wb3MgPSB4b2ZmOwpAQCAtMTE1MCw2 ICsxMTU0LDkgQEAKICAgICAgICAmJiBvbGRUQiA9PSB0YikpCiAgICAgcmV0dXJuOwogCisg IGlmIChmLT53YW50X2Z1bGxzY3JlZW4gJiBGVUxMU0NSRUVOX0JPVEgpCisgICAgcmV0dXJu OworCiAvKmZwcmludGYgKHN0ZGVyciwgIlx0c2V0V2luZG93U2l6ZTogJWQgeCAlZCwgZm9u dCBzaXplICVkIHggJWRcbiIsIGNvbHMsIHJvd3MsIEZSQU1FX0NPTFVNTl9XSURUSCAoZiks IEZSQU1FX0xJTkVfSEVJR0hUIChmKSk7ICovCiAKICAgQkxPQ0tfSU5QVVQ7CkBAIC0zNDQ2 LDYgKzM0NTMsMTY4IEBACiB9CiAKIAorLyogRnJvbSBBcXVhTWFjczogRnVsbHNjcmVlbiBt b2RlKi8KKy8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgIEZ1bGxzY3JlZW4KKworICAg PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0gKi8KKworI2lmbmRlZiBOU0FwcEtpdFZlcnNpb25OdW1i ZXIxMF81CisjZGVmaW5lIE5TQXBwS2l0VmVyc2lvbk51bWJlcjEwXzUgOTQ5CisjZW5kaWYK KworLyogSGFjayB0byBhbGxvdyBmb3IgY29tcGlsYXRpb24gd2l0aCBwcmUtMTAuNiBTREtz ICovCisjZGVmaW5lIF9OU0FwcGxpY2F0aW9uUHJlc2VudGF0aW9uQXV0b0hpZGVEb2NrICAo MSA8PCAgMCkKKyNkZWZpbmUgX05TQXBwbGljYXRpb25QcmVzZW50YXRpb25BdXRvSGlkZU1l bnVCYXIgICgxIDw8ICAyKQorCitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBOU0Z1bGxTY3Jl ZW5Nb2RlQWxsU2NyZWVucyAgX19hdHRyaWJ1dGVfXygod2Vha19pbXBvcnQpKTsKKworCitz dGF0aWMgdm9pZAorbnNfZnVsbHNjcmVlbl9ob29rICAoZikKK0ZSQU1FX1BUUiBmOworewor ICBpbnQgcm93cywgY29sczsKKyAgaW50IGZzID0wOworICBpbnQgd2lkdGgsIGhlaWdodCwg aWduOworCisjaWZkZWYgTlNfSU1QTF9DT0NPQQorICBpZiAoZi0+YXN5bmNfdmlzaWJsZSkK KyAgICB7CisgICAgICBFbWFjc1ZpZXcgKnZpZXcgPSBGUkFNRV9OU19WSUVXIChmKTsKKwor ICAgICAgaWYgKFt2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoZXhpdEZ1bGxT Y3JlZW5Nb2RlV2l0aE9wdGlvbnM6KV0pCisJeworCSAgQkxPQ0tfSU5QVVQ7CisJICBOU0Rp c2FibGVTY3JlZW5VcGRhdGVzKCk7CisJICBOU0RpY3Rpb25hcnkgKm9wdHM7CisKKwkgIHN3 aXRjaCAoZi0+d2FudF9mdWxsc2NyZWVuKQorCSAgICB7CisJICAgIGNhc2UgRlVMTFNDUkVF Tl9CT1RIOgorCSAgICAgIGlmIChOU0FwcEtpdFZlcnNpb25OdW1iZXIgPCBOU0FwcEtpdFZl cnNpb25OdW1iZXIxMF81KQorCQl7CisJCSAgb3B0cyA9IFtOU0RpY3Rpb25hcnkgZGljdGlv bmFyeVdpdGhPYmplY3RzQW5kS2V5czogbmlsXTsKKwkJfSBlbHNlIGlmIChOU0FwcEtpdFZl cnNpb25OdW1iZXIgPCBOU0FwcEtpdFZlcnNpb25OdW1iZXIxMF81KzEpIC8qIG5vdCAxMC42 IHlldD8gKi8KKwkJeworCQkgIG9wdHMgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRo T2JqZWN0c0FuZEtleXM6CisJCQkJCSAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10s CisJCQkJICAgICAgIE5TRnVsbFNjcmVlbk1vZGVBbGxTY3JlZW5zLCAvKiBkZWZpbmVkIGZy b20gMTAuNSBvbiAqLworCQkJCSAgICAgICBuaWxdOworCQl9IGVsc2UgLyogMTAuNiBhbmQg bGF0ZXIuICovCisJCXsKKwkJICBvcHRzID0gW05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0 aE9iamVjdHNBbmRLZXlzOgorCQkJCQkgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9d LAorCQkJCSAgICAgICBOU0Z1bGxTY3JlZW5Nb2RlQWxsU2NyZWVucywKKwkJCQkgICAgICAg LyogbGV0IG1lbnUgYW5kIERvY2sgYXBwZWFyIGlmIG1vdXNlIGlzIG1vdmVkIHRoZXJlLiAq LworCQkJCQkgICAgW05TTnVtYmVyIG51bWJlcldpdGhJbnQ6IChfTlNBcHBsaWNhdGlvblBy ZXNlbnRhdGlvbkF1dG9IaWRlTWVudUJhcnxfTlNBcHBsaWNhdGlvblByZXNlbnRhdGlvbkF1 dG9IaWRlRG9jayldLAorCQkJCQkJCSAgICAvKiBoYWNrOiBhdm9pZCB1c2luZyBjb25zdGFu dCB0byBhbGxvdyBmb3IgY29tcGlsYXRpb24gd2l0aCBwcmUtMTAuNiBTREtzICovCisJCQkJ ICAgICAgIEAiTlNGdWxsU2NyZWVuTW9kZUFwcGxpY2F0aW9uUHJlc2VudGF0aW9uT3B0aW9u cyIsIC8qIGRlZmluZWQgZnJvbSAxMC42IG9uICovCisJCQkJICAgICAgIG5pbF07CisJCX0K KworICAgICAgICAgICAgICAvKiBIaWRlIHRoZSBub24tZnVsbHNjcmVlbmVkIHdpbmRvdyB3 aGlsZSBvbiBmdWxsc2NyZWVuIG1vZGUuICAqLworICAgICAgICAgICAgICBbW3ZpZXcgd2lu ZG93XSBvcmRlck91dDogTlNBcHBdOworCSAgICAgIFt2aWV3IGVudGVyRnVsbFNjcmVlbk1v ZGU6W1t2aWV3IHdpbmRvd10gc2NyZWVuXQorCSAgICAgIAkJICAgIHdpdGhPcHRpb25zOm9w dHNdOworCSAgICAgIEZSQU1FX05TX1dJTkRPVyAoZikgPSBbdmlldyB3aW5kb3ddOworCisJ ICAgICAgZnMgPSAxOworCSAgICAgIFtOU0N1cnNvciBzZXRIaWRkZW5VbnRpbE1vdXNlTW92 ZXM6WUVTXTsKKworCSAgICAgIGJyZWFrOworCSAgICBkZWZhdWx0OgorCSAgICAgIFt2aWV3 IGV4aXRGdWxsU2NyZWVuTW9kZVdpdGhPcHRpb25zOiBuaWxdOworCSAgICAgIEZSQU1FX05T X1dJTkRPVyAoZikgPSBbdmlldyB3aW5kb3ddOworCSAgICAgIC8qIHJlc3RvcmUgZnJvbSBm dWxsc2NyZWVuIE5TV2luZG93OiAqLworCSAgICAgIFtbdmlldyB3aW5kb3ddIG1ha2VGaXJz dFJlc3BvbmRlcjogdmlld107CisJICAgIH0KKworCSAgTlNSZWN0IHZyID0gW3ZpZXcgZnJh bWVdOworCisJICBOU1JlY3QgciA9IFtbdmlldyB3aW5kb3ddIGZyYW1lXTsKKwkgIHdpZHRo ID0gci5zaXplLndpZHRoOworCSAgaGVpZ2h0ID0gci5zaXplLmhlaWdodDsKKworCSAgLyog TlMgcmVtb3ZlcyB0b29sYmFyIC8gdGl0bGViYXIgZm9yIGZ1bGxzY3JlZW4uCisJICAgICBX ZSBuZWVkIHRvIHJlY2FsY3VsYXRlIGZyYW1lIGdlb21ldHJ5IGFuZAorCSAgICAgdXBkYXRl IGZyYW1lIHBhcmFtZXRlcnMuICovCisJICBGUkFNRV9OU19USVRMRUJBUl9IRUlHSFQgKGYp ID0gaGVpZ2h0IC0gdnIuc2l6ZS5oZWlnaHQ7CisKKwkgIGlmIChbW1t2aWV3IHdpbmRvd10g dG9vbGJhcl0gaXNWaXNpYmxlXSkKKwkgICAgeworCSAgICAgIEZSQU1FX0VYVEVSTkFMX1RP T0xfQkFSIChmKSA9IDE7CisJICAgICAgdXBkYXRlX2ZyYW1lX3Rvb2xfYmFyIChmKTsKKwkg ICAgICB4X3NldF9mcmFtZV9wYXJhbWV0ZXJzIChmLCBGY29ucyAoRmNvbnMgKFF0b29sX2Jh cl9saW5lcywgbWFrZV9udW1iZXIoMSkpLAorCQkJCQkJUW5pbCkpOworCSAgICB9CisJICBl bHNlCisJICAgIHsKKwkgICAgICBpZiAoRlJBTUVfRVhURVJOQUxfVE9PTF9CQVIgKGYpKQor CQl7CisJCSAgZnJlZV9mcmFtZV90b29sX2JhciAoZik7CisJCSAgRlJBTUVfRVhURVJOQUxf VE9PTF9CQVIgKGYpID0gMDsKKwkJfQorCSAgICAgIHhfc2V0X2ZyYW1lX3BhcmFtZXRlcnMg KGYsIEZjb25zIChGY29ucyAoUXRvb2xfYmFyX2xpbmVzLCBtYWtlX251bWJlcigwKSksCisJ CQkJCQlRbmlsKSk7CisJICAgIH0KKworCSAgLyogdG8gZG86IHNhdmUgYW5kIHJlc3RvcmUg cHJldmlvdXMgc3RhdGUgb2YgdG9vbCBiYXIgKi8KKworICBpZiAoRlJBTUVfRVhURVJOQUxf VE9PTF9CQVIgKGYpKQorICAgIHsKKworICAgIEZSQU1FX05TX1RPT0xCQVJfSEVJR0hUIChm KSA9CisgICAgICBOU0hlaWdodCAoW1t2aWV3IHdpbmRvd10gZnJhbWVSZWN0Rm9yQ29udGVu dFJlY3Q6IE5TTWFrZVJlY3QgKDAsIDAsIDAsIDApXSkKKyAgICAgICAgICAgIC0gRlJBTUVf TlNfVElUTEVCQVJfSEVJR0hUIChmKTsKKyAgICB9CisgIGVsc2UKKyAgICBGUkFNRV9OU19U T09MQkFSX0hFSUdIVCAoZikgPSAwOworCisKKworCSAgY29scyA9IEZSQU1FX1BJWEVMX1dJ RFRIX1RPX1RFWFRfQ09MUyAoZiwKKwkJCQkJCXdpZHRoKTsKKyAgICAgICAgICBpZiAoY29s cyA8IE1JTldJRFRIKQorCSAgICBjb2xzID0gTUlOV0lEVEg7CisJICByb3dzID0gRlJBTUVf UElYRUxfSEVJR0hUX1RPX1RFWFRfTElORVMgKGYsIGhlaWdodAorCSAgLSBGUkFNRV9OU19U SVRMRUJBUl9IRUlHSFQgKGYpCisgICAgICAgICAgLSBGUkFNRV9OU19UT09MQkFSX0hFSUdI VCAoZikpOworICAgICAgICAgIGlmIChyb3dzIDwgTUlOSEVJR0hUKQorCSAgICByb3dzID0g TUlOSEVJR0hUOworCisJICAvKiBIYW5kbGUgc2Nyb2xsIGJhcnMgKi8KKwkgIHNldF92ZXJ0 aWNhbF9zY3JvbGxfYmFyIChYV0lORE9XIChmLT5yb290X3dpbmRvdykpOworCisJICBGUkFN RV9OU19ESVNQTEFZX0lORk8gKGYpLT54X2ZvY3VzX2ZyYW1lID0gZjsKKworCSAgRlJBTUVf UElYRUxfV0lEVEggKGYpID0gd2lkdGg7CisJICBGUkFNRV9QSVhFTF9IRUlHSFQgKGYpID0g aGVpZ2h0OworCSAgaWYgKEZSQU1FX0NPTFMgKGYpICE9IGNvbHMgfHwgRlJBTUVfTElORVMg KGYpICE9IHJvd3MpCisJICAgIHsKKwkgICAgICBjaGFuZ2VfZnJhbWVfc2l6ZSAoZiwgcm93 cywgY29scywgMCwgMCwgMSk7ICAvKiBwcmV0ZW5kLCBkZWxheSwgc2FmZSAqLworCSAgICAg IFNFVF9GUkFNRV9HQVJCQUdFRCAoZik7CisJICAgICAgY2FuY2VsX21vdXNlX2ZhY2UgKGYp OworCSAgICB9CisJICB4X3NldF93aW5kb3dfc2l6ZSAoZiwgMCwgZi0+dGV4dF9jb2xzLCBm LT50ZXh0X2xpbmVzKTsKKworCSAgZi0+YXN5bmNfaWNvbmlmaWVkID0gMDsKKwkgIGYtPmFz eW5jX3Zpc2libGUgICA9IDE7CisJICB3aW5kb3dzX29yX2J1ZmZlcnNfY2hhbmdlZCsrOwor CSAgU0VUX0ZSQU1FX0dBUkJBR0VEIChmKTsKKwkgIG5zX3JhaXNlX2ZyYW1lIChmKTsKKwkg IG5zX2ZyYW1lX3JlaGlnaGxpZ2h0IChmKTsKKwkgIG5zX3NlbmRfYXBwZGVmaW5lZCAoLTEp OworCisJICBOU0VuYWJsZVNjcmVlblVwZGF0ZXMoKTsKKworCSAgVU5CTE9DS19JTlBVVDsK KyAgICAgfQorICAgfQorI2VuZGlmCit9CisKIAogLyogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K IApAQCAtMzY3OSw3ICszODQ4LDcgQEAKICAgdGVybWluYWwtPmZyYW1lX3JlaGlnaGxpZ2h0 X2hvb2sgPSBuc19mcmFtZV9yZWhpZ2hsaWdodDsKICAgdGVybWluYWwtPmZyYW1lX3JhaXNl X2xvd2VyX2hvb2sgPSBuc19mcmFtZV9yYWlzZV9sb3dlcjsKIAotICB0ZXJtaW5hbC0+ZnVs bHNjcmVlbl9ob29rID0gMDsgLyogc2VlIFhUZnVsbHNjcmVlbl9ob29rICovCisgIHRlcm1p bmFsLT5mdWxsc2NyZWVuX2hvb2sgPSBuc19mdWxsc2NyZWVuX2hvb2s7IC8qIHNlZSBYVGZ1 bGxzY3JlZW5faG9vayAqLwogCiAgIHRlcm1pbmFsLT5zZXRfdmVydGljYWxfc2Nyb2xsX2Jh cl9ob29rID0gbnNfc2V0X3ZlcnRpY2FsX3Njcm9sbF9iYXI7CiAgIHRlcm1pbmFsLT5jb25k ZW1uX3Njcm9sbF9iYXJzX2hvb2sgPSBuc19jb25kZW1uX3Njcm9sbF9iYXJzOwpAQCAtNDkx OCw2ICs1MDg3LDkgQEAKICAgTlNUUkFDRSAod2luZG93V2lsbFJlc2l6ZSk7CiAvKmZwcmlu dGYgKHN0ZGVyciwiV2luZG93IHdpbGwgcmVzaXplOiAlLjBmIHggJS4wZlxuIixmcmFtZVNp emUud2lkdGgsZnJhbWVTaXplLmhlaWdodCk7ICovCiAKKyAgaWYgKGVtYWNzZnJhbWUtPndh bnRfZnVsbHNjcmVlbiAmIEZVTExTQ1JFRU5fQk9USCkKKyAgICByZXR1cm47CisKICAgY29s cyA9IEZSQU1FX1BJWEVMX1dJRFRIX1RPX1RFWFRfQ09MUyAoZW1hY3NmcmFtZSwKICNpZmRl ZiBOU19JTVBMX0dOVVNURVAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmcmFtZVNpemUud2lkdGggKyAzKTsKQEAgLTQ5OTUsNiArNTE2Nyw5IEBACiAgIE5T VFJBQ0UgKHdpbmRvd0RpZFJlc2l6ZSk7CiAvKmZwcmludGYgKHN0ZGVyciwid2luZG93RGlk UmVzaXplOiAlLjBmXG4iLFt0aGVXaW5kb3cgZnJhbWVdLnNpemUuaGVpZ2h0KTsgKi8KIAor ICBpZiAoZW1hY3NmcmFtZS0+d2FudF9mdWxsc2NyZWVuICYgRlVMTFNDUkVFTl9CT1RIKQor ICAgIHJldHVybjsKKwogI2lmZGVmIE5TX0lNUExfQ09DT0EKICAgaWYgKG9sZF90aXRsZSAh PSAwKQogICAgIHsKQEAgLTUxOTEsNiArNTM2Niw5IEBACiAKICAgTlNUUkFDRSAod2luZG93 RGlkTW92ZSk7CiAKKyAgaWYgKGVtYWNzZnJhbWUtPndhbnRfZnVsbHNjcmVlbiAmIEZVTExT Q1JFRU5fQk9USCkKKyAgICByZXR1cm47CisKICAgaWYgKCFlbWFjc2ZyYW1lLT5vdXRwdXRf ZGF0YS5ucykKICAgICByZXR1cm47CiAgIGlmIChzY3JlZW4gIT0gbmlsKQoKIyBCZWdpbiBi dW5kbGUKSXlCQ1lYcGhZWElnY21WMmFYTnBiMjRnWW5WdVpHeGxJSFkwQ2lNS1FscG9PVEZC V1NaVFdWeFF0dHNBQmF4ZmdIbHdlWC8vLy8vdgovK3EvLy8vK1lBeC9QTHB1WGRFZEJUU3E2 NnFWT2dXeFpNa3FpbmJVZDBaZGdTU0tab21tbWxQeVUvRk0xTkF4VTA5TXhTZmxUMVBVCmFh ZnFKcDZnTk5sSG9tbnFlb0RFZ0pwcG9FMVUvSkhxbjZvOG1wNVJ0SjZnYUFOQUFlb0FHZ0E0 ME5BMGFaR21qVElERXdRQUEwQm8KRFRJREFtUU5QVVJHZ2xBYko2a0JwNmdhTkdSbzlUSU5C bXBvQWFhR2dQVU9ORFFOR21ScG8weUF4TUVBQU5BYUEweUF3SmtDUklRQgpBQkdrMDlHaUU4 VEpNUm85QkNOTnBxR1FhWWg2SXJyRllnVFRFTWFFMk5pR2tnaENvMEJERUEya1RhaGlhWW1E WVBQcVkxdklEbS9ZCk5OQnlDVHVKY0RwWWNHOUZRcXdMTFhrNUVhRGptMHlxVGlHQ1k3QWxE dW91aUVvRWdTY1p4S1kvMTJxNUh2N0hVN2tyVTZIRzR1RTgKWFhsNnBWR3lhV0puN3FUbU9M MmFMWEhXdlBTSzdYZWVXbDNkZGNUN1k1NWwyRSsxUWlDQnlVaFpMZTVTMVpXYWtPVUd5NXFn Z2tqcAplT25vTUlZbU1HeHNiVGFRMnVnVUM2TjBGQjhuNlBWWXAzWVMrVWtRSnRKbjZ3VWFH MmdhQnNibHRPaEdqcG1hRllDRmllUjF4TFBWCm5UNXc5aWRic0o5KzNKNW5kNzZWV1R4SjN2 bUxoeXU3b1VscDZaYW54VWEvdnVyamo4Zjh2WTVabnJqR3l0eE4xbjhtNFptWmtENHgKVmZR dTlHQ0ZzZjliMmlpTmpHcURudWFSaVZUYmVtSUk0U1NPTmpPaWc5cXp2MTFHQ3lLMVBqWGFI TVdFTTFTa3NCYy9tWllxeDJZeQpsejZEZUJiMlNYeGtSNWhkRG9ZK3BKTGk3cW5BUmtjMllT RWVRbjR4QWVsUzh1Q0NDSDNuVDhhNThXUC9EZFpiZG9KbVBZeVdLcnJPCjg1U0NoYjU4aFF2 eVVmdVhrRWFkOFAzeDQrVnI4NHJQTEs5bVlRUlBLVUt3NzBTMkw2TkVXcVowOEl1M2hYWDRJ WUYvUHplQndnVmoKRnFCU0Z6V29NK08wZGJqV1d0eXl0VzYwODBLQVFkZjc5L0NGM0NPMDZ1 dzVVNTlNWGFTZUFIOEFod3ZZOWZaMWRYaElKNnlmTFppRQovZkFqNlVyMGZyVVI0R214QTJr ZzkvWmQzL1JwM1d2dW9pdmZ5MDA3SkxXMGh5NnpqNUtXakcyek0xRmNzWlRQSEZOOTNId0Ex c1EwCkJtWjRkbjM0NlRBeVJzbjA0cUhSc2d0bEVzMmg0L21uN094M01CWFNhalNhQmFrd0cy OEcyZFptUkltczh5c21hckhlSzNUVDg3engKYkkybXBvcUxFRXpSVW1UVmFuMkNEWWZJbTJq N1A0UWU5aFpsc09nNHFBSFU5UGpqbGFiQ0VnbUwwTkMxU1lMeFhTVXhTSVIxSWF1WApnVE9n Q1VXQ3ErMEpxOWQwQlRDaGIzMDg0SHgvYXJDOUVFUVdZUm5LV25sbGRUc2NEV1JDN29WWjR6 QUk0R25tRFJjV0J4Q3JTLzdoCk1zdHBjQlBDclJqbzQ1Z3JCVC9DTm9hQjVGNHo4TUNnd3V1 QWNTejZGNjdNb3IzQkNFbzVZaXVweHdSeDJTNFhiSU9LOThhUVVGS2QKUkZhRFk1V2J6UE5I bDNkdVJidHVBWkw4Mk9ORVBabHlBbU1VbldPbXNtQnJKNkFLR2k3S1k2NUZ0V0trVG9PRzRl eGZqZE9XQUwwRgpRSGpBNWcwRW9EQ2ZFNlV2VWJhdnpVenFjRHQ5VUZ4SExLQ3E4czAwZ25w bFhmU2hsSldhVEtXRzQwbFJaQWh4bitVQ2ZTSmdlc1dqCkpVVjVVV2dTd0xOVTVMSWJNMDcx b0tGaHBFekF1SG1PcHpiT3ZUVndjdGdWVlBpL2dNNWdPR1V4NStyWlpvQnRCRUZ4M0V4OFJJ V1IKYjFTclBucG1NcXFBWkU0QTIxODJkaFdOSHFtTitXT3QyMHFZQ1lMTVM1MnFnbGpVcUFs WGF3c0lnYmVDTzgycXhuTDZudmxCMHdjWApQR2pQcm5xM2FDdmxucDFGaTJXTmhjY2NLMmto RkNiWHNxN0Rhbm1ibFF6cFVIYzhCdDl1dVdsTnNsS0NwT2VVa0tNMXZjaVkzV3ljCjY1WWU0 NWt2U21rSDRNVGQvRVpERTN5YmFvdGd1WDZ6UXVsa2kvdTBJTkMwekg1YzU4QTNwSWNIOERD NzRVcTVleElqVnJEaWsyTmoKdVBtRDhyaHQxNHpGNkNmU1psTllDcjdvcUx6aVJkNE9SUEJw azFKT0xTSTNoTUxTRXg0VEdDY0lqNHBJK3VuQXM5MmVrRmhKSDJESgpqRGF3S0c3VHpUMllC SWtYSDVHWVJpUVBTd2pWaUh4a2tqdnFEM2g0VmlKWHJJT3JHR082WmZJTTJiNUdkZTBVQ09K UVVwNEMwbDR3CkNZSThKWURESklwQ3h2SnMzSGpTK3FQR0dTd0R3akxkNDBadytNTk5kaDV1 bVUwd28yZ2dlUVdFb1RCMzVheHBLMDRZTFVuMmk0RnoKRjQ0VmZaWjZBbjN4V1ZJMEdzOEFY WjBrUVpoYUFnVzdBNkkwUnFxYjFaQVVoT2cwWXhBald3cWFSNEVyUnJvdjZ3T1Z2ckRXY1ps RQp5RFVvZ2M4TUFwcnhiQTVSSEF6M0F4RlJSUDBDTlBMbDN6M0hZV3pCZUtPVGh1NDVvN0tF UzdLdUVpZEpDZzEvYVpHR1AwbXNmaFV4CjdlcXJWU052ckRuRGNKN09peUFnWjFCTmpuOHY1 bEt0UCtuc21rdEpZSzBPaXlVaG1XenV6YWtiTmZDdjkzS1E0VUpRY1lmQnpKbnUKaEVWbGtp dGpiN1pSYUZSdXFnWTdobU9QM1hDWjdaZDhXU1hmLzY1QjU4bWowZTM3T25relVvR09RckxU WWlpQjBJcVpkZ2ZqcEt3SgpqQmFxUk1NRmkxVFdManA2dGdzbmZDMGlIaWxTN0g0ck1jbkhs Y01sS1FpSUVXMm50bEsvdXNoOVdEaG1RT05UZGRxbkIwdTRSSFpTCjdRRTgzU1dIalM2OWVD OWhYYUwwSVQ1R3pEcVQ5SVk2QzBxdVZhQ2FGRzE2SUdIaXMybkxGV3UzVnhtSHVMeDF3enRz eU1zZjRwSEgKQlY3UWczaVhsUU5KcGx5TUVWSk5HckcwelVvUTB4a01qS0J5VzhEbXIrdTIw KzVYQkswSEhocFdqMkV3M3poZVFPV3VzL0VCK3g2QQpHRElSNVBGUzJyeTJRejJnUko1R21j eUZHMHdwcUJXa2x2emJERkUvQTZrME9zWERvR001SmZQMlFqK1Ywb1RobmN6T0VDekt4ZU4v ClY2UE9PME93UW5NVURBWjQ2bHdkNDJHTFJzSGhNSlFGSk9nSEVTRVFlV2VkdHBKRlBGbTlL SWovbFhsWXlaS1h6VEZtS0lXUGRueFMKeUNrNEdmZVFCYWNRMm9ZVlY2S3phd3NsSEMzYnVj VnpWZWZPR3RZWUNVd3lVR1M1Sk5KSTNOVjBaUkZ2SXBCdytjczUwckdGL1RLRwo1TFZmc29C NFBnTEhwY3lpamhsUnlQTU02ZXpBVXBoRUpGU1MwN2IwdUh1VmxTQTJqSFBBQUpCaGhseWNw R1p6dU9jVURiQWpYVWFNCkYvSXRPZ25FK0pkV0ozdU55WTIrOVdGSmlGREl1TEhFaVNsNDlS Sms0VEIxdFF6ME5NYitydGo2QzNDODNyNUFJNG0wZjVVWG1ZUisKaUI4ZkFUYVE5QXFZS1Ny bFFuQ1BZU29ZL1IzWndhRGFrVHFNK0FNZzhpSFQ5Qkwrd1kxbUs3eU9nM0NmaVJsbjFhaEsr VjVtWmh2Zwo0VE1lbWF6eG4xbXBpcW9lRkJoQVp6SWtXTVBkNktqVmF2Tjg2TlI3R0lsRlFy c3QyYSt2UjV1V0ZCQUdCaE1KbVNNdCttVTQ3SWpoClpIc1BTTFF0SUR2MTRZcFBhdlFCN1JH dnBUVUpzWmxrMFNrYmtUcjhoVkVJTjRYSWxBVUp5RU1IQVNwNXRkUk9oQ0NuemdZeVhSRUQK VE0xWlp6bzU4aXFMcjhPUnBmVXBUSkFqS1NTYVFUQTl6dzV4TUk1RjUxYS9qOXNxNkVGS2tV d2xnU0I4S0hxV0t1U1ZRWjNkWFlxRgpuYlFVaVJiSWlVSmpHTmVsUk5HRUNta3dUQWVOVnhK TGpWNHFxSTBxSkx5VlNKVVFwTk5xVmJnaE5KanV5MEw2S3RMU1RVbXlGWXp0CkxBYk5tSklj dVY1VDRFQ1pLTnUxbEV5VmhLbnIxZ1lPTVhrRjluTThPdlVvOHkzcFhZRFVaMEtSMUpNR2ta MnFMTWZNd1MrUWw5ZEUKVEJudjZ3eis4WXQ2d0tWZkg1NkUrcGE1RHF1Y2lKalVvMVNQVFZT N0dxdHRaTnNMZ1dnVG5mY2xqa0huWXc4eHpsSzFoR05DWkpHawppTE90TG9HaXFRWGZlRnFP R29VTCtObG91WXQ1NmxOdWFjUU56bTRBa05FNFkwWjlDQWt0dWNvc3hYT3l2bVFCYksxTC9D SVZud1E5CkhaTTFOZUtvekZ4UTJJZFVZRGt2bG5YeVgyUnZHU0FGZTlad1Q3SXN3bHBzdWl2 SUd6cXo1Y1FGR2d0dTFiNnJuVkIxRUloWFNiTTIKKzNoRzlQRVZXYU5JMWRTc2pWUFVNK0tv Q08xRmtDdCtEam9yd0p4OXlVaU9MM0ZMZFU1R0JyQVlVTjZBeUJUeDFsRElhSVFzUFhDNApX ZTVzdVRIRWg0MERiNDdIeGJrV3ZiV2xJc0Vxd2JodmJhTURTYnRoRlYwaGUyWk1UWkNJd2RB bWlsYXF0aXFrYVlyV1N1cFZHOG1HCk92REFnR2dtcXB2TVg2Q1FMS2x2Q3V4aXpBOXA2aUNv ekpvZFBwYlM4cFJLczhDdUZ3a1I0WHc1QThPb3VIdmJkZHVmcUFDSlprakQKN2tTREF5N2V6 eWxMSTNYVE5mWXQxNGVrTnU4V0loUXN6amQvY0ZmNEtEUkZiTDFJS3hqWUR6TktHdWtYcjAr ZXcxczdYZ3dHNk04OQplQXJrdVFWOXhXWUNPQXNtV0VjUlRTQmtWYStGZkFDWDdobkJzODM5 c0w2VUNrYjVUa2YvRjNKRk9GQ1FYRkMyMnc9PQo= --------------060009000901060203030800--