Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmTDD-0007UL-1D for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Jan 2019 00:49:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gmTDB-0000pj-Hg for pgsql-hackers@arkaria.postgresql.org; Thu, 24 Jan 2019 00:49:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmTDB-0000pb-6r for pgsql-hackers@lists.postgresql.org; Thu, 24 Jan 2019 00:49:41 +0000 Received: from smtp-fw-6002.amazon.com ([52.95.49.90]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gmTD4-0005Kv-0y for pgsql-hackers@postgresql.org; Thu, 24 Jan 2019 00:49:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1548290974; x=1579826974; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=u54Fy19cZ4ZOunp6NS2AqCcJMUtAJ2VuJziy/9rSGVc=; b=PUxhb2yfBdyg8HIcW0BBoYzpLDMVxE/6L/4KW0lDVrY4KV98feDQieSh UJcq7DrwEPGiWGMGywLUI3Qwesv572grC8ipu+PT6+hlBfTYtTO8iJyMQ 8ciu3CMrTMF3CmvDJ5uZhpbUVkRI8Ht0KCfWHN/NV42zpIEzqarr5lIdu Q=; X-Amazon-filename: v5-0001-Add-tests-for-using-vacuumdb-with-column-lists-pr.patch, v5-0002-Export-split_table_columns_spec-for-use-in-vacuum.patch, v5-0003-Always-use-a-catalog-query-to-discover-tables-to-.patch, v5-0004-Add-min-xid-age-and-min-mxid-age-options-to-vacuu.patch X-IronPort-AV: E=Sophos;i="5.56,513,1539648000"; d="scan'208,223";a="383265367" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1a-16acd5e0.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-6002.iad6.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 24 Jan 2019 00:49:31 +0000 Received: from EX13MTAUWC001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1a-16acd5e0.us-east-1.amazon.com (8.14.7/8.14.7) with ESMTP id x0O0nPGO018823 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 24 Jan 2019 00:49:29 GMT Received: from EX13D03UWC001.ant.amazon.com (10.43.162.136) by EX13MTAUWC001.ant.amazon.com (10.43.162.135) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 24 Jan 2019 00:49:29 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC001.ant.amazon.com (10.43.162.136) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Thu, 24 Jan 2019 00:49:28 +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.1367.000; Thu, 24 Jan 2019 00:49:28 +0000 From: "Bossart, Nathan" To: Michael Paquier CC: Masahiko Sawada , Robert Haas , "pgsql-hackers@postgresql.org" Subject: Re: A few new options for vacuumdb Thread-Topic: A few new options for vacuumdb Thread-Index: AQHUl9xu8aMC9yfhG06pgjLAC3hejaWG4TQAgACSAwCAAfejgP//oXAAgBZvvQCABCXhgIABGu8AgACztICAAM7ggIAAB18AgAAyXQCAAU97AIASLWaAgAELwgCAAJrMAIAAzqiAgADcPYA= Date: Thu, 24 Jan 2019 00:49:28 +0000 Message-ID: <26A57CB3-2847-495F-93CA-9358959CDAD4@amazon.com> References: <20190108020300.GH22498@paquier.xyz> <20190109010637.GC21835@paquier.xyz> <20190109043316.GH21835@paquier.xyz> <5C971918-E566-41AB-895A-C4793D56B041@amazon.com> <20190122060730.GD8719@paquier.xyz> <20190123034111.GH3873@paquier.xyz> In-Reply-To: <20190123034111.GH3873@paquier.xyz> 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.244] Content-Type: multipart/mixed; boundary="_005_26A57CB32847495F93CA9358959CDAD4amazoncom_" MIME-Version: 1.0 Precedence: Bulk List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gMS8yMi8xOSwgNzo0MSBQTSwgIk1pY2hhZWwgUGFxdWllciIgPG1pY2hhZWxAcGFxdWllci54 eXo+IHdyb3RlOg0KPiBJIGhhdmUgYmVlbiBsb29raW5nIGF0IDAwMDIsIGFuZCBJIGZvdW5kIGEg cHJvYmxlbSB3aXRoIHRoZSB3YXkNCj4gQU5BTFlaRSBxdWVyaWVzIGFyZSBnZW5lcmF0ZWQuICBG b3IgZXhhbXBsZSB0YWtlIHRoaXMgdGFibGU6DQo+IENSRUFURSBUQUJMRSBhYTEgKGEgaW50KTsN Cj4NCj4gVGhlbiBpZiBJIHRyeSB0byBydW4gQU5BTFlaRSB3aXRoIHZhY3V1bWRiIGl0IGp1c3Qg d29ya3M6DQo+ICQgdmFjdXVtZGIgLXogLS10YWJsZSAnYWExKGIpJw0KPiB2YWN1dW1kYjogdmFj dXVtaW5nIGRhdGFiYXNlICJpb2x0YXMiDQo+DQo+IE5vdGUgdGhhdCB0aGlzIGZhaWxzIHdpdGgg SEVBRCwgYnV0IHBhc3NlcyB3aXRoIHlvdXIgcGF0Y2guICBUaGUNCj4gcHJvYmxlbSBpcyB0aGF0 IHRoZSBxdWVyeSBnZW5lcmF0ZWQgbWlzc2VzIHRoZSBsaXN0cyBvZiBjb2x1bW5zIHdoZW4NCj4g cHJvY2Vzc2luZyB0aGVtIHRocm91Z2ggc3BsaXRfdGFibGVfY29sdW1uc19zcGVjKCksIGFzIHdo YXQgaXMNCj4gZ2VuZXJhdGVkIGlzIHRoYXQ6DQo+IFZBQ1VVTSAoQU5BTFlaRSkgcHVibGljLmFh MTsNCj4NCj4gU28gdGhlIHJlc3VsdCBpcyBhY3R1YWxseSBpbmNvcnJlY3QgYmVjYXVzZSBhbGwg dGhlIGNvbHVtbnMgZ2V0DQo+IHByb2Nlc3NlZC4NCj4NCj4gVGhpcyBwYXRjaCBtb3ZlcyB0aGUg Y2hlY2sgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgcmVsYXRpb24gd2hlbg0KPiBxdWVyeWlu ZyB0aGUgY2F0YWxvZ3MsIHBlcmhhcHMgd2Ugd291bGQgd2FudCB0aGUgc2FtZSBmb3IgY29sdW1u cyBmb3INCj4gY29uc2lzdGVuY3k/ICBPciBub3QuICBUaGF0J3MgYSBiaXQgaGFyZGVyIGZvciBz dXJlLCBub3QgaW1wb3NzaWJsZQ0KPiB2aXNpYmx5LCBzdGlsbCB0aGF0IHdvdWxkIG1lYW4gZHVw bGljYXRpbmcgYSBidW5jaCBvZiBsb2dpYyB0aGF0IHRoZQ0KPiBiYWNrZW5kIGlzIGRvaW5nIGJ5 IGl0c2VsZiwgc28gd2UgY291bGQgbGl2ZSB3aXRob3V0IGl0IEkgdGhpbmsuDQoNCk9oLCB3b3cu ICBUaGFua3MgZm9yIHBvaW50aW5nIHRoaXMgb3V0LiAgSSBzaG91bGQgaGF2ZSBjYXVnaHQgdGhp cy4NCldpdGggMDAwMiwgd2UgYXJlIGJhc2ljYWxseSBqdXN0IHRocm93aW5nIG91dCB0aGUgY29s dW1uIGxpc3RzDQplbnRpcmVseSBhcyB3ZSBvYnRhaW4gdGhlIHF1YWxpZmllZCBpZGVudGlmaWVy cyBmcm9tIHRoZSBjYXRhbG9nDQpxdWVyeS4gIFRvIGZpeCB0aGlzLCBJJ3ZlIGFkZGVkIGFuIG9w dGlvbmFsIENURSBmb3IgdHJhY2tpbmcgYW55DQpwcm92aWRlZCBjb2x1bW4gbGlzdHMuICB2NS0w MDAxIGlzIHlvdXIgdGVzdCBwYXRjaCBmb3IgdGhpcyBjYXNlLCBhbmQNCnY1LTAwMDIgc3BsaXRz IG91dCB0aGUgd29yayBmb3Igc3BsaXRfdGFibGVfY29sdW1uc19zcGVjKCkuDQoNCk5hdGhhbg0K DQo= --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_ Content-Type: application/octet-stream; name="v5-0001-Add-tests-for-using-vacuumdb-with-column-lists-pr.patch" Content-Description: v5-0001-Add-tests-for-using-vacuumdb-with-column-lists-pr.patch Content-Disposition: attachment; filename="v5-0001-Add-tests-for-using-vacuumdb-with-column-lists-pr.patch"; size=1793; creation-date="Thu, 24 Jan 2019 00:49:28 GMT"; modification-date="Thu, 24 Jan 2019 00:49:28 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAzMzMwNWY3NTA2YmU1MmFkMTkyNmQzNGQ0NDEzZGI5ZDRjZDQ4NDcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogV2VkLCAyMyBKYW4gMjAxOSAyMjowNzowMSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjUg MS80XSBBZGQgdGVzdHMgZm9yIHVzaW5nIHZhY3V1bWRiIHdpdGggY29sdW1uIGxpc3RzCiBwcm92 aWRlZC4KCi0tLQogc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBsIHwgMTUgKysrKysr KysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vc2NyaXB0cy90LzEwMF92YWN1dW1kYi5wbCBiL3NyYy9i aW4vc2NyaXB0cy90LzEwMF92YWN1dW1kYi5wbAppbmRleCA5NTEyMDJiNDBlLi5mZjBkOTc5NzFi IDEwMDY0NAotLS0gYS9zcmMvYmluL3NjcmlwdHMvdC8xMDBfdmFjdXVtZGIucGwKKysrIGIvc3Jj L2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBsCkBAIC0zLDcgKzMsNyBAQCB1c2Ugd2Fybmlu Z3M7CiAKIHVzZSBQb3N0Z3Jlc05vZGU7CiB1c2UgVGVzdExpYjsKLXVzZSBUZXN0OjpNb3JlIHRl c3RzID0+IDMwOwordXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMzU7CiAKIHByb2dyYW1faGVscF9v aygndmFjdXVtZGInKTsKIHByb2dyYW1fdmVyc2lvbl9vaygndmFjdXVtZGInKTsKQEAgLTYzLDYg KzYzLDcgQEAgJG5vZGUtPmNvbW1hbmRfb2soCiAkbm9kZS0+c2FmZV9wc3FsKAogCSdwb3N0Z3Jl cycsIHF8CiAgIENSRUFURSBUQUJMRSAibmVlZCIicSh1b3QiICgiKXgiIHRleHQpOworICBDUkVB VEUgVEFCTEUgdmFjdGFibGUgKGEgaW50LCBiIGludCk7CiAKICAgQ1JFQVRFIEZVTkNUSU9OIGYw KGludCkgUkVUVVJOUyBpbnQgTEFOR1VBR0UgU1FMIEFTICdTRUxFQ1QgJDEgKiAkMSc7CiAgIENS RUFURSBGVU5DVElPTiBmMShpbnQpIFJFVFVSTlMgaW50IExBTkdVQUdFIFNRTCBBUyAnU0VMRUNU IGYwKCQxKSc7CkBAIC03NSwzICs3NiwxNSBAQCAkbm9kZS0+Y29tbWFuZF9vayhbcXd8dmFjdXVt ZGIgLVogLS10YWJsZT0ibmVlZCIicSh1b3QiKCIpeCIpIHBvc3RncmVzfF0sCiAkbm9kZS0+Y29t bWFuZF9mYWlscygKIAlbcXd8dmFjdXVtZGIgLVp0IGZ1bmNpZHggcG9zdGdyZXN8XSwKIAkndW5x dWFsaWZlZCBuYW1lIHZpYSBmdW5jdGlvbmFsIGluZGV4Jyk7CisKKyRub2RlLT5jb21tYW5kX2Zh aWxzKAorCVsgJ3ZhY3V1bWRiJywgJy0tYW5hbHl6ZScsICctLXRhYmxlJywgJ3ZhY3RhYmxlKGMp JywgJ3Bvc3RncmVzJyBdLAorCSdpbmNvcnJlY3QgY29sdW1uIG5hbWUgd2l0aCBBTkFMWVpFJyk7 Ciskbm9kZS0+aXNzdWVzX3NxbF9saWtlKAorCVsgJ3ZhY3V1bWRiJywgJy0tYW5hbHl6ZScsICct LXRhYmxlJywgJ3ZhY3RhYmxlKGEsIGIpJywgJ3Bvc3RncmVzJyBdLAorCXFyL3N0YXRlbWVudDog VkFDVVVNIFwoQU5BTFlaRVwpIHB1YmxpYy52YWN0YWJsZVwoYSwgYlwpOy8sCisJJ3ZhY3V1bWRi IC0tYW5hbHl6ZSB3aXRoIGNvbXBsZXRlIGNvbHVtbiBsaXN0Jyk7Ciskbm9kZS0+aXNzdWVzX3Nx bF9saWtlKAorCVsgJ3ZhY3V1bWRiJywgJy0tYW5hbHl6ZS1vbmx5JywgJy0tdGFibGUnLCAndmFj dGFibGUoYiknLCAncG9zdGdyZXMnIF0sCisJcXIvc3RhdGVtZW50OiBBTkFMWVpFIHB1YmxpYy52 YWN0YWJsZVwoYlwpOy8sCisJJ3ZhY3V1bWRiIC0tYW5hbHl6ZS1vbmx5IHdpdGggcGFydGlhbCBj b2x1bW4gbGlzdCcpOwotLSAKMi4xNi41Cgo= --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_ Content-Type: application/octet-stream; name="v5-0002-Export-split_table_columns_spec-for-use-in-vacuum.patch" Content-Description: v5-0002-Export-split_table_columns_spec-for-use-in-vacuum.patch Content-Disposition: attachment; filename="v5-0002-Export-split_table_columns_spec-for-use-in-vacuum.patch"; size=1922; creation-date="Thu, 24 Jan 2019 00:49:28 GMT"; modification-date="Thu, 24 Jan 2019 00:49:28 GMT" Content-ID: <8E5CFF7014D68F4190B8A3978EE699B8@amazon.com> Content-Transfer-Encoding: base64 RnJvbSAwNjg2YmZhZmRhODkwMTQ4NDI4ZmJjZmYyMTVkYjkzMmM1NGMwYWRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogV2VkLCAyMyBKYW4gMjAxOSAyMjoxODo1NiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjUg Mi80XSBFeHBvcnQgc3BsaXRfdGFibGVfY29sdW1uc19zcGVjKCkgZm9yIHVzZSBpbiB2YWN1dW1k Yi4KCi0tLQogc3JjL2Jpbi9zY3JpcHRzL2NvbW1vbi5jIHwgOCArKysrLS0tLQogc3JjL2Jpbi9z Y3JpcHRzL2NvbW1vbi5oIHwgMyArKysKIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vc2NyaXB0cy9jb21tb24uYyBi L3NyYy9iaW4vc2NyaXB0cy9jb21tb24uYwppbmRleCA0MjE1YmMzZDZlLi43MTM5YjdjNjY3IDEw MDY0NAotLS0gYS9zcmMvYmluL3NjcmlwdHMvY29tbW9uLmMKKysrIGIvc3JjL2Jpbi9zY3JpcHRz L2NvbW1vbi5jCkBAIC0yNjUsOSArMjY1LDkgQEAgZXhlY3V0ZU1haW50ZW5hbmNlQ29tbWFuZChQ R2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKnF1ZXJ5LCBib29sIGVjaG8pCiAgKiBmaW5pc2ggdXNp bmcgdGhlbSwgcGdfZnJlZSgqdGFibGUpLiAgKmNvbHVtbnMgaXMgYSBwb2ludGVyIGludG8gInNw ZWMiLAogICogcG9zc2libHkgdG8gaXRzIE5VTCB0ZXJtaW5hdG9yLgogICovCi1zdGF0aWMgdm9p ZAotc3BsaXRfdGFibGVfY29sdW1uc19zcGVjKGNvbnN0IGNoYXIgKnNwZWMsIGludCBlbmNvZGlu ZywKLQkJCQkJCSBjaGFyICoqdGFibGUsIGNvbnN0IGNoYXIgKipjb2x1bW5zKQordm9pZAorc3Bs aXRUYWJsZUNvbHVtbnNTcGVjKGNvbnN0IGNoYXIgKnNwZWMsIGludCBlbmNvZGluZywKKwkJCQkJ ICBjaGFyICoqdGFibGUsIGNvbnN0IGNoYXIgKipjb2x1bW5zKQogewogCWJvb2wJCWlucXVvdGVz ID0gZmFsc2U7CiAJY29uc3QgY2hhciAqY3AgPSBzcGVjOwpAQCAtMzE4LDcgKzMxOCw3IEBAIGFw cGVuZFF1YWxpZmllZFJlbGF0aW9uKFBRRXhwQnVmZmVyIGJ1ZiwgY29uc3QgY2hhciAqc3BlYywK IAkJcmV0dXJuOwogCX0KIAotCXNwbGl0X3RhYmxlX2NvbHVtbnNfc3BlYyhzcGVjLCBQUWNsaWVu dEVuY29kaW5nKGNvbm4pLCAmdGFibGUsICZjb2x1bW5zKTsKKwlzcGxpdFRhYmxlQ29sdW1uc1Nw ZWMoc3BlYywgUFFjbGllbnRFbmNvZGluZyhjb25uKSwgJnRhYmxlLCAmY29sdW1ucyk7CiAKIAkv KgogCSAqIFF1ZXJ5IG11c3QgcmVtYWluIEFCU09MVVRFTFkgZGV2b2lkIG9mIHVucXVhbGlmaWVk IG5hbWVzLiAgVGhpcyB3b3VsZApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9zY3JpcHRzL2NvbW1vbi5o IGIvc3JjL2Jpbi9zY3JpcHRzL2NvbW1vbi5oCmluZGV4IDdjMzg4OGNlZmQuLmI1OWFkZTBjMzkg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vc2NyaXB0cy9jb21tb24uaAorKysgYi9zcmMvYmluL3Njcmlw dHMvY29tbW9uLmgKQEAgLTQ4LDYgKzQ4LDkgQEAgZXh0ZXJuIHZvaWQgZXhlY3V0ZUNvbW1hbmQo UEdjb25uICpjb25uLCBjb25zdCBjaGFyICpxdWVyeSwKIGV4dGVybiBib29sIGV4ZWN1dGVNYWlu dGVuYW5jZUNvbW1hbmQoUEdjb25uICpjb25uLCBjb25zdCBjaGFyICpxdWVyeSwKIAkJCQkJCSAg Ym9vbCBlY2hvKTsKIAorZXh0ZXJuIHZvaWQgc3BsaXRUYWJsZUNvbHVtbnNTcGVjKGNvbnN0IGNo YXIgKnNwZWMsIGludCBlbmNvZGluZywKKwkJCQkJICBjaGFyICoqdGFibGUsIGNvbnN0IGNoYXIg Kipjb2x1bW5zKTsKKwogZXh0ZXJuIHZvaWQgYXBwZW5kUXVhbGlmaWVkUmVsYXRpb24oUFFFeHBC dWZmZXIgYnVmLCBjb25zdCBjaGFyICpuYW1lLAogCQkJCQkJUEdjb25uICpjb25uLCBjb25zdCBj aGFyICpwcm9nbmFtZSwgYm9vbCBlY2hvKTsKIAotLSAKMi4xNi41Cgo= --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_ Content-Type: application/octet-stream; name="v5-0003-Always-use-a-catalog-query-to-discover-tables-to-.patch" Content-Description: v5-0003-Always-use-a-catalog-query-to-discover-tables-to-.patch Content-Disposition: attachment; filename="v5-0003-Always-use-a-catalog-query-to-discover-tables-to-.patch"; size=10436; creation-date="Thu, 24 Jan 2019 00:49:28 GMT"; modification-date="Thu, 24 Jan 2019 00:49:28 GMT" Content-ID: <66C2E421E9E64740B83AD481C87BC242@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBjYWE2NmFjNWRlOWE2ZGUxYzRjNzZmNjQ1MGE0YTBlZTJmMzRlNDdjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogV2VkLCAyMyBKYW4gMjAxOSAyMzoyNzo1OCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjUg My80XSBBbHdheXMgdXNlIGEgY2F0YWxvZyBxdWVyeSB0byBkaXNjb3ZlciB0YWJsZXMgdG8KIHBy b2Nlc3MgaW4gdmFjdXVtZGIuCgotLS0KIHNyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jIHwgMjI3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDE3MCBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmMvYmluL3NjcmlwdHMvdmFjdXVtZGIuYyBiL3NyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jCmlu ZGV4IGVjN2QwYTMyNmEuLmI4YmYyZTNmZjUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vc2NyaXB0cy92 YWN1dW1kYi5jCisrKyBiL3NyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jCkBAIC0xOSw2ICsxOSw3 IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19jbGFzc19kLmgiCiAKICNpbmNsdWRlICJjb21tb24u aCIKKyNpbmNsdWRlICJmZV91dGlscy9jb25uZWN0LmgiCiAjaW5jbHVkZSAiZmVfdXRpbHMvc2lt cGxlX2xpc3QuaCIKICNpbmNsdWRlICJmZV91dGlscy9zdHJpbmdfdXRpbHMuaCIKIApAQCAtNjIs OSArNjMsNyBAQCBzdGF0aWMgdm9pZCB2YWN1dW1fYWxsX2RhdGFiYXNlcyh2YWN1dW1pbmdPcHRp b25zICp2YWNvcHRzLAogCQkJCQkgY29uc3QgY2hhciAqcHJvZ25hbWUsIGJvb2wgZWNobywgYm9v bCBxdWlldCk7CiAKIHN0YXRpYyB2b2lkIHByZXBhcmVfdmFjdXVtX2NvbW1hbmQoUFFFeHBCdWZm ZXIgc3FsLCBQR2Nvbm4gKmNvbm4sCi0JCQkJCSAgIHZhY3V1bWluZ09wdGlvbnMgKnZhY29wdHMs IGNvbnN0IGNoYXIgKnRhYmxlLAotCQkJCQkgICBib29sIHRhYmxlX3ByZV9xdWFsaWZpZWQsCi0J CQkJCSAgIGNvbnN0IGNoYXIgKnByb2duYW1lLCBib29sIGVjaG8pOworCQkJCQkgICB2YWN1dW1p bmdPcHRpb25zICp2YWNvcHRzLCBjb25zdCBjaGFyICp0YWJsZSk7CiAKIHN0YXRpYyB2b2lkIHJ1 bl92YWN1dW1fY29tbWFuZChQR2Nvbm4gKmNvbm4sIGNvbnN0IGNoYXIgKnNxbCwgYm9vbCBlY2hv LAogCQkJCSAgIGNvbnN0IGNoYXIgKnRhYmxlLCBjb25zdCBjaGFyICpwcm9nbmFtZSwgYm9vbCBh c3luYyk7CkBAIC0zNTksMTMgKzM1OCwyMSBAQCB2YWN1dW1fb25lX2RhdGFiYXNlKGNvbnN0IGNo YXIgKmRibmFtZSwgdmFjdXVtaW5nT3B0aW9ucyAqdmFjb3B0cywKIAkJCQkJY29uc3QgY2hhciAq cHJvZ25hbWUsIGJvb2wgZWNobywgYm9vbCBxdWlldCkKIHsKIAlQUUV4cEJ1ZmZlckRhdGEgc3Fs OworCVBRRXhwQnVmZmVyRGF0YSBidWY7CisJUFFFeHBCdWZmZXJEYXRhIGNhdGFsb2dfcXVlcnk7 CisJUFFFeHBCdWZmZXJEYXRhIGN0ZTsKKwlQUUV4cEJ1ZmZlckRhdGEgdGFibGVfY2xhdXNlOwor CVBHcmVzdWx0ICAgKnJlczsKIAlQR2Nvbm4JICAgKmNvbm47CiAJU2ltcGxlU3RyaW5nTGlzdENl bGwgKmNlbGw7CiAJUGFyYWxsZWxTbG90ICpzbG90czsKIAlTaW1wbGVTdHJpbmdMaXN0IGRidGFi bGVzID0ge05VTEwsIE5VTEx9OwogCWludAkJCWk7CisJaW50CQkJbnR1cHM7CiAJYm9vbAkJZmFp bGVkID0gZmFsc2U7CiAJYm9vbAkJcGFyYWxsZWwgPSBjb25jdXJyZW50Q29ucyA+IDE7CisJYm9v bAkJdGFibGVzX2xpc3RlZCA9IGZhbHNlOworCWJvb2wJCWNvbHVtbnNfbGlzdGVkID0gZmFsc2U7 CiAJY29uc3QgY2hhciAqc3RhZ2VfY29tbWFuZHNbXSA9IHsKIAkJIlNFVCBkZWZhdWx0X3N0YXRp c3RpY3NfdGFyZ2V0PTE7IFNFVCB2YWN1dW1fY29zdF9kZWxheT0wOyIsCiAJCSJTRVQgZGVmYXVs dF9zdGF0aXN0aWNzX3RhcmdldD0xMDsgUkVTRVQgdmFjdXVtX2Nvc3RfZGVsYXk7IiwKQEAgLTQx MCw1NCArNDE3LDE3MiBAQCB2YWN1dW1fb25lX2RhdGFiYXNlKGNvbnN0IGNoYXIgKmRibmFtZSwg dmFjdXVtaW5nT3B0aW9ucyAqdmFjb3B0cywKIAkJZmZsdXNoKHN0ZG91dCk7CiAJfQogCi0JaW5p dFBRRXhwQnVmZmVyKCZzcWwpOworCS8qCisJICogUHJlcGFyZSB0aGUgbGlzdCBvZiB0YWJsZXMg dG8gcHJvY2VzcyBieSBxdWVyeWluZyB0aGUgY2F0YWxvZ3MuCisJICoKKwkgKiBTaW5jZSB3ZSBl eGVjdXRlIHRoZSBjb25zdHJ1Y3RlZCBxdWVyeSB3aXRoIHRoZSBkZWZhdWx0IHNlYXJjaF9wYXRo CisJICogKHdoaWNoIGNvdWxkIGJlIHVuc2FmZSksIGV2ZXJ5dGhpbmcgaW4gdGhpcyBxdWVyeSBt dXN0IGJlIGZ1bGx5CisJICogcXVhbGlmaWVkLgorCSAqLworCWluaXRQUUV4cEJ1ZmZlcigmY3Rl KTsKKwlpbml0UFFFeHBCdWZmZXIoJnRhYmxlX2NsYXVzZSk7CiAKIAkvKgotCSAqIElmIGEgdGFi bGUgbGlzdCBpcyBub3QgcHJvdmlkZWQgYW5kIHdlJ3JlIHVzaW5nIG11bHRpcGxlIGNvbm5lY3Rp b25zLAotCSAqIHByZXBhcmUgdGhlIGxpc3Qgb2YgdGFibGVzIGJ5IHF1ZXJ5aW5nIHRoZSBjYXRh bG9ncy4KKwkgKiBGaXJzdCwgYnVpbGQgdGhlIFdJVEggY2xhdXNlIGFuZCB0aGUgbGlzdCBvZiB0 YWJsZXMgZm9yIHRoZSBjYXRhbG9nCisJICogcXVlcnkuICBUaGUgV0lUSCBjbGF1c2UgaXMgdXNl ZCB0byBtYXRjaCBhbnkgcHJvdmlkZWQgY29sdW1uIGxpc3RzIHdpdGgKKwkgKiB0aGUgZ2VuZXJh dGVkIHF1YWxpZmllZCBpZGVudGlmaWVycy4gIFRoZSB0YWJsZSBsaXN0IGlzIHVzZWQgdG8gZmls dGVyCisJICogZm9yIHRoZSB0YWJsZXMgcHJvdmlkZWQgdmlhIC0tdGFibGUgYW5kIHRvIGNoZWNr IHRoYXQgdGhlIHRhYmxlIGV4aXN0cy4KKwkgKiBJZiBhIGxpc3RlZCB0YWJsZSBkb2VzIG5vdCBl eGlzdCwgdGhlIGNhdGFsb2cgcXVlcnkgd2lsbCBmYWlsLCBhcyB3aWxsCisJICogdmFjdXVtZGIu CiAJICovCi0JaWYgKHBhcmFsbGVsICYmICghdGFibGVzIHx8ICF0YWJsZXMtPmhlYWQpKQorCWNl bGwgPSB0YWJsZXMgPyB0YWJsZXMtPmhlYWQgOiBOVUxMOworCXdoaWxlIChjZWxsICE9IE5VTEwp CiAJewotCQlQUUV4cEJ1ZmZlckRhdGEgYnVmOwotCQlQR3Jlc3VsdCAgICpyZXM7Ci0JCWludAkJ CW50dXBzOwotCi0JCWluaXRQUUV4cEJ1ZmZlcigmYnVmKTsKLQotCQlyZXMgPSBleGVjdXRlUXVl cnkoY29ubiwKLQkJCQkJCSAgICJTRUxFQ1QgYy5yZWxuYW1lLCBucy5uc3BuYW1lIgotCQkJCQkJ ICAgIiBGUk9NIHBnX2NsYXNzIGMsIHBnX25hbWVzcGFjZSBuc1xuIgotCQkJCQkJICAgIiBXSEVS RSByZWxraW5kIElOICgiCi0JCQkJCQkgICBDcHBBc1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikg IiwgIgotCQkJCQkJICAgQ3BwQXNTdHJpbmcyKFJFTEtJTkRfTUFUVklFVykgIikiCi0JCQkJCQkg ICAiIEFORCBjLnJlbG5hbWVzcGFjZSA9IG5zLm9pZFxuIgotCQkJCQkJICAgIiBPUkRFUiBCWSBj LnJlbHBhZ2VzIERFU0M7IiwKLQkJCQkJCSAgIHByb2duYW1lLCBlY2hvKTsKLQotCQludHVwcyA9 IFBRbnR1cGxlcyhyZXMpOwotCQlmb3IgKGkgPSAwOyBpIDwgbnR1cHM7IGkrKykKLQkJewotCQkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIoJmJ1ZiwKLQkJCQkJCQkJIGZtdFF1YWxpZmllZElkKFBRZ2V0 dmFsdWUocmVzLCBpLCAxKSwKLQkJCQkJCQkJCQkJCVBRZ2V0dmFsdWUocmVzLCBpLCAwKSkpOwor CQljaGFyCSAgICpqdXN0X3RhYmxlOworCQljb25zdCBjaGFyICpqdXN0X2NvbHVtbnM7CisKKwkJ c3BsaXRUYWJsZUNvbHVtbnNTcGVjKGNlbGwtPnZhbCwgUFFjbGllbnRFbmNvZGluZyhjb25uKSwK KwkJCQkJCQkgICZqdXN0X3RhYmxlLCAmanVzdF9jb2x1bW5zKTsKIAotCQkJc2ltcGxlX3N0cmlu Z19saXN0X2FwcGVuZCgmZGJ0YWJsZXMsIGJ1Zi5kYXRhKTsKLQkJCXJlc2V0UFFFeHBCdWZmZXIo JmJ1Zik7CisJCS8qCisJCSAqIEZpcnN0LCBoYW5kbGUgdGhlIHRhYmxlIGxpc3QuICBUaGUgInJl Z2NsYXNzIiBpZGVudGlmaWVyIGlzIHVzZWQgdG8KKwkJICogbG9vayB1cCB0aGUgdGFibGUncyBz Y2hlbWEgYW5kIG5hbWUgKHVzaW5nIHRoZSBkZWZhdWx0IHNlYXJjaF9wYXRoKQorCQkgKiBpbiBv cmRlciB0byBnZW5lcmF0ZSBhIHF1YWxpZmllZCBpZGVudGlmaWVyIGZvciB0aGUgVkFDVVVNIG9y CisJCSAqIEFOQUxZWkUgY29tbWFuZC4KKwkJICovCisJCWlmICghdGFibGVzX2xpc3RlZCkKKwkJ eworCQkJYXBwZW5kUFFFeHBCdWZmZXIoJnRhYmxlX2NsYXVzZSwgIiBBTkQgKFxuICBjLm9pZCBP UEVSQVRPUihwZ19jYXRhbG9nLj0pICIpOworCQkJdGFibGVzX2xpc3RlZCA9IHRydWU7CiAJCX0K KwkJZWxzZQorCQkJYXBwZW5kUFFFeHBCdWZmZXIoJnRhYmxlX2NsYXVzZSwgIiAgT1IgYy5vaWQg T1BFUkFUT1IocGdfY2F0YWxvZy49KSAiKTsKIAotCQl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7Ci0J CXRhYmxlcyA9ICZkYnRhYmxlczsKKwkJYXBwZW5kU3RyaW5nTGl0ZXJhbENvbm4oJnRhYmxlX2Ns YXVzZSwganVzdF90YWJsZSwgY29ubik7CisJCWFwcGVuZFBRRXhwQnVmZmVyKCZ0YWJsZV9jbGF1 c2UsICI6OnBnX2NhdGFsb2cucmVnY2xhc3NcbiIpOwogCiAJCS8qCi0JCSAqIElmIHRoZXJlIGFy ZSBtb3JlIGNvbm5lY3Rpb25zIHRoYW4gdmFjdXVtYWJsZSByZWxhdGlvbnMsIHdlIGRvbid0Ci0J CSAqIG5lZWQgdG8gdXNlIHRoZW0gYWxsLgorCQkgKiBOb3cgaGFuZGxlIHRoZSBjb2x1bW4gbGlz dCwgaWYgcHJvdmlkZWQuICBUaGlzIGdlbmVyYXRlcyBhIFdJVEgKKwkJICogY2xhdXNlIHRoYXQg aXMgdXNlZCB0byBtYXAgdGhlIHRhYmxlIG5hbWUgYW5kIHNjaGVtYSB3aXRoIHRoZQorCQkgKiBv cHRpb25hbCBjb2x1bW4gbGlzdCBwcm92aWRlZC4KIAkJICovCisJCWlmIChqdXN0X2NvbHVtbnMg IT0gTlVMTCAmJiBqdXN0X2NvbHVtbnNbMF0gIT0gJ1wwJykKKwkJeworCQkJaWYgKCFjb2x1bW5z X2xpc3RlZCkKKwkJCXsKKwkJCQlhcHBlbmRQUUV4cEJ1ZmZlcigmY3RlLCAiV0lUSCBjb2x1bW5f bGlzdHMgKHRhYmxlX25hbWUsIGNvbHVtbl9saXN0KSIKKwkJCQkJCQkJICAiIEFTIChcbiAgVkFM VUVTICgiKTsKKwkJCQljb2x1bW5zX2xpc3RlZCA9IHRydWU7CisJCQl9CisJCQllbHNlCisJCQkJ YXBwZW5kUFFFeHBCdWZmZXIoJmN0ZSwgIixcbiAgKCIpOworCisJCQlhcHBlbmRTdHJpbmdMaXRl cmFsQ29ubigmY3RlLCBqdXN0X3RhYmxlLCBjb25uKTsKKwkJCWFwcGVuZFBRRXhwQnVmZmVyKCZj dGUsICIsICIpOworCQkJYXBwZW5kU3RyaW5nTGl0ZXJhbENvbm4oJmN0ZSwganVzdF9jb2x1bW5z LCBjb25uKTsKKwkJCWFwcGVuZFBRRXhwQnVmZmVyKCZjdGUsICIpIik7CisJCX0KKworCQlwZ19m cmVlKGp1c3RfdGFibGUpOworCisJCWNlbGwgPSBjZWxsLT5uZXh0OworCQlpZiAoY2VsbCA9PSBO VUxMKQorCQl7CisJCQlhcHBlbmRQUUV4cEJ1ZmZlcigmdGFibGVfY2xhdXNlLCAiIClcbiIpOwor CisJCQlpZiAoY29sdW1uc19saXN0ZWQpCisJCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmN0ZSwgIlxu KVxuIik7CisJCX0KKwl9CisKKwkvKgorCSAqIEJ1aWxkIHRoZSBmdWxsIGNhdGFsb2cgcXVlcnku ICBJZiB0aGUgdXNlciBzcGVjaWZpZWQgdGFibGVzIHdpdGggY29sdW1uCisJICogbGlzdHMsIHRo aXMgY29uc2lzdHMgb2YgYSBXSVRIIGNsYXVzZSBhbmQgYSBTRUxFQ1QgY2xhdXNlIHRoYXQgZmls dGVycworCSAqIGJhc2VkIHVwb24gdGhlIHRhYmxlIG5hbWVzLiAgSWYgdGhlIHVzZXIgc3BlY2lm aWVkIHRhYmxlcyBidXQgbm8gY29sdW1uCisJICogbGlzdHMsIGp1c3QgdGhlIFNFTEVDVCBjbGF1 c2Ugd2l0aCB0aGUgdGFibGUgbmFtZSBmaWx0ZXJzIGlzIGdlbmVyYXRlZC4KKwkgKiBJZiBubyB0 YWJsZXMgb3IgY29sdW1uIGxpc3RzIHdlcmUgZ2l2ZW4sIHRoZSBxdWVyeSB3aWxsIGV4Y2x1ZGUg dGhlCisJICogdGFibGUgbmFtZSBmaWx0ZXJzIGFzIHdlbGwuCisJICovCisJaW5pdFBRRXhwQnVm ZmVyKCZjYXRhbG9nX3F1ZXJ5KTsKKwlpZiAoY29sdW1uc19saXN0ZWQpCisJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKCZjYXRhbG9nX3F1ZXJ5LCBjdGUuZGF0YSk7CisJdGVybVBRRXhwQnVmZmVyKCZj dGUpOworCisJYXBwZW5kUFFFeHBCdWZmZXIoJmNhdGFsb2dfcXVlcnksICJTRUxFQ1QgYy5yZWxu YW1lLCBucy5uc3BuYW1lIik7CisKKwlpZiAoY29sdW1uc19saXN0ZWQpCisJCWFwcGVuZFBRRXhw QnVmZmVyKCZjYXRhbG9nX3F1ZXJ5LCAiLCBjb2x1bW5fbGlzdHMuY29sdW1uX2xpc3QiKTsKKwor CWFwcGVuZFBRRXhwQnVmZmVyKCZjYXRhbG9nX3F1ZXJ5LAorCQkJCQkgICIgRlJPTSBwZ19jYXRh bG9nLnBnX2NsYXNzIGNcbiIKKwkJCQkJICAiIEpPSU4gcGdfY2F0YWxvZy5wZ19uYW1lc3BhY2Ug bnMiCisJCQkJCSAgIiBPTiBjLnJlbG5hbWVzcGFjZSBPUEVSQVRPUihwZ19jYXRhbG9nLj0pIG5z Lm9pZFxuIik7CisKKwlpZiAoY29sdW1uc19saXN0ZWQpCisJCWFwcGVuZFBRRXhwQnVmZmVyKCZj YXRhbG9nX3F1ZXJ5LCAiIExFRlQgSk9JTiBjb2x1bW5fbGlzdHMiCisJCQkJCQkgICIgT04gY29s dW1uX2xpc3RzLnRhYmxlX25hbWU6OnBnX2NhdGFsb2cucmVnY2xhc3MgT1BFUkFUT1IocGdfY2F0 YWxvZy49KSBjLm9pZFxuIik7CisKKwlhcHBlbmRQUUV4cEJ1ZmZlcigmY2F0YWxvZ19xdWVyeSwg IiBXSEVSRSBjLnJlbGtpbmQgT1BFUkFUT1IocGdfY2F0YWxvZy49KSBBTlkgKGFycmF5WyIKKwkJ CQkJICBDcHBBc1N0cmluZzIoUkVMS0lORF9SRUxBVElPTikgIiwgIgorCQkJCQkgIENwcEFzU3Ry aW5nMihSRUxLSU5EX01BVFZJRVcpICJdKVxuIik7CisKKwlpZiAodGFibGVzX2xpc3RlZCkKKwkJ YXBwZW5kUFFFeHBCdWZmZXJTdHIoJmNhdGFsb2dfcXVlcnksIHRhYmxlX2NsYXVzZS5kYXRhKTsK Kwl0ZXJtUFFFeHBCdWZmZXIoJnRhYmxlX2NsYXVzZSk7CisKKwkvKgorCSAqIEV4ZWN1dGUgdGhl IGNhdGFsb2cgcXVlcnkuICBXZSB1c2UgdGhlIGRlZmF1bHQgc2VhcmNoX3BhdGggZm9yIHRoaXMK KwkgKiBxdWVyeSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0YWJsZSBsb29rdXBzIGRvbmUgZWxzZXdo ZXJlIGJ5IHRoZSB1c2VyLgorCSAqLworCWFwcGVuZFBRRXhwQnVmZmVyKCZjYXRhbG9nX3F1ZXJ5 LCAiIE9SREVSIEJZIGMucmVscGFnZXMgREVTQzsiKTsKKwlleGVjdXRlQ29tbWFuZChjb25uLCAi UkVTRVQgc2VhcmNoX3BhdGg7IiwgcHJvZ25hbWUsIGVjaG8pOworCXJlcyA9IGV4ZWN1dGVRdWVy eShjb25uLCBjYXRhbG9nX3F1ZXJ5LmRhdGEsIHByb2duYW1lLCBlY2hvKTsKKwl0ZXJtUFFFeHBC dWZmZXIoJmNhdGFsb2dfcXVlcnkpOworCVBRY2xlYXIoZXhlY3V0ZVF1ZXJ5KGNvbm4sIEFMV0FZ U19TRUNVUkVfU0VBUkNIX1BBVEhfU1FMLAorCQkJCQkJIHByb2duYW1lLCBlY2hvKSk7CisKKwkv KgorCSAqIElmIG5vIHJvd3MgYXJlIHJldHVybmVkLCB3ZSBhcmUgYWxyZWFkeSBkb25lLgorCSAq LworCW50dXBzID0gUFFudHVwbGVzKHJlcyk7CisJaWYgKG50dXBzID09IDApCisJeworCQlQUWNs ZWFyKHJlcyk7CisJCVBRZmluaXNoKGNvbm4pOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBC dWlsZCBxdWFsaWZpZWQgaWRlbnRpZmllcnMgZm9yIGVhY2ggdGFibGUsIGluY2x1ZGluZyB0aGUg Y29sdW1uIGxpc3QKKwkgKiBpZiBnaXZlbi4KKwkgKi8KKwlpbml0UFFFeHBCdWZmZXIoJmJ1Zik7 CisJZm9yIChpID0gMDsgaSA8IG50dXBzOyBpKyspCisJeworCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cigmYnVmLAorCQkJCQkJCSBmbXRRdWFsaWZpZWRJZChQUWdldHZhbHVlKHJlcywgaSwgMSksCisJ CQkJCQkJCQkJCVBRZ2V0dmFsdWUocmVzLCBpLCAwKSkpOworCisJCWlmIChjb2x1bW5zX2xpc3Rl ZCAmJiBQUWdldGlzbnVsbChyZXMsIGksIDIpID09IDApCisJCQlhcHBlbmRQUUV4cEJ1ZmZlclN0 cigmYnVmLCBQUWdldHZhbHVlKHJlcywgaSwgMikpOworCisJCXNpbXBsZV9zdHJpbmdfbGlzdF9h cHBlbmQoJmRidGFibGVzLCBidWYuZGF0YSk7CisJCXJlc2V0UFFFeHBCdWZmZXIoJmJ1Zik7CisJ fQorCXRlcm1QUUV4cEJ1ZmZlcigmYnVmKTsKKworCS8qCisJICogSWYgdGhlcmUgYXJlIG1vcmUg Y29ubmVjdGlvbnMgdGhhbiB2YWN1dW1hYmxlIHJlbGF0aW9ucywgd2UgZG9uJ3QgbmVlZAorCSAq IHRvIHVzZSB0aGVtIGFsbC4KKwkgKi8KKwlpZiAocGFyYWxsZWwpCisJewogCQlpZiAoY29uY3Vy cmVudENvbnMgPiBudHVwcykKIAkJCWNvbmN1cnJlbnRDb25zID0gbnR1cHM7CiAJCWlmIChjb25j dXJyZW50Q29ucyA8PSAxKQogCQkJcGFyYWxsZWwgPSBmYWxzZTsKLQkJUFFjbGVhcihyZXMpOwog CX0KKwlQUWNsZWFyKHJlcyk7CiAKIAkvKgogCSAqIFNldHVwIHRoZSBkYXRhYmFzZSBjb25uZWN0 aW9ucy4gV2UgcmV1c2UgdGhlIGNvbm5lY3Rpb24gd2UgYWxyZWFkeSBoYXZlCkBAIC00OTMsMTAg KzYxOCwxMiBAQCB2YWN1dW1fb25lX2RhdGFiYXNlKGNvbnN0IGNoYXIgKmRibmFtZSwgdmFjdXVt aW5nT3B0aW9ucyAqdmFjb3B0cywKIAkJCQkJCSAgIHN0YWdlX2NvbW1hbmRzW3N0YWdlXSwgcHJv Z25hbWUsIGVjaG8pOwogCX0KIAotCWNlbGwgPSB0YWJsZXMgPyB0YWJsZXMtPmhlYWQgOiBOVUxM OworCWluaXRQUUV4cEJ1ZmZlcigmc3FsKTsKKworCWNlbGwgPSBkYnRhYmxlcy5oZWFkOwogCWRv CiAJewotCQljb25zdCBjaGFyICp0YWJuYW1lID0gY2VsbCA/IGNlbGwtPnZhbCA6IE5VTEw7CisJ CWNvbnN0IGNoYXIgKnRhYm5hbWUgPSBjZWxsLT52YWw7CiAJCVBhcmFsbGVsU2xvdCAqZnJlZV9z bG90OwogCiAJCWlmIChDYW5jZWxSZXF1ZXN0ZWQpCkBAIC01MjksMTIgKzY1Niw3IEBAIHZhY3V1 bV9vbmVfZGF0YWJhc2UoY29uc3QgY2hhciAqZGJuYW1lLCB2YWN1dW1pbmdPcHRpb25zICp2YWNv cHRzLAogCQllbHNlCiAJCQlmcmVlX3Nsb3QgPSBzbG90czsKIAotCQkvKgotCQkgKiBQcmVwYXJl IHRoZSB2YWN1dW0gY29tbWFuZC4gIE5vdGUgdGhhdCBpbiBzb21lIGNhc2VzIHRoaXMgcmVxdWly ZXMKLQkJICogcXVlcnkgZXhlY3V0aW9uLCBzbyBiZSBzdXJlIHRvIHVzZSB0aGUgZnJlZSBjb25u ZWN0aW9uLgotCQkgKi8KLQkJcHJlcGFyZV92YWN1dW1fY29tbWFuZCgmc3FsLCBmcmVlX3Nsb3Qt PmNvbm5lY3Rpb24sIHZhY29wdHMsIHRhYm5hbWUsCi0JCQkJCQkJICAgdGFibGVzID09ICZkYnRh YmxlcywgcHJvZ25hbWUsIGVjaG8pOworCQlwcmVwYXJlX3ZhY3V1bV9jb21tYW5kKCZzcWwsIGZy ZWVfc2xvdC0+Y29ubmVjdGlvbiwgdmFjb3B0cywgdGFibmFtZSk7CiAKIAkJLyoKIAkJICogRXhl Y3V0ZSB0aGUgdmFjdXVtLiAgSWYgbm90IGluIHBhcmFsbGVsIG1vZGUsIHRoaXMgdGVybWluYXRl cyB0aGUKQEAgLTU0NCw4ICs2NjYsNyBAQCB2YWN1dW1fb25lX2RhdGFiYXNlKGNvbnN0IGNoYXIg KmRibmFtZSwgdmFjdXVtaW5nT3B0aW9ucyAqdmFjb3B0cywKIAkJcnVuX3ZhY3V1bV9jb21tYW5k KGZyZWVfc2xvdC0+Y29ubmVjdGlvbiwgc3FsLmRhdGEsCiAJCQkJCQkgICBlY2hvLCB0YWJuYW1l LCBwcm9nbmFtZSwgcGFyYWxsZWwpOwogCi0JCWlmIChjZWxsKQotCQkJY2VsbCA9IGNlbGwtPm5l eHQ7CisJCWNlbGwgPSBjZWxsLT5uZXh0OwogCX0gd2hpbGUgKGNlbGwgIT0gTlVMTCk7CiAKIAlp ZiAocGFyYWxsZWwpCkBAIC02NTgsOSArNzc5LDcgQEAgdmFjdXVtX2FsbF9kYXRhYmFzZXModmFj dXVtaW5nT3B0aW9ucyAqdmFjb3B0cywKICAqLwogc3RhdGljIHZvaWQKIHByZXBhcmVfdmFjdXVt X2NvbW1hbmQoUFFFeHBCdWZmZXIgc3FsLCBQR2Nvbm4gKmNvbm4sCi0JCQkJCSAgIHZhY3V1bWlu Z09wdGlvbnMgKnZhY29wdHMsIGNvbnN0IGNoYXIgKnRhYmxlLAotCQkJCQkgICBib29sIHRhYmxl X3ByZV9xdWFsaWZpZWQsCi0JCQkJCSAgIGNvbnN0IGNoYXIgKnByb2duYW1lLCBib29sIGVjaG8p CisJCQkJCSAgIHZhY3V1bWluZ09wdGlvbnMgKnZhY29wdHMsIGNvbnN0IGNoYXIgKnRhYmxlKQog ewogCWNvbnN0IGNoYXIgKnBhcmVuID0gIiAoIjsKIAljb25zdCBjaGFyICpjb21tYSA9ICIsICI7 CkBAIC03NTMsMTQgKzg3Miw4IEBAIHByZXBhcmVfdmFjdXVtX2NvbW1hbmQoUFFFeHBCdWZmZXIg c3FsLCBQR2Nvbm4gKmNvbm4sCiAJCX0KIAl9CiAKLQlpZiAodGFibGUpCi0JewotCQlhcHBlbmRQ UUV4cEJ1ZmZlckNoYXIoc3FsLCAnICcpOwotCQlpZiAodGFibGVfcHJlX3F1YWxpZmllZCkKLQkJ CWFwcGVuZFBRRXhwQnVmZmVyU3RyKHNxbCwgdGFibGUpOwotCQllbHNlCi0JCQlhcHBlbmRRdWFs aWZpZWRSZWxhdGlvbihzcWwsIHRhYmxlLCBjb25uLCBwcm9nbmFtZSwgZWNobyk7Ci0JfQorCWFw cGVuZFBRRXhwQnVmZmVyQ2hhcihzcWwsICcgJyk7CisJYXBwZW5kUFFFeHBCdWZmZXJTdHIoc3Fs LCB0YWJsZSk7CiAJYXBwZW5kUFFFeHBCdWZmZXJDaGFyKHNxbCwgJzsnKTsKIH0KIAotLSAKMi4x Ni41Cgo= --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_ Content-Type: application/octet-stream; name="v5-0004-Add-min-xid-age-and-min-mxid-age-options-to-vacuu.patch" Content-Description: v5-0004-Add-min-xid-age-and-min-mxid-age-options-to-vacuu.patch Content-Disposition: attachment; filename="v5-0004-Add-min-xid-age-and-min-mxid-age-options-to-vacuu.patch"; size=7477; creation-date="Thu, 24 Jan 2019 00:49:28 GMT"; modification-date="Thu, 24 Jan 2019 00:49:28 GMT" Content-ID: <8968E49D9E4AA449A49AA129674BC391@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA5YzFkYjNjODExYTBjMWMyYmE3Y2QyODU3YmM1YTE2MDZhNmZiMDE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogVHVlLCAyMiBKYW4gMjAxOSAyMzoxMTozMyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjUg NC80XSBBZGQgLS1taW4teGlkLWFnZSBhbmQgLS1taW4tbXhpZC1hZ2Ugb3B0aW9ucyB0bwogdmFj dXVtZGIuCgotLS0KIGRvYy9zcmMvc2dtbC9yZWYvdmFjdXVtZGIuc2dtbCAgICB8IDM3ICsrKysr KysrKysrKysrKysrKysrKysrKysrKwogc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBs IHwgMTAgKysrKysrKy0KIHNyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jICAgICAgICB8IDU0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMyBmaWxlcyBjaGFuZ2VkLCA5 OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9yZWYvdmFjdXVtZGIuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvdmFjdXVtZGIuc2dtbAppbmRl eCBmMzA0NjI3ODAyLi4yOWNjYmEyYTVhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3Zh Y3V1bWRiLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi92YWN1dW1kYi5zZ21sCkBAIC0xNzIs NiArMTcyLDQzIEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICAgICAgPC9saXN0aXRlbT4K ICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJt PjxvcHRpb24+LS1taW4tbXhpZC1hZ2UgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm14 aWRfYWdlPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+Cisg ICAgICAgPHBhcmE+CisgICAgICAgIE9ubHkgZXhlY3V0ZSB0aGUgdmFjdXVtIG9yIGFuYWx5emUg Y29tbWFuZHMgb24gdGFibGVzIHdpdGggYSBtdWx0aXhhY3QKKyAgICAgICAgSUQgYWdlIG9mIGF0 IGxlYXN0IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5teGlkX2FnZTwvcmVwbGFjZWFi bGU+LgorICAgICAgICBUaGlzIHNldHRpbmcgaXMgdXNlZnVsIGZvciBwcmlvcml0aXppbmcgdGFi bGVzIHRvIHByb2Nlc3MgdG8gcHJldmVudAorICAgICAgICBtdWx0aXhhY3QgSUQgd3JhcGFyb3Vu ZCAoc2VlIDx4cmVmCisgICAgICAgIGxpbmtlbmQ9InZhY3V1bS1mb3ItbXVsdGl4YWN0LXdyYXBh cm91bmQiLz4pLgorICAgICAgIDwvcGFyYT4KKyAgICAgICA8bm90ZT4KKyAgICAgICAgPHBhcmE+ CisgICAgICAgICBUaGlzIG9wdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSBmb3Igc2VydmVycyBydW5u aW5nIFBvc3RncmVTUUwgOS41IGFuZAorICAgICAgICAgbGF0ZXIuCisgICAgICAgIDwvcGFyYT4K KyAgICAgICA8L25vdGU+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4K KworICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PG9wdGlvbj4tLW1pbi14aWQtYWdl IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj54aWRfYWdlPC9yZXBsYWNlYWJsZT48L29w dGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIE9u bHkgZXhlY3V0ZSB0aGUgdmFjdXVtIG9yIGFuYWx5emUgY29tbWFuZHMgb24gdGFibGVzIHdpdGgg YSB0cmFuc2FjdGlvbgorICAgICAgICBJRCBhZ2Ugb2YgYXQgbGVhc3QgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnhpZF9hZ2U8L3JlcGxhY2VhYmxlPi4KKyAgICAgICAgVGhpcyBzZXR0 aW5nIGlzIHVzZWZ1bCBmb3IgcHJpb3JpdGl6aW5nIHRhYmxlcyB0byBwcm9jZXNzIHRvIHByZXZl bnQKKyAgICAgICAgdHJhbnNhY3Rpb24gSUQgd3JhcGFyb3VuZCAoc2VlIDx4cmVmIGxpbmtlbmQ9 InZhY3V1bS1mb3Itd3JhcGFyb3VuZCIvPikuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxub3Rl PgorICAgICAgICA8cGFyYT4KKyAgICAgICAgIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXZhaWxhYmxl IGZvciBzZXJ2ZXJzIHJ1bm5pbmcgUG9zdGdyZVNRTCA3LjIgYW5kCisgICAgICAgICBsYXRlci4K KyAgICAgICAgPC9wYXJhPgorICAgICAgIDwvbm90ZT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAg IDwvdmFybGlzdGVudHJ5PgorCiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48b3B0 aW9uPi1xPC9vcHRpb24+PC90ZXJtPgogICAgICAgPHRlcm0+PG9wdGlvbj4tLXF1aWV0PC9vcHRp b24+PC90ZXJtPgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBs IGIvc3JjL2Jpbi9zY3JpcHRzL3QvMTAwX3ZhY3V1bWRiLnBsCmluZGV4IGZmMGQ5Nzk3MWIuLmIx OWE0YWJmMjYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vc2NyaXB0cy90LzEwMF92YWN1dW1kYi5wbAor KysgYi9zcmMvYmluL3NjcmlwdHMvdC8xMDBfdmFjdXVtZGIucGwKQEAgLTMsNyArMyw3IEBAIHVz ZSB3YXJuaW5nczsKIAogdXNlIFBvc3RncmVzTm9kZTsKIHVzZSBUZXN0TGliOwotdXNlIFRlc3Q6 Ok1vcmUgdGVzdHMgPT4gMzU7Cit1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAzOTsKIAogcHJvZ3Jh bV9oZWxwX29rKCd2YWN1dW1kYicpOwogcHJvZ3JhbV92ZXJzaW9uX29rKCd2YWN1dW1kYicpOwpA QCAtODgsMyArODgsMTEgQEAgJG5vZGUtPmlzc3Vlc19zcWxfbGlrZSgKIAlbICd2YWN1dW1kYics ICctLWFuYWx5emUtb25seScsICctLXRhYmxlJywgJ3ZhY3RhYmxlKGIpJywgJ3Bvc3RncmVzJyBd LAogCXFyL3N0YXRlbWVudDogQU5BTFlaRSBwdWJsaWMudmFjdGFibGVcKGJcKTsvLAogCSd2YWN1 dW1kYiAtLWFuYWx5emUtb25seSB3aXRoIHBhcnRpYWwgY29sdW1uIGxpc3QnKTsKKyRub2RlLT5p c3N1ZXNfc3FsX2xpa2UoCisJWyAndmFjdXVtZGInLCAnLS10YWJsZT1wZ19jbGFzcycsICctLW1p bi1teGlkLWFnZT0yMTQ3NDgzMDAwJywgJ3Bvc3RncmVzJ10sCisJcXIvQU5EIEdSRUFURVNUXChw Z19jYXRhbG9nLm14aWRfYWdlXChjLnJlbG1pbm14aWRcKSwgcGdfY2F0YWxvZy5teGlkX2FnZVwo dC5yZWxtaW5teGlkXClcKSBPUEVSQVRPUlwocGdfY2F0YWxvZy4+PVwpIDIxNDc0ODMwMDAvLAor CSd2YWN1dW1kYiAtLXRhYmxlIC0tbWluLW14aWQtYWdlJyk7Ciskbm9kZS0+aXNzdWVzX3NxbF9s aWtlKAorCVsgJ3ZhY3V1bWRiJywgJy0tbWluLXhpZC1hZ2U9MjE0NzQ4MzAwMScsICdwb3N0Z3Jl cycgXSwKKwlxci9BTkQgR1JFQVRFU1RcKHBnX2NhdGFsb2cuYWdlXChjLnJlbGZyb3plbnhpZFwp LCBwZ19jYXRhbG9nLmFnZVwodC5yZWxmcm96ZW54aWRcKVwpIE9QRVJBVE9SXChwZ19jYXRhbG9n Lj49XCkgMjE0NzQ4MzAwMS8sCisJJ3ZhY3V1bWRiIC0tbWluLXhpZC1hZ2UnKTsKZGlmZiAtLWdp dCBhL3NyYy9iaW4vc2NyaXB0cy92YWN1dW1kYi5jIGIvc3JjL2Jpbi9zY3JpcHRzL3ZhY3V1bWRi LmMKaW5kZXggYjhiZjJlM2ZmNS4uN2NhMzc2NmVlZiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9zY3Jp cHRzL3ZhY3V1bWRiLmMKKysrIGIvc3JjL2Jpbi9zY3JpcHRzL3ZhY3V1bWRiLmMKQEAgLTQzLDYg KzQzLDggQEAgdHlwZWRlZiBzdHJ1Y3QgdmFjdXVtaW5nT3B0aW9ucwogCWJvb2wJCWZyZWV6ZTsK IAlib29sCQlkaXNhYmxlX3BhZ2Vfc2tpcHBpbmc7CiAJYm9vbAkJc2tpcF9sb2NrZWQ7CisJaW50 CQkJbWluX3hpZF9hZ2U7CisJaW50CQkJbWluX214aWRfYWdlOwogfSB2YWN1dW1pbmdPcHRpb25z OwogCiAKQEAgLTExMyw2ICsxMTUsOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJ CXsiYW5hbHl6ZS1pbi1zdGFnZXMiLCBub19hcmd1bWVudCwgTlVMTCwgM30sCiAJCXsiZGlzYWJs ZS1wYWdlLXNraXBwaW5nIiwgbm9fYXJndW1lbnQsIE5VTEwsIDR9LAogCQl7InNraXAtbG9ja2Vk Iiwgbm9fYXJndW1lbnQsIE5VTEwsIDV9LAorCQl7Im1pbi14aWQtYWdlIiwgcmVxdWlyZWRfYXJn dW1lbnQsIE5VTEwsIDZ9LAorCQl7Im1pbi1teGlkLWFnZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBO VUxMLCA3fSwKIAkJe05VTEwsIDAsIE5VTEwsIDB9CiAJfTsKIApAQCAtMjIyLDYgKzIyNiwyNCBA QCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCQljYXNlIDU6CiAJCQkJdmFjb3B0cy5z a2lwX2xvY2tlZCA9IHRydWU7CiAJCQkJYnJlYWs7CisJCQljYXNlIDY6CisJCQkJdmFjb3B0cy5t aW5feGlkX2FnZSA9IGF0b2kob3B0YXJnKTsKKwkJCQlpZiAodmFjb3B0cy5taW5feGlkX2FnZSA8 PSAwKQorCQkJCXsKKwkJCQkJZnByaW50ZihzdGRlcnIsIF8oIiVzOiBtaW5pbXVtIHRyYW5zYWN0 aW9uIElEIGFnZSBtdXN0IGJlIGF0IGxlYXN0IDFcbiIpLAorCQkJCQkJCXByb2duYW1lKTsKKwkJ CQkJZXhpdCgxKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlIDc6CisJCQkJdmFjb3B0cy5t aW5fbXhpZF9hZ2UgPSBhdG9pKG9wdGFyZyk7CisJCQkJaWYgKHZhY29wdHMubWluX214aWRfYWdl IDw9IDApCisJCQkJeworCQkJCQlmcHJpbnRmKHN0ZGVyciwgXygiJXM6IG1pbmltdW0gbXVsdGl4 YWN0IElEIGFnZSBtdXN0IGJlIGF0IGxlYXN0IDFcbiIpLAorCQkJCQkJCXByb2duYW1lKTsKKwkJ CQkJZXhpdCgxKTsKKwkJCQl9CisJCQkJYnJlYWs7CiAJCQlkZWZhdWx0OgogCQkJCWZwcmludGYo c3RkZXJyLCBfKCJUcnkgXCIlcyAtLWhlbHBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIpLCBw cm9nbmFtZSk7CiAJCQkJZXhpdCgxKTsKQEAgLTQwNiw2ICs0MjgsMjAgQEAgdmFjdXVtX29uZV9k YXRhYmFzZShjb25zdCBjaGFyICpkYm5hbWUsIHZhY3V1bWluZ09wdGlvbnMgKnZhY29wdHMsCiAJ CWV4aXQoMSk7CiAJfQogCisJaWYgKHZhY29wdHMtPm1pbl94aWRfYWdlICE9IDAgJiYgUFFzZXJ2 ZXJWZXJzaW9uKGNvbm4pIDwgNzAyMDApCisJeworCQlmcHJpbnRmKHN0ZGVyciwgXygiJXM6IGNh bm5vdCB1c2UgdGhlIFwiJXNcIiBvcHRpb24gb24gc2VydmVyIHZlcnNpb25zIG9sZGVyIHRoYW4g UG9zdGdyZVNRTCA3LjJcbiIpLAorCQkJCXByb2duYW1lLCAiLS1taW4teGlkLWFnZSIpOworCQll eGl0KDEpOworCX0KKworCWlmICh2YWNvcHRzLT5taW5fbXhpZF9hZ2UgIT0gMCAmJiBQUXNlcnZl clZlcnNpb24oY29ubikgPCA5MDUwMCkKKwl7CisJCWZwcmludGYoc3RkZXJyLCBfKCIlczogY2Fu bm90IHVzZSB0aGUgXCIlc1wiIG9wdGlvbiBvbiBzZXJ2ZXIgdmVyc2lvbnMgb2xkZXIgdGhhbiBQ b3N0Z3JlU1FMIDkuNVxuIiksCisJCQkJcHJvZ25hbWUsICItLW1pbi1teGlkLWFnZSIpOworCQll eGl0KDEpOworCX0KKwogCWlmICghcXVpZXQpCiAJewogCQlpZiAoc3RhZ2UgIT0gQU5BTFlaRV9O T19TVEFHRSkKQEAgLTUxNiw3ICs1NTIsOSBAQCB2YWN1dW1fb25lX2RhdGFiYXNlKGNvbnN0IGNo YXIgKmRibmFtZSwgdmFjdXVtaW5nT3B0aW9ucyAqdmFjb3B0cywKIAlhcHBlbmRQUUV4cEJ1ZmZl cigmY2F0YWxvZ19xdWVyeSwKIAkJCQkJICAiIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjXG4i CiAJCQkJCSAgIiBKT0lOIHBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIG5zIgotCQkJCQkgICIgT04g Yy5yZWxuYW1lc3BhY2UgT1BFUkFUT1IocGdfY2F0YWxvZy49KSBucy5vaWRcbiIpOworCQkJCQkg ICIgT04gYy5yZWxuYW1lc3BhY2UgT1BFUkFUT1IocGdfY2F0YWxvZy49KSBucy5vaWRcbiIKKwkJ CQkJICAiIExFRlQgSk9JTiBwZ19jYXRhbG9nLnBnX2NsYXNzIHQiCisJCQkJCSAgIiBPTiBjLnJl bHRvYXN0cmVsaWQgT1BFUkFUT1IocGdfY2F0YWxvZy49KSB0Lm9pZFxuIik7CiAKIAlpZiAoY29s dW1uc19saXN0ZWQpCiAJCWFwcGVuZFBRRXhwQnVmZmVyKCZjYXRhbG9nX3F1ZXJ5LCAiIExFRlQg Sk9JTiBjb2x1bW5fbGlzdHMiCkBAIC01MzAsNiArNTY4LDE4IEBAIHZhY3V1bV9vbmVfZGF0YWJh c2UoY29uc3QgY2hhciAqZGJuYW1lLCB2YWN1dW1pbmdPcHRpb25zICp2YWNvcHRzLAogCQlhcHBl bmRQUUV4cEJ1ZmZlclN0cigmY2F0YWxvZ19xdWVyeSwgdGFibGVfY2xhdXNlLmRhdGEpOwogCXRl cm1QUUV4cEJ1ZmZlcigmdGFibGVfY2xhdXNlKTsKIAorCWlmICh2YWNvcHRzLT5taW5feGlkX2Fn ZSAhPSAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigmY2F0YWxvZ19xdWVyeSwKKwkJCQkJCSAgIiBB TkQgR1JFQVRFU1QocGdfY2F0YWxvZy5hZ2UoYy5yZWxmcm96ZW54aWQpLCIKKwkJCQkJCSAgIiBw Z19jYXRhbG9nLmFnZSh0LnJlbGZyb3plbnhpZCkpIE9QRVJBVE9SKHBnX2NhdGFsb2cuPj0pICVk XG4iLAorCQkJCQkJICB2YWNvcHRzLT5taW5feGlkX2FnZSk7CisKKwlpZiAodmFjb3B0cy0+bWlu X214aWRfYWdlICE9IDApCisJCWFwcGVuZFBRRXhwQnVmZmVyKCZjYXRhbG9nX3F1ZXJ5LAorCQkJ CQkJICAiIEFORCBHUkVBVEVTVChwZ19jYXRhbG9nLm14aWRfYWdlKGMucmVsbWlubXhpZCksIgor CQkJCQkJICAiIHBnX2NhdGFsb2cubXhpZF9hZ2UodC5yZWxtaW5teGlkKSkgT1BFUkFUT1IocGdf Y2F0YWxvZy4+PSkgJWRcbiIsCisJCQkJCQkgIHZhY29wdHMtPm1pbl9teGlkX2FnZSk7CisKIAkv KgogCSAqIEV4ZWN1dGUgdGhlIGNhdGFsb2cgcXVlcnkuICBXZSB1c2UgdGhlIGRlZmF1bHQgc2Vh cmNoX3BhdGggZm9yIHRoaXMKIAkgKiBxdWVyeSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0YWJsZSBs b29rdXBzIGRvbmUgZWxzZXdoZXJlIGJ5IHRoZSB1c2VyLgpAQCAtMTE4OCw2ICsxMjM4LDggQEAg aGVscChjb25zdCBjaGFyICpwcm9nbmFtZSkKIAlwcmludGYoXygiICAtZiwgLS1mdWxsICAgICAg ICAgICAgICAgICAgICAgIGRvIGZ1bGwgdmFjdXVtaW5nXG4iKSk7CiAJcHJpbnRmKF8oIiAgLUYs IC0tZnJlZXplICAgICAgICAgICAgICAgICAgICBmcmVlemUgcm93IHRyYW5zYWN0aW9uIGluZm9y bWF0aW9uXG4iKSk7CiAJcHJpbnRmKF8oIiAgLWosIC0tam9icz1OVU0gICAgICAgICAgICAgICAg ICB1c2UgdGhpcyBtYW55IGNvbmN1cnJlbnQgY29ubmVjdGlvbnMgdG8gdmFjdXVtXG4iKSk7CisJ cHJpbnRmKF8oIiAgICAgIC0tbWluLW14aWQtYWdlPU1YSURfQUdFICAgICBtaW5pbXVtIG11bHRp eGFjdCBJRCBhZ2Ugb2YgdGFibGVzIHRvIHZhY3V1bVxuIikpOworCXByaW50ZihfKCIgICAgICAt LW1pbi14aWQtYWdlPVhJRF9BR0UgICAgICAgbWluaW11bSB0cmFuc2FjdGlvbiBJRCBhZ2Ugb2Yg dGFibGVzIHRvIHZhY3V1bVxuIikpOwogCXByaW50ZihfKCIgIC1xLCAtLXF1aWV0ICAgICAgICAg ICAgICAgICAgICAgZG9uJ3Qgd3JpdGUgYW55IG1lc3NhZ2VzXG4iKSk7CiAJcHJpbnRmKF8oIiAg ICAgIC0tc2tpcC1sb2NrZWQgICAgICAgICAgICAgICBza2lwIHJlbGF0aW9ucyB0aGF0IGNhbm5v dCBiZSBpbW1lZGlhdGVseSBsb2NrZWRcbiIpKTsKIAlwcmludGYoXygiICAtdCwgLS10YWJsZT0n VEFCTEVbKENPTFVNTlMpXScgIHZhY3V1bSBzcGVjaWZpYyB0YWJsZShzKSBvbmx5XG4iKSk7Ci0t IAoyLjE2LjUKCg== --_005_26A57CB32847495F93CA9358959CDAD4amazoncom_--