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 1mJgOm-0001VZ-P3 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Aug 2021 18:16:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mJgOk-000061-TA for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Aug 2021 18:16:14 +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 1mJgOk-00005n-Gc for pgsql-hackers@lists.postgresql.org; Fri, 27 Aug 2021 18:16:14 +0000 Received: from smtp-fw-6001.amazon.com ([52.95.48.154]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mJgOc-0003TY-Uo for pgsql-hackers@postgresql.org; Fri, 27 Aug 2021 18:16:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1630088167; x=1661624167; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=Ahycv+bTLly7UO/eMFz3KuNV2KW1EiyzVeAABu8YIJs=; b=rGYJ5Wxfp0r2GuYKXhOQIw2R4F2OiWn5fH0z7M4uJiFP3Kh3J3I7XL4B WRhdC++1+WcU0+Wcmqh/qEfsi2AXixDViXzUdO4EeFGtqdcWqGajKOQBD cuFW3b8NnznzXcXofyK9pBDZrsKdzWt5DbkRwzI7gT+gPHqUZ4VJz+zNI Y=; X-Amazon-filename: v4-0001-introduce-option-for-retreiving-shmem-size.patch X-IronPort-AV: E=Sophos;i="5.84,357,1620691200"; d="scan'208,223";a="137292046" Subject: Re: Estimating HugePages Requirements? Thread-Topic: Estimating HugePages Requirements? Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2a-538b0bfb.us-west-2.amazon.com) ([10.43.8.6]) by smtp-border-fw-6001.iad6.amazon.com with ESMTP; 27 Aug 2021 18:16:04 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2a-538b0bfb.us-west-2.amazon.com (Postfix) with ESMTPS id 876F4A236D; Fri, 27 Aug 2021 18:16:02 +0000 (UTC) Received: from EX13D03UWC003.ant.amazon.com (10.43.162.79) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 27 Aug 2021 18:16:02 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC003.ant.amazon.com (10.43.162.79) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Fri, 27 Aug 2021 18:16:01 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.023; Fri, 27 Aug 2021 18:16:01 +0000 From: "Bossart, Nathan" To: Magnus Hagander , Michael Paquier CC: Andres Freund , Mark Dilger , Don Seiler , "pgsql-hackers@postgresql.org" Thread-Index: AQHXXVFlwPnSpTb+9Euy6igCA88w9KsLstEAgACWWACAX2qpAIAAxOqAgAJnLACAGIQDgIAAhGWA///G4oA= Date: Fri, 27 Aug 2021 18:16:01 +0000 Message-ID: <907F88C0-54F6-4E4A-A4D0-2DB2353AA749@amazon.com> References: <73A4E25F-1039-4FC9-8E6E-0A00230BDFB8@enterprisedb.com> <92BB93C3-1AA8-4548-96F7-062C4AF09182@amazon.com> <20210810034205.r72j5uouynepj4f2@alap3.anarazel.de> <0545F7B3-70C0-4DE8-8C85-EAFE6113B7EE@amazon.com> In-Reply-To: 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.160.241] Content-Type: multipart/mixed; boundary="_002_907F88C054F64E4AA4D02DB2353AA749amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_907F88C054F64E4AA4D02DB2353AA749amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <6CEBEE685BB8284E9B36350211667F65@amazon.com> Content-Transfer-Encoding: base64 T24gOC8yNy8yMSwgNzo0MSBBTSwgIk1hZ251cyBIYWdhbmRlciIgPG1hZ251c0BoYWdhbmRlci5u ZXQ+IHdyb3RlOg0KPiBPbiBGcmksIEF1ZyAyNywgMjAyMSBhdCA4OjQ2IEFNIE1pY2hhZWwgUGFx dWllciA8bWljaGFlbEBwYXF1aWVyLnh5ej4gd3JvdGU6DQo+PiBPbiBXZWQsIEF1ZyAxMSwgMjAy MSBhdCAxMToyMzo1MlBNICswMDAwLCBCb3NzYXJ0LCBOYXRoYW4gd3JvdGU6DQo+PiA+IFdoaWxl IHRlc3RpbmcgdGhpcyBuZXcgb3B0aW9uLCBJIG5vdGljZWQgdGhhdCB5b3UgY2FuIGFjaGlldmUg c2ltaWxhcg0KPj4gPiByZXN1bHRzIHRvZGF5IHdpdGggdGhlIGZvbGxvd2luZyBjb21tYW5kLCBh bHRob3VnaCB0aGlzIG9uZSB3aWxsDQo+PiA+IGFjdHVhbGx5IHRyeSB0byBjcmVhdGUgdGhlIHNo YXJlZCBtZW1vcnksIHRvby4NCj4+DQo+PiBUaGF0IG1heSBub3QgYmUgdGhlIGJlc3Qgb3B0aW9u Lg0KPg0KPiBJIHdvdWxkIHNheSB0aGF0IGNhbiBiZSBhIGRpc2FzdHJvdXMgb3B0aW9uLg0KPg0K PiBGaXJzdCBvZiBhbGwgaXQgd291bGQgcHJvYmFibHkgbm90IHdvcmsgaWYgeW91IGFscmVhZHkg aGF2ZSBzb21ldGhpbmcNCj4gcnVubmluZyAtLSBlc3BlY2lhbGx5IHdoZW4gdXNpbmcgaHVnZSBw YWdlcy4gQW5kIGlmIGl0IGRvZXMgd29yaywgaW4NCj4gdGhhdCBvciBvdGhlciBzY2VuYXJpb3Ms IGl0IGNhbiBwb3RlbnRpYWxseSBoYXZlIHNpZ25pZmljYW50IGltcGFjdCBvbg0KPiBhIHJ1bm5p bmcgY2x1c3RlciB0byBzdWRkZW5seSBhbGxvY2F0ZSBtYW55IEdCIG9mIG1vcmUgbWVtb3J5Li4u DQoNClRoZSB2MyBwYXRjaCBhY3R1YWxseSBkaWRuJ3Qgd29yayBpZiB0aGUgc2VydmVyIHdhcyBh bHJlYWR5IHJ1bm5pbmcuDQpJIHJlbW92ZWQgdGhhdCByZXN0cmljdGlvbiBpbiB2NC4NCg0KPj4g PiBJTU8gdGhlIG5ldyBvcHRpb24gaXMgc3RpbGwgaGFuZHksIGJ1dCBJIGNhbiBzZWUgdGhlIGFy Z3VtZW50IHRoYXQgaXQNCj4+ID4gbWlnaHQgbm90IGJlIG5lY2Vzc2FyeS4NCj4+DQo+PiBBIHNl cGFyYXRlIG9wdGlvbiBsb29rcyBoYW5keS4gIFdvdWxkbid0IGl0IGJlIGJldHRlciB0byBkb2N1 bWVudCBpdA0KPj4gaW4gcG9zdGdyZXMtcmVmLnNnbWwgdGhlbj8NCj4NCj4gSSdkIHNheSBhIGxv dCBtb3JlIHRoYW4ganVzdCBoYW5keS4gSSBkb24ndCB0aGluayB0aGUgd29ya2Fyb3VuZCBpcw0K PiByZWFsbHkgYWxsIHRoYXQgdXNlZnVsLg0KDQpJIGFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBp biB2NC4NCg0KTmF0aGFuICANCg0K --_002_907F88C054F64E4AA4D02DB2353AA749amazoncom_ Content-Type: application/octet-stream; name="v4-0001-introduce-option-for-retreiving-shmem-size.patch" Content-Description: v4-0001-introduce-option-for-retreiving-shmem-size.patch Content-Disposition: attachment; filename="v4-0001-introduce-option-for-retreiving-shmem-size.patch"; size=13837; creation-date="Fri, 27 Aug 2021 18:16:01 GMT"; modification-date="Fri, 27 Aug 2021 18:16:01 GMT" Content-ID: <3C986B85419EE544BC665A38C969B921@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBkZmYxZDJiNTdhNjVhZGE0MTIzODZiM2RjZTJmMWNmNmQ4NDA5Y2FjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogRnJpLCAyNyBBdWcgMjAyMSAxNzo1NDoyNiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjQg MS8xXSBpbnRyb2R1Y2Ugb3B0aW9uIGZvciByZXRyZWl2aW5nIHNobWVtIHNpemUKCi0tLQogZG9j L3NyYy9zZ21sL3JlZi9wb3N0Z3Jlcy1yZWYuc2dtbCB8ICAxNyArKysrKwogZG9jL3NyYy9zZ21s L3J1bnRpbWUuc2dtbCAgICAgICAgICB8ICAxNyArKy0tLQogc3JjL2JhY2tlbmQvYm9vdHN0cmFw L2Jvb3RzdHJhcC5jICB8ICAyNSArKysrKy0tCiBzcmMvYmFja2VuZC9tYWluL21haW4uYyAgICAg ICAgICAgIHwgICA2ICstCiBzcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMgICAgIHwgMTQy ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIHNyYy9pbmNsdWRlL2Jvb3Rz dHJhcC9ib290c3RyYXAuaCAgfCAgIDIgKy0KIHNyYy9pbmNsdWRlL3N0b3JhZ2UvaXBjLmggICAg ICAgICAgfCAgIDEgKwogNyBmaWxlcyBjaGFuZ2VkLCAxMzIgaW5zZXJ0aW9ucygrKSwgNzggZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9wb3N0Z3Jlcy1yZWYuc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvcG9zdGdyZXMtcmVmLnNnbWwKaW5kZXggNGFhYTdhYmUxYS4u ZGEyMGZiNTU5YSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9wb3N0Z3Jlcy1yZWYuc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3Bvc3RncmVzLXJlZi5zZ21sCkBAIC0yODAsNiArMjgw LDIzIEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgICAgPC9saXN0aXRlbT4KICAgICAg PC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRp b24+LS1vdXRwdXQtc2htZW08L29wdGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAg ICAgPHBhcmE+CisgICAgICAgIFByaW50cyB0aGUgYW1vdW50IG9mIHNoYXJlZCBtZW1vcnkgcmVx dWlyZWQgZm9yIHRoZSBjdXJyZW50CisgICAgICAgIGNvbmZpZ3VyYXRpb24gYW5kIGV4aXRzLiAg VGhpcyBjYW4gYmUgdXNlZCBvbiBhIHJ1bm5pbmcgc2VydmVyLgorICAgICAgICBUaGlzIG11c3Qg YmUgdGhlIGZpcnN0IGFyZ3VtZW50IG9uIHRoZSBjb21tYW5kIGxpbmUuCisgICAgICAgPC9wYXJh PgorCisgICAgICAgPHBhcmE+CisgICAgICAgIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCBmb3IgZGV0 ZXJtaW5pbmcgdGhlIG51bWJlciBvZiBodWdlIHBhZ2VzIG5lZWRlZAorICAgICAgICBmb3IgdGhl IHNlcnZlci4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUKKyAgICAgICAgPHhyZWYgbGlua2Vu ZD0ibGludXgtaHVnZS1wYWdlcyIvPi4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVt PgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKwogICAgICA8dmFybGlzdGVudHJ5PgogICAgICAgPHRl cm0+PG9wdGlvbj4tcCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cG9ydDwvcmVwbGFj ZWFibGU+PC9vcHRpb24+PC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3J1bnRpbWUuc2dtbCBiL2RvYy9zcmMvc2dtbC9ydW50aW1lLnNnbWwKaW5kZXgg ZjFjYmMxZDllOS4uNTM1ZWFjYWRiMiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3J1bnRpbWUu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcnVudGltZS5zZ21sCkBAIC0xNDQyLDE3ICsxNDQyLDE0 IEBAIGV4cG9ydCBQR19PT01fQURKVVNUX1ZBTFVFPTAKICAgICB3aXRoIDx2YXJuYW1lPkNPTkZJ R19IVUdFVExCRlM9eTwvdmFybmFtZT4gYW5kCiAgICAgPHZhcm5hbWU+Q09ORklHX0hVR0VUTEJf UEFHRT15PC92YXJuYW1lPi4gWW91IHdpbGwgYWxzbyBoYXZlIHRvIGNvbmZpZ3VyZQogICAgIHRo ZSBvcGVyYXRpbmcgc3lzdGVtIHRvIHByb3ZpZGUgZW5vdWdoIGh1Z2UgcGFnZXMgb2YgdGhlIGRl c2lyZWQgc2l6ZS4KLSAgICBUbyBlc3RpbWF0ZSB0aGUgbnVtYmVyIG9mIGh1Z2UgcGFnZXMgbmVl ZGVkLCBzdGFydAotICAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gd2l0 aG91dCBodWdlIHBhZ2VzIGVuYWJsZWQgYW5kIGNoZWNrCi0gICAgdGhlIHBvc3RtYXN0ZXIncyBh bm9ueW1vdXMgc2hhcmVkIG1lbW9yeSBzZWdtZW50IHNpemUsIGFzIHdlbGwgYXMgdGhlCi0gICAg c3lzdGVtJ3MgZGVmYXVsdCBhbmQgc3VwcG9ydGVkIGh1Z2UgcGFnZSBzaXplcywgdXNpbmcgdGhl Ci0gICAgPGZpbGVuYW1lPi9wcm9jPC9maWxlbmFtZT4gYW5kIDxmaWxlbmFtZT4vc3lzPC9maWxl bmFtZT4gZmlsZSBzeXN0ZW1zLgorICAgIFRvIGVzdGltYXRlIHRoZSBudW1iZXIgb2YgaHVnZSBw YWdlcyBuZWVkZWQsIHVzZSB0aGUKKyAgICA8Y29tbWFuZD5wb3N0Z3JlczwvY29tbWFuZD4gY29t bWFuZCB0byBkZXRlcm1pbmUgdGhlIGFtb3VudCBvZiBzaGFyZWQgbWVtb3J5CisgICAgbmVlZGVk LCBhbmQgdXNlIHRoZSA8ZmlsZW5hbWU+L3Byb2M8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPi9z eXM8L2ZpbGVuYW1lPgorICAgIGZpbGUgc3lzdGVtcyB0byBmaW5kIHRoZSBzeXN0ZW0ncyBkZWZh dWx0IGFuZCBzdXBwb3J0ZWQgaHVnZSBwYWdlIHNpemVzLgogICAgIFRoaXMgbWlnaHQgbG9vayBs aWtlOgogPHByb2dyYW1saXN0aW5nPgotJCA8dXNlcmlucHV0PmhlYWQgLTEgJFBHREFUQS9wb3N0 bWFzdGVyLnBpZDwvdXNlcmlucHV0PgotNDE3MAotJCA8dXNlcmlucHV0PnBtYXAgNDE3MCB8IGF3 ayAnL3J3LXMvICZhbXA7JmFtcDsgL3plcm8vIHtwcmludCAkMn0nPC91c2VyaW5wdXQ+Ci02NDkw NDI4SworJCA8dXNlcmlucHV0PnBvc3RncmVzIC0tb3V0cHV0LXNobWVtIC1EICRQR0RBVEE8L3Vz ZXJpbnB1dD4KKzY2NDYxOTgyNzIgYnl0ZXMKICQgPHVzZXJpbnB1dD5ncmVwIF5IdWdlcGFnZXNp emUgL3Byb2MvbWVtaW5mbzwvdXNlcmlucHV0PgogSHVnZXBhZ2VzaXplOiAgICAgICAyMDQ4IGtC CiAkIDx1c2VyaW5wdXQ+bHMgL3N5cy9rZXJuZWwvbW0vaHVnZXBhZ2VzPC91c2VyaW5wdXQ+CkBA IC0xNDYzLDcgKzE0NjAsNyBAQCBodWdlcGFnZXMtMTA0ODU3NmtCICBodWdlcGFnZXMtMjA0OGtC CiAgICAgIGVpdGhlciAyTUIgb3IgMUdCIHdpdGggPHhyZWYgbGlua2VuZD0iZ3VjLWh1Z2UtcGFn ZS1zaXplIi8+LgogCiAgICAgIEFzc3VtaW5nIDxsaXRlcmFsPjJNQjwvbGl0ZXJhbD4gaHVnZSBw YWdlcywKLSAgICAgPGxpdGVyYWw+NjQ5MDQyODwvbGl0ZXJhbD4gLyA8bGl0ZXJhbD4yMDQ4PC9s aXRlcmFsPiBnaXZlcyBhcHByb3hpbWF0ZWx5CisgICAgIDxsaXRlcmFsPjY2NDYxOTgyNzI8L2xp dGVyYWw+IC8gPGxpdGVyYWw+MjA5NzE1MjwvbGl0ZXJhbD4gZ2l2ZXMgYXBwcm94aW1hdGVseQog ICAgICA8bGl0ZXJhbD4zMTY5LjE1NDwvbGl0ZXJhbD4sIHNvIGluIHRoaXMgZXhhbXBsZSB3ZSBu ZWVkIGF0CiAgICAgIGxlYXN0IDxsaXRlcmFsPjMxNzA8L2xpdGVyYWw+IGh1Z2UgcGFnZXMuICBB IGxhcmdlciBzZXR0aW5nIHdvdWxkIGJlCiAgICAgIGFwcHJvcHJpYXRlIGlmIG90aGVyIHByb2dy YW1zIG9uIHRoZSBtYWNoaW5lIGFsc28gbmVlZCBodWdlIHBhZ2VzLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvYm9vdHN0cmFwL2Jvb3RzdHJhcC5jIGIvc3JjL2JhY2tlbmQvYm9vdHN0cmFwL2Jv b3RzdHJhcC5jCmluZGV4IDQ4NjE1YzBlYmMuLjViYjQ5MWRhOGIgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2Jvb3RzdHJhcC9ib290c3RyYXAuYworKysgYi9zcmMvYmFja2VuZC9ib290c3RyYXAv Ym9vdHN0cmFwLmMKQEAgLTE5OCw5ICsxOTgsMTMgQEAgQ2hlY2tlck1vZGVNYWluKHZvaWQpCiAg KgkgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiwgcGFydGljdWxhcmx5IHRoZSBwYXNzZWQgaW4g b3B0aW9ucyBwZXJ0YWluaW5nCiAgKgkgdG8gc2hhcmVkIG1lbW9yeSBzaXppbmcsIG9wdGlvbnMg d29yayAob3IgYXQgbGVhc3QgZG8gbm90IGNhdXNlIGFuIGVycm9yCiAgKgkgdXAgdG8gc2hhcmVk IG1lbW9yeSBjcmVhdGlvbikuCisgKgorICoJIFdoZW4gb3V0cHV0X3NobWVtIGlzIHRydWUsIHN0 YXJ0dXAgaXMgZG9uZSBvbmx5IGZhciBlbm91Z2ggdG8gY2FsY3VsYXRlIHRoZQorICoJIGFtb3Vu dCBvZiBzaGFyZWQgbWVtb3J5IHJlcXVpcmVkIGZvciB0aGUgY3VycmVudCBjb25maWd1cmF0aW9u LiAgVGhlIHJlc3VsdAorICoJIG9mIHRoaXMgY2FsY3VsYXRpb24gaXMgcHJpbnRlZC4KICAqLwog dm9pZAotQm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVj a19vbmx5KQorQm9vdHN0cmFwTW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBj aGVja19vbmx5LCBib29sIG91dHB1dF9zaG1lbSkKIHsKIAlpbnQJCQlpOwogCWNoYXIJICAgKnBy b2duYW1lID0gYXJndlswXTsKQEAgLTIxNCwxMCArMjE4LDExIEBAIEJvb3RzdHJhcE1vZGVNYWlu KGludCBhcmdjLCBjaGFyICphcmd2W10sIGJvb2wgY2hlY2tfb25seSkKIAkvKiBTZXQgZGVmYXVs dHMsIHRvIGJlIG92ZXJyaWRkZW4gYnkgZXhwbGljaXQgb3B0aW9ucyBiZWxvdyAqLwogCUluaXRp YWxpemVHVUNPcHRpb25zKCk7CiAKLQkvKiBhbiBpbml0aWFsIC0tYm9vdCBvciAtLWNoZWNrIHNo b3VsZCBiZSBwcmVzZW50ICovCisJLyogYW4gaW5pdGlhbCAtLWJvb3QsIC0tY2hlY2ssIG9yIC0t b3V0cHV0LXNobWVtIHNob3VsZCBiZSBwcmVzZW50ICovCiAJQXNzZXJ0KGFyZ2MgPiAxCiAJCSAg ICYmIChzdHJjbXAoYXJndlsxXSwgIi0tYm9vdCIpID09IDAKLQkJCSAgIHx8IHN0cmNtcChhcmd2 WzFdLCAiLS1jaGVjayIpID09IDApKTsKKwkJCSAgIHx8IHN0cmNtcChhcmd2WzFdLCAiLS1jaGVj ayIpID09IDAKKwkJCSAgIHx8IHN0cmNtcChhcmd2WzFdLCAiLS1vdXRwdXQtc2htZW0iKSA9PSAw KSk7CiAJYXJndisrOwogCWFyZ2MtLTsKIApAQCAtMzE3LDIxICszMjIsMjkgQEAgQm9vdHN0cmFw TW9kZU1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5KQogCWNoZWNr RGF0YURpcigpOwogCUNoYW5nZVRvRGF0YURpcigpOwogCi0JQ3JlYXRlRGF0YURpckxvY2tGaWxl KGZhbHNlKTsKKwkvKgorCSAqIFdlIGRvIG5vdCBjcmVhdGUgdGhlIGxvY2sgZmlsZSB3aGVuIC0t b3V0cHV0LXNobWVtIGlzIHNwZWNpZmllZCBzbworCSAqIHRoYXQgaXQgY2FuIGJlIHVzZWQgd2hp bGUgdGhlIHNlcnZlciBpcyBydW5uaW5nLgorCSAqLworCWlmICghb3V0cHV0X3NobWVtKQorCQlD cmVhdGVEYXRhRGlyTG9ja0ZpbGUoZmFsc2UpOwogCiAJU2V0UHJvY2Vzc2luZ01vZGUoQm9vdHN0 cmFwUHJvY2Vzc2luZyk7CiAJSWdub3JlU3lzdGVtSW5kZXhlcyA9IHRydWU7CiAKIAlJbml0aWFs aXplTWF4QmFja2VuZHMoKTsKIAotCUNyZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXMoKTsK KwlpZiAob3V0cHV0X3NobWVtKQorCQlwcmludGYoIiV6dSBieXRlc1xuIiwgQ2FsY3VsYXRlU2ht ZW1TaXplKE5VTEwpKTsKKwllbHNlCisJCUNyZWF0ZVNoYXJlZE1lbW9yeUFuZFNlbWFwaG9yZXMo KTsKIAogCS8qCiAJICogWFhYOiBJdCBtaWdodCBtYWtlIHNlbnNlIHRvIG1vdmUgdGhpcyBpbnRv IGl0cyBvd24gZnVuY3Rpb24gYXQgc29tZQogCSAqIHBvaW50LiBSaWdodCBub3cgaXQgc2VlbXMg bGlrZSBpdCdkIGNhdXNlIG1vcmUgY29kZSBkdXBsaWNhdGlvbiB0aGFuCiAJICogaXQncyB3b3J0 aC4KIAkgKi8KLQlpZiAoY2hlY2tfb25seSkKKwlpZiAoY2hlY2tfb25seSB8fCBvdXRwdXRfc2ht ZW0pCiAJewogCQlTZXRQcm9jZXNzaW5nTW9kZShOb3JtYWxQcm9jZXNzaW5nKTsKIAkJQ2hlY2tl ck1vZGVNYWluKCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9tYWluL21haW4uYyBiL3NyYy9i YWNrZW5kL21haW4vbWFpbi5jCmluZGV4IDNhMmEwZDU5OGMuLmMxNDFhZTNkMWMgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL21haW4vbWFpbi5jCisrKyBiL3NyYy9iYWNrZW5kL21haW4vbWFpbi5j CkBAIC0xODIsOSArMTgyLDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkgKi8K IAogCWlmIChhcmdjID4gMSAmJiBzdHJjbXAoYXJndlsxXSwgIi0tY2hlY2siKSA9PSAwKQotCQlC b290c3RyYXBNb2RlTWFpbihhcmdjLCBhcmd2LCB0cnVlKTsKKwkJQm9vdHN0cmFwTW9kZU1haW4o YXJnYywgYXJndiwgdHJ1ZSwgZmFsc2UpOworCWVsc2UgaWYgKGFyZ2MgPiAxICYmIHN0cmNtcChh cmd2WzFdLCAiLS1vdXRwdXQtc2htZW0iKSA9PSAwKQorCQlCb290c3RyYXBNb2RlTWFpbihhcmdj LCBhcmd2LCBmYWxzZSwgdHJ1ZSk7CiAJZWxzZSBpZiAoYXJnYyA+IDEgJiYgc3RyY21wKGFyZ3Zb MV0sICItLWJvb3QiKSA9PSAwKQotCQlCb290c3RyYXBNb2RlTWFpbihhcmdjLCBhcmd2LCBmYWxz ZSk7CisJCUJvb3RzdHJhcE1vZGVNYWluKGFyZ2MsIGFyZ3YsIGZhbHNlLCBmYWxzZSk7CiAjaWZk ZWYgRVhFQ19CQUNLRU5ECiAJZWxzZSBpZiAoYXJnYyA+IDEgJiYgc3RybmNtcChhcmd2WzFdLCAi LS1mb3JrIiwgNikgPT0gMCkKIAkJU3ViUG9zdG1hc3Rlck1haW4oYXJnYywgYXJndik7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMgYi9zcmMvYmFja2VuZC9zdG9y YWdlL2lwYy9pcGNpLmMKaW5kZXggM2U0ZWM1M2E5Ny4uYjIyNWIxZWU3MCAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2Uv aXBjL2lwY2kuYwpAQCAtNzUsNiArNzUsODcgQEAgUmVxdWVzdEFkZGluU2htZW1TcGFjZShTaXpl IHNpemUpCiAJdG90YWxfYWRkaW5fcmVxdWVzdCA9IGFkZF9zaXplKHRvdGFsX2FkZGluX3JlcXVl c3QsIHNpemUpOwogfQogCisvKgorICogQ2FsY3VsYXRlU2htZW1TaXplCisgKgkJQ2FsY3VsYXRl cyB0aGUgYW1vdW50IG9mIHNoYXJlZCBtZW1vcnkgYW5kIG51bWJlciBvZiBzZW1hcGhvcmVzIG5l ZWRlZC4KKyAqCisgKiBJZiBudW1fc2VtYXBob3JlcyBpcyBub3QgTlVMTCwgaXQgd2lsbCBiZSBz ZXQgdG8gdGhlIG51bWJlciBvZiBzZW1hcGhvcmVzCisgKiByZXF1aXJlZC4KKyAqCisgKiBOb3Rl IHRoYXQgdGhpcyBmdW5jdGlvbiBmcmVlemVzIHRoZSBhZGRpdGlvbmFsIHNoYXJlZCBtZW1vcnkg cmVxdWVzdCBzaXplCisgKiBmcm9tIGxvYWRhYmxlIG1vZHVsZXMuCisgKi8KK1NpemUKK0NhbGN1 bGF0ZVNobWVtU2l6ZShpbnQgKm51bV9zZW1hcGhvcmVzKQoreworCVNpemUgc2l6ZTsKKwlpbnQg bnVtU2VtYXM7CisKKwkvKiBDb21wdXRlIG51bWJlciBvZiBzZW1hcGhvcmVzIHdlJ2xsIG5lZWQg Ki8KKwludW1TZW1hcyA9IFByb2NHbG9iYWxTZW1hcygpOworCW51bVNlbWFzICs9IFNwaW5sb2Nr U2VtYXMoKTsKKworCS8qIFJldHVybiB0aGUgbnVtYmVyIG9mIHNlbWFwaG9yZXMgaWYgcmVxdWVz dGVkIGJ5IHRoZSBjYWxsZXIgKi8KKwlpZiAobnVtX3NlbWFwaG9yZXMpCisJCSpudW1fc2VtYXBo b3JlcyA9IG51bVNlbWFzOworCisJLyoKKwkgKiBTaXplIG9mIHRoZSBQb3N0Z3JlcyBzaGFyZWQt bWVtb3J5IGJsb2NrIGlzIGVzdGltYXRlZCB2aWEgbW9kZXJhdGVseS0KKwkgKiBhY2N1cmF0ZSBl c3RpbWF0ZXMgZm9yIHRoZSBiaWcgaG9ncywgcGx1cyAxMDBLIGZvciB0aGUgc3R1ZmYgdGhhdCdz IHRvbworCSAqIHNtYWxsIHRvIGJvdGhlciB3aXRoIGVzdGltYXRpbmcuCisJICoKKwkgKiBXZSB0 YWtlIHNvbWUgY2FyZSB0byBlbnN1cmUgdGhhdCB0aGUgdG90YWwgc2l6ZSByZXF1ZXN0IGRvZXNu J3Qgb3ZlcmZsb3cKKwkgKiBzaXplX3QuICBJZiB0aGlzIGdldHMgdGhyb3VnaCwgd2UgZG9uJ3Qg bmVlZCB0byBiZSBzbyBjYXJlZnVsIGR1cmluZyB0aGUKKwkgKiBhY3R1YWwgYWxsb2NhdGlvbiBw aGFzZS4KKwkgKi8KKwlzaXplID0gMTAwMDAwOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQR1Nl bWFwaG9yZVNobWVtU2l6ZShudW1TZW1hcykpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTcGlu bG9ja1NlbWFTaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBoYXNoX2VzdGltYXRlX3Np emUoU0hNRU1fSU5ERVhfU0laRSwKKwkJCQkJCQkJCQkJIHNpemVvZihTaG1lbUluZGV4RW50KSkp OworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBkc21fZXN0aW1hdGVfc2l6ZSgpKTsKKwlzaXplID0g YWRkX3NpemUoc2l6ZSwgQnVmZmVyU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBMb2NrU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcmVkaWNhdGVMb2Nr U2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcm9jR2xvYmFsU2htZW1TaXpl KCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBYTE9HU2htZW1TaXplKCkpOworCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBDTE9HU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBD b21taXRUc1NobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgU1VCVFJBTlNTaG1l bVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFR3b1BoYXNlU2htZW1TaXplKCkpOwor CXNpemUgPSBhZGRfc2l6ZShzaXplLCBCYWNrZ3JvdW5kV29ya2VyU2htZW1TaXplKCkpOworCXNp emUgPSBhZGRfc2l6ZShzaXplLCBNdWx0aVhhY3RTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9z aXplKHNpemUsIExXTG9ja1NobWVtU2l6ZSgpKTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgUHJv Y0FycmF5U2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCYWNrZW5kU3RhdHVz U2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTSW52YWxTaG1lbVNpemUoKSk7 CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFBNU2lnbmFsU2htZW1TaXplKCkpOworCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBQcm9jU2lnbmFsU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShz aXplLCBDaGVja3BvaW50ZXJTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEF1 dG9WYWN1dW1TaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFJlcGxpY2F0aW9u U2xvdHNTaG1lbVNpemUoKSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFJlcGxpY2F0aW9uT3Jp Z2luU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBXYWxTbmRTaG1lbVNpemUo KSk7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFdhbFJjdlNobWVtU2l6ZSgpKTsKKwlzaXplID0g YWRkX3NpemUoc2l6ZSwgUGdBcmNoU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBBcHBseUxhdW5jaGVyU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTbmFw TWdyU2htZW1TaXplKCkpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCVHJlZVNobWVtU2l6ZSgp KTsKKwlzaXplID0gYWRkX3NpemUoc2l6ZSwgU3luY1NjYW5TaG1lbVNpemUoKSk7CisJc2l6ZSA9 IGFkZF9zaXplKHNpemUsIEFzeW5jU2htZW1TaXplKCkpOworI2lmZGVmIEVYRUNfQkFDS0VORAor CXNpemUgPSBhZGRfc2l6ZShzaXplLCBTaG1lbUJhY2tlbmRBcnJheVNpemUoKSk7CisjZW5kaWYK KworCS8qIGZyZWV6ZSB0aGUgYWRkaW4gcmVxdWVzdCBzaXplIGFuZCBpbmNsdWRlIGl0ICovCisJ YWRkaW5fcmVxdWVzdF9hbGxvd2VkID0gZmFsc2U7CisJc2l6ZSA9IGFkZF9zaXplKHNpemUsIHRv dGFsX2FkZGluX3JlcXVlc3QpOworCisJLyogbWlnaHQgYXMgd2VsbCByb3VuZCBpdCBvZmYgdG8g YSBtdWx0aXBsZSBvZiBhIHR5cGljYWwgcGFnZSBzaXplICovCisJc2l6ZSA9IGFkZF9zaXplKHNp emUsIDgxOTIgLSAoc2l6ZSAlIDgxOTIpKTsKKworCXJldHVybiBzaXplOworfQogCiAvKgogICog Q3JlYXRlU2hhcmVkTWVtb3J5QW5kU2VtYXBob3JlcwpAQCAtMTAyLDY1ICsxODMsOCBAQCBDcmVh dGVTaGFyZWRNZW1vcnlBbmRTZW1hcGhvcmVzKHZvaWQpCiAJCVNpemUJCXNpemU7CiAJCWludAkJ CW51bVNlbWFzOwogCi0JCS8qIENvbXB1dGUgbnVtYmVyIG9mIHNlbWFwaG9yZXMgd2UnbGwgbmVl ZCAqLwotCQludW1TZW1hcyA9IFByb2NHbG9iYWxTZW1hcygpOwotCQludW1TZW1hcyArPSBTcGlu bG9ja1NlbWFzKCk7Ci0KLQkJLyoKLQkJICogU2l6ZSBvZiB0aGUgUG9zdGdyZXMgc2hhcmVkLW1l bW9yeSBibG9jayBpcyBlc3RpbWF0ZWQgdmlhCi0JCSAqIG1vZGVyYXRlbHktYWNjdXJhdGUgZXN0 aW1hdGVzIGZvciB0aGUgYmlnIGhvZ3MsIHBsdXMgMTAwSyBmb3IgdGhlCi0JCSAqIHN0dWZmIHRo YXQncyB0b28gc21hbGwgdG8gYm90aGVyIHdpdGggZXN0aW1hdGluZy4KLQkJICoKLQkJICogV2Ug dGFrZSBzb21lIGNhcmUgZHVyaW5nIHRoaXMgcGhhc2UgdG8gZW5zdXJlIHRoYXQgdGhlIHRvdGFs IHNpemUKLQkJICogcmVxdWVzdCBkb2Vzbid0IG92ZXJmbG93IHNpemVfdC4gIElmIHRoaXMgZ2V0 cyB0aHJvdWdoLCB3ZSBkb24ndAotCQkgKiBuZWVkIHRvIGJlIHNvIGNhcmVmdWwgZHVyaW5nIHRo ZSBhY3R1YWwgYWxsb2NhdGlvbiBwaGFzZS4KLQkJICovCi0JCXNpemUgPSAxMDAwMDA7Ci0JCXNp emUgPSBhZGRfc2l6ZShzaXplLCBQR1NlbWFwaG9yZVNobWVtU2l6ZShudW1TZW1hcykpOwotCQlz aXplID0gYWRkX3NpemUoc2l6ZSwgU3BpbmxvY2tTZW1hU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIGhhc2hfZXN0aW1hdGVfc2l6ZShTSE1FTV9JTkRFWF9TSVpFLAotCQkJCQkJCQkJ CQkJIHNpemVvZihTaG1lbUluZGV4RW50KSkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgZHNt X2VzdGltYXRlX3NpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCdWZmZXJTaG1lbVNp emUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBMb2NrU2htZW1TaXplKCkpOwotCQlzaXpl ID0gYWRkX3NpemUoc2l6ZSwgUHJlZGljYXRlTG9ja1NobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFk ZF9zaXplKHNpemUsIFByb2NHbG9iYWxTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShz aXplLCBYTE9HU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQ0xPR1NobWVt U2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIENvbW1pdFRzU2htZW1TaXplKCkpOwot CQlzaXplID0gYWRkX3NpemUoc2l6ZSwgU1VCVFJBTlNTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBh ZGRfc2l6ZShzaXplLCBUd29QaGFzZVNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNp emUsIEJhY2tncm91bmRXb3JrZXJTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBNdWx0aVhhY3RTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBMV0xvY2tT aG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBQcm9jQXJyYXlTaG1lbVNpemUo KSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBCYWNrZW5kU3RhdHVzU2htZW1TaXplKCkpOwot CQlzaXplID0gYWRkX3NpemUoc2l6ZSwgU0ludmFsU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRk X3NpemUoc2l6ZSwgUE1TaWduYWxTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXpl LCBQcm9jU2lnbmFsU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQ2hlY2tw b2ludGVyU2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQXV0b1ZhY3V1bVNo bWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFJlcGxpY2F0aW9uU2xvdHNTaG1l bVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBSZXBsaWNhdGlvbk9yaWdpblNobWVt U2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFdhbFNuZFNobWVtU2l6ZSgpKTsKLQkJ c2l6ZSA9IGFkZF9zaXplKHNpemUsIFdhbFJjdlNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIFBnQXJjaFNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9IGFkZF9zaXplKHNpemUsIEFw cGx5TGF1bmNoZXJTaG1lbVNpemUoKSk7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTbmFwTWdy U2htZW1TaXplKCkpOwotCQlzaXplID0gYWRkX3NpemUoc2l6ZSwgQlRyZWVTaG1lbVNpemUoKSk7 Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXplLCBTeW5jU2NhblNobWVtU2l6ZSgpKTsKLQkJc2l6ZSA9 IGFkZF9zaXplKHNpemUsIEFzeW5jU2htZW1TaXplKCkpOwotI2lmZGVmIEVYRUNfQkFDS0VORAot CQlzaXplID0gYWRkX3NpemUoc2l6ZSwgU2htZW1CYWNrZW5kQXJyYXlTaXplKCkpOwotI2VuZGlm Ci0KLQkJLyogZnJlZXplIHRoZSBhZGRpbiByZXF1ZXN0IHNpemUgYW5kIGluY2x1ZGUgaXQgKi8K LQkJYWRkaW5fcmVxdWVzdF9hbGxvd2VkID0gZmFsc2U7Ci0JCXNpemUgPSBhZGRfc2l6ZShzaXpl LCB0b3RhbF9hZGRpbl9yZXF1ZXN0KTsKLQotCQkvKiBtaWdodCBhcyB3ZWxsIHJvdW5kIGl0IG9m ZiB0byBhIG11bHRpcGxlIG9mIGEgdHlwaWNhbCBwYWdlIHNpemUgKi8KLQkJc2l6ZSA9IGFkZF9z aXplKHNpemUsIDgxOTIgLSAoc2l6ZSAlIDgxOTIpKTsKLQorCQkvKiBDb21wdXRlIHRoZSBzaXpl IG9mIHRoZSBzaGFyZWQtbWVtb3J5IGJsb2NrICovCisJCXNpemUgPSBDYWxjdWxhdGVTaG1lbVNp emUoJm51bVNlbWFzKTsKIAkJZWxvZyhERUJVRzMsICJpbnZva2luZyBJcGNNZW1vcnlDcmVhdGUo c2l6ZT0lenUpIiwgc2l6ZSk7CiAKIAkJLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2Jvb3Rz dHJhcC9ib290c3RyYXAuaCBiL3NyYy9pbmNsdWRlL2Jvb3RzdHJhcC9ib290c3RyYXAuaAppbmRl eCA3ZDNiNzhlMzc0Li44ZTQyMDU3NGY1IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ib290c3Ry YXAvYm9vdHN0cmFwLmgKKysrIGIvc3JjL2luY2x1ZGUvYm9vdHN0cmFwL2Jvb3RzdHJhcC5oCkBA IC0zMiw3ICszMiw3IEBAIGV4dGVybiBGb3JtX3BnX2F0dHJpYnV0ZSBhdHRydHlwZXNbTUFYQVRU Ul07CiBleHRlcm4gaW50CW51bWF0dHI7CiAKIAotZXh0ZXJuIHZvaWQgQm9vdHN0cmFwTW9kZU1h aW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgYm9vbCBjaGVja19vbmx5KSBwZ19hdHRyaWJ1dGVf bm9yZXR1cm4oKTsKK2V4dGVybiB2b2lkIEJvb3RzdHJhcE1vZGVNYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10sIGJvb2wgY2hlY2tfb25seSwgYm9vbCBvdXRwdXRfc2htZW0pIHBnX2F0dHJpYnV0 ZV9ub3JldHVybigpOwogCiBleHRlcm4gdm9pZCBjbG9zZXJlbChjaGFyICpuYW1lKTsKIGV4dGVy biB2b2lkIGJvb3Rfb3BlbnJlbChjaGFyICpuYW1lKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L3N0b3JhZ2UvaXBjLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL2lwYy5oCmluZGV4IDc1M2E2ZGQ0 ZDcuLjgwZTE5MWQ0MDcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvaXBjLmgKKysr IGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9pcGMuaApAQCAtNzcsNiArNzcsNyBAQCBleHRlcm4gdm9p ZCBjaGVja19vbl9zaG1lbV9leGl0X2xpc3RzX2FyZV9lbXB0eSh2b2lkKTsKIC8qIGlwY2kuYyAq LwogZXh0ZXJuIFBHRExMSU1QT1JUIHNobWVtX3N0YXJ0dXBfaG9va190eXBlIHNobWVtX3N0YXJ0 dXBfaG9vazsKIAorZXh0ZXJuIFNpemUgQ2FsY3VsYXRlU2htZW1TaXplKGludCAqbnVtX3NlbWFw aG9yZXMpOwogZXh0ZXJuIHZvaWQgQ3JlYXRlU2hhcmVkTWVtb3J5QW5kU2VtYXBob3Jlcyh2b2lk KTsKIAogI2VuZGlmCQkJCQkJCS8qIElQQ19IICovCi0tIAoyLjE2LjYKCg== --_002_907F88C054F64E4AA4D02DB2353AA749amazoncom_--