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.94.2) (envelope-from ) id 1tqMjW-003haJ-Ae for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Mar 2025 01:42:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tqMjV-00HACx-0R for pgsql-hackers@arkaria.postgresql.org; Fri, 07 Mar 2025 01:42:37 +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.94.2) (envelope-from ) id 1tqMjU-00HA9x-Jj for pgsql-hackers@lists.postgresql.org; Fri, 07 Mar 2025 01:42:36 +0000 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tqMjR-001Pj7-0c for pgsql-hackers@lists.postgresql.org; Fri, 07 Mar 2025 01:42:36 +0000 Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-2f42992f608so2488734a91.0 for ; Thu, 06 Mar 2025 17:42:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1741311752; x=1741916552; darn=lists.postgresql.org; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:from:to:cc:subject:date:message-id:reply-to; bh=oqC68/eRivbV1hy20g53M1ag1TrB69zbAh5Fm0YxeQU=; b=QcKFmnjoF9p+U3PLnRmQ0l0wPqvqcJteU3QyvRzyM3TapyA0SjUyMD5kpSSCrdgGey syLtPlHIe0jvJKqalaX3mcL5ZrXaJ/a5Jyn8j3WPcxCVsRoinVUzvyhiWt80mEGycsqK XQcfy6E1KguaDj6E2eNglksNJdD3E9WEvt7xSQIbVIjvHhgkUNYnp7YXmf9i8UwgGXth qxuGbrqAbAcJj+NT2uJ34xsrmVNlMOr7jCZOQ9mXj9ZJVrsw0xu+WFgz6/A4bk6wEI+N wrWNMlU7sfUl0/vcHJy6D9H3gPvX6KQ34LX1jfIA8ptmtbDIoiQAlbSnMg78sjF+91+D RIiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741311752; x=1741916552; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oqC68/eRivbV1hy20g53M1ag1TrB69zbAh5Fm0YxeQU=; b=njLl+3uWYcqCCq9z3gmoomzhTwwXKqx1pNeDXD5BVpCmpH2bJtP7T5h8G4IGIWPx+w YckjllyXPL86yQk8cTCoXqJ2GNrA9yTFHTq1sDQHnaveUSdvX/tmkFMMyX6Kvb8ICmHw YWNNrVpPGW2W09qoZsRtIYl9nUgBsoy9GxEt3EIDzceFBOKLFjrP/38X9I4o54aWOxdg TVYHmdaT+2rnuZxzai96AajG9VLdgi7Gm+evcX0Am0AT6vd9vFEZqoppbgv7lw17TJha bqEZb0tVDxoFgACaS6qV6gjL4VxI13FjtHK4sSzNhBo47ijft71ptKGa+WA4PCIysgdq MXBg== X-Forwarded-Encrypted: i=1; AJvYcCVJ/yhvA4F2Wwlw6Avfo1es6j2F3hpVrJAz42r7c5MPb7qSwO4oCSy0nKzqd1wW0tchjzVxAgXdcMHeawdW@lists.postgresql.org X-Gm-Message-State: AOJu0YyxHilVxZhvFdYuLkOOK//vexeyz9x50VYCEwk1iGclEUuH1Xr3 r6XNO1RjsiXgAh6vlqCwKvtBj0oEzPoSBWKb4kJ98fW4aopgUWpMw7S70Ursyw== X-Gm-Gg: ASbGncu7qdcW7IewY6dw00w1SyZe2ndAjiYSlc60oWdTc4cleNsNKwMRCisQalTRn39 hR3s3/0TTqkO1A6v1B0A3Oa7H1F304RVL2kB87BGY1EqAnCF7m+7X7nh+d5LqsyZ7e64mzC5XwT wubPjgie718rp5gfFs7gfUPH3ob3MqCj8dR9SBXtykMeZjeFGNgrTqXX8V8egNkTaEvf5QPg1bp lXUuY29AtxJ2D8/QlXxFa75CmnuQvQ7hnunvlL0kmBzQhMU6pab5bMMp7JAvDzdhWzHEIkHl0Tm 1torkz5e57jKgeRQuWI9b8dg7RHwSb+f6cP3ewK9c5Zk X-Google-Smtp-Source: AGHT+IFusId62vkVrFkwKpK0bwlaJ9jOx+oUZ+INsNlwcJ+rkkTE4eUed+i86mFvFivcI70clzSdNg== X-Received: by 2002:a17:90b:38c8:b0:2f4:434d:c7f0 with SMTP id 98e67ed59e1d1-2ff7ce6f953mr2919749a91.12.1741311752402; Thu, 06 Mar 2025 17:42:32 -0800 (PST) Received: from [172.18.4.31] ([12.126.244.130]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2ff4e78934bsm3810686a91.23.2025.03.06.17.42.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Mar 2025 17:42:31 -0800 (PST) Message-ID: Subject: Re: Statistics Import and Export From: Jeff Davis To: Robert Haas , Andres Freund Cc: Corey Huinker , Nathan Bossart , Tom Lane , Michael Paquier , jian he , Bruce Momjian , Matthias van de Meent , Magnus Hagander , Stephen Frost , Ashutosh Bapat , Peter Smith , PostgreSQL Hackers , alvherre@alvh.no-ip.org Date: Thu, 06 Mar 2025 17:42:30 -0800 In-Reply-To: References: <6af48508a32499a8be3398cafffd29fb6188c44b.camel@j-davis.com> <6rpmhyrtci4epuzay7y5xvd2cwdwb6zmtt6ofxrvakyawxhm7s@6grajbpr4kij> Content-Type: multipart/mixed; boundary="=-9pTkFCHOeiKz0lBR3+Ny" User-Agent: Evolution 3.44.4-0ubuntu2 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-9pTkFCHOeiKz0lBR3+Ny Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2025-03-06 at 11:15 -0500, Robert Haas wrote: > To be honest, I am a bit surprised that we decided to enable this by > default. It's not obvious to me that statistics should be regarded as > part of the database in the same way that table definitions or table > data are. That said, I'm not overwhelmingly opposed to that choice. > However, even if it's the right choice in theory, we should maybe > rethink if it's going to be too slow or use too much memory. I don't have a strong opinion about whether stats will be opt-out or opt-in for v18, but if they are opt-in, we would need to adjust the available options a bit. At minimum, we would need to at least add the option "--with- statistics", because right now the only way to explicitly request stats is to say "--statistics-only". To generalize this concept: for each of {schema, data, stats} users might want "yes", "no", or "only". If we use this options scheme, it would be easy to change the default for stats independently of the other options, if necessary, without surprising consequences. Patch attached. This patch does NOT change the default; stats are still opt-out. But it makes it easier for users to start specifying what they want or not explicitly, or to rely on the defaults if they prefer. Note that the patch would mean we go from 2 options in v17: --{schema|data}-only to 9 options in v18: --{with|no}-{schema|data|stats} and --{schema|data|stats}-only I suggest we adjust the options now with something resembling the attached patch and decide on changing the default sometime during beta. Regards, Jeff Davis --=-9pTkFCHOeiKz0lBR3+Ny Content-Disposition: attachment; filename="v1-0001-Add-pg_dump-with-X-options.patch" Content-Type: text/x-patch; name="v1-0001-Add-pg_dump-with-X-options.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjNDdmYzllNTcwZGRkMDgzMDk3ZjRiZmM3MDg0NjVjZjY0NGY0OGMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWZmIERhdmlzIDxqZWZmQGotZGF2aXMuY29tPgpEYXRlOiBU aHUsIDYgTWFyIDIwMjUgMTc6MzU6NDEgLTA4MDAKU3ViamVjdDogW1BBVENIIHYxXSBBZGQgcGdf ZHVtcCAtLXdpdGgtWCBvcHRpb25zLgoKLS0tCiBkb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dt bCAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysKIGRvYy9zcmMvc2dtbC9yZWYvcGdfZHVtcGFs bC5zZ21sIHwgMjcgKysrKysrKysrKysrKysrKysrKwogZG9jL3NyYy9zZ21sL3JlZi9wZ19yZXN0 b3JlLnNnbWwgfCAyNyArKysrKysrKysrKysrKysrKysrCiBzcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5jICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBzcmMvYmlu L3BnX2R1bXAvcGdfZHVtcGFsbC5jICAgICB8IDEyICsrKysrKysrKwogc3JjL2Jpbi9wZ19kdW1w L3BnX3Jlc3RvcmUuYyAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDYg ZmlsZXMgY2hhbmdlZCwgMTczIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfZHVtcC5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9w Z19kdW1wLnNnbWwKaW5kZXggMTk3NTA1NGQ3YmYuLjllYmEyODU2ODdlIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXAuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1 bXAuc2dtbApAQCAtMTIyMyw2ICsxMjIzLDMzIEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgog ICAgICAgPC9saXN0aXRlbT4KICAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3Rl bnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+LS13aXRoLWRhdGE8L29wdGlvbj48L3Rlcm0+Cisg ICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIER1bXAgZGF0YS4gVGhpcyBp cyB0aGUgZGVmYXVsdC4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8 L3Zhcmxpc3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PG9wdGlv bj4tLXdpdGgtc2NoZW1hPC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAg IDxwYXJhPgorICAgICAgICBEdW1wIHNjaGVtYSAoZGF0YSBkZWZpbml0aW9ucykuIFRoaXMgaXMg dGhlIGRlZmF1bHQuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92 YXJsaXN0ZW50cnk+CisKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+ LS13aXRoLXN0YXRpc3RpY3M8L29wdGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAg ICAgPHBhcmE+CisgICAgICAgIER1bXAgc3RhdGlzdGljcy4gVGhpcyBpcyB0aGUgZGVmYXVsdC4K KyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4K KwogICAgICA8dmFybGlzdGVudHJ5PgogICAgICAgPHRlcm0+PG9wdGlvbj4tLW9uLWNvbmZsaWN0 LWRvLW5vdGhpbmc8L29wdGlvbj48L3Rlcm0+CiAgICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvcmVmL3BnX2R1bXBhbGwuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcGdf ZHVtcGFsbC5zZ21sCmluZGV4IGMyZmE1YmU5NTE5Li40NWYxMjdmMGRjOSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9wZ19kdW1wYWxsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9w Z19kdW1wYWxsLnNnbWwKQEAgLTU1MSw2ICs1NTEsMzMgQEAgZXhjbHVkZSBkYXRhYmFzZSA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+UEFUVEVSTjwvcmVwbGFjZWFibGU+CiAgICAgICA8 L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgICA8dmFybGlzdGVudHJ5Pgor ICAgICAgPHRlcm0+PG9wdGlvbj4tLXdpdGgtZGF0YTwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDxs aXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgRHVtcCBkYXRhLiBUaGlzIGlzIHRoZSBk ZWZhdWx0LgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlz dGVudHJ5PgorCisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48b3B0aW9uPi0td2l0 aC1zY2hlbWE8L29wdGlvbj48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+ CisgICAgICAgIER1bXAgc2NoZW1hIChkYXRhIGRlZmluaXRpb25zKS4gVGhpcyBpcyB0aGUgZGVm YXVsdC4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3Rl bnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PG9wdGlvbj4tLXdpdGgt c3RhdGlzdGljczwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFy YT4KKyAgICAgICAgRHVtcCBzdGF0aXN0aWNzLiBUaGlzIGlzIHRoZSBkZWZhdWx0LgorICAgICAg IDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAg IDx2YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48b3B0aW9uPi0tbm8tdW5sb2dnZWQtdGFibGUt ZGF0YTwvb3B0aW9uPjwvdGVybT4KICAgICAgIDxsaXN0aXRlbT4KZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvcGdfcmVzdG9yZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ19yZXN0b3Jl LnNnbWwKaW5kZXggMTk5ZWEzMzQ1ZjMuLjUxZTY0MTFjOGZlIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcmVmL3BnX3Jlc3RvcmUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnX3Jlc3Rv cmUuc2dtbApAQCAtNzk1LDYgKzc5NSwzMyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KICAg ICAgIDwvbGlzdGl0ZW0+CiAgICAgIDwvdmFybGlzdGVudHJ5PgogCisgICAgIDx2YXJsaXN0ZW50 cnk+CisgICAgICA8dGVybT48b3B0aW9uPi0td2l0aC1kYXRhPC9vcHRpb24+PC90ZXJtPgorICAg ICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICBEdW1wIGRhdGEuIFRoaXMgaXMg dGhlIGRlZmF1bHQuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92 YXJsaXN0ZW50cnk+CisKKyAgICAgPHZhcmxpc3RlbnRyeT4KKyAgICAgIDx0ZXJtPjxvcHRpb24+ LS13aXRoLXNjaGVtYTwvb3B0aW9uPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8 cGFyYT4KKyAgICAgICAgRHVtcCBzY2hlbWEgKGRhdGEgZGVmaW5pdGlvbnMpLiBUaGlzIGlzIHRo ZSBkZWZhdWx0LgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFy bGlzdGVudHJ5PgorCisgICAgIDx2YXJsaXN0ZW50cnk+CisgICAgICA8dGVybT48b3B0aW9uPi0t d2l0aC1zdGF0aXN0aWNzPC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAg IDxwYXJhPgorICAgICAgICBEdW1wIHN0YXRpc3RpY3MuIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisg ICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisK ICAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgICA8dGVybT48b3B0aW9uPi0tc2VjdGlvbj08cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c2VjdGlvbm5hbWU8L3JlcGxhY2VhYmxlPjwvb3B0 aW9uPjwvdGVybT4KICAgICAgICA8bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCA0ZjRhZDJlZTE1 MC4uMzFjNGFjMWVlNTcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysr IGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpAQCAtNDMzLDYgKzQzMyw5IEBAIG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogCWJvb2wJCWRhdGFfb25seSA9IGZhbHNlOwogCWJvb2wJCXNj aGVtYV9vbmx5ID0gZmFsc2U7CiAJYm9vbAkJc3RhdGlzdGljc19vbmx5ID0gZmFsc2U7CisJYm9v bAkJd2l0aF9kYXRhID0gZmFsc2U7CisJYm9vbAkJd2l0aF9zY2hlbWEgPSBmYWxzZTsKKwlib29s CQl3aXRoX3N0YXRpc3RpY3MgPSBmYWxzZTsKIAlib29sCQlub19kYXRhID0gZmFsc2U7CiAJYm9v bAkJbm9fc2NoZW1hID0gZmFsc2U7CiAJYm9vbAkJbm9fc3RhdGlzdGljcyA9IGZhbHNlOwpAQCAt NTA4LDYgKzUxMSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQl7Im5vLXRvYXN0 LWNvbXByZXNzaW9uIiwgbm9fYXJndW1lbnQsICZkb3B0Lm5vX3RvYXN0X2NvbXByZXNzaW9uLCAx fSwKIAkJeyJuby11bmxvZ2dlZC10YWJsZS1kYXRhIiwgbm9fYXJndW1lbnQsICZkb3B0Lm5vX3Vu bG9nZ2VkX3RhYmxlX2RhdGEsIDF9LAogCQl7Im5vLXN5bmMiLCBub19hcmd1bWVudCwgTlVMTCwg N30sCisJCXsid2l0aC1kYXRhIiwgbm9fYXJndW1lbnQsIE5VTEwsIDIyfSwKKwkJeyJ3aXRoLXNj aGVtYSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAyM30sCisJCXsid2l0aC1zdGF0aXN0aWNzIiwgbm9f YXJndW1lbnQsIE5VTEwsIDI0fSwKIAkJeyJvbi1jb25mbGljdC1kby1ub3RoaW5nIiwgbm9fYXJn dW1lbnQsICZkb3B0LmRvX25vdGhpbmcsIDF9LAogCQl7InJvd3MtcGVyLWluc2VydCIsIHJlcXVp cmVkX2FyZ3VtZW50LCBOVUxMLCAxMH0sCiAJCXsiaW5jbHVkZS1mb3JlaWduLWRhdGEiLCByZXF1 aXJlZF9hcmd1bWVudCwgTlVMTCwgMTF9LApAQCAtNzc2LDYgKzc4MiwxOCBAQCBtYWluKGludCBh cmdjLCBjaGFyICoqYXJndikKIAkJCQlub19zdGF0aXN0aWNzID0gdHJ1ZTsKIAkJCQlicmVhazsK IAorCQkJY2FzZSAyMjoKKwkJCQl3aXRoX2RhdGEgPSB0cnVlOworCQkJCWJyZWFrOworCisJCQlj YXNlIDIzOgorCQkJCXdpdGhfc2NoZW1hID0gdHJ1ZTsKKwkJCQlicmVhazsKKworCQkJY2FzZSAy NDoKKwkJCQl3aXRoX3N0YXRpc3RpY3MgPSB0cnVlOworCQkJCWJyZWFrOworCiAJCQlkZWZhdWx0 OgogCQkJCS8qIGdldG9wdF9sb25nIGFscmVhZHkgZW1pdHRlZCBhIGNvbXBsYWludCAqLwogCQkJ CXBnX2xvZ19lcnJvcl9oaW50KCJUcnkgXCIlcyAtLWhlbHBcIiBmb3IgbW9yZSBpbmZvcm1hdGlv bi4iLCBwcm9nbmFtZSk7CkBAIC04MTEsNiArODI5LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAJaWYgKGRvcHQuYmluYXJ5X3VwZ3JhZGUpCiAJCWRvcHQuc2VxdWVuY2VfZGF0YSA9 IDE7CiAKKwkvKiByZWplY3QgY29uZmxpY3RpbmcgIi1vbmx5IiBvcHRpb25zICovCiAJaWYgKGRh dGFfb25seSAmJiBzY2hlbWFfb25seSkKIAkJcGdfZmF0YWwoIm9wdGlvbnMgLXMvLS1zY2hlbWEt b25seSBhbmQgLWEvLS1kYXRhLW9ubHkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiKTsKIAlpZiAo c2NoZW1hX29ubHkgJiYgc3RhdGlzdGljc19vbmx5KQpAQCAtODE4LDYgKzgzNyw3IEBAIG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCWlmIChkYXRhX29ubHkgJiYgc3RhdGlzdGljc19vbmx5 KQogCQlwZ19mYXRhbCgib3B0aW9ucyAtYS8tLWRhdGEtb25seSBhbmQgLS1zdGF0aXN0aWNzLW9u bHkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiKTsKIAorCS8qIHJlamVjdCBjb25mbGljdGluZyAi LW9ubHkiIGFuZCAibm8tIiBvcHRpb25zICovCiAJaWYgKGRhdGFfb25seSAmJiBub19kYXRhKQog CQlwZ19mYXRhbCgib3B0aW9ucyAtYS8tLWRhdGEtb25seSBhbmQgLS1uby1kYXRhIGNhbm5vdCBi ZSB1c2VkIHRvZ2V0aGVyIik7CiAJaWYgKHNjaGVtYV9vbmx5ICYmIG5vX3NjaGVtYSkKQEAgLTgy NSw2ICs4NDUsMTQgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJaWYgKHN0YXRpc3Rp Y3Nfb25seSAmJiBub19zdGF0aXN0aWNzKQogCQlwZ19mYXRhbCgib3B0aW9ucyAtLXN0YXRpc3Rp Y3Mtb25seSBhbmQgLS1uby1zdGF0aXN0aWNzIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CiAK KwkvKiByZWplY3QgY29uZmxpY3RpbmcgIndpdGgtIiBhbmQgIm5vLSIgb3B0aW9ucyAqLworCWlm ICh3aXRoX2RhdGEgJiYgbm9fZGF0YSkKKwkJcGdfZmF0YWwoIm9wdGlvbnMgLS13aXRoLWRhdGEg YW5kIC0tbm8tZGF0YSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIpOworCWlmICh3aXRoX3NjaGVt YSAmJiBub19zY2hlbWEpCisJCXBnX2ZhdGFsKCJvcHRpb25zIC0td2l0aC1zY2hlbWEgYW5kIC0t bm8tc2NoZW1hIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CisJaWYgKHdpdGhfc3RhdGlzdGlj cyAmJiBub19zdGF0aXN0aWNzKQorCQlwZ19mYXRhbCgib3B0aW9ucyAtLXdpdGgtc3RhdGlzdGlj cyBhbmQgLS1uby1zdGF0aXN0aWNzIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CisKIAlpZiAo c2NoZW1hX29ubHkgJiYgZm9yZWlnbl9zZXJ2ZXJzX2luY2x1ZGVfcGF0dGVybnMuaGVhZCAhPSBO VUxMKQogCQlwZ19mYXRhbCgib3B0aW9ucyAtcy8tLXNjaGVtYS1vbmx5IGFuZCAtLWluY2x1ZGUt Zm9yZWlnbi1kYXRhIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CiAKQEAgLTgzNywxMCArODY1 LDIwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCWlmIChkb3B0LmlmX2V4aXN0cyAm JiAhZG9wdC5vdXRwdXRDbGVhbikKIAkJcGdfZmF0YWwoIm9wdGlvbiAtLWlmLWV4aXN0cyByZXF1 aXJlcyBvcHRpb24gLWMvLS1jbGVhbiIpOwogCi0JLyogc2V0IGRlcml2YXRpdmUgZmxhZ3MgKi8K LQlkb3B0LmR1bXBEYXRhID0gZGF0YV9vbmx5IHx8ICghc2NoZW1hX29ubHkgJiYgIXN0YXRpc3Rp Y3Nfb25seSAmJiAhbm9fZGF0YSk7Ci0JZG9wdC5kdW1wU2NoZW1hID0gc2NoZW1hX29ubHkgfHwg KCFkYXRhX29ubHkgJiYgIXN0YXRpc3RpY3Nfb25seSAmJiAhbm9fc2NoZW1hKTsKLQlkb3B0LmR1 bXBTdGF0aXN0aWNzID0gc3RhdGlzdGljc19vbmx5IHx8ICghZGF0YV9vbmx5ICYmICFzY2hlbWFf b25seSAmJiAhbm9fc3RhdGlzdGljcyk7CisJLyoKKwkgKiBTZXQgZGVyaXZhdGl2ZSBmbGFncy4g QW4gIi1vbmx5IiBvcHRpb24gbWF5IGJlIG92ZXJyaWRkZW4gYnkgYW4KKwkgKiBleHBsaWNpdCAi d2l0aC0iIG9wdGlvbjsgZS5nLiAiLS1zY2hlbWEtb25seSAtLXdpdGgtc3RhdGlzdGljcyIgd2ls bAorCSAqIGluY2x1ZGUgc2NoZW1hIGFuZCBzdGF0aXN0aWNzLiBPdGhlciBhbWJpZ3VvdXMgb3Ig bm9uc2Vuc2ljYWwKKwkgKiBjb21iaW5hdGlvbnMsIGUuZy4gIi0tc2NoZW1hLW9ubHkgLS1uby1z Y2hlbWEiLCB3aWxsIGhhdmUgYWxyZWFkeQorCSAqIGNhdXNlZCBhbiBlcnJvciBpbiBvbmUgb2Yg dGhlIGNoZWNrcyBhYm92ZS4KKwkgKi8KKwlkb3B0LmR1bXBEYXRhID0gKChkb3B0LmR1bXBEYXRh ICYmICFzY2hlbWFfb25seSAmJiAhc3RhdGlzdGljc19vbmx5KSB8fAorCQkJCQkgKGRhdGFfb25s eSB8fCB3aXRoX2RhdGEpKSAmJiAhbm9fZGF0YTsKKwlkb3B0LmR1bXBTY2hlbWEgPSAoKGRvcHQu ZHVtcFNjaGVtYSAmJiAhZGF0YV9vbmx5ICYmICFzdGF0aXN0aWNzX29ubHkpIHx8CisJCQkJCSAg IChzY2hlbWFfb25seSB8fCB3aXRoX3NjaGVtYSkpICYmICFub19zY2hlbWE7CisJZG9wdC5kdW1w U3RhdGlzdGljcyA9ICgoZG9wdC5kdW1wU3RhdGlzdGljcyAmJiAhc2NoZW1hX29ubHkgJiYgIWRh dGFfb25seSkgfHwKKwkJCQkJCSAgIChzdGF0aXN0aWNzX29ubHkgfHwgd2l0aF9zdGF0aXN0aWNz KSkgJiYgIW5vX3N0YXRpc3RpY3M7CisKIAogCS8qCiAJICogLS1pbnNlcnRzIGFyZSBhbHJlYWR5 IGltcGxpZWQgYWJvdmUgaWYgLS1jb2x1bW4taW5zZXJ0cyBvcgpkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ19kdW1wL3BnX2R1bXBhbGwuYyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMKaW5k ZXggZTA4NjcyNDI1MjYuLmE3ZThjMGQyYWQ1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcGFsbC5jCisrKyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wYWxsLmMKQEAgLTExMCw2 ICsxMTAsOSBAQCBzdGF0aWMgaW50CW5vX3N1YnNjcmlwdGlvbnMgPSAwOwogc3RhdGljIGludAlu b190b2FzdF9jb21wcmVzc2lvbiA9IDA7CiBzdGF0aWMgaW50CW5vX3VubG9nZ2VkX3RhYmxlX2Rh dGEgPSAwOwogc3RhdGljIGludAlub19yb2xlX3Bhc3N3b3JkcyA9IDA7CitzdGF0aWMgaW50CXdp dGhfZGF0YSA9IDA7CitzdGF0aWMgaW50CXdpdGhfc2NoZW1hID0gMDsKK3N0YXRpYyBpbnQJd2l0 aF9zdGF0aXN0aWNzID0gMDsKIHN0YXRpYyBpbnQJc2VydmVyX3ZlcnNpb247CiBzdGF0aWMgaW50 CWxvYWRfdmlhX3BhcnRpdGlvbl9yb290ID0gMDsKIHN0YXRpYyBpbnQJb25fY29uZmxpY3RfZG9f bm90aGluZyA9IDA7CkBAIC0xODIsNiArMTg1LDkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJn dltdKQogCQl7Im5vLXN5bmMiLCBub19hcmd1bWVudCwgTlVMTCwgNH0sCiAJCXsibm8tdG9hc3Qt Y29tcHJlc3Npb24iLCBub19hcmd1bWVudCwgJm5vX3RvYXN0X2NvbXByZXNzaW9uLCAxfSwKIAkJ eyJuby11bmxvZ2dlZC10YWJsZS1kYXRhIiwgbm9fYXJndW1lbnQsICZub191bmxvZ2dlZF90YWJs ZV9kYXRhLCAxfSwKKwkJeyJ3aXRoLWRhdGEiLCBub19hcmd1bWVudCwgJndpdGhfZGF0YSwgMX0s CisJCXsid2l0aC1zY2hlbWEiLCBub19hcmd1bWVudCwgJndpdGhfc2NoZW1hLCAxfSwKKwkJeyJ3 aXRoLXN0YXRpc3RpY3MiLCBub19hcmd1bWVudCwgJndpdGhfc3RhdGlzdGljcywgMX0sCiAJCXsi b24tY29uZmxpY3QtZG8tbm90aGluZyIsIG5vX2FyZ3VtZW50LCAmb25fY29uZmxpY3RfZG9fbm90 aGluZywgMX0sCiAJCXsicm93cy1wZXItaW5zZXJ0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEws IDd9LAogCQl7InN0YXRpc3RpY3Mtb25seSIsIG5vX2FyZ3VtZW50LCAmc3RhdGlzdGljc19vbmx5 LCAxfSwKQEAgLTQ3MSw2ICs0NzcsMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog CQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihwZ2R1bXBvcHRzLCAiIC0tbm8tdG9hc3QtY29tcHJlc3Np b24iKTsKIAlpZiAobm9fdW5sb2dnZWRfdGFibGVfZGF0YSkKIAkJYXBwZW5kUFFFeHBCdWZmZXJT dHIocGdkdW1wb3B0cywgIiAtLW5vLXVubG9nZ2VkLXRhYmxlLWRhdGEiKTsKKwlpZiAod2l0aF9k YXRhKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihwZ2R1bXBvcHRzLCAiIC0td2l0aC1kYXRhIik7 CisJaWYgKHdpdGhfc2NoZW1hKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihwZ2R1bXBvcHRzLCAi IC0td2l0aC1zY2hlbWEiKTsKKwlpZiAod2l0aF9zdGF0aXN0aWNzKQorCQlhcHBlbmRQUUV4cEJ1 ZmZlclN0cihwZ2R1bXBvcHRzLCAiIC0td2l0aC1zdGF0aXN0aWNzIik7CiAJaWYgKG9uX2NvbmZs aWN0X2RvX25vdGhpbmcpCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHBnZHVtcG9wdHMsICIgLS1v bi1jb25mbGljdC1kby1ub3RoaW5nIik7CiAJaWYgKHN0YXRpc3RpY3Nfb25seSkKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19yZXN0b3JlLmMgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVz dG9yZS5jCmluZGV4IDEzZTRkYzUwN2UwLi5mMjIwNDYxMjdiNyAxMDA2NDQKLS0tIGEvc3JjL2Jp bi9wZ19kdW1wL3BnX3Jlc3RvcmUuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfcmVzdG9yZS5j CkBAIC04MSw2ICs4MSw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCXN0YXRpYyBp bnQJbm9fc3Vic2NyaXB0aW9ucyA9IDA7CiAJc3RhdGljIGludAlzdHJpY3RfbmFtZXMgPSAwOwog CXN0YXRpYyBpbnQJc3RhdGlzdGljc19vbmx5ID0gMDsKKwlzdGF0aWMgaW50CXdpdGhfZGF0YSA9 IDA7CisJc3RhdGljIGludAl3aXRoX3NjaGVtYSA9IDA7CisJc3RhdGljIGludAl3aXRoX3N0YXRp c3RpY3MgPSAwOwogCiAJc3RydWN0IG9wdGlvbiBjbWRvcHRzW10gPSB7CiAJCXsiY2xlYW4iLCAw LCBOVUxMLCAnYyd9LApAQCAtMTM0LDYgKzEzNyw5IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogCQl7Im5vLXNlY3VyaXR5LWxhYmVscyIsIG5vX2FyZ3VtZW50LCAmbm9fc2VjdXJpdHlf bGFiZWxzLCAxfSwKIAkJeyJuby1zdWJzY3JpcHRpb25zIiwgbm9fYXJndW1lbnQsICZub19zdWJz Y3JpcHRpb25zLCAxfSwKIAkJeyJuby1zdGF0aXN0aWNzIiwgbm9fYXJndW1lbnQsICZub19zdGF0 aXN0aWNzLCAxfSwKKwkJeyJ3aXRoLWRhdGEiLCBub19hcmd1bWVudCwgJndpdGhfZGF0YSwgMX0s CisJCXsid2l0aC1zY2hlbWEiLCBub19hcmd1bWVudCwgJndpdGhfc2NoZW1hLCAxfSwKKwkJeyJ3 aXRoLXN0YXRpc3RpY3MiLCBub19hcmd1bWVudCwgJndpdGhfc3RhdGlzdGljcywgMX0sCiAJCXsi c3RhdGlzdGljcy1vbmx5Iiwgbm9fYXJndW1lbnQsICZzdGF0aXN0aWNzX29ubHksIDF9LAogCQl7 ImZpbHRlciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCA0fSwKIApAQCAtMzQ5LDEyICszNTUs MjkgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCW9wdHMtPnVzZURCID0gMTsKIAl9 CiAKKwkvKiByZWplY3QgY29uZmxpY3RpbmcgIi1vbmx5IiBvcHRpb25zICovCiAJaWYgKGRhdGFf b25seSAmJiBzY2hlbWFfb25seSkKIAkJcGdfZmF0YWwoIm9wdGlvbnMgLXMvLS1zY2hlbWEtb25s eSBhbmQgLWEvLS1kYXRhLW9ubHkgY2Fubm90IGJlIHVzZWQgdG9nZXRoZXIiKTsKLQlpZiAoZGF0 YV9vbmx5ICYmIHN0YXRpc3RpY3Nfb25seSkKLQkJcGdfZmF0YWwoIm9wdGlvbnMgLWEvLS1kYXRh LW9ubHkgYW5kIC0tc3RhdGlzdGljcy1vbmx5IGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CiAJ aWYgKHNjaGVtYV9vbmx5ICYmIHN0YXRpc3RpY3Nfb25seSkKIAkJcGdfZmF0YWwoIm9wdGlvbnMg LXMvLS1zY2hlbWEtb25seSBhbmQgLS1zdGF0aXN0aWNzLW9ubHkgY2Fubm90IGJlIHVzZWQgdG9n ZXRoZXIiKTsKKwlpZiAoZGF0YV9vbmx5ICYmIHN0YXRpc3RpY3Nfb25seSkKKwkJcGdfZmF0YWwo Im9wdGlvbnMgLWEvLS1kYXRhLW9ubHkgYW5kIC0tc3RhdGlzdGljcy1vbmx5IGNhbm5vdCBiZSB1 c2VkIHRvZ2V0aGVyIik7CisKKwkvKiByZWplY3QgY29uZmxpY3RpbmcgIi1vbmx5IiBhbmQgIm5v LSIgb3B0aW9ucyAqLworCWlmIChkYXRhX29ubHkgJiYgbm9fZGF0YSkKKwkJcGdfZmF0YWwoIm9w dGlvbnMgLWEvLS1kYXRhLW9ubHkgYW5kIC0tbm8tZGF0YSBjYW5ub3QgYmUgdXNlZCB0b2dldGhl ciIpOworCWlmIChzY2hlbWFfb25seSAmJiBub19zY2hlbWEpCisJCXBnX2ZhdGFsKCJvcHRpb25z IC1zLy0tc2NoZW1hLW9ubHkgYW5kIC0tbm8tc2NoZW1hIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVy Iik7CisJaWYgKHN0YXRpc3RpY3Nfb25seSAmJiBub19zdGF0aXN0aWNzKQorCQlwZ19mYXRhbCgi b3B0aW9ucyAtLXN0YXRpc3RpY3Mtb25seSBhbmQgLS1uby1zdGF0aXN0aWNzIGNhbm5vdCBiZSB1 c2VkIHRvZ2V0aGVyIik7CisKKwkvKiByZWplY3QgY29uZmxpY3RpbmcgIndpdGgtIiBhbmQgIm5v LSIgb3B0aW9ucyAqLworCWlmICh3aXRoX2RhdGEgJiYgbm9fZGF0YSkKKwkJcGdfZmF0YWwoIm9w dGlvbnMgLS13aXRoLWRhdGEgYW5kIC0tbm8tZGF0YSBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciIp OworCWlmICh3aXRoX3NjaGVtYSAmJiBub19zY2hlbWEpCisJCXBnX2ZhdGFsKCJvcHRpb25zIC0t d2l0aC1zY2hlbWEgYW5kIC0tbm8tc2NoZW1hIGNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIik7CisJ aWYgKHdpdGhfc3RhdGlzdGljcyAmJiBub19zdGF0aXN0aWNzKQorCQlwZ19mYXRhbCgib3B0aW9u cyAtLXdpdGgtc3RhdGlzdGljcyBhbmQgLS1uby1zdGF0aXN0aWNzIGNhbm5vdCBiZSB1c2VkIHRv Z2V0aGVyIik7CiAKIAlpZiAoZGF0YV9vbmx5ICYmIG9wdHMtPmRyb3BTY2hlbWEpCiAJCXBnX2Zh dGFsKCJvcHRpb25zIC1jLy0tY2xlYW4gYW5kIC1hLy0tZGF0YS1vbmx5IGNhbm5vdCBiZSB1c2Vk IHRvZ2V0aGVyIik7CkBAIC0zNzMsMTAgKzM5NiwxOSBAQCBtYWluKGludCBhcmdjLCBjaGFyICoq YXJndikKIAlpZiAob3B0cy0+c2luZ2xlX3R4biAmJiBudW1Xb3JrZXJzID4gMSkKIAkJcGdfZmF0 YWwoImNhbm5vdCBzcGVjaWZ5IGJvdGggLS1zaW5nbGUtdHJhbnNhY3Rpb24gYW5kIG11bHRpcGxl IGpvYnMiKTsKIAotCS8qIHNldCBkZXJpdmF0aXZlIGZsYWdzICovCi0Jb3B0cy0+ZHVtcERhdGEg PSBkYXRhX29ubHkgfHwgKCFub19kYXRhICYmICFzY2hlbWFfb25seSAmJiAhc3RhdGlzdGljc19v bmx5KTsKLQlvcHRzLT5kdW1wU2NoZW1hID0gc2NoZW1hX29ubHkgfHwgKCFub19zY2hlbWEgJiYg IWRhdGFfb25seSAmJiAhc3RhdGlzdGljc19vbmx5KTsKLQlvcHRzLT5kdW1wU3RhdGlzdGljcyA9 IHN0YXRpc3RpY3Nfb25seSB8fCAoIW5vX3N0YXRpc3RpY3MgJiYgIWRhdGFfb25seSAmJiAhc2No ZW1hX29ubHkpOworCS8qCisJICogU2V0IGRlcml2YXRpdmUgZmxhZ3MuIEFuICItb25seSIgb3B0 aW9uIG1heSBiZSBvdmVycmlkZGVuIGJ5IGFuCisJICogZXhwbGljaXQgIndpdGgtIiBvcHRpb247 IGUuZy4gIi0tc2NoZW1hLW9ubHkgLS13aXRoLXN0YXRpc3RpY3MiIHdpbGwKKwkgKiBpbmNsdWRl IHNjaGVtYSBhbmQgc3RhdGlzdGljcy4gT3RoZXIgYW1iaWd1b3VzIG9yIG5vbnNlbnNpY2FsCisJ ICogY29tYmluYXRpb25zLCBlLmcuICItLXNjaGVtYS1vbmx5IC0tbm8tc2NoZW1hIiwgd2lsbCBo YXZlIGFscmVhZHkKKwkgKiBjYXVzZWQgYW4gZXJyb3IgaW4gb25lIG9mIHRoZSBjaGVja3MgYWJv dmUuCisJICovCisJb3B0cy0+ZHVtcERhdGEgPSAoKG9wdHMtPmR1bXBEYXRhICYmICFzY2hlbWFf b25seSAmJiAhc3RhdGlzdGljc19vbmx5KSB8fAorCQkJCQkgIChkYXRhX29ubHkgfHwgd2l0aF9k YXRhKSkgJiYgIW5vX2RhdGE7CisJb3B0cy0+ZHVtcFNjaGVtYSA9ICgob3B0cy0+ZHVtcFNjaGVt YSAmJiAhZGF0YV9vbmx5ICYmICFzdGF0aXN0aWNzX29ubHkpIHx8CisJCQkJCQkoc2NoZW1hX29u bHkgfHwgd2l0aF9zY2hlbWEpKSAmJiAhbm9fc2NoZW1hOworCW9wdHMtPmR1bXBTdGF0aXN0aWNz ID0gKChvcHRzLT5kdW1wU3RhdGlzdGljcyAmJiAhc2NoZW1hX29ubHkgJiYgIWRhdGFfb25seSkg fHwKKwkJCQkJCQkoc3RhdGlzdGljc19vbmx5IHx8IHdpdGhfc3RhdGlzdGljcykpICYmICFub19z dGF0aXN0aWNzOwogCiAJb3B0cy0+ZGlzYWJsZV90cmlnZ2VycyA9IGRpc2FibGVfdHJpZ2dlcnM7 CiAJb3B0cy0+ZW5hYmxlX3Jvd19zZWN1cml0eSA9IGVuYWJsZV9yb3dfc2VjdXJpdHk7Ci0tIAoy LjM0LjEKCg== --=-9pTkFCHOeiKz0lBR3+Ny--