From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id D918D3856269; Fri, 27 May 2022 14:52:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D918D3856269 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.91,255,1647331200"; d="diff'?scan'208";a="79124508" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 27 May 2022 06:52:22 -0800 IronPort-SDR: BVbX3PSibD4c+Hpes3OwvPwXVI6b3//2ue0YiXmvB1ZPSs0UYIouORyPnzGvru0krU2BVqgbKG Qhek23/8kKYZa+6ypXZnPswLltOWBqs1xYb1bDkGs6OG1ctPzHK4LrPU5LJ9zWokk6uGXP7cZB FeoPB+3X2DPunpmS2mKGDjYOfoaRdiGcEHw1FBJEIOZBGwxMLZhaRPgj6nuAUpSQbsYeJbjXnY 6VjsC2QWsG+HO1+tFPwQg1VFBRAj0lLavpaDjoxcikRY33m7YDg0iLR7udHdR08u1ydMY1BsY+ sXI= Content-Type: multipart/mixed; boundary="------------mZQoo92xqKFQA8tXpbBpKuFw" Message-ID: <651ae4c2-9440-b8df-e8af-b14491d45937@codesourcery.com> Date: Fri, 27 May 2022 16:52:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: [Patch] OpenMP/Fortran: Add support for enter clause on declare target (was: [committed] openmp: Add support for enter clause on declare target) Content-Language: en-US To: Jakub Jelinek , CC: fortran References: From: Tobias Burnus In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 May 2022 14:52:35 -0000 --------------mZQoo92xqKFQA8tXpbBpKuFw Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable This patch adds the Fortran support to the just-committed C/C++ support for= the 'enter' clause. The 'TO'/'ENTER' usage is first stored in a linked list =E2=80=93 and then as attribute to the symbol. I am not sure how to handle it best. I did went for adding an ENTER_LIST but kept only using the single attribut= e. Result: In one diagnostic, I use 'TO or ENTER clause' in the other, I can properly use 'TO' or 'ENTER' clause. This could be kept as is, but to save memory it would be possible to drop the ENTER_LIST =E2=80=93 or, to improve diagnostic, we could try ha= rder (e.g. by re-walking the list or by another gfc_attribute). Preferences? If not, I would go for the attached middle way. Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------mZQoo92xqKFQA8tXpbBpKuFw Content-Type: text/x-patch; charset="UTF-8"; name="declare-target-enter-f90.diff" Content-Disposition: attachment; filename="declare-target-enter-f90.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IEFkZCBzdXBwb3J0IGZvciBlbnRlciBjbGF1c2Ugb24gZGVjbGFy ZSB0YXJnZXQKCkZvcnRyYW4gdmVyc2lvbiB0byBDL0MrKyBjb21taXQgcjEzLTc5Ny1nMGNj YmE0ZWQ4NTcxYzE4YzcwMTU0MTM0NDFlOTcxCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJ KiBkdW1wLXBhcnNlLXRyZWUuY2MgKHNob3dfb21wX2NsYXVzZXMpOiBIYW5kbGUgT01QX0xJ U1RfRU5URVIuCgkqIGdmb3J0cmFuLmg6IEFkZCBPTVBfTElTVF9FTlRFUi4KCSogb3Blbm1w LmNjIChlbnVtIG9tcF9tYXNrMiwgT01QX0RFQ0xBUkVfVEFSR0VUX0NMQVVTRVMpOiBBZGQK CU9NUF9DTEFVU0VfRU5URVIuCgkoZ2ZjX21hdGNoX29tcF9jbGF1c2VzLCBnZmNfbWF0Y2hf b21wX2RlY2xhcmVfdGFyZ2V0LAoJcmVzb2x2ZV9vbXBfY2xhdXNlcyk6IEhhbmRsZSAnZW50 ZXInIGNsYXVzZS4KCmxpYmdvbXAvQ2hhbmdlTG9nOgoKCSogbGliZ29tcC50ZXhpIChPcGVu TVAgNS4yKTogTWFyayAnZW50ZXInIGNsYXVzZSBhcyBzdXBwb3J0ZWQuCgkqIHRlc3RzdWl0 ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10YXJnZXQtMS5mOTA6IEV4dGVuZCB0byB0ZXN0 CglleHBsaWNpdCAndG8nIGFuZCAnZW50ZXInIGNsYXVzZS4KCSogdGVzdHN1aXRlL2xpYmdv bXAuZm9ydHJhbi9kZWNsYXJlLXRhcmdldC0yLmY5MDogVXBkYXRlIGFjY29yZGluZ2x5LgoK Z2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJKiBnZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUt dGFyZ2V0LTIuZjkwOiBBZGQgJ2VudGVyJyBjbGF1c2UgdGVzdC4KCSogZ2ZvcnRyYW4uZGcv Z29tcC9kZWNsYXJlLXRhcmdldC00LmY5MDogTGlrZXdpc2UuCgogZ2NjL2ZvcnRyYW4vZHVt cC1wYXJzZS10cmVlLmNjICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBnY2MvZm9ydHJh bi9nZm9ydHJhbi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKIGdjYy9m b3J0cmFuL29wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTkgKysr KysrKysrKysrKysrLS0tLS0tLQogLi4uL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJn ZXQtMi5mOTAgICAgICAgICAgfCAxOCArKysrKy0tCiAuLi4vZ2ZvcnRyYW4uZGcvZ29tcC9k ZWNsYXJlLXRhcmdldC00LmY5MCAgICAgICAgICB8ICA5ICsrKy0KIGxpYmdvbXAvbGliZ29t cC50ZXhpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi90ZXN0 c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LTEuZjkwIHwgIDQgKy0KIC4u Li90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LTIuZjkwIHwgMTAg KysrLQogOCBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MgYi9nY2Mv Zm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MKaW5kZXggNGU4OTg2YmQ1OTkuLmUzYWZmYjhi YzQ4IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9kdW1wLXBhcnNlLXRyZWUuY2MKKysrIGIv Z2NjL2ZvcnRyYW4vZHVtcC1wYXJzZS10cmVlLmNjCkBAIC0xNjc5LDYgKzE2NzksNyBAQCBz aG93X29tcF9jbGF1c2VzIChnZmNfb21wX2NsYXVzZXMgKm9tcF9jbGF1c2VzKQogCSAgY2Fz ZSBPTVBfTElTVF9JTl9SRURVQ1RJT046IHR5cGUgPSAiSU5fUkVEVUNUSU9OIjsgYnJlYWs7 CiAJICBjYXNlIE9NUF9MSVNUX1RBU0tfUkVEVUNUSU9OOiB0eXBlID0gIlRBU0tfUkVEVUNU SU9OIjsgYnJlYWs7CiAJICBjYXNlIE9NUF9MSVNUX0RFVklDRV9SRVNJREVOVDogdHlwZSA9 ICJERVZJQ0VfUkVTSURFTlQiOyBicmVhazsKKwkgIGNhc2UgT01QX0xJU1RfRU5URVI6IHR5 cGUgPSAiRU5URVIiOyBicmVhazsKIAkgIGNhc2UgT01QX0xJU1RfTElOSzogdHlwZSA9ICJM SU5LIjsgYnJlYWs7CiAJICBjYXNlIE9NUF9MSVNUX1VTRV9ERVZJQ0U6IHR5cGUgPSAiVVNF X0RFVklDRSI7IGJyZWFrOwogCSAgY2FzZSBPTVBfTElTVF9DQUNIRTogdHlwZSA9ICJDQUNI RSI7IGJyZWFrOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaCBiL2djYy9m b3J0cmFuL2dmb3J0cmFuLmgKaW5kZXggNWQ5NzBiYzFkZjAuLjBiYWM4NjU3NzkwIDEwMDY0 NAotLS0gYS9nY2MvZm9ydHJhbi9nZm9ydHJhbi5oCisrKyBiL2djYy9mb3J0cmFuL2dmb3J0 cmFuLmgKQEAgLTEzOTUsNiArMTM5NSw3IEBAIGVudW0KICAgT01QX0xJU1RfTk9OVEVNUE9S QUwsCiAgIE9NUF9MSVNUX0FMTE9DQVRFLAogICBPTVBfTElTVF9IQVNfREVWSUNFX0FERFIs CisgIE9NUF9MSVNUX0VOVEVSLAogICBPTVBfTElTVF9OVU0gLyogTXVzdCBiZSB0aGUgbGFz dC4gICovCiB9OwogCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9vcGVubXAuY2MgYi9nY2Mv Zm9ydHJhbi9vcGVubXAuY2MKaW5kZXggZWZhNjJiNjRmMmIuLjY2YzMwZWJlYTUxIDEwMDY0 NAotLS0gYS9nY2MvZm9ydHJhbi9vcGVubXAuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vb3Blbm1w LmNjCkBAIC05ODYsNiArOTg2LDcgQEAgZW51bSBvbXBfbWFzazIKICAgT01QX0NMQVVTRV9B VFRBQ0gsCiAgIE9NUF9DTEFVU0VfTk9IT1NULAogICBPTVBfQ0xBVVNFX0hBU19ERVZJQ0Vf QUREUiwgIC8qIE9wZW5NUCA1LjEgICovCisgIE9NUF9DTEFVU0VfRU5URVIsIC8qIE9wZW5N UCA1LjIgKi8KICAgLyogVGhpcyBtdXN0IGNvbWUgbGFzdC4gICovCiAgIE9NUF9NQVNLMl9M QVNUCiB9OwpAQCAtMjEwMSw2ICsyMTAyLDE2IEBAIGdmY19tYXRjaF9vbXBfY2xhdXNlcyAo Z2ZjX29tcF9jbGF1c2VzICoqY3AsIGNvbnN0IG9tcF9tYXNrIG1hc2ssCiAJCWNvbnRpbnVl OwogCSAgICB9CiAJICBicmVhazsKKwljYXNlICdlJzoKKwkgIGlmICgobWFzayAmIE9NUF9D TEFVU0VfRU5URVIpKQorCSAgICB7CisJICAgICAgbSA9IGdmY19tYXRjaF9vbXBfdG9fbGlu ayAoImVudGVyICgiLCAmYy0+bGlzdHNbT01QX0xJU1RfRU5URVJdKTsKKwkgICAgICBpZiAo bSA9PSBNQVRDSF9FUlJPUikKKwkJZ290byBlcnJvcjsKKwkgICAgICBpZiAobSA9PSBNQVRD SF9ZRVMpCisJCWNvbnRpbnVlOworCSAgICB9CisJICBicmVhazsKIAljYXNlICdmJzoKIAkg IGlmICgobWFzayAmIE9NUF9DTEFVU0VfRkFJTCkKIAkgICAgICAmJiAobSA9IGdmY19tYXRj aF9kdXBsX2NoZWNrIChjLT5mYWlsID09IE9NUF9NRU1PUkRFUl9VTlNFVCwKQEAgLTI5MjEs OCArMjkzMiwxMiBAQCBnZmNfbWF0Y2hfb21wX2NsYXVzZXMgKGdmY19vbXBfY2xhdXNlcyAq KmNwLCBjb25zdCBvbXBfbWFzayBtYXNrLAogCSAgICBjb250aW51ZTsKIAkgIGlmICgobWFz ayAmIE9NUF9DTEFVU0VfVE8pICYmIChtYXNrICYgT01QX0NMQVVTRV9MSU5LKSkKIAkgICAg ewotCSAgICAgIGlmIChnZmNfbWF0Y2hfb21wX3RvX2xpbmsgKCJ0byAoIiwgJmMtPmxpc3Rz W09NUF9MSVNUX1RPXSkKLQkJICA9PSBNQVRDSF9ZRVMpCisJICAgICAgLyogRGVjbGFyZSB0 YXJnZXQ6ICd0bycgaXMgYW4gYWxpYXMgZm9yICdlbnRlcic7CisJCSAndG8nIGlzIGRlcHJl Y2F0ZWQgc2luY2UgNS4yLiAgKi8KKwkgICAgICBtID0gZ2ZjX21hdGNoX29tcF90b19saW5r ICgidG8gKCIsICZjLT5saXN0c1tPTVBfTElTVF9UT10pOworCSAgICAgIGlmIChtID09IE1B VENIX0VSUk9SKQorCQlnb3RvIGVycm9yOworCSAgICAgIGlmIChtID09IE1BVENIX1lFUykK IAkJY29udGludWU7CiAJICAgIH0KIAkgIGVsc2UgaWYgKChtYXNrICYgT01QX0NMQVVTRV9U TykKQEAgLTM3MjQsNyArMzczOSw4IEBAIGNsZWFudXA6CiAjZGVmaW5lIE9NUF9PUkRFUkVE X0NMQVVTRVMgXAogICAob21wX21hc2sgKE9NUF9DTEFVU0VfVEhSRUFEUykgfCBPTVBfQ0xB VVNFX1NJTUQpCiAjZGVmaW5lIE9NUF9ERUNMQVJFX1RBUkdFVF9DTEFVU0VTIFwKLSAgKG9t cF9tYXNrIChPTVBfQ0xBVVNFX1RPKSB8IE9NUF9DTEFVU0VfTElOSyB8IE9NUF9DTEFVU0Vf REVWSUNFX1RZUEUpCisgIChvbXBfbWFzayAoT01QX0NMQVVTRV9FTlRFUikgfCBPTVBfQ0xB VVNFX0xJTksgfCBPTVBfQ0xBVVNFX0RFVklDRV9UWVBFIFwKKyAgIHwgT01QX0NMQVVTRV9U TykKICNkZWZpbmUgT01QX0FUT01JQ19DTEFVU0VTIFwKICAgKG9tcF9tYXNrIChPTVBfQ0xB VVNFX0FUT01JQykgfCBPTVBfQ0xBVVNFX0NBUFRVUkUgfCBPTVBfQ0xBVVNFX0hJTlQJXAog ICAgfCBPTVBfQ0xBVVNFX01FTU9SREVSIHwgT01QX0NMQVVTRV9DT01QQVJFIHwgT01QX0NM QVVTRV9GQUlMIAlcCkBAIC00NTMwLDcgKzQ1NDYsNyBAQCBnZmNfbWF0Y2hfb21wX2RlY2xh cmVfdGFyZ2V0ICh2b2lkKQogICAgIHsKICAgICAgIGMgPSBnZmNfZ2V0X29tcF9jbGF1c2Vz ICgpOwogICAgICAgZ2ZjX2N1cnJlbnRfbG9jdXMgPSBvbGRfbG9jOwotICAgICAgbSA9IGdm Y19tYXRjaF9vbXBfdG9fbGluayAoIiAoIiwgJmMtPmxpc3RzW09NUF9MSVNUX1RPXSk7Cisg ICAgICBtID0gZ2ZjX21hdGNoX29tcF90b19saW5rICgiICgiLCAmYy0+bGlzdHNbT01QX0xJ U1RfRU5URVJdKTsKICAgICAgIGlmIChtICE9IE1BVENIX1lFUykKIAlnb3RvIHN5bnRheDsK ICAgICAgIGlmIChnZmNfbWF0Y2hfb21wX2VvcyAoKSAhPSBNQVRDSF9ZRVMpCkBAIC00NTQ0 LDE2ICs0NTYwLDIwIEBAIGdmY19tYXRjaF9vbXBfZGVjbGFyZV90YXJnZXQgKHZvaWQpCiAK ICAgZ2ZjX2J1ZmZlcl9lcnJvciAoZmFsc2UpOwogCi0gIGZvciAobGlzdCA9IE9NUF9MSVNU X1RPOyBsaXN0ICE9IE9NUF9MSVNUX05VTTsKLSAgICAgICBsaXN0ID0gKGxpc3QgPT0gT01Q X0xJU1RfVE8gPyBPTVBfTElTVF9MSU5LIDogT01QX0xJU1RfTlVNKSkKKyAgZm9yIChsaXN0 ID0gT01QX0xJU1RfRU5URVI7IGxpc3QgIT0gT01QX0xJU1RfTlVNOworICAgICAgIGxpc3Qg PSAobGlzdCA9PSBPTVBfTElTVF9FTlRFUgorCSAgICAgICA/IE9NUF9MSVNUX1RPCisJICAg ICAgIDogKGxpc3QgPT0gT01QX0xJU1RfVE8gPyBPTVBfTElTVF9MSU5LIDogT01QX0xJU1Rf TlVNKSkpCiAgICAgZm9yIChuID0gYy0+bGlzdHNbbGlzdF07IG47IG4gPSBuLT5uZXh0KQog ICAgICAgaWYgKG4tPnN5bSkKIAluLT5zeW0tPm1hcmsgPSAwOwogICAgICAgZWxzZSBpZiAo bi0+dS5jb21tb24tPmhlYWQpCiAJbi0+dS5jb21tb24tPmhlYWQtPm1hcmsgPSAwOwogCi0g IGZvciAobGlzdCA9IE9NUF9MSVNUX1RPOyBsaXN0ICE9IE9NUF9MSVNUX05VTTsKLSAgICAg ICBsaXN0ID0gKGxpc3QgPT0gT01QX0xJU1RfVE8gPyBPTVBfTElTVF9MSU5LIDogT01QX0xJ U1RfTlVNKSkKKyAgZm9yIChsaXN0ID0gT01QX0xJU1RfRU5URVI7IGxpc3QgIT0gT01QX0xJ U1RfTlVNOworICAgICAgIGxpc3QgPSAobGlzdCA9PSBPTVBfTElTVF9FTlRFUgorCSAgICAg ICA/IE9NUF9MSVNUX1RPCisJICAgICAgIDogKGxpc3QgPT0gT01QX0xJU1RfVE8gPyBPTVBf TElTVF9MSU5LIDogT01QX0xJU1RfTlVNKSkpCiAgICAgZm9yIChuID0gYy0+bGlzdHNbbGlz dF07IG47IG4gPSBuLT5uZXh0KQogICAgICAgaWYgKG4tPnN5bSkKIAl7CkBAIC00NTY0LDE0 ICs0NTg0LDE0IEBAIGdmY19tYXRjaF9vbXBfZGVjbGFyZV90YXJnZXQgKHZvaWQpCiAJCSAg ICYmIG4tPnN5bS0+YXR0ci5vbXBfZGVjbGFyZV90YXJnZXRfbGluawogCQkgICAmJiBsaXN0 ICE9IE9NUF9MSVNUX0xJTkspCiAJICAgIGdmY19lcnJvcl9ub3cgKCJPTVAgREVDTEFSRSBU QVJHRVQgdmFyaWFibGUgYXQgJUwgcHJldmlvdXNseSAiCi0JCQkgICAibWVudGlvbmVkIGlu IExJTksgY2xhdXNlIGFuZCBsYXRlciBpbiBUTyBjbGF1c2UiLAotCQkJICAgJm4tPndoZXJl KTsKKwkJCSAgICJtZW50aW9uZWQgaW4gTElOSyBjbGF1c2UgYW5kIGxhdGVyIGluICVzIGNs YXVzZSIsCisJCQkgICAmbi0+d2hlcmUsIGxpc3QgPT0gT01QX0xJU1RfVE8gPyAiVE8iIDog IkVOVEVSIik7CiAJICBlbHNlIGlmIChuLT5zeW0tPmF0dHIub21wX2RlY2xhcmVfdGFyZ2V0 CiAJCSAgICYmICFuLT5zeW0tPmF0dHIub21wX2RlY2xhcmVfdGFyZ2V0X2xpbmsKIAkJICAg JiYgbGlzdCA9PSBPTVBfTElTVF9MSU5LKQogCSAgICBnZmNfZXJyb3Jfbm93ICgiT01QIERF Q0xBUkUgVEFSR0VUIHZhcmlhYmxlIGF0ICVMIHByZXZpb3VzbHkgIgotCQkJICAgIm1lbnRp b25lZCBpbiBUTyBjbGF1c2UgYW5kIGxhdGVyIGluIExJTksgY2xhdXNlIiwKLQkJCSAgICZu LT53aGVyZSk7CisJCQkgICAibWVudGlvbmVkIGluIFRPIG9yIEVOVEVSIGNsYXVzZSBhbmQg bGF0ZXIgaW4gIgorCQkJICAgIkxJTksgY2xhdXNlIiwgJm4tPndoZXJlKTsKIAkgIGVsc2Ug aWYgKG4tPnN5bS0+bWFyaykKIAkgICAgZ2ZjX2Vycm9yX25vdyAoIlZhcmlhYmxlIGF0ICVM IG1lbnRpb25lZCBtdWx0aXBsZSB0aW1lcyBpbiAiCiAJCQkgICAiY2xhdXNlcyBvZiB0aGUg c2FtZSBPTVAgREVDTEFSRSBUQVJHRVQgZGlyZWN0aXZlIiwKQEAgLTQ1OTgsMTQgKzQ2MTgs MTQgQEAgZ2ZjX21hdGNoX29tcF9kZWNsYXJlX3RhcmdldCAodm9pZCkKIAkgICAgICAgJiYg bi0+dS5jb21tb24tPm9tcF9kZWNsYXJlX3RhcmdldF9saW5rCiAJICAgICAgICYmIGxpc3Qg IT0gT01QX0xJU1RfTElOSykKIAlnZmNfZXJyb3Jfbm93ICgiT01QIERFQ0xBUkUgVEFSR0VU IENPTU1PTiBhdCAlTCBwcmV2aW91c2x5ICIKLQkJICAgICAgICJtZW50aW9uZWQgaW4gTElO SyBjbGF1c2UgYW5kIGxhdGVyIGluIFRPIGNsYXVzZSIsCi0JCSAgICAgICAmbi0+d2hlcmUp OworCQkgICAgICAgIm1lbnRpb25lZCBpbiBMSU5LIGNsYXVzZSBhbmQgbGF0ZXIgaW4gJXMg Y2xhdXNlIiwKKwkJICAgICAgICZuLT53aGVyZSwgbGlzdCA9PSBPTVBfTElTVF9UTyA/ICJU TyIgOiAiRU5URVIiKTsKICAgICAgIGVsc2UgaWYgKG4tPnUuY29tbW9uLT5vbXBfZGVjbGFy ZV90YXJnZXQKIAkgICAgICAgJiYgIW4tPnUuY29tbW9uLT5vbXBfZGVjbGFyZV90YXJnZXRf bGluawogCSAgICAgICAmJiBsaXN0ID09IE9NUF9MSVNUX0xJTkspCiAJZ2ZjX2Vycm9yX25v dyAoIk9NUCBERUNMQVJFIFRBUkdFVCBDT01NT04gYXQgJUwgcHJldmlvdXNseSAiCi0JCSAg ICAgICAibWVudGlvbmVkIGluIFRPIGNsYXVzZSBhbmQgbGF0ZXIgaW4gTElOSyBjbGF1c2Ui LAotCQkgICAgICAgJm4tPndoZXJlKTsKKwkJICAgICAgICJtZW50aW9uZWQgaW4gVE8gb3Ig RU5URVIgY2xhdXNlIGFuZCBsYXRlciBpbiAiCisJCSAgICAgICAiTElOSyBjbGF1c2UiLCAm bi0+d2hlcmUpOwogICAgICAgZWxzZSBpZiAobi0+dS5jb21tb24tPmhlYWQgJiYgbi0+dS5j b21tb24tPmhlYWQtPm1hcmspCiAJZ2ZjX2Vycm9yX25vdyAoIkNPTU1PTiBhdCAlTCBtZW50 aW9uZWQgbXVsdGlwbGUgdGltZXMgaW4gIgogCQkgICAgICAgImNsYXVzZXMgb2YgdGhlIHNh bWUgT01QIERFQ0xBUkUgVEFSR0VUIGRpcmVjdGl2ZSIsCkBAIC00NjM5LDcgKzQ2NTksMTAg QEAgZ2ZjX21hdGNoX29tcF9kZWNsYXJlX3RhcmdldCAodm9pZCkKIAkgICAgICBzLT5hdHRy Lm9tcF9kZXZpY2VfdHlwZSA9IGMtPmRldmljZV90eXBlOwogCSAgICB9CiAJfQotICBpZiAo Yy0+ZGV2aWNlX3R5cGUgJiYgIWMtPmxpc3RzW09NUF9MSVNUX1RPXSAmJiAhYy0+bGlzdHNb T01QX0xJU1RfTElOS10pCisgIGlmIChjLT5kZXZpY2VfdHlwZQorICAgICAgJiYgIWMtPmxp c3RzW09NUF9MSVNUX0VOVEVSXQorICAgICAgJiYgIWMtPmxpc3RzW09NUF9MSVNUX1RPXQor ICAgICAgJiYgIWMtPmxpc3RzW09NUF9MSVNUX0xJTktdKQogICAgIGdmY193YXJuaW5nX25v dyAoMCwgIk9NUCBERUNMQVJFIFRBUkdFVCBkaXJlY3RpdmUgYXQgJUwgd2l0aCBvbmx5ICIK IAkJCSJERVZJQ0VfVFlQRSBjbGF1c2UgaXMgaWdub3JlZCIsICZvbGRfbG9jKTsKIApAQCAt NjMzMSw3ICs2MzU0LDcgQEAgcmVzb2x2ZV9vbXBfY2xhdXNlcyAoZ2ZjX2NvZGUgKmNvZGUs IGdmY19vbXBfY2xhdXNlcyAqb21wX2NsYXVzZXMsCiAJIklOX1JFRFVDVElPTiIsICJUQVNL X1JFRFVDVElPTiIsCiAJIkRFVklDRV9SRVNJREVOVCIsICJMSU5LIiwgIlVTRV9ERVZJQ0Ui LAogCSJDQUNIRSIsICJJU19ERVZJQ0VfUFRSIiwgIlVTRV9ERVZJQ0VfUFRSIiwgIlVTRV9E RVZJQ0VfQUREUiIsCi0JIk5PTlRFTVBPUkFMIiwgIkFMTE9DQVRFIiwgIkhBU19ERVZJQ0Vf QUREUiIgfTsKKwkiTk9OVEVNUE9SQUwiLCAiQUxMT0NBVEUiLCAiSEFTX0RFVklDRV9BRERS IiwgIkVOVEVSIiB9OwogICBTVEFUSUNfQVNTRVJUIChBUlJBWV9TSVpFIChjbGF1c2VfbmFt ZXMpID09IE9NUF9MSVNUX05VTSk7CiAKICAgaWYgKG9tcF9jbGF1c2VzID09IE5VTEwpCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJn ZXQtMi5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJn ZXQtMi5mOTAKaW5kZXggMjIxN2VhYjA3ZTUuLjdhYzI1Yzg0NDgzIDEwMDY0NAotLS0gYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS10YXJnZXQtMi5mOTAKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFyZ2V0LTIuZjkw CkBAIC0xLDkgKzEsOSBAQAogISB7IGRnLWRvIGNvbXBpbGUgfQogCiBtb2R1bGUgZGVjbGFy ZV90YXJnZXRfMgotICAhJG9tcCBkZWNsYXJlIHRhcmdldCB0byAoYSkgbGluayAoYSkJISB7 IGRnLWVycm9yICJUTyBjbGF1c2UgYW5kIGxhdGVyIGluIExJTksiIH0KKyAgISRvbXAgZGVj bGFyZSB0YXJnZXQgdG8gKGEpIGxpbmsgKGEpCSEgeyBkZy1lcnJvciAiVE8gb3IgRU5URVIg Y2xhdXNlIGFuZCBsYXRlciBpbiBMSU5LIiB9CiAgICEkb21wIGRlY2xhcmUgdGFyZ2V0IChi KQotICAhJG9tcCBkZWNsYXJlIHRhcmdldCBsaW5rIChiKQkJISB7IGRnLWVycm9yICJUTyBj bGF1c2UgYW5kIGxhdGVyIGluIExJTksiIH0KKyAgISRvbXAgZGVjbGFyZSB0YXJnZXQgbGlu ayAoYikJCSEgeyBkZy1lcnJvciAiVE8gb3IgRU5URVIgY2xhdXNlIGFuZCBsYXRlciBpbiBM SU5LIiB9CiAgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGxpbmsgKGYpCiAgICEkb21wIGRlY2xh cmUgdGFyZ2V0IHRvIChmKQkJISB7IGRnLWVycm9yICJMSU5LIGNsYXVzZSBhbmQgbGF0ZXIg aW4gVE8iIH0KICAgISRvbXAgZGVjbGFyZSB0YXJnZXQoYywgYykJCSEgeyBkZy1lcnJvciAi bWVudGlvbmVkIG11bHRpcGxlIHRpbWVzIGluIGNsYXVzZXMgb2YgdGhlIHNhbWUiIH0KQEAg LTM5LDkgKzM5LDkgQEAgc3Vicm91dGluZSBmb28JCQkJISB7IGRnLWVycm9yICJhdHRyaWJ1 dGUgY29uZmxpY3RzIiB9CiAgICEkb21wIGRlY2xhcmUgdGFyZ2V0IHRvICgvYzIvKQogICAh JG9tcCBkZWNsYXJlIHRhcmdldCAoL2MyLykKICAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8o L2MyLykKLSAgISRvbXAgZGVjbGFyZSB0YXJnZXQgbGluaygvYzIvKQkhIHsgZGctZXJyb3Ig IlRPIGNsYXVzZSBhbmQgbGF0ZXIgaW4gTElOSyIgfQorICAhJG9tcCBkZWNsYXJlIHRhcmdl dCBsaW5rKC9jMi8pCSEgeyBkZy1lcnJvciAiVE8gb3IgRU5URVIgY2xhdXNlIGFuZCBsYXRl ciBpbiBMSU5LIiB9CiAgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGxpbmsoL2MzLykKLSAgISRv bXAgZGVjbGFyZSB0YXJnZXQgKC9jMy8pCQkhIHsgZGctZXJyb3IgIkxJTksgY2xhdXNlIGFu ZCBsYXRlciBpbiBUTyIgfQorICAhJG9tcCBkZWNsYXJlIHRhcmdldCAoL2MzLykJCSEgeyBk Zy1lcnJvciAiTElOSyBjbGF1c2UgYW5kIGxhdGVyIGluIEVOVEVSIiB9CiAgICEkb21wIGRl Y2xhcmUgdGFyZ2V0ICgvYzQvLCAvYzQvKQkhIHsgZGctZXJyb3IgIm1lbnRpb25lZCBtdWx0 aXBsZSB0aW1lcyBpbiBjbGF1c2VzIG9mIHRoZSBzYW1lIiB9CiAgICEkb21wIGRlY2xhcmUg dGFyZ2V0IHRvICgvYzQvKSB0bygvYzQvKSAhIHsgZGctZXJyb3IgIm1lbnRpb25lZCBtdWx0 aXBsZSB0aW1lcyBpbiBjbGF1c2VzIG9mIHRoZSBzYW1lIiB9CiAgICEkb21wIGRlY2xhcmUg dGFyZ2V0IGxpbmsgKC9jNS8pCkBAIC00OSwzICs0OSwxMyBAQCBzdWJyb3V0aW5lIGZvbwkJ CQkhIHsgZGctZXJyb3IgImF0dHJpYnV0ZSBjb25mbGljdHMiIH0KICAgISRvbXAgZGVjbGFy ZSB0YXJnZXQgbGluaygvYzUvKWxpbmsoL2M1LykgISB7IGRnLWVycm9yICJtZW50aW9uZWQg bXVsdGlwbGUgdGltZXMgaW4gY2xhdXNlcyBvZiB0aGUgc2FtZSIgfQogICAhJG9tcCBkZWNs YXJlIHRhcmdldCBsaW5rKC9jNS8sL2M1LykJISB7IGRnLWVycm9yICJtZW50aW9uZWQgbXVs dGlwbGUgdGltZXMgaW4gY2xhdXNlcyBvZiB0aGUgc2FtZSIgfQogZW5kIHN1YnJvdXRpbmUK KworbW9kdWxlIGRlY2xhcmVfdGFyZ2V0XzMKKyAgISRvbXAgZGVjbGFyZSB0YXJnZXQgZW50 ZXIgKGEpIGxpbmsgKGEpCSEgeyBkZy1lcnJvciAiVE8gb3IgRU5URVIgY2xhdXNlIGFuZCBs YXRlciBpbiBMSU5LIiB9CisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGxpbmsoYikgZW50ZXIo YikJISB7IGRnLWVycm9yICJUTyBvciBFTlRFUiBjbGF1c2UgYW5kIGxhdGVyIGluIExJTksi IH0KKyAgISRvbXAgZGVjbGFyZSB0YXJnZXQgdG8gKGMpIGVudGVyIChjKQkhIHsgZGctZXJy b3IgIm1lbnRpb25lZCBtdWx0aXBsZSB0aW1lcyBpbiBjbGF1c2VzIG9mIHRoZSBzYW1lIiB9 CisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGVudGVyIChkKSB0byAoZCkJISB7IGRnLWVycm9y ICJtZW50aW9uZWQgbXVsdGlwbGUgdGltZXMgaW4gY2xhdXNlcyBvZiB0aGUgc2FtZSIgfQor ICAhJG9tcCBkZWNsYXJlIHRhcmdldCBlbnRlciAoZSkgZW50ZXIgKGUpCSEgeyBkZy1lcnJv ciAibWVudGlvbmVkIG11bHRpcGxlIHRpbWVzIGluIGNsYXVzZXMgb2YgdGhlIHNhbWUiIH0K KyAgaW50ZWdlciwgc2F2ZSA6OiBhLCBiLCBjLCBkLCBlCitlbmQKKwpkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFyZ2V0LTQuZjkwIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFyZ2V0LTQuZjkwCmlu ZGV4IDg5NDdiODg3NTM0Li40ZjVkZTRiZDhjNyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtdGFyZ2V0LTQuZjkwCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXRhcmdldC00LmY5MApAQCAtMjEsNiAr MjEsMTAgQEAgc3Vicm91dGluZSBmNQogICAhJG9tcCBkZWNsYXJlIHRhcmdldCBkZXZpY2Vf dHlwZSAobm9ob3N0KSB0byAoZjUpCiBlbmQgc3Vicm91dGluZQogCitzdWJyb3V0aW5lIGY2 CisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGVudGVyIChmNikgZGV2aWNlX3R5cGUgKGFueSkK K2VuZCBzdWJyb3V0aW5lCisKIG1vZHVsZSBteW1vZAogICAhIGRldmljZV90eXBlIGlzIGln bm9yZWQgZm9yIHZhcmlhYmxlcyBpbiBPcGVuTVAgNS4wCiAgICEgYnV0IFRSOCBhbmQgbGF0 ZXIgYXBwbHkgdGhvc2UgcnVsZXMgdG8gdmFyaWFibGVzIGFzIHdlbGwKQEAgLTY5LDEzICs3 MywxNCBAQCBtb2R1bGUgbTIKICAgcHVibGljIDo6IG0sIG4sIG8sIHAsIHEsIHIsIHMsIHQs IHUsIHYsIHcsIHgKIGVuZCBtb2R1bGUgbTIKIAotISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVl LWR1bXAtdGltZXMgIm9tcCBkZWNsYXJlIHRhcmdldCIgNyAib3JpZ2luYWwiIH0gfQotISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChv bXAgZGVjbGFyZSB0YXJnZXQgXFwoZGV2aWNlX3R5cGVcXCgiIDcgIm9yaWdpbmFsIiB9IH0K KyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJvbXAgZGVjbGFyZSB0YXJn ZXQiIDggIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRp bWVzICJfX2F0dHJpYnV0ZV9fXFwoXFwob21wIGRlY2xhcmUgdGFyZ2V0IFxcKGRldmljZV90 eXBlXFwoIiA4ICJvcmlnaW5hbCIgfSB9CiAhIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cC1ub3QgIl9fYXR0cmlidXRlX19cXChcXChvbXAgZGVjbGFyZSB0YXJnZXQgXFteXG5cclxd KlxbXG5cclxddm9pZCBmMSIgIm9yaWdpbmFsIiB9IH0KICEgeyBkZy1maW5hbCB7IHNjYW4t dHJlZS1kdW1wLXRpbWVzICJfX2F0dHJpYnV0ZV9fXFwoXFwob21wIGRlY2xhcmUgdGFyZ2V0 IFxcKGRldmljZV90eXBlXFwoYW55XFwpXFwpXFwpXFwpXFtcblxyXV9fYXR0cmlidXRlX19c W15cblxyXStcW1xuXHJddm9pZCBmMiIgMSAib3JpZ2luYWwiIH0gfQogISB7IGRnLWZpbmFs IHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChvbXAgZGVjbGFy ZSB0YXJnZXQgXFwoZGV2aWNlX3R5cGVcXChhbnlcXClcXClcXClcXClcW1xuXHJdX19hdHRy aWJ1dGVfX1xbXlxuXHJdK1xbXG5cclxddm9pZCBmMyIgMSAib3JpZ2luYWwiIH0gfQogISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChv bXAgZGVjbGFyZSB0YXJnZXQgXFwoZGV2aWNlX3R5cGVcXChob3N0XFwpXFwpXFwpXFwpXFtc blxyXV9fYXR0cmlidXRlX19cW15cblxyXStcW1xuXHJcXXZvaWQgZjQiIDEgIm9yaWdpbmFs IiB9IH0KICEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJfX2F0dHJpYnV0 ZV9fXFwoXFwob21wIGRlY2xhcmUgdGFyZ2V0IFxcKGRldmljZV90eXBlXFwobm9ob3N0XFwp XFwpXFwpXFwpXFtcblxyXV9fYXR0cmlidXRlX19cW15cblxyXStcW1xuXHJcXXZvaWQgZjUi IDEgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVz ICJfX2F0dHJpYnV0ZV9fXFwoXFwob21wIGRlY2xhcmUgdGFyZ2V0IFxcKGRldmljZV90eXBl XFwoYW55XFwpXFwpXFwpXFwpXFtcblxyXV9fYXR0cmlidXRlX19cW15cblxyXStcW1xuXHJd dm9pZCBmNiIgMSAib3JpZ2luYWwiIH0gfQogISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChvbXAgZGVjbGFyZSB0YXJnZXQgXFwoZGV2 aWNlX3R5cGVcXChhbnlcXClcXClcXClcXClcW1xuXHJdX19hdHRyaWJ1dGVfX1xbXlxuXHJd K1xbXG5cclxddm9pZCBzMSIgMSAib3JpZ2luYWwiIH0gfQogISB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChvbXAgZGVjbGFyZSB0YXJn ZXQgXFwoZGV2aWNlX3R5cGVcXChub2hvc3RcXClcXClcXClcXClcW1xuXHJdX19hdHRyaWJ1 dGVfX1xbXlxuXHJdK1xbXG5cclxddm9pZCBzMiIgMSAib3JpZ2luYWwiIH0gfQogISB7IGRn LWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIl9fYXR0cmlidXRlX19cXChcXChvbXAg ZGVjbGFyZSB0YXJnZXQgXFwoZGV2aWNlX3R5cGVcXChob3N0XFwpXFwpXFwpXFwpXFtcblxy XV9fYXR0cmlidXRlX19cW15cblxyXStcW1xuXHJcXXZvaWQgczMiIDEgIm9yaWdpbmFsIiB9 IH0KZGlmZiAtLWdpdCBhL2xpYmdvbXAvbGliZ29tcC50ZXhpIGIvbGliZ29tcC9saWJnb21w LnRleGkKaW5kZXggNTZhYWI0NDk0YWQuLmZmMDJjY2Q0OTY5IDEwMDY0NAotLS0gYS9saWJn b21wL2xpYmdvbXAudGV4aQorKysgYi9saWJnb21wL2xpYmdvbXAudGV4aQpAQCAtMzY4LDcg KzM2OCw3IEBAIFRoZSBPcGVuTVAgNC41IHNwZWNpZmljYXRpb24gaXMgZnVsbHkgc3VwcG9y dGVkLgogQGl0ZW0gSWYgYSBtYXRjaGluZyBtYXBwZWQgbGlzdCBpdGVtIGlzIG5vdCBmb3Vu ZCBpbiB0aGUgZGF0YSBlbnZpcm9ubWVudCwgdGhlCiAgICAgICBwb2ludGVyIHJldGFpbnMg aXRzIG9yaWdpbmFsIHZhbHVlIEB0YWIgTiBAdGFiCiBAaXRlbSBOZXcgQGNvZGV7ZW50ZXJ9 IGNsYXVzZSBhcyBhbGlhcyBmb3IgQGNvZGV7dG99IG9uIGRlY2xhcmUgdGFyZ2V0IGRpcmVj dGl2ZQotICAgICAgQHRhYiBOIEB0YWIKKyAgICAgIEB0YWIgWSBAdGFiCiBAaXRlbSBEZXBy ZWNhdGlvbiBvZiBAY29kZXt0b30gY2xhdXNlIG9uIGRlY2xhcmUgdGFyZ2V0IGRpcmVjdGl2 ZSBAdGFiIE4gQHRhYgogQGl0ZW0gRXh0ZW5kZWQgbGlzdCBvZiBkaXJlY3RpdmVzIHBlcm1p dHRlZCBpbiBGb3J0cmFuIHB1cmUgcHJvY2VkdXJlcwogICAgICAgQHRhYiBOIEB0YWIKZGlm ZiAtLWdpdCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9kZWNsYXJlLXRh cmdldC0xLmY5MCBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9kZWNsYXJl LXRhcmdldC0xLmY5MAppbmRleCBmZDljMjZmZGU5NS4uZDlhYmY2ODVhNTQgMTAwNjQ0Ci0t LSBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9kZWNsYXJlLXRhcmdldC0x LmY5MAorKysgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vZGVjbGFyZS10 YXJnZXQtMS5mOTAKQEAgLTIsOCArMiwxMCBAQAogISB7IGRnLWFkZGl0aW9uYWwtc291cmNl cyBkZWNsYXJlLXRhcmdldC0yLmY5MCB9CiAKIG1vZHVsZSBkZWNsYXJlX3RhcmdldF8xX21v ZAotICBpbnRlZ2VyIDo6IHZhcl94CisgIGludGVnZXIgOjogdmFyX3gsIHZhcl95LCB2YXJf egogICAhJG9tcCBkZWNsYXJlIHRhcmdldCh2YXJfeCkKKyAgISRvbXAgZGVjbGFyZSB0YXJn ZXQgdG8odmFyX3kpCisgICEkb21wIGRlY2xhcmUgdGFyZ2V0IGVudGVyKHZhcl96KQogZW5k IG1vZHVsZSBkZWNsYXJlX3RhcmdldF8xX21vZAogCiAgIGludGVyZmFjZQpkaWZmIC0tZ2l0 IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LTIu ZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0 LTIuZjkwCmluZGV4IDg1ZmM2OGM2ZWRlLi4yMjEwZmM1YTUyZiAxMDA2NDQKLS0tIGEvbGli Z29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2RlY2xhcmUtdGFyZ2V0LTIuZjkwCisr KyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9kZWNsYXJlLXRhcmdldC0y LmY5MApAQCAtNywxMiArNywxOCBAQCBzdWJyb3V0aW5lIGZvbwogICB1c2UgZGVjbGFyZV90 YXJnZXRfMV9tb2QKIAogICB2YXJfeCA9IDEwCi0gICEkb21wIHRhcmdldCB1cGRhdGUgdG8o dmFyX3gpCisgIHZhcl95ID0gMjAKKyAgdmFyX3ogPSAzMAorICAhJG9tcCB0YXJnZXQgdXBk YXRlIHRvKHZhcl94LCB2YXJfeSwgdmFyX3opCiAKICAgISRvbXAgdGFyZ2V0CiAgICAgdmFy X3ggPSB2YXJfeCAqIDI7CisgICAgdmFyX3kgPSB2YXJfeSAqIDM7CisgICAgdmFyX3ogPSB2 YXJfeiAqIDQ7CiAgICEkb21wIGVuZCB0YXJnZXQKIAotICAhJG9tcCB0YXJnZXQgdXBkYXRl IGZyb20odmFyX3gpCisgICEkb21wIHRhcmdldCB1cGRhdGUgZnJvbSh2YXJfeCwgdmFyX3ks IHZhcl96KQogICBpZiAodmFyX3ggLz0gMjApIHN0b3AgMQorICBpZiAodmFyX3kgLz0gMjAq Mykgc3RvcCAyCisgIGlmICh2YXJfeiAvPSAzMCo0KSBzdG9wIDMKIGVuZCBzdWJyb3V0aW5l IGZvbwo= --------------mZQoo92xqKFQA8tXpbBpKuFw--