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 1vv2FR-000H67-21 for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 23:55:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vv2FQ-004202-0W for pgsql-hackers@arkaria.postgresql.org; Tue, 24 Feb 2026 23:55:24 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vv2FP-0041zt-1x for pgsql-hackers@lists.postgresql.org; Tue, 24 Feb 2026 23:55:23 +0000 Received: from mail-lj1-x232.google.com ([2a00:1450:4864:20::232]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vv2FM-000000012B4-1S6I for pgsql-hackers@lists.postgresql.org; Tue, 24 Feb 2026 23:55:22 +0000 Received: by mail-lj1-x232.google.com with SMTP id 38308e7fff4ca-3870c7479c0so56760271fa.3 for ; Tue, 24 Feb 2026 15:55:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1771977318; cv=none; d=google.com; s=arc-20240605; b=QdhrWBLTsJPfv/qmoVrVIL1Pu6GHwRxeRnamjNYm7DVBWU8ijI38SaWcM7j0WATqVu Zhg9klZ+AvzPcaMwLNrCvTY0cLjPkYitcqoGUE7PiDYdhy1Ci4I/LfecMXQJzCyNZ8md Mg1csNjhRYLznUIRouAfRxO/AxVxyvq/MXN8nglY6DJooK7vafrC8LMv5x/+47S6l8rt nc2g8w+kWJNm1jKhV1js02Z5W28aK3fkNguo1ONClsgx35bwjdExVBckBYaXSYXgPh2q JJJJh7B0t7aLo14xp0Dg8J/3+M5PEVpPdfF0onII95/HoJfOO9YQ136MgZ1UxSFNHw8T LARg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=vDEESSuxyU9w32QkhE5hvar1Sk4WaBZ0UQ16VFJFvMI=; fh=lh/Zsyg+82vGPjgDTTgO8AHJ/N1RY1psvv/ZQp0OMA8=; b=hBcLteeCNlwQw60W5EbnOmTtCRgqLk76I/uNBKKmJuZGBPJaRi699AfYZoRkit3sbg uaypII+OOYVwjARNs8G0IybM7rVel222k9SCQMPWv9d8kKYxVR0DHm2bOoioueN1J84U 11UIwCvtu2d3yZw+1G7hI+GvR1nN0TvnC108jsLeXCRxofcggnXftISX+iDYn5DwXbT8 rD3CK6BoNGZxLLtqQXNu8WNFUR3RWUOj1GmGUGQPtRrCkt2BpB4CKeVx0SieDuV/mLij mCFQA5GVhQoEOBGZooq9H+UH2bNTXqTrx+kn6ax4Kdj1TkGslgLk3kDX1qLGWR4NqIBH HZow==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1771977318; x=1772582118; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=vDEESSuxyU9w32QkhE5hvar1Sk4WaBZ0UQ16VFJFvMI=; b=YxQmbVFX3q6n1ti2B2kDftXhLLKKzsOOjrP52wE/pDcbi20Yc19gh7qvVcyilFfTbE gdupn7sglXIp8WB/DtL8UQck39e7JJgPDfRQJF5dpvipp8uJw+P7ByqLwD7xiKMloSdq +2io2BZNxTX93LaxU8z104fkRrwIqWFvrOeq+slTfv+8R3mMfFAgruglOzixBoA6OnOo XhbtmFnhN+H57xtwNSOCIlMsVSDl0jcDwsGBfEO2wC+I+sKLxHcchsaWPWGv5vTlpvYt 8leEpgsCc9nArfPaRZVBgdbnEvPAvb8//bfzmpGSNJdrrylLm6/fSgvTC+88JEukm4uA LtWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771977318; x=1772582118; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vDEESSuxyU9w32QkhE5hvar1Sk4WaBZ0UQ16VFJFvMI=; b=CDfi9kBs2zy1AiG++WKsBoiiuzle7KYEWsQE1S523WLYJUPj8wPwoOpbveWkXNPRys +6pwXJdk4pBsXP5g3Qctvn5fas0AspogVW/Cq82ttS+Kk9yV+RRu9BlpQtIfQEd9/M4K 8T0ZlIaijyp3blUk9qN9Szwe3VSvhcLhOvnsNLUIXzlWrKqz3JWvEKMTXdkvH1mTw4vl cwOh19Lm1Txoio7mo5nJZEvH6h0mb2X5OnT4VFZMOUQMcadrFXAOnHgwULPkk5lhKUU6 MscruKszQAu5wW2LG13+5B0jadKlU/2PRu0nuCYhtZsR4ahLVCstZZwiOHNFquIoGTNX aYkQ== X-Forwarded-Encrypted: i=1; AJvYcCXIwv7v+wrJFjcTx0yI/OGx/httJxKILQeSPP4Y2Y5aeB54qW9TduGlxkqBqBzY7Ymxq107NiVU9o44yps3@lists.postgresql.org X-Gm-Message-State: AOJu0YxV5h+nj5pCIZugXGcj3DBMrSwdO/0ff0w6NIFJDFLlS9sJe0vx +KmvChLIS6XMUkoetRN50XCdRmhouR1eFBcJSvKdA2aHrTThAya4Xhk3G+vWAVCDWVaQpwBV41z oIl6TdyqzEBiSoZcWuiAIEkbbHcCrm1k= X-Gm-Gg: ATEYQzyuVhM6AFOhmH0ZMiHYsCIaDpm6gibFJSjhbP+pOBsA8NAOY237YrY9LdWEPE+ eWweB/+l8HD3TzpoEhecyC+le4oQWcq02OkoM1eI7A7f05nxcEo0ImaaQODzhDD2lK0ARH7kUN2 4FDKZ7JpJo3YcnAKau9J2yyikv/Q1jPpOJX8AFi6DLRnPJFuFmK5LB+PJ7aM0jfeQiS4OLAX61a 2y2Q8hW5oQTnb7RlV17NhJ//f94YiE2pxlW7B0ZfOC5ZPzH+DnWRprR2VN8Tun51O0YmhHrc5tL uoAV X-Received: by 2002:a2e:bc81:0:b0:37a:75c6:b44 with SMTP id 38308e7fff4ca-389a5cdf902mr44830171fa.3.1771977317829; Tue, 24 Feb 2026 15:55:17 -0800 (PST) MIME-Version: 1.0 References: <48261e54-c4f1-4bde-a4a9-4f3698a6b380@app.fastmail.com> In-Reply-To: From: Gyan Sreejith Date: Tue, 24 Feb 2026 18:55:08 -0500 X-Gm-Features: AaiRm51XN_ss6JtsuQxr_yfKOcCLwo75xNf5WFRy5jLcfPOrPqFqUXPyXB3aVzs Message-ID: Subject: Re: [Proposal] Adding Log File Capability to pg_createsubscriber To: vignesh C Cc: Amit Kapila , Euler Taveira , "kuroda.hayato@fujitsu.com" , "pgsql-hackers@lists.postgresql.org" , Peter Smith Content-Type: multipart/mixed; boundary="0000000000009466be064b9a9e3f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009466be064b9a9e3f Content-Type: multipart/alternative; boundary="0000000000009466bd064b9a9e3d" --0000000000009466bd064b9a9e3d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I have made the changes you suggested and have attached the patch below. Thanks for your help, Gyan Sreejith On Mon, Feb 16, 2026 at 4:14=E2=80=AFAM vignesh C wro= te: > On Mon, 9 Feb 2026 at 07:38, Gyan Sreejith > wrote: > > > > I was able to make the first two changes that you suggested. However, I > was not able to get the test to run with one of the existing replica > servers. I have attached the patch for the first two changes. > > For the other comment, you don't need to add a new test case, you have > to choose one of the existing command_ok tests like: > command_ok( > [ > 'pg_createsubscriber', > '--verbose', > '--dry-run', > '--pgdata' =3D> $node_s->data_dir, > '--publisher-server' =3D> $node_p->connstr($db1), > '--socketdir' =3D> $node_s->host, > '--subscriber-port' =3D> $node_s->port, > '--replication-slot' =3D> 'replslot1', > ], > 'run pg_createsubscriber without --databases'); > > or > > command_ok( > [ > 'pg_createsubscriber', > '--verbose', '--verbose', > '--recovery-timeout' =3D> $PostgreSQL::Test::Utils::timeout_default, > '--pgdata' =3D> $node_s->data_dir, > '--publisher-server' =3D> $node_p->connstr($db1), > '--socketdir' =3D> $node_s->host, > '--subscriber-port' =3D> $node_s->port, > '--publication' =3D> 'test_pub3', > '--publication' =3D> 'pub2', > '--replication-slot' =3D> 'replslot1', > '--replication-slot' =3D> 'replslot2', > '--database' =3D> $db1, > '--database' =3D> $db2, > '--enable-two-phase', > '--clean' =3D> 'publications', > ], > 'run pg_createsubscriber on node S'); > > Add --logdir' =3D> $logdir option to this test and include the > verification you are doing. > > Regards, > Vignesh > --0000000000009466bd064b9a9e3d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I have made the changes you suggested and have attached th= e patch below.=C2=A0

Thanks for your help,
Gyan Sreejith
On Mon, Feb 16, 2026 at 4:14=E2=80=AFAM vignesh C <vignesh21@gmail.com> wrote:
On Mon, 9 Feb 2026 at 07= :38, Gyan Sreejith <gyan.sreejith@gmail.com> wrote:
>
> I was able to make the first two changes that you suggested. However, = I was not able to get the test to run with one of the existing replica serv= ers. I have attached the patch for the first two changes.

For the other comment, you don't need to add a new test case, you have<= br> to choose one of the existing command_ok tests like:
command_ok(
[
'pg_createsubscriber',
'--verbose',
'--dry-run',
'--pgdata' =3D> $node_s->data_dir,
'--publisher-server' =3D> $node_p->connstr($db1),
'--socketdir' =3D> $node_s->host,
'--subscriber-port' =3D> $node_s->port,
'--replication-slot' =3D> 'replslot1',
],
'run pg_createsubscriber without --databases');

or

command_ok(
[
'pg_createsubscriber',
'--verbose', '--verbose',
'--recovery-timeout' =3D> $PostgreSQL::Test::Utils::timeout_defa= ult,
'--pgdata' =3D> $node_s->data_dir,
'--publisher-server' =3D> $node_p->connstr($db1),
'--socketdir' =3D> $node_s->host,
'--subscriber-port' =3D> $node_s->port,
'--publication' =3D> 'test_pub3',
'--publication' =3D> 'pub2',
'--replication-slot' =3D> 'replslot1',
'--replication-slot' =3D> 'replslot2',
'--database' =3D> $db1,
'--database' =3D> $db2,
'--enable-two-phase',
'--clean' =3D> 'publications',
],
'run pg_createsubscriber on node S');

Add --logdir' =3D> $logdir option to this test and include the
verification you are doing.

Regards,
Vignesh
--0000000000009466bd064b9a9e3d-- --0000000000009466be064b9a9e3f Content-Type: application/octet-stream; name="v6-0001-Add-a-new-argument-l-logdir-to-pg_createsubscribe.patch" Content-Disposition: attachment; filename="v6-0001-Add-a-new-argument-l-logdir-to-pg_createsubscribe.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mm19jb890 RnJvbSBmNTg1N2M2NzVkODU3MGNmODIwMGIzYWQ1NTE5YmY4ZjE3MmFmY2JmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHeWFuIFNyZWVqaXRoIDxneWFuLnNyZWVqaXRoQGdtYWlsLmNv bT4KRGF0ZTogVHVlLCAyNCBGZWIgMjAyNiAxODo0OToxOSAtMDUwMApTdWJqZWN0OiBbUEFUQ0gg djZdIEFkZCBhIG5ldyBhcmd1bWVudCAtbCA8bG9nZGlyPiB0byBwZ19jcmVhdGVzdWJzY3JpYmVy LgoKRW5hYmxpbmcgdGhlIG9wdGlvbiB0byB3cml0ZSBtZXNzYWdlcyB0byBsb2cgZmlsZXMgaW4g dGhlIHNwZWNpZmllZCBkaXJlY3RvcnkuCkEgbmV3IGRpcmVjdG9yeSBpcyBjcmVhdGVkIGlmIHJl cXVpcmVkLCBhbmQgdHdvIG5ldyBsb2dmaWxlcyAod2l0aCB0aW1lc3RhbXBzIGluIHRoZWlyIG5h bWVzKSBhcmUgYWRkZWQgdG8gdGhlIGRpcmVjdG9yeToKMS4gcGdfY3JlYXRlc3Vic2NyaWJlcl9z ZXJ2ZXJfdGltZXN0YW1wLmxvZyAgLSBjYXB0dXJlcyBtZXNzYWdlcyByZWxhdGVkIHRvIHN0YXJ0 aW5nIGFuZCBzdG9wcGluZyB0aGUgc3RhbmRieSBzZXJ2ZXIuCjIuIHBnX2NyZWF0ZXN1YnNjcmli ZXJfaW50ZXJuYWxfdGltZXN0YW1wLmxvZyAtIGNhcHR1cmVzIGludGVybmFsIGRpYWdub3N0aWMg b3V0cHV0IGZyb20gcGdfY3JlYXRlc3Vic2NyaWJlci4KCkZvciBleGFtcGxlLCBpZiB3ZSBzcGVj aWZ5IC1sIGFiYyBhcyBhbiBhcmd1bWVudCwgYW5kIGlmIHRoZSB0aW1lc3RhbXAgb24gcnVubmlu ZyBpdCBpcyAyMDI2LTAxLTE5LTIwLTQzLTE3LjIwNDI0MCwgYSBkaXJlY3RvcnkgYWJjIGlzIGNy ZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdCBhbHJlYWR5LCBhbmQgdGhlIGRpcmVjdG9yeSB3aWxs IGNvbnRhaW4gdGhlIHR3byBsb2cgZmlsZXMgcGdfY3JlYXRlc3Vic2NyaWJlcl9zZXJ2ZXJfMjAy Ni0wMS0xOS0yMC00My0xNy4yMDQyNDAubG9nIGFuZCBwZ19jcmVhdGVzdWJzY3JpYmVyX2ludGVy bmFsXzIwMjYtMDEtMTktMjAtNDMtMTcuMjA0MjQwLmxvZwotLS0KIGRvYy9zcmMvc2dtbC9yZWYv cGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sICAgICB8ICAyMiArKysKIHNyYy9iaW4vcGdfYmFzZWJh Y2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMgICB8IDE2MiArKysrKysrKysrKysrKysrKy0KIC4u Li90LzA0MF9wZ19jcmVhdGVzdWJzY3JpYmVyLnBsICAgICAgICAgICAgICB8ICAxMiArLQogMyBm aWxlcyBjaGFuZ2VkLCAxOTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX2NyZWF0ZXN1YnNjcmliZXIuc2dtbCBiL2RvYy9zcmMv c2dtbC9yZWYvcGdfY3JlYXRlc3Vic2NyaWJlci5zZ21sCmluZGV4IGNmNDVmZjM1NzNkLi44Y2I3 MDQwMzkzMSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVy LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9wZ19jcmVhdGVzdWJzY3JpYmVyLnNnbWwKQEAg LTEzNiw2ICsxMzYsMjggQEAgUG9zdGdyZVNRTCBkb2N1bWVudGF0aW9uCiAgICAgIDwvbGlzdGl0 ZW0+CiAgICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICA8dmFybGlzdGVudHJ5PgorICAgICA8dGVy bT48b3B0aW9uPi1sIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5kaXJlY3Rvcnk8L3Jl cGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KKyAgICAgPHRlcm0+PG9wdGlvbj4tLWxvZ2Rpcj08 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGlyZWN0b3J5PC9yZXBsYWNlYWJsZT48L29w dGlvbj48L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIFNwZWNp ZnkgdGhlIG5hbWUgb2YgdGhlIGxvZyBkaXJlY3RvcnkuIEEgbmV3IGRpcmVjdG9yeSBpcyBjcmVh dGVkIHdpdGggdGhpcyBuYW1lIGlmIGl0IGRvZXMgbm90IGV4aXN0LiBUaGUgZm9sbG93aW5nIHR3 byBsb2cgZmlsZXMgd2lsbCBiZSBjcmVhdGVkIHdpdGggYSB1bWFzayBvZiAwNzcgc28gdGhhdCBh Y2Nlc3MgaXMgZGlzYWxsb3dlZCB0byBvdGhlciB1c2VycyBieSBkZWZhdWx0LiBUaGUgdGltZXN0 YW1wIHRoYXQgaXMgYWRkZWQgdG8gdGhlIG5hbWUgd2lsbCBpbmRpY2F0ZSB0aGUgdGltZSBhdCB3 aGljaCBwZ19jcmVhdGVzdWJzY3JpYmVyIHdhcyBydW4uCisgICAgICAgPGl0ZW1pemVkbGlzdD4K KyAgICAgICAgPGxpc3RpdGVtPgorICAgICAgICAgPHBhcmE+CisgICAgICAgICAgcGdfY3JlYXRl c3Vic2NyaWJlcl9zZXJ2ZXJfdGltZXN0YW1wLmxvZyB3aGljaCBjYXB0dXJlcyBsb2dzIHJlbGF0 ZWQgdG8gc3RvcHBpbmcgYW5kIHN0YXJ0aW5nIHRoZSBzdGFuZGJ5IHNlcnZlciwKKyAgICAgICAg IDwvcGFyYT4KKyAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgPGxpc3RpdGVtPgorICAgICAg ICAgPHBhcmE+CisgICAgICAgICAgcGdfY3JlYXRlc3Vic2NyaWJlcl9pbnRlcm5hbF90aW1lc3Rh bXAubG9nIHdoaWNoIGNhcHR1cmVzIGludGVybmFsIGRpYWdub3N0aWMgb3V0cHV0ICh2YWxpZGF0 aW9ucywgY2hlY2tzLCBldGMuKQorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVt PgorICAgICAgIDwvaXRlbWl6ZWRsaXN0PgorICAgICAgPC9wYXJhPgorICAgICA8L2xpc3RpdGVt PgorICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgPHRlcm0+ PG9wdGlvbj4tbjwvb3B0aW9uPjwvdGVybT4KICAgICAgPHRlcm0+PG9wdGlvbj4tLWRyeS1ydW48 L29wdGlvbj48L3Rlcm0+CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfY3Jl YXRlc3Vic2NyaWJlci5jIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2NyZWF0ZXN1YnNjcmli ZXIuYwppbmRleCAyYmM4NDUwNWFhYi4uNTk4Y2IwN2ExYmYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfYmFzZWJhY2t1cC9wZ19jcmVhdGVzdWJzY3JpYmVyLmMKKysrIGIvc3JjL2Jpbi9wZ19iYXNl YmFja3VwL3BnX2NyZWF0ZXN1YnNjcmliZXIuYwpAQCAtNDksMTAgKzQ5LDQ4IEBACiAjZGVmaW5l IElOQ0xVREVEX0NPTkZfRklMRQkJCSJwZ19jcmVhdGVzdWJzY3JpYmVyLmNvbmYiCiAjZGVmaW5l IElOQ0xVREVEX0NPTkZfRklMRV9ESVNBQkxFRAlJTkNMVURFRF9DT05GX0ZJTEUgIi5kaXNhYmxl ZCIKIAorI2RlZmluZSBTRVJWRVJfTE9HX0ZJTEVfTkFNRSAicGdfY3JlYXRlc3Vic2NyaWJlcl9z ZXJ2ZXIiCisjZGVmaW5lIElOVEVSTkFMX0xPR19GSUxFX05BTUUgInBnX2NyZWF0ZXN1YnNjcmli ZXJfaW50ZXJuYWwiCisKKyN1bmRlZiBwZ19sb2dfaW5mbworI2RlZmluZSBwZ19sb2dfaW5mbygu Li4pIGRve1wKKwlpZiAoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRlcm5h bF9sb2dfZmlsZV93cml0ZShfX1ZBX0FSR1NfXyk7IFwKKwllbHNlIFwKKwkJcGdfbG9nX2dlbmVy aWMoUEdfTE9HX0lORk8sUEdfTE9HX1BSSU1BUlksX19WQV9BUkdTX18pO1wKK30gd2hpbGUoMCkK KworI3VuZGVmIHBnX2xvZ19pbmZvX2hpbnQKKyNkZWZpbmUgcGdfbG9nX2luZm9faGludCguLi4p IGRve1wKKwlpZiAoaW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRlcm5hbF9s b2dfZmlsZV93cml0ZShfX1ZBX0FSR1NfXyk7IFwKKwllbHNlIFwKKwkJcGdfbG9nX2dlbmVyaWMo UEdfTE9HX0lORk8sIFBHX0xPR19ISU5ULCBfX1ZBX0FSR1NfXyk7XAorfSB3aGlsZSgwKQorCisj dW5kZWYgcGdfbG9nX2RlYnVnCisjZGVmaW5lIHBnX2xvZ19kZWJ1ZyguLi4pIGRve1wKKwlpZiAo aW50ZXJuYWxfbG9nX2ZpbGVfZnAgIT0gTlVMTCkgXAorCQlpbnRlcm5hbF9sb2dfZmlsZV93cml0 ZShfX1ZBX0FSR1NfXyk7IFwKKwllbHNlIFwKKwkJaWYgKHVubGlrZWx5KF9fcGdfbG9nX2xldmVs IDw9IFBHX0xPR19ERUJVRykpIFwKKwkJCXBnX2xvZ19nZW5lcmljKFBHX0xPR19ERUJVRywgUEdf TE9HX1BSSU1BUlksIF9fVkFfQVJHU19fKTsgXAorfSB3aGlsZSgwKQorCisjdW5kZWYgcGdfZmF0 YWwKKyNkZWZpbmUgcGdfZmF0YWwoLi4uKSBkb3tcCisJaWYgKGludGVybmFsX2xvZ19maWxlX2Zw ICE9IE5VTEwpIFwKKwkJaW50ZXJuYWxfbG9nX2ZpbGVfd3JpdGUoX19WQV9BUkdTX18pOyBcCisJ cGdfbG9nX2dlbmVyaWMoUEdfTE9HX0VSUk9SLCBQR19MT0dfUFJJTUFSWSwgX19WQV9BUkdTX18p OyBcCisJZXhpdCgxKTsgXAorfSB3aGlsZSgwKQorCisKIC8qIENvbW1hbmQtbGluZSBvcHRpb25z ICovCiBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaWJlck9wdGlvbnMKIHsKIAljaGFyCSAgICpjb25maWdf ZmlsZTsJLyogY29uZmlndXJhdGlvbiBmaWxlICovCisJY2hhcgkgICAqbG9nX2RpcjsJCS8qIGxv ZyBkaXJlY3RvcnkgbmFtZSAqLwogCWNoYXIJICAgKnB1Yl9jb25uaW5mb19zdHI7CS8qIHB1Ymxp c2hlciBjb25uZWN0aW9uIHN0cmluZyAqLwogCWNoYXIJICAgKnNvY2tldF9kaXI7CQkvKiBkaXJl Y3RvcnkgZm9yIFVuaXgtZG9tYWluIHNvY2tldCwgaWYgYW55ICovCiAJY2hhcgkgICAqc3ViX3Bv cnQ7CQkvKiBzdWJzY3JpYmVyIHBvcnQgbnVtYmVyICovCkBAIC0xNDYsNiArMTg0LDkgQEAgc3Rh dGljIHZvaWQgZHJvcF9leGlzdGluZ19zdWJzY3JpcHRpb24oUEdjb25uICpjb25uLCBjb25zdCBj aGFyICpzdWJuYW1lLAogCQkJCQkJCQkJICAgY29uc3QgY2hhciAqZGJuYW1lKTsKIHN0YXRpYyB2 b2lkIGdldF9wdWJsaXNoZXJfZGF0YWJhc2VzKHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9u cyAqb3B0LAogCQkJCQkJCQkJYm9vbCBkYm5hbWVzcGVjaWZpZWQpOworc3RhdGljIHZvaWQKKwkJ CWludGVybmFsX2xvZ19maWxlX3dyaXRlKGNvbnN0IGNoYXIgKmZvcm1hdCwuLi4pIF9fYXR0cmli dXRlX18oKGZvcm1hdChwcmludGYsIDEsIDIpKSk7CisKIAogI2RlZmluZQlXQUlUX0lOVEVSVkFM CTEJCS8qIDEgc2Vjb25kICovCiAKQEAgLTE2Nyw2ICsyMDgsMTAgQEAgc3RhdGljIHBnX3Bybmdf c3RhdGUgcHJuZ19zdGF0ZTsKIHN0YXRpYyBjaGFyICpwZ19jdGxfcGF0aCA9IE5VTEw7CiBzdGF0 aWMgY2hhciAqcGdfcmVzZXR3YWxfcGF0aCA9IE5VTEw7CiAKK3N0YXRpYyBGSUxFICppbnRlcm5h bF9sb2dfZmlsZV9mcCA9IE5VTEw7CS8qIEZpbGUgcHRyIHRvIGxvZyBhbGwgbWVzc2FnZXMgdG8g Ki8KK3N0YXRpYyBjaGFyICpsb2dfdGltZXN0YW1wID0gTlVMTDsJLyogVGltZXN0YW1wIHRvIGJl IHVzZWQgaW4gYWxsIGxvZyBmaWxlCisJCQkJCQkJCQkgKiBuYW1lcyAqLworCiAvKiBzdGFuZGJ5 IC8gc3Vic2NyaWJlciBkYXRhIGRpcmVjdG9yeSAqLwogc3RhdGljIGNoYXIgKnN1YnNjcmliZXJf ZGlyID0gTlVMTDsKIApAQCAtMTc0LDYgKzIxOSw1MCBAQCBzdGF0aWMgYm9vbCByZWNvdmVyeV9l bmRlZCA9IGZhbHNlOwogc3RhdGljIGJvb2wgc3RhbmRieV9ydW5uaW5nID0gZmFsc2U7CiBzdGF0 aWMgYm9vbCByZWNvdmVyeV9wYXJhbXNfc2V0ID0gZmFsc2U7CiAKK3N0YXRpYyB2b2lkCitpbnRl cm5hbF9sb2dfZmlsZV93cml0ZShjb25zdCBjaGFyICpmb3JtYXQsLi4uKQoreworCWlmIChpbnRl cm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKQorCXsKKwkJdmFfbGlzdAkJYXJnczsKKworCQl2YV9z dGFydChhcmdzLCBmb3JtYXQpOworCQl2ZnByaW50ZihpbnRlcm5hbF9sb2dfZmlsZV9mcCwgZm9y bWF0LCBhcmdzKTsKKwkJZnByaW50ZihpbnRlcm5hbF9sb2dfZmlsZV9mcCwgIlxuIik7CisJCWZm bHVzaChpbnRlcm5hbF9sb2dfZmlsZV9mcCk7CisJCXZhX2VuZChhcmdzKTsKKwl9Cit9CisKKy8q CisgKiBPcGVuIGEgbmV3IGxvZ2ZpbGUgd2l0aCBwcm9wZXIgcGVybWlzc2lvbnMuCisgKiBGcm9t IHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc3lzbG9nZ2VyLmMKKyAqLworc3RhdGljIEZJTEUgKgor bG9nZmlsZV9vcGVuKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICptb2RlKQorewor CUZJTEUJICAgKmZoOworCW1vZGVfdAkJb3VtYXNrOworCisJb3VtYXNrID0gdW1hc2soKG1vZGVf dCkgKCh+KFNfSVJVU1IgfCBTX0lXVVNSKSkgJiAoU19JUldYVSB8IFNfSVJXWEcgfCBTX0lSV1hP KSkpOworCWZoID0gZm9wZW4oZmlsZW5hbWUsIG1vZGUpOworCXVtYXNrKG91bWFzayk7CisKKwlp ZiAoZmgpCisJeworCQlzZXR2YnVmKGZoLCBOVUxMLCBQR19JT0xCRiwgMCk7CisKKyNpZmRlZiBX SU4zMgorCQkvKiB1c2UgQ1JMRiBsaW5lIGVuZGluZ3Mgb24gV2luZG93cyAqLworCQlfc2V0bW9k ZShfZmlsZW5vKGZoKSwgX09fVEVYVCk7CisjZW5kaWYKKwl9CisJZWxzZQorCQlwZ19mYXRhbCgi Y291bGQgbm90IG9wZW4gbG9nIGZpbGUgXCIlc1wiOiAlbSIsCisJCQkJIGZpbGVuYW1lKTsKKwor CXJldHVybiBmaDsKK30KIAogLyoKICAqIENsZWFuIHVwIG9iamVjdHMgY3JlYXRlZCBieSBwZ19j cmVhdGVzdWJzY3JpYmVyLgpAQCAtMjY5LDYgKzM1OCwxMiBAQCBjbGVhbnVwX29iamVjdHNfYXRl eGl0KHZvaWQpCiAKIAlpZiAoc3RhbmRieV9ydW5uaW5nKQogCQlzdG9wX3N0YW5kYnlfc2VydmVy KHN1YnNjcmliZXJfZGlyKTsKKworCWlmIChpbnRlcm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKQor CXsKKwkJZmNsb3NlKGludGVybmFsX2xvZ19maWxlX2ZwKTsKKwkJaW50ZXJuYWxfbG9nX2ZpbGVf ZnAgPSBOVUxMOworCX0KIH0KIAogc3RhdGljIHZvaWQKQEAgLTI4Myw2ICszNzgsNyBAQCB1c2Fn ZSh2b2lkKQogCQkJICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2Vz IGFuZCBkYXRhYmFzZXMgdGhhdCBkb24ndCBhbGxvdyBjb25uZWN0aW9uc1xuIikpOwogCXByaW50 ZihfKCIgIC1kLCAtLWRhdGFiYXNlPURCTkFNRSAgICAgICAgICAgZGF0YWJhc2UgaW4gd2hpY2gg dG8gY3JlYXRlIGEgc3Vic2NyaXB0aW9uXG4iKSk7CiAJcHJpbnRmKF8oIiAgLUQsIC0tcGdkYXRh PURBVEFESVIgICAgICAgICAgICBsb2NhdGlvbiBmb3IgdGhlIHN1YnNjcmliZXIgZGF0YSBkaXJl Y3RvcnlcbiIpKTsKKwlwcmludGYoXygiICAtbCwgLS1sb2dkaXI9TE9HRElSICAgICAgICAgICAg IGxvY2F0aW9uIGZvciB0aGUgbmV3IGxvZyBkaXJlY3RvcnlcbiIpKTsKIAlwcmludGYoXygiICAt biwgLS1kcnktcnVuICAgICAgICAgICAgICAgICAgIGRyeSBydW4sIGp1c3Qgc2hvdyB3aGF0IHdv dWxkIGJlIGRvbmVcbiIpKTsKIAlwcmludGYoXygiICAtcCwgLS1zdWJzY3JpYmVyLXBvcnQ9UE9S VCAgICAgIHN1YnNjcmliZXIgcG9ydCBudW1iZXIgKGRlZmF1bHQgJXMpXG4iKSwgREVGQVVMVF9T VUJfUE9SVCk7CiAJcHJpbnRmKF8oIiAgLVAsIC0tcHVibGlzaGVyLXNlcnZlcj1DT05OU1RSICBw dWJsaXNoZXIgY29ubmVjdGlvbiBzdHJpbmdcbiIpKTsKQEAgLTcwMiw2ICs3OTgsNyBAQCBtb2Rp Znlfc3Vic2NyaWJlcl9zeXNpZChjb25zdCBzdHJ1Y3QgQ3JlYXRlU3Vic2NyaWJlck9wdGlvbnMg Km9wdCkKIAlib29sCQljcmNfb2s7CiAJc3RydWN0IHRpbWV2YWwgdHY7CiAKKwljaGFyCSAgICpv dXRfZmlsZTsKIAljaGFyCSAgICpjbWRfc3RyOwogCiAJcGdfbG9nX2luZm8oIm1vZGlmeWluZyBz eXN0ZW0gaWRlbnRpZmllciBvZiBzdWJzY3JpYmVyIik7CkBAIC03MTMsNyArODEwLDcgQEAgbW9k aWZ5X3N1YnNjcmliZXJfc3lzaWQoY29uc3Qgc3RydWN0IENyZWF0ZVN1YnNjcmliZXJPcHRpb25z ICpvcHQpCiAJLyoKIAkgKiBTZWxlY3QgYSBuZXcgc3lzdGVtIGlkZW50aWZpZXIuCiAJICoKLQkg KiBYWFggdGhpcyBjb2RlIHdhcyBleHRyYWN0ZWQgZnJvbSBCb290U3RyYXBYTE9HKCkuCisJICog WFhYIHRoaXMgY29kZSB3YXMgZXh0cmFjdGVkIGZyb20gQm9vdFN0cmFwWHBnX2xvZ19pbmZvKCku CiAJICovCiAJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CiAJY2YtPnN5c3RlbV9pZGVudGlmaWVy ID0gKCh1aW50NjQpIHR2LnR2X3NlYykgPDwgMzI7CkBAIC03MzUsOCArODMyLDE0IEBAIG1vZGlm eV9zdWJzY3JpYmVyX3N5c2lkKGNvbnN0IHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9ucyAq b3B0KQogCWVsc2UKIAkJcGdfbG9nX2luZm8oInJ1bm5pbmcgcGdfcmVzZXR3YWwgb24gdGhlIHN1 YnNjcmliZXIiKTsKIAotCWNtZF9zdHIgPSBwc3ByaW50ZigiXCIlc1wiIC1EIFwiJXNcIiA+IFwi JXNcIiIsIHBnX3Jlc2V0d2FsX3BhdGgsCi0JCQkJCSAgIHN1YnNjcmliZXJfZGlyLCBERVZOVUxM KTsKKworCWlmIChvcHQtPmxvZ19kaXIgIT0gTlVMTCkKKwkJb3V0X2ZpbGUgPSBwc3ByaW50Zigi JXMvJXNfJXMubG9nIiwgb3B0LT5sb2dfZGlyLCBTRVJWRVJfTE9HX0ZJTEVfTkFNRSwgbG9nX3Rp bWVzdGFtcCk7CisJZWxzZQorCQlvdXRfZmlsZSA9IERFVk5VTEw7CisKKwljbWRfc3RyID0gcHNw cmludGYoIlwiJXNcIiAtRCBcIiVzXCIgPj4gXCIlc1wiIiwgcGdfcmVzZXR3YWxfcGF0aCwKKwkJ CQkJICAgc3Vic2NyaWJlcl9kaXIsIG91dF9maWxlKTsKIAogCXBnX2xvZ19kZWJ1ZygicGdfcmVz ZXR3YWwgY29tbWFuZCBpczogJXMiLCBjbWRfc3RyKTsKIApAQCAtMTY1MCw2ICsxNzUzLDExIEBA IHN0YXJ0X3N0YW5kYnlfc2VydmVyKGNvbnN0IHN0cnVjdCBDcmVhdGVTdWJzY3JpYmVyT3B0aW9u cyAqb3B0LCBib29sIHJlc3RyaWN0ZWRfCiAJaWYgKHJlc3RyaWN0X2xvZ2ljYWxfd29ya2VyKQog CQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihwZ19jdGxfY21kLCAiIC1vIFwiLWMgbWF4X2xvZ2ljYWxf cmVwbGljYXRpb25fd29ya2Vycz0wXCIiKTsKIAorCWlmIChvcHQtPmxvZ19kaXIgIT0gTlVMTCkK Kwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKHBnX2N0bF9jbWQsICIgLWwgJXMvJXNfJXMubG9nIiwg b3B0LT5sb2dfZGlyLCBTRVJWRVJfTE9HX0ZJTEVfTkFNRSwgbG9nX3RpbWVzdGFtcCk7CisJfQor CiAJcGdfbG9nX2RlYnVnKCJwZ19jdGwgY29tbWFuZCBpczogJXMiLCBwZ19jdGxfY21kLT5kYXRh KTsKIAlyYyA9IHN5c3RlbShwZ19jdGxfY21kLT5kYXRhKTsKIAlwZ19jdGxfc3RhdHVzKHBnX2N0 bF9jbWQtPmRhdGEsIHJjKTsKQEAgLTIxODEsNiArMjI4OSw3IEBAIG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQogCQl7ImFsbCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYSd9LAogCQl7ImRhdGFi YXNlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdkJ30sCiAJCXsicGdkYXRhIiwgcmVxdWly ZWRfYXJndW1lbnQsIE5VTEwsICdEJ30sCisJCXsibG9nZGlyIiwgcmVxdWlyZWRfYXJndW1lbnQs IE5VTEwsICdsJ30sCiAJCXsiZHJ5LXJ1biIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbid9LAogCQl7 InN1YnNjcmliZXItcG9ydCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCd9LAogCQl7InB1 Ymxpc2hlci1zZXJ2ZXIiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1AnfSwKQEAgLTIyMTUs NiArMjMyNCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCWNoYXIJICAgKmNvbnNp c3RlbnRfbHNuOwogCiAJY2hhcgkJcGlkZmlsZVtNQVhQR1BBVEhdOworCWNoYXIJICAgKmludGVy bmFsX2xvZ19maWxlOwogCiAJcGdfbG9nZ2luZ19pbml0KGFyZ3ZbMF0pOwogCXBnX2xvZ2dpbmdf c2V0X2xldmVsKFBHX0xPR19XQVJOSU5HKTsKQEAgLTIyMzksNiArMjM0OSw3IEBAIG1haW4oaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogCS8qIERlZmF1bHQgc2V0dGluZ3MgKi8KIAlzdWJzY3JpYmVy X2RpciA9IE5VTEw7CiAJb3B0LmNvbmZpZ19maWxlID0gTlVMTDsKKwlvcHQubG9nX2RpciA9IE5V TEw7CiAJb3B0LnB1Yl9jb25uaW5mb19zdHIgPSBOVUxMOwogCW9wdC5zb2NrZXRfZGlyID0gTlVM TDsKIAlvcHQuc3ViX3BvcnQgPSBERUZBVUxUX1NVQl9QT1JUOwpAQCAtMjI2Nyw3ICsyMzc4LDcg QEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAKIAlnZXRfcmVzdHJpY3RlZF90b2tlbigp OwogCi0Jd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFkOkQ6bnA6UDpzOnQ6 VFU6diIsCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFkOkQ6bDpucDpQ OnM6dDpUVTp2IiwKIAkJCQkJCQlsb25nX29wdGlvbnMsICZvcHRpb25faW5kZXgpKSAhPSAtMSkK IAl7CiAJCXN3aXRjaCAoYykKQEAgLTIyODgsNiArMjM5OSw0NiBAQCBtYWluKGludCBhcmdjLCBj aGFyICoqYXJndikKIAkJCQlzdWJzY3JpYmVyX2RpciA9IHBnX3N0cmR1cChvcHRhcmcpOwogCQkJ CWNhbm9uaWNhbGl6ZV9wYXRoKHN1YnNjcmliZXJfZGlyKTsKIAkJCQlicmVhazsKKwkJCWNhc2Ug J2wnOgorCQkJCXsKKwkJCQkJY2hhcgkJdGltZXN0YW1wWzEyOF07CisJCQkJCXN0cnVjdCB0aW1l dmFsIHR2YWw7CisJCQkJCXRpbWVfdAkJbm93OworCQkJCQlzdHJ1Y3QgdG0JdG1idWY7CisKKwkJ CQkJZ2V0dGltZW9mZGF5KCZ0dmFsLCBOVUxMKTsKKwkJCQkJbm93ID0gdHZhbC50dl9zZWM7CisJ CQkJCXN0cmZ0aW1lKHRpbWVzdGFtcCwgc2l6ZW9mKHRpbWVzdGFtcCksICIlWS0lbS0lZC0lSC0l TS0lUyIsIGxvY2FsdGltZV9yKCZub3csICZ0bWJ1ZikpOworCQkJCQkvKiBhcHBlbmQgbWljcm9z ZWNvbmRzICovCisJCQkJCXNucHJpbnRmKHRpbWVzdGFtcCArIHN0cmxlbih0aW1lc3RhbXApLCBz aXplb2YodGltZXN0YW1wKSAtIHN0cmxlbih0aW1lc3RhbXApLAorCQkJCQkJCSAiLiUwNnUiLCAo dW5zaWduZWQgaW50KSAodHZhbC50dl91c2VjKSk7CisJCQkJCWxvZ190aW1lc3RhbXAgPSBwZ19z dHJkdXAodGltZXN0YW1wKTsKKworCQkJCQlvcHQubG9nX2RpciA9IHBnX3N0cmR1cChvcHRhcmcp OworCQkJCQljYW5vbmljYWxpemVfcGF0aChvcHQubG9nX2Rpcik7CisKKwkJCQkJaWYgKHN0YXQo b3B0LmxvZ19kaXIsICZzdGF0YnVmKSAhPSAwKQorCQkJCQl7CisJCQkJCQlpZiAoZXJybm8gPT0g RU5PRU5UKQorCQkJCQkJeworCQkJCQkJCWlmIChta2RpcihvcHQubG9nX2RpciwgU19JUldYVSkg PT0gMCkKKwkJCQkJCQkJcGdfbG9nX2luZm8oImxvZyBkaXJlY3RvcnkgY3JlYXRlZCIpOworCQkJ CQkJCWVsc2UgaWYgKGVycm5vID09IEVBQ0NFUykKKwkJCQkJCQkJcGdfZmF0YWwoInBlcm1pc3Np b24gZGVuaWVkIHRyeWluZyB0byBjcmVhdGUgbG9nIGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgb3B0 LmxvZ19kaXIpOworCQkJCQkJCWVsc2UKKwkJCQkJCQkJcGdfZmF0YWwoImNvdWxkIG5vdCBjcmVh dGUgbG9nIGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgb3B0LmxvZ19kaXIpOworCQkJCQkJfQorCQkJ CQkJZWxzZSBpZiAoZXJybm8gPT0gRUFDQ0VTKQorCQkJCQkJCXBnX2ZhdGFsKCJwZXJtaXNzaW9u IGRlbmllZCB0cnlpbmcgdG8gYWNjZXNzIGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgb3B0LmxvZ19k aXIpOworCQkJCQkJZWxzZQorCQkJCQkJCXBnX2ZhdGFsKCJjb3VsZCBub3QgYWNjZXNzIGRpcmVj dG9yeSBcIiVzXCI6ICVtIiwgb3B0LmxvZ19kaXIpOworCQkJCQl9CisJCQkJCWludGVybmFsX2xv Z19maWxlID0gcHNwcmludGYoIiVzLyVzXyVzLmxvZyIsIG9wdC5sb2dfZGlyLCBJTlRFUk5BTF9M T0dfRklMRV9OQU1FLCBsb2dfdGltZXN0YW1wKTsKKwkJCQkJaWYgKChpbnRlcm5hbF9sb2dfZmls ZV9mcCA9IGxvZ2ZpbGVfb3BlbihpbnRlcm5hbF9sb2dfZmlsZSwgImEiKSkgPT0gTlVMTCkKKwkJ CQkJCXBnX2ZhdGFsKCJjb3VsZCBub3Qgb3BlbiBsb2cgZmlsZSBcIiVzXCI6ICVtIiwgaW50ZXJu YWxfbG9nX2ZpbGUpOworCisJCQkJCWJyZWFrOworCQkJCX0KIAkJCWNhc2UgJ24nOgogCQkJCWRy eV9ydW4gPSB0cnVlOwogCQkJCWJyZWFrOwpAQCAtMjYyMSw1ICsyNzcyLDggQEAgbWFpbihpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAKIAlwZ19sb2dfaW5mbygiRG9uZSEiKTsKIAorCWlmIChpbnRl cm5hbF9sb2dfZmlsZV9mcCAhPSBOVUxMKQorCQlmY2xvc2UoaW50ZXJuYWxfbG9nX2ZpbGVfZnAp OworCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvdC8w NDBfcGdfY3JlYXRlc3Vic2NyaWJlci5wbCBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC90LzA0MF9w Z19jcmVhdGVzdWJzY3JpYmVyLnBsCmluZGV4IDBjMjdmY2E3YmI3Li5hZDFhNmQyNjQyMiAxMDA2 NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1YnNjcmliZXIu cGwKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3QvMDQwX3BnX2NyZWF0ZXN1YnNjcmliZXIu cGwKQEAgLTEzLDcgKzEzLDggQEAgcHJvZ3JhbV9oZWxwX29rKCdwZ19jcmVhdGVzdWJzY3JpYmVy Jyk7CiBwcm9ncmFtX3ZlcnNpb25fb2soJ3BnX2NyZWF0ZXN1YnNjcmliZXInKTsKIHByb2dyYW1f b3B0aW9uc19oYW5kbGluZ19vaygncGdfY3JlYXRlc3Vic2NyaWJlcicpOwogCi1teSAkZGF0YWRp ciA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0ZW1wZGlyOworbXkgJGRhdGFkaXIgPSBQb3N0 Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGVtcGRpciArICIvZGF0YWRpciI7CitteSAkbG9nZGlyID0g UG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRlbXBkaXIgKyAiL2xvZ2RpciI7CiAKICMgR2VuZXJh dGUgYSBkYXRhYmFzZSB3aXRoIGEgbmFtZSBtYWRlIG9mIGEgcmFuZ2Ugb2YgQVNDSUkgY2hhcmFj dGVycy4KICMgRXh0cmFjdGVkIGZyb20gMDAyX3BnX3VwZ3JhZGUucGwuCkBAIC0zNjIsOSArMzYz LDE4IEBAIGNvbW1hbmRfb2soCiAJCSctLXN1YnNjcmlwdGlvbicgPT4gJ3N1YjInLAogCQknLS1k YXRhYmFzZScgPT4gJGRiMSwKIAkJJy0tZGF0YWJhc2UnID0+ICRkYjIsCisJCSctLWxvZ2Rpcicg PT4gJGxvZ2RpciwKIAldLAogCSdydW4gcGdfY3JlYXRlc3Vic2NyaWJlciAtLWRyeS1ydW4gb24g bm9kZSBTJyk7CiAKKyMgQ2hlY2sgdGhhdCB0aGUgbG9nIGZpbGVzIHdlcmUgY3JlYXRlZAorbXkg QHNlcnZlcl9sb2dfZmlsZXMgPSBnbG9iICIkbG9nZGlyL3BnX2NyZWF0ZXN1YnNjcmliZXJfc2Vy dmVyXyoubG9nIjsKK2lzKCBzY2FsYXIoQHNlcnZlcl9sb2dfZmlsZXMpLCAxLCAiCisgICAgcGdf Y3JlYXRlc3Vic2NyaWJlcl9zZXJ2ZXIubG9nIGZpbGUgd2FzIGNyZWF0ZWQiKTsKK215IEBpbnRl cm5hbF9sb2dfZmlsZXMgPSBnbG9iICIkbG9nZGlyL3BnX2NyZWF0ZXN1YnNjcmliZXJfaW50ZXJu YWxfKi5sb2ciOworaXMoIHNjYWxhcihAaW50ZXJuYWxfbG9nX2ZpbGVzKSwgMSwgIgorICAgIHBn X2NyZWF0ZXN1YnNjcmliZXJfaW50ZXJuYWwubG9nIGZpbGUgd2FzIGNyZWF0ZWQiKTsKKwogIyBD aGVjayBpZiBub2RlIFMgaXMgc3RpbGwgYSBzdGFuZGJ5CiAkbm9kZV9zLT5zdGFydDsKIGlzKCRu b2RlX3MtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAnU0VMRUNUIHBnX2NhdGFsb2cucGdfaXNfaW5f cmVjb3ZlcnkoKScpLAotLSAKMi40My4wCgo= --0000000000009466be064b9a9e3f--