Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qCcap-00030n-JW for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Jun 2023 08:56:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qCcao-0007XX-G3 for pgsql-hackers@arkaria.postgresql.org; Fri, 23 Jun 2023 08:56:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qCcao-0007XN-4d for pgsql-hackers@lists.postgresql.org; Fri, 23 Jun 2023 08:56:34 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qCcal-004BK1-Ac for pgsql-hackers@lists.postgresql.org; Fri, 23 Jun 2023 08:56:33 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id BD00D601A4 for ; Fri, 23 Jun 2023 17:56:26 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_d1080d7c6cc744c071fe4ecdf3e4491d" Content-Transfer-Encoding: 7bit Date: Fri, 23 Jun 2023 17:56:26 +0900 From: Masahiro Ikeda To: pgsql-hackers@lists.postgresql.org Subject: Re: Support to define custom wait events for extensions In-Reply-To: References: <135feae32cd28f9fb555fe46acb939a0@oss.nttdata.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: ikedamsh@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_d1080d7c6cc744c071fe4ecdf3e4491d Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi, I updated the patches to handle the warning mentioned by PostgreSQL Patch Tester, and removed unnecessary spaces. Regards, -- Masahiro Ikeda NTT DATA CORPORATION --=_d1080d7c6cc744c071fe4ecdf3e4491d Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v4-0002-Add-test-codes-for-custom-wait-events.patch Content-Disposition: attachment; filename=v4-0002-Add-test-codes-for-custom-wait-events.patch; size=12126 RnJvbSAxYmI3OGZhMmNiZTZiMDMwY2VhN2E1NzBiZWM4OGJkNGQ2OGYzMTRhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8bWFzYWhpcm8uaWtlZGEudXNAaGNv Lm50dC5jby5qcD4KRGF0ZTogRnJpLCAyMyBKdW4gMjAyMyAxNzozODozOCArMDkwMApTdWJqZWN0 OiBbUEFUQ0ggMi8yXSBBZGQgdGVzdCBjb2RlcyBmb3IgY3VzdG9tIHdhaXQgZXZlbnRzCgotLS0K IHNyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBz cmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4u L3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzLy5naXRpZ25vcmUgICAgICAgIHwgICAyICsKIC4uLi9t b2R1bGVzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzL01ha2VmaWxlICB8ICAyMyArKysKIC4uLi90 ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy9tZXNvbi5idWlsZCAgICAgICB8ICAzMyArKysrCiAuLi4v dGVzdF9jdXN0b21fd2FpdF9ldmVudHMvdC8wMDFfYmFzaWMucGwgICAgfCAgMzQgKysrKwogLi4u L3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzLS0xLjAuc3FsICAgICAgICAgIHwgIDE0ICsrCiAuLi4v dGVzdF9jdXN0b21fd2FpdF9ldmVudHMuYyAgICAgICAgICAgICAgICAgfCAxODIgKysrKysrKysr KysrKysrKysrCiAuLi4vdGVzdF9jdXN0b21fd2FpdF9ldmVudHMuY29udHJvbCAgICAgICAgICAg fCAgIDMgKwogOSBmaWxlcyBjaGFuZ2VkLCAyOTMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvLmdpdGlnbm9y ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9l dmVudHMvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rlc3Rf Y3VzdG9tX3dhaXRfZXZlbnRzL21lc29uLmJ1aWxkCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rl c3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy90LzAwMV9iYXNpYy5wbAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvdGVz dF9jdXN0b21fd2FpdF9ldmVudHMtLTEuMC5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVz dC9tb2R1bGVzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRz LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX3dhaXRf ZXZlbnRzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzLmNvbnRyb2wKCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9tb2R1bGVzL01ha2VmaWxlIGIvc3JjL3Rlc3QvbW9kdWxlcy9NYWtlZmlsZQppbmRleCA2 MzMxYzk3NmRjLi44NDMxMmI3ZTU3IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL01ha2Vm aWxlCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUKQEAgLTE3LDYgKzE3LDcgQEAgU1VC RElSUyA9IFwKIAkJICB0ZXN0X2Jsb29tZmlsdGVyIFwKIAkJICB0ZXN0X2NvcHlfY2FsbGJhY2tz IFwKIAkJICB0ZXN0X2N1c3RvbV9ybWdycyBcCisJCSAgdGVzdF9jdXN0b21fd2FpdF9ldmVudHMg XAogCQkgIHRlc3RfZGRsX2RlcGFyc2UgXAogCQkgIHRlc3RfZXh0ZW5zaW9ucyBcCiAJCSAgdGVz dF9naW5wb3N0aW5nbGlzdCBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1 aWxkIGIvc3JjL3Rlc3QvbW9kdWxlcy9tZXNvbi5idWlsZAppbmRleCAxN2QzNjllMzc4Li44M2Ex ZDhmZDE5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL21lc29uLmJ1aWxkCisrKyBiL3Ny Yy90ZXN0L21vZHVsZXMvbWVzb24uYnVpbGQKQEAgLTE0LDYgKzE0LDcgQEAgc3ViZGlyKCdzc2xf cGFzc3BocmFzZV9jYWxsYmFjaycpCiBzdWJkaXIoJ3Rlc3RfYmxvb21maWx0ZXInKQogc3ViZGly KCd0ZXN0X2NvcHlfY2FsbGJhY2tzJykKIHN1YmRpcigndGVzdF9jdXN0b21fcm1ncnMnKQorc3Vi ZGlyKCd0ZXN0X2N1c3RvbV93YWl0X2V2ZW50cycpCiBzdWJkaXIoJ3Rlc3RfZGRsX2RlcGFyc2Un KQogc3ViZGlyKCd0ZXN0X2V4dGVuc2lvbnMnKQogc3ViZGlyKCd0ZXN0X2dpbnBvc3RpbmdsaXN0 JykKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMv LmdpdGlnbm9yZSBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvLmdp dGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi43MTZlMTdmNWEy Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2 ZW50cy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMiBAQAorIyBHZW5lcmF0ZWQgc3ViZGlyZWN0b3Jp ZXMKKy90bXBfY2hlY2svCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9t X3dhaXRfZXZlbnRzL01ha2VmaWxlIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0 X2V2ZW50cy9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5k ZGEzNjVkNTIzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3Rv bV93YWl0X2V2ZW50cy9NYWtlZmlsZQpAQCAtMCwwICsxLDIzIEBACisjIHNyYy90ZXN0L21vZHVs ZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvTWFrZWZpbGUKKworTU9EVUxFX2JpZyA9IHRlc3Rf Y3VzdG9tX3dhaXRfZXZlbnRzCitPQkpTID0gXAorCSQoV0lOMzJSRVMpIFwKKwl0ZXN0X2N1c3Rv bV93YWl0X2V2ZW50cy5vCitQR0ZJTEVERVNDID0gInRlc3RfY3VzdG9tX3dhaXRfZXZlbnRzIC0g dGVzdCBjdXN0b20gd2FpdCBldmVudHMiCisKK0VYVEVOU0lPTiA9IHRlc3RfY3VzdG9tX3dhaXRf ZXZlbnRzCitEQVRBID0gdGVzdF9jdXN0b21fd2FpdF9ldmVudHMtLTEuMC5zcWwKKworVEFQX1RF U1RTID0gMQorCitpZmRlZiBVU0VfUEdYUworUEdfQ09ORklHID0gcGdfY29uZmlnCitQR1hTIDo9 ICQoc2hlbGwgJChQR19DT05GSUcpIC0tcGd4cykKK2luY2x1ZGUgJChQR1hTKQorZWxzZQorc3Vi ZGlyID0gc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cwordG9wX2J1aWxk ZGlyID0gLi4vLi4vLi4vLi4KK2luY2x1ZGUgJCh0b3BfYnVpbGRkaXIpL3NyYy9NYWtlZmlsZS5n bG9iYWwKK2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb250cmliL2NvbnRyaWItZ2xvYmFsLm1rCitl bmRpZgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50 cy9tZXNvbi5idWlsZCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMv bWVzb24uYnVpbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOGFkMDcz ZTU3NwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2Fp dF9ldmVudHMvbWVzb24uYnVpbGQKQEAgLTAsMCArMSwzMyBAQAorIyBDb3B5cmlnaHQgKGMpIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisKK3Rlc3RfY3VzdG9tX3dhaXRfZXZl bnRzID0gZmlsZXMoCisgICd0ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy5jJywKKykKKworaWYgaG9z dF9zeXN0ZW0gPT0gJ3dpbmRvd3MnCisgIHRlc3RfY3VzdG9tX3dhaXRfZXZlbnRzICs9IHJjX2xp Yl9nZW4ucHJvY2Vzcyh3aW4zMnZlcl9yYywgZXh0cmFfYXJnczogWworICAgICctLU5BTUUnLCAn dGVzdF9jdXN0b21fd2FpdF9ldmVudHMnLAorICAgICctLUZJTEVERVNDJywgJ3Rlc3RfY3VzdG9t X3dhaXRfZXZlbnRzIC0gdGVzdCBjdXN0b20gd2FpdCBldmVudHMnLF0pCitlbmRpZgorCit0ZXN0 X2N1c3RvbV93YWl0X2V2ZW50cyA9IHNoYXJlZF9tb2R1bGUoJ3Rlc3RfY3VzdG9tX3dhaXRfZXZl bnRzJywKKyAgdGVzdF9jdXN0b21fd2FpdF9ldmVudHMsCisgIGt3YXJnczogcGdfdGVzdF9tb2Rf YXJncywKKykKK3Rlc3RfaW5zdGFsbF9saWJzICs9IHRlc3RfY3VzdG9tX3dhaXRfZXZlbnRzCisK K3Rlc3RfaW5zdGFsbF9kYXRhICs9IGZpbGVzKAorICAndGVzdF9jdXN0b21fd2FpdF9ldmVudHMu Y29udHJvbCcsCisgICd0ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy0tMS4wLnNxbCcsCispCisKK3Rl c3RzICs9IHsKKyAgJ25hbWUnOiAndGVzdF9jdXN0b21fd2FpdF9ldmVudHMnLAorICAnc2QnOiBt ZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgJ2JkJzogbWVzb24uY3VycmVudF9idWlsZF9k aXIoKSwKKyAgJ3RhcCc6IHsKKyAgICAndGVzdHMnOiBbCisgICAgICAndC8wMDFfYmFzaWMucGwn LAorICAgIF0sCisgIH0sCit9CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3Vz dG9tX3dhaXRfZXZlbnRzL3QvMDAxX2Jhc2ljLnBsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1 c3RvbV93YWl0X2V2ZW50cy90LzAwMV9iYXNpYy5wbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi5iNDNjODJhNzEzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9k dWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy90LzAwMV9iYXNpYy5wbApAQCAtMCwwICsxLDM0 IEBACisjIENvcHlyaWdodCAoYykgMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQg R3JvdXAKKwordXNlIHN0cmljdDsKK3VzZSB3YXJuaW5nczsKKwordXNlIFBvc3RncmVTUUw6OlRl c3Q6OkNsdXN0ZXI7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM7Cit1c2UgVGVzdDo6TW9y ZTsKKworbXkgJG5vZGUgPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ21haW4nKTsK KworJG5vZGUtPmluaXQ7Ciskbm9kZS0+YXBwZW5kX2NvbmYoCisJJ3Bvc3RncmVzcWwuY29uZics CisJInNoYXJlZF9wcmVsb2FkX2xpYnJhcmllcyA9ICd0ZXN0X2N1c3RvbV93YWl0X2V2ZW50cyci CispOworJG5vZGUtPnN0YXJ0OworCisjIHNldHVwCiskbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICdDUkVBVEUgRVhURU5TSU9OIHRlc3RfY3VzdG9tX3dhaXRfZXZlbnRzOycpOworCiskbm9k ZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICdTRUxFQ1Qgd2FpdF93b3JrZXJfbGF1bmNoKCk7Jyk7 CisKK29rKCRub2RlLT5wb2xsX3F1ZXJ5X3VudGlsKCdwb3N0Z3JlcycsCisJcXFbU0VMRUNUCisJ CShTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19zdGF0X2FjdGl2aXR5CisJCQlXSEVSRSBiYWNrZW5k X3R5cGUgPSAndGVzdF9jdXN0b21fd2FpdF9ldmVudHMnCisJCQkgIEFORCB3YWl0X2V2ZW50X3R5 cGUgPSAnRXh0ZW5zaW9uJworCQkJICBBTkQgd2FpdF9ldmVudCA9ICdjdXN0b21fd2FpdF9ldmVu dCcKKwkJKSA+IDA7XSkKKykgb3IgZGllICJUaW1lZCBvdXQgd2FpdGluZyB0aGUgY3VzdG9tIHdh aXQgZXZlbnQgdG8gYmUgc2hvd2VkIHVwIjsKKworJG5vZGUtPnN0b3A7Citkb25lX3Rlc3Rpbmco KTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzLS0xLjAu c3FsIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy90ZXN0X2N1c3Rv bV93YWl0X2V2ZW50cy0tMS4wLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi4xZmMyMTMwZjg0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0 X2N1c3RvbV93YWl0X2V2ZW50cy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy0tMS4wLnNxbApAQCAt MCwwICsxLDE0IEBACisvKiBzcmMvdGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRz L3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzLS0xLjAuc3FsICovCisKKy0tIGNvbXBsYWluIGlmIHNj cmlwdCBpcyBzb3VyY2VkIGluIHBzcWwsIHJhdGhlciB0aGFuIHZpYSBDUkVBVEUgRVhURU5TSU9O CitcZWNobyBVc2UgIkNSRUFURSBFWFRFTlNJT04gdGVzdF9jdXN0b21fd2FpdF9ldmVudHMiIHRv IGxvYWQgdGhpcyBmaWxlLiBccXVpdAorCistLQorLS0gd2FpdF93b3JrZXJfbGF1bmNoKCkKKy0t CistLSBMYXVuY2ggYSBiYWNrZ3JvdW5kIHdvcmtlciB0byB3YWl0IGZvcmV2ZXIgd2l0aCBhIGN1 c3RvbSB3YWl0IGV2ZW50LgorLS0KK0NSRUFURSBGVU5DVElPTiB3YWl0X3dvcmtlcl9sYXVuY2go KQorUkVUVVJOUyBpbnQKK0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnd2FpdF93b3JrZXJfbGF1bmNo JworTEFOR1VBR0UgQyBTVFJJQ1QgUEFSQUxMRUwgU0FGRTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMu YyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvdGVzdF9jdXN0b21f d2FpdF9ldmVudHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi42YTQ3 NjY1NTI0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2N1c3RvbV93 YWl0X2V2ZW50cy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy5jCkBAIC0wLDAgKzEsMTgyIEBACisv Ki0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogdGVzdF9jdXN0b21fd2FpdF9ldmVudHMuYworICoJ CUNvZGUgZm9yIHRlc3RpbmcgY3VzdG9tIHdhaXQgZXZlbnRzCisgKgorICogVGhpcyBjb2RlIGlu aXRpYWxpemVzIGEgY3VzdG9tIHdhaXQgZXZlbnQgaW4gc2htZW1fcmVxdWVzdF9ob29rKCkgYW5k CisgKiBwcm92aWRlIGEgZnVuY3Rpb24gdG8gbGF1bmNoIGEgYmFja2dyb3VuZCB3b3JrZXIgd2Fp dGluZyBmb3JldmVyCisgKiB3aXRoIHRoZSBjdXN0b20gd2FpdCBldmVudC4KKyAqCisgKiBQb3J0 aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMywgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1l bnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUg VW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICogSURFTlRJRklDQVRJT04KKyAqCQlzcmMv dGVzdC9tb2R1bGVzL3Rlc3RfY3VzdG9tX3dhaXRfZXZlbnRzL3Rlc3RfY3VzdG9tX3dhaXRfZXZl bnRzLmMKKyAqCisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKworI2luY2x1ZGUgInBvc3RncmVz LmgiCisKKyNpbmNsdWRlICJmbWdyLmgiCisjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVk ZSAicG9zdG1hc3Rlci9iZ3dvcmtlci5oIgorI2luY2x1ZGUgInBvc3RtYXN0ZXIvaW50ZXJydXB0 LmgiCisjaW5jbHVkZSAic3RvcmFnZS9pcGMuaCIKKyNpbmNsdWRlICJzdG9yYWdlL2xhdGNoLmgi CisjaW5jbHVkZSAic3RvcmFnZS9sd2xvY2suaCIKKyNpbmNsdWRlICJzdG9yYWdlL3Byb2MuaCIK KyNpbmNsdWRlICJzdG9yYWdlL3NobWVtLmgiCisjaW5jbHVkZSAidGNvcC91dGlsaXR5LmgiCisj aW5jbHVkZSAidXRpbHMvd2FpdF9ldmVudC5oIgorCitQR19NT0RVTEVfTUFHSUM7CisKK1BHX0ZV TkNUSU9OX0lORk9fVjEod2FpdF93b3JrZXJfbGF1bmNoKTsKKworUEdETExFWFBPUlQgdm9pZCB3 b3JrZXJfbWFpbihEYXR1bSBtYWluX2FyZyk7CisKKy8qIEdVQyB2YXJpYWJsZXMgKi8KK3R5cGVk ZWYgc3RydWN0IHN0YXRlCit7CisJdWludDMyCQkJd2FpdF9ldmVudF9pbmZvOyAgLyogYSBhbGxv Y2F0ZWQgd2FpdCBldmVudCAqLworfQkJCXN0YXRlOworCitzdGF0aWMgc2htZW1fcmVxdWVzdF9o b29rX3R5cGUgcHJldl9zaG1lbV9yZXF1ZXN0X2hvb2sgPSBOVUxMOworc3RhdGljIHNobWVtX3Jl cXVlc3RfaG9va190eXBlIHByZXZfc2htZW1fc3RhcnR1cF9ob29rID0gTlVMTDsKKworc3RhdGlj IGNoYXIgKiB3b3JrZXJfZGF0YWJhc2UgPSAicG9zdGdyZXMiOyAgIC8qIGNvbm5lY3RlZCBieSBh IGJhY2tncm91bmQgd29ya2VyICovCitzdGF0aWMgc3RhdGUgKiBzcyA9IE5VTEw7CisKK3N0YXRp YyB2b2lkIHNobWVtX3JlcXVlc3Qodm9pZCk7CitzdGF0aWMgdm9pZCBzaG1lbV9zdGFydHVwKHZv aWQpOworc3RhdGljIFNpemUgbWVtc2l6ZSh2b2lkKTsKKwordm9pZAorX1BHX2luaXQodm9pZCkK K3sKKwlpZiAoIXByb2Nlc3Nfc2hhcmVkX3ByZWxvYWRfbGlicmFyaWVzX2luX3Byb2dyZXNzKQor CQlyZXR1cm47CisKKwlwcmV2X3NobWVtX3JlcXVlc3RfaG9vayA9IHNobWVtX3JlcXVlc3RfaG9v azsKKwlzaG1lbV9yZXF1ZXN0X2hvb2sgPSBzaG1lbV9yZXF1ZXN0OworCXByZXZfc2htZW1fc3Rh cnR1cF9ob29rID0gc2htZW1fc3RhcnR1cF9ob29rOworCXNobWVtX3N0YXJ0dXBfaG9vayA9IHNo bWVtX3N0YXJ0dXA7Cit9CisKK3N0YXRpYyB2b2lkCitzaG1lbV9yZXF1ZXN0KHZvaWQpCit7CisJ aWYgKHByZXZfc2htZW1fcmVxdWVzdF9ob29rKQorCQlwcmV2X3NobWVtX3JlcXVlc3RfaG9vaygp OworCisJUmVxdWVzdEFkZGluU2htZW1TcGFjZShtZW1zaXplKCkpOworfQorCitzdGF0aWMgU2l6 ZQorbWVtc2l6ZSh2b2lkKQoreworCXJldHVybiBzaXplb2Yoc3RhdGUpOworfQorCisvKgorICog QWxsb2NhdGUgYW5kIHJlZ2lzdGVyIGEgbmV3IHdhaXQgZXZlbnQuCisgKgorICogVGhpcyByb3V0 aW5lIGFsbG9jYXRlIGEgd2FpdCBldmVudCBpZCB3aGVuIGl0J3MgY2FsbGVkIGZpcnN0IHRpbWUu CisgKiBBZnRlciB0aGF0LCB0aGUgbmFtZSBvZiB0aGUgd2FpdCBldmVudCBpcyBhc3NvY2lhdGVk IHdpdGggdGhlIGlkLiBJdCdzCisgKiByZWdpc3RlcmVkIGluIHRoZSBsb29rdXAgdGFibGUgb2Yg ZWFjaCBwcm9jZXNzZXMgZHluYW1pY2FsbHkuCisgKi8KK3N0YXRpYyB2b2lkCitzaG1lbV9zdGFy dHVwKHZvaWQpCit7CisJYm9vbAkJZm91bmQ7CisKKwlpZiAocHJldl9zaG1lbV9zdGFydHVwX2hv b2spCisJCXByZXZfc2htZW1fc3RhcnR1cF9ob29rKCk7CisKKwlzcyA9IE5VTEw7CisKKwkvKiBD cmVhdGUgb3IgYXR0YWNoIHRvIHRoZSBzaGFyZWQgbWVtb3J5IHN0YXRlICovCisJTFdMb2NrQWNx dWlyZShBZGRpblNobWVtSW5pdExvY2ssIExXX0VYQ0xVU0lWRSk7CisJc3MgPSBTaG1lbUluaXRT dHJ1Y3QoImN1c3RvbV93YWl0X2V2ZW50IiwKKwkJCQkJCSBzaXplb2Yoc3RhdGUpLAorCQkJCQkJ ICZmb3VuZCk7CisKKwkvKiBBbGxvY2F0ZSBhIG5ldyB3YWl0IGV2ZW50LiAqLworCWlmICghZm91 bmQpCisJCXNzLT53YWl0X2V2ZW50X2luZm8gPSBFeHRlbnNpb25XYWl0RXZlbnROZXdUcmFuY2hl KCk7CisKKwlMV0xvY2tSZWxlYXNlKEFkZGluU2htZW1Jbml0TG9jayk7CisKKwkvKgorCSAqIFJl Z2lzdGVyIHRoZSB3YWl0IGV2ZW50IGluIHRoZSBsb29rdXAgdGFibGUgb2YgdGhlIGN1cnJlbnQg cHJvY2Vzcy4KKwkgKi8KKwlFeHRlbnNpb25XYWl0RXZlbnRSZWdpc3RlclRyYW5jaGUoc3MtPndh aXRfZXZlbnRfaW5mbywgImN1c3RvbV93YWl0X2V2ZW50Iik7CisKKwlyZXR1cm47Cit9CisKKy8q CisgKiBDb25uZWN0IHRvIHRoZSBkYXRhYmFzZSBhbmQgd2FpdCBmb3JldmVyIHdpdGggdGhlIGN1 c3RvbSB3YWl0IGV2ZW50CisgKi8KK3ZvaWQKK3dvcmtlcl9tYWluKERhdHVtIG1haW5fYXJnKQor eworCXBxc2lnbmFsKFNJR1RFUk0sIFNpZ25hbEhhbmRsZXJGb3JTaHV0ZG93blJlcXVlc3QpOwor CUJhY2tncm91bmRXb3JrZXJVbmJsb2NrU2lnbmFscygpOworCisJLyogQ29ubmVjdCB0byBvdXIg ZGF0YWJhc2UgdG8gc2hvdyB1cCBhIHdhaXQgZXZlbnQgaW4gcGdfc3RhdF9hY3Rpdml0eSAqLwor CUJhY2tncm91bmRXb3JrZXJJbml0aWFsaXplQ29ubmVjdGlvbih3b3JrZXJfZGF0YWJhc2UsIE5V TEwsIDApOworCisJLyogV2FpdCBmb3JldmVyIHdpdGggdGhlIGN1c3RvbSB3YWl0IGV2ZW50ICov CisJd2hpbGUgKCFTaHV0ZG93blJlcXVlc3RQZW5kaW5nKQorCXsKKwkJKHZvaWQpIFdhaXRMYXRj aChNeUxhdGNoLAorCQkJCQkJIFdMX0xBVENIX1NFVCB8IFdMX0VYSVRfT05fUE1fREVBVEgsCisJ CQkJCQkgLTFMLAorCQkJCQkJIHNzLT53YWl0X2V2ZW50X2luZm8pOyAgLyogdGhlIGN1c3RvbSB3 YWl0IGV2ZW50ICovCisJCVJlc2V0TGF0Y2goTXlMYXRjaCk7CisJfQorfQorCisvKgorICogRHlu YW1pY2FsbHkgbGF1bmNoIGEgYmFja2dyb3VuZCB3b3JrZXIgd2FpdGluZyBmb3JldmVyCisgKi8K K0RhdHVtCit3YWl0X3dvcmtlcl9sYXVuY2goUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlCYWNrZ3Jv dW5kV29ya2VyIHdvcmtlcjsKKwlCYWNrZ3JvdW5kV29ya2VySGFuZGxlICpoYW5kbGU7CisJQmd3 SGFuZGxlU3RhdHVzIHN0YXR1czsKKwlwaWRfdAkJcGlkOworCisJbWVtc2V0KCZ3b3JrZXIsIDAs IHNpemVvZih3b3JrZXIpKTsKKwl3b3JrZXIuYmd3X2ZsYWdzID0gQkdXT1JLRVJfU0hNRU1fQUND RVNTIHwKKwkJQkdXT1JLRVJfQkFDS0VORF9EQVRBQkFTRV9DT05ORUNUSU9OOworCXdvcmtlci5i Z3dfc3RhcnRfdGltZSA9IEJnV29ya2VyU3RhcnRfUmVjb3ZlcnlGaW5pc2hlZDsKKwl3b3JrZXIu Ymd3X3Jlc3RhcnRfdGltZSA9IEJHV19ORVZFUl9SRVNUQVJUOworCXNwcmludGYod29ya2VyLmJn d19mdW5jdGlvbl9uYW1lLCAid29ya2VyX21haW4iKTsKKwlzcHJpbnRmKHdvcmtlci5iZ3dfbGli cmFyeV9uYW1lLCAidGVzdF9jdXN0b21fd2FpdF9ldmVudHMiKTsKKwlzbnByaW50Zih3b3JrZXIu Ymd3X25hbWUsIEJHV19NQVhMRU4sICJ0ZXN0X2N1c3RvbV93YWl0X2V2ZW50cyB3b3JrZXIiKTsK KwlzbnByaW50Zih3b3JrZXIuYmd3X3R5cGUsIEJHV19NQVhMRU4sICJ0ZXN0X2N1c3RvbV93YWl0 X2V2ZW50cyIpOworCXdvcmtlci5iZ3dfbm90aWZ5X3BpZCA9IE15UHJvY1BpZDsKKworCWlmICgh UmVnaXN0ZXJEeW5hbWljQmFja2dyb3VuZFdvcmtlcigmd29ya2VyLCAmaGFuZGxlKSkKKwkJUEdf UkVUVVJOX05VTEwoKTsKKworCXN0YXR1cyA9IFdhaXRGb3JCYWNrZ3JvdW5kV29ya2VyU3RhcnR1 cChoYW5kbGUsICZwaWQpOworCisJaWYgKHN0YXR1cyA9PSBCR1dIX1NUT1BQRUQpCisJCWVyZXBv cnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlNVRkZJQ0lFTlRfUkVTT1VSQ0VTKSwK KwkJCQkgZXJybXNnKCJjb3VsZCBub3Qgc3RhcnQgYmFja2dyb3VuZCBwcm9jZXNzIiksCisJCQkJ IGVycmhpbnQoIk1vcmUgZGV0YWlscyBtYXkgYmUgYXZhaWxhYmxlIGluIHRoZSBzZXJ2ZXIgbG9n LiIpKSk7CisJaWYgKHN0YXR1cyA9PSBCR1dIX1BPU1RNQVNURVJfRElFRCkKKwkJZXJlcG9ydChF UlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOU1VGRklDSUVOVF9SRVNPVVJDRVMpLAorCQkJ CSBlcnJtc2coImNhbm5vdCBzdGFydCBiYWNrZ3JvdW5kIHByb2Nlc3NlcyB3aXRob3V0IHBvc3Rt YXN0ZXIiKSwKKwkJCQkgZXJyaGludCgiS2lsbCBhbGwgcmVtYWluaW5nIGRhdGFiYXNlIHByb2Nl c3NlcyBhbmQgcmVzdGFydCB0aGUgZGF0YWJhc2UuIikpKTsKKwlBc3NlcnQoc3RhdHVzID09IEJH V0hfU1RBUlRFRCk7CisKKwlQR19SRVRVUk5fSU5UMzIocGlkKTsKK30KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMvdGVzdF9jdXN0b21fd2FpdF9l dmVudHMuY29udHJvbCBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9jdXN0b21fd2FpdF9ldmVudHMv dGVzdF9jdXN0b21fd2FpdF9ldmVudHMuY29udHJvbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi44ZGQ4NzVhMjUyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9k dWxlcy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cy5jb250 cm9sCkBAIC0wLDAgKzEsMyBAQAorY29tbWVudCA9ICdUZXN0IGNvZGUgZm9yIGN1c3RvbSB3YWl0 IGV2ZW50cycKK2RlZmF1bHRfdmVyc2lvbiA9ICcxLjAnCittb2R1bGVfcGF0aG5hbWUgPSAnJGxp YmRpci90ZXN0X2N1c3RvbV93YWl0X2V2ZW50cycKLS0gCjIuMjUuMQoK --=_d1080d7c6cc744c071fe4ecdf3e4491d Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v4-0001-Support-custom-wait-events-for-extensions.patch Content-Disposition: attachment; filename=v4-0001-Support-custom-wait-events-for-extensions.patch; size=9295 RnJvbSA4Y2YxZjAyNmZjMDQ2MzM0MTJmMDNhY2U5NGYyNGRkNDY5MmQ3MzEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXNhaGlybyBJa2VkYSA8bWFzYWhpcm8uaWtlZGEudXNAaGNv Lm50dC5jby5qcD4KRGF0ZTogRnJpLCAxNiBKdW4gMjAyMyAxMTo1MzoyOSArMDkwMApTdWJqZWN0 OiBbUEFUQ0ggMS8yXSBTdXBwb3J0IGN1c3RvbSB3YWl0IGV2ZW50cyBmb3IgZXh0ZW5zaW9ucy4K ClRvIHN1cHBvcnQgY3VzdG9tIHdhaXQgZXZlbnRzLCBpdCBhZGQgMiBBUElzIHRvIGFsbG9jYXRl Cm5ldyB3YWl0IGV2ZW50cyBkeW5hbWljYWxseS4KClRoZSBBUElzIGFyZQoqIEV4dGVuc2lvbldh aXRFdmVudE5ld1RyYW5jaGUoKQoqIEV4dGVuc2lvbldhaXRFdmVudFJlZ2lzdGVyVHJhbmNoZSgp CgpUaGV5IHNpbWlsYXIgdG8gZXhpc3RpbmcgTFdMb2NrTmV3VHJhbmNoZUlkKCkgYW5kCkxXTG9j a1JlZ2lzdGVyVHJhbmNoZSgpLgoKRmlyc3QsIGV4dGVuc2lvbiBjYWxscyBFeHRlbnNpb25XYWl0 RXZlbnROZXdUcmFuY2hlKCkKanVzdCBvbmNlIHRvIG9idGFpbiBhIG5ldyB3YWl0IGV2ZW50IHRy YW5jaGU7IFRoZSBJRCBpcwphbGxvY2F0ZWQgZnJvbSBhIHNoYXJlZCBjb3VudGVyLiBOZXh0LCBl YWNoIGluZGl2aWR1YWwKcHJvY2VzcyB1c2luZyB0aGUgdHJhbmNoZSBzaG91bGQgY2FsbApFeHRl bnNpb25XYWl0RXZlbnRSZWdpc3RlclRyYW5jaGUoKSB0byBhc3NvY2lhdGUgdGhhdAp3YWl0IGV2 ZW50IHdpdGggYSBuYW1lLgotLS0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYyAgICAg ICAgICB8ICAgMyArCiBzcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9zaG1lbS5jICAgICAgICAgfCAg IDMgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyB8IDEzOCArKysr KysrKysrKysrKysrKysrKysrKy0KIHNyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCAgICAg ICAgICB8ICAyOSArKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxNzEgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMg Yi9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMKaW5kZXggOGYxZGVkNzMzOC4uZWQwNTEy MWZhMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYwpAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUg InN0b3JhZ2Uvc3Bpbi5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUgInV0aWxz L3NuYXBtZ3IuaCIKKyNpbmNsdWRlICJ1dGlscy93YWl0X2V2ZW50LmgiCiAKIC8qIEdVQ3MgKi8K IGludAkJCXNoYXJlZF9tZW1vcnlfdHlwZSA9IERFRkFVTFRfU0hBUkVEX01FTU9SWV9UWVBFOwpA QCAtMTQyLDYgKzE0Myw3IEBAIENhbGN1bGF0ZVNobWVtU2l6ZShpbnQgKm51bV9zZW1hcGhvcmVz KQogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTeW5jU2NhblNobWVtU2l6ZSgpKTsKIAlzaXplID0g YWRkX3NpemUoc2l6ZSwgQXN5bmNTaG1lbVNpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUs IFN0YXRzU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBXYWl0RXZlbnRTaG1l bVNpemUoKSk7CiAjaWZkZWYgRVhFQ19CQUNLRU5ECiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNo bWVtQmFja2VuZEFycmF5U2l6ZSgpKTsKICNlbmRpZgpAQCAtMjk0LDYgKzI5Niw3IEBAIENyZWF0 ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXModm9pZCkKIAlTeW5jU2NhblNobWVtSW5pdCgpOwog CUFzeW5jU2htZW1Jbml0KCk7CiAJU3RhdHNTaG1lbUluaXQoKTsKKwlXYWl0RXZlbnRTaG1lbUlu aXQoKTsKIAogI2lmZGVmIEVYRUNfQkFDS0VORAogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9z dG9yYWdlL2lwYy9zaG1lbS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc2htZW0uYwppbmRl eCA1NDY1ZmExOTY0Li4wMmM3MmViYmIxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdl L2lwYy9zaG1lbS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3NobWVtLmMKQEAgLTg1 LDcgKzg1LDggQEAgc3RhdGljIHZvaWQgKlNobWVtQmFzZTsJCQkvKiBzdGFydCBhZGRyZXNzIG9m IHNoYXJlZCBtZW1vcnkgKi8KIAogc3RhdGljIHZvaWQgKlNobWVtRW5kOwkJCS8qIGVuZCsxIGFk ZHJlc3Mgb2Ygc2hhcmVkIG1lbW9yeSAqLwogCi1zbG9ja190ICAgICpTaG1lbUxvY2s7CQkJLyog c3BpbmxvY2sgZm9yIHNoYXJlZCBtZW1vcnkgYW5kIExXTG9jaworc2xvY2tfdCAgICAqU2htZW1M b2NrOwkJCS8qIHNwaW5sb2NrIGZvciBzaGFyZWQgbWVtb3J5LCBMV0xvY2sKKwkJCQkJCQkJICog YWxsb2NhdGlvbiwgYW5kIG5hbWVkIGV4dGVuc2lvbiB3YWl0IGV2ZW50CiAJCQkJCQkJCSAqIGFs bG9jYXRpb24gKi8KIAogc3RhdGljIEhUQUIgKlNobWVtSW5kZXggPSBOVUxMOyAvKiBwcmltYXJ5 IGluZGV4IGhhc2h0YWJsZSBmb3Igc2htZW0gKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dh aXRfZXZlbnQuYwppbmRleCA3OTQwZDY0NjM5Li4wNzhiYjIyMWI4IDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jCkBAIC0yMiwxMSArMjIsMTggQEAKICAqLwogI2luY2x1 ZGUgInBvc3RncmVzLmgiCiAKKyNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwb3J0 L3BnX2JpdHV0aWxzLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCQkvKiBmb3IgR2V0TG9j a05hbWVGcm9tVGFnVHlwZSAqLwogI2luY2x1ZGUgInN0b3JhZ2UvbHdsb2NrLmgiCQkvKiBmb3Ig R2V0TFdMb2NrSWRlbnRpZmllciAqLworI2luY2x1ZGUgInN0b3JhZ2Uvc3Bpbi5oIgorI2luY2x1 ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVkZSAidXRpbHMvd2FpdF9ldmVudC5oIgogCiAK Ky8qIFdlIHVzZSB0aGUgU2htZW1Mb2NrIHNwaW5sb2NrIHRvIHByb3RlY3QgRXh0ZW5zaW9uV2Fp dEV2ZW50Q291bnRlciAqLworZXh0ZXJuIHNsb2NrX3QgKlNobWVtTG9jazsKKwogc3RhdGljIGNv bnN0IGNoYXIgKnBnc3RhdF9nZXRfd2FpdF9hY3Rpdml0eShXYWl0RXZlbnRBY3Rpdml0eSB3KTsK IHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfY2xpZW50KFdhaXRFdmVudENsaWVu dCB3KTsKIHN0YXRpYyBjb25zdCBjaGFyICpwZ3N0YXRfZ2V0X3dhaXRfaXBjKFdhaXRFdmVudElQ QyB3KTsKQEAgLTM4LDYgKzQ1LDIzIEBAIHN0YXRpYyB1aW50MzIgbG9jYWxfbXlfd2FpdF9ldmVu dF9pbmZvOwogdWludDMyCSAgICpteV93YWl0X2V2ZW50X2luZm8gPSAmbG9jYWxfbXlfd2FpdF9l dmVudF9pbmZvOwogCiAKKy8qIGR5bmFtaWMgYWxsb2NhdGlvbiBjb3VudGVyIGluIHNoYXJlZCBt ZW1vcnkgKi8KK3N0YXRpYyB1aW50MTYgKkV4dGVuc2lvbldhaXRFdmVudENvdW50ZXI7CisKKy8q IGZpcnN0IGV2ZW50IElEIGZvciBuYW1lZCBleHRlbnNpb24gd2FpdCBldmVudCB0cmFuY2hlICov CisjZGVmaW5lIE5VTV9CVUlMVElOX1dBSVRfRVZFTlRfRVhURU5TSU9OCVwKKwkoV0FJVF9FVkVO VF9FWFRFTlNJT05fRklSU1RfVVNFUl9ERUZJTkVEIC0gV0FJVF9FVkVOVF9FWFRFTlNJT04pCisK Ky8qCisgKiBUaGlzIGlzIGluZGV4ZWQgYnkgZXZlbnQgSUQgbWludXMgTlVNX0JVSUxUSU5fV0FJ VF9FVkVOVF9FWFRFTlNJT04sIGFuZAorICogc3RvcmVzIHRoZSBuYW1lcyBvZiBhbGwgZHluYW1p Y2FsbHktY3JlYXRlZCBldmVudCBJRCBrbm93biB0byB0aGUgY3VycmVudAorICogcHJvY2Vzcy4g IEFueSB1bnVzZWQgZW50cmllcyBpbiB0aGUgYXJyYXkgd2lsbCBjb250YWluIE5VTEwuCisgKi8K K3N0YXRpYyBjb25zdCBjaGFyICoqRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVzID0gTlVM TDsKK3N0YXRpYyBpbnQJRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVzQWxsb2NhdGVkID0g MDsKKworc3RhdGljIGNvbnN0IGNoYXIgKkdldEV4dGVuc2lvbldhaXRFdmVudElkZW50aWZpZXIo dWludDE2IGV2ZW50SWQpOworCiAvKgogICogQ29uZmlndXJlIHdhaXQgZXZlbnQgcmVwb3J0aW5n IHRvIHJlcG9ydCB3YWl0IGV2ZW50cyB0byAqd2FpdF9ldmVudF9pbmZvLgogICogKndhaXRfZXZl bnRfaW5mbyBuZWVkcyB0byBiZSB2YWxpZCB1bnRpbCBwZ3N0YXRfcmVzZXRfd2FpdF9ldmVudF9z dG9yYWdlKCkKQEAgLTE2NSw3ICsxODksNyBAQCBwZ3N0YXRfZ2V0X3dhaXRfZXZlbnQodWludDMy IHdhaXRfZXZlbnRfaW5mbykKIAkJCQlicmVhazsKIAkJCX0KIAkJY2FzZSBQR19XQUlUX0VYVEVO U0lPTjoKLQkJCWV2ZW50X25hbWUgPSAiRXh0ZW5zaW9uIjsKKwkJCWV2ZW50X25hbWUgPSBHZXRF eHRlbnNpb25XYWl0RXZlbnRJZGVudGlmaWVyKGV2ZW50SWQpOwogCQkJYnJlYWs7CiAJCWNhc2Ug UEdfV0FJVF9JUEM6CiAJCQl7CkBAIC03NjIsMyArNzg2LDExNSBAQCBwZ3N0YXRfZ2V0X3dhaXRf aW8oV2FpdEV2ZW50SU8gdykKIAogCXJldHVybiBldmVudF9uYW1lOwogfQorCisvKgorICogIFJl dHVybiB0aGUgc3BhY2UgZm9yIGR5bmFtaWMgYWxsb2NhdGlvbiBjb3VudGVyLgorICovCitTaXpl CitXYWl0RXZlbnRTaG1lbVNpemUodm9pZCkKK3sKKwlyZXR1cm4gc2l6ZW9mKCpFeHRlbnNpb25X YWl0RXZlbnRDb3VudGVyKTsKK30KKworLyoKKyAqIEFsbG9jYXRlIHNobWVtIHNwYWNlIGZvciBk eW5hbWljIGFsbG9jYXRpb24gY291bnRlci4KKyAqLwordm9pZAorV2FpdEV2ZW50U2htZW1Jbml0 KHZvaWQpCit7CisJaWYgKCFJc1VuZGVyUG9zdG1hc3RlcikKKwl7CisJCVNpemUJCXNwYWNlID0g V2FpdEV2ZW50U2htZW1TaXplKCk7CisKKwkJLyogSW5pdGlhbGl6ZSB0aGUgZHluYW1pYy1hbGxv Y2F0aW9uIGNvdW50ZXIgKi8KKwkJRXh0ZW5zaW9uV2FpdEV2ZW50Q291bnRlciA9ICh1aW50MTYg KikgU2htZW1BbGxvYyhzcGFjZSk7CisJCSpFeHRlbnNpb25XYWl0RXZlbnRDb3VudGVyID0gTlVN X0JVSUxUSU5fV0FJVF9FVkVOVF9FWFRFTlNJT047CisJfQorfQorCisvKgorICogQWxsb2NhdGUg YSBuZXcgZXZlbnQgSUQgYW5kIHJldHVybiB0aGUgd2FpdCBldmVudCBpbmZvLgorICovCit1aW50 MzIKK0V4dGVuc2lvbldhaXRFdmVudE5ld1RyYW5jaGUodm9pZCkKK3sKKwl1aW50MTYJCQlldmVu dElkOworCisJU3BpbkxvY2tBY3F1aXJlKFNobWVtTG9jayk7CisJZXZlbnRJZCA9ICgqRXh0ZW5z aW9uV2FpdEV2ZW50Q291bnRlcikrKzsKKwlTcGluTG9ja1JlbGVhc2UoU2htZW1Mb2NrKTsKKwor CXJldHVybiBQR19XQUlUX0VYVEVOU0lPTiB8IGV2ZW50SWQ7Cit9CisKKy8qCisgKiBSZWdpc3Rl ciBhIGR5bmFtaWMgdHJhbmNoZSBuYW1lIGluIHRoZSBsb29rdXAgdGFibGUgb2YgdGhlIGN1cnJl bnQgcHJvY2Vzcy4KKyAqCisgKiBUaGlzIHJvdXRpbmUgd2lsbCBzYXZlIGEgcG9pbnRlciB0byB0 aGUgd2FpdCBldmVudCB0cmFuY2hlIG5hbWUgcGFzc2VkCisgKiBhcyBhbiBhcmd1bWVudCwgc28g dGhlIG5hbWUgc2hvdWxkIGJlIGFsbG9jYXRlZCBpbiBhIGJhY2tlbmQtbGlmZXRpbWUgY29udGV4 dAorICogKHNoYXJlZCBtZW1vcnksIFRvcE1lbW9yeUNvbnRleHQsIHN0YXRpYyBjb25zdGFudCwg b3Igc2ltaWxhcikuCisgKgorICogVGhlICJ3YWl0X2V2ZW50X25hbWUiIHdpbGwgYmUgdXNlci12 aXNpYmxlIGFzIGEgd2FpdCBldmVudCBuYW1lLCBzbyB0cnkgdG8KKyAqIHVzZSBhIG5hbWUgdGhh dCBmaXRzIHRoZSBzdHlsZSBmb3IgdGhvc2UuCisgKi8KK3ZvaWQKK0V4dGVuc2lvbldhaXRFdmVu dFJlZ2lzdGVyVHJhbmNoZSh1aW50MzIgd2FpdF9ldmVudF9pbmZvLCBjb25zdCBjaGFyICp3YWl0 X2V2ZW50X25hbWUpCit7CisJdWludDE2CQlldmVudElkOworCisJLyogQ2hlY2sgd2FpdCBldmVu dCBjbGFzcy4gKi8KKwlBc3NlcnQoKHdhaXRfZXZlbnRfaW5mbyAmIDB4RkYwMDAwMDApID09IFBH X1dBSVRfRVhURU5TSU9OKTsKKworCWV2ZW50SWQgPSB3YWl0X2V2ZW50X2luZm8gJiAweDAwMDBG RkZGOworCisJLyogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgZm9yIHVzZXItZGVmaW5lZCB0 cmFuY2hlcy4gKi8KKwlpZiAoZXZlbnRJZCA8IE5VTV9CVUlMVElOX1dBSVRfRVZFTlRfRVhURU5T SU9OKQorCQlyZXR1cm47CisKKwkvKiBDb252ZXJ0IHRvIGFycmF5IGluZGV4LiAqLworCWV2ZW50 SWQgLT0gTlVNX0JVSUxUSU5fV0FJVF9FVkVOVF9FWFRFTlNJT047CisKKwkvKiBJZiBuZWNlc3Nh cnksIGNyZWF0ZSBvciBlbmxhcmdlIGFycmF5LiAqLworCWlmIChldmVudElkID49IEV4dGVuc2lv bldhaXRFdmVudFRyYW5jaGVOYW1lc0FsbG9jYXRlZCkKKwl7CisJCWludAkJCW5ld2FsbG9jOwor CisJCW5ld2FsbG9jID0gcGdfbmV4dHBvd2VyMl8zMihNYXgoOCwgZXZlbnRJZCArIDEpKTsKKwor CQlpZiAoRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVzID09IE5VTEwpCisJCQlFeHRlbnNp b25XYWl0RXZlbnRUcmFuY2hlTmFtZXMgPSAoY29uc3QgY2hhciAqKikKKwkJCQlNZW1vcnlDb250 ZXh0QWxsb2NaZXJvKFRvcE1lbW9yeUNvbnRleHQsCisJCQkJCQkJCQkgICBuZXdhbGxvYyAqIHNp emVvZihjaGFyICopKTsKKwkJZWxzZQorCQkJRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVz ID0KKwkJCQlyZXBhbGxvYzBfYXJyYXkoRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVzLCBj b25zdCBjaGFyICosIEV4dGVuc2lvbldhaXRFdmVudFRyYW5jaGVOYW1lc0FsbG9jYXRlZCwgbmV3 YWxsb2MpOworCQlFeHRlbnNpb25XYWl0RXZlbnRUcmFuY2hlTmFtZXNBbGxvY2F0ZWQgPSBuZXdh bGxvYzsKKwl9CisKKwlFeHRlbnNpb25XYWl0RXZlbnRUcmFuY2hlTmFtZXNbZXZlbnRJZF0gPSB3 YWl0X2V2ZW50X25hbWU7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIG5hbWUgb2YgYW4gRXh0ZW5z aW9uIHdhaXQgZXZlbnQgSUQuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICoKK0dldEV4dGVuc2lv bldhaXRFdmVudElkZW50aWZpZXIodWludDE2IGV2ZW50SWQpCit7CisJLyogQnVpbGQtaW4gdHJh bmNoZT8gKi8KKwlpZiAoZXZlbnRJZCA8IE5VTV9CVUlMVElOX1dBSVRfRVZFTlRfRVhURU5TSU9O KQorCQlyZXR1cm4gIkV4dGVuc2lvbiI7CisKKwkvKgorCSAqIEl0J3MgYW4gZXh0ZW5zaW9uIHRy YW5jaGUsIHNvIGxvb2sgaW4gRXh0ZW5zaW9uV2FpdEV2ZW50VHJhbmNoZU5hbWVzW10uCisJICog SG93ZXZlciwgaXQncyBwb3NzaWJsZSB0aGF0IHRoZSB0cmFuY2hlIGhhcyBuZXZlciBiZWVuIHJl Z2lzdGVyZWQgYnkKKwkgKiBjYWxsaW5nIEV4dGVuc2lvbldhaXRFdmVudFJlZ2lzdGVyVHJhbmNo ZSgpIGluIHRoZSBjdXJyZW50IHByb2Nlc3MsIGluCisJICogd2hpY2ggY2FzZSBnaXZlIHVwIGFu ZCByZXR1cm4gIkV4dGVuc2lvbiIuCisJICovCisJZXZlbnRJZCAtPSBOVU1fQlVJTFRJTl9XQUlU X0VWRU5UX0VYVEVOU0lPTjsKKworCWlmIChldmVudElkID49IEV4dGVuc2lvbldhaXRFdmVudFRy YW5jaGVOYW1lc0FsbG9jYXRlZCB8fAorCQlFeHRlbnNpb25XYWl0RXZlbnRUcmFuY2hlTmFtZXNb ZXZlbnRJZF0gPT0gTlVMTCkKKwkJcmV0dXJuICJFeHRlbnNpb24iOworCisJcmV0dXJuIEV4dGVu c2lvbldhaXRFdmVudFRyYW5jaGVOYW1lc1tldmVudElkXTsKK30KZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQu aAppbmRleCA1MThkM2IwYTFmLi45NTA3YzRmZDcxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91 dGlscy93YWl0X2V2ZW50LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oCkBA IC03MCw2ICs3MCwzNSBAQCB0eXBlZGVmIGVudW0KIAlXQUlUX0VWRU5UX1dBTF9TRU5ERVJfV1JJ VEVfREFUQSwKIH0gV2FpdEV2ZW50Q2xpZW50OwogCisvKiAtLS0tLS0tLS0tCisgKiBXYWl0IEV2 ZW50cyAtIEV4dGVuc2lvbgorICoKKyAqIFVzZSB0aGlzIGNhdGVnb3J5IHdoZW4gdGhlIHNlcnZl ciBwcm9jZXNzIGlzIHdhaXRpbmcgZm9yIHNvbWUgY29uZGl0aW9uCisgKiBkZWZpbmVkIGJ5IGFu IGV4dGVuc2lvbiBtb2R1bGUuCisgKgorICogRXh0ZW5zaW9ucyBjYW4gZGVmaW5lIGN1c3RvbSB3 YWl0IGV2ZW50cy4gIEZpcnN0LCBjYWxsCisgKiBFeHRlbnNpb25XYWl0RXZlbnROZXdUcmFuY2hl KCkganVzdCBvbmNlIHRvIG9idGFpbiBhIG5ldyB3YWl0IGV2ZW50IHRyYW5jaGUuCisgKiBUaGUg SUQgaXMgYWxsb2NhdGVkIGZyb20gYSBzaGFyZWQgY291bnRlci4gTmV4dCwgZWFjaCBpbmRpdmlk dWFsIHByb2Nlc3MgdXNpbmcKKyAqIHRoZSB0cmFuY2hlIHNob3VsZCBjYWxsIEV4dGVuc2lvbldh aXRFdmVudFJlZ2lzdGVyVHJhbmNoZSgpIHRvIGFzc29jaWF0ZQorICogdGhhdCB3YWl0IGV2ZW50 IHdpdGggYSBuYW1lLgorICoKKyAqIEl0IG1heSBzZWVtIHN0cmFuZ2UgdGhhdCBlYWNoIHByb2Nl c3MgdXNpbmcgdGhlIHRyYW5jaGUgbXVzdCByZWdpc3RlciBpdAorICogc2VwYXJhdGVseSwgYnV0 IGR5bmFtaWMgc2hhcmVkIG1lbW9yeSBzZWdtZW50cyBhcmVuJ3QgZ3VhcmFudGVlZCB0byBiZQor ICogbWFwcGVkIGF0IHRoZSBzYW1lIGFkZHJlc3MgaW4gYWxsIGNvb3JkaW5hdGluZyBiYWNrZW5k cywgc28gc3RvcmluZyB0aGUKKyAqIHJlZ2lzdHJhdGlvbiBpbiB0aGUgbWFpbiBzaGFyZWQgbWVt b3J5IHNlZ21lbnQgd291bGRuJ3Qgd29yayBmb3IgdGhhdCBjYXNlLgorICovCit0eXBlZGVmIGVu dW0KK3sKKwlXQUlUX0VWRU5UX0VYVEVOU0lPTiA9IFBHX1dBSVRfRVhURU5TSU9OLAorCVdBSVRf RVZFTlRfRVhURU5TSU9OX0ZJUlNUX1VTRVJfREVGSU5FRAorfQkJCVdhaXRFdmVudEV4dGVuc2lv bjsKKworZXh0ZXJuIHZvaWQgV2FpdEV2ZW50U2htZW1Jbml0KHZvaWQpOworZXh0ZXJuIFNpemUg V2FpdEV2ZW50U2htZW1TaXplKHZvaWQpOworCitleHRlcm4gdWludDMyCUV4dGVuc2lvbldhaXRF dmVudE5ld1RyYW5jaGUodm9pZCk7CitleHRlcm4gdm9pZCBFeHRlbnNpb25XYWl0RXZlbnRSZWdp c3RlclRyYW5jaGUodWludDMyIHdhaXRfZXZlbnRfaW5mbywgY29uc3QgY2hhciAqdHJhbmNoZV9u YW1lKTsKKwogLyogLS0tLS0tLS0tLQogICogV2FpdCBFdmVudHMgLSBJUEMKICAqCi0tIAoyLjI1 LjEKCg== --=_d1080d7c6cc744c071fe4ecdf3e4491d--