Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1praJS-0003Lv-LB for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Apr 2023 08:15:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1praJR-0003nD-Gp for pgsql-hackers@arkaria.postgresql.org; Wed, 26 Apr 2023 08:15:41 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1praJQ-0003n4-TH for pgsql-hackers@lists.postgresql.org; Wed, 26 Apr 2023 08:15:41 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1praJN-001xXu-W6 for pgsql-hackers@lists.postgresql.org; Wed, 26 Apr 2023 08:15:39 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-3f196e8e2c6so49531655e9.1 for ; Wed, 26 Apr 2023 01:15:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682496936; x=1685088936; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=QqhvD8Xs5wrnvOrgTGxY7Qsn4Zg+VIyLn8pkYuSIQo8=; b=F2xISPr1zrHVqzoOs4hEKO7SHmvY3EoUYwNzLaG1Asl3wcaJAdU5su9tpBL22sYSSV sVJIFWxmUfmigRgZ6TRUBHgWdZ+RVO0ELMTYaZfhsXhRFY29TgkrywoRzMiaPdYzeHM3 XelBVM30Wvbcx+dzz3OI6Df4t6vT3cVDAVJXzsR3QPA8CMnZSX5cM6eEq+a8yrUyABWK mb3NMo2Z+4yDzuiKbU1oh6zIcWwwSh7WBKZmIoVd1UPN2zwP/u7v37dUFXdPuybMvwU8 kq0ttYaTNp9IWa6AcSVyzMumBe4Mbna+GhjZ7xb/aHruhsqZ1Sq+za9dYzVcr5VY1kIA aAkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682496936; x=1685088936; h=in-reply-to:from:content-language:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=QqhvD8Xs5wrnvOrgTGxY7Qsn4Zg+VIyLn8pkYuSIQo8=; b=btA+Nk2gD3wHvQCK8hUKjxLfNtCBP8OKFOZ9PTFmWHsfOi9xepDEaX3LH/9RUygaXr VdW+8JQAv9yZs8GI7dKzRWQMWB4ICkgF87u3+IHw5odJTl5cNWUYErdHrqlmN4aQOLPi +ReMEKKB+TxH9WLJJcPa+jt9aOJeq6B64wMLoGXeFYa1IN6Vq/ie/MAQDlN/AFpC3ALU l7qiHcCD6cToQeBPE7JeUO9N/Vxb4996cw+fL/0/c4Itdh45KxG/L0clJ4L4mOcNcjsr GohBZZl4SX2oV2NgVht4v+xqtciAqJApUGkr5Yi6QxmlfgkHMT+tQEIzfsSozzMFbDD5 1utQ== X-Gm-Message-State: AAQBX9crdnVXKqMOdAiCo4xvzCdhuHCWu7ZiEwXIHK0aMNB1+PpFgiuw EAh4s46NzdTVLTZX+nVH3lU= X-Google-Smtp-Source: AKy350ZlMtwhuKIdaPIrcK7f4KapDevr0WA2NzIhZ8aQ8pTE3WwLR/EaCJh41fEtM8y/S3+RmEo4bQ== X-Received: by 2002:a1c:7408:0:b0:3f1:71ca:e6d5 with SMTP id p8-20020a1c7408000000b003f171cae6d5mr12369316wmc.9.1682496936396; Wed, 26 Apr 2023 01:15:36 -0700 (PDT) Received: from [192.168.27.131] ([54.239.6.186]) by smtp.gmail.com with ESMTPSA id q10-20020a05600c46ca00b003f1957ace1fsm13275146wmo.13.2023.04.26.01.15.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 26 Apr 2023 01:15:35 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------RX204XYIY48UrVwRZ4Va0u3E" Message-ID: <4ec4a071-8f0a-5536-58d5-cb815ef0905f@gmail.com> Date: Wed, 26 Apr 2023 10:14:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 Subject: Re: Add two missing tests in 035_standby_logical_decoding.pl To: vignesh C Cc: Amit Kapila , PostgreSQL Hackers References: <2fefa454-5a70-2174-ddbf-4a0e41537139@gmail.com> <9ab1827c-9a57-8c48-59b2-c5fb62c21be3@gmail.com> <8679d9c4-961b-b77f-baa7-718e58f953ff@gmail.com> Content-Language: en-US From: "Drouvot, Bertrand" In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------RX204XYIY48UrVwRZ4Va0u3E Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, On 4/26/23 6:06 AM, vignesh C wrote: > On Tue, 25 Apr 2023 at 12:51, Drouvot, Bertrand > wrote: > Thanks for the updated patch. > Few comments: Thanks for looking at it! > 1) subscriber_stdout and subscriber_stderr are not required for this > test case, we could remove it, I was able to remove those variables > and run the test successfully: > +$node_subscriber->start; > + > +my %psql_subscriber = ( > + 'subscriber_stdin' => '', > + 'subscriber_stdout' => '', > + 'subscriber_stderr' => ''); > +$psql_subscriber{run} = IPC::Run::start( > + [ 'psql', '-XA', '-f', '-', '-d', > $node_subscriber->connstr('postgres') ], > + '<', > + \$psql_subscriber{subscriber_stdin}, > + '>', > + \$psql_subscriber{subscriber_stdout}, > + '2>', > + \$psql_subscriber{subscriber_stderr}, > + $psql_timeout); > > I ran it like: > my %psql_subscriber = ( > 'subscriber_stdin' => ''); > $psql_subscriber{run} = IPC::Run::start( > [ 'psql', '-XA', '-f', '-', '-d', $node_subscriber->connstr('postgres') ], > '<', > \$psql_subscriber{subscriber_stdin}, > $psql_timeout); > Not using the 3 std* is also the case for example in 021_row_visibility.pl and 032_relfilenode_reuse.pl where the "stderr" is set but does not seem to be used. I don't think that's a problem to keep them all and I think it's better to have them re-directed to dedicated places. > 2) Also we have changed the default timeout here, why is this change required: > my $node_cascading_standby = > PostgreSQL::Test::Cluster->new('cascading_standby'); > +my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber'); > my $default_timeout = $PostgreSQL::Test::Utils::timeout_default; > +my $psql_timeout = IPC::Run::timer(2 * $default_timeout); I think I used 021_row_visibility.pl as an example. But agree there is others .pl that are using the timeout_default as the psql_timeout and that the default is enough in our case. So, using the default in V5 attached. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------RX204XYIY48UrVwRZ4Va0u3E Content-Type: text/plain; charset=UTF-8; name="v5-0001-Add-subscribtion-to-the-standby-test-in-035_stand.patch" Content-Disposition: attachment; filename*0="v5-0001-Add-subscribtion-to-the-standby-test-in-035_stand.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA3ZDA2YmExNGNjZTM3MmI2MGU4NTliMjI3NDkzM2I3YzFhMjViMjZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJ0cmFuZCBEcm91dm90IDxiZXJ0cmFuZGRyb3V2 b3QucGdAZ21haWwuY29tPgpEYXRlOiBNb24sIDI0IEFwciAyMDIzIDA1OjEzOjIzICswMDAw ClN1YmplY3Q6IFtQQVRDSCB2NV0gQWRkIHN1YnNjcmlidGlvbiB0byB0aGUgc3RhbmRieSB0 ZXN0IGluCiAwMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCgpBZGRpbmcgb25lIHRl c3QsIHRvIHZlcmlmeSB0aGF0IHN1YnNjcmlidGlvbiB0byB0aGUgc3RhbmRieSBpcyBwb3Nz aWJsZS4KLS0tCiBzcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtICAg ICAgfCAxMSArKy0KIC4uLi90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwgICAg ICAgICB8IDkxICsrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgOTkgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKICAgNy41JSBzcmMvdGVzdC9wZXJsL1Bvc3Rn cmVTUUwvVGVzdC8KICA5Mi40JSBzcmMvdGVzdC9yZWNvdmVyeS90LwoKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0gYi9zcmMvdGVzdC9w ZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtCmluZGV4IDZmN2Y0ZTVkZTQuLjgxOTY2 N2Q0MmEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0 ZXIucG0KKysrIGIvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQpA QCAtMjY0NCw3ICsyNjQ0LDE2IEBAIHN1YiB3YWl0X2Zvcl9jYXRjaHVwCiAJfQogCWlmICgh ZGVmaW5lZCgkdGFyZ2V0X2xzbikpCiAJewotCQkkdGFyZ2V0X2xzbiA9ICRzZWxmLT5sc24o J3dyaXRlJyk7CisJCW15ICRpc3JlY292ZXJ5ID0gJHNlbGYtPnNhZmVfcHNxbCgncG9zdGdy ZXMnLCAiU0VMRUNUIHBnX2lzX2luX3JlY292ZXJ5KCkiKTsKKwkJY2hvbXAoJGlzcmVjb3Zl cnkpOworCQlpZiAoJGlzcmVjb3ZlcnkgZXEgJ3QnKQorCQl7CisJCQkkdGFyZ2V0X2xzbiA9 ICRzZWxmLT5sc24oJ3JlcGxheScpOworCQl9CisJCWVsc2UKKwkJeworCQkJJHRhcmdldF9s c24gPSAkc2VsZi0+bHNuKCd3cml0ZScpOworCQl9CiAJfQogCXByaW50ICJXYWl0aW5nIGZv ciByZXBsaWNhdGlvbiBjb25uICIKIAkgIC4gJHN0YW5kYnlfbmFtZSAuICIncyAiCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2Rp bmcucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2Rp bmcucGwKaW5kZXggYjhmNTMxMWZlOS4uZjZkNjQ0NzQxMiAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVjb3ZlcnkvdC8wMzVfc3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCisrKyBiL3Ny Yy90ZXN0L3JlY292ZXJ5L3QvMDM1X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbApAQCAt MTAsMTIgKzEwLDE3IEBAIHVzZSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyOwogdXNlIFBv c3RncmVTUUw6OlRlc3Q6OlV0aWxzOwogdXNlIFRlc3Q6Ok1vcmU7CiAKLW15ICgkc3RkaW4s ICRzdGRvdXQsICRzdGRlcnIsICRjYXNjYWRpbmdfc3Rkb3V0LCAkY2FzY2FkaW5nX3N0ZGVy ciwgJHJldCwgJGhhbmRsZSwgJHNsb3QpOworbXkgKCRzdGRpbiwgICAgICAgICAgICAgJHN0 ZG91dCwgICAgICAgICAgICAkc3RkZXJyLAorCSRjYXNjYWRpbmdfc3Rkb3V0LCAgJGNhc2Nh ZGluZ19zdGRlcnIsICAkc3Vic2NyaWJlcl9zdGRpbiwKKwkkc3Vic2NyaWJlcl9zdGRvdXQs ICRzdWJzY3JpYmVyX3N0ZGVyciwgJHJldCwKKwkkaGFuZGxlLCAgICAgICAgICAgICRzbG90 KTsKIAogbXkgJG5vZGVfcHJpbWFyeSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5l dygncHJpbWFyeScpOwogbXkgJG5vZGVfc3RhbmRieSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNs dXN0ZXItPm5ldygnc3RhbmRieScpOwogbXkgJG5vZGVfY2FzY2FkaW5nX3N0YW5kYnkgPSBQ b3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ2Nhc2NhZGluZ19zdGFuZGJ5Jyk7Citt eSAkbm9kZV9zdWJzY3JpYmVyID0gUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3Rlci0+bmV3KCdz dWJzY3JpYmVyJyk7CiBteSAkZGVmYXVsdF90aW1lb3V0ID0gJFBvc3RncmVTUUw6OlRlc3Q6 OlV0aWxzOjp0aW1lb3V0X2RlZmF1bHQ7CitteSAkcHNxbF90aW1lb3V0ICAgID0gSVBDOjpS dW46OnRpbWVyKCRkZWZhdWx0X3RpbWVvdXQpOwogbXkgJHJlczsKIAogIyBOYW1lIGZvciB0 aGUgcGh5c2ljYWwgc2xvdCBvbiBwcmltYXJ5CkBAIC0yNjcsNyArMjcyLDggQEAgJG5vZGVf c3RhbmRieS0+aW5pdF9mcm9tX2JhY2t1cCgKIAloYXNfc3RyZWFtaW5nID0+IDEsCiAJaGFz X3Jlc3RvcmluZyA9PiAxKTsKICRub2RlX3N0YW5kYnktPmFwcGVuZF9jb25mKCdwb3N0Z3Jl c3FsLmNvbmYnLAotCXFxW3ByaW1hcnlfc2xvdF9uYW1lID0gJyRwcmltYXJ5X3Nsb3RuYW1l J10pOworCXFxW3ByaW1hcnlfc2xvdF9uYW1lID0gJyRwcmltYXJ5X3Nsb3RuYW1lJworICAg ICAgIG1heF9yZXBsaWNhdGlvbl9zbG90cyA9IDVdKTsKICRub2RlX3N0YW5kYnktPnN0YXJ0 OwogJG5vZGVfcHJpbWFyeS0+d2FpdF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRi eSk7CiAkbm9kZV9zdGFuZGJ5LT5zYWZlX3BzcWwoJ3Rlc3RkYicsIHFxW1NFTEVDVCAqIEZS T00gcGdfY3JlYXRlX3BoeXNpY2FsX3JlcGxpY2F0aW9uX3Nsb3QoJyRzdGFuZGJ5X3BoeXNp Y2FsX3Nsb3RuYW1lJyk7XSk7CkBAIC0yODUsNiArMjkxLDI2IEBAICRub2RlX2Nhc2NhZGlu Z19zdGFuZGJ5LT5hcHBlbmRfY29uZigncG9zdGdyZXNxbC5jb25mJywKICRub2RlX2Nhc2Nh ZGluZ19zdGFuZGJ5LT5zdGFydDsKICRub2RlX3N0YW5kYnktPndhaXRfZm9yX3JlcGxheV9j YXRjaHVwKCRub2RlX2Nhc2NhZGluZ19zdGFuZGJ5LCAkbm9kZV9wcmltYXJ5KTsKIAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgSW5pdGlhbGl6ZSBzdWJzY3JpYmVyIG5vZGUKKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskbm9kZV9zdWJzY3JpYmVyLT5pbml0KGFsbG93c19z dHJlYW1pbmcgPT4gJ2xvZ2ljYWwnKTsKKyRub2RlX3N1YnNjcmliZXItPnN0YXJ0OworCitt eSAlcHNxbF9zdWJzY3JpYmVyID0gKAorCSdzdWJzY3JpYmVyX3N0ZGluJyAgPT4gJycsCisJ J3N1YnNjcmliZXJfc3Rkb3V0JyA9PiAnJywKKwknc3Vic2NyaWJlcl9zdGRlcnInID0+ICcn KTsKKyRwc3FsX3N1YnNjcmliZXJ7cnVufSA9IElQQzo6UnVuOjpzdGFydCgKKwlbICdwc3Fs JywgJy1YQScsICctZicsICctJywgJy1kJywgJG5vZGVfc3Vic2NyaWJlci0+Y29ubnN0cign cG9zdGdyZXMnKSBdLAorCSc8JywKKwlcJHBzcWxfc3Vic2NyaWJlcntzdWJzY3JpYmVyX3N0 ZGlufSwKKwknPicsCisJXCRwc3FsX3N1YnNjcmliZXJ7c3Vic2NyaWJlcl9zdGRvdXR9LAor CScyPicsCisJXCRwc3FsX3N1YnNjcmliZXJ7c3Vic2NyaWJlcl9zdGRlcnJ9LAorCSRwc3Fs X3RpbWVvdXQpOworCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwogIyBUZXN0IHRoYXQgbG9naWNhbCBkZWNvZGluZyBvbiB0aGUgc3RhbmRi eQogIyBiZWhhdmVzIGNvcnJlY3RseS4KQEAgLTM2NSw2ICszOTEsNjcgQEAgaXMoICRub2Rl X3ByaW1hcnktPnBzcWwoCiAgICAgMywKICAgICAncmVwbGF5aW5nIGxvZ2ljYWwgc2xvdCBm cm9tIGFub3RoZXIgZGF0YWJhc2UgZmFpbHMnKTsKIAorIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgVGVzdCB0aGF0IHdlIGNhbiBzdWJz Y3JpYmUgb24gdGhlIHN0YW5kYnkgd2l0aCB0aGUgcHVibGljYXRpb24KKyMgY3JlYXRlZCBv biB0aGUgcHJpbWFyeS4KKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisKKyMgQ3JlYXRlIGEgdGFibGUgb24gdGhlIHByaW1hcnkKKyRub2Rl X3ByaW1hcnktPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJDUkVBVEUgVEFCTEUgdGFiX3Jl cCAoYSBpbnQgcHJpbWFyeSBrZXkpIik7CisKKyMgQ3JlYXRlIGEgdGFibGUgKHNhbWUgc3Ry dWN0dXJlKSBvbiB0aGUgc3Vic2NyaWJlciBub2RlCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFRBQkxFIHRhYl9yZXAgKGEgaW50IHByaW1h cnkga2V5KSIpOworCisjIENyZWF0ZSBhIHB1YmxpY2F0aW9uIG9uIHRoZSBwcmltYXJ5Cisk bm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIFBVQkxJQ0FU SU9OIHRhcF9wdWIgZm9yIHRhYmxlIHRhYl9yZXAiKTsKKworJG5vZGVfcHJpbWFyeS0+d2Fp dF9mb3JfcmVwbGF5X2NhdGNodXAoJG5vZGVfc3RhbmRieSk7CisKKyMgU3Vic2NyaWJlIG9u IHRoZSBzdGFuZGJ5CitteSAkc3RhbmRieV9jb25uc3RyID0gJG5vZGVfc3RhbmRieS0+Y29u bnN0ciAuICcgZGJuYW1lPXBvc3RncmVzJzsKKworIyBOb3QgdXNpbmcgc2FmZV9wc3FsKCkg aGVyZSBhcyBpdCB3b3VsZCB3YWl0IGZvciBhY3Rpdml0eSBvbiB0aGUgcHJpbWFyeQorIyBh bmQgd2Ugd291bGRuJ3QgYmUgYWJsZSB0byBsYXVuY2ggcGdfbG9nX3N0YW5kYnlfc25hcHNo b3QoKSBvbiB0aGUgcHJpbWFyeQorIyB3aGlsZSB3YWl0aW5nLgorIyBwc3FsX3N1YnNjcmli ZXIoKSBhbGxvd3MgdG8gbm90IHdhaXQgc3luY2hyb25vdXNseS4KKyRwc3FsX3N1YnNjcmli ZXJ7c3Vic2NyaWJlcl9zdGRpbn0gLj0KKyAgcXFbQ1JFQVRFIFNVQlNDUklQVElPTiB0YXBf c3ViCisgICAgIENPTk5FQ1RJT04gJyRzdGFuZGJ5X2Nvbm5zdHInCisgICAgIFBVQkxJQ0FU SU9OIHRhcF9wdWIKKyAgICAgV0lUSCAoY29weV9kYXRhID0gb2ZmKTtdOworJHBzcWxfc3Vi c2NyaWJlcntzdWJzY3JpYmVyX3N0ZGlufSAuPSAiXG4iOworCiskcHNxbF9zdWJzY3JpYmVy e3J1bn0tPnB1bXBfbmIoKTsKKworIyBTcGVlZCB1cCB0aGUgc3Vic2NyaXB0aW9uIGNyZWF0 aW9uCiskbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBwZ19s b2dfc3RhbmRieV9zbmFwc2hvdCgpIik7CisKKyMgRXhwbGljaXRseSBzaHV0IGRvd24gcHNx bCBpbnN0YW5jZSBncmFjZWZ1bGx5IC0gdG8gYXZvaWQgaGFuZ3MKKyMgb3Igd29yc2Ugb24g d2luZG93cworJHBzcWxfc3Vic2NyaWJlcntzdWJzY3JpYmVyX3N0ZGlufSAuPSAiXFxxXG4i OworJHBzcWxfc3Vic2NyaWJlcntydW59LT5maW5pc2g7CisKKyRub2RlX3N1YnNjcmliZXIt PndhaXRfZm9yX3N1YnNjcmlwdGlvbl9zeW5jKCRub2RlX3N0YW5kYnksICd0YXBfc3ViJyk7 CisKKyMgSW5zZXJ0IHNvbWUgcm93cyBvbiB0aGUgcHJpbWFyeQorJG5vZGVfcHJpbWFyeS0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJcXFbSU5TRVJUIElOVE8gdGFiX3JlcCBzZWxlY3Qg Z2VuZXJhdGVfc2VyaWVzKDEsMTApO10pOworCiskbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9y ZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5KTsKKyRub2RlX3N0YW5kYnktPndhaXRfZm9y X2NhdGNodXAoJ3RhcF9zdWInKTsKKworIyBDaGVjayB0aGF0IHRoZSBzdWJzY3JpYmVyIGNh biBzZWUgdGhlIHJvd3MgaW5zZXJ0ZWQgaW4gdGhlIHByaW1hcnkKKyRyZXN1bHQgPQorICAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBjb3VudCgq KSBGUk9NIHRhYl9yZXAiKTsKK2lzKCRyZXN1bHQsIHFxKDEwKSwgJ2NoZWNrIHJlcGxpY2F0 ZWQgaW5zZXJ0cyBhZnRlciBzdWJzY3JpcHRpb24gb24gc3RhbmRieScpOworCisjIFdlIGRv IG5vdCBuZWVkIHRoZSBzdWJzY3JpcHRpb24gYW5kIHRoZSBzdWJzY3JpYmVyIGFueW1vcmUK KyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiRFJPUCBTVUJTQ1JJ UFRJT04gdGFwX3N1YiIpOworJG5vZGVfc3Vic2NyaWJlci0+c3RvcDsKKwogIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgUmVjb3Zlcnkg Y29uZmxpY3Q6IEludmFsaWRhdGUgY29uZmxpY3Rpbmcgc2xvdHMsIGluY2x1ZGluZyBpbi11 c2Ugc2xvdHMKICMgU2NlbmFyaW8gMTogaG90X3N0YW5kYnlfZmVlZGJhY2sgb2ZmIGFuZCB2 YWN1dW0gRlVMTAotLSAKMi4zNC4xCgo= --------------RX204XYIY48UrVwRZ4Va0u3E--