Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vikBj-00ELfu-2M for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 02:12:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vikBi-00AOn8-2I for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Jan 2026 02:12:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vikBh-00AOmz-2i for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 02:12:46 +0000 Received: from fout-a4-smtp.messagingengine.com ([103.168.172.147]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vikBe-001p26-2W for pgsql-hackers@lists.postgresql.org; Thu, 22 Jan 2026 02:12:45 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 59EFEEC00D7; Wed, 21 Jan 2026 21:12:40 -0500 (EST) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-06.internal (MEProxy); Wed, 21 Jan 2026 21:12:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1769047960; x=1769134360; bh=gua0vua3yI sU3CY3TBn4VUPxJMizsUsPshpBjaB7Q0A=; b=Y5a9Ozbd3TqSbRDwQDNOeNWSKv gnmOxx5szqgPHO91NK5UhKtjHsRGCOUJpz3zh9Vq4GqM/piEGM6JMYNlLPrOH8Z4 FtqiXv70il+jqa07+xk8OUn11wsOvOGE5yOA+0BngdZbD/P5srecZUTdS01ZmOue XL8P00hehU59kvgCCusSVpxEfcvwSQfxhivENu2WCeYU1dWrE03mpoVpHf8xA3jV kfprllTPoyyYBV9U2JYSIv2iMp4LrWjvarW9zB5mDmgwIrpK/+ldIxOL/svjT3rh Sh4mrrCypCWZZOSQgvUpRY9d3DXzeqlyrsZLLvSrTCGqSE4gLcxumWVlBK5Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1769047960; x=1769134360; bh=gua0vua3yIsU3CY3TBn4VUPxJMizsUsPshp BjaB7Q0A=; b=fLCAga2wZZFV6xo0VB/ReddWBAxLabbJENX9qdF0FODVg7PKjvJ 8+AlOFDk0gfHabiGJ3rGoUDhtklmVh3fILRHvWmLdlGoIDM3qnDOJ5kUlfw+YodF GW9/uO9nwfKQqchedCBhX+mbqyLXitrXzyJ2U31vmy7yMqzIhaE1GC84OIAkyxL1 e8dnDd3ROanq0NZgWIFilnxUNM6t6z/Cwh4qQWaUT0MMIjzHqmcXWzg13Ij4YhVv vQvKNHJFi2TEDdj8FhVgA8Go9h8GGBBLnklbxprc16sKNnXJBdzahFTB73t3xtTi YBLjPwFQUwq1Y3RuKKetOQ0L3hC3JIoeRjw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddugeegleefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvfevkfgjfhfutgesmhdtreerredttdenucfhrhhomhepfdfguhhlvghr ucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhlvghrthhordgtohhmqeenucggtffrrg htthgvrhhnpeeiueekjeevtdegteehhfdvjedtkedtheekgfekgfehffdttdeigfekffeg heehveenucffohhmrghinhepphhoshhtghhrrdgvshdpvghnthgvrhhprhhishgvuggsrd gtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep vghulhgvrhesvghulhgvrhhtohdrtghomhdpnhgspghrtghpthhtohephedpmhhouggvpe hsmhhtphhouhhtpdhrtghpthhtoheprghlvhhhvghrrhgvsegrlhhvhhdrnhhoqdhiphdr ohhrghdprhgtphhtthhopegrnhgurhgvshesrghnrghrrgiivghlrdguvgdprhgtphhtth hopehlihdrvghvrghnrdgthhgrohesghhmrghilhdrtghomhdprhgtphhtthhopehjrghp ihhnlhhisehhohhtmhgrihhlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhhgrtghkvg hrsheslhhishhtshdrphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id DD88B182007E; Wed, 21 Jan 2026 21:12:39 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AGl55nTq-Okk Date: Wed, 21 Jan 2026 23:12:19 -0300 From: "Euler Taveira" To: "Alvaro Herrera" Cc: japin , "Andres Freund" , pgsql-hackers@lists.postgresql.org, "Chao Li" Message-Id: <4d496ab8-35e7-4535-8ee1-ed2bb7262172@app.fastmail.com> In-Reply-To: <202601172159.zlzebobtb7kq@alvherre.pgsql> References: <202601172159.zlzebobtb7kq@alvherre.pgsql> Subject: Re: log_min_messages per backend type Content-Type: multipart/mixed; boundary=68ce77c2335b48f3b1bc464f35ba4211 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --68ce77c2335b48f3b1bc464f35ba4211 Content-Type: text/plain Content-Transfer-Encoding: 7bit On Sat, Jan 17, 2026, at 7:02 PM, Alvaro Herrera wrote: > > I'm not opposed to this idea, but I think it should be implemented not > by sorting and then moving the first element to the top of the list, but > instead by modifying the cmp function so that the desired order is > achieved directly. So the cmp() should return -1 if element a has no > colon, or 1 if element b has no colon, otherwise return per strcmp. > That way you can remove the foreach() block above, which is icky. > Good idea. The v9 contains this implementation. I also use the StringInfo as you suggested in the other email. The 0003 removed the wrong B_BACKEND assignment pointed in a previous email. This new patchset contains some changes suggested by Japin Li [1] (I didn't change the error message because it adds an extra message to translate). There was a minor issue with a null-terminated string that I fixed too. PS> I didn't change the background worker case that I mentioned in [2]. [1] https://postgr.es/m/MEAPR01MB3031FA1986F3FC91481E28CCB68DA@MEAPR01MB3031.ausprd01.prod.outlook.com [2] https://postgr.es/m/f20103f2-d960-4206-9969-c4a936524ab1@app.fastmail.com -- Euler Taveira EDB https://www.enterprisedb.com/ --68ce77c2335b48f3b1bc464f35ba4211 Content-Disposition: attachment; filename*0="v9-0001-log_min_messages-per-process-type.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v9-0001-log=5Fmin=5Fmessages-per-process-type.patch?=" Content-Transfer-Encoding: base64 RnJvbSBlYTI5OWYxYThiNmEzOGU0MDgyNmQ3YmFmMGRkN2E2NzMzMTk3ZmI0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogVHVlLCA0IE5vdiAyMDI1IDE3OjE4OjIwIC0wMzAwClN1YmplY3Q6IFtQQVRD SCB2OSAxLzNdIGxvZ19taW5fbWVzc2FnZXMgcGVyIHByb2Nlc3MgdHlwZQoKQ2hhbmdlIGxv Z19taW5fbWVzc2FnZXMgZnJvbSBhIHNpbmdsZSBlbGVtZW50IHRvIGEgY29tbWEtc2VwYXJh dGVkIGxpc3QKb2YgZWxlbWVudHMuIEVhY2ggZWxlbWVudCBpcyB0eXBlOmxldmVsLiBUaGUg dHlwZXMgYXJlIGFyY2hpdmVyLAphdXRvdmFjdXVtIChpbmNsdWRlcyBsYXVuY2hlciBhbmQg d29ya2VycyksIGJhY2tlbmQsIGJnd29ya2VyLCBiZ3dyaXRlciwKY2hlY2twb2ludGVyLCBp b3dvcmtlciwgcG9zdG1hc3Rlciwgc3lzbG9nZ2VyLCBzbG90c3luY3dvcmtlciwgc3RhcnR1 cCwKd2FscmVjZWl2ZXIsIHdhbHNlbmRlciwgd2Fsc3VtbWFyaXplciBhbmQgd2Fsd3JpdGVy LiBBIHNpbmdsZSBsb2cgbGV2ZWwKc2hvdWxkIGJlIHBhcnQgb2YgdGhpcyBsaXN0IGFuZCBp dCBpcyBhcHBsaWVkIGFzIGEgZmluYWwgc3RlcCB0byB0aGUKcHJvY2VzcyB0eXBlcyB0aGF0 IHdlcmUgbm90IGluZm9ybWVkLgoKVGhlIG9sZCBzeW50YXggKGEgc2luZ2xlIGxvZyBsZXZl bCkgaXMgc3RpbGwgYWNjZXB0ZWQgZm9yIGJhY2t3YXJkCmNvbXBhdGliaWxpdHkuIEluIHRo aXMgY2FzZSwgaXQgbWVhbnMgdGhlIGluZm9ybWVkIGxvZyBsZXZlbCBpcyBhcHBsaWVkCmZv ciBhbGwgcHJvY2VzcyB0eXBlcy4gVGhlIGRlZmF1bHQgbG9nIGxldmVsIGlzIHRoZSBzYW1l IChXQVJOSU5HKSBmb3IKYWxsIHByb2Nlc3MgdHlwZXMuCi0tLQogZG9jL3NyYy9zZ21sL2Nv bmZpZy5zZ21sICAgICAgICAgICAgICAgICAgICAgIHwgIDQyICsrKy0KIHNyYy9iYWNrZW5k L2NvbW1hbmRzL2V4dGVuc2lvbi5jICAgICAgICAgICAgICB8ICAgMiArLQogc3JjL2JhY2tl bmQvY29tbWFuZHMvdmFyaWFibGUuYyAgICAgICAgICAgICAgIHwgMjA2ICsrKysrKysrKysr KysrKysrKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9sYXVuY2hfYmFja2VuZC5jICAgICAg IHwgICAyICstCiBzcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgICAgICAgICAgICAg ICAgfCAgIDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYyAgICAgICAg ICAgICB8ICAgMiArLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5k YXQgICAgIHwgIDEwICstCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYyAg ICAgICAgICAgfCAgMjEgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5j b25mLnNhbXBsZSB8ICAgMiArCiBzcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3Byb2N0eXBlbGlz dC5oICAgICAgICAgfCAgNDIgKystLQogc3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmggICAgICAg ICAgICAgICAgICAgICAgIHwgICA1ICstCiBzcmMvaW5jbHVkZS91dGlscy9ndWNfaG9va3Mu aCAgICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9n dWMub3V0ICAgICAgICAgICAgIHwgIDU0ICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9n dWMuc3FsICAgICAgICAgICAgICAgICAgfCAgMTggKysKIDE0IGZpbGVzIGNoYW5nZWQsIDM2 OSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvY29uZmlnLnNnbWwgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNnbWwKaW5kZXggNTU2 MGI5NWVlNjAuLmNiYzc0OGEzNjM2IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY29uZmln LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sCkBAIC03MDgzLDcgKzcwODMs NyBAQCBsb2NhbDAuKiAgICAvdmFyL2xvZy9wb3N0Z3Jlc3FsCiAgICAgIDx2YXJpYWJsZWxp c3Q+CiAKICAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLWxvZy1taW4tbWVzc2FnZXMiIHhy ZWZsYWJlbD0ibG9nX21pbl9tZXNzYWdlcyI+Ci0gICAgICA8dGVybT48dmFybmFtZT5sb2df bWluX21lc3NhZ2VzPC92YXJuYW1lPiAoPHR5cGU+ZW51bTwvdHlwZT4pCisgICAgICA8dGVy bT48dmFybmFtZT5sb2dfbWluX21lc3NhZ2VzPC92YXJuYW1lPiAoPHR5cGU+c3RyaW5nPC90 eXBlPikKICAgICAgIDxpbmRleHRlcm0+CiAgICAgICAgPHByaW1hcnk+PHZhcm5hbWU+bG9n X21pbl9tZXNzYWdlczwvdmFybmFtZT4gY29uZmlndXJhdGlvbiBwYXJhbWV0ZXI8L3ByaW1h cnk+CiAgICAgICA8L2luZGV4dGVybT4KQEAgLTcwOTIsMTQgKzcwOTIsMzggQEAgbG9jYWww LiogICAgL3Zhci9sb2cvcG9zdGdyZXNxbAogICAgICAgIDxwYXJhPgogICAgICAgICBDb250 cm9scyB3aGljaCA8bGluayBsaW5rZW5kPSJydW50aW1lLWNvbmZpZy1zZXZlcml0eS1sZXZl bHMiPm1lc3NhZ2UKICAgICAgICAgbGV2ZWxzPC9saW5rPiBhcmUgd3JpdHRlbiB0byB0aGUg c2VydmVyIGxvZy4KLSAgICAgICAgVmFsaWQgdmFsdWVzIGFyZSA8bGl0ZXJhbD5ERUJVRzU8 L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJVRzQ8L2xpdGVyYWw+LAotICAgICAgICA8bGl0ZXJh bD5ERUJVRzM8L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJVRzI8L2xpdGVyYWw+LCA8bGl0ZXJh bD5ERUJVRzE8L2xpdGVyYWw+LAotICAgICAgICA8bGl0ZXJhbD5JTkZPPC9saXRlcmFsPiwg PGxpdGVyYWw+Tk9USUNFPC9saXRlcmFsPiwgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJhbD4s Ci0gICAgICAgIDxsaXRlcmFsPkVSUk9SPC9saXRlcmFsPiwgPGxpdGVyYWw+TE9HPC9saXRl cmFsPiwgPGxpdGVyYWw+RkFUQUw8L2xpdGVyYWw+LCBhbmQKLSAgICAgICAgPGxpdGVyYWw+ UEFOSUM8L2xpdGVyYWw+LiAgRWFjaCBsZXZlbCBpbmNsdWRlcyBhbGwgdGhlIGxldmVscyB0 aGF0Ci0gICAgICAgIGZvbGxvdyBpdC4gIFRoZSBsYXRlciB0aGUgbGV2ZWwsIHRoZSBmZXdl ciBtZXNzYWdlcyBhcmUgc2VudAotICAgICAgICB0byB0aGUgbG9nLiAgVGhlIGRlZmF1bHQg aXMgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJhbD4uICBOb3RlIHRoYXQKLSAgICAgICAgPGxp dGVyYWw+TE9HPC9saXRlcmFsPiBoYXMgYSBkaWZmZXJlbnQgcmFuayBoZXJlIHRoYW4gaW4K KyAgICAgICAgVmFsaWQgdmFsdWVzIGFyZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIDxs aXRlcmFsPnR5cGU6bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGFuZCBhIHNpbmdsZSA8bGl0 ZXJhbD5sZXZlbDwvbGl0ZXJhbD4uIFRoZSBsaXN0IGFsbG93cyBpdCB0byB1c2UKKyAgICAg ICAgZGlmZmVyZW50IGxldmVscyBwZXIgcHJvY2VzcyB0eXBlLiBPbmx5IHRoZSBzaW5nbGUg PGxpdGVyYWw+bGV2ZWw8L2xpdGVyYWw+CisgICAgICAgIGlzIG1hbmRhdG9yeSAob3JkZXIg ZG9lcyBub3QgbWF0dGVyKSBhbmQgaXQgaXMgYXNzaWduZWQgdG8gdGhlIHByb2Nlc3MKKyAg ICAgICAgdHlwZXMgdGhhdCBhcmUgbm90IHNwZWNpZmllZCBpbiB0aGUgbGlzdC4KKyAgICAg ICAgVmFsaWQgcHJvY2VzcyB0eXBlcyBhcmUgbGlzdGVkIGluIHRoZSB0YWJsZSBiZWxvdywg ZWFjaCBjb3JyZXNwb25kaW5nIHRvCisgICAgICAgIGVpdGhlciBwb3N0bWFzdGVyLCBhbiBh dXhpbGlhcnkgcHJvY2VzcyB0eXBlIG9yIGEgYmFja2VuZC4KKyAgICAgICAgPHNpbXBsZWxp c3QgdHlwZT0idmVydCIgY29sdW1ucz0iNCI+CisgICAgICAgICA8bWVtYmVyPjxsaXRlcmFs PmFyY2hpdmVyPC9saXRlcmFsPjwvbWVtYmVyPgorICAgICAgICAgPG1lbWJlcj48bGl0ZXJh bD5hdXRvdmFjdXVtPC9saXRlcmFsPjwvbWVtYmVyPgorICAgICAgICAgPG1lbWJlcj48bGl0 ZXJhbD5iYWNrZW5kPC9saXRlcmFsPjwvbWVtYmVyPgorICAgICAgICAgPG1lbWJlcj48bGl0 ZXJhbD5iZ3dvcmtlcjwvbGl0ZXJhbD48L21lbWJlcj4KKyAgICAgICAgIDxtZW1iZXI+PGxp dGVyYWw+Ymd3cml0ZXI8L2xpdGVyYWw+PC9tZW1iZXI+CisgICAgICAgICA8bWVtYmVyPjxs aXRlcmFsPmNoZWNrcG9pbnRlcjwvbGl0ZXJhbD48L21lbWJlcj4KKyAgICAgICAgIDxtZW1i ZXI+PGxpdGVyYWw+aW93b3JrZXI8L2xpdGVyYWw+PC9tZW1iZXI+CisgICAgICAgICA8bWVt YmVyPjxsaXRlcmFsPnBvc3RtYXN0ZXI8L2xpdGVyYWw+PC9tZW1iZXI+CisgICAgICAgICA8 bWVtYmVyPjxsaXRlcmFsPnN5c2xvZ2dlcjwvbGl0ZXJhbD48L21lbWJlcj4KKyAgICAgICAg IDxtZW1iZXI+PGxpdGVyYWw+c2xvdHN5bmN3b3JrZXI8L2xpdGVyYWw+PC9tZW1iZXI+Cisg ICAgICAgICA8bWVtYmVyPjxsaXRlcmFsPnN0YXJ0dXA8L2xpdGVyYWw+PC9tZW1iZXI+Cisg ICAgICAgICA8bWVtYmVyPjxsaXRlcmFsPndhbHJlY2VpdmVyPC9saXRlcmFsPjwvbWVtYmVy PgorICAgICAgICAgPG1lbWJlcj48bGl0ZXJhbD53YWxzZW5kZXI8L2xpdGVyYWw+PC9tZW1i ZXI+CisgICAgICAgICA8bWVtYmVyPjxsaXRlcmFsPndhbHN1bW1hcml6ZXI8L2xpdGVyYWw+ PC9tZW1iZXI+CisgICAgICAgICA8bWVtYmVyPjxsaXRlcmFsPndhbHdyaXRlcjwvbGl0ZXJh bD48L21lbWJlcj4KKyAgICAgICAgPC9zaW1wbGVsaXN0PgorICAgICAgICBWYWxpZCA8bGl0 ZXJhbD5sZXZlbDwvbGl0ZXJhbD4gdmFsdWVzIGFyZSA8bGl0ZXJhbD5ERUJVRzU8L2xpdGVy YWw+LAorICAgICAgICA8bGl0ZXJhbD5ERUJVRzQ8L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJV RzM8L2xpdGVyYWw+LCA8bGl0ZXJhbD5ERUJVRzI8L2xpdGVyYWw+LAorICAgICAgICA8bGl0 ZXJhbD5ERUJVRzE8L2xpdGVyYWw+LCA8bGl0ZXJhbD5JTkZPPC9saXRlcmFsPiwgPGxpdGVy YWw+Tk9USUNFPC9saXRlcmFsPiwKKyAgICAgICAgPGxpdGVyYWw+V0FSTklORzwvbGl0ZXJh bD4sIDxsaXRlcmFsPkVSUk9SPC9saXRlcmFsPiwgPGxpdGVyYWw+TE9HPC9saXRlcmFsPiwK KyAgICAgICAgPGxpdGVyYWw+RkFUQUw8L2xpdGVyYWw+LCBhbmQgPGxpdGVyYWw+UEFOSUM8 L2xpdGVyYWw+LiAgRWFjaCBsZXZlbCBpbmNsdWRlcworICAgICAgICBhbGwgdGhlIGxldmVs cyB0aGF0IGZvbGxvdyBpdC4gIFRoZSBsYXRlciB0aGUgbGV2ZWwsIHRoZSBmZXdlciBtZXNz YWdlcyBhcmUgc2VudAorICAgICAgICB0byB0aGUgbG9nLiAgVGhlIGRlZmF1bHQgaXMgPGxp dGVyYWw+V0FSTklORzwvbGl0ZXJhbD4gZm9yIGFsbCBwcm9jZXNzIHR5cGVzLgorICAgICAg ICBOb3RlIHRoYXQgPGxpdGVyYWw+TE9HPC9saXRlcmFsPiBoYXMgYSBkaWZmZXJlbnQgcmFu ayBoZXJlIHRoYW4gaW4KICAgICAgICAgPHhyZWYgbGlua2VuZD0iZ3VjLWNsaWVudC1taW4t bWVzc2FnZXMiLz4uCiAgICAgICAgIE9ubHkgc3VwZXJ1c2VycyBhbmQgdXNlcnMgd2l0aCB0 aGUgYXBwcm9wcmlhdGUgPGxpdGVyYWw+U0VUPC9saXRlcmFsPgogICAgICAgICBwcml2aWxl Z2UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy9leHRlbnNpb24uYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2V4dGVuc2lvbi5j CmluZGV4IDU5NjEwNWVlMDc4Li42ODhmMTg3NGYzMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvZXh0ZW5zaW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXh0 ZW5zaW9uLmMKQEAgLTExOTEsNyArMTE5MSw3IEBAIGV4ZWN1dGVfZXh0ZW5zaW9uX3Njcmlw dChPaWQgZXh0ZW5zaW9uT2lkLCBFeHRlbnNpb25Db250cm9sRmlsZSAqY29udHJvbCwKIAkJ KHZvaWQpIHNldF9jb25maWdfb3B0aW9uKCJjbGllbnRfbWluX21lc3NhZ2VzIiwgIndhcm5p bmciLAogCQkJCQkJCQkgUEdDX1VTRVJTRVQsIFBHQ19TX1NFU1NJT04sCiAJCQkJCQkJCSBH VUNfQUNUSU9OX1NBVkUsIHRydWUsIDAsIGZhbHNlKTsKLQlpZiAobG9nX21pbl9tZXNzYWdl cyA8IFdBUk5JTkcpCisJaWYgKGxvZ19taW5fbWVzc2FnZXNbTXlCYWNrZW5kVHlwZV0gPCBX QVJOSU5HKQogCQkodm9pZCkgc2V0X2NvbmZpZ19vcHRpb25fZXh0KCJsb2dfbWluX21lc3Nh Z2VzIiwgIndhcm5pbmciLAogCQkJCQkJCQkJIFBHQ19TVVNFVCwgUEdDX1NfU0VTU0lPTiwK IAkJCQkJCQkJCSBCT09UU1RSQVBfU1VQRVJVU0VSSUQsCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9jb21tYW5kcy92YXJpYWJsZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFi bGUuYwppbmRleCA0NDQwYWZmNDkyNS4uOTlmNDAxODY1MzMgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3ZhcmlhYmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv dmFyaWFibGUuYwpAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgInV0aWxzL2JhY2tlbmRf c3RhdHVzLmgiCiAjaW5jbHVkZSAidXRpbHMvZGF0ZXRpbWUuaCIKICNpbmNsdWRlICJ1dGls cy9mbWdycHJvdG9zLmgiCisjaW5jbHVkZSAidXRpbHMvZ3VjLmgiCiAjaW5jbHVkZSAidXRp bHMvZ3VjX2hvb2tzLmgiCiAjaW5jbHVkZSAidXRpbHMvc25hcG1nci5oIgogI2luY2x1ZGUg InV0aWxzL3N5c2NhY2hlLmgiCkBAIC0xMjcyLDMgKzEyNzMsMjA4IEBAIGNoZWNrX3N0YW5k YXJkX2NvbmZvcm1pbmdfc3RyaW5ncyhib29sICpuZXd2YWwsIHZvaWQgKipleHRyYSwgR3Vj U291cmNlIHNvdXJjZSkKIAogCXJldHVybiB0cnVlOwogfQorCisvKgorICogR1VDIGNoZWNr X2hvb2sgZm9yIGxvZ19taW5fbWVzc2FnZXMKKyAqCisgKiBUaGUgcGFyc2luZyBjb25zaXN0 cyBvZiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIFRZUEU6TEVWRUwgZWxlbWVudHMuIFRZ UEUKKyAqIGlzIGxvZ19taW5fbWVzc2FnZXNfcHJvY2Vzc190eXBlcy4gIExFVkVMIGlzIHNl cnZlcl9tZXNzYWdlX2xldmVsX29wdGlvbnMuIEEKKyAqIHNpbmdsZSBMRVZFTCBlbGVtZW50 IHNob3VsZCBiZSBwYXJ0IG9mIHRoaXMgbGlzdCBhbmQgaXQgaXMgYXBwbGllZCBhcyBhCisg KiBmaW5hbCBzdGVwIHRvIHRoZSBwcm9jZXNzIHR5cGVzIHRoYXQgYXJlIG5vdCBzcGVjaWZp ZWQuIEZvciBiYWNrd2FyZAorICogY29tcGF0aWJpbGl0eSwgdGhlIG9sZCBzeW50YXggaXMg c3RpbGwgYWNjZXB0ZWQgYW5kIGl0IG1lYW5zIHRvIGFwcGx5IHRoZQorICogTEVWRUwgZm9y IGFsbCBwcm9jZXNzIHR5cGVzLgorICovCitib29sCitjaGVja19sb2dfbWluX21lc3NhZ2Vz KGNoYXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwgR3VjU291cmNlIHNvdXJjZSkKK3sKKwlj aGFyCSAgICpyYXdzdHJpbmc7CisJTGlzdAkgICAqZWxlbWxpc3Q7CisJaW50CQkJbmV3bGV2 ZWxbQkFDS0VORF9OVU1fVFlQRVNdOworCWJvb2wJCWFzc2lnbmVkW0JBQ0tFTkRfTlVNX1RZ UEVTXTsKKwlpbnQJCQlnZW5lcmljbGV2ZWwgPSAtMTsJLyogLTEgbWVhbnMgbm90IGFzc2ln bmVkICovCisKKwkvKiBJbml0aWFsaXplIHRoZSBhcnJheS4gKi8KKwlmb3IgKGludCBpID0g MDsgaSA8IEJBQ0tFTkRfTlVNX1RZUEVTOyBpKyspCisJeworCQluZXdsZXZlbFtpXSA9IFdB Uk5JTkc7CisJCWFzc2lnbmVkW2ldID0gZmFsc2U7CisJfQorCisJLyogTmVlZCBhIG1vZGlm aWFibGUgY29weSBvZiBzdHJpbmcuICovCisJcmF3c3RyaW5nID0gZ3VjX3N0cmR1cChMT0cs ICpuZXd2YWwpOworCisJLyogUGFyc2Ugc3RyaW5nIGludG8gbGlzdCBvZiBpZGVudGlmaWVy cy4gKi8KKwlpZiAoIVNwbGl0R1VDTGlzdChyYXdzdHJpbmcsICcsJywgJmVsZW1saXN0KSkK Kwl7CisJCS8qIHN5bnRheCBlcnJvciBpbiBsaXN0ICovCisJCUdVQ19jaGVja19lcnJkZXRh aWwoIkxpc3Qgc3ludGF4IGlzIGludmFsaWQuIik7CisJCWxpc3RfZnJlZShlbGVtbGlzdCk7 CisJCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwkvKiBW YWxpZGF0ZSBhbmQgYXNzaWduIGxvZyBsZXZlbCBhbmQgcHJvY2VzcyB0eXBlLiAqLworCWZv cmVhY2hfcHRyKGNoYXIsIHRvaywgZWxlbWxpc3QpCisJeworCQljaGFyCSAgICpzZXA7CisJ CWNvbnN0IHN0cnVjdCBjb25maWdfZW51bV9lbnRyeSAqZW50cnk7CisKKwkJLyoKKwkJICog Q2hlY2sgd2hldGhlciB0aGVyZSBpcyBhIHByb2Nlc3MgdHlwZSBmb2xsb3dpbmcgdGhlIGxv ZyBsZXZlbC4gSWYKKwkJICogdGhlcmUgaXMgbm8gc2VwYXJhdG9yLCBpdCBtZWFucyB0aGlz IGlzIHRoZSBnZW5lcmljIGxvZyBsZXZlbC4gVGhlCisJCSAqIGdlbmVyaWMgbG9nIGxldmVs IHdpbGwgYmUgYXNzaWduZWQgdG8gdGhlIHByb2Nlc3MgdHlwZXMgdGhhdCB3ZXJlCisJCSAq IG5vdCBpbmZvcm1lZC4KKwkJICovCisJCXNlcCA9IHN0cmNocih0b2ssICc6Jyk7CisJCWlm IChzZXAgPT0gTlVMTCkKKwkJeworCQkJYm9vbAkJZm91bmQgPSBmYWxzZTsKKworCQkJLyog UmVqZWN0IGR1cGxpY2F0ZXMgZm9yIGdlbmVyaWMgbG9nIGxldmVsLiAqLworCQkJaWYgKGdl bmVyaWNsZXZlbCAhPSAtMSkKKwkJCXsKKwkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJHZW5l cmljIGxvZyBsZXZlbCB3YXMgYWxyZWFkeSBhc3NpZ25lZC4iKTsKKwkJCQlndWNfZnJlZShy YXdzdHJpbmcpOworCQkJCWxpc3RfZnJlZShlbGVtbGlzdCk7CisJCQkJcmV0dXJuIGZhbHNl OworCQkJfQorCisJCQkvKiBJcyB0aGUgbG9nIGxldmVsIHZhbGlkPyAqLworCQkJZm9yIChl bnRyeSA9IHNlcnZlcl9tZXNzYWdlX2xldmVsX29wdGlvbnM7IGVudHJ5ICYmIGVudHJ5LT5u YW1lOyBlbnRyeSsrKQorCQkJeworCQkJCWlmIChwZ19zdHJjYXNlY21wKGVudHJ5LT5uYW1l LCB0b2spID09IDApCisJCQkJeworCQkJCQlnZW5lcmljbGV2ZWwgPSBlbnRyeS0+dmFsOwor CQkJCQlmb3VuZCA9IHRydWU7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKworCQkJaWYg KCFmb3VuZCkKKwkJCXsKKwkJCQlHVUNfY2hlY2tfZXJyZGV0YWlsKCJVbnJlY29nbml6ZWQg bG9nIGxldmVsOiBcIiVzXCIuIiwgdG9rKTsKKwkJCQlndWNfZnJlZShyYXdzdHJpbmcpOwor CQkJCWxpc3RfZnJlZShlbGVtbGlzdCk7CisJCQkJcmV0dXJuIGZhbHNlOworCQkJfQorCQl9 CisJCWVsc2UKKwkJeworCQkJY2hhcgkgICAqbG9nbGV2ZWw7CisJCQljaGFyCSAgICpwdHlw ZTsKKwkJCWJvb2wJCWZvdW5kID0gZmFsc2U7CisKKwkJCXB0eXBlID0gZ3VjX21hbGxvYyhM T0csIChzZXAgLSB0b2spICsgMSk7CisJCQlpZiAoIXB0eXBlKQorCQkJeworCQkJCWd1Y19m cmVlKHJhd3N0cmluZyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4g ZmFsc2U7CisJCQl9CisJCQltZW1jcHkocHR5cGUsIHRvaywgc2VwIC0gdG9rKTsKKwkJCXB0 eXBlW3NlcCAtIHRva10gPSAnXDAnOworCQkJbG9nbGV2ZWwgPSBzZXAgKyAxOworCisJCQkv KiBJcyB0aGUgbG9nIGxldmVsIHZhbGlkPyAqLworCQkJZm9yIChlbnRyeSA9IHNlcnZlcl9t ZXNzYWdlX2xldmVsX29wdGlvbnM7IGVudHJ5ICYmIGVudHJ5LT5uYW1lOyBlbnRyeSsrKQor CQkJeworCQkJCWlmIChwZ19zdHJjYXNlY21wKGVudHJ5LT5uYW1lLCBsb2dsZXZlbCkgPT0g MCkKKwkJCQl7CisJCQkJCWZvdW5kID0gdHJ1ZTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJ fQorCisJCQlpZiAoIWZvdW5kKQorCQkJeworCQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIlVu cmVjb2duaXplZCBsb2cgbGV2ZWw6IFwiJXNcIi4iLCBsb2dsZXZlbCk7CisJCQkJZ3VjX2Zy ZWUocHR5cGUpOworCQkJCWd1Y19mcmVlKHJhd3N0cmluZyk7CisJCQkJbGlzdF9mcmVlKGVs ZW1saXN0KTsKKwkJCQlyZXR1cm4gZmFsc2U7CisJCQl9CisKKwkJCS8qCisJCQkgKiBJcyB0 aGUgcHJvY2VzcyB0eXBlIG5hbWUgdmFsaWQ/IFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIGVu dHJpZXMKKwkJCSAqIHBlciBwcm9jZXNzIHR5cGUsIGRvbid0IGJhaWwgb3V0IGJlY2F1c2Ug aXQgY2FuIGFzc2lnbiB0aGUKKwkJCSAqIHZhbHVlIGZvciBtdWx0aXBsZSBlbnRyaWVzLgor CQkJICovCisJCQlmb3VuZCA9IGZhbHNlOworCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBCQUNL RU5EX05VTV9UWVBFUzsgaSsrKQorCQkJeworCQkJCWlmIChwZ19zdHJjYXNlY21wKGxvZ19t aW5fbWVzc2FnZXNfcHJvY2Vzc190eXBlc1tpXSwgcHR5cGUpID09IDApCisJCQkJeworCQkJ CQkvKiBSZWplY3QgZHVwbGljYXRlcyBmb3IgYSBwcm9jZXNzIHR5cGUuICovCisJCQkJCWlm IChhc3NpZ25lZFtpXSkKKwkJCQkJeworCQkJCQkJR1VDX2NoZWNrX2VycmRldGFpbCgiUHJv Y2VzcyB0eXBlIFwiJXNcIiB3YXMgYWxyZWFkeSBhc3NpZ25lZC4iLCBwdHlwZSk7CisJCQkJ CQlndWNfZnJlZShwdHlwZSk7CisJCQkJCQlndWNfZnJlZShyYXdzdHJpbmcpOworCQkJCQkJ bGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQkJCXJldHVybiBmYWxzZTsKKwkJCQkJfQorCisJ CQkJCW5ld2xldmVsW2ldID0gZW50cnktPnZhbDsKKwkJCQkJYXNzaWduZWRbaV0gPSB0cnVl OworCQkJCQlmb3VuZCA9IHRydWU7CisJCQkJfQorCQkJfQorCisJCQlpZiAoIWZvdW5kKQor CQkJeworCQkJCUdVQ19jaGVja19lcnJkZXRhaWwoIlVucmVjb2duaXplZCBwcm9jZXNzIHR5 cGU6IFwiJXNcIi4iLCBwdHlwZSk7CisJCQkJZ3VjX2ZyZWUocHR5cGUpOworCQkJCWd1Y19m cmVlKHJhd3N0cmluZyk7CisJCQkJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwkJCQlyZXR1cm4g ZmFsc2U7CisJCQl9CisKKwkJCWd1Y19mcmVlKHB0eXBlKTsKKwkJfQorCX0KKworCS8qCisJ ICogVGhlIGdlbmVyaWMgbG9nIGxldmVsIG11c3QgYmUgc3BlY2lmaWVkLiBJdCBpcyB0aGUg ZmFsbGJhY2sgdmFsdWUuCisJICovCisJaWYgKGdlbmVyaWNsZXZlbCA9PSAtMSkKKwl7CisJ CUdVQ19jaGVja19lcnJkZXRhaWwoIkdlbmVyaWMgbG9nIGxldmVsIHdhcyBub3QgZGVmaW5l ZC4iKTsKKwkJZ3VjX2ZyZWUocmF3c3RyaW5nKTsKKwkJbGlzdF9mcmVlKGVsZW1saXN0KTsK KwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qCisJICogQXBwbHkgdGhlIGdlbmVyaWMgbG9n IGxldmVsIGFmdGVyIGFsbCBvZiB0aGUgc3BlY2lmaWMgcHJvY2VzcyB0eXBlcworCSAqIGhh dmUgYmVlbiBhc3NpZ25lZC4gSGVuY2UsIGl0IGRvZXNuJ3QgbWF0dGVyIHRoZSBvcmRlciB5 b3Ugc3BlY2lmeSB0aGUKKwkgKiBnZW5lcmljIGxvZyBsZXZlbCwgdGhlIGZpbmFsIHJlc3Vs dCB3aWxsIGJlIHRoZSBzYW1lLgorCSAqLworCWZvciAoaW50IGkgPSAwOyBpIDwgQkFDS0VO RF9OVU1fVFlQRVM7IGkrKykKKwl7CisJCWlmICghYXNzaWduZWRbaV0pCisJCQluZXdsZXZl bFtpXSA9IGdlbmVyaWNsZXZlbDsKKwl9CisKKwlndWNfZnJlZShyYXdzdHJpbmcpOworCWxp c3RfZnJlZShlbGVtbGlzdCk7CisKKwkvKgorCSAqIFBhc3MgYmFjayBkYXRhIGZvciBhc3Np Z25fbG9nX21pbl9tZXNzYWdlcyB0byB1c2UuCisJICovCisJKmV4dHJhID0gZ3VjX21hbGxv YyhMT0csIEJBQ0tFTkRfTlVNX1RZUEVTICogc2l6ZW9mKGludCkpOworCWlmICghKmV4dHJh KQorCQlyZXR1cm4gZmFsc2U7CisJbWVtY3B5KCpleHRyYSwgbmV3bGV2ZWwsIEJBQ0tFTkRf TlVNX1RZUEVTICogc2l6ZW9mKGludCkpOworCisJcmV0dXJuIHRydWU7Cit9CisKKy8qCisg KiBHVUMgYXNzaWduX2hvb2sgZm9yIGxvZ19taW5fbWVzc2FnZXMKKyAqLwordm9pZAorYXNz aWduX2xvZ19taW5fbWVzc2FnZXMoY29uc3QgY2hhciAqbmV3dmFsLCB2b2lkICpleHRyYSkK K3sKKwlmb3IgKGludCBpID0gMDsgaSA8IEJBQ0tFTkRfTlVNX1RZUEVTOyBpKyspCisJCWxv Z19taW5fbWVzc2FnZXNbaV0gPSAoKGludCAqKSBleHRyYSlbaV07Cit9CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5kLmMgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5kLmMKaW5kZXggY2VhMjI5YWQ2YTQuLjc1NmEw MjM3ZGViIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNr ZW5kLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9sYXVuY2hfYmFja2VuZC5jCkBA IC0xNzksNyArMTc5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QKIH0gY2hpbGRfcHJvY2Vzc19raW5k OwogCiBzdGF0aWMgY2hpbGRfcHJvY2Vzc19raW5kIGNoaWxkX3Byb2Nlc3Nfa2luZHNbXSA9 IHsKLSNkZWZpbmUgUEdfUFJPQ1RZUEUoYmt0eXBlLCBkZXNjcmlwdGlvbiwgbWFpbl9mdW5j LCBzaG1lbV9hdHRhY2gpIFwKKyNkZWZpbmUgUEdfUFJPQ1RZUEUoYmt0eXBlLCBia2NhdGVn b3J5LCBkZXNjcmlwdGlvbiwgbWFpbl9mdW5jLCBzaG1lbV9hdHRhY2gsIGxvZ19taW5fbWVz c2FnZXMpIFwKIAlbYmt0eXBlXSA9IHtkZXNjcmlwdGlvbiwgbWFpbl9mdW5jLCBzaG1lbV9h dHRhY2h9LAogI2luY2x1ZGUgInBvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgiCiAjdW5kZWYg UEdfUFJPQ1RZUEUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cuYwppbmRleCBhYTUzMGQzNjg1ZS4u NTk5NzUzMDlhNGUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9yL2Vsb2cu YworKysgYi9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMKQEAgLTIzNSw3ICsyMzUs NyBAQCBpc19sb2dfbGV2ZWxfb3V0cHV0KGludCBlbGV2ZWwsIGludCBsb2dfbWluX2xldmVs KQogc3RhdGljIGlubGluZSBib29sCiBzaG91bGRfb3V0cHV0X3RvX3NlcnZlcihpbnQgZWxl dmVsKQogewotCXJldHVybiBpc19sb2dfbGV2ZWxfb3V0cHV0KGVsZXZlbCwgbG9nX21pbl9t ZXNzYWdlcyk7CisJcmV0dXJuIGlzX2xvZ19sZXZlbF9vdXRwdXQoZWxldmVsLCBsb2dfbWlu X21lc3NhZ2VzW015QmFja2VuZFR5cGVdKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQv bWlzY2luaXQuYwppbmRleCA1NjNmMjAzNzRmZi4uZWZiYTIwZmE4YjkgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9pbml0L21pc2Npbml0LmMKQEAgLTI2Niw3ICsyNjYsNyBAQCBHZXRCYWNrZW5kVHlw ZURlc2MoQmFja2VuZFR5cGUgYmFja2VuZFR5cGUpCiAKIAlzd2l0Y2ggKGJhY2tlbmRUeXBl KQogCXsKLSNkZWZpbmUgUEdfUFJPQ1RZUEUoYmt0eXBlLCBkZXNjcmlwdGlvbiwgbWFpbl9m dW5jLCBzaG1lbV9hdHRhY2gpCVwKKyNkZWZpbmUgUEdfUFJPQ1RZUEUoYmt0eXBlLCBia2Nh dGVnb3J5LCBkZXNjcmlwdGlvbiwgbWFpbl9mdW5jLCBzaG1lbV9hdHRhY2gsIGxvZ19taW5f bWVzc2FnZXMpCVwKIAkJY2FzZSBia3R5cGU6IGJhY2tlbmREZXNjID0gZGVzY3JpcHRpb247 IGJyZWFrOwogI2luY2x1ZGUgInBvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgiCiAjdW5kZWYg UEdfUFJPQ1RZUEUKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3Bh cmFtZXRlcnMuZGF0IGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfcGFyYW1ldGVycy5k YXQKaW5kZXggZjAyNjBlNmU0MTIuLjMyOTdjNGJjMzBjIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC91dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdAorKysgYi9zcmMvYmFja2VuZC91 dGlscy9taXNjL2d1Y19wYXJhbWV0ZXJzLmRhdApAQCAtMTY4NiwxMiArMTY4NiwxNCBAQAog ICBvcHRpb25zID0+ICdzZXJ2ZXJfbWVzc2FnZV9sZXZlbF9vcHRpb25zJywKIH0sCiAKLXsg bmFtZSA9PiAnbG9nX21pbl9tZXNzYWdlcycsIHR5cGUgPT4gJ2VudW0nLCBjb250ZXh0ID0+ ICdQR0NfU1VTRVQnLCBncm91cCA9PiAnTE9HR0lOR19XSEVOJywKK3sgbmFtZSA9PiAnbG9n X21pbl9tZXNzYWdlcycsIHR5cGUgPT4gJ3N0cmluZycsIGNvbnRleHQgPT4gJ1BHQ19TVVNF VCcsIGdyb3VwID0+ICdMT0dHSU5HX1dIRU4nLAogICBzaG9ydF9kZXNjID0+ICdTZXRzIHRo ZSBtZXNzYWdlIGxldmVscyB0aGF0IGFyZSBsb2dnZWQuJywKICAgbG9uZ19kZXNjID0+ICdF YWNoIGxldmVsIGluY2x1ZGVzIGFsbCB0aGUgbGV2ZWxzIHRoYXQgZm9sbG93IGl0LiBUaGUg bGF0ZXIgdGhlIGxldmVsLCB0aGUgZmV3ZXIgbWVzc2FnZXMgYXJlIHNlbnQuJywKLSAgdmFy aWFibGUgPT4gJ2xvZ19taW5fbWVzc2FnZXMnLAotICBib290X3ZhbCA9PiAnV0FSTklORycs Ci0gIG9wdGlvbnMgPT4gJ3NlcnZlcl9tZXNzYWdlX2xldmVsX29wdGlvbnMnLAorICBmbGFn cyA9PiAnR1VDX0xJU1RfSU5QVVQnLAorICB2YXJpYWJsZSA9PiAnbG9nX21pbl9tZXNzYWdl c19zdHJpbmcnLAorICBib290X3ZhbCA9PiAnIldBUk5JTkciJywKKyAgY2hlY2tfaG9vayA9 PiAnY2hlY2tfbG9nX21pbl9tZXNzYWdlcycsCisgIGFzc2lnbl9ob29rID0+ICdhc3NpZ25f bG9nX21pbl9tZXNzYWdlcycsCiB9LAogCiB7IG5hbWUgPT4gJ2xvZ19wYXJhbWV0ZXJfbWF4 X2xlbmd0aCcsIHR5cGUgPT4gJ2ludCcsIGNvbnRleHQgPT4gJ1BHQ19TVVNFVCcsIGdyb3Vw ID0+ICdMT0dHSU5HX1dIQVQnLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYwpp bmRleCAxM2M1NjlkODc5MC4uMGFlYmI5YzhlMjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5k L3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2Mv Z3VjX3RhYmxlcy5jCkBAIC0xNDYsNyArMTQ2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBj b25maWdfZW51bV9lbnRyeSBjbGllbnRfbWVzc2FnZV9sZXZlbF9vcHRpb25zW10gPSB7CiAJ e05VTEwsIDAsIGZhbHNlfQogfTsKIAotc3RhdGljIGNvbnN0IHN0cnVjdCBjb25maWdfZW51 bV9lbnRyeSBzZXJ2ZXJfbWVzc2FnZV9sZXZlbF9vcHRpb25zW10gPSB7Citjb25zdCBzdHJ1 Y3QgY29uZmlnX2VudW1fZW50cnkgc2VydmVyX21lc3NhZ2VfbGV2ZWxfb3B0aW9uc1tdID0g ewogCXsiZGVidWc1IiwgREVCVUc1LCBmYWxzZX0sCiAJeyJkZWJ1ZzQiLCBERUJVRzQsIGZh bHNlfSwKIAl7ImRlYnVnMyIsIERFQlVHMywgZmFsc2V9LApAQCAtNTM3LDcgKzUzNyw2IEBA IHN0YXRpYyBib29sIHN0YW5kYXJkX2NvbmZvcm1pbmdfc3RyaW5ncyA9IHRydWU7CiBib29s CQljdXJyZW50X3JvbGVfaXNfc3VwZXJ1c2VyOwogCiBpbnQJCQlsb2dfbWluX2Vycm9yX3N0 YXRlbWVudCA9IEVSUk9SOwotaW50CQkJbG9nX21pbl9tZXNzYWdlcyA9IFdBUk5JTkc7CiBp bnQJCQljbGllbnRfbWluX21lc3NhZ2VzID0gTk9USUNFOwogaW50CQkJbG9nX21pbl9kdXJh dGlvbl9zYW1wbGUgPSAtMTsKIGludAkJCWxvZ19taW5fZHVyYXRpb25fc3RhdGVtZW50ID0g LTE7CkBAIC01OTUsNiArNTk0LDcgQEAgc3RhdGljIGNoYXIgKnNlcnZlcl92ZXJzaW9uX3N0 cmluZzsKIHN0YXRpYyBpbnQJc2VydmVyX3ZlcnNpb25fbnVtOwogc3RhdGljIGNoYXIgKmRl YnVnX2lvX2RpcmVjdF9zdHJpbmc7CiBzdGF0aWMgY2hhciAqcmVzdHJpY3Rfbm9uc3lzdGVt X3JlbGF0aW9uX2tpbmRfc3RyaW5nOworc3RhdGljIGNoYXIgKmxvZ19taW5fbWVzc2FnZXNf c3RyaW5nOwogCiAjaWZkZWYgSEFWRV9TWVNMT0cKICNkZWZpbmUJREVGQVVMVF9TWVNMT0df RkFDSUxJVFkgTE9HX0xPQ0FMMApAQCAtNjQ3LDYgKzY0NywyMyBAQCBjaGFyCSAgICpyb2xl X3N0cmluZzsKIC8qIHNob3VsZCBiZSBzdGF0aWMsIGJ1dCBndWMuYyBuZWVkcyB0byBnZXQg YXQgdGhpcyAqLwogYm9vbAkJaW5faG90X3N0YW5kYnlfZ3VjOwogCisvKgorICogbG9nX21p bl9tZXNzYWdlcworICovCitpbnQJCQlsb2dfbWluX21lc3NhZ2VzW10gPSB7CisjZGVmaW5l IFBHX1BST0NUWVBFKGJrdHlwZSwgYmtjYXRlZ29yeSwgZGVzY3JpcHRpb24sIG1haW5fZnVu Yywgc2htZW1fYXR0YWNoLCBsb2dfbWluX21lc3NhZ2VzKSBcCisJW2JrdHlwZV0gPSBsb2df bWluX21lc3NhZ2VzLAorI2luY2x1ZGUgInBvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgiCisj dW5kZWYgUEdfUFJPQ1RZUEUKK307CisKK2NvbnN0IGNoYXIgKmNvbnN0IGxvZ19taW5fbWVz c2FnZXNfcHJvY2Vzc190eXBlc1tdID0geworI2RlZmluZSBQR19QUk9DVFlQRShia3R5cGUs IGJrY2F0ZWdvcnksIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9n X21pbl9tZXNzYWdlcykgXAorCVtia3R5cGVdID0gYmtjYXRlZ29yeSwKKyNpbmNsdWRlICJw b3N0bWFzdGVyL3Byb2N0eXBlbGlzdC5oIgorI3VuZGVmIFBHX1BST0NUWVBFCit9OworCiAK IC8qCiAgKiBEaXNwbGF5YWJsZSBuYW1lcyBmb3IgY29udGV4dCB0eXBlcyAoZW51bSBHdWND b250ZXh0KQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3Fs LmNvbmYuc2FtcGxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYu c2FtcGxlCmluZGV4IGM0ZjkyZmNkYWM4Li5hZDA4MDRjY2I5ZiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtNTQxLDYgKzU0 MSw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIGxv ZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBmYXRhbAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBwYW5pYworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICBhbmQgYW4gb3B0aW9u YWwgY29tbWEtc2VwYXJhdGVkIGxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjICAgb2YgdHlwZTpsZXZlbAogCiAjbG9nX21pbl9lcnJvcl9zdGF0ZW1l bnQgPSBlcnJvciAgICAgICAgIyB2YWx1ZXMgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBkZXRh aWw6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgIGRlYnVn NQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wcm9jdHlwZWxpc3QuaCBi L3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0LmgKaW5kZXggMGI5OWVhYWJm ZDAuLjBkZGQ4MDVmMGU3IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3By b2N0eXBlbGlzdC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvcHJvY3R5cGVsaXN0 LmgKQEAgLTI1LDI3ICsyNSwyNyBAQAogICovCiAKIC8qCi0gKiBMaXN0IG9mIHByb2Nlc3Mg dHlwZXMgKHN5bWJvbCwgZGVzY3JpcHRpb24sIE1haW4gZnVuY3Rpb24sIHNobWVtX2F0dGFj aCkKLSAqIGVudHJpZXMuCisgKiBMaXN0IG9mIHByb2Nlc3MgdHlwZXMgKHN5bWJvbCwgY2F0 ZWdvcnksIGRlc2NyaXB0aW9uLCBNYWluIGZ1bmN0aW9uLAorICogc2htZW1fYXR0YWNoLCBt ZXNzYWdlIGxldmVsKSBlbnRyaWVzLgogICovCiAKIAotLyogYmt0eXBlLCBkZXNjcmlwdGlv biwgbWFpbl9mdW5jLCBzaG1lbV9hdHRhY2ggKi8KLVBHX1BST0NUWVBFKEJfQVJDSElWRVIs IGdldHRleHRfbm9vcCgiYXJjaGl2ZXIiKSwgUGdBcmNoaXZlck1haW4sIHRydWUpCi1QR19Q Uk9DVFlQRShCX0FVVE9WQUNfTEFVTkNIRVIsIGdldHRleHRfbm9vcCgiYXV0b3ZhY3V1bSBs YXVuY2hlciIpLCBBdXRvVmFjTGF1bmNoZXJNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9B VVRPVkFDX1dPUktFUiwgZ2V0dGV4dF9ub29wKCJhdXRvdmFjdXVtIHdvcmtlciIpLCBBdXRv VmFjV29ya2VyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfQkFDS0VORCwgZ2V0dGV4dF9u b29wKCJjbGllbnQgYmFja2VuZCIpLCBCYWNrZW5kTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBF KEJfQkdfV09SS0VSLCBnZXR0ZXh0X25vb3AoImJhY2tncm91bmQgd29ya2VyIiksIEJhY2tn cm91bmRXb3JrZXJNYWluLCB0cnVlKQotUEdfUFJPQ1RZUEUoQl9CR19XUklURVIsIGdldHRl eHRfbm9vcCgiYmFja2dyb3VuZCB3cml0ZXIiKSwgQmFja2dyb3VuZFdyaXRlck1haW4sIHRy dWUpCi1QR19QUk9DVFlQRShCX0NIRUNLUE9JTlRFUiwgZ2V0dGV4dF9ub29wKCJjaGVja3Bv aW50ZXIiKSwgQ2hlY2twb2ludGVyTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfREVBRF9F TkRfQkFDS0VORCwgZ2V0dGV4dF9ub29wKCJkZWFkLWVuZCBjbGllbnQgYmFja2VuZCIpLCBC YWNrZW5kTWFpbiwgdHJ1ZSkKLVBHX1BST0NUWVBFKEJfSU5WQUxJRCwgZ2V0dGV4dF9ub29w KCJ1bnJlY29nbml6ZWQiKSwgTlVMTCwgZmFsc2UpCi1QR19QUk9DVFlQRShCX0lPX1dPUktF UiwgZ2V0dGV4dF9ub29wKCJpbyB3b3JrZXIiKSwgSW9Xb3JrZXJNYWluLCB0cnVlKQotUEdf UFJPQ1RZUEUoQl9MT0dHRVIsIGdldHRleHRfbm9vcCgic3lzbG9nZ2VyIiksIFN5c0xvZ2dl ck1haW4sIGZhbHNlKQotUEdfUFJPQ1RZUEUoQl9TTE9UU1lOQ19XT1JLRVIsIGdldHRleHRf bm9vcCgic2xvdHN5bmMgd29ya2VyIiksIFJlcGxTbG90U3luY1dvcmtlck1haW4sIHRydWUp Ci1QR19QUk9DVFlQRShCX1NUQU5EQUxPTkVfQkFDS0VORCwgZ2V0dGV4dF9ub29wKCJzdGFu ZGFsb25lIGJhY2tlbmQiKSwgTlVMTCwgZmFsc2UpCi1QR19QUk9DVFlQRShCX1NUQVJUVVAs IGdldHRleHRfbm9vcCgic3RhcnR1cCIpLCBTdGFydHVwUHJvY2Vzc01haW4sIHRydWUpCi1Q R19QUk9DVFlQRShCX1dBTF9SRUNFSVZFUiwgZ2V0dGV4dF9ub29wKCJ3YWxyZWNlaXZlciIp LCBXYWxSZWNlaXZlck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX1dBTF9TRU5ERVIsIGdl dHRleHRfbm9vcCgid2Fsc2VuZGVyIiksIE5VTEwsIHRydWUpCi1QR19QUk9DVFlQRShCX1dB TF9TVU1NQVJJWkVSLCBnZXR0ZXh0X25vb3AoIndhbHN1bW1hcml6ZXIiKSwgV2FsU3VtbWFy aXplck1haW4sIHRydWUpCi1QR19QUk9DVFlQRShCX1dBTF9XUklURVIsIGdldHRleHRfbm9v cCgid2Fsd3JpdGVyIiksIFdhbFdyaXRlck1haW4sIHRydWUpCisvKiBia3R5cGUsIGJrY2F0 ZWdvcnksIGRlc2NyaXB0aW9uLCBtYWluX2Z1bmMsIHNobWVtX2F0dGFjaCwgbG9nX21pbl9t ZXNzYWdlcyAqLworUEdfUFJPQ1RZUEUoQl9BUkNISVZFUiwgImFyY2hpdmVyIiwgZ2V0dGV4 dF9ub29wKCJhcmNoaXZlciIpLCBQZ0FyY2hpdmVyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BH X1BST0NUWVBFKEJfQVVUT1ZBQ19MQVVOQ0hFUiwgImF1dG92YWN1dW0iLCBnZXR0ZXh0X25v b3AoImF1dG92YWN1dW0gbGF1bmNoZXIiKSwgQXV0b1ZhY0xhdW5jaGVyTWFpbiwgdHJ1ZSwg V0FSTklORykKK1BHX1BST0NUWVBFKEJfQVVUT1ZBQ19XT1JLRVIsICJhdXRvdmFjdXVtIiwg Z2V0dGV4dF9ub29wKCJhdXRvdmFjdXVtIHdvcmtlciIpLCBBdXRvVmFjV29ya2VyTWFpbiwg dHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfQkFDS0VORCwgImJhY2tlbmQiLCBnZXR0 ZXh0X25vb3AoImNsaWVudCBiYWNrZW5kIiksIEJhY2tlbmRNYWluLCB0cnVlLCBXQVJOSU5H KQorUEdfUFJPQ1RZUEUoQl9CR19XT1JLRVIsICJiZ3dvcmtlciIsIGdldHRleHRfbm9vcCgi YmFja2dyb3VuZCB3b3JrZXIiKSwgQmFja2dyb3VuZFdvcmtlck1haW4sIHRydWUsIFdBUk5J TkcpCitQR19QUk9DVFlQRShCX0JHX1dSSVRFUiwgImJnd3JpdGVyIiwgZ2V0dGV4dF9ub29w KCJiYWNrZ3JvdW5kIHdyaXRlciIpLCBCYWNrZ3JvdW5kV3JpdGVyTWFpbiwgdHJ1ZSwgV0FS TklORykKK1BHX1BST0NUWVBFKEJfQ0hFQ0tQT0lOVEVSLCAiY2hlY2twb2ludGVyIiwgZ2V0 dGV4dF9ub29wKCJjaGVja3BvaW50ZXIiKSwgQ2hlY2twb2ludGVyTWFpbiwgdHJ1ZSwgV0FS TklORykKK1BHX1BST0NUWVBFKEJfREVBRF9FTkRfQkFDS0VORCwgImJhY2tlbmQiLCBnZXR0 ZXh0X25vb3AoImRlYWQtZW5kIGNsaWVudCBiYWNrZW5kIiksIEJhY2tlbmRNYWluLCB0cnVl LCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9JTlZBTElELCAicG9zdG1hc3RlciIsIGdldHRl eHRfbm9vcCgidW5yZWNvZ25pemVkIiksIE5VTEwsIGZhbHNlLCBXQVJOSU5HKQorUEdfUFJP Q1RZUEUoQl9JT19XT1JLRVIsICJpb3dvcmtlciIsIGdldHRleHRfbm9vcCgiaW8gd29ya2Vy IiksIElvV29ya2VyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfTE9HR0VS LCAic3lzbG9nZ2VyIiwgZ2V0dGV4dF9ub29wKCJzeXNsb2dnZXIiKSwgU3lzTG9nZ2VyTWFp biwgZmFsc2UsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1NMT1RTWU5DX1dPUktFUiwgInNs b3RzeW5jd29ya2VyIiwgZ2V0dGV4dF9ub29wKCJzbG90c3luYyB3b3JrZXIiKSwgUmVwbFNs b3RTeW5jV29ya2VyTWFpbiwgdHJ1ZSwgV0FSTklORykKK1BHX1BST0NUWVBFKEJfU1RBTkRB TE9ORV9CQUNLRU5ELCAiYmFja2VuZCIsIGdldHRleHRfbm9vcCgic3RhbmRhbG9uZSBiYWNr ZW5kIiksIE5VTEwsIGZhbHNlLCBXQVJOSU5HKQorUEdfUFJPQ1RZUEUoQl9TVEFSVFVQLCAi c3RhcnR1cCIsIGdldHRleHRfbm9vcCgic3RhcnR1cCIpLCBTdGFydHVwUHJvY2Vzc01haW4s IHRydWUsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1dBTF9SRUNFSVZFUiwgIndhbHJlY2Vp dmVyIiwgZ2V0dGV4dF9ub29wKCJ3YWxyZWNlaXZlciIpLCBXYWxSZWNlaXZlck1haW4sIHRy dWUsIFdBUk5JTkcpCitQR19QUk9DVFlQRShCX1dBTF9TRU5ERVIsICJ3YWxzZW5kZXIiLCBn ZXR0ZXh0X25vb3AoIndhbHNlbmRlciIpLCBOVUxMLCB0cnVlLCBXQVJOSU5HKQorUEdfUFJP Q1RZUEUoQl9XQUxfU1VNTUFSSVpFUiwgIndhbHN1bW1hcml6ZXIiLCBnZXR0ZXh0X25vb3Ao IndhbHN1bW1hcml6ZXIiKSwgV2FsU3VtbWFyaXplck1haW4sIHRydWUsIFdBUk5JTkcpCitQ R19QUk9DVFlQRShCX1dBTF9XUklURVIsICJ3YWx3cml0ZXIiLCBnZXR0ZXh0X25vb3AoIndh bHdyaXRlciIpLCBXYWxXcml0ZXJNYWluLCB0cnVlLCBXQVJOSU5HKQpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvdXRpbHMvZ3VjLmggYi9zcmMvaW5jbHVkZS91dGlscy9ndWMuaAppbmRl eCBiZjM5ODc4YzQzZS4uOGFjYmRiYTdmZjUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0 aWxzL2d1Yy5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2d1Yy5oCkBAIC0yOTUsNyArMjk1 LDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgbG9nX2R1cmF0aW9uOwogZXh0ZXJuIFBH RExMSU1QT1JUIGludCBsb2dfcGFyYW1ldGVyX21heF9sZW5ndGg7CiBleHRlcm4gUEdETExJ TVBPUlQgaW50IGxvZ19wYXJhbWV0ZXJfbWF4X2xlbmd0aF9vbl9lcnJvcjsKIGV4dGVybiBQ R0RMTElNUE9SVCBpbnQgbG9nX21pbl9lcnJvcl9zdGF0ZW1lbnQ7Ci1leHRlcm4gUEdETExJ TVBPUlQgaW50IGxvZ19taW5fbWVzc2FnZXM7CitleHRlcm4gUEdETExJTVBPUlQgaW50IGxv Z19taW5fbWVzc2FnZXNbXTsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgY2xpZW50X21pbl9t ZXNzYWdlczsKIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgbG9nX21pbl9kdXJhdGlvbl9zYW1w bGU7CiBleHRlcm4gUEdETExJTVBPUlQgaW50IGxvZ19taW5fZHVyYXRpb25fc3RhdGVtZW50 OwpAQCAtMzI5LDYgKzMyOSw4IEBAIGV4dGVybiBQR0RMTElNUE9SVCBib29sIHRyYWNlX3Nv cnQ7CiBleHRlcm4gUEdETExJTVBPUlQgYm9vbCBvcHRpbWl6ZV9ib3VuZGVkX3NvcnQ7CiAj ZW5kaWYKIAorZXh0ZXJuIFBHRExMSU1QT1JUIGNvbnN0IGNoYXIgKmNvbnN0IGxvZ19taW5f bWVzc2FnZXNfcHJvY2Vzc190eXBlc1tdOworCiAvKgogICogRGVjbGFyYXRpb25zIGZvciBv cHRpb25zIGZvciBlbnVtIHZhbHVlcwogICoKQEAgLTM0NCw2ICszNDYsNyBAQCBleHRlcm4g UEdETExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5IGFyY2hpdmVfbW9k ZV9vcHRpb25zW107CiBleHRlcm4gUEdETExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19l bnVtX2VudHJ5IGR5bmFtaWNfc2hhcmVkX21lbW9yeV9vcHRpb25zW107CiBleHRlcm4gUEdE TExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5IGlvX21ldGhvZF9vcHRp b25zW107CiBleHRlcm4gUEdETExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19lbnVtX2Vu dHJ5IHJlY292ZXJ5X3RhcmdldF9hY3Rpb25fb3B0aW9uc1tdOworZXh0ZXJuIFBHRExMSU1Q T1JUIGNvbnN0IHN0cnVjdCBjb25maWdfZW51bV9lbnRyeSBzZXJ2ZXJfbWVzc2FnZV9sZXZl bF9vcHRpb25zW107CiBleHRlcm4gUEdETExJTVBPUlQgY29uc3Qgc3RydWN0IGNvbmZpZ19l bnVtX2VudHJ5IHdhbF9sZXZlbF9vcHRpb25zW107CiBleHRlcm4gUEdETExJTVBPUlQgY29u c3Qgc3RydWN0IGNvbmZpZ19lbnVtX2VudHJ5IHdhbF9zeW5jX21ldGhvZF9vcHRpb25zW107 CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL2d1Y19ob29rcy5oIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvZ3VjX2hvb2tzLmgKaW5kZXggYjZlY2IwZTc2OWYuLjljOTA2NzBkOWI4 IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9ndWNfaG9va3MuaAorKysgYi9zcmMv aW5jbHVkZS91dGlscy9ndWNfaG9va3MuaApAQCAtMTc3LDUgKzE3Nyw3IEBAIGV4dGVybiB2 b2lkIGFzc2lnbl93YWxfc3luY19tZXRob2QoaW50IG5ld193YWxfc3luY19tZXRob2QsIHZv aWQgKmV4dHJhKTsKIGV4dGVybiBib29sIGNoZWNrX3N5bmNocm9uaXplZF9zdGFuZGJ5X3Ns b3RzKGNoYXIgKipuZXd2YWwsIHZvaWQgKipleHRyYSwKIAkJCQkJCQkJCQkJIEd1Y1NvdXJj ZSBzb3VyY2UpOwogZXh0ZXJuIHZvaWQgYXNzaWduX3N5bmNocm9uaXplZF9zdGFuZGJ5X3Ns b3RzKGNvbnN0IGNoYXIgKm5ld3ZhbCwgdm9pZCAqZXh0cmEpOworZXh0ZXJuIGJvb2wgY2hl Y2tfbG9nX21pbl9tZXNzYWdlcyhjaGFyICoqbmV3dmFsLCB2b2lkICoqZXh0cmEsIEd1Y1Nv dXJjZSBzb3VyY2UpOworZXh0ZXJuIHZvaWQgYXNzaWduX2xvZ19taW5fbWVzc2FnZXMoY29u c3QgY2hhciAqbmV3dmFsLCB2b2lkICpleHRyYSk7CiAKICNlbmRpZgkJCQkJCQkvKiBHVUNf SE9PS1NfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ndWMu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ndWMub3V0CmluZGV4IGQ2ZmI4Nzlm NTAwLi4zYjhmNDQ1NjZiMiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9ndWMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZ3VjLm91dApAQCAt OTM1LDMgKzkzNSw1NyBAQCBTRUxFQ1QgbmFtZSBGUk9NIHRhYl9zZXR0aW5nc19mbGFncwog KDAgcm93cykKIAogRFJPUCBUQUJMRSB0YWJfc2V0dGluZ3NfZmxhZ3M7CistLSBUZXN0IGxv Z19taW5fbWVzc2FnZXMKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPIGZvbzsgIC0tIGZhaWwK K0VSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFyYW1ldGVyICJsb2dfbWluX21lc3NhZ2Vz IjogImZvbyIKK0RFVEFJTDogIFVucmVjb2duaXplZCBsb2cgbGV2ZWw6ICJmb28iLgorU0VU IGxvZ19taW5fbWVzc2FnZXMgVE8gZmF0YWw7CitTSE9XIGxvZ19taW5fbWVzc2FnZXM7Cisg bG9nX21pbl9tZXNzYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLQorIGZhdGFsCisoMSByb3cp CisKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdmYXRhbCc7CitTSE9XIGxvZ19taW5fbWVz c2FnZXM7CisgbG9nX21pbl9tZXNzYWdlcyAKKy0tLS0tLS0tLS0tLS0tLS0tLQorIGZhdGFs CisoMSByb3cpCisKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdjaGVja3BvaW50ZXI6ZGVi dWcyLCBhdXRvdmFjdXVtOmRlYnVnMSc7ICAtLWZhaWwKK0VSUk9SOiAgaW52YWxpZCB2YWx1 ZSBmb3IgcGFyYW1ldGVyICJsb2dfbWluX21lc3NhZ2VzIjogImNoZWNrcG9pbnRlcjpkZWJ1 ZzIsIGF1dG92YWN1dW06ZGVidWcxIgorREVUQUlMOiAgR2VuZXJpYyBsb2cgbGV2ZWwgd2Fz IG5vdCBkZWZpbmVkLgorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2RlYnVnMSwgYmFja2Vu ZDplcnJvciwgZmF0YWwnOyAgLS0gZmFpbAorRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBw YXJhbWV0ZXIgImxvZ19taW5fbWVzc2FnZXMiOiAiZGVidWcxLCBiYWNrZW5kOmVycm9yLCBm YXRhbCIKK0RFVEFJTDogIEdlbmVyaWMgbG9nIGxldmVsIHdhcyBhbHJlYWR5IGFzc2lnbmVk LgorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGRlYnVnMSwgYmFj a2VuZDp3YXJuaW5nJzsgIC0tIGZhaWwKK0VSUk9SOiAgaW52YWxpZCB2YWx1ZSBmb3IgcGFy YW1ldGVyICJsb2dfbWluX21lc3NhZ2VzIjogImJhY2tlbmQ6ZXJyb3IsIGRlYnVnMSwgYmFj a2VuZDp3YXJuaW5nIgorREVUQUlMOiAgUHJvY2VzcyB0eXBlICJiYWNrZW5kIiB3YXMgYWxy ZWFkeSBhc3NpZ25lZC4KK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdiYWNrZW5kOmVycm9y LCBmb286ZmF0YWwsIGFyY2hpdmVyOmRlYnVnMSc7ICAtLSBmYWlsCitFUlJPUjogIGludmFs aWQgdmFsdWUgZm9yIHBhcmFtZXRlciAibG9nX21pbl9tZXNzYWdlcyI6ICJiYWNrZW5kOmVy cm9yLCBmb286ZmF0YWwsIGFyY2hpdmVyOmRlYnVnMSIKK0RFVEFJTDogIFVucmVjb2duaXpl ZCBwcm9jZXNzIHR5cGU6ICJmb28iLgorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tl bmQ6ZXJyb3IsIGNoZWNrcG9pbnRlcjpiYXIsIGFyY2hpdmVyOmRlYnVnMSc7ICAtLSBmYWls CitFUlJPUjogIGludmFsaWQgdmFsdWUgZm9yIHBhcmFtZXRlciAibG9nX21pbl9tZXNzYWdl cyI6ICJiYWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6YmFyLCBhcmNoaXZlcjpkZWJ1ZzEi CitERVRBSUw6ICBVbnJlY29nbml6ZWQgbG9nIGxldmVsOiAiYmFyIi4KK1NFVCBsb2dfbWlu X21lc3NhZ2VzIFRPICdiYWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6ZGVidWczLCBmYXRh bCwgYXJjaGl2ZXI6ZGVidWcyLCBhdXRvdmFjdXVtOmRlYnVnMSwgd2Fsc2VuZGVyOmRlYnVn Myc7CitTSE9XIGxvZ19taW5fbWVzc2FnZXM7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbG9nX21pbl9tZXNzYWdlcyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgYmFja2VuZDplcnJvciwgY2hlY2twb2ludGVyOmRlYnVnMywgZmF0YWws IGFyY2hpdmVyOmRlYnVnMiwgYXV0b3ZhY3V1bTpkZWJ1ZzEsIHdhbHNlbmRlcjpkZWJ1ZzMK KygxIHJvdykKKworU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ3dhcm5pbmcsIGF1dG92YWN1 dW06ZGVidWcxJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsKKyAgICAgIGxvZ19taW5fbWVz c2FnZXMgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB3YXJuaW5nLCBh dXRvdmFjdXVtOmRlYnVnMQorKDEgcm93KQorCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAn YXV0b3ZhY3V1bTpkZWJ1ZzEsIHdhcm5pbmcnOworU0hPVyBsb2dfbWluX21lc3NhZ2VzOwor ICAgICAgbG9nX21pbl9tZXNzYWdlcyAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIGF1dG92YWN1dW06ZGVidWcxLCB3YXJuaW5nCisoMSByb3cpCisKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2d1Yy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9ndWMuc3FsCmluZGV4IGJhZmFmMDY3ZTgyLi5mN2RmYzkwOWI0MiAxMDA2NDQKLS0tIGEv c3JjL3Rlc3QvcmVncmVzcy9zcWwvZ3VjLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9ndWMuc3FsCkBAIC0zNzcsMyArMzc3LDIxIEBAIFNFTEVDVCBuYW1lIEZST00gdGFiX3Nl dHRpbmdzX2ZsYWdzCiAgIFdIRVJFIG5vX3Jlc2V0IEFORCBOT1Qgbm9fcmVzZXRfYWxsCiAg IE9SREVSIEJZIDE7CiBEUk9QIFRBQkxFIHRhYl9zZXR0aW5nc19mbGFnczsKKworLS0gVGVz dCBsb2dfbWluX21lc3NhZ2VzCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyBmb287ICAtLSBm YWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyBmYXRhbDsKK1NIT1cgbG9nX21pbl9tZXNz YWdlczsKK1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICdmYXRhbCc7CitTSE9XIGxvZ19taW5f bWVzc2FnZXM7CitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnY2hlY2twb2ludGVyOmRlYnVn MiwgYXV0b3ZhY3V1bTpkZWJ1ZzEnOyAgLS1mYWlsCitTRVQgbG9nX21pbl9tZXNzYWdlcyBU TyAnZGVidWcxLCBiYWNrZW5kOmVycm9yLCBmYXRhbCc7ICAtLSBmYWlsCitTRVQgbG9nX21p bl9tZXNzYWdlcyBUTyAnYmFja2VuZDplcnJvciwgZGVidWcxLCBiYWNrZW5kOndhcm5pbmcn OyAgLS0gZmFpbAorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3IsIGZv bzpmYXRhbCwgYXJjaGl2ZXI6ZGVidWcxJzsgIC0tIGZhaWwKK1NFVCBsb2dfbWluX21lc3Nh Z2VzIFRPICdiYWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6YmFyLCBhcmNoaXZlcjpkZWJ1 ZzEnOyAgLS0gZmFpbAorU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJyb3Is IGNoZWNrcG9pbnRlcjpkZWJ1ZzMsIGZhdGFsLCBhcmNoaXZlcjpkZWJ1ZzIsIGF1dG92YWN1 dW06ZGVidWcxLCB3YWxzZW5kZXI6ZGVidWczJzsKK1NIT1cgbG9nX21pbl9tZXNzYWdlczsK K1NFVCBsb2dfbWluX21lc3NhZ2VzIFRPICd3YXJuaW5nLCBhdXRvdmFjdXVtOmRlYnVnMSc7 CitTSE9XIGxvZ19taW5fbWVzc2FnZXM7CitTRVQgbG9nX21pbl9tZXNzYWdlcyBUTyAnYXV0 b3ZhY3V1bTpkZWJ1ZzEsIHdhcm5pbmcnOworU0hPVyBsb2dfbWluX21lc3NhZ2VzOwotLSAK Mi4zOS41Cgo= --68ce77c2335b48f3b1bc464f35ba4211 Content-Disposition: attachment; filename*0="v9-0002-sort-log_min_messages-elements-per-process-type.patch" Content-Type: text/x-patch; name="=?UTF-8?Q?v9-0002-sort-log=5Fmin=5Fmessages-elements-per-process-type.pa?= =?UTF-8?Q?tch?=" Content-Transfer-Encoding: base64 RnJvbSBiMWU3ZGM1NzU3OGNkMDdmYjk2Njc4YWNlMjkxMTY3NmY0M2I2MzM5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogV2VkLCAxNCBKYW4gMjAyNiAxNzoyOTowOSAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggdjkgMi8zXSBzb3J0IGxvZ19taW5fbWVzc2FnZXMgZWxlbWVudHMgcGVyIHByb2Nlc3Mg dHlwZQoKVGhlIGdlbmVyaWMgbG9nIGxldmVsIGlzIGFsd2F5cyB0aGUgZmlyc3QgZWxlbWVu dC4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy92YXJpYWJsZS5jICAgfCA1MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1 Yy5vdXQgfCAgNCArLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YXJpYWJs ZS5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwppbmRleCA5OWY0MDE4NjUz My4uYTQ1MDI1NGQxZmEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Zhcmlh YmxlLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFyaWFibGUuYwpAQCAtNDIsNiAr NDIsOCBAQAogI2luY2x1ZGUgInV0aWxzL3R6cGFyc2VyLmgiCiAjaW5jbHVkZSAidXRpbHMv dmFybGVuYS5oIgogCitzdGF0aWMgaW50CWxvZ19taW5fbWVzc2FnZXNfY21wKGNvbnN0IExp c3RDZWxsICphLCBjb25zdCBMaXN0Q2VsbCAqYik7CisKIC8qCiAgKiBEQVRFU1RZTEUKICAq LwpAQCAtMTI4OSw2ICsxMjkxLDkgQEAgY2hlY2tfbG9nX21pbl9tZXNzYWdlcyhjaGFyICoq bmV3dmFsLCB2b2lkICoqZXh0cmEsIEd1Y1NvdXJjZSBzb3VyY2UpCiB7CiAJY2hhcgkgICAq cmF3c3RyaW5nOwogCUxpc3QJICAgKmVsZW1saXN0OworCVN0cmluZ0luZm9EYXRhIGJ1ZjsK KwljaGFyCSAgICpyZXN1bHQ7CisJYm9vbAkJZmlyc3QgPSB0cnVlOwogCWludAkJCW5ld2xl dmVsW0JBQ0tFTkRfTlVNX1RZUEVTXTsKIAlib29sCQlhc3NpZ25lZFtCQUNLRU5EX05VTV9U WVBFU107CiAJaW50CQkJZ2VuZXJpY2xldmVsID0gLTE7CS8qIC0xIG1lYW5zIG5vdCBhc3Np Z25lZCAqLwpAQCAtMTQ1NSw4ICsxNDYwLDM5IEBAIGNoZWNrX2xvZ19taW5fbWVzc2FnZXMo Y2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLCBHdWNTb3VyY2Ugc291cmNlKQogCQkJbmV3 bGV2ZWxbaV0gPSBnZW5lcmljbGV2ZWw7CiAJfQogCisJLyoKKwkgKiBVc2UgYSBzdGFibGUg cmVwcmVzZW50YXRpb24gb2YgbG9nX21pbl9tZXNzYWdlcy4gVGhlIGdlbmVyaWMgbGV2ZWwg aXMKKwkgKiBhbHdheXMgdGhlIGZpcnN0IGVsZW1lbnQgYW5kIHRoZSBvdGhlciBlbGVtZW50 cyAodHlwZTpsZXZlbCkgYXJlIHNvcnRlZAorCSAqIGJ5IHByb2Nlc3MgdHlwZS4gU2VlIGxv Z19taW5fbWVzc2FnZXNfY21wIGZvciBkZXRhaWxzLgorCSAqLworCWxpc3Rfc29ydChlbGVt bGlzdCwgbG9nX21pbl9tZXNzYWdlc19jbXApOworCisJaW5pdFN0cmluZ0luZm8oJmJ1Zik7 CisJZm9yZWFjaF9wdHIoY2hhciwgdG9rLCBlbGVtbGlzdCkKKwl7CisJCWlmIChmaXJzdCkK KwkJeworCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZygmYnVmLCB0b2spOworCQkJZmlyc3Qg PSBmYWxzZTsKKwkJfQorCQllbHNlCisJCXsKKwkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1Ziwg IiwgJXMiLCB0b2spOworCQl9CisJfQorCisJcmVzdWx0ID0gKGNoYXIgKikgZ3VjX21hbGxv YyhMT0csIGJ1Zi5sZW4gKyAxKTsKKwlpZiAoIXJlc3VsdCkKKwkJcmV0dXJuIGZhbHNlOwor CW1lbWNweShyZXN1bHQsIGJ1Zi5kYXRhLCBidWYubGVuKTsKKwlyZXN1bHRbYnVmLmxlbl0g PSAnXDAnOworCisJZ3VjX2ZyZWUoKm5ld3ZhbCk7CisJKm5ld3ZhbCA9IHJlc3VsdDsKKwog CWd1Y19mcmVlKHJhd3N0cmluZyk7CiAJbGlzdF9mcmVlKGVsZW1saXN0KTsKKwlwZnJlZShi dWYuZGF0YSk7CiAKIAkvKgogCSAqIFBhc3MgYmFjayBkYXRhIGZvciBhc3NpZ25fbG9nX21p bl9tZXNzYWdlcyB0byB1c2UuCkBAIC0xNDY5LDYgKzE1MDUsMjAgQEAgY2hlY2tfbG9nX21p bl9tZXNzYWdlcyhjaGFyICoqbmV3dmFsLCB2b2lkICoqZXh0cmEsIEd1Y1NvdXJjZSBzb3Vy Y2UpCiAJcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBpbnQKK2xvZ19taW5fbWVzc2FnZXNf Y21wKGNvbnN0IExpc3RDZWxsICphLCBjb25zdCBMaXN0Q2VsbCAqYikKK3sKKwljb25zdCBj aGFyICpzID0gbGZpcnN0KGEpOworCWNvbnN0IGNoYXIgKnQgPSBsZmlyc3QoYik7CisKKwlp ZiAoc3RyY2hyKHMsICc6JykgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCWVsc2UgaWYgKHN0 cmNocih0LCAnOicpID09IE5VTEwpCisJCXJldHVybiAxOworCWVsc2UKKwkJcmV0dXJuIHN0 cmNtcChzLCB0KTsKK30KKwogLyoKICAqIEdVQyBhc3NpZ25faG9vayBmb3IgbG9nX21pbl9t ZXNzYWdlcwogICovCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1 Yy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2d1Yy5vdXQKaW5kZXggM2I4ZjQ0 NTY2YjIuLjlhNmZkNTAzMDA5IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVj dGVkL2d1Yy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ndWMub3V0CkBA IC05NzIsNyArOTcyLDcgQEAgU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2JhY2tlbmQ6ZXJy b3IsIGNoZWNrcG9pbnRlcjpkZWJ1ZzMsIGZhdGFsLCBhcmNoaXZlcjpkZWIKIFNIT1cgbG9n X21pbl9tZXNzYWdlczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsb2dfbWluX21lc3NhZ2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBi YWNrZW5kOmVycm9yLCBjaGVja3BvaW50ZXI6ZGVidWczLCBmYXRhbCwgYXJjaGl2ZXI6ZGVi dWcyLCBhdXRvdmFjdXVtOmRlYnVnMSwgd2Fsc2VuZGVyOmRlYnVnMworIGZhdGFsLCBhcmNo aXZlcjpkZWJ1ZzIsIGF1dG92YWN1dW06ZGVidWcxLCBiYWNrZW5kOmVycm9yLCBjaGVja3Bv aW50ZXI6ZGVidWczLCB3YWxzZW5kZXI6ZGVidWczCiAoMSByb3cpCiAKIFNFVCBsb2dfbWlu X21lc3NhZ2VzIFRPICd3YXJuaW5nLCBhdXRvdmFjdXVtOmRlYnVnMSc7CkBAIC05ODYsNiAr OTg2LDYgQEAgU0VUIGxvZ19taW5fbWVzc2FnZXMgVE8gJ2F1dG92YWN1dW06ZGVidWcxLCB3 YXJuaW5nJzsKIFNIT1cgbG9nX21pbl9tZXNzYWdlczsKICAgICAgIGxvZ19taW5fbWVzc2Fn ZXMgICAgICAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBhdXRvdmFjdXVtOmRl YnVnMSwgd2FybmluZworIHdhcm5pbmcsIGF1dG92YWN1dW06ZGVidWcxCiAoMSByb3cpCiAK LS0gCjIuMzkuNQoK --68ce77c2335b48f3b1bc464f35ba4211 Content-Disposition: attachment; filename*0="v9-0003-Assign-backend-type-earlier.patch" Content-Type: text/x-patch; name="v9-0003-Assign-backend-type-earlier.patch" Content-Transfer-Encoding: base64 RnJvbSA1NWQ2ODU1MTVkOTQ1OWQwNzg2M2I4ZTk4NDVlZDk2MjBjNmVmZjIxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogV2VkLCAyMSBKYW4gMjAyNiAxMDo0MjowMiAtMDMwMApTdWJqZWN0OiBbUEFU Q0ggdjkgMy8zXSBBc3NpZ24gYmFja2VuZCB0eXBlIGVhcmxpZXIKTUlNRS1WZXJzaW9uOiAx LjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IDhiaXQKCkluc3RlYWQgb2YgYXNzaWduaW5nIHRoZSBiYWNrZW5k IHR5cGUgaW50byB0aGUgTWFpbiBmdW5jdGlvbiBvZiBlYWNoCnBvc3RtYXN0ZXIgY2hpbGQs IGRvIGl0IGVhcmxpZXIgKGFmdGVyIGZvcmsoKSkuIFRoZSBiYWNrZW5kIHR5cGUgaXMKYWxy ZWFkeSBrbm93biBieSBwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaCgpIGJlZm9yZSBpdCBjYWxs cyBmb3JrKCkuIFRoaXMKcmVkdWNlcyB0aGUgdGltZSBmcmFtZSB0aGF0IE15QmFja2VuZFR5 cGUgaXMgY29ycmVjdC4gKFRoaXMgaXMgaW1wb3J0YW50CmZvciBsb2dfbWluX21lc3NhZ2Vz IHBlciBiYWNrZW5kIHR5cGUgdGhhdCByZWxpZXMgb24gYSBrbm93bgpNeUJhY2tlbmRUeXBl IHRvIGRlY2lkZSBpZiBpdCB3cml0ZXMgYSBsb2cgbWVzc2FnZSBvciBub3QuKQoKQXV0aG9y OiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNvbT4KQXV0aG9yOiDDgWx2YXJvIEhl cnJlcmEgPGFsdmhlcnJlQGt1cmlsZW11LmRlPgpEaXNjdXNzaW9uOiBodHRwczovL3d3dy5w b3N0Z3Jlc3FsLm9yZy9tZXNzYWdlLWlkL2ZsYXQvZTg1YzY2NzEtMTYwMC00MTEyLTg4ODct Zjk3YThhNWQwN2IyQGFwcC5mYXN0bWFpbC5jb20KLS0tCiBzcmMvYmFja2VuZC9wb3N0bWFz dGVyL2F1dG92YWN1dW0uYyAgICAgICAgfCAyIC0tCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVy L2Jnd29ya2VyLmMgICAgICAgICAgfCAxIC0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3 cml0ZXIuYyAgICAgICAgICB8IDEgLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jaGVja3Bv aW50ZXIuYyAgICAgIHwgMSAtCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNr ZW5kLmMgICAgfCAzICsrKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYyAgICAg ICAgICAgIHwgMSAtCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3N0YXJ0dXAuYyAgICAgICAg ICAgfCAxIC0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMgICAgICAgICB8 IDEgLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVyLmMgICAgIHwgMSAt CiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHdyaXRlci5jICAgICAgICAgfCAxIC0KIHNy Yy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc2xvdHN5bmMuYyB8IDIgLS0KIHNyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMgICAgICB8IDEgLQogc3JjL2JhY2tl bmQvc3RvcmFnZS9haW8vbWV0aG9kX3dvcmtlci5jICAgIHwgMSAtCiBzcmMvYmFja2VuZC91 dGlscy9lcnJvci9lbG9nLmMgICAgICAgICAgICAgfCA3ICsrKysrKy0KIDE0IGZpbGVzIGNo YW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXRvdmFjdXVtLmMgYi9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL2F1dG92YWN1dW0uYwppbmRleCAyMjM3OWRlMWUzMS4uNmZkZTc0MDQ2NWYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5jCkBAIC0zODUsNyArMzg1LDYgQEAg QXV0b1ZhY0xhdW5jaGVyTWFpbihjb25zdCB2b2lkICpzdGFydHVwX2RhdGEsIHNpemVfdCBz dGFydHVwX2RhdGFfbGVuKQogCQlQb3N0bWFzdGVyQ29udGV4dCA9IE5VTEw7CiAJfQogCi0J TXlCYWNrZW5kVHlwZSA9IEJfQVVUT1ZBQ19MQVVOQ0hFUjsKIAlpbml0X3BzX2Rpc3BsYXko TlVMTCk7CiAKIAllcmVwb3J0KERFQlVHMSwKQEAgLTEzOTgsNyArMTM5Nyw2IEBAIEF1dG9W YWNXb3JrZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pCiAJCVBvc3RtYXN0ZXJDb250ZXh0ID0gTlVMTDsKIAl9CiAKLQlNeUJhY2tl bmRUeXBlID0gQl9BVVRPVkFDX1dPUktFUjsKIAlpbml0X3BzX2Rpc3BsYXkoTlVMTCk7CiAK IAlBc3NlcnQoR2V0UHJvY2Vzc2luZ01vZGUoKSA9PSBJbml0UHJvY2Vzc2luZyk7CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2Jnd29ya2VyLmMgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2Jnd29ya2VyLmMKaW5kZXggNjVkZWFiZTkxYTcuLjUxNDRkNzAwOTVj IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2Jnd29ya2VyLmMKKysrIGIv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9iZ3dvcmtlci5jCkBAIC03NTMsNyArNzUzLDYgQEAg QmFja2dyb3VuZFdvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qg c3RhcnR1cF9kYXRhX2xlbikKIAl9CiAKIAlNeUJnd29ya2VyRW50cnkgPSB3b3JrZXI7Ci0J TXlCYWNrZW5kVHlwZSA9IEJfQkdfV09SS0VSOwogCWluaXRfcHNfZGlzcGxheSh3b3JrZXIt PmJnd19uYW1lKTsKIAogCUFzc2VydChHZXRQcm9jZXNzaW5nTW9kZSgpID09IEluaXRQcm9j ZXNzaW5nKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3cml0ZXIu YyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3cml0ZXIuYwppbmRleCA4MGUzMDg4ZmM3 ZS4uMDk1NmJkMzlhODUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYmd3 cml0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2Jnd3JpdGVyLmMKQEAgLTk0 LDcgKzk0LDYgQEAgQmFja2dyb3VuZFdyaXRlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9k YXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIAogCUFzc2VydChzdGFydHVwX2RhdGFf bGVuID09IDApOwogCi0JTXlCYWNrZW5kVHlwZSA9IEJfQkdfV1JJVEVSOwogCUF1eGlsaWFy eVByb2Nlc3NNYWluQ29tbW9uKCk7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9jaGVja3BvaW50ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY2hl Y2twb2ludGVyLmMKaW5kZXggNjQ4MmMyMWI4ZjkuLmUwM2MxOTEyM2JjIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2NoZWNrcG9pbnRlci5jCisrKyBiL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvY2hlY2twb2ludGVyLmMKQEAgLTE5OSw3ICsxOTksNiBAQCBDaGVj a3BvaW50ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pCiAKIAlBc3NlcnQoc3RhcnR1cF9kYXRhX2xlbiA9PSAwKTsKIAotCU15QmFj a2VuZFR5cGUgPSBCX0NIRUNLUE9JTlRFUjsKIAlBdXhpbGlhcnlQcm9jZXNzTWFpbkNvbW1v bigpOwogCiAJQ2hlY2twb2ludGVyU2htZW0tPmNoZWNrcG9pbnRlcl9waWQgPSBNeVByb2NQ aWQ7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5k LmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2xhdW5jaF9iYWNrZW5kLmMKaW5kZXggNzU2 YTAyMzdkZWIuLjY2YjU0OGQwZTRkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFz dGVyL2xhdW5jaF9iYWNrZW5kLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9sYXVu Y2hfYmFja2VuZC5jCkBAIC0yMjQsNiArMjI0LDggQEAgcG9zdG1hc3Rlcl9jaGlsZF9sYXVu Y2goQmFja2VuZFR5cGUgY2hpbGRfdHlwZSwgaW50IGNoaWxkX3Nsb3QsCiAJcGlkID0gZm9y a19wcm9jZXNzKCk7CiAJaWYgKHBpZCA9PSAwKQkJCQkvKiBjaGlsZCAqLwogCXsKKwkJTXlC YWNrZW5kVHlwZSA9IGNoaWxkX3R5cGU7CisKIAkJLyogQ2FwdHVyZSBhbmQgdHJhbnNmZXIg dGltaW5ncyB0aGF0IG1heSBiZSBuZWVkZWQgZm9yIGxvZ2dpbmcgKi8KIAkJaWYgKElzRXh0 ZXJuYWxDb25uZWN0aW9uQmFja2VuZChjaGlsZF90eXBlKSkKIAkJewpAQCAtNjA4LDYgKzYx MCw3IEBAIFN1YlBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJY2hp bGRfdHlwZSA9IChCYWNrZW5kVHlwZSkgYXRvaShjaGlsZF9raW5kKTsKIAlpZiAoY2hpbGRf dHlwZSA8PSBCX0lOVkFMSUQgfHwgY2hpbGRfdHlwZSA+IEJBQ0tFTkRfTlVNX1RZUEVTIC0g MSkKIAkJZWxvZyhFUlJPUiwgInVua25vd24gY2hpbGQga2luZCAlcyIsIGNoaWxkX2tpbmQp OworCU15QmFja2VuZFR5cGUgPSBjaGlsZF90eXBlOwogCiAJLyogUmVhZCBpbiB0aGUgdmFy aWFibGVzIGZpbGUgKi8KIAlyZWFkX2JhY2tlbmRfdmFyaWFibGVzKGFyZ3ZbMl0sICZzdGFy dHVwX2RhdGEsICZzdGFydHVwX2RhdGFfbGVuKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3Bvc3RtYXN0ZXIvcGdhcmNoLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5j CmluZGV4IDFhMjAzODdjNGJkLi44MjczMWU0NTJmYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvcG9zdG1hc3Rlci9wZ2FyY2guYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bn YXJjaC5jCkBAIC0yMjIsNyArMjIyLDYgQEAgUGdBcmNoaXZlck1haW4oY29uc3Qgdm9pZCAq c3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIHsKIAlBc3NlcnQoc3Rh cnR1cF9kYXRhX2xlbiA9PSAwKTsKIAotCU15QmFja2VuZFR5cGUgPSBCX0FSQ0hJVkVSOwog CUF1eGlsaWFyeVByb2Nlc3NNYWluQ29tbW9uKCk7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9zdGFydHVwLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L3N0YXJ0dXAuYwppbmRleCBhMWE0ZjY1ZjlhOS4uY2RiZTUzZGQyNjIgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3RhcnR1cC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvc3RhcnR1cC5jCkBAIC0yMTcsNyArMjE3LDYgQEAgU3RhcnR1cFByb2Nlc3NN YWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4p CiB7CiAJQXNzZXJ0KHN0YXJ0dXBfZGF0YV9sZW4gPT0gMCk7CiAKLQlNeUJhY2tlbmRUeXBl ID0gQl9TVEFSVFVQOwogCUF1eGlsaWFyeVByb2Nlc3NNYWluQ29tbW9uKCk7CiAKIAkvKiBB cnJhbmdlIHRvIGNsZWFuIHVwIGF0IHN0YXJ0dXAgcHJvY2VzcyBleGl0ICovCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3N5c2xvZ2dlci5jIGIvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9zeXNsb2dnZXIuYwppbmRleCAxYzQ0M2IzZDEyNi4uODZjNWUzNzZiNDAg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMKKysrIGIv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zeXNsb2dnZXIuYwpAQCAtMjA2LDcgKzIwNiw2IEBA IFN5c0xvZ2dlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9kYXRhLCBzaXplX3Qgc3RhcnR1 cF9kYXRhX2xlbikKIAogCW5vdyA9IE15U3RhcnRUaW1lOwogCi0JTXlCYWNrZW5kVHlwZSA9 IEJfTE9HR0VSOwogCWluaXRfcHNfZGlzcGxheShOVUxMKTsKIAogCS8qCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHN1bW1hcml6ZXIuYyBiL3NyYy9iYWNrZW5k L3Bvc3RtYXN0ZXIvd2Fsc3VtbWFyaXplci5jCmluZGV4IGMzZDU2Yzg2NmQzLi4yZDhmNTcw OTlmZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVy LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWxzdW1tYXJpemVyLmMKQEAgLTIz NCw3ICsyMzQsNiBAQCBXYWxTdW1tYXJpemVyTWFpbihjb25zdCB2b2lkICpzdGFydHVwX2Rh dGEsIHNpemVfdCBzdGFydHVwX2RhdGFfbGVuKQogCiAJQXNzZXJ0KHN0YXJ0dXBfZGF0YV9s ZW4gPT0gMCk7CiAKLQlNeUJhY2tlbmRUeXBlID0gQl9XQUxfU1VNTUFSSVpFUjsKIAlBdXhp bGlhcnlQcm9jZXNzTWFpbkNvbW1vbigpOwogCiAJZXJlcG9ydChERUJVRzEsCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3dhbHdyaXRlci5jIGIvc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci93YWx3cml0ZXIuYwppbmRleCAzOGVjOGE0YzhjNy4uMjNlNzlhMzIzNDUg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvd2Fsd3JpdGVyLmMKKysrIGIv c3JjL2JhY2tlbmQvcG9zdG1hc3Rlci93YWx3cml0ZXIuYwpAQCAtOTQsNyArOTQsNiBAQCBX YWxXcml0ZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBf ZGF0YV9sZW4pCiAKIAlBc3NlcnQoc3RhcnR1cF9kYXRhX2xlbiA9PSAwKTsKIAotCU15QmFj a2VuZFR5cGUgPSBCX1dBTF9XUklURVI7CiAJQXV4aWxpYXJ5UHJvY2Vzc01haW5Db21tb24o KTsKIAogCS8qCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3Nsb3RzeW5jLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5j LmMKaW5kZXggNzNmYzUxZWE1M2UuLmI1M2Y4ODhiODA0IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Nsb3RzeW5jLmMKKysrIGIvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vbG9naWNhbC9zbG90c3luYy5jCkBAIC0xNTQwLDggKzE1NDAsNiBAQCBS ZXBsU2xvdFN5bmNXb3JrZXJNYWluKGNvbnN0IHZvaWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90 IHN0YXJ0dXBfZGF0YV9sZW4pCiAKIAlBc3NlcnQoc3RhcnR1cF9kYXRhX2xlbiA9PSAwKTsK IAotCU15QmFja2VuZFR5cGUgPSBCX1NMT1RTWU5DX1dPUktFUjsKLQogCWluaXRfcHNfZGlz cGxheShOVUxMKTsKIAogCUFzc2VydChHZXRQcm9jZXNzaW5nTW9kZSgpID09IEluaXRQcm9j ZXNzaW5nKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2Vp dmVyLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNlaXZlci5jCmluZGV4IGE0 MTQ1MzUzMGExLi44ZGJkOGNiMjAwOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vd2FscmVjZWl2ZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxy ZWNlaXZlci5jCkBAIC0xNjksNyArMTY5LDYgQEAgV2FsUmVjZWl2ZXJNYWluKGNvbnN0IHZv aWQgKnN0YXJ0dXBfZGF0YSwgc2l6ZV90IHN0YXJ0dXBfZGF0YV9sZW4pCiAKIAlBc3NlcnQo c3RhcnR1cF9kYXRhX2xlbiA9PSAwKTsKIAotCU15QmFja2VuZFR5cGUgPSBCX1dBTF9SRUNF SVZFUjsKIAlBdXhpbGlhcnlQcm9jZXNzTWFpbkNvbW1vbigpOwogCiAJLyoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYWlvL21ldGhvZF93b3JrZXIuYyBiL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvYWlvL21ldGhvZF93b3JrZXIuYwppbmRleCBkN2MxNDRjZDhmNy4uZDk2 MTdjMjBlNzYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYWlvL21ldGhvZF93 b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2Fpby9tZXRob2Rfd29ya2VyLmMK QEAgLTM5MCw3ICszOTAsNiBAQCBJb1dvcmtlck1haW4oY29uc3Qgdm9pZCAqc3RhcnR1cF9k YXRhLCBzaXplX3Qgc3RhcnR1cF9kYXRhX2xlbikKIAl2b2xhdGlsZSBpbnQgZXJyb3JfZXJy bm8gPSAwOwogCWNoYXIJCWNtZFsxMjhdOwogCi0JTXlCYWNrZW5kVHlwZSA9IEJfSU9fV09S S0VSOwogCUF1eGlsaWFyeVByb2Nlc3NNYWluQ29tbW9uKCk7CiAKIAlwcXNpZ25hbChTSUdI VVAsIFNpZ25hbEhhbmRsZXJGb3JDb25maWdSZWxvYWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxv Zy5jCmluZGV4IDU5OTc1MzA5YTRlLi5mMzVlYzA0MjliMiAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9y L2Vsb2cuYwpAQCAtMjc3OSw3ICsyNzc5LDEyIEBAIGdldF9iYWNrZW5kX3R5cGVfZm9yX2xv Zyh2b2lkKQogCWlmIChNeVByb2NQaWQgPT0gUG9zdG1hc3RlclBpZCkKIAkJYmFja2VuZF90 eXBlX3N0ciA9ICJwb3N0bWFzdGVyIjsKIAllbHNlIGlmIChNeUJhY2tlbmRUeXBlID09IEJf QkdfV09SS0VSKQotCQliYWNrZW5kX3R5cGVfc3RyID0gTXlCZ3dvcmtlckVudHJ5LT5iZ3df dHlwZTsKKwl7CisJCWlmIChNeUJnd29ya2VyRW50cnkgJiYgTXlCZ3dvcmtlckVudHJ5LT5i Z3dfdHlwZVswXSAhPSAnXDAnKQorCQkJYmFja2VuZF90eXBlX3N0ciA9IE15Qmd3b3JrZXJF bnRyeS0+Ymd3X3R5cGU7CisJCWVsc2UKKwkJCWJhY2tlbmRfdHlwZV9zdHIgPSAiZWFybHkg Ymd3b3JrZXIiOworCX0KIAllbHNlCiAJCWJhY2tlbmRfdHlwZV9zdHIgPSBHZXRCYWNrZW5k VHlwZURlc2MoTXlCYWNrZW5kVHlwZSk7CiAKLS0gCjIuMzkuNQoK --68ce77c2335b48f3b1bc464f35ba4211--