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 1n3Awo-00038H-Mw for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Dec 2021 05:59:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n3Awn-0006f7-IH for pgsql-hackers@arkaria.postgresql.org; Fri, 31 Dec 2021 05:59:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n3Awm-0006ey-Tb for pgsql-hackers@lists.postgresql.org; Fri, 31 Dec 2021 05:59:25 +0000 Received: from smtp-fw-9103.amazon.com ([207.171.188.200]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n3Awg-0001ng-24 for pgsql-hackers@postgresql.org; Fri, 31 Dec 2021 05:59:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1640930358; x=1672466358; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=TicEpc62fqQ3EGq/dgC01xyPGufJUu23dpNGfiCCsBM=; b=JRtCbjORDViQSfAcqFND817axhBXm5Fy/fX+CFic2zp1pQCFsC+HtWw0 EbTeezNU4WGBDeukgGvB7ERQ1m6aN0gyX9vRVvXm1rI7EhsZ2sfZIFU7G I3rwggfRe7FmDVM+EDpGVzSRKPt5FHZur6uDd81FyPNeV8BsrjJjuynmf k=; X-Amazon-filename: 0001-Add-index-scan-progress-to-pg_stat_progress_vacuum.patch X-IronPort-AV: E=Sophos;i="5.88,250,1635206400"; d="scan'208,223";a="981507151" Subject: Re: Add index scan progress to pg_stat_progress_vacuum Thread-Topic: Add index scan progress to pg_stat_progress_vacuum Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-pdx-2c-b09ea7fa.us-west-2.amazon.com) ([10.25.36.210]) by smtp-border-fw-9103.sea19.amazon.com with ESMTP; 31 Dec 2021 05:59:16 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2c-b09ea7fa.us-west-2.amazon.com (Postfix) with ESMTPS id 27C3F42EB4; Fri, 31 Dec 2021 05:59:16 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 31 Dec 2021 05:59:15 +0000 Received: from EX13D13UWB003.ant.amazon.com (10.43.161.233) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 31 Dec 2021 05:59:15 +0000 Received: from EX13D13UWB003.ant.amazon.com ([10.43.161.233]) by EX13D13UWB003.ant.amazon.com ([10.43.161.233]) with mapi id 15.00.1497.026; Fri, 31 Dec 2021 05:59:15 +0000 From: "Imseih (AWS), Sami" To: Justin Pryzby CC: Masahiko Sawada , Peter Geoghegan , "Bossart, Nathan" , "pgsql-hackers@postgresql.org" Thread-Index: AQHX5uocuLg5vK9yXkugZYU7JVvUD6wzrQ+AgAgmSICABBF2gIAG6AwAgAKncACAAHdDgIAB+R4A Date: Fri, 31 Dec 2021 05:59:15 +0000 Message-ID: <39E8ED08-56E6-4466-93BF-3FD3D51EE52C@amazon.com> References: <5478DFCD-2333-401A-B2F0-0D186AB09228@amazon.com> <7874FB21-FAA5-49BD-8386-2866552656C7@amazon.com> <7F1C93C1-C50E-497A-86C5-B637EA4D9F79@amazon.com> <04D9F80C-1A7C-4C23-9156-6799D974DC72@amazon.com> <20211229175121.GP24477@telsasoft.com> In-Reply-To: <20211229175121.GP24477@telsasoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.161.102] Content-Type: multipart/mixed; boundary="_002_39E8ED0856E6446693BF3FD3D51EE52Camazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_39E8ED0856E6446693BF3FD3D51EE52Camazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <915657C448C68A49B7F5E03D8193AC25@amazon.com> Content-Transfer-Encoding: base64 QXR0YWNoaW5nIHRoZSBsYXRlc3QgcmV2aXNpb24gb2YgdGhlIHBhdGNoIHdpdGggdGhlIGZpeGVz IHN1Z2dlc3RlZC4gQWxzbyByYW4gbWFrZSBjaGVjayBhbmQgbWFrZSBjaGVjay13b3JsZCBzdWNj ZXNzZnVsbHkuDQoNCg0K77u/T24gMTIvMjkvMjEsIDExOjUxIEFNLCAiSnVzdGluIFByeXpieSIg PHByeXpieUB0ZWxzYXNvZnQuY29tPiB3cm90ZToNCg0KICAgIENBVVRJT046IFRoaXMgZW1haWwg b3JpZ2luYXRlZCBmcm9tIG91dHNpZGUgb2YgdGhlIG9yZ2FuaXphdGlvbi4gRG8gbm90IGNsaWNr IGxpbmtzIG9yIG9wZW4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSBjYW4gY29uZmlybSB0aGUgc2Vu ZGVyIGFuZCBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQoNCg0KDQogICAgaHR0cDovL2NmYm90 LmNwdXR1YmUub3JnL3NhbWktaW1zZWloLmh0bWwNCiAgICBZb3Ugc2hvdWxkIHJ1biAibWFrZSBj aGVjayIgYW5kIHVwZGF0ZSBydWxlcy5vdXQuDQoNCiAgICBZb3Ugc2hvdWxkIGFsc28gdXNlIG1h a2UgY2hlY2std29ybGQgLSB1c3VhbGx5IHNvbWV0aGluZyBsaWtlOg0KICAgIG1ha2UgY2hlY2st d29ybGQgLWo0ID5jaGVjay13b3JsZC5vdXQgMj4mMSA7IGVjaG8gcmV0ICQ/DQoNCiAgICA+IGlu ZHJlbGlkOiBUaGUgcmVsaWQgb2YgdGhlIGluZGV4IGN1cnJlbnRseSBiZWluZyB2YWN1dW1lZA0K DQogICAgSSB0aGluayBpdCBzaG91bGQgYmUgY2FsbGVkIGluZGV4cmVsaWQgbm90IGluZHJlbGlk LCBmb3IgY29uc2lzdGVuY3kgd2l0aA0KICAgIHBnX2luZGV4Lg0KDQogICAgPiBTLnBhcmFtMTAg dmFjdXVtX2N5Y2xlX29yZGluYWxfcG9zaXRpb24sDQogICAgPiBTLnBhcmFtMTMgaW5kZXhfcm93 c192YWN1dW1lZA0KDQogICAgVGhlc2Ugc2hvdWxkIGJvdGggc2F5ICJBUyIgZm9yIGNvbnNpc3Rl bmN5Lg0KDQogICAgc3lzdGVtX3ZpZXdzLnNxbCBpcyB1c2luZyB0YWJzLCBidXQgc2hvdWxkIHVz ZSBzcGFjZXMgZm9yIGNvbnNpc3RlbmN5Lg0KDQogICAgPiAjaW5jbHVkZSAiY29tbWFuZHMvcHJv Z3Jlc3MuaCINCg0KICAgIFRoZSBwb3N0Z3JlcyBjb252ZW50aW9uIGlzIHRvIGFscGhhYmV0aXpl IHRoZSBpbmNsdWRlcy4NCg0KICAgID4gICAgICAgLyogVkFDQ1VNIG9wZXJhdGlvbidzIGxvbmdl c3QgaW5kZXggc2NhbiBjeWNsZSAqLw0KDQogICAgVkFDQ1VNID0+IFZBQ1VVTQ0KDQogICAgVWx0 aW1hdGVseSB5b3UnbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUgZG9jcy4NCg0K --_002_39E8ED0856E6446693BF3FD3D51EE52Camazoncom_ Content-Type: application/octet-stream; name="0001-Add-index-scan-progress-to-pg_stat_progress_vacuum.patch" Content-Description: 0001-Add-index-scan-progress-to-pg_stat_progress_vacuum.patch Content-Disposition: attachment; filename="0001-Add-index-scan-progress-to-pg_stat_progress_vacuum.patch"; size=18582; creation-date="Fri, 31 Dec 2021 05:59:15 GMT"; modification-date="Fri, 31 Dec 2021 05:59:15 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSA2MmFmMGI3MzBmZjMwZjlkNGZmNWM1Yjk2NjNiYjA2MjQ0MGE5ZmI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiSW1zZWloIChBV1MpLCBTYW1pIiA8c2ltc2VpaEBhbWF6b24u Y29tPgpEYXRlOiBGcmksIDMxIERlYyAyMDIxIDA0OjQzOjMxICswMDAwClN1YmplY3Q6IFtQQVRD SCAxLzFdIEFkZCBpbmRleCBzY2FuIHByb2dyZXNzIHRvIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVt LgoKRXhwb3NlIHByb2dyZXNzIGZvciB0aGUgInZhY3V1bWluZyBpbmRleGVzIiBwaGFzZQpvZiBh IFZBQ1VVTSBvcGVyYXRpb24uCgpBdXRob3I6IFNhbWkgSW1zZWloLCBiYXNlZCBvbiBzdWdnZXN0 aW9ucyBieSBOYXRoYW4gQm9zc2FydCwgUGV0ZXIgR2VvZ2hlZ2FuIGFuZCBNYXNhaGlrbyBTYXdh ZGEKUmV2aWV3ZWQgYnk6IE5hdGhhbiBCb3NzYXJ0LCBKdXN0aW4gUHJ5emJ5CkRpc2N1c3Npb246 IGh0dHBzOi8vd3d3LnBvc3RncmVzcWwub3JnL21lc3NhZ2UtaWQvNTQ3OERGQ0QtMjMzMy00MDFB LUIyRjAtMEQxODZBQjA5MjI4JTQwYW1hem9uLmNvbQotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy9n aW4vZ2ludmFjdXVtLmMgICAgfCAgNCArKwogc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHZh Y3V1bS5jICB8ICA0ICsrCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMgICAgICAgIHwg IDIgKwogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICB8IDMyICsrKysrKysr KysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYyAgICB8ICAyICsKIHNy Yy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgfCAgNCArKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICB8IDE1ICsrKysrKy0KIHNyYy9iYWNrZW5kL2NvbW1h bmRzL3ZhY3V1bXBhcmFsbGVsLmMgfCAyMiArKysrKysrKystLQogc3JjL2JhY2tlbmQvdXRpbHMv bWlzYy9wZ19ydXNhZ2UuYyAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogc3Jj L2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaCAgICAgICB8IDIwICsrKysrKy0tLS0KIHNyYy9p bmNsdWRlL3V0aWxzL3BnX3J1c2FnZS5oICAgICAgICAgfCAgMSArCiBzcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3J1bGVzLm91dCAgIHwgMTUgKysrKysrLQogMTIgZmlsZXMgY2hhbmdlZCwgMTQ2 IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1 bS5jCmluZGV4IGEyNzZlYjAyMGIuLjkwNzA2YmUxMzUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52 YWN1dW0uYwpAQCAtMTcsOCArMTcsMTAgQEAKICNpbmNsdWRlICJhY2Nlc3MvZ2luX3ByaXZhdGUu aCIKICNpbmNsdWRlICJhY2Nlc3MvZ2lueGxvZy5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9naW5z ZXJ0LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvcHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJjb21tYW5k cy92YWN1dW0uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIK ICNpbmNsdWRlICJwb3N0bWFzdGVyL2F1dG92YWN1dW0uaCIKICNpbmNsdWRlICJzdG9yYWdlL2lu ZGV4ZnNtLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCkBAIC02MCw2ICs2Miw4IEBAIGdp blZhY3V1bUl0ZW1Qb2ludGVycyhHaW5WYWN1dW1TdGF0ZSAqZ3ZzLCBJdGVtUG9pbnRlckRhdGEg Kml0ZW1zLAogCQlpZiAoZ3ZzLT5jYWxsYmFjayhpdGVtcyArIGksIGd2cy0+Y2FsbGJhY2tfc3Rh dGUpKQogCQl7CiAJCQlndnMtPnJlc3VsdC0+dHVwbGVzX3JlbW92ZWQgKz0gMTsKKwkJCXBnc3Rh dF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0RFQURfVFVQTEVTX1ZBQ1VV TUVELCBndnMtPnJlc3VsdC0+dHVwbGVzX3JlbW92ZWQpOworCiAJCQlpZiAoIXRtcGl0ZW1zKQog CQkJewogCQkJCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFj dXVtLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMKaW5kZXggMDY2MzE5 MzUzMS4uOTI0MTE3NTMyOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lz dHZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYwpAQCAt MTcsOSArMTcsMTEgQEAKICNpbmNsdWRlICJhY2Nlc3MvZ2VuYW0uaCIKICNpbmNsdWRlICJhY2Nl c3MvZ2lzdF9wcml2YXRlLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIKKyNpbmNsdWRl ICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2lu Y2x1ZGUgImxpYi9pbnRlZ2Vyc2V0LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVk ZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9pbmRleGZzbS5oIgogI2luY2x1ZGUgInN0 b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0zNzUsNiArMzc3 LDggQEAgcmVzdGFydDoKIAkJCUVORF9DUklUX1NFQ1RJT04oKTsKIAogCQkJdnN0YXRlLT5zdGF0 cy0+dHVwbGVzX3JlbW92ZWQgKz0gbnRvZGVsZXRlOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fREVBRF9UVVBMRVNfVkFDVVVNRUQsIHZzdGF0ZS0+c3Rh dHMtPnR1cGxlc19yZW1vdmVkKTsKKwogCQkJLyogbXVzdCByZWNvbXB1dGUgbWF4b2ZmICovCiAJ CQltYXhvZmYgPSBQYWdlR2V0TWF4T2Zmc2V0TnVtYmVyKHBhZ2UpOwogCQl9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFz aC9oYXNoLmMKaW5kZXggODFjN2RhN2VjNi4uNDVkMjk0MmM5ZSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hh c2guYwpAQCAtNjMxLDYgKzYzMSw4IEBAIGxvb3BfdG9wOgogCXN0YXRzLT5lc3RpbWF0ZWRfY291 bnQgPSBmYWxzZTsKIAlzdGF0cy0+bnVtX2luZGV4X3R1cGxlcyA9IG51bV9pbmRleF90dXBsZXM7 CiAJc3RhdHMtPnR1cGxlc19yZW1vdmVkICs9IHR1cGxlc19yZW1vdmVkOworCXBnc3RhdF9wcm9n cmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0RFQURfVFVQTEVTX1ZBQ1VVTUVELCBz dGF0cy0+dHVwbGVzX3JlbW92ZWQpOworCiAJLyogaGFzaHZhY3V1bWNsZWFudXAgd2lsbCBmaWxs IGluIG51bV9wYWdlcyAqLwogCiAJcmV0dXJuIHN0YXRzOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFj dXVtbGF6eS5jCmluZGV4IGNkNjAzZTZhYTQuLjViNDVlZTNlMmUgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3Mv aGVhcC92YWN1dW1sYXp5LmMKQEAgLTE2Nyw2ICsxNjcsOCBAQCB0eXBlZGVmIHN0cnVjdCBMVlJl bFN0YXRlCiAJLyogVkFDVVVNIG9wZXJhdGlvbidzIGN1dG9mZiBmb3IgZnJlZXppbmcgWElEcyBh bmQgTXVsdGlYYWN0SWRzICovCiAJVHJhbnNhY3Rpb25JZCBGcmVlemVMaW1pdDsKIAlNdWx0aVhh Y3RJZCBNdWx0aVhhY3RDdXRvZmY7CisJLyogVkFDVVVNIG9wZXJhdGlvbidzIGxvbmdlc3QgaW5k ZXggc2NhbiBjeWNsZSAqLworCWludDY0IG1heF9pbmRleF9jeWNsZV90aW1lOwogCiAJLyogRXJy b3IgcmVwb3J0aW5nIHN0YXRlICovCiAJY2hhcgkgICAqcmVsbmFtZXNwYWNlOwpAQCAtMzQzLDYg KzM0NSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLAogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJPR1JFU1NfQ09NTUFORF9W QUNVVU0sCiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlwZ3N0YXRfcHJvZ3Jl c3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElELCBNeVByb2NQaWQpOwog CiAJdmFjdXVtX3NldF94aWRfbGltaXRzKHJlbCwKIAkJCQkJCSAgcGFyYW1zLT5mcmVlemVfbWlu X2FnZSwKQEAgLTIwMzgsNiArMjA0MSw4IEBAIHN0YXRpYyBib29sCiBsYXp5X3ZhY3V1bV9hbGxf aW5kZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiB7CiAJYm9vbAkJYWxsaW5kZXhlcyA9IHRydWU7 CisJUEdSVXNhZ2UJcnUwOworCWludDY0CQlpbmRleF9jeWNsZV9lbGFwc2VkX21zID0gMDsKIAog CUFzc2VydCh2YWNyZWwtPm5pbmRleGVzID4gMCk7CiAJQXNzZXJ0KHZhY3JlbC0+ZG9faW5kZXhf dmFjdXVtaW5nKTsKQEAgLTIwNTYsNiArMjA2MSwxMCBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhl cyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9H UkVTU19WQUNVVU1fUEhBU0UsCiAJCQkJCQkJCSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfVkFDVVVN X0lOREVYKTsKIAorCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVN X1RPVEFMX0lOREVYX1ZBQ1VVTSwgdmFjcmVsLT5uaW5kZXhlcyk7CisKKwlwZ19ydXNhZ2VfaW5p dCgmcnUwKTsKKwogCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQogCXsKIAkJ Zm9yIChpbnQgaWR4ID0gMDsgaWR4IDwgdmFjcmVsLT5uaW5kZXhlczsgaWR4KyspCkBAIC0yMDYz LDE0ICsyMDcyLDIyIEBAIGxhenlfdmFjdXVtX2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3Jl bCkKIAkJCVJlbGF0aW9uCWluZHJlbCA9IHZhY3JlbC0+aW5kcmVsc1tpZHhdOwogCQkJSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCA9IHZhY3JlbC0+aW5kc3RhdHNbaWR4XTsKIAorCQkJLyog QWR2ZXJ0aXNlIHRoZSBpbmRleCB0aGF0IGlzIGJlaW5nIHZhY3V1bWVkIGFuZCB0aGUgdmFjdXVt IG9yZGVyIG9mIHRoZSBpbmRleCAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQ Uk9HUkVTU19WQUNVVU1fQ1VSUkVOVF9JTkRSRUxJRCwgaW5kcmVsLT5yZF9pZCk7CisJCQlwZ3N0 YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9PUkRJTkFMLCBp ZHggKyAxKTsKKwogCQkJdmFjcmVsLT5pbmRzdGF0c1tpZHhdID0KIAkJCQlsYXp5X3ZhY3V1bV9v bmVfaW5kZXgoaW5kcmVsLCBpc3RhdCwgdmFjcmVsLT5vbGRfbGl2ZV90dXBsZXMsCiAJCQkJCQkJ CQkgIHZhY3JlbCk7CiAKKwkJCS8qIEFkdmVydGlzZSB0aGF0IHdlIGFyZSBkb25lIHZhY3V1bWlu ZyB0aGUgaW5kZXggKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1Nf VkFDVVVNX0NVUlJFTlRfSU5EUkVMSUQsIDApOworCiAJCQlpZiAobGF6eV9jaGVja193cmFwYXJv dW5kX2ZhaWxzYWZlKHZhY3JlbCkpCiAJCQl7CiAJCQkJLyogV3JhcGFyb3VuZCBlbWVyZ2VuY3kg LS0gZW5kIGN1cnJlbnQgaW5kZXggc2NhbiAqLwogCQkJCWFsbGluZGV4ZXMgPSBmYWxzZTsKKwkJ CQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9UT1RBTF9JTkRF WF9WQUNVVU0sIDApOwogCQkJCWJyZWFrOwogCQkJfQogCQl9CkBAIC0yMDg1LDggKzIxMDIsMTAg QEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkgKiBEbyBh IHBvc3RjaGVjayB0byBjb25zaWRlciBhcHBseWluZyB3cmFwYXJvdW5kIGZhaWxzYWZlIG5vdy4g IE5vdGUKIAkJICogdGhhdCBwYXJhbGxlbCBWQUNVVU0gb25seSBnZXRzIHRoZSBwcmVjaGVjayBh bmQgdGhpcyBwb3N0Y2hlY2suCiAJCSAqLwotCQlpZiAobGF6eV9jaGVja193cmFwYXJvdW5kX2Zh aWxzYWZlKHZhY3JlbCkpCisJCWlmIChsYXp5X2NoZWNrX3dyYXBhcm91bmRfZmFpbHNhZmUodmFj cmVsKSkgewogCQkJYWxsaW5kZXhlcyA9IGZhbHNlOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVE9UQUxfSU5ERVhfVkFDVVVNLCAwKTsKKwkJfQogCX0K IAogCS8qCkBAIC0yMTEwLDYgKzIxMjksMTcgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZS ZWxTdGF0ZSAqdmFjcmVsKQogCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1Nf VkFDVVVNX05VTV9JTkRFWF9WQUNVVU1TLAogCQkJCQkJCQkgdmFjcmVsLT5udW1faW5kZXhfc2Nh bnMpOwogCisJLyoKKwkgKiBTZXQgdGhlIE1heGltdW0gaW5kZXggdmFjdXVtIGN5Y2xlIHRpbWUu CisJICoKKwkgKiBJZiB0aGlzIGN5Y2xlIHRvb2sgbG9uZ2VyIHRoYW4gYW55IHByZXZpb3VzIGN5 Y2xlLCByZXNldCB0aGUgbWF4X2luZGV4X2N5Y2xlX3RpbWUgdGltZS4KKwkgKi8KKwlpbmRleF9j eWNsZV9lbGFwc2VkX21zID0gcGdfcnVzYWdlX2VsYXBzZWRfbXMoJnJ1MCk7CisJaWYgKGluZGV4 X2N5Y2xlX2VsYXBzZWRfbXMgPiB2YWNyZWwtPm1heF9pbmRleF9jeWNsZV90aW1lKSB7CisJCXZh Y3JlbC0+bWF4X2luZGV4X2N5Y2xlX3RpbWUgPSBpbmRleF9jeWNsZV9lbGFwc2VkX21zOworCQlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9NQVhfQ1lDTEVfVElN RSwgaW5kZXhfY3ljbGVfZWxhcHNlZF9tcyk7CisJfQorCiAJcmV0dXJuIGFsbGluZGV4ZXM7CiB9 CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMgYi9zcmMv YmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jCmluZGV4IGRmY2UwNmRjNDkuLjE0ODFmYjQx ZWEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKKysrIGIv c3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYwpAQCAtMTI3Miw2ICsxMjcyLDggQEAg YmFja3RyYWNrOgogCQkJCQkJCQludXBkYXRhYmxlKTsKIAogCQkJc3RhdHMtPnR1cGxlc19yZW1v dmVkICs9IG5odGlkc2RlYWQ7CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dS RVNTX1ZBQ1VVTV9ERUFEX1RVUExFU19WQUNVVU1FRCwgc3RhdHMtPnR1cGxlc19yZW1vdmVkKTsK KwogCQkJLyogbXVzdCByZWNvbXB1dGUgbWF4b2ZmICovCiAJCQltYXhvZmYgPSBQYWdlR2V0TWF4 T2Zmc2V0TnVtYmVyKHBhZ2UpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3Bn aXN0L3NwZ3ZhY3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYwpp bmRleCA3NmZiMDM3NGM0Li45ODlhNTBlZjg2IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nl c3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3Bn dmFjdXVtLmMKQEAgLTIxLDggKzIxLDEwIEBACiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIK ICNpbmNsdWRlICJhY2Nlc3MveGxvZ2luc2VydC5oIgogI2luY2x1ZGUgImNhdGFsb2cvc3RvcmFn ZV94bG9nLmgiCisjaW5jbHVkZSAiY29tbWFuZHMvcHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJjb21t YW5kcy92YWN1dW0uaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQu aCIKICNpbmNsdWRlICJzdG9yYWdlL2J1Zm1nci5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaW5kZXhm c20uaCIKICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKQEAgLTE2MCw2ICsxNjIsNyBAQCB2YWN1 dW1MZWFmUGFnZShzcGdCdWxrRGVsZXRlU3RhdGUgKmJkcywgUmVsYXRpb24gaW5kZXgsIEJ1ZmZl ciBidWZmZXIsCiAJCQkJYmRzLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQgKz0gMTsKIAkJCQlkZWxl dGFibGVbaV0gPSB0cnVlOwogCQkJCW5EZWxldGFibGUrKzsKKwkJCQlwZ3N0YXRfcHJvZ3Jlc3Nf dXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9ERUFEX1RVUExFU19WQUNVVU1FRCwgYmRzLT5z dGF0cy0+dHVwbGVzX3JlbW92ZWQpOwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtNDMwLDYgKzQz Myw3IEBAIHZhY3V1bUxlYWZSb290KHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBSZWxhdGlvbiBp bmRleCwgQnVmZmVyIGJ1ZmZlcikKIAkJCQliZHMtPnN0YXRzLT50dXBsZXNfcmVtb3ZlZCArPSAx OwogCQkJCXRvRGVsZXRlW3hscmVjLm5EZWxldGVdID0gaTsKIAkJCQl4bHJlYy5uRGVsZXRlKys7 CisJCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fREVBRF9U VVBMRVNfVkFDVVVNRUQsIGJkcy0+c3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkJCX0KIAkJCWVs c2UKIAkJCXsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNx bCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAppbmRleCA2MWI1MTVjZGI4 Li43ODhhMTgyNGNjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3 cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMTI0 LDkgKzExMjQsMjAgQEAgQ1JFQVRFIFZJRVcgcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gQVMKICAg ICAgICAgICAgICAgICAgICAgICBFTkQgQVMgcGhhc2UsCiAgICAgICAgIFMucGFyYW0yIEFTIGhl YXBfYmxrc190b3RhbCwgUy5wYXJhbTMgQVMgaGVhcF9ibGtzX3NjYW5uZWQsCiAgICAgICAgIFMu cGFyYW00IEFTIGhlYXBfYmxrc192YWN1dW1lZCwgUy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2Nv dW50LAotICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51 bV9kZWFkX3R1cGxlcworICAgICAgICBTLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFy YW03IEFTIG51bV9kZWFkX3R1cGxlcywKKyAgICAgICAgUy5wYXJhbTExIEFTIHRvdGFsX2luZGV4 X3ZhY3V1bSwgUy5wYXJhbTEyIEFTIG1heF9pbmRleF92YWN1dW1fY3ljbGVfdGltZQogICAgIEZS T00gcGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJykgQVMgUwotICAgICAgICBMRUZU IEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQ7CisgICAgICAgIExFRlQgSk9J TiBwZ19kYXRhYmFzZSBEIE9OIFMuZGF0aWQgPSBELm9pZAorICAgIFdIRVJFIFMucGlkID0gUy5w YXJhbTk7IC0tIHNob3cgdmFjdXVtIHByb2dyZXNzIGZvciB0aGUgbGVhZGVyIFBJRCBvbmx5CisK K0NSRUFURSBWSUVXIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4IEFTCisgICAgU0VMRUNU CisgICAgICAgIFMucGlkIEFTIHBpZCwgUy5wYXJhbTkgQVMgbGVhZGVyX3BpZCwKKyAgICAgICAg Uy5wYXJhbTggQVMgaW5kZXhyZWxpZCwgUy5wYXJhbTEwIEFTIHZhY3V1bV9jeWNsZV9vcmRpbmFs X3Bvc2l0aW9uLAorICAgICAgICBTLnBhcmFtMTMgQVMgaW5kZXhfcm93c192YWN1dW1lZAorICAg IEZST00gcGdfc3RhdF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJykgQVMgUworICAgICAgICBM RUZUIEpPSU4gcGdfZGF0YWJhc2UgRCBPTiBTLmRhdGlkID0gRC5vaWQKKyAgICBXSEVSRSBTLnBh cmFtOCA+IDA7IC0tIHNob3cgdmFjdXVtIHByb2dyZXNzIGZvciBhIFBJRCB0aGF0IGhhcyBhZHZl cnRpc2VkIGFuIGluZGV4IHJlbGlkCiAKIENSRUFURSBWSUVXIHBnX3N0YXRfcHJvZ3Jlc3NfY2x1 c3RlciBBUwogICAgIFNFTEVDVApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFj dXVtcGFyYWxsZWwuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKaW5k ZXggMGQ2MWM4ZWM3NC4uMWVkYTU3ODVlNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvdmFjdXVtcGFyYWxsZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJh bGxlbC5jCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiYWNjZXNzL2FtYXBpLmgiCiAjaW5j bHVkZSAiYWNjZXNzL3RhYmxlLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9pbmRleC5oIgorI2luY2x1 ZGUgImNvbW1hbmRzL3Byb2dyZXNzLmgiCiAjaW5jbHVkZSAiY29tbWFuZHMvdmFjdXVtLmgiCiAj aW5jbHVkZSAib3B0aW1pemVyL3BhdGhzLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCkBAIC0yMDYs NyArMjA3LDcgQEAgc3RhdGljIHZvaWQgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4 ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBpbnQgbnUKIHN0YXRpYyB2b2lkIHBhcmFsbGVs X3ZhY3V1bV9wcm9jZXNzX3NhZmVfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMpOwog c3RhdGljIHZvaWQgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfdW5zYWZlX2luZGV4ZXMoUGFyYWxs ZWxWYWN1dW1TdGF0ZSAqcHZzKTsKIHN0YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNz X29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0aW9uIGluZHJlbCwKLQkJ CQkJCQkJCQkJICBQVkluZFN0YXRzICppbmRzdGF0cyk7CisJCQkJCQkJCQkJCSAgUFZJbmRTdGF0 cyAqaW5kc3RhdHMsIGludCBvcmRpbmFsX3Bvc2l0aW9uKTsKIHN0YXRpYyBib29sIHBhcmFsbGVs X3ZhY3V1bV9pbmRleF9pc19wYXJhbGxlbF9zYWZlKFJlbGF0aW9uIGluZHJlbCwgaW50IG51bV9p bmRleF9zY2FucywKIAkJCQkJCQkJCQkJCSAgIGJvb2wgdmFjdXVtKTsKIHN0YXRpYyB2b2lkIHBh cmFsbGVsX3ZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpOwpAQCAtNzU0LDcgKzc1NSw3 IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3NhZmVfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0 YXRlICpwdnMpCiAJCQljb250aW51ZTsKIAogCQkvKiBEbyB2YWN1dW0gb3IgY2xlYW51cCBvZiB0 aGUgaW5kZXggKi8KLQkJcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KHB2cywgcHZz LT5pbmRyZWxzW2lkeF0sIGluZHN0YXRzKTsKKwkJcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25l X2luZGV4KHB2cywgcHZzLT5pbmRyZWxzW2lkeF0sIGluZHN0YXRzLCBpZHggKyAxKTsKIAl9CiAK IAkvKgpAQCAtNzk1LDcgKzc5Niw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX3Vuc2FmZV9p bmRleGVzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cykKIAkJCWNvbnRpbnVlOwogCiAJCS8qIERv IHZhY3V1bSBvciBjbGVhbnVwIG9mIHRoZSBpbmRleCAqLwotCQlwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19vbmVfaW5kZXgocHZzLCBwdnMtPmluZHJlbHNbaV0sIGluZHN0YXRzKTsKKwkJcGFyYWxs ZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KHB2cywgcHZzLT5pbmRyZWxzW2ldLCBpbmRzdGF0 cywgaSArIDEpOwogCX0KIAogCS8qCkBAIC04MTQsNyArODE1LDcgQEAgcGFyYWxsZWxfdmFjdXVt X3Byb2Nlc3NfdW5zYWZlX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKQogICovCiBz dGF0aWMgdm9pZAogcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFj dXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAotCQkJCQkJCQkgIFBWSW5kU3RhdHMgKmlu ZHN0YXRzKQorCQkJCQkJCQkgIFBWSW5kU3RhdHMgKmluZHN0YXRzLCBpbnQgb3JkaW5hbF9wb3Np dGlvbikKIHsKIAlJbmRleEJ1bGtEZWxldGVSZXN1bHQgKmlzdGF0ID0gTlVMTDsKIAlJbmRleEJ1 bGtEZWxldGVSZXN1bHQgKmlzdGF0X3JlczsKQEAgLTg0Miw3ICs4NDMsMTQgQEAgcGFyYWxsZWxf dmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRp b24gaW5kcmVsLAogCXN3aXRjaCAoaW5kc3RhdHMtPnN0YXR1cykKIAl7CiAJCWNhc2UgUEFSQUxM RUxfSU5EVkFDX1NUQVRVU19ORUVEX0JVTEtERUxFVEU6CisJCQkvKiBBZHZlcnRpc2UgdGhlIGlu ZGV4IHRoYXQgaXMgYmVpbmcgdmFjdXVtZWQgYW5kIHRoZSB2YWN1dW0gb3JkZXIgb2YgdGhlIGlu ZGV4ICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9D VVJSRU5UX0lORFJFTElELCBpbmRyZWwtPnJkX2lkKTsKKwkJCXBnc3RhdF9wcm9ncmVzc191cGRh dGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYX09SRElOQUwsIG9yZGluYWxfcG9zaXRpb24p OworCiAJCQlpc3RhdF9yZXMgPSB2YWNfYnVsa2RlbF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQs IHB2cy0+ZGVhZF9pdGVtcyk7CisKKwkJCS8qIEFkdmVydGlzZSB0aGF0IHdlIGFyZSBkb25lIHZh Y3V1bWluZyB0aGUgaW5kZXggKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJP R1JFU1NfVkFDVVVNX0NVUlJFTlRfSU5EUkVMSUQsIDApOwogCQkJYnJlYWs7CiAJCWNhc2UgUEFS QUxMRUxfSU5EVkFDX1NUQVRVU19ORUVEX0NMRUFOVVA6CiAJCQlpc3RhdF9yZXMgPSB2YWNfY2xl YW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQpOwpAQCAtOTQyLDYgKzk1MCw3IEBAIHBhcmFs bGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAlpbnQJCQlu aW5kZXhlczsKIAljaGFyCSAgICpzaGFyZWRxdWVyeTsKIAlFcnJvckNvbnRleHRDYWxsYmFjayBl cnJjYWxsYmFjazsKKwlQR1BST0MgICAgICpsZWFkZXIgPSBNeVByb2MtPmxvY2tHcm91cExlYWRl cjsKIAogCS8qCiAJICogQSBwYXJhbGxlbCB2YWN1dW0gd29ya2VyIG11c3QgaGF2ZSBvbmx5IFBS T0NfSU5fVkFDVVVNIGZsYWcgc2luY2Ugd2UKQEAgLTk2NSw2ICs5NzQsMTAgQEAgcGFyYWxsZWxf dmFjdXVtX21haW4oZHNtX3NlZ21lbnQgKnNlZywgc2htX3RvYyAqdG9jKQogCSAqLwogCXJlbCA9 IHRhYmxlX29wZW4oc2hhcmVkLT5yZWxpZCwgU2hhcmVVcGRhdGVFeGNsdXNpdmVMb2NrKTsKIAor CXBnc3RhdF9wcm9ncmVzc19zdGFydF9jb21tYW5kKFBST0dSRVNTX0NPTU1BTkRfVkFDVVVNLAor CQkJCQkJCQkgIFJlbGF0aW9uR2V0UmVsaWQocmVsKSk7CisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0 ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fTEVBREVSX1BJRCwgbGVhZGVyLT5waWQpOworCiAJLyoK IAkgKiBPcGVuIGFsbCBpbmRleGVzLiBpbmRyZWxzIGFyZSBzb3J0ZWQgaW4gb3JkZXIgYnkgT0lE LCB3aGljaCBzaG91bGQgYmUKIAkgKiBtYXRjaGVkIHRvIHRoZSBsZWFkZXIncyBvbmUuCkBAIC0x MDM1LDYgKzEwNDgsNyBAQCBwYXJhbGxlbF92YWN1dW1fbWFpbihkc21fc2VnbWVudCAqc2VnLCBz aG1fdG9jICp0b2MpCiAJdmFjX2Nsb3NlX2luZGV4ZXMobmluZGV4ZXMsIGluZHJlbHMsIFJvd0V4 Y2x1c2l2ZUxvY2spOwogCXRhYmxlX2Nsb3NlKHJlbCwgU2hhcmVVcGRhdGVFeGNsdXNpdmVMb2Nr KTsKIAlGcmVlQWNjZXNzU3RyYXRlZ3kocHZzLmJzdHJhdGVneSk7CisJcGdzdGF0X3Byb2dyZXNz X2VuZF9jb21tYW5kKCk7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9t aXNjL3BnX3J1c2FnZS5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wZ19ydXNhZ2UuYwppbmRl eCBiYjVkOWU3Yzg1Li4xNDM2MmQ3ZDY1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9t aXNjL3BnX3J1c2FnZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcGdfcnVzYWdlLmMK QEAgLTE5LDYgKzE5LDI3IEBACiAKICNpbmNsdWRlICJ1dGlscy9wZ19ydXNhZ2UuaCIKIAordm9p ZCBydXNhZ2VfYWRqdXN0KGNvbnN0IFBHUlVzYWdlICpydTAsIFBHUlVzYWdlICpydTEpOworCit2 b2lkCitydXNhZ2VfYWRqdXN0KGNvbnN0IFBHUlVzYWdlICpydTAsIFBHUlVzYWdlICpydTEpCit7 CisJaWYgKHJ1MS0+dHYudHZfdXNlYyA8IHJ1MC0+dHYudHZfdXNlYykKKwl7CisJCXJ1MS0+dHYu dHZfc2VjLS07CisJCXJ1MS0+dHYudHZfdXNlYyArPSAxMDAwMDAwOworCX0KKwlpZiAocnUxLT5y dS5ydV9zdGltZS50dl91c2VjIDwgcnUwLT5ydS5ydV9zdGltZS50dl91c2VjKQorCXsKKwkJcnUx LT5ydS5ydV9zdGltZS50dl9zZWMtLTsKKwkJcnUxLT5ydS5ydV9zdGltZS50dl91c2VjICs9IDEw MDAwMDA7CisJfQorCWlmIChydTEtPnJ1LnJ1X3V0aW1lLnR2X3VzZWMgPCBydTAtPnJ1LnJ1X3V0 aW1lLnR2X3VzZWMpCisJeworCQlydTEtPnJ1LnJ1X3V0aW1lLnR2X3NlYy0tOworCQlydTEtPnJ1 LnJ1X3V0aW1lLnR2X3VzZWMgKz0gMTAwMDAwMDsKKwl9Cit9CiAKIC8qCiAgKiBJbml0aWFsaXpl IHVzYWdlIHNuYXBzaG90LgpAQCAtNDQsMjEgKzY1LDcgQEAgcGdfcnVzYWdlX3Nob3coY29uc3Qg UEdSVXNhZ2UgKnJ1MCkKIAogCXBnX3J1c2FnZV9pbml0KCZydTEpOwogCi0JaWYgKHJ1MS50di50 dl91c2VjIDwgcnUwLT50di50dl91c2VjKQotCXsKLQkJcnUxLnR2LnR2X3NlYy0tOwotCQlydTEu dHYudHZfdXNlYyArPSAxMDAwMDAwOwotCX0KLQlpZiAocnUxLnJ1LnJ1X3N0aW1lLnR2X3VzZWMg PCBydTAtPnJ1LnJ1X3N0aW1lLnR2X3VzZWMpCi0JewotCQlydTEucnUucnVfc3RpbWUudHZfc2Vj LS07Ci0JCXJ1MS5ydS5ydV9zdGltZS50dl91c2VjICs9IDEwMDAwMDA7Ci0JfQotCWlmIChydTEu cnUucnVfdXRpbWUudHZfdXNlYyA8IHJ1MC0+cnUucnVfdXRpbWUudHZfdXNlYykKLQl7Ci0JCXJ1 MS5ydS5ydV91dGltZS50dl9zZWMtLTsKLQkJcnUxLnJ1LnJ1X3V0aW1lLnR2X3VzZWMgKz0gMTAw MDAwMDsKLQl9CisJcnVzYWdlX2FkanVzdChydTAsICZydTEpOwogCiAJc25wcmludGYocmVzdWx0 LCBzaXplb2YocmVzdWx0KSwKIAkJCSBfKCJDUFU6IHVzZXI6ICVkLiUwMmQgcywgc3lzdGVtOiAl ZC4lMDJkIHMsIGVsYXBzZWQ6ICVkLiUwMmQgcyIpLApAQCAtNzEsMyArNzgsMjIgQEAgcGdfcnVz YWdlX3Nob3coY29uc3QgUEdSVXNhZ2UgKnJ1MCkKIAogCXJldHVybiByZXN1bHQ7CiB9CisKKy8q CisgKiBDb21wdXRlIGVsYXBzZWQgdGltZSBzaW5jZSBydTAgdXNhZ2Ugc25hcHNob3QsIGFuZCBy ZXR1cm4gdGhlCisgKiB2YWx1ZSBpbiBNaWxsaXNlY29uZHMuCisgKi8KK2NvbnN0IGludDY0Citw Z19ydXNhZ2VfZWxhcHNlZF9tcyhjb25zdCBQR1JVc2FnZSAqcnUwKQoreworCXN0YXRpYyBpbnQ2 NCByZXN1bHQ7CisJUEdSVXNhZ2UgICAgcnUxOworCisJcGdfcnVzYWdlX2luaXQoJnJ1MSk7CisK KwlydXNhZ2VfYWRqdXN0KHJ1MCwgJnJ1MSk7CisKKwlyZXN1bHQgPSAoaW50NjQpIChydTEudHYu dHZfc2VjIC0gcnUwLT50di50dl9zZWMpICogMTAwMCArICgoaW50NjQpIChydTEudHYudHZfdXNl YyAtIHJ1MC0+dHYudHZfdXNlYykgLyAxMDAwKTsKKworCXJldHVybiByZXN1bHQ7Cit9CmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oIGIvc3JjL2luY2x1ZGUvY29t bWFuZHMvcHJvZ3Jlc3MuaAppbmRleCBkN2JmMTYzNjhiLi4xZDI1YTZiMzQ1IDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Byb2dyZXNzLmgKQEAgLTE4LDEzICsxOCwxOSBAQAogI2RlZmluZSBQUk9HUkVTU19ICiAK IC8qIFByb2dyZXNzIHBhcmFtZXRlcnMgZm9yIChsYXp5KSB2YWN1dW0gKi8KLSNkZWZpbmUgUFJP R1JFU1NfVkFDVVVNX1BIQVNFCQkJCQkwCi0jZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9UT1RBTF9I RUFQX0JMS1MJCQkxCi0jZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9IRUFQX0JMS1NfU0NBTk5FRAkJ MgotI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fSEVBUF9CTEtTX1ZBQ1VVTUVECQkzCi0jZGVmaW5l IFBST0dSRVNTX1ZBQ1VVTV9OVU1fSU5ERVhfVkFDVVVNUwkJNAotI2RlZmluZSBQUk9HUkVTU19W QUNVVU1fTUFYX0RFQURfVFVQTEVTCQkJNQotI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTlVNX0RF QURfVFVQTEVTCQkJNgorI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0UJCQkJCSAwCisjZGVm aW5lIFBST0dSRVNTX1ZBQ1VVTV9UT1RBTF9IRUFQX0JMS1MJCQkgMQorI2RlZmluZSBQUk9HUkVT U19WQUNVVU1fSEVBUF9CTEtTX1NDQU5ORUQJCSAyCisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9I RUFQX0JMS1NfVkFDVVVNRUQJCSAzCisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9OVU1fSU5ERVhf VkFDVVVNUwkJIDQKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX01BWF9ERUFEX1RVUExFUwkJCSA1 CisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9OVU1fREVBRF9UVVBMRVMJCQkgNgorI2RlZmluZSBQ Uk9HUkVTU19WQUNVVU1fQ1VSUkVOVF9JTkRSRUxJRCAgICAgICAgIDcKKyNkZWZpbmUgUFJPR1JF U1NfVkFDVVVNX0xFQURFUl9QSUQgICAgICAgICAgICAgICA4CisjZGVmaW5lIFBST0dSRVNTX1ZB Q1VVTV9JTkRFWF9PUkRJTkFMCQkJIDkKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX1RPVEFMX0lO REVYX1ZBQ1VVTQkJIDEwCisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9NQVhfQ1lDTEVfVElNRQkJ CSAxMQorI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fREVBRF9UVVBMRVNfVkFDVVVNRUQJIDEyCiAK IC8qIFBoYXNlcyBvZiB2YWN1dW0gKGFzIGFkdmVydGlzZWQgdmlhIFBST0dSRVNTX1ZBQ1VVTV9Q SEFTRSkgKi8KICNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX1BIQVNFX1NDQU5fSEVBUAkJCTEKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3BnX3J1c2FnZS5oIGIvc3JjL2luY2x1ZGUvdXRp bHMvcGdfcnVzYWdlLmgKaW5kZXggYzBkZWY4MDRlZS4uMDI2ZjgyMzE1NSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvdXRpbHMvcGdfcnVzYWdlLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcGdf cnVzYWdlLmgKQEAgLTMzLDUgKzMzLDYgQEAgdHlwZWRlZiBzdHJ1Y3QgUEdSVXNhZ2UKIAogZXh0 ZXJuIHZvaWQgcGdfcnVzYWdlX2luaXQoUEdSVXNhZ2UgKnJ1MCk7CiBleHRlcm4gY29uc3QgY2hh ciAqcGdfcnVzYWdlX3Nob3coY29uc3QgUEdSVXNhZ2UgKnJ1MCk7CitleHRlcm4gY29uc3QgaW50 NjQgcGdfcnVzYWdlX2VsYXBzZWRfbXMoY29uc3QgUEdSVXNhZ2UgKnJ1MCk7CiAKICNlbmRpZgkJ CQkJCQkvKiBQR19SVVNBR0VfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRl eCBiNThiMDYyYjEwLi4yMmM1NGIzNmYxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dApAQCAtMjAyNCw5ICsyMDI0LDIwIEBAIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtfCBTRUxFQ1Qg cy5waWQsCiAgICAgcy5wYXJhbTQgQVMgaGVhcF9ibGtzX3ZhY3V1bWVkLAogICAgIHMucGFyYW01 IEFTIGluZGV4X3ZhY3V1bV9jb3VudCwKICAgICBzLnBhcmFtNiBBUyBtYXhfZGVhZF90dXBsZXMs Ci0gICAgcy5wYXJhbTcgQVMgbnVtX2RlYWRfdHVwbGVzCisgICAgcy5wYXJhbTcgQVMgbnVtX2Rl YWRfdHVwbGVzLAorICAgIHMucGFyYW0xMSBBUyB0b3RhbF9pbmRleF92YWN1dW0sCisgICAgcy5w YXJhbTEyIEFTIG1heF9pbmRleF92YWN1dW1fY3ljbGVfdGltZQogICAgRlJPTSAocGdfc3RhdF9n ZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhwaWQsIGRhdGlkLCByZWxpZCwgcGFy YW0xLCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJh bTgsIHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwg cGFyYW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKLSAg ICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRhdGlkID0gZC5vaWQpKSk7CisgICAg IExFRlQgSk9JTiBwZ19kYXRhYmFzZSBkIE9OICgocy5kYXRpZCA9IGQub2lkKSkpCisgIFdIRVJF IChzLnBpZCA9IHMucGFyYW05KTsKK3BnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4fCBTRUxF Q1Qgcy5waWQsCisgICAgcy5wYXJhbTkgQVMgbGVhZGVyX3BpZCwKKyAgICBzLnBhcmFtOCBBUyBp bmRleHJlbGlkLAorICAgIHMucGFyYW0xMCBBUyB2YWN1dW1fY3ljbGVfb3JkaW5hbF9wb3NpdGlv biwKKyAgICBzLnBhcmFtMTMgQVMgaW5kZXhfcm93c192YWN1dW1lZAorICAgRlJPTSAocGdfc3Rh dF9nZXRfcHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhwaWQsIGRhdGlkLCByZWxpZCwg cGFyYW0xLCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBw YXJhbTgsIHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0x NCwgcGFyYW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkK KyAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRhdGlkID0gZC5vaWQpKSkKKyAg V0hFUkUgKHMucGFyYW04ID4gMCk7CiBwZ19zdGF0X3JlcGxpY2F0aW9ufCBTRUxFQ1Qgcy5waWQs CiAgICAgcy51c2VzeXNpZCwKICAgICB1LnJvbG5hbWUgQVMgdXNlbmFtZSwKLS0gCjIuMzIuMAoK --_002_39E8ED0856E6446693BF3FD3D51EE52Camazoncom_--