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 7EEF13858CD1; Wed, 31 May 2023 19:22:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7EEF13858CD1 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="6.00,207,1681200000"; d="diff'?scan'208";a="8190323" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 31 May 2023 11:22:30 -0800 IronPort-SDR: MIlh5RizXcfEr9aJjTypN2l+Bf9+7RGP2HmKGStkhEW48y66F+MQtZUiuRxJLjVL1liusCGy3l kPpQWPWiu4g9epOiRWH3SmYKhV1TekGIxyMn7cyST4dzfaYMyFHa+pMvxz09mPEcI01CRsYhFf Ysfokzjm/5ZYJjFJp68SqdB8LDt4QfRnpBWVMEF5VJX2ksc3xHlVW9BlNUfHCgqBukg2uxTA6J uastreoEBLRyEDRNYWEJPiSHWoNPGA+VER2AzpfRqmO/sz/0Ya4I8RYIW8FaCd+ehcRPtzdMUu s6Q= Content-Type: multipart/mixed; boundary="------------9rtDkDiIV08mEI00VAn2o5Yx" Message-ID: Date: Wed, 31 May 2023 21:22:15 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2 Content-Language: en-US To: gcc-patches , fortran From: Tobias Burnus Subject: [Patch] OpenMP/Fortran: Permit pure directives inside PURE X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.3 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 List-Id: --------------9rtDkDiIV08mEI00VAn2o5Yx Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable I intent to commit the attached patch soon. However, I want to give anyone the chance to comment on any aspect before committing. Comments after the commit are welcome as well :-) OpenMP 5.2 now uses properties to clauses and "pure" is among those propert= ies. Note that pure-2.f90 contains also stubs for directives only added in TR11 = or TR12 to reduce the chance of missing those once they get implemented. Additionally, 'scan' is 'pure' only since very recently - which I read as bug fix; hence, it is accepted with the attached patch. 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 --------------9rtDkDiIV08mEI00VAn2o5Yx Content-Type: text/x-patch; charset="UTF-8"; name="omp-pure.diff" Content-Disposition: attachment; filename="omp-pure.diff" Content-Transfer-Encoding: base64 T3Blbk1QL0ZvcnRyYW46IFBlcm1pdCBwdXJlIGRpcmVjdGl2ZXMgaW5zaWRlIFBVUkUKClVw ZGF0ZSBwZXJtaXR0ZWQgZGlyZWN0aXZlcyBmb3IgZGlyZWN0aXZlcyBtYXJrZWQgaW4gT3Bl bk1QJ3MgNS4yIGFzIHB1cmUuClRvIGVuc3VyZSB0aGF0IGxpc3QgaXMgdXBkYXRlZCwgdW5p bXBsZW1lbnRlZCBkaXJlY3RpdmVzIGFyZSBwbGFjZWQgaW50bwpwdXJlLTIuZjkwIHN1Y2gg dGhlIHRlc3QgRkFJTHMgb25jZSBhIGtub3duIHRvIGJlIHB1cmUgZGlyZWN0aXZlIGlzCmlt cGxlbWVudGVkIHdpdGhvdXQgaGFuZGxpbmcgaXRzIHB1cmVuZXNzLgoKZ2NjL2ZvcnRyYW4v Q2hhbmdlTG9nOgoKCSogcGFyc2UuY2MgKGRlY29kZV9vbXBfZGlyZWN0aXZlKTogQWNjZXB0 IGFsbCBwdXJlIGRpcmVjdGl2ZXMKCWluc2lkZSBhIFBVUkUgcHJvY2VkdXJlczsgaGFuZGxl ICdlcnJvciBhdChleGVjdXRpb24pLgoKbGliZ29tcC9DaGFuZ2VMb2c6CgoJKiBsaWJnb21w LnRleGkgKE9wZW5NUCA1LjIpOiBNYXJrIHB1cmUtZGlyZWN0aXZlIGhhbmRsaW5nIGFzICdZ Jy4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCSogZ2ZvcnRyYW4uZGcvZ29tcC9ub3Ro aW5nLTIuZjkwOiBSZW1vdmUgb25lIGRnLWVycm9yLgoJKiBnZm9ydHJhbi5kZy9nb21wL3By NzkxNTQtMi5mOTA6IFVwZGF0ZSBleHBlY3RlZCBkZy1lcnJvciB3b3JkaW5nLgoJKiBnZm9y dHJhbi5kZy9nb21wL3ByNzkxNTQtc2ltZC5mOTA6IExpa2V3aXNlLgoJKiBnZm9ydHJhbi5k Zy9nb21wL3B1cmUtMS5mOTA6IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9nb21wL3B1cmUt Mi5mOTA6IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9nb21wL3B1cmUtMy5mOTA6IE5ldyB0 ZXN0LgoJKiBnZm9ydHJhbi5kZy9nb21wL3B1cmUtNC5mOTA6IE5ldyB0ZXN0LgoKIGdjYy9m b3J0cmFuL3BhcnNlLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTAgKysrKysr KysrLS0tLS0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9ub3RoaW5nLTIuZjkw ICAgIHwgIDIgKy0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9wcjc5MTU0LTIu ZjkwICAgIHwgMjQgKysrLS0tLQogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3By NzkxNTQtc2ltZC5mOTAgfCAgMiArLQogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21w L3B1cmUtMS5mOTAgICAgICAgfCA4OCArKysrKysrKysrKysrKysrKysrKysrKysrCiBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcHVyZS0yLmY5MCAgICAgICB8IDczICsrKysr KysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcHVyZS0z LmY5MCAgICAgICB8IDMxICsrKysrKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9n b21wL3B1cmUtNC5mOTAgICAgICAgfCAzNSArKysrKysrKysrCiBsaWJnb21wL2xpYmdvbXAu dGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5n ZWQsIDI3NyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9n Y2MvZm9ydHJhbi9wYXJzZS5jYyBiL2djYy9mb3J0cmFuL3BhcnNlLmNjCmluZGV4IDk3MzBh YjA5NWUyLi43MzMyOTRjOGNmYSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vcGFyc2UuY2MK KysrIGIvZ2NjL2ZvcnRyYW4vcGFyc2UuY2MKQEAgLTkzNCw3ICs5MzQsMTYgQEAgZGVjb2Rl X29tcF9kaXJlY3RpdmUgKHZvaWQpCiAgICAgIGZpcnN0ICh0aG9zZSBhbHNvIHNoYWxsIG5v dCB0dXJuIG9mZiBpbXBsaWNpdCBwdXJlKS4gICovCiAgIHN3aXRjaCAoYykKICAgICB7Cisg ICAgY2FzZSAnYSc6CisgICAgICAvKiBGb3IgLWZvcGVubXAtc2ltZCwgaWdub3JlICdhc3N1 bWVzJzsgbm90ZSBubyBjbGF1c2Ugc3RhcnRzIHdpdGggJ3MnLiAqLworICAgICAgaWYgKCFm bGFnX29wZW5tcCAmJiBnZmNfbWF0Y2ggKCJhc3N1bWVzIikgPT0gTUFUQ0hfWUVTKQorCWJy ZWFrOworICAgICAgbWF0Y2hvICgiYXNzdW1lcyIsIGdmY19tYXRjaF9vbXBfYXNzdW1lcywg U1RfT01QX0FTU1VNRVMpOworICAgICAgbWF0Y2hzICgiYXNzdW1lIiwgZ2ZjX21hdGNoX29t cF9hc3N1bWUsIFNUX09NUF9BU1NVTUUpOworICAgICAgYnJlYWs7CiAgICAgY2FzZSAnZCc6 CisgICAgICBtYXRjaGRzICgiZGVjbGFyZSByZWR1Y3Rpb24iLCBnZmNfbWF0Y2hfb21wX2Rl Y2xhcmVfcmVkdWN0aW9uLAorCSAgICAgICBTVF9PTVBfREVDTEFSRV9SRURVQ1RJT04pOwog ICAgICAgbWF0Y2hkcyAoImRlY2xhcmUgc2ltZCIsIGdmY19tYXRjaF9vbXBfZGVjbGFyZV9z aW1kLAogCSAgICAgICBTVF9PTVBfREVDTEFSRV9TSU1EKTsKICAgICAgIG1hdGNoZG8gKCJk ZWNsYXJlIHRhcmdldCIsIGdmY19tYXRjaF9vbXBfZGVjbGFyZV90YXJnZXQsCkBAIC05NDIs MTYgKzk1MSwyNSBAQCBkZWNvZGVfb21wX2RpcmVjdGl2ZSAodm9pZCkKICAgICAgIG1hdGNo ZG8gKCJkZWNsYXJlIHZhcmlhbnQiLCBnZmNfbWF0Y2hfb21wX2RlY2xhcmVfdmFyaWFudCwK IAkgICAgICAgU1RfT01QX0RFQ0xBUkVfVkFSSUFOVCk7CiAgICAgICBicmVhazsKKyAgICBj YXNlICdlJzoKKyAgICAgIG1hdGNocyAoImVuZCBhc3N1bWUiLCBnZmNfbWF0Y2hfb21wX2Vv c19lcnJvciwgU1RfT01QX0VORF9BU1NVTUUpOworICAgICAgbWF0Y2hzICgiZW5kIHNpbWQi LCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwgU1RfT01QX0VORF9TSU1EKTsKKyAgICAgIG1h dGNobyAoImVycm9yIiwgZ2ZjX21hdGNoX29tcF9lcnJvciwgU1RfT01QX0VSUk9SKTsKKyAg ICAgIGJyZWFrOwogICAgIGNhc2UgJ3MnOgorICAgICAgbWF0Y2hzICgic2NhbiIsIGdmY19t YXRjaF9vbXBfc2NhbiwgU1RfT01QX1NDQU4pOwogICAgICAgbWF0Y2hzICgic2ltZCIsIGdm Y19tYXRjaF9vbXBfc2ltZCwgU1RfT01QX1NJTUQpOwogICAgICAgYnJlYWs7CisgICAgY2Fz ZSAnbic6CisgICAgICBtYXRjaG8gKCJub3RoaW5nIiwgZ2ZjX21hdGNoX29tcF9ub3RoaW5n LCBTVF9OT05FKTsKKyAgICAgIGJyZWFrOwogICAgIH0KIAogICBwdXJlX29rID0gZmFsc2U7 CiAgIGlmIChmbGFnX29wZW5tcCAmJiBnZmNfcHVyZSAoTlVMTCkpCiAgICAgewotICAgICAg Z2ZjX2Vycm9yX25vdyAoIk9wZW5NUCBkaXJlY3RpdmVzIG90aGVyIHRoYW4gU0lNRCBvciBE RUNMQVJFIFRBUkdFVCAiCi0JCSAgICAgImF0ICVDIG1heSBub3QgYXBwZWFyIGluIFBVUkUg cHJvY2VkdXJlcyIpOworICAgICAgZ2ZjX2Vycm9yX25vdyAoIk9wZW5NUCBkaXJlY3RpdmUg YXQgJUMgaXMgbm90IHB1cmUgYW5kIHRodXMgbWF5IG5vdCAiCisJCSAgICAgImFwcGVhciBp biBhIFBVUkUgcHJvY2VkdXJlIik7CiAgICAgICBnZmNfZXJyb3JfcmVjb3ZlcnkgKCk7CiAg ICAgICByZXR1cm4gU1RfTk9ORTsKICAgICB9CkBAIC05NjcsMTEgKzk4NSw2IEBAIGRlY29k ZV9vbXBfZGlyZWN0aXZlICh2b2lkKQogICAgICAgZWxzZQogCW1hdGNobyAoImFsbG9jYXRl IiwgZ2ZjX21hdGNoX29tcF9hbGxvY2F0ZSwgU1RfT01QX0FMTE9DQVRFKTsKICAgICAgIG1h dGNobyAoImFsbG9jYXRvcnMiLCBnZmNfbWF0Y2hfb21wX2FsbG9jYXRvcnMsIFNUX09NUF9B TExPQ0FUT1JTKTsKLSAgICAgIC8qIEZvciAtZm9wZW5tcC1zaW1kLCBpZ25vcmUgJ2Fzc3Vt ZXMnOyBub3RlIG5vIGNsYXVzZSBzdGFydHMgd2l0aCAncycuICovCi0gICAgICBpZiAoIWZs YWdfb3Blbm1wICYmIGdmY19tYXRjaCAoImFzc3VtZXMiKSA9PSBNQVRDSF9ZRVMpCi0JYnJl YWs7Ci0gICAgICBtYXRjaG8gKCJhc3N1bWVzIiwgZ2ZjX21hdGNoX29tcF9hc3N1bWVzLCBT VF9PTVBfQVNTVU1FUyk7Ci0gICAgICBtYXRjaHMgKCJhc3N1bWUiLCBnZmNfbWF0Y2hfb21w X2Fzc3VtZSwgU1RfT01QX0FTU1VNRSk7CiAgICAgICBtYXRjaG8gKCJhdG9taWMiLCBnZmNf bWF0Y2hfb21wX2F0b21pYywgU1RfT01QX0FUT01JQyk7CiAgICAgICBicmVhazsKICAgICBj YXNlICdiJzoKQEAgLTk4NCw4ICs5OTcsNiBAQCBkZWNvZGVfb21wX2RpcmVjdGl2ZSAodm9p ZCkKICAgICAgIG1hdGNobyAoImNyaXRpY2FsIiwgZ2ZjX21hdGNoX29tcF9jcml0aWNhbCwg U1RfT01QX0NSSVRJQ0FMKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgJ2QnOgotICAgICAg bWF0Y2hkcyAoImRlY2xhcmUgcmVkdWN0aW9uIiwgZ2ZjX21hdGNoX29tcF9kZWNsYXJlX3Jl ZHVjdGlvbiwKLQkgICAgICAgU1RfT01QX0RFQ0xBUkVfUkVEVUNUSU9OKTsKICAgICAgIG1h dGNobyAoImRlcG9iaiIsIGdmY19tYXRjaF9vbXBfZGVwb2JqLCBTVF9PTVBfREVQT0JKKTsK ICAgICAgIG1hdGNocyAoImRpc3RyaWJ1dGUgcGFyYWxsZWwgZG8gc2ltZCIsCiAJICAgICAg Z2ZjX21hdGNoX29tcF9kaXN0cmlidXRlX3BhcmFsbGVsX2RvX3NpbWQsCkBAIC05OTksOSAr MTAxMCw3IEBAIGRlY29kZV9vbXBfZGlyZWN0aXZlICh2b2lkKQogICAgICAgbWF0Y2hvICgi ZG8iLCBnZmNfbWF0Y2hfb21wX2RvLCBTVF9PTVBfRE8pOwogICAgICAgYnJlYWs7CiAgICAg Y2FzZSAnZSc6Ci0gICAgICBtYXRjaG8gKCJlcnJvciIsIGdmY19tYXRjaF9vbXBfZXJyb3Is IFNUX09NUF9FUlJPUik7CiAgICAgICBtYXRjaG8gKCJlbmQgYWxsb2NhdG9ycyIsIGdmY19t YXRjaF9vbXBfZW9zX2Vycm9yLCBTVF9PTVBfRU5EX0FMTE9DQVRPUlMpOwotICAgICAgbWF0 Y2hzICgiZW5kIGFzc3VtZSIsIGdmY19tYXRjaF9vbXBfZW9zX2Vycm9yLCBTVF9PTVBfRU5E X0FTU1VNRSk7CiAgICAgICBtYXRjaG8gKCJlbmQgYXRvbWljIiwgZ2ZjX21hdGNoX29tcF9l b3NfZXJyb3IsIFNUX09NUF9FTkRfQVRPTUlDKTsKICAgICAgIG1hdGNobyAoImVuZCBjcml0 aWNhbCIsIGdmY19tYXRjaF9vbXBfZW5kX2NyaXRpY2FsLCBTVF9PTVBfRU5EX0NSSVRJQ0FM KTsKICAgICAgIG1hdGNocyAoImVuZCBkaXN0cmlidXRlIHBhcmFsbGVsIGRvIHNpbWQiLCBn ZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwKQEAgLTEwMTQsNyArMTAyMyw2IEBAIGRlY29kZV9v bXBfZGlyZWN0aXZlICh2b2lkKQogICAgICAgbWF0Y2hzICgiZW5kIGRvIHNpbWQiLCBnZmNf bWF0Y2hfb21wX2VuZF9ub3dhaXQsIFNUX09NUF9FTkRfRE9fU0lNRCk7CiAgICAgICBtYXRj aG8gKCJlbmQgZG8iLCBnZmNfbWF0Y2hfb21wX2VuZF9ub3dhaXQsIFNUX09NUF9FTkRfRE8p OwogICAgICAgbWF0Y2hzICgiZW5kIGxvb3AiLCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwg U1RfT01QX0VORF9MT09QKTsKLSAgICAgIG1hdGNocyAoImVuZCBzaW1kIiwgZ2ZjX21hdGNo X29tcF9lb3NfZXJyb3IsIFNUX09NUF9FTkRfU0lNRCk7CiAgICAgICBtYXRjaG8gKCJlbmQg bWFza2VkIHRhc2tsb29wIHNpbWQiLCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwKIAkgICAg ICBTVF9PTVBfRU5EX01BU0tFRF9UQVNLTE9PUF9TSU1EKTsKICAgICAgIG1hdGNobyAoImVu ZCBtYXNrZWQgdGFza2xvb3AiLCBnZmNfbWF0Y2hfb21wX2Vvc19lcnJvciwKQEAgLTExNjAs NyArMTE2OCw2IEBAIGRlY29kZV9vbXBfZGlyZWN0aXZlICh2b2lkKQogICAgICAgbWF0Y2hv ICgicmVxdWlyZXMiLCBnZmNfbWF0Y2hfb21wX3JlcXVpcmVzLCBTVF9PTVBfUkVRVUlSRVMp OwogICAgICAgYnJlYWs7CiAgICAgY2FzZSAncyc6Ci0gICAgICBtYXRjaHMgKCJzY2FuIiwg Z2ZjX21hdGNoX29tcF9zY2FuLCBTVF9PTVBfU0NBTik7CiAgICAgICBtYXRjaG8gKCJzY29w ZSIsIGdmY19tYXRjaF9vbXBfc2NvcGUsIFNUX09NUF9TQ09QRSk7CiAgICAgICBtYXRjaG8g KCJzZWN0aW9ucyIsIGdmY19tYXRjaF9vbXBfc2VjdGlvbnMsIFNUX09NUF9TRUNUSU9OUyk7 CiAgICAgICBtYXRjaG8gKCJzZWN0aW9uIiwgZ2ZjX21hdGNoX29tcF9lb3NfZXJyb3IsIFNU X09NUF9TRUNUSU9OKTsKQEAgLTEyNDQsMTQgKzEyNTEsMjcgQEAgZGVjb2RlX29tcF9kaXJl Y3RpdmUgKHZvaWQpCiAgIHJldHVybiBTVF9OT05FOwogCiAgZmluaXNoOgorICBpZiAocmV0 ID09IFNUX09NUF9FUlJPUiAmJiBuZXdfc3QuZXh0Lm9tcF9jbGF1c2VzLT5hdCA9PSBPTVBf QVRfRVhFQ1VUSU9OKQorICAgIHsKKyAgICAgIGdmY191bnNldF9pbXBsaWNpdF9wdXJlIChO VUxMKTsKKworICAgICAgaWYgKGdmY19wdXJlIChOVUxMKSkKKwl7CisJICBnZmNfZXJyb3Jf bm93ICgiT3Blbk1QIEVSUk9SIGRpcmVjdGl2ZSBhdCAlTCB3aXRoICU8YXQoZXhlY3V0aW9u KSU+ICIKKwkJCSAiY2xhdXNlIGluIGEgUFVSRSBwcm9jZWR1cmUiLCAmb2xkX2xvY3VzKTsK KwkgIHJlamVjdF9zdGF0ZW1lbnQgKCk7CisJICBnZmNfZXJyb3JfcmVjb3ZlcnkgKCk7CisJ ICByZXR1cm4gU1RfTk9ORTsKKwl9CisgICAgfQogICBpZiAoIXB1cmVfb2spCiAgICAgewog ICAgICAgZ2ZjX3Vuc2V0X2ltcGxpY2l0X3B1cmUgKE5VTEwpOwogCiAgICAgICBpZiAoIWZs YWdfb3Blbm1wICYmIGdmY19wdXJlIChOVUxMKSkKIAl7Ci0JICBnZmNfZXJyb3Jfbm93ICgi T3Blbk1QIGRpcmVjdGl2ZXMgb3RoZXIgdGhhbiBTSU1EIG9yIERFQ0xBUkUgVEFSR0VUICIK LQkJCSAiYXQgJUMgbWF5IG5vdCBhcHBlYXIgaW4gUFVSRSBwcm9jZWR1cmVzIik7CisJICBn ZmNfZXJyb3Jfbm93ICgiT3Blbk1QIGRpcmVjdGl2ZSBhdCAlQyBpcyBub3QgcHVyZSBhbmQg dGh1cyBtYXkgbm90ICIKKwkJCSAiYXBwZWFyIGluIGEgUFVSRSBwcm9jZWR1cmUiKTsKIAkg IHJlamVjdF9zdGF0ZW1lbnQgKCk7CiAJICBnZmNfZXJyb3JfcmVjb3ZlcnkgKCk7CiAJICBy ZXR1cm4gU1RfTk9ORTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9ub3RoaW5nLTIuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL25v dGhpbmctMi5mOTAKaW5kZXggNTU0ZDRlZjk5Y2EuLjk0ZmEzYmJhNDcyIDEwMDY0NAotLS0g YS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm90aGluZy0yLmY5MAorKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbm90aGluZy0yLmY5MApAQCAtMSw1ICsx LDUgQEAKIHB1cmUgc3Vicm91dGluZSBmb28KLSAgISRvbXAgbm90aGluZyAgISB7IGRnLWVy cm9yICJPcGVuTVAgZGlyZWN0aXZlcyBvdGhlciB0aGFuIFNJTUQgb3IgREVDTEFSRSBUQVJH RVQgYXQgLjEuIG1heSBub3QgYXBwZWFyIGluIFBVUkUgcHJvY2VkdXJlcyIgfQorICAhJG9t cCBub3RoaW5nCiBlbmQgc3Vicm91dGluZQogCiBzdWJyb3V0aW5lIGJhcgpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3ByNzkxNTQtMi5mOTAgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcHI3OTE1NC0yLmY5MAppbmRleCAzOGQzZmU1 YzM4NC4uNmNlYWJjMmI1ZTYgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZ29tcC9wcjc5MTU0LTIuZjkwCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9wcjc5MTU0LTIuZjkwCkBAIC0zLDE0ICszLDE0IEBACiAKIHB1cmUgcmVhbCBmdW5j dGlvbiBmb28gKGEsIGIpCiAgIHJlYWwsIGludGVudChpbikgOjogYSwgYgotISRvbXAgdGFz a3dhaXQJCQkJISB7IGRnLWVycm9yICJtYXkgbm90IGFwcGVhciBpbiBQVVJFIiB9CishJG9t cCB0YXNrd2FpdAkJCQkhIHsgZGctZXJyb3IgIm1heSBub3QgYXBwZWFyIGluIGEgUFVSRSIg fQogICBmb28gPSBhICsgYgogZW5kIGZ1bmN0aW9uIGZvbwogcHVyZSBmdW5jdGlvbiBiYXIg KGEsIGIpCiAgIHJlYWwsIGludGVudChpbikgOjogYSg4KSwgYig4KQogICByZWFsIDo6IGJh cig4KQogICBpbnRlZ2VyIDo6IGkKLSEkb21wIGRvIHNpbWQJCQkJISB7IGRnLWVycm9yICJt YXkgbm90IGFwcGVhciBpbiBQVVJFIiB9CishJG9tcCBkbyBzaW1kCQkJCSEgeyBkZy1lcnJv ciAibWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJFIiB9CiAgIGRvIGkgPSAxLCA4CiAgICAgYmFy KGkpID0gYShpKSArIGIoaSkKICAgZW5kIGRvCkBAIC0xOSwzOCArMTksMzggQEAgcHVyZSBm dW5jdGlvbiBiYXogKGEsIGIpCiAgIHJlYWwsIGludGVudChpbikgOjogYSg4KSwgYig4KQog ICByZWFsIDo6IGJheig4KQogICBpbnRlZ2VyIDo6IGkKLSEkb21wIGRvCQkJCSEgeyBkZy1l cnJvciAibWF5IG5vdCBhcHBlYXIgaW4gUFVSRSIgfQorISRvbXAgZG8JCQkJISB7IGRnLWVy cm9yICJtYXkgbm90IGFwcGVhciBpbiBhIFBVUkUiIH0KICAgZG8gaSA9IDEsIDgKICAgICBi YXooaSkgPSBhKGkpICsgYihpKQogICBlbmQgZG8KLSEkb21wIGVuZCBkbwkJCQkhIHsgZGct ZXJyb3IgIm1heSBub3QgYXBwZWFyIGluIFBVUkUiIH0KKyEkb21wIGVuZCBkbwkJCQkhIHsg ZGctZXJyb3IgIm1heSBub3QgYXBwZWFyIGluIGEgUFVSRSIgfQogZW5kIGZ1bmN0aW9uIGJh egogcHVyZSByZWFsIGZ1bmN0aW9uIGJhejIgKGEsIGIpCiAgIHJlYWwsIGludGVudChpbikg OjogYSwgYgotISRvbXAgdGFyZ2V0IG1hcChmcm9tOmJhejIpCQkhIHsgZGctZXJyb3IgIm1h eSBub3QgYXBwZWFyIGluIFBVUkUiIH0KKyEkb21wIHRhcmdldCBtYXAoZnJvbTpiYXoyKQkJ ISB7IGRnLWVycm9yICJtYXkgbm90IGFwcGVhciBpbiBhIFBVUkUiIH0KICAgYmF6MiA9IGEg KyBiCi0hJG9tcCBlbmQgdGFyZ2V0CQkJISB7IGRnLWVycm9yICJtYXkgbm90IGFwcGVhciBp biBQVVJFIiB9CishJG9tcCBlbmQgdGFyZ2V0CQkJISB7IGRnLWVycm9yICJtYXkgbm90IGFw cGVhciBpbiBhIFBVUkUiIH0KIGVuZCBmdW5jdGlvbiBiYXoyCiAhIEVMRU1FTlRBTCBpbXBs aWVzIFBVUkUKIGVsZW1lbnRhbCByZWFsIGZ1bmN0aW9uIGZvb2UgKGEsIGIpCiAgIHJlYWws IGludGVudChpbikgOjogYSwgYgotISRvbXAgdGFza3lpZWxkCQkJCSEgeyBkZy1lcnJvciAi bWF5IG5vdCBhcHBlYXIgaW4gUFVSRSIgfQorISRvbXAgdGFza3lpZWxkCQkJCSEgeyBkZy1l cnJvciAibWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJFIiB9CiAgIGZvb2UgPSBhICsgYgogZW5k IGZ1bmN0aW9uIGZvb2UKIGVsZW1lbnRhbCByZWFsIGZ1bmN0aW9uIGJhemUgKGEsIGIpCiAg IHJlYWwsIGludGVudChpbikgOjogYSwgYgotISRvbXAgdGFyZ2V0IG1hcChmcm9tOmJheikJ CSEgeyBkZy1lcnJvciAibWF5IG5vdCBhcHBlYXIgaW4gUFVSRSIgfQorISRvbXAgdGFyZ2V0 IG1hcChmcm9tOmJheikJCSEgeyBkZy1lcnJvciAibWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJF IiB9CiAgIGJhemUgPSBhICsgYgotISRvbXAgZW5kIHRhcmdldAkJCSEgeyBkZy1lcnJvciAi bWF5IG5vdCBhcHBlYXIgaW4gUFVSRSIgfQorISRvbXAgZW5kIHRhcmdldAkJCSEgeyBkZy1l cnJvciAibWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJFIiB9CiBlbmQgZnVuY3Rpb24gYmF6ZQog ZWxlbWVudGFsIGltcHVyZSByZWFsIGZ1bmN0aW9uIGZvb2VpIChhLCBiKQogICByZWFsLCBp bnRlbnQoaW4pIDo6IGEsIGIKLSEkb21wIHRhc2t5aWVsZAkJCQkhIHsgZGctYm9ndXMgIm1h eSBub3QgYXBwZWFyIGluIFBVUkUiIH0KKyEkb21wIHRhc2t5aWVsZAkJCQkhIHsgZGctYm9n dXMgIm1heSBub3QgYXBwZWFyIGluIGEgUFVSRSIgfQogICBmb29lID0gYSArIGIKIGVuZCBm dW5jdGlvbiBmb29laQogZWxlbWVudGFsIGltcHVyZSByZWFsIGZ1bmN0aW9uIGJhemVpIChh LCBiKQogICByZWFsLCBpbnRlbnQoaW4pIDo6IGEsIGIKLSEkb21wIHRhcmdldCBtYXAoZnJv bTpiYXopCQkhIHsgZGctYm9ndXMgIm1heSBub3QgYXBwZWFyIGluIFBVUkUiIH0KKyEkb21w IHRhcmdldCBtYXAoZnJvbTpiYXopCQkhIHsgZGctYm9ndXMgIm1heSBub3QgYXBwZWFyIGlu IGEgUFVSRSIgfQogICBiYXplID0gYSArIGIKLSEkb21wIGVuZCB0YXJnZXQJCQkhIHsgZGct Ym9ndXMgIm1heSBub3QgYXBwZWFyIGluIFBVUkUiIH0KKyEkb21wIGVuZCB0YXJnZXQJCQkh IHsgZGctYm9ndXMgIm1heSBub3QgYXBwZWFyIGluIGEgUFVSRSIgfQogZW5kIGZ1bmN0aW9u IGJhemVpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcHI3 OTE1NC1zaW1kLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9wcjc5MTU0 LXNpbWQuZjkwCmluZGV4IGQ2YjcyZDZmM2RhLi5hNjYyNmIwM2ZiYSAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3ByNzkxNTQtc2ltZC5mOTAKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3ByNzkxNTQtc2ltZC5mOTAKQEAgLTgs NyArOCw3IEBAIGVuZAogcHVyZSBzdWJyb3V0aW5lIGZvbyhhLGIpCiAgIGludGVnZXIsIGlu dGVudChvdXQpIDo6IGEoNSkKICAgaW50ZWdlciwgaW50ZW50KGluKSA6OiBiKDUpCi0gICEk b21wIHRhcmdldCB0ZWFtcyBkaXN0cmlidXRlIHNpbWQgISB7IGRnLWVycm9yICJtYXkgbm90 IGFwcGVhciBpbiBQVVJFIHByb2NlZHVyZXMiIH0KKyAgISRvbXAgdGFyZ2V0IHRlYW1zIGRp c3RyaWJ1dGUgc2ltZCAhIHsgZGctZXJyb3IgIm1heSBub3QgYXBwZWFyIGluIGEgUFVSRSBw cm9jZWR1cmUiIH0KICAgZG8gaT0xLCA1CiAgICAgYShpKSA9IGIoaSkKICAgZW5kIGRvCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcHVyZS0xLmY5MCBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9wdXJlLTEuZjkwCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi41OThlNDU1ZDJlOQotLS0gL2Rldi9udWxs CisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9wdXJlLTEuZjkwCkBAIC0w LDAgKzEsODggQEAKKyEgVGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzIGFyZSBhbGwgJ3B1cmUn IGFuZCBzaG91bGQgY29tcGlsZQorCitwdXJlIGxvZ2ljYWwgZnVuY3Rpb24gZnVuY19hc3N1 bWUoaSkKKyAgaW1wbGljaXQgbm9uZQorICBpbnRlZ2VyLCB2YWx1ZSA6OiBpCisgICEkb21w IGFzc3VtZSBob2xkcyhpID4gNSkKKyAgICBmdW5jX2Fzc3VtZSA9IGkgPCAzCisgICEkb21w IGVuZCBhc3N1bWUKK2VuZAorCitwdXJlIGxvZ2ljYWwgZnVuY3Rpb24gZnVuY19hc3N1bWVz KCkKKyAgaW1wbGljaXQgbm9uZQorICAhJG9tcCBhc3N1bWVzIGFic2VudChwYXJhbGxlbCkK KyAgZnVuY19hc3N1bWVzID0gLmZhbHNlLgorZW5kCisKK3B1cmUgbG9naWNhbCBmdW5jdGlv biBmdW5jX3JlZHVjdGlvbigpCisgIGltcGxpY2l0IG5vbmUKKyAgISRvbXAgZGVjbGFyZSBy ZWR1Y3Rpb24gKGZvbyA6IGludGVnZXIgOiBvbXBfb3V0ID0gb21wX291dCArIG9tcF9pbikg aW5pdGlhbGl6ZXIgKG9tcF9wcml2ID0gMCkKKyAgZnVuY19yZWR1Y3Rpb24gPSAuZmFsc2Uu CitlbmQKKworcHVyZSBsb2dpY2FsIGZ1bmN0aW9uIGZ1bmNfZGVjbGFyZV9zaW1kKCkKKyAg aW1wbGljaXQgbm9uZQorICAhJG9tcCBkZWNsYXJlIHNpbWQKKyAgZnVuY19kZWNsYXJlX3Np bWQgPSAuZmFsc2UuCitlbmQKKworcHVyZSBsb2dpY2FsIGZ1bmN0aW9uIGZ1bmNfZGVjbGFy ZV90YXJnZXQoKQorICBpbXBsaWNpdCBub25lCisgICEkb21wIGRlY2xhcmUgdGFyZ2V0Cisg IGZ1bmNfZGVjbGFyZV90YXJnZXQgPSAuZmFsc2UuCitlbmQKKworcHVyZSBsb2dpY2FsIGZ1 bmN0aW9uIGZ1bmNfZXJyb3JfMSgpCisgIGltcGxpY2l0IG5vbmUKKyAgISRvbXAgZXJyb3Ig c2V2ZXJpdHkod2FybmluZykgICEgeyBkZy13YXJuaW5nICJPTVAgRVJST1IgZW5jb3VudGVy ZWQiIH0KKyAgZnVuY19lcnJvcl8xID0gLmZhbHNlLgorZW5kCisKK3B1cmUgbG9naWNhbCBm dW5jdGlvbiBmdW5jX2Vycm9yXzIoKQorICBpbXBsaWNpdCBub25lCisgICEkb21wIGVycm9y IHNldmVyaXR5KHdhcm5pbmcpIGF0KGNvbXBpbGF0aW9uKSAgISB7IGRnLXdhcm5pbmcgIk9N UCBFUlJPUiBlbmNvdW50ZXJlZCIgfQorICBmdW5jX2Vycm9yXzIgPSAuZmFsc2UuCitlbmQK KworcHVyZSBsb2dpY2FsIGZ1bmN0aW9uIGZ1bmNfZXJyb3JfMygpCisgIGltcGxpY2l0IG5v bmUKKyAgISRvbXAgZXJyb3Igc2V2ZXJpdHkod2FybmluZykgYXQoZXhlY3V0aW9uKSAgISB7 IGRnLWVycm9yICJPcGVuTVAgRVJST1IgZGlyZWN0aXZlIGF0IC4xLiB3aXRoICdhdFxcKGV4 ZWN1dGlvblxcKScgY2xhdXNlIGluIGEgUFVSRSBwcm9jZWR1cmUiIH0KKyAgZnVuY19lcnJv cl8zID0gLmZhbHNlLgorZW5kCisKK3B1cmUgbG9naWNhbCBmdW5jdGlvbiBmdW5jX25vdGhp bmcoKQorICBpbXBsaWNpdCBub25lCisgICEkb21wIG5vdGhpbmcKKyAgZnVuY19ub3RoaW5n ID0gLmZhbHNlLgorZW5kCisKK3B1cmUgbG9naWNhbCBmdW5jdGlvbiBmdW5jX3NjYW4obikK KyAgaW1wbGljaXQgbm9uZQorICBpbnRlZ2VyLCB2YWx1ZSA6OiBuCisgIGludGVnZXIgOjog aSwgcgorICBpbnRlZ2VyIDo6IEEobikKKyAgaW50ZWdlciA6OiBCKG4pCisgIEEgPSAwCisg IEIgPSAwCisgIHIgPSAwCisgICEkb21wIHNpbWQgcmVkdWN0aW9uIChpbnNjYW4sICs6cikK KyAgZG8gaSA9IDEsIDEwMjQKKyAgICByID0gciArIGEoaSkKKyAgICAhJG9tcCBzY2FuIGlu Y2x1c2l2ZShyKQorICAgIGIoaSkgPSBpCisgIGVuZCBkbworCisgIGZ1bmNfc2NhbiA9IGIo MSkgPT0gMworZW5kCisKK3B1cmUgaW50ZWdlciBmdW5jdGlvbiBmdW5jX3NpbWQobikKKyAg aW1wbGljaXQgbm9uZQorICBpbnRlZ2VyLCB2YWx1ZSA6OiBuCisgIGludGVnZXIgOjogaiwg cgorICByID0gMAorICAhJG9tcCBzaW1kIHJlZHVjdGlvbigrOnIpCisgIGRvIGogPSAxLCBu CisgICAgciA9IHIgKyBqCisgIGVuZCBkbworICBmdW5jX3NpbWQgPSByCitlbmQKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9wdXJlLTIuZjkwIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3B1cmUtMi5mOTAKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjFlM2NmOGM5NDE2Ci0tLSAvZGV2L251bGwKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3B1cmUtMi5mOTAKQEAgLTAsMCAr MSw3MyBAQAorISBUaGUgZm9sbG93aW5nIGRpcmVjdGl2ZXMgYXJlIGFsbCAncHVyZScgYW5k IHNob3VsZCBjb21waWxlCishIEhvd2V2ZXIsIHRoZXkgYXJlIG5vdCB5ZXQgaW1wbGVtZW50 ZWQuIE9uY2UgZG9uZSwgbW92ZSB0byBwdXJlLTEuZjkwCisKKyFwdXJlIGxvZ2ljYWwgZnVu Y3Rpb24gZnVuY19kZWNsYXJlX2luZHVjdGlvbigpCitsb2dpY2FsIGZ1bmN0aW9uIGZ1bmNf ZGVjbGFyZV9pbmR1Y3Rpb24oKQorICBpbXBsaWNpdCBub25lCisgICEgTm90IHF1aXRlIHJp Z2h0IGJ1dCBzaG91bGQgdHJpZ2dlciBhbiBkaWZmZXJlbnQgZXJyb3Igb25jZSBpbXBsZW1l bnRlZC4KKyAgISRvbXAgZGVjbGFyZSBpbmR1Y3Rpb24obmV4dCA6IChpbnRlZ2VyLCBpbnRl Z2VyKSkgICAmICAhIHsgZGctZXJyb3IgIlVuY2xhc3NpZmlhYmxlIE9wZW5NUCBkaXJlY3Rp dmUiIH0KKyAgISRvbXAmICAgICAgICBpbmR1Y3RvciAob21wX3ZhciA9IG9tcF92YXIob21w X3N0ZXApKSAmCisgICEkb21wJiAgICAgICAgY29sbGVjdG9yKG9tcF9zdGVwICogb21wX2lk eCkKKworICBmdW5jX2RlY2xhcmVfaW5kdWN0aW9uID0gLmZhbHNlLgorZW5kCisKKyFwdXJl IGxvZ2ljYWwgZnVuY3Rpb24gZnVuY19pbnRlcmNoYW5nZShuKQorbG9naWNhbCBmdW5jdGlv biBmdW5jX2ludGVyY2hhbmdlKG4pCisgIGltcGxpY2l0IG5vbmUKKyAgaW50ZWdlciwgdmFs dWUgOjogbgorICBpbnRlZ2VyIDo6IGksIGoKKyAgZnVuY19pbnRlcmNoYW5nZSA9IC5mYWxz ZS4KKyAgISRvbXAgaW50ZXJjaGFuZ2UgcGVybXV0YXRpb24oMiwxKSAhIHsgZGctZXJyb3Ig IlVuY2xhc3NpZmlhYmxlIE9wZW5NUCBkaXJlY3RpdmUiIH0KKyAgZG8gaSA9IDEsIG4KKyAg ICBkbyBqID0gMSwgbgorICAgICAgZnVuY19pbnRlcmNoYW5nZSA9IC5ub3QuIGZ1bmNfaW50 ZXJjaGFuZ2UKKyAgICBlbmQgZG8KKyAgZW5kIGRvCitlbmQKKworCishcHVyZSBsb2dpY2Fs IGZ1bmN0aW9uIGZ1bmNfbWV0YWRpcmVjdGl2ZSgpCitsb2dpY2FsIGZ1bmN0aW9uIGZ1bmNf bWV0YWRpcmVjdGl2ZSgpCisgIGltcGxpY2l0IG5vbmUKKyAgISRvbXAgbWV0YWRpcmVjdGl2 ZSAgISB7IGRnLWVycm9yICJVbmNsYXNzaWZpYWJsZSBPcGVuTVAgZGlyZWN0aXZlIiB9Cisg IGZ1bmNfbWV0YWRpcmVjdGl2ZSA9IC5mYWxzZS4KK2VuZAorCishcHVyZSBsb2dpY2FsIGZ1 bmN0aW9uIGZ1bmNfcmV2ZXJzZShuKQorbG9naWNhbCBmdW5jdGlvbiBmdW5jX3JldmVyc2Uo bikKKyAgaW1wbGljaXQgbm9uZQorICBpbnRlZ2VyLCB2YWx1ZSA6OiBuCisgIGludGVnZXIg OjogagorICBmdW5jX3JldmVyc2UgPSAuZmFsc2UuCisgICEkb21wIHJldmVyc2UgICEgeyBk Zy1lcnJvciAiVW5jbGFzc2lmaWFibGUgT3Blbk1QIGRpcmVjdGl2ZSIgfQorICBkbyBqID0g MSwgbgorICAgIGZ1bmNfcmV2ZXJzZSA9IC5ub3QuIGZ1bmNfcmV2ZXJzZQorICBlbmQgZG8K K2VuZAorCishcHVyZSBpbnRlZ2VyIGZ1bmN0aW9uIGZ1bmNfdW5yb2xsKG4pCitpbnRlZ2Vy IGZ1bmN0aW9uIGZ1bmNfdW5yb2xsKG4pCisgIGltcGxpY2l0IG5vbmUKKyAgaW50ZWdlciwg dmFsdWUgOjogbgorICBpbnRlZ2VyIDo6IGosIHIKKyAgciA9IDAKKyAgISRvbXAgdW5yb2xs IHBhcnRpYWwoMikgISB7IGRnLWVycm9yICJVbmNsYXNzaWZpYWJsZSBPcGVuTVAgZGlyZWN0 aXZlIiB9CisgIGRvIGogPSAxLCBuCisgICAgciA9IHIgKyBqCisgIGVuZCBkbworICBmdW5j X3Vucm9sbCA9IHIKK2VuZAorCishcHVyZSBpbnRlZ2VyIGZ1bmN0aW9uIGZ1bmNfdGlsZShu KQoraW50ZWdlciBmdW5jdGlvbiBmdW5jX3RpbGUobikKKyAgaW1wbGljaXQgbm9uZQorICBp bnRlZ2VyLCB2YWx1ZSA6OiBuCisgIGludGVnZXIgOjogaiwgcgorICByID0gMAorICAhJG9t cCB0aWxlIHNpemVzKDIpICEgeyBkZy1lcnJvciAiVW5jbGFzc2lmaWFibGUgT3Blbk1QIGRp cmVjdGl2ZSIgfQorICBkbyBqID0gMSwgbgorICAgIHIgPSByICsgagorICBlbmQgZG8KKyAg ZnVuY190aWxlID0gcgorZW5kCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2dvbXAvcHVyZS0zLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9w dXJlLTMuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44YzNj MzAwZGZiMgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9wdXJlLTMuZjkwCkBAIC0wLDAgKzEsMzEgQEAKKyEgeyBkZy1vcHRpb25zICItZm5v LW9wZW5tcCAtZm9wZW5tcC1zaW1kIiB9CisKKyEgSW52YWxpZCBjb21iaW5lZCBkaXJlY3Rp dmVzIHdpdGggU0lNRCBpbiBQVVJFCisKK3B1cmUgc3Vicm91dGluZSBzdWIxCisgIGltcGxp Y2l0IG5vbmUKKyAgaW50ZWdlciA6OiBpCisgICEkb21wIHRhcmdldCBkbyAgISBPSyAtIG5v dCBwYXJzZWQgYnkgLWZvcGVubXAtc2ltZAorICBkbyBpID0gMSwgNQorICBlbmQgZG8KKyAg ISRvbXAgZW5kIHRhcmdldAorZW5kCisKK3N1YnJvdXRpbmUgc3ViMgorICBpbXBsaWNpdCBu b25lCisgIGludGVnZXIgOjogaQorICAhJG9tcCB0YXJnZXQgc2ltZCAgISBPSyAtIG5vdCBw dXJlCisgIGRvIGkgPSAxLCA1CisgIGVuZCBkbworICAhJG9tcCBlbmQgdGFyZ2V0IHNpbWQK K2VuZAorCitwdXJlIHN1YnJvdXRpbmUgc3ViMworICBpbXBsaWNpdCBub25lCisgIGludGVn ZXIgOjogaQorICAhJG9tcCB0YXJnZXQgc2ltZCAgISB7IGRnLWVycm9yICJPcGVuTVAgZGly ZWN0aXZlIGF0IC4xLiBpcyBub3QgcHVyZSBhbmQgdGh1cyBtYXkgbm90IGFwcGVhciBpbiBh IFBVUkUgcHJvY2VkdXJlIiB9CisgIGRvIGkgPSAxLCA1CisgIGVuZCBkbworICAhJG9tcCBl bmQgdGFyZ2V0IHNpbWQgICEgeyBkZy1lcnJvciAiT3Blbk1QIGRpcmVjdGl2ZSBhdCAuMS4g aXMgbm90IHB1cmUgYW5kIHRodXMgbWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJFIHByb2NlZHVy ZSIgfQorZW5kCisKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29t cC9wdXJlLTQuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3B1cmUtNC5m OTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmEwM2NkZmI0MWNl Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3B1 cmUtNC5mOTAKQEAgLTAsMCArMSwzNSBAQAorcHVyZSBzdWJyb3V0aW5lIHN1YjEKKyAgaW1w bGljaXQgbm9uZQorICBpbnRlZ2VyIDo6IGkKKyAgISRvbXAgdGFyZ2V0IGRvICAhIHsgZGct ZXJyb3IgIk9wZW5NUCBkaXJlY3RpdmUgYXQgLjEuIGlzIG5vdCBwdXJlIGFuZCB0aHVzIG1h eSBub3QgYXBwZWFyIGluIGEgUFVSRSBwcm9jZWR1cmUiIH0KKyAgZG8gaSA9IDEsIDUKKyAg ZW5kIGRvCisgICEkb21wIGVuZCB0YXJnZXQgICEgeyBkZy1lcnJvciAiT3Blbk1QIGRpcmVj dGl2ZSBhdCAuMS4gaXMgbm90IHB1cmUgYW5kIHRodXMgbWF5IG5vdCBhcHBlYXIgaW4gYSBQ VVJFIHByb2NlZHVyZSIgfQorZW5kCisKK3N1YnJvdXRpbmUgc3ViMgorICBpbXBsaWNpdCBu b25lCisgIGludGVnZXIgOjogaQorICAhJG9tcCB0YXJnZXQgc2ltZCAgISBPSyAtIG5vdCBw dXJlCisgIGRvIGkgPSAxLCA1CisgIGVuZCBkbworICAhJG9tcCBlbmQgdGFyZ2V0IHNpbWQK K2VuZAorCitwdXJlIHN1YnJvdXRpbmUgc3ViMworICBpbXBsaWNpdCBub25lCisgIGludGVn ZXIgOjogaQorICAhJG9tcCB0YXJnZXQgc2ltZCAgISB7IGRnLWVycm9yICJPcGVuTVAgZGly ZWN0aXZlIGF0IC4xLiBpcyBub3QgcHVyZSBhbmQgdGh1cyBtYXkgbm90IGFwcGVhciBpbiBh IFBVUkUgcHJvY2VkdXJlIiB9CisgIGRvIGkgPSAxLCA1CisgIGVuZCBkbworICAhJG9tcCBl bmQgdGFyZ2V0IHNpbWQgICEgeyBkZy1lcnJvciAiT3Blbk1QIGRpcmVjdGl2ZSBhdCAuMS4g aXMgbm90IHB1cmUgYW5kIHRodXMgbWF5IG5vdCBhcHBlYXIgaW4gYSBQVVJFIHByb2NlZHVy ZSIgfQorZW5kCisKK3B1cmUgc3Vicm91dGluZSBzdWI0CisgIGltcGxpY2l0IG5vbmUKKyAg aW50ZWdlciA6OiBpCisgICEkb21wIGRvICAhIHsgZGctZXJyb3IgIk9wZW5NUCBkaXJlY3Rp dmUgYXQgLjEuIGlzIG5vdCBwdXJlIGFuZCB0aHVzIG1heSBub3QgYXBwZWFyIGluIGEgUFVS RSBwcm9jZWR1cmUiIH0KKyAgZG8gaSA9IDEsIDUKKyAgZW5kIGRvCisgICEkb21wIGVuZCBk byAgISB7IGRnLWVycm9yICJPcGVuTVAgZGlyZWN0aXZlIGF0IC4xLiBpcyBub3QgcHVyZSBh bmQgdGh1cyBtYXkgbm90IGFwcGVhciBpbiBhIFBVUkUgcHJvY2VkdXJlIiB9CitlbmQKZGlm ZiAtLWdpdCBhL2xpYmdvbXAvbGliZ29tcC50ZXhpIGIvbGliZ29tcC9saWJnb21wLnRleGkK aW5kZXggZGM2YjRhY2EzOGIuLjNlYTE3YTRjYmRiIDEwMDY0NAotLS0gYS9saWJnb21wL2xp YmdvbXAudGV4aQorKysgYi9saWJnb21wL2xpYmdvbXAudGV4aQpAQCAtMzg4LDcgKzM4OCw3 IEBAIHRvIGFkZHJlc3Mgb2YgbWF0Y2hpbmcgbWFwcGVkIGxpc3QgaXRlbSBwZXIgNS4xLCBT ZWN0LiAyLjIxLjcuMiBAdGFiIE4gQHRhYgogICAgICAgQHRhYiBZIEB0YWIKIEBpdGVtIERl cHJlY2F0aW9uIG9mIEBjb2Rle3RvfSBjbGF1c2Ugb24gZGVjbGFyZSB0YXJnZXQgZGlyZWN0 aXZlIEB0YWIgTiBAdGFiCiBAaXRlbSBFeHRlbmRlZCBsaXN0IG9mIGRpcmVjdGl2ZXMgcGVy bWl0dGVkIGluIEZvcnRyYW4gcHVyZSBwcm9jZWR1cmVzCi0gICAgICBAdGFiIE4gQHRhYgor ICAgICAgQHRhYiBZIEB0YWIKIEBpdGVtIE5ldyBAY29kZXthbGxvY2F0b3JzfSBkaXJlY3Rp dmUgZm9yIEZvcnRyYW4gQHRhYiBOIEB0YWIKIEBpdGVtIERlcHJlY2F0aW9uIG9mIEBjb2Rl e2FsbG9jYXRlfSBkaXJlY3RpdmUgZm9yIEZvcnRyYW4KICAgICAgIGFsbG9jYXRhYmxlcy9w b2ludGVycyBAdGFiIE4gQHRhYgo= --------------9rtDkDiIV08mEI00VAn2o5Yx--