From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Charles Strahan Newsgroups: gmane.emacs.devel Subject: support for true-color terminals Date: Thu, 10 Mar 2016 20:48:54 -0500 Message-ID: <1457660934.533185.545912986.04028913@webmail.messagingengine.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_----------=_14576609345331850"; charset="utf-8" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1457660973 29764 80.91.229.3 (11 Mar 2016 01:49:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 11 Mar 2016 01:49:33 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Mar 11 02:49:24 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aeCCg-0004Mg-Vn for ged-emacs-devel@m.gmane.org; Fri, 11 Mar 2016 02:49:23 +0100 Original-Received: from localhost ([::1]:52109 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeCCd-0000xr-9T for ged-emacs-devel@m.gmane.org; Thu, 10 Mar 2016 20:49:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37984) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeCCJ-0000xk-N5 for emacs-devel@gnu.org; Thu, 10 Mar 2016 20:49:01 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aeCCG-0006K5-By for emacs-devel@gnu.org; Thu, 10 Mar 2016 20:48:59 -0500 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:48245) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aeCCG-0006Jq-6k for emacs-devel@gnu.org; Thu, 10 Mar 2016 20:48:56 -0500 Original-Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id E25F0206A8 for ; Thu, 10 Mar 2016 20:48:54 -0500 (EST) Original-Received: from web6 ([10.202.2.216]) by compute2.internal (MEProxy); Thu, 10 Mar 2016 20:48:54 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=cstrahan.com; h= content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=+G/ PuJcjHwWVKwd88jpYoUbSnSY=; b=HwSd1Lj13jQ7WiuHRbmRuFqAGs+JWooALGT 7xPDP1RE9OcWsseGWTTsc4ag5k9JEPnRlMpl0ECag7jHsx+WgV6cwMfGXj6jitSQ Dvm0qHZzBWQyAeW/n1E20QXaRcRh8Kv9KLPqZZj2x6kmqLMBJPRmCjQeEMsJ5ka3 Fdsltzag= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-sasl-enc :x-sasl-enc; s=smtpout; bh=+G/PuJcjHwWVKwd88jpYoUbSnSY=; b=PZ3q3 LS6DEae9ytjfN+e85P6O7th0AD1/0ZeWvpIVRFVvnapgP7ZXfp5bzo+f5B45j3YK R8MnCVRcrJYPon+48IifqShe/hV0qJuJeOPcs9GxA14imAr4y9R49VeTFHoTkrJ+ EiikagQxqlDwoy3duCDYBjOxYzqluIjbJmqqNM= Original-Received: by web6.nyi.internal (Postfix, from userid 99) id AF8A64FE56; Thu, 10 Mar 2016 20:48:54 -0500 (EST) X-Sasl-Enc: AVBmia7X/vhFEKP/VtzOU1YmZUNau0D7E2CVOH9TgFRt 1457660934 X-Mailer: MessagingEngine.com Webmail Interface - ajax-b28110db X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.111.4.28 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:201440 Archived-At: This is a multi-part message in MIME format. --_----------=_14576609345331850 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="iso-8859-1" Hello, A while back, there was an effort to add support for true-color terminals (by which I mean terminals supporting 16777216 simultaneous colors): http://emacs.1067599.n5.nabble.com/RFC-Add-tty-True-Color-support-td299962.= html I've contacted R=FCdiger, asking if he wouldn't mind if I pick up from where he left off, and he said that was fine as he's been too busy to work on this. I've attached to this email the patch that I'm using, based on his work. Any feedback would be greatly appreciated. This is my first (attempted) contribution to Emacs, and I'm very new to the code base, so there might be some silly mistakes that I'm unaware of. If we can get this polished enough for inclusion, I'd be more than happy to assign copyright. This patch is based off of Emacs 24.5. If it would be easier to get this merged into Emacs 25, I can rebase my changes and submit a new patch for review. Thanks, Charles --_----------=_14576609345331850 Content-Disposition: attachment; filename="emacs-24.5-tty-true-color.patch" Content-Id: <1457660848.533099.14519bb7b9937c3d3978b0c8461515c6ae0e1b3e.2A99F2F9@content.messagingengine.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; name="emacs-24.5-tty-true-color.patch" ZGlmZiAtLWdpdCBhL2xpc3AvdGVybS90dHktY29sb3JzLmVsIGIvbGlzcC90 ZXJtL3R0eS1jb2xvcnMuZWwKaW5kZXggOTgxMDhjZS4uMjE4MTRhOSAxMDA2 NDQKLS0tIGEvbGlzcC90ZXJtL3R0eS1jb2xvcnMuZWwKKysrIGIvbGlzcC90 ZXJtL3R0eS1jb2xvcnMuZWwKQEAgLTc2NCw3ICs3NjQsOCBAQAogICAgIChh dXRvIC4gMCkKICAgICAoYW5zaTggLiA4KQogICAgIChhbHdheXMgLiA4KQot ICAgICh5ZXMgLiA4KSkKKyAgICAoeWVzIC4gOCkKKyAgICAodHJ1ZS1jb2xv ciAuIDE2Nzc3MjE2KSkKICAgIkFuIGFsaXN0IG9mIHN1cHBvcnRlZCBzdGFu ZGFyZCB0dHkgY29sb3IgbW9kZXMgYW5kIHRoZWlyIGFsaWFzZXMuIikKIAog KGRlZnVuIHR0eS1jb2xvci1hbGlzdCAoJm9wdGlvbmFsIF9mcmFtZSkKZGlm ZiAtLWdpdCBhL2xpc3AvdGVybS94dGVybS5lbCBiL2xpc3AvdGVybS94dGVy bS5lbAppbmRleCBjNjczNzQ5Li4yNDRjZjdmIDEwMDY0NAotLS0gYS9saXNw L3Rlcm0veHRlcm0uZWwKKysrIGIvbGlzcC90ZXJtL3h0ZXJtLmVsCkBAIC02 NzQsNiArNjc0LDE1IEBAIHZlcnNpb25zIG9mIHh0ZXJtLiIKICAgICA7OyBh cmUgbW9yZSBjb2xvcnMgdG8gc3VwcG9ydCwgY29tcHV0ZSB0aGVtIG5vdy4K ICAgICAod2hlbiAoPiBuY29sb3JzIDApCiAgICAgICAoY29uZAorICAgICAg ICgoPSAoZGlzcGxheS1jb2xvci1jZWxscyAoc2VsZWN0ZWQtZnJhbWUpKSAx Njc3NzIxNikJOyAyNC1iaXQgeHRlcm0KKyAgICAgICAgKGxldCAoKGlkeCAo bGVuZ3RoIHh0ZXJtLXN0YW5kYXJkLWNvbG9ycykpKQorICAgICAgICAgIDs7 IEluc2VydCBzdGFuZGFyZCBYIGNvbG9ycyBhZnRlciB0aGUgc3RhbmRhcmQg eHRlcm0gb25lcworICAgICAgICAgIChtYXBjIChsYW1iZGEgKGNvbG9yKQor ICAgICAgICAgICAgICAgICAgICAgICAoaWYgKG5vdCAoYXNzb2MgKGNhciBj b2xvcikgeHRlcm0tc3RhbmRhcmQtY29sb3JzKSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodHR5LWNvbG9yLWRlZmluZSAoY2FyIGNvbG9yKSBpZHggKGNkciBj b2xvcikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXRxIGlk eCAoMSsgaWR4KSkpKSkKKyAgICAgICAgICAgICAgICBjb2xvci1uYW1lLXJn Yi1hbGlzdCkpKQogICAgICAgICgoPSBuY29sb3JzIDI0MCkJOyAyNTYtY29s b3IgeHRlcm0KIAk7OyAyMTYgbm9uLWdyYXkgY29sb3JzIGZpcnN0CiAJKGxl dCAoKHIgMCkgKGcgMCkgKGIgMCkpCmRpZmYgLS1naXQgYS9zcmMvZGlzcGV4 dGVybi5oIGIvc3JjL2Rpc3BleHRlcm4uaAppbmRleCAyMzljNDQyLi41NzYw Yjg0IDEwMDY0NAotLS0gYS9zcmMvZGlzcGV4dGVybi5oCisrKyBiL3NyYy9k aXNwZXh0ZXJuLmgKQEAgLTE3MzksOSArMTczOSwxNSBAQCBzdHJ1Y3QgZmFj ZQogSU5MSU5FIGJvb2wKIGZhY2VfdHR5X3NwZWNpZmllZF9jb2xvciAodW5z aWduZWQgbG9uZyBjb2xvcikKIHsKLSAgcmV0dXJuIGNvbG9yIDwgRkFDRV9U VFlfREVGQVVMVF9CR19DT0xPUjsKKyAgcmV0dXJuIChjb2xvciA8IEZBQ0Vf VFRZX0RFRkFVTFRfQkdfQ09MT1IpOwogfQogCitJTkxJTkUgYm9vbAorZmFj ZV90dHlfc3BlY2lmaWVkXzI0X2JpdF9jb2xvciAodW5zaWduZWQgbG9uZyBj b2xvcikKK3sKKyAgLyogMjQgYml0IGNvbG9ycyBoYXZlIDI0dGggYnV0IG5v dCAyNXRoIGJpdCBzZXQgKi8KKyAgcmV0dXJuICgoY29sb3IgJiAoMHgwMyA8 PCAyNCkpID09ICgweDAxIDw8IDI0KSk7Cit9CiAvKiBOb24temVybyBpZiBG QUNFIHdhcyByZWFsaXplZCBmb3IgdW5pYnl0ZSB1c2UuICAqLwogCiAjZGVm aW5lIEZBQ0VfVU5JQllURV9QKEZBQ0UpICgoRkFDRSktPmNoYXJzZXQgPCAw KQpkaWZmIC0tZ2l0IGEvc3JjL3Rlcm0uYyBiL3NyYy90ZXJtLmMKaW5kZXgg ODMxMjQ5MS4uY2UwM2NkYiAxMDA2NDQKLS0tIGEvc3JjL3Rlcm0uYworKysg Yi9zcmMvdGVybS5jCkBAIC0xOTE1LDE4ICsxOTE1LDQwIEBAIHR1cm5fb25f ZmFjZSAoc3RydWN0IGZyYW1lICpmLCBpbnQgZmFjZV9pZCkKICAgICAgIGNv bnN0IGNoYXIgKnRzOwogICAgICAgY2hhciAqcDsKIAotICAgICAgdHMgPSB0 dHktPnN0YW5kb3V0X21vZGUgPyB0dHktPlRTX3NldF9iYWNrZ3JvdW5kIDog dHR5LT5UU19zZXRfZm9yZWdyb3VuZDsKKyAgICAgIGlmIChmYWNlX3R0eV9z cGVjaWZpZWRfMjRfYml0X2NvbG9yKGZnKSkKKyAgICAgICAgdHMgPSB0dHkt PnN0YW5kb3V0X21vZGUgPyB0dHktPlRTX3NldF9yZ2JfYmFja2dyb3VuZCA6 IHR0eS0+VFNfc2V0X3JnYl9mb3JlZ3JvdW5kOworICAgICAgZWxzZQorICAg ICAgICB0cyA9IHR0eS0+c3RhbmRvdXRfbW9kZSA/IHR0eS0+VFNfc2V0X2Jh Y2tncm91bmQgOiB0dHktPlRTX3NldF9mb3JlZ3JvdW5kOwogICAgICAgaWYg KGZhY2VfdHR5X3NwZWNpZmllZF9jb2xvciAoZmcpICYmIHRzKQogCXsKLSAg ICAgICAgICBwID0gdHBhcmFtICh0cywgTlVMTCwgMCwgZmcsIDAsIDAsIDAp OworICAgICAgICAgIGlmICghZmFjZV90dHlfc3BlY2lmaWVkXzI0X2JpdF9j b2xvcihmZykpCisgICAgICAgICAgICBwID0gdHBhcmFtICh0cywgTlVMTCwg MCwgZmcsIDAsIDAsIDApOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciByID0gKGZn ID4+IDE2KSAmIDB4RkYsCisgICAgICAgICAgICAgICAgZyA9IChmZyA+PiA4 KSAmIDB4RkYsCisgICAgICAgICAgICAgICAgYiA9IGZnICYgMHhGRjsKKyAg ICAgICAgICAgICAgcCA9IHRwYXJhbSAodHMsIE5VTEwsIDAsIChpbnQpciwg KGludClnLCAoaW50KWIsIDApOworICAgICAgICAgICAgfQogCSAgT1VUUFVU ICh0dHksIHApOwogCSAgeGZyZWUgKHApOwogCX0KIAotICAgICAgdHMgPSB0 dHktPnN0YW5kb3V0X21vZGUgPyB0dHktPlRTX3NldF9mb3JlZ3JvdW5kIDog dHR5LT5UU19zZXRfYmFja2dyb3VuZDsKKyAgICAgIGlmIChmYWNlX3R0eV9z cGVjaWZpZWRfMjRfYml0X2NvbG9yKGJnKSkKKyAgICAgICAgdHMgPSB0dHkt PnN0YW5kb3V0X21vZGUgPyB0dHktPlRTX3NldF9yZ2JfZm9yZWdyb3VuZCA6 IHR0eS0+VFNfc2V0X3JnYl9iYWNrZ3JvdW5kOworICAgICAgZWxzZQorICAg ICAgICB0cyA9IHR0eS0+c3RhbmRvdXRfbW9kZSA/IHR0eS0+VFNfc2V0X2Zv cmVncm91bmQgOiB0dHktPlRTX3NldF9iYWNrZ3JvdW5kOwogICAgICAgaWYg KGZhY2VfdHR5X3NwZWNpZmllZF9jb2xvciAoYmcpICYmIHRzKQogCXsKLSAg ICAgICAgICBwID0gdHBhcmFtICh0cywgTlVMTCwgMCwgYmcsIDAsIDAsIDAp OworICAgICAgICAgIGlmICghZmFjZV90dHlfc3BlY2lmaWVkXzI0X2JpdF9j b2xvcihiZykpCisgICAgICAgICAgICBwID0gdHBhcmFtICh0cywgTlVMTCwg MCwgYmcsIDAsIDAsIDApOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciByID0gKGJn ID4+IDE2KSAmIDB4RkYsCisgICAgICAgICAgICAgICAgZyA9IChiZyA+PiA4 KSAmIDB4RkYsCisgICAgICAgICAgICAgICAgYiA9IGJnICYgMHhGRjsKKyAg ICAgICAgICAgICAgcCA9IHRwYXJhbSAodHMsIE5VTEwsIDAsIChpbnQpciwg KGludClnLCAoaW50KWIsIDApOworICAgICAgICAgIH0KIAkgIE9VVFBVVCAo dHR5LCBwKTsKIAkgIHhmcmVlIChwKTsKIAl9CkBAIC0yMDI4LDYgKzIwNTAs OCBAQCBURVJNSU5BTCBkb2VzIG5vdCByZWZlciB0byBhIHRleHQgdGVybWlu YWwuICAqLykKICAgc3RydWN0IHRlcm1pbmFsICp0ID0gZ2V0X3R0eV90ZXJt aW5hbCAodGVybWluYWwsIDApOwogICBpZiAoIXQpCiAgICAgcmV0dXJuIG1h a2VfbnVtYmVyICgwKTsKKyAgZWxzZSBpZiAodC0+ZGlzcGxheV9pbmZvLnR0 eS0+VFNfc2V0X3JnYl9mb3JlZ3JvdW5kKQorICAgIHJldHVybiBtYWtlX251 bWJlciAoMTY3NzcyMTYpOyAvKiAyNCBiaXQgVHJ1ZSBDb2xvciAqLwogICBl bHNlCiAgICAgcmV0dXJuIG1ha2VfbnVtYmVyICh0LT5kaXNwbGF5X2luZm8u dHR5LT5UTl9tYXhfY29sb3JzKTsKIH0KQEAgLTIwNDMsNiArMjA2Nyw4IEBA IHN0YXRpYyBpbnQgZGVmYXVsdF9ub19jb2xvcl92aWRlbzsKIHN0YXRpYyBj aGFyICpkZWZhdWx0X29yaWdfcGFpcjsKIHN0YXRpYyBjaGFyICpkZWZhdWx0 X3NldF9mb3JlZ3JvdW5kOwogc3RhdGljIGNoYXIgKmRlZmF1bHRfc2V0X2Jh Y2tncm91bmQ7CitzdGF0aWMgY2hhciAqZGVmYXVsdF9zZXRfcmdiX2ZvcmVn cm91bmQ7CitzdGF0aWMgY2hhciAqZGVmYXVsdF9zZXRfcmdiX2JhY2tncm91 bmQ7CiAKIC8qIFNhdmUgb3IgcmVzdG9yZSB0aGUgZGVmYXVsdCBjb2xvci1y ZWxhdGVkIGNhcGFiaWxpdGllcyBvZiB0aGlzCiAgICB0ZXJtaW5hbC4gICov CkBAIC0yMDU1LDYgKzIwODEsOCBAQCB0dHlfZGVmYXVsdF9jb2xvcl9jYXBh YmlsaXRpZXMgKHN0cnVjdCB0dHlfZGlzcGxheV9pbmZvICp0dHksIGJvb2wg c2F2ZSkKICAgICAgIGR1cHN0cmluZyAoJmRlZmF1bHRfb3JpZ19wYWlyLCB0 dHktPlRTX29yaWdfcGFpcik7CiAgICAgICBkdXBzdHJpbmcgKCZkZWZhdWx0 X3NldF9mb3JlZ3JvdW5kLCB0dHktPlRTX3NldF9mb3JlZ3JvdW5kKTsKICAg ICAgIGR1cHN0cmluZyAoJmRlZmF1bHRfc2V0X2JhY2tncm91bmQsIHR0eS0+ VFNfc2V0X2JhY2tncm91bmQpOworICAgICAgZHVwc3RyaW5nICgmZGVmYXVs dF9zZXRfcmdiX2ZvcmVncm91bmQsIHR0eS0+VFNfc2V0X3JnYl9mb3JlZ3Jv dW5kKTsKKyAgICAgIGR1cHN0cmluZyAoJmRlZmF1bHRfc2V0X3JnYl9iYWNr Z3JvdW5kLCB0dHktPlRTX3NldF9yZ2JfYmFja2dyb3VuZCk7CiAgICAgICBk ZWZhdWx0X21heF9jb2xvcnMgPSB0dHktPlROX21heF9jb2xvcnM7CiAgICAg ICBkZWZhdWx0X21heF9wYWlycyA9IHR0eS0+VE5fbWF4X3BhaXJzOwogICAg ICAgZGVmYXVsdF9ub19jb2xvcl92aWRlbyA9IHR0eS0+VE5fbm9fY29sb3Jf dmlkZW87CkBAIC0yMDY0LDYgKzIwOTIsOCBAQCB0dHlfZGVmYXVsdF9jb2xv cl9jYXBhYmlsaXRpZXMgKHN0cnVjdCB0dHlfZGlzcGxheV9pbmZvICp0dHks IGJvb2wgc2F2ZSkKICAgICAgIHR0eS0+VFNfb3JpZ19wYWlyID0gZGVmYXVs dF9vcmlnX3BhaXI7CiAgICAgICB0dHktPlRTX3NldF9mb3JlZ3JvdW5kID0g ZGVmYXVsdF9zZXRfZm9yZWdyb3VuZDsKICAgICAgIHR0eS0+VFNfc2V0X2Jh Y2tncm91bmQgPSBkZWZhdWx0X3NldF9iYWNrZ3JvdW5kOworICAgICAgdHR5 LT5UU19zZXRfcmdiX2ZvcmVncm91bmQgPSBkZWZhdWx0X3NldF9yZ2JfZm9y ZWdyb3VuZDsKKyAgICAgIHR0eS0+VFNfc2V0X3JnYl9iYWNrZ3JvdW5kID0g ZGVmYXVsdF9zZXRfcmdiX2JhY2tncm91bmQ7CiAgICAgICB0dHktPlROX21h eF9jb2xvcnMgPSBkZWZhdWx0X21heF9jb2xvcnM7CiAgICAgICB0dHktPlRO X21heF9wYWlycyA9IGRlZmF1bHRfbWF4X3BhaXJzOwogICAgICAgdHR5LT5U Tl9ub19jb2xvcl92aWRlbyA9IGRlZmF1bHRfbm9fY29sb3JfdmlkZW87CkBA IC0yMDg4LDYgKzIxMTgsNyBAQCB0dHlfc2V0dXBfY29sb3JzIChzdHJ1Y3Qg dHR5X2Rpc3BsYXlfaW5mbyAqdHR5LCBpbnQgbW9kZSkKIAl0dHktPlROX21h eF9wYWlycyA9IDA7CiAJdHR5LT5UTl9ub19jb2xvcl92aWRlbyA9IDA7CiAJ dHR5LT5UU19zZXRfZm9yZWdyb3VuZCA9IHR0eS0+VFNfc2V0X2JhY2tncm91 bmQgPSB0dHktPlRTX29yaWdfcGFpciA9IE5VTEw7CisgICAgICAgIHR0eS0+ VFNfc2V0X3JnYl9mb3JlZ3JvdW5kID0gdHR5LT5UU19zZXRfcmdiX2JhY2tn cm91bmQgPSBOVUxMOwogCWJyZWFrOwogICAgICAgY2FzZSAwOgkgLyogZGVm YXVsdCBjb2xvcnMsIGlmIGFueSAqLwogICAgICAgZGVmYXVsdDoKQEAgLTIx MDIsMTAgKzIxMzMsMjYgQEAgdHR5X3NldHVwX2NvbG9ycyAoc3RydWN0IHR0 eV9kaXNwbGF5X2luZm8gKnR0eSwgaW50IG1vZGUpCiAJdHR5LT5UU19zZXRf Zm9yZWdyb3VuZCA9ICJcMDMzWzMlZG0iOwogCXR0eS0+VFNfc2V0X2JhY2tn cm91bmQgPSAiXDAzM1s0JWRtIjsKICNlbmRpZgorCXR0eS0+VFNfc2V0X3Jn Yl9mb3JlZ3JvdW5kID0gTlVMTDsKKwl0dHktPlRTX3NldF9yZ2JfYmFja2dy b3VuZCA9IE5VTEw7CiAJdHR5LT5UTl9tYXhfY29sb3JzID0gODsKIAl0dHkt PlROX21heF9wYWlycyA9IDY0OwogCXR0eS0+VE5fbm9fY29sb3JfdmlkZW8g PSAwOwogCWJyZWFrOworICAgICAgY2FzZSAxNjc3NzIxNjogLyogUkdCIGNv bG9ycyAqLworICAgICAgICB0dHktPlRTX29yaWdfcGFpciA9ICJcMDMzWzBt IjsKKworI2lmZGVmIFRFUk1JTkZPCisgICAgICAgIHR0eS0+VFNfc2V0X3Jn Yl9mb3JlZ3JvdW5kID0gIlwwMzNbMzg7MjslcDElZDslcDIlZDslcDMlZG0i OworICAgICAgICB0dHktPlRTX3NldF9yZ2JfYmFja2dyb3VuZCA9ICJcMDMz WzQ4OzI7JXAxJWQ7JXAyJWQ7JXAzJWRtIjsKKyNlbHNlCisgICAgICAgIHR0 eS0+VFNfc2V0X3JnYl9mb3JlZ3JvdW5kID0gIlwwMzNbMzg7MjslZDslZDsl ZG0iOworICAgICAgICB0dHktPlRTX3NldF9yZ2JfYmFja2dyb3VuZCA9ICJc MDMzWzQ4OzI7JWQ7JWQ7JWRtIjsKKyNlbmRpZgorCisgICAgICAgIHR0eS0+ VE5fbWF4X2NvbG9ycyA9IDE2Nzc3MjE2OworICAgICAgICB0dHktPlROX25v X2NvbG9yX3ZpZGVvID0gMDsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogfQog CkBAIC00MjAxLDYgKzQyNDgsOSBAQCB1c2UgdGhlIEJvdXJuZSBzaGVsbCBj b21tYW5kIGBURVJNPS4uLiBleHBvcnQgVEVSTScgKEMtc2hlbGw6XG5cCiAg ICAgICB0dHktPlROX25vX2NvbG9yX3ZpZGVvID0gdGdldG51bSAoIk5DIik7 CiAgICAgICBpZiAodHR5LT5UTl9ub19jb2xvcl92aWRlbyA9PSAtMSkKICAg ICAgICAgdHR5LT5UTl9ub19jb2xvcl92aWRlbyA9IDA7CisKKyAgICAgIHR0 eS0+VFNfc2V0X3JnYl9mb3JlZ3JvdW5kID0gTlVMTDsKKyAgICAgIHR0eS0+ VFNfc2V0X3JnYl9iYWNrZ3JvdW5kID0gTlVMTDsKICAgICB9CiAKICAgdHR5 X2RlZmF1bHRfY29sb3JfY2FwYWJpbGl0aWVzICh0dHksIDEpOwpkaWZmIC0t Z2l0IGEvc3JjL3Rlcm1jaGFyLmggYi9zcmMvdGVybWNoYXIuaAppbmRleCBk ODA2NmQ3Li5lNDhkNTgzIDEwMDY0NAotLS0gYS9zcmMvdGVybWNoYXIuaAor KysgYi9zcmMvdGVybWNoYXIuaApAQCAtMTU3LDYgKzE1NywxMCBAQCBzdHJ1 Y3QgdHR5X2Rpc3BsYXlfaW5mbwogICBjb25zdCBjaGFyICpUU19zZXRfZm9y ZWdyb3VuZDsKICAgY29uc3QgY2hhciAqVFNfc2V0X2JhY2tncm91bmQ7CiAK KyAgLyogU3VwcG9ydCBmb3IgMjRiaXQgUkdCIGNvbG9yIHRlcm1pbmFscy4g Ki8KKyAgY29uc3QgY2hhciAqVFNfc2V0X3JnYl9mb3JlZ3JvdW5kOworICBj b25zdCBjaGFyICpUU19zZXRfcmdiX2JhY2tncm91bmQ7CisKICAgaW50IFRG X2hhemVsdGluZTsgICAgICAgICAgICAgLyogdGVybWNhcCBoeiBmbGFnLiAq LwogICBpbnQgVEZfaW5zbW9kZV9tb3Rpb247ICAgICAgICAvKiB0ZXJtY2Fw IG1pIGZsYWc6IGNhbiBtb3ZlIHdoaWxlIGluIGluc2VydCBtb2RlLiAqLwog ICBpbnQgVEZfc3RhbmRvdXRfbW90aW9uOyAgICAgICAvKiB0ZXJtY2FwIG1p IGZsYWc6IGNhbiBtb3ZlIHdoaWxlIGluIHN0YW5kb3V0IG1vZGUuICovCmRp ZmYgLS1naXQgYS9zcmMveGZhY2VzLmMgYi9zcmMveGZhY2VzLmMKaW5kZXgg MjljOTFmNy4uMzQ3ZWJmOCAxMDA2NDQKLS0tIGEvc3JjL3hmYWNlcy5jCisr KyBiL3NyYy94ZmFjZXMuYwpAQCAtMzgyLDcgKzM4Miw3IEBAIHN0YXRpYyBw dHJkaWZmX3QgbGZhY2VfaWRfdG9fbmFtZV9zaXplOwogCiAvKiBUVFkgY29s b3ItcmVsYXRlZCBmdW5jdGlvbnMgKGRlZmluZWQgaW4gdHR5LWNvbG9ycy5l bCkuICAqLwogCi1zdGF0aWMgTGlzcF9PYmplY3QgUXR0eV9jb2xvcl9kZXNj LCBRdHR5X2NvbG9yX2J5X2luZGV4LCBRdHR5X2NvbG9yX3N0YW5kYXJkX3Zh bHVlczsKK3N0YXRpYyBMaXNwX09iamVjdCBRdHR5X2NvbG9yX2Rlc2MsIFF0 dHlfY29sb3JfYnlfaW5kZXgsIFF0dHlfY29sb3Jfc3RhbmRhcmRfdmFsdWVz LCBRdHR5X2NvbG9yX2Nhbm9uaWNhbGl6ZTsKIAogLyogVGhlIG5hbWUgb2Yg dGhlIGZ1bmN0aW9uIHVzZWQgdG8gY29tcHV0ZSBjb2xvcnMgb24gVFRZcy4g ICovCiAKQEAgLTk0Myw1NCArOTQzLDgwIEBAIHR0eV9sb29rdXBfY29sb3Ig KHN0cnVjdCBmcmFtZSAqZiwgTGlzcF9PYmplY3QgY29sb3IsIFhDb2xvciAq dHR5X2NvbG9yLAogICBpZiAoIVNUUklOR1AgKGNvbG9yKSB8fCBOSUxQIChG ZmJvdW5kcCAoUXR0eV9jb2xvcl9kZXNjKSkpCiAgICAgcmV0dXJuIDA7CiAK LSAgWFNFVEZSQU1FIChmcmFtZSwgZik7Ci0KLSAgY29sb3JfZGVzYyA9IGNh bGwyIChRdHR5X2NvbG9yX2Rlc2MsIGNvbG9yLCBmcmFtZSk7Ci0gIGlmIChD T05TUCAoY29sb3JfZGVzYykgJiYgQ09OU1AgKFhDRFIgKGNvbG9yX2Rlc2Mp KSkKKyAgaWYgKGYtPm91dHB1dF9tZXRob2QgPT0gb3V0cHV0X3Rlcm1jYXAK KyAgICAgICYmIGYtPm91dHB1dF9kYXRhLnR0eS0+ZGlzcGxheV9pbmZvLT5U U19zZXRfcmdiX2ZvcmVncm91bmQKKyAgICAgICYmICFOSUxQIChGZmJvdW5k cCAoUXR0eV9jb2xvcl9zdGFuZGFyZF92YWx1ZXMpKSkKICAgICB7Ci0gICAg ICBMaXNwX09iamVjdCByZ2I7Ci0KLSAgICAgIGlmICghIElOVEVHRVJQIChY Q0FSIChYQ0RSIChjb2xvcl9kZXNjKSkpKQotCXJldHVybiAwOworICAgICAg LyogVGVybWluYWwgc3VwcG9ydHMgMyBieXRlIFJHQiBjb2xvcnMuICovCisg ICAgICBpZiAoIU5JTFAgKEZmYm91bmRwIChRdHR5X2NvbG9yX2Nhbm9uaWNh bGl6ZSkpKQorICAgICAgICBjb2xvciA9IGNhbGwxKFF0dHlfY29sb3JfY2Fu b25pY2FsaXplLCBjb2xvcik7CiAKLSAgICAgIHR0eV9jb2xvci0+cGl4ZWwg PSBYSU5UIChYQ0FSIChYQ0RSIChjb2xvcl9kZXNjKSkpOworICAgICAgY29s b3JfZGVzYyA9IGNhbGwxIChRdHR5X2NvbG9yX3N0YW5kYXJkX3ZhbHVlcywg Y29sb3IpOworICAgICAgaWYgKCEgcGFyc2VfcmdiX2xpc3QgKGNvbG9yX2Rl c2MsIHR0eV9jb2xvcikpCisgICAgICAgIHJldHVybiAwOwogCi0gICAgICBy Z2IgPSBYQ0RSIChYQ0RSIChjb2xvcl9kZXNjKSk7Ci0gICAgICBpZiAoISBw YXJzZV9yZ2JfbGlzdCAocmdiLCB0dHlfY29sb3IpKQotCXJldHVybiAwOwor ICAgICAgLyogTWFwIFhDb2xvciB0byAzIGJ5dGUgdmFsdWVzLiAqLworICAg ICAgdHR5X2NvbG9yLT5waXhlbCA9IDEgPDwgMjQgLyogU2V0IGJpdCAyNCB0 byBtYXJrIFJHQiB2YWx1ZXMuICovCisgICAgICAgIHwgKHR0eV9jb2xvci0+ cmVkIC8gMjU2KSA8PCAxNgorICAgICAgICB8ICh0dHlfY29sb3ItPmdyZWVu IC8gMjU2KSA8PCA4CisgICAgICAgIHwgKHR0eV9jb2xvci0+Ymx1ZSAvIDI1 Nik7CiAKLSAgICAgIC8qIFNob3VsZCB3ZSBmaWxsIGluIFNURF9DT0xPUiB0 b28/ICAqLwogICAgICAgaWYgKHN0ZF9jb2xvcikKLQl7Ci0JICAvKiBEZWZh dWx0IFNURF9DT0xPUiB0byB0aGUgc2FtZSBhcyBUVFlfQ09MT1IuICAqLwot CSAgKnN0ZF9jb2xvciA9ICp0dHlfY29sb3I7Ci0KLQkgIC8qIERvIGEgcXVp Y2sgY2hlY2sgdG8gc2VlIGlmIHRoZSByZXR1cm5lZCBkZXNjcmlwdG9yIGlz Ci0JICAgICBhY3R1YWxseSBfZXhhY3RseV8gZXF1YWwgdG8gQ09MT1IsIG90 aGVyd2lzZSB3ZSBoYXZlIHRvCi0JICAgICBsb29rdXAgU1REX0NPTE9SIHNl cGFyYXRlbHkuICBJZiBpdCdzIGltcG9zc2libGUgdG8gbG9va3VwCi0JICAg ICBhIHN0YW5kYXJkIGNvbG9yLCB3ZSBqdXN0IGdpdmUgdXAgYW5kIHVzZSBU VFlfQ09MT1IuICAqLwotCSAgaWYgKCghU1RSSU5HUCAoWENBUiAoY29sb3Jf ZGVzYykpCi0JICAgICAgIHx8IE5JTFAgKEZzdHJpbmdfZXF1YWwgKGNvbG9y LCBYQ0FSIChjb2xvcl9kZXNjKSkpKQotCSAgICAgICYmICFOSUxQIChGZmJv dW5kcCAoUXR0eV9jb2xvcl9zdGFuZGFyZF92YWx1ZXMpKSkKLQkgICAgewot CSAgICAgIC8qIExvb2sgdXAgU1REX0NPTE9SIHNlcGFyYXRlbHkuICAqLwot CSAgICAgIHJnYiA9IGNhbGwxIChRdHR5X2NvbG9yX3N0YW5kYXJkX3ZhbHVl cywgY29sb3IpOwotCSAgICAgIGlmICghIHBhcnNlX3JnYl9saXN0IChyZ2Is IHN0ZF9jb2xvcikpCi0JCXJldHVybiAwOwotCSAgICB9Ci0JfQorICAgICAg ICAqc3RkX2NvbG9yID0gKnR0eV9jb2xvcjsKIAogICAgICAgcmV0dXJuIDE7 CiAgICAgfQotICBlbHNlIGlmIChOSUxQIChGc3ltYm9sX3ZhbHVlIChpbnRl cm4gKCJ0dHktZGVmaW5lZC1jb2xvci1hbGlzdCIpKSkpCi0gICAgLyogV2Ug d2VyZSBjYWxsZWQgZWFybHkgZHVyaW5nIHN0YXJ0dXAsIGFuZCB0aGUgY29s b3JzIGFyZSBub3QKLSAgICAgICB5ZXQgc2V0IHVwIGluIHR0eS1kZWZpbmVk LWNvbG9yLWFsaXN0LiAgRG9uJ3QgcmV0dXJuIGEgZmFpbHVyZQotICAgICAg IGluZGljYXRpb24sIHNpbmNlIHRoaXMgcHJvZHVjZXMgdGhlIGFubm95aW5n ICJVbmFibGUgdG8KLSAgICAgICBsb2FkIGNvbG9yIiBtZXNzYWdlcyBpbiB0 aGUgKk1lc3NhZ2VzKiBidWZmZXIuICAqLwotICAgIHJldHVybiAxOwogICBl bHNlCi0gICAgLyogdHR5LWNvbG9yLWRlc2Mgc2VlbXMgdG8gaGF2ZSByZXR1 cm5lZCBhIGJhZCB2YWx1ZS4gICovCi0gICAgcmV0dXJuIDA7CisgICAgewor ICAgICAgWFNFVEZSQU1FIChmcmFtZSwgZik7CisKKyAgICAgIGNvbG9yX2Rl c2MgPSBjYWxsMiAoUXR0eV9jb2xvcl9kZXNjLCBjb2xvciwgZnJhbWUpOwor ICAgICAgaWYgKENPTlNQIChjb2xvcl9kZXNjKSAmJiBDT05TUCAoWENEUiAo Y29sb3JfZGVzYykpKQorICAgICAgICB7CisgICAgICAgICAgTGlzcF9PYmpl Y3QgcmdiOworCisgICAgICAgICAgaWYgKCEgSU5URUdFUlAgKFhDQVIgKFhD RFIgKGNvbG9yX2Rlc2MpKSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKwor ICAgICAgICAgIHR0eV9jb2xvci0+cGl4ZWwgPSBYSU5UIChYQ0FSIChYQ0RS IChjb2xvcl9kZXNjKSkpOworCisgICAgICAgICAgcmdiID0gWENEUiAoWENE UiAoY29sb3JfZGVzYykpOworICAgICAgICAgIGlmICghIHBhcnNlX3JnYl9s aXN0IChyZ2IsIHR0eV9jb2xvcikpCisgICAgICAgICAgICByZXR1cm4gMDsK KworICAgICAgICAgIC8qIFNob3VsZCB3ZSBmaWxsIGluIFNURF9DT0xPUiB0 b28/ICAqLworICAgICAgICAgIGlmIChzdGRfY29sb3IpCisgICAgICAgICAg ICB7CisgICAgICAgICAgICAgIC8qIERlZmF1bHQgU1REX0NPTE9SIHRvIHRo ZSBzYW1lIGFzIFRUWV9DT0xPUi4gICovCisgICAgICAgICAgICAgICpzdGRf Y29sb3IgPSAqdHR5X2NvbG9yOworCisgICAgICAgICAgICAgIC8qIERvIGEg cXVpY2sgY2hlY2sgdG8gc2VlIGlmIHRoZSByZXR1cm5lZCBkZXNjcmlwdG9y IGlzCisgICAgICAgICAgICAgICAgIGFjdHVhbGx5IF9leGFjdGx5XyBlcXVh bCB0byBDT0xPUiwgb3RoZXJ3aXNlIHdlIGhhdmUgdG8KKyAgICAgICAgICAg ICAgICAgbG9va3VwIFNURF9DT0xPUiBzZXBhcmF0ZWx5LiAgSWYgaXQncyBp bXBvc3NpYmxlIHRvIGxvb2t1cAorICAgICAgICAgICAgICAgICBhIHN0YW5k YXJkIGNvbG9yLCB3ZSBqdXN0IGdpdmUgdXAgYW5kIHVzZSBUVFlfQ09MT1Iu ICAqLworICAgICAgICAgICAgICBpZiAoKCFTVFJJTkdQIChYQ0FSIChjb2xv cl9kZXNjKSkKKyAgICAgICAgICAgICAgICAgICB8fCBOSUxQIChGc3RyaW5n X2VxdWFsIChjb2xvciwgWENBUiAoY29sb3JfZGVzYykpKSkKKyAgICAgICAg ICAgICAgICAgICYmICFOSUxQIChGZmJvdW5kcCAoUXR0eV9jb2xvcl9zdGFu ZGFyZF92YWx1ZXMpKSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAg ICAgICAgICAvKiBMb29rIHVwIFNURF9DT0xPUiBzZXBhcmF0ZWx5LiAgKi8K KyAgICAgICAgICAgICAgICAgIHJnYiA9IGNhbGwxIChRdHR5X2NvbG9yX3N0 YW5kYXJkX3ZhbHVlcywgY29sb3IpOworICAgICAgICAgICAgICAgICAgaWYg KCEgcGFyc2VfcmdiX2xpc3QgKHJnYiwgc3RkX2NvbG9yKSkKKyAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgfQorCisgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0K KyAgICAgIGVsc2UgaWYgKE5JTFAgKEZzeW1ib2xfdmFsdWUgKGludGVybiAo InR0eS1kZWZpbmVkLWNvbG9yLWFsaXN0IikpKSkKKyAgICAgICAgLyogV2Ug d2VyZSBjYWxsZWQgZWFybHkgZHVyaW5nIHN0YXJ0dXAsIGFuZCB0aGUgY29s b3JzIGFyZSBub3QKKyAgICAgICAgICAgeWV0IHNldCB1cCBpbiB0dHktZGVm aW5lZC1jb2xvci1hbGlzdC4gIERvbid0IHJldHVybiBhIGZhaWx1cmUKKyAg ICAgICAgICAgaW5kaWNhdGlvbiwgc2luY2UgdGhpcyBwcm9kdWNlcyB0aGUg YW5ub3lpbmcgIlVuYWJsZSB0bworICAgICAgICAgICBsb2FkIGNvbG9yIiBt ZXNzYWdlcyBpbiB0aGUgKk1lc3NhZ2VzKiBidWZmZXIuICAqLworICAgICAg ICByZXR1cm4gMTsKKyAgICAgIGVsc2UKKyAgICAgICAgLyogdHR5LWNvbG9y LWRlc2Mgc2VlbXMgdG8gaGF2ZSByZXR1cm5lZCBhIGJhZCB2YWx1ZS4gICov CisgICAgICAgIHJldHVybiAwOworICAgIH0KIH0KIAogLyogQSB2ZXJzaW9u IG9mIGRlZmluZWRfY29sb3IgZm9yIG5vbi1YIGZyYW1lcy4gICovCkBAIC0x MDA4LDcgKzEwMzQsOSBAQCB0dHlfZGVmaW5lZF9jb2xvciAoc3RydWN0IGZy YW1lICpmLCBjb25zdCBjaGFyICpjb2xvcl9uYW1lLAogICBjb2xvcl9kZWYt PmdyZWVuID0gMDsKIAogICBpZiAoKmNvbG9yX25hbWUpCi0gICAgc3RhdHVz ID0gdHR5X2xvb2t1cF9jb2xvciAoZiwgYnVpbGRfc3RyaW5nIChjb2xvcl9u YW1lKSwgY29sb3JfZGVmLCBOVUxMKTsKKyAgICB7CisgICAgICBzdGF0dXMg PSB0dHlfbG9va3VwX2NvbG9yIChmLCBidWlsZF9zdHJpbmcgKGNvbG9yX25h bWUpLCBjb2xvcl9kZWYsIE5VTEwpOworICAgIH0KIAogICBpZiAoY29sb3Jf ZGVmLT5waXhlbCA9PSBGQUNFX1RUWV9ERUZBVUxUX0NPTE9SICYmICpjb2xv cl9uYW1lKQogICAgIHsKQEAgLTU3ODAsNiArNTgwOCw3IEBAIG1hcF90dHlf Y29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGZhY2UgKmZhY2UsCiAg IHVuc2lnbmVkIGxvbmcgZGVmYXVsdF9waXhlbCA9CiAgICAgZm9yZWdyb3Vu ZF9wID8gRkFDRV9UVFlfREVGQVVMVF9GR19DT0xPUiA6IEZBQ0VfVFRZX0RF RkFVTFRfQkdfQ09MT1I7CiAgIHVuc2lnbmVkIGxvbmcgcGl4ZWwgPSBkZWZh dWx0X3BpeGVsOworICBYQ29sb3IgdHJ1ZV9jb2xvcjsKICNpZmRlZiBNU0RP UwogICB1bnNpZ25lZCBsb25nIGRlZmF1bHRfb3RoZXJfcGl4ZWwgPQogICAg IGZvcmVncm91bmRfcCA/IEZBQ0VfVFRZX0RFRkFVTFRfQkdfQ09MT1IgOiBG QUNFX1RUWV9ERUZBVUxUX0ZHX0NPTE9SOwpAQCAtNTc5OCw3ICs1ODI3LDE4 IEBAIG1hcF90dHlfY29sb3IgKHN0cnVjdCBmcmFtZSAqZiwgc3RydWN0IGZh Y2UgKmZhY2UsCiAgICAgewogICAgICAgLyogQXNzb2NpYXRpb25zIGluIHR0 eS1kZWZpbmVkLWNvbG9yLWFsaXN0IGFyZSBvZiB0aGUgZm9ybQogCSAoTkFN RSBJTkRFWCBSIEcgQikuICBXZSBuZWVkIHRoZSBJTkRFWCBwYXJ0LiAgKi8K LSAgICAgIHBpeGVsID0gWElOVCAoWENBUiAoWENEUiAoZGVmKSkpOworICAg ICAgaWYgKGYtPm91dHB1dF9tZXRob2QgPT0gb3V0cHV0X3Rlcm1jYXAKKyAg ICAgICAgICAmJiBmLT5vdXRwdXRfZGF0YS50dHktPmRpc3BsYXlfaW5mby0+ VFNfc2V0X3JnYl9mb3JlZ3JvdW5kCisgICAgICAgICAgJiYgcGFyc2Vfcmdi X2xpc3QgKFhDRFIgKFhDRFIoZGVmKSksICZ0cnVlX2NvbG9yKSkKKyAgICAg ICAgeworICAgICAgICAgIC8qIE1hcCBYQ29sb3IgdG8gMyBieXRlIHZhbHVl cy4gKi8KKyAgICAgICAgICBwaXhlbCA9IDEgPDwgMjQgLyogU2V0IGJpdCAy NCB0byBtYXJrIFJHQiB2YWx1ZXMuICovCisgICAgICAgICAgICB8ICh0cnVl X2NvbG9yLnJlZCAvIDI1NikgPDwgMTYKKyAgICAgICAgICAgIHwgKHRydWVf Y29sb3IuZ3JlZW4gLyAyNTYpIDw8IDgKKyAgICAgICAgICAgIHwgKHRydWVf Y29sb3IuYmx1ZSAvIDI1Nik7CisgICAgICAgIH0KKyAgICAgICBlbHNlCisg ICAgICAgICBwaXhlbCA9IFhJTlQgKFhDQVIgKFhDRFIgKGRlZikpKTsKICAg ICB9CiAKICAgaWYgKHBpeGVsID09IGRlZmF1bHRfcGl4ZWwgJiYgU1RSSU5H UCAoY29sb3IpKQpAQCAtNjQ2MCw2ICs2NTAwLDcgQEAgc3ltc19vZl94ZmFj ZXMgKHZvaWQpCiAgIERFRlNZTSAoUXdpbmRvd19kaXZpZGVyLCAid2luZG93 LWRpdmlkZXIiKTsKICAgREVGU1lNIChRd2luZG93X2RpdmlkZXJfZmlyc3Rf cGl4ZWwsICJ3aW5kb3ctZGl2aWRlci1maXJzdC1waXhlbCIpOwogICBERUZT WU0gKFF3aW5kb3dfZGl2aWRlcl9sYXN0X3BpeGVsLCAid2luZG93LWRpdmlk ZXItbGFzdC1waXhlbCIpOworICBERUZTWU0gKFF0dHlfY29sb3JfY2Fub25p Y2FsaXplLCAidHR5LWNvbG9yLWNhbm9uaWNhbGl6ZSIpOwogICBERUZTWU0g KFF0dHlfY29sb3JfZGVzYywgInR0eS1jb2xvci1kZXNjIik7CiAgIERFRlNZ TSAoUXR0eV9jb2xvcl9zdGFuZGFyZF92YWx1ZXMsICJ0dHktY29sb3Itc3Rh bmRhcmQtdmFsdWVzIik7CiAgIERFRlNZTSAoUXR0eV9jb2xvcl9ieV9pbmRl eCwgInR0eS1jb2xvci1ieS1pbmRleCIpOwo= --_----------=_14576609345331850--