Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ehZnd-0004k0-MI for pgsql-performance@arkaria.postgresql.org; Fri, 02 Feb 2018 11:46:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ehZnb-0006So-5k for pgsql-performance@arkaria.postgresql.org; Fri, 02 Feb 2018 11:46:31 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1ehZna-0006Se-QA for pgsql-performance@lists.postgresql.org; Fri, 02 Feb 2018 11:46:30 +0000 Received: from mail-yw0-x22a.google.com ([2607:f8b0:4002:c05::22a]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1ehZnS-00004q-3q for pgsql-performance@lists.postgresql.org; Fri, 02 Feb 2018 11:46:29 +0000 Received: by mail-yw0-x22a.google.com with SMTP id x190so12939444ywd.10 for ; Fri, 02 Feb 2018 03:46:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=IAZD0M0X28qpmenrmpm+ckgbvM14AZKWurznJ+7W2qY=; b=oWShCu7WCrFFM+kTpVbiDUy4F35CK6jLqq02BmXgK79Hli3Xqa8ankX4EkoGEtgydb lSpPiJ///9Zzjy5dM2UR2e/1TdSA3Tfh+xHzbC7ytoYO3GvMy5ve7XOvdCEXe1NKsrkp y4qkoYNo2bAjk1e6yYE7K2glJhKPDmHdK9WpfB3YLgDuK00+tAFCdwSi6VYE420tq25g xcttTp0jf4K0nZeKt6xUA/KEl7f8lhi/R4AigRRDa5Sb2AcdtZZW6upBBnKb7JFiqaSe agg7o0rkhURm84TeXLua2/u+dxDf4xnUylr0RyxKed9dl4nGN7l+RIumEyoHlF0gKcnD gn9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=IAZD0M0X28qpmenrmpm+ckgbvM14AZKWurznJ+7W2qY=; b=bB8T5J8AZEje1gyJSe6Q7gKKOf4RZK1Iq0UMwEaEgTBO2ClT2DpW1LEYl4WKqBSr0C 41QvmBas1YPo74BT3jPLUJk4upTv8e8bixIrob3yWdiGvauhXyXCYzr6T67v0xx1Hj6x Q5KqtLHrWGZxnkUObk3YlIUnxfPhhJa9TyuoXcS/e9IyQBVu6I1u6p6io3dXPk5vzJ+E y2Hd0q1It7q2NSTvii9e+vowzVH0TKJ6ECGq2P4Ii53hqsx8PNvsVTORtYrZnAHTn0Up BArBxWSLAwQb6m403UgraRAeF33HMkZrt003wpXkCftWfbii0hEnOJ9kZKzx5CLT1Xcy siXA== X-Gm-Message-State: AKwxytc7e2Fc1+VHUjSJBrK2+6/oEHYq1p4Ieuud/GpQp95/AFsR+0Og KPLHL+ax8hsQsxyj9/3JhyyMVHx3 X-Google-Smtp-Source: AH8x227ixFiWjKTmePBorTEHXafRPxDg/obFXxAI4SSs7pKRmLE7yBIePaMDFca9HDJNaUP4+7n0gA== X-Received: by 10.13.236.20 with SMTP id v20mr27477703ywe.289.1517571979555; Fri, 02 Feb 2018 03:46:19 -0800 (PST) Received: from [192.168.1.183] ([193.93.78.27]) by smtp.gmail.com with ESMTPSA id k36sm654219ywh.110.2018.02.02.03.46.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Feb 2018 03:46:18 -0800 (PST) Subject: Re: effective_io_concurrency on EBS/gp2 To: Claudio Freire , hzzhangjiazhi Cc: Gary Doades , Rick Otten , "pgsql-performance@lists.postgresql.org" References: <6c7a45df-f6ab-f2ce-6f84-9555864f6c86@gmail.com> <768e3a56-46ed-3dd1-8722-953a47857a35@gmail.com> <014801d39a99$d4c32930$7e497b90$@gpdnet.co.uk> <8fb758a1-d7fa-4dcc-fb5b-07a992ae6a32@gmail.com> <534b557c-3658-6d0f-2330-34a78da57e2f@gmail.com> <9122FC8B-2129-4E10-807F-F9F34117A156@corp.netease.com> From: Vitaliy Garnashevich Message-ID: Date: Fri, 2 Feb 2018 13:46:22 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/mixed; boundary="------------42E82F86B3FB8EFE79B0AB1B" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------42E82F86B3FB8EFE79B0AB1B Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit I did some more tests. I've made an SQL dump of the table. Then used head/tail commands to cut the data part. Then used shuf command to shuffle rows, and then joined the pieces back and restored the table back into DB. Before: select array_agg(aid) from (select aid from pgbench_accounts order by ctid limit 20)_; {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} effective_io_concurrency=0 Execution time: 1455.336 ms effective_io_concurrency=1 Execution time: 8365.070 ms effective_io_concurrency=2 Execution time: 4791.961 ms effective_io_concurrency=4 Execution time: 4113.713 ms effective_io_concurrency=8 Execution time: 1584.862 ms effective_io_concurrency=16 Execution time: 1533.096 ms effective_io_concurrency=8 Execution time: 1494.494 ms effective_io_concurrency=4 Execution time: 3235.892 ms effective_io_concurrency=2 Execution time: 4624.334 ms effective_io_concurrency=1 Execution time: 7831.310 ms effective_io_concurrency=0 Execution time: 1422.203 ms After: select array_agg(aid) from (select aid from pgbench_accounts order by ctid limit 20)_; {6861090,18316007,2361004,11880097,5079470,9859942,13776329,12687163,3793362,18312052,15912971,9928864,10179242,9307499,2737986,13911147,5337329,12582498,3019085,4631617} effective_io_concurrency=0 Execution time: 71321.723 ms effective_io_concurrency=1 Execution time: 180230.742 ms effective_io_concurrency=2 Execution time: 98635.566 ms effective_io_concurrency=4 Execution time: 91464.375 ms effective_io_concurrency=8 Execution time: 91048.939 ms effective_io_concurrency=16 Execution time: 97682.475 ms effective_io_concurrency=8 Execution time: 91262.404 ms effective_io_concurrency=4 Execution time: 90945.560 ms effective_io_concurrency=2 Execution time: 97019.504 ms effective_io_concurrency=1 Execution time: 180331.474 ms effective_io_concurrency=0 Execution time: 71469.484 ms The numbers are not directly comparable with the previous tests, because this time I used scale factor 200. Regards, Vitaliy On 2018-02-01 20:39, Claudio Freire wrote: > On Wed, Jan 31, 2018 at 11:21 PM, hzzhangjiazhi > wrote: >> HI >> >> I think this parameter will be usefull when the storage using RAID >> stripe , otherwise turn up this parameter is meaningless when only has one >> device。 > Not at all. Especially on EBS, where keeping a relatively full queue > is necessary to get max thoughput out of the drive. > > Problem is, if you're scanning a highly correlated index, the > mechanism is counterproductive. I had worked on some POC patches for > correcting that, I guess I could work something out, but it's > low-priority for me. Especially since it's actually a kernel "bug" (or > shortcoming), that could be fixed in the kernel rather than worked > around by postgres. > --------------42E82F86B3FB8EFE79B0AB1B Content-Type: text/plain; charset=UTF-8; name="test-before.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-before.txt" CmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT0wCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEJpdG1h cCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTI4MzguMjQuLjM1Nzk2 Ni4yNiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT0xNDU0LjU3MC4uMTQ1NC41NzAg cm93cz0wIGxvb3BzPTEpCiAgIFJlY2hlY2sgQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChh aWQgPD0gMTAwMDAwMCkpCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAgIFJvd3MgUmVt b3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9MTYzNzgKICAg QnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MTkxMDkKICAgLT4gIEJpdG1hcCBJbmRleCBT Y2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4uMTI4MzguMjQgcm93 cz05ODYyMzAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTQ0Ny44NzcuLjQ0Ny44Nzcgcm93cz05 OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0gMTAwMCkgQU5E IChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MiByZWFk PTI3MzEKIFBsYW5uaW5nIHRpbWU6IDE1Ljc4MiBtcwogRXhlY3V0aW9uIHRpbWU6IDE0NTUu MzM2IG1zCigxMSByb3dzKQoKZWZmZWN0aXZlX2lvX2NvbmN1cnJlbmN5PTEKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2FjY291bnRzICAoY29z dD0xMjgzOC4yNC4uMzU3OTY2LjI2IHJvd3M9MSB3aWR0aD05NykgKGFjdHVhbCB0aW1lPTgz NjQuMjcyLi44MzY0LjI3MiByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVjayBDb25kOiAoKGFp ZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgRmlsdGVyOiAoYWJhbGFuY2Ug PD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAgQmxvY2tz OiBleGFjdD0xNjM3OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0xOTEwOQogICAt PiAgQml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19wa2V5ICAoY29zdD0w LjAwLi4xMjgzOC4yNCByb3dzPTk4NjIzMCB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9NDQ4LjA0 My4uNDQ4LjA0MyByb3dzPTk5OTAwMSBsb29wcz0xKQogICAgICAgICBJbmRleCBDb25kOiAo KGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgICAgICAgQnVmZmVyczog c2hhcmVkIGhpdD0yIHJlYWQ9MjczMQogUGxhbm5pbmcgdGltZTogMTUuMDM2IG1zCiBFeGVj dXRpb24gdGltZTogODM2NS4wNzAgbXMKKDExIHJvd3MpCgplZmZlY3RpdmVfaW9fY29uY3Vy cmVuY3k9MgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBCaXRtYXAgSGVhcCBTY2FuIG9uIHBnYmVu Y2hfYWNjb3VudHMgIChjb3N0PTEyODM4LjI0Li4zNTc5NjYuMjYgcm93cz0xIHdpZHRoPTk3 KSAoYWN0dWFsIHRpbWU9NDc5MS4xOTYuLjQ3OTEuMTk2IHJvd3M9MCBsb29wcz0xKQogICBS ZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQogICBG aWx0ZXI6IChhYmFsYW5jZSA8PiAwKQogICBSb3dzIFJlbW92ZWQgYnkgRmlsdGVyOiA5OTkw MDEKICAgSGVhcCBCbG9ja3M6IGV4YWN0PTE2Mzc4CiAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9 MiByZWFkPTE5MTA5CiAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBwZ2JlbmNoX2FjY291 bnRzX3BrZXkgIChjb3N0PTAuMDAuLjEyODM4LjI0IHJvd3M9OTg2MjMwIHdpZHRoPTApIChh Y3R1YWwgdGltZT00MzMuOTI4Li40MzMuOTI4IHJvd3M9OTk5MDAxIGxvb3BzPTEpCiAgICAg ICAgIEluZGV4IENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQog ICAgICAgICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmluZyB0aW1l OiAxNC44NDcgbXMKIEV4ZWN1dGlvbiB0aW1lOiA0NzkxLjk2MSBtcwooMTEgcm93cykKCmVm ZmVjdGl2ZV9pb19jb25jdXJyZW5jeT00CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEJpdG1hcCBI ZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTI4MzguMjQuLjM1Nzk2Ni4y NiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT00MTEyLjkyOC4uNDExMi45Mjggcm93 cz0wIGxvb3BzPTEpCiAgIFJlY2hlY2sgQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChhaWQg PD0gMTAwMDAwMCkpCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAgIFJvd3MgUmVtb3Zl ZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9MTYzNzgKICAgQnVm ZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MTkxMDkKICAgLT4gIEJpdG1hcCBJbmRleCBTY2Fu IG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4uMTI4MzguMjQgcm93cz05 ODYyMzAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTQ3MC44NzMuLjQ3MC44NzMgcm93cz05OTkw MDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChh aWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MiByZWFkPTI3 MzEKIFBsYW5uaW5nIHRpbWU6IDE0LjY5NCBtcwogRXhlY3V0aW9uIHRpbWU6IDQxMTMuNzEz IG1zCigxMSByb3dzKQoKZWZmZWN0aXZlX2lvX2NvbmN1cnJlbmN5PTgKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2FjY291bnRzICAoY29zdD0x MjgzOC4yNC4uMzU3OTY2LjI2IHJvd3M9MSB3aWR0aD05NykgKGFjdHVhbCB0aW1lPTE1ODQu MDY3Li4xNTg0LjA2NyByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVjayBDb25kOiAoKGFpZCA+ PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgRmlsdGVyOiAoYWJhbGFuY2UgPD4g MCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAgQmxvY2tzOiBl eGFjdD0xNjM3OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0xOTEwOQogICAtPiAg Qml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19wa2V5ICAoY29zdD0wLjAw Li4xMjgzOC4yNCByb3dzPTk4NjIzMCB3aWR0aD0wKSAoYWN0dWFsIHRpbWU9NDUxLjU4Ny4u NDUxLjU4NyByb3dzPTk5OTAwMSBsb29wcz0xKQogICAgICAgICBJbmRleCBDb25kOiAoKGFp ZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgICAgICAgQnVmZmVyczogc2hh cmVkIGhpdD0yIHJlYWQ9MjczMQogUGxhbm5pbmcgdGltZTogMTQuNDIxIG1zCiBFeGVjdXRp b24gdGltZTogMTU4NC44NjIgbXMKKDExIHJvd3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVu Y3k9MTYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNo X2FjY291bnRzICAoY29zdD0xMjgzOC4yNC4uMzU3OTY2LjI2IHJvd3M9MSB3aWR0aD05Nykg KGFjdHVhbCB0aW1lPTE1MzIuMzQzLi4xNTMyLjM0MyByb3dzPTAgbG9vcHM9MSkKICAgUmVj aGVjayBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgRmls dGVyOiAoYWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAx CiAgIEhlYXAgQmxvY2tzOiBleGFjdD0xNjM3OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIg cmVhZD0xOTEwOQogICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50 c19wa2V5ICAoY29zdD0wLjAwLi4xMjgzOC4yNCByb3dzPTk4NjIzMCB3aWR0aD0wKSAoYWN0 dWFsIHRpbWU9NDI5LjE0OC4uNDI5LjE0OCByb3dzPTk5OTAwMSBsb29wcz0xKQogICAgICAg ICBJbmRleCBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAg ICAgICAgQnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MjczMQogUGxhbm5pbmcgdGltZTog MTQuODAyIG1zCiBFeGVjdXRpb24gdGltZTogMTUzMy4wOTYgbXMKKDExIHJvd3MpCgplZmZl Y3RpdmVfaW9fY29uY3VycmVuY3k9OAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBCaXRtYXAgSGVh cCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHMgIChjb3N0PTEyODM4LjI0Li4zNTc5NjYuMjYg cm93cz0xIHdpZHRoPTk3KSAoYWN0dWFsIHRpbWU9MTQ5My43MjEuLjE0OTMuNzIxIHJvd3M9 MCBsb29wcz0xKQogICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9 IDEwMDAwMDApKQogICBGaWx0ZXI6IChhYmFsYW5jZSA8PiAwKQogICBSb3dzIFJlbW92ZWQg YnkgRmlsdGVyOiA5OTkwMDEKICAgSGVhcCBCbG9ja3M6IGV4YWN0PTE2Mzc4CiAgIEJ1ZmZl cnM6IHNoYXJlZCBoaXQ9MiByZWFkPTE5MTA5CiAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBv biBwZ2JlbmNoX2FjY291bnRzX3BrZXkgIChjb3N0PTAuMDAuLjEyODM4LjI0IHJvd3M9OTg2 MjMwIHdpZHRoPTApIChhY3R1YWwgdGltZT00MjcuODY0Li40MjcuODY0IHJvd3M9OTk5MDAx IGxvb3BzPTEpCiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlk IDw9IDEwMDAwMDApKQogICAgICAgICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0yNzMx CiBQbGFubmluZyB0aW1lOiAxNC41NjUgbXMKIEV4ZWN1dGlvbiB0aW1lOiAxNDk0LjQ5NCBt cwooMTEgcm93cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT00CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBR VUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTI4 MzguMjQuLjM1Nzk2Ni4yNiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT0zMjM1LjEw NC4uMzIzNS4xMDQgcm93cz0wIGxvb3BzPTEpCiAgIFJlY2hlY2sgQ29uZDogKChhaWQgPj0g MTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDAp CiAgIFJvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhh Y3Q9MTYzNzgKICAgQnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MTkxMDkKICAgLT4gIEJp dG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4u MTI4MzguMjQgcm93cz05ODYyMzAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTQzNS4wMDkuLjQz NS4wMDkgcm93cz05OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQg Pj0gMTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJl ZCBoaXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5nIHRpbWU6IDE0LjI4OSBtcwogRXhlY3V0aW9u IHRpbWU6IDMyMzUuODkyIG1zCigxMSByb3dzKQoKZWZmZWN0aXZlX2lvX2NvbmN1cnJlbmN5 PTIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFFVRVJZIFBMQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2Fj Y291bnRzICAoY29zdD0xMjgzOC4yNC4uMzU3OTY2LjI2IHJvd3M9MSB3aWR0aD05NykgKGFj dHVhbCB0aW1lPTQ2MjMuNTY1Li40NjIzLjU2NSByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVj ayBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgRmlsdGVy OiAoYWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAxCiAg IEhlYXAgQmxvY2tzOiBleGFjdD0xNjM3OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVh ZD0xOTEwOQogICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19w a2V5ICAoY29zdD0wLjAwLi4xMjgzOC4yNCByb3dzPTk4NjIzMCB3aWR0aD0wKSAoYWN0dWFs IHRpbWU9NDI1LjY2MS4uNDI1LjY2MSByb3dzPTk5OTAwMSBsb29wcz0xKQogICAgICAgICBJ bmRleCBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgICAg ICAgQnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MjczMQogUGxhbm5pbmcgdGltZTogMTQu NTI5IG1zCiBFeGVjdXRpb24gdGltZTogNDYyNC4zMzQgbXMKKDExIHJvd3MpCgplZmZlY3Rp dmVfaW9fY29uY3VycmVuY3k9MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBCaXRtYXAgSGVhcCBT Y2FuIG9uIHBnYmVuY2hfYWNjb3VudHMgIChjb3N0PTEyODM4LjI0Li4zNTc5NjYuMjYgcm93 cz0xIHdpZHRoPTk3KSAoYWN0dWFsIHRpbWU9NzgzMC41MzAuLjc4MzAuNTMwIHJvd3M9MCBs b29wcz0xKQogICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEw MDAwMDApKQogICBGaWx0ZXI6IChhYmFsYW5jZSA8PiAwKQogICBSb3dzIFJlbW92ZWQgYnkg RmlsdGVyOiA5OTkwMDEKICAgSGVhcCBCbG9ja3M6IGV4YWN0PTE2Mzc4CiAgIEJ1ZmZlcnM6 IHNoYXJlZCBoaXQ9MiByZWFkPTE5MTA5CiAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBw Z2JlbmNoX2FjY291bnRzX3BrZXkgIChjb3N0PTAuMDAuLjEyODM4LjI0IHJvd3M9OTg2MjMw IHdpZHRoPTApIChhY3R1YWwgdGltZT00MzUuMDc4Li40MzUuMDc4IHJvd3M9OTk5MDAxIGxv b3BzPTEpCiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9 IDEwMDAwMDApKQogICAgICAgICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0yNzMxCiBQ bGFubmluZyB0aW1lOiAxNC4zNjEgbXMKIEV4ZWN1dGlvbiB0aW1lOiA3ODMxLjMxMCBtcwoo MTEgcm93cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT0wCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVS WSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTI4Mzgu MjQuLjM1Nzk2Ni4yNiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT0xNDIxLjQxNy4u MTQyMS40MTcgcm93cz0wIGxvb3BzPTEpCiAgIFJlY2hlY2sgQ29uZDogKChhaWQgPj0gMTAw MCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAg IFJvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9 MTYzNzgKICAgQnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MTkxMDkKICAgLT4gIEJpdG1h cCBJbmRleCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4uMTI4 MzguMjQgcm93cz05ODYyMzAgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTQ3MC41NDIuLjQ3MC41 NDIgcm93cz05OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0g MTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBo aXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5nIHRpbWU6IDE0LjkwNyBtcwogRXhlY3V0aW9uIHRp bWU6IDE0MjIuMjAzIG1zCigxMSByb3dzKQoK --------------42E82F86B3FB8EFE79B0AB1B Content-Type: text/plain; charset=UTF-8; name="test-after.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test-after.txt" CmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT0wCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQml0 bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2FjY291bnRzICAoY29zdD0xMzA3MC4xNi4uMzU4 NTA5LjcyIHJvd3M9MSB3aWR0aD05NykgKGFjdHVhbCB0aW1lPTcxMzIwLjIwMS4uNzEzMjAu MjAxIHJvd3M9MCBsb29wcz0xKQogICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFO RCAoYWlkIDw9IDEwMDAwMDApKQogICBSb3dzIFJlbW92ZWQgYnkgSW5kZXggUmVjaGVjazog MTE0MzM1MjEKICAgRmlsdGVyOiAoYWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5 IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAgQmxvY2tzOiBleGFjdD0xMTUxMTIgbG9zc3k9MTk4 NTg4CiAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MyByZWFkPTMxNjQzMAogICAtPiAgQml0bWFw IEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19wa2V5ICAoY29zdD0wLjAwLi4xMzA3 MC4xNiByb3dzPTEwMDQwMzIgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTYyMC4yMjIuLjYyMC4y MjIgcm93cz05OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0g MTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBo aXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5nIHRpbWU6IDI1LjA5NSBtcwogRXhlY3V0aW9uIHRp bWU6IDcxMzIxLjcyMyBtcwooMTIgcm93cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT0x CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2Fj Y291bnRzICAoY29zdD0xMzA3MC4xNi4uMzU4NTA5LjcyIHJvd3M9MSB3aWR0aD05NykgKGFj dHVhbCB0aW1lPTE4MDIyOS40MjMuLjE4MDIyOS40MjMgcm93cz0wIGxvb3BzPTEpCiAgIFJl Y2hlY2sgQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgIFJv d3MgUmVtb3ZlZCBieSBJbmRleCBSZWNoZWNrOiAxMTQzMzUyMQogICBGaWx0ZXI6IChhYmFs YW5jZSA8PiAwKQogICBSb3dzIFJlbW92ZWQgYnkgRmlsdGVyOiA5OTkwMDEKICAgSGVhcCBC bG9ja3M6IGV4YWN0PTExNTExMiBsb3NzeT0xOTg1ODgKICAgQnVmZmVyczogc2hhcmVkIGhp dD0zIHJlYWQ9MzE2NDMwCiAgIC0+ICBCaXRtYXAgSW5kZXggU2NhbiBvbiBwZ2JlbmNoX2Fj Y291bnRzX3BrZXkgIChjb3N0PTAuMDAuLjEzMDcwLjE2IHJvd3M9MTAwNDAzMiB3aWR0aD0w KSAoYWN0dWFsIHRpbWU9NjI2LjcxOC4uNjI2LjcxOCByb3dzPTk5OTAwMSBsb29wcz0xKQog ICAgICAgICBJbmRleCBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAw KSkKICAgICAgICAgQnVmZmVyczogc2hhcmVkIGhpdD0yIHJlYWQ9MjczMQogUGxhbm5pbmcg dGltZTogMTQuMTIzIG1zCiBFeGVjdXRpb24gdGltZTogMTgwMjMwLjc0MiBtcwooMTIgcm93 cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT0yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog Qml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2FjY291bnRzICAoY29zdD0xMzA3MC4xNi4u MzU4NTA5LjcyIHJvd3M9MSB3aWR0aD05NykgKGFjdHVhbCB0aW1lPTk4NjM0LjEyNS4uOTg2 MzQuMTI1IHJvd3M9MCBsb29wcz0xKQogICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDAp IEFORCAoYWlkIDw9IDEwMDAwMDApKQogICBSb3dzIFJlbW92ZWQgYnkgSW5kZXggUmVjaGVj azogMTE0MzM1MjEKICAgRmlsdGVyOiAoYWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVk IGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAgQmxvY2tzOiBleGFjdD0xMTUxMTIgbG9zc3k9 MTk4NTg4CiAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MyByZWFkPTMxNjQzMAogICAtPiAgQml0 bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19wa2V5ICAoY29zdD0wLjAwLi4x MzA3MC4xNiByb3dzPTEwMDQwMzIgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTYyMC45MDUuLjYy MC45MDUgcm93cz05OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQg Pj0gMTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJl ZCBoaXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5nIHRpbWU6IDIyLjkzNiBtcwogRXhlY3V0aW9u IHRpbWU6IDk4NjM1LjU2NiBtcwooMTIgcm93cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5j eT00CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBRVUVSWSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNo X2FjY291bnRzICAoY29zdD0xMzA3MC4xNi4uMzU4NTA5LjcyIHJvd3M9MSB3aWR0aD05Nykg KGFjdHVhbCB0aW1lPTkxNDYzLjA5NS4uOTE0NjMuMDk1IHJvd3M9MCBsb29wcz0xKQogICBS ZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQogICBS b3dzIFJlbW92ZWQgYnkgSW5kZXggUmVjaGVjazogMTE0MzM1MjEKICAgRmlsdGVyOiAoYWJh bGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAg QmxvY2tzOiBleGFjdD0xMTUxMTIgbG9zc3k9MTk4NTg4CiAgIEJ1ZmZlcnM6IHNoYXJlZCBo aXQ9MyByZWFkPTMxNjQzMAogICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9h Y2NvdW50c19wa2V5ICAoY29zdD0wLjAwLi4xMzA3MC4xNiByb3dzPTEwMDQwMzIgd2lkdGg9 MCkgKGFjdHVhbCB0aW1lPTY0My4wMjkuLjY0My4wMjkgcm93cz05OTkwMDEgbG9vcHM9MSkK ICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChhaWQgPD0gMTAwMDAw MCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5n IHRpbWU6IDEzLjY3NiBtcwogRXhlY3V0aW9uIHRpbWU6IDkxNDY0LjM3NSBtcwooMTIgcm93 cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5jeT04CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVSWSBQTEFO ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog Qml0bWFwIEhlYXAgU2NhbiBvbiBwZ2JlbmNoX2FjY291bnRzICAoY29zdD0xMzA3MC4xNi4u MzU4NTA5LjcyIHJvd3M9MSB3aWR0aD05NykgKGFjdHVhbCB0aW1lPTkxMDQ3LjY1My4uOTEw NDcuNjUzIHJvd3M9MCBsb29wcz0xKQogICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDAp IEFORCAoYWlkIDw9IDEwMDAwMDApKQogICBSb3dzIFJlbW92ZWQgYnkgSW5kZXggUmVjaGVj azogMTE0MzM1MjEKICAgRmlsdGVyOiAoYWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVk IGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhlYXAgQmxvY2tzOiBleGFjdD0xMTUxMTIgbG9zc3k9 MTk4NTg4CiAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MyByZWFkPTMxNjQzMAogICAtPiAgQml0 bWFwIEluZGV4IFNjYW4gb24gcGdiZW5jaF9hY2NvdW50c19wa2V5ICAoY29zdD0wLjAwLi4x MzA3MC4xNiByb3dzPTEwMDQwMzIgd2lkdGg9MCkgKGFjdHVhbCB0aW1lPTYxNC43ODYuLjYx NC43ODYgcm93cz05OTkwMDEgbG9vcHM9MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQg Pj0gMTAwMCkgQU5EIChhaWQgPD0gMTAwMDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJl ZCBoaXQ9MiByZWFkPTI3MzEKIFBsYW5uaW5nIHRpbWU6IDE1LjMzOCBtcwogRXhlY3V0aW9u IHRpbWU6IDkxMDQ4LjkzOSBtcwooMTIgcm93cykKCmVmZmVjdGl2ZV9pb19jb25jdXJyZW5j eT0xNgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5j aF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAuMTYuLjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcp IChhY3R1YWwgdGltZT05NzY4MC44NjEuLjk3NjgwLjg2MSByb3dzPTAgbG9vcHM9MSkKICAg UmVjaGVjayBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAg Um93cyBSZW1vdmVkIGJ5IEluZGV4IFJlY2hlY2s6IDExNDMzNTIxCiAgIEZpbHRlcjogKGFi YWxhbmNlIDw+IDApCiAgIFJvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFw IEJsb2NrczogZXhhY3Q9MTE1MTEyIGxvc3N5PTE5ODU4OAogICBCdWZmZXJzOiBzaGFyZWQg aGl0PTMgcmVhZD0zMTY0MzAKICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hf YWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4uMTMwNzAuMTYgcm93cz0xMDA0MDMyIHdpZHRo PTApIChhY3R1YWwgdGltZT02MTYuNzYzLi42MTYuNzYzIHJvd3M9OTk5MDAxIGxvb3BzPTEp CiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAw MDApKQogICAgICAgICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmlu ZyB0aW1lOiAxNi40NzkgbXMKIEV4ZWN1dGlvbiB0aW1lOiA5NzY4Mi40NzUgbXMKKDEyIHJv d3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVuY3k9OAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAuMTYu LjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT05MTI2MC45NTguLjkx MjYwLjk1OCByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVjayBDb25kOiAoKGFpZCA+PSAxMDAw KSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgUm93cyBSZW1vdmVkIGJ5IEluZGV4IFJlY2hl Y2s6IDExNDMzNTIxCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAgIFJvd3MgUmVtb3Zl ZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9MTE1MTEyIGxvc3N5 PTE5ODU4OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTMgcmVhZD0zMTY0MzAKICAgLT4gIEJp dG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4u MTMwNzAuMTYgcm93cz0xMDA0MDMyIHdpZHRoPTApIChhY3R1YWwgdGltZT01OTYuMjkxLi41 OTYuMjkxIHJvd3M9OTk5MDAxIGxvb3BzPTEpCiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlk ID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQogICAgICAgICBCdWZmZXJzOiBzaGFy ZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmluZyB0aW1lOiAxNi43MzQgbXMKIEV4ZWN1dGlv biB0aW1lOiA5MTI2Mi40MDQgbXMKKDEyIHJvd3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVu Y3k9NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5j aF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAuMTYuLjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcp IChhY3R1YWwgdGltZT05MDk0NC4xMDIuLjkwOTQ0LjEwMiByb3dzPTAgbG9vcHM9MSkKICAg UmVjaGVjayBDb25kOiAoKGFpZCA+PSAxMDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAg Um93cyBSZW1vdmVkIGJ5IEluZGV4IFJlY2hlY2s6IDExNDMzNTIxCiAgIEZpbHRlcjogKGFi YWxhbmNlIDw+IDApCiAgIFJvd3MgUmVtb3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFw IEJsb2NrczogZXhhY3Q9MTE1MTEyIGxvc3N5PTE5ODU4OAogICBCdWZmZXJzOiBzaGFyZWQg aGl0PTMgcmVhZD0zMTY0MzAKICAgLT4gIEJpdG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hf YWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4uMTMwNzAuMTYgcm93cz0xMDA0MDMyIHdpZHRo PTApIChhY3R1YWwgdGltZT01OTcuMzI0Li41OTcuMzI0IHJvd3M9OTk5MDAxIGxvb3BzPTEp CiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAw MDApKQogICAgICAgICBCdWZmZXJzOiBzaGFyZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmlu ZyB0aW1lOiAxNi4zMDAgbXMKIEV4ZWN1dGlvbiB0aW1lOiA5MDk0NS41NjAgbXMKKDEyIHJv d3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVuY3k9MgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkgUExB TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAuMTYu LjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT05NzAxOC4xNzUuLjk3 MDE4LjE3NSByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVjayBDb25kOiAoKGFpZCA+PSAxMDAw KSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgUm93cyBSZW1vdmVkIGJ5IEluZGV4IFJlY2hl Y2s6IDExNDMzNTIxCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAgIFJvd3MgUmVtb3Zl ZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9MTE1MTEyIGxvc3N5 PTE5ODU4OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTMgcmVhZD0zMTY0MzAKICAgLT4gIEJp dG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4wMC4u MTMwNzAuMTYgcm93cz0xMDA0MDMyIHdpZHRoPTApIChhY3R1YWwgdGltZT02NDUuNzgyLi42 NDUuNzgyIHJvd3M9OTk5MDAxIGxvb3BzPTEpCiAgICAgICAgIEluZGV4IENvbmQ6ICgoYWlk ID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQogICAgICAgICBCdWZmZXJzOiBzaGFy ZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmluZyB0aW1lOiAxMy45NzYgbXMKIEV4ZWN1dGlv biB0aW1lOiA5NzAxOS41MDQgbXMKKDEyIHJvd3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVu Y3k9MQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5j aF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAuMTYuLjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcp IChhY3R1YWwgdGltZT0xODAzMzAuMDYxLi4xODAzMzAuMDYxIHJvd3M9MCBsb29wcz0xKQog ICBSZWNoZWNrIENvbmQ6ICgoYWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQog ICBSb3dzIFJlbW92ZWQgYnkgSW5kZXggUmVjaGVjazogMTE0MzM1MjEKICAgRmlsdGVyOiAo YWJhbGFuY2UgPD4gMCkKICAgUm93cyBSZW1vdmVkIGJ5IEZpbHRlcjogOTk5MDAxCiAgIEhl YXAgQmxvY2tzOiBleGFjdD0xMTUxMTIgbG9zc3k9MTk4NTg4CiAgIEJ1ZmZlcnM6IHNoYXJl ZCBoaXQ9MyByZWFkPTMxNjQzMAogICAtPiAgQml0bWFwIEluZGV4IFNjYW4gb24gcGdiZW5j aF9hY2NvdW50c19wa2V5ICAoY29zdD0wLjAwLi4xMzA3MC4xNiByb3dzPTEwMDQwMzIgd2lk dGg9MCkgKGFjdHVhbCB0aW1lPTYxMC44OTQuLjYxMC44OTQgcm93cz05OTkwMDEgbG9vcHM9 MSkKICAgICAgICAgSW5kZXggQ29uZDogKChhaWQgPj0gMTAwMCkgQU5EIChhaWQgPD0gMTAw MDAwMCkpCiAgICAgICAgIEJ1ZmZlcnM6IHNoYXJlZCBoaXQ9MiByZWFkPTI3MzEKIFBsYW5u aW5nIHRpbWU6IDE2LjU1OCBtcwogRXhlY3V0aW9uIHRpbWU6IDE4MDMzMS40NzQgbXMKKDEy IHJvd3MpCgplZmZlY3RpdmVfaW9fY29uY3VycmVuY3k9MAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUVVFUlkg UExBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIEJpdG1hcCBIZWFwIFNjYW4gb24gcGdiZW5jaF9hY2NvdW50cyAgKGNvc3Q9MTMwNzAu MTYuLjM1ODUwOS43MiByb3dzPTEgd2lkdGg9OTcpIChhY3R1YWwgdGltZT03MTQ2Ny45NzQu LjcxNDY3Ljk3NCByb3dzPTAgbG9vcHM9MSkKICAgUmVjaGVjayBDb25kOiAoKGFpZCA+PSAx MDAwKSBBTkQgKGFpZCA8PSAxMDAwMDAwKSkKICAgUm93cyBSZW1vdmVkIGJ5IEluZGV4IFJl Y2hlY2s6IDExNDMzNTIxCiAgIEZpbHRlcjogKGFiYWxhbmNlIDw+IDApCiAgIFJvd3MgUmVt b3ZlZCBieSBGaWx0ZXI6IDk5OTAwMQogICBIZWFwIEJsb2NrczogZXhhY3Q9MTE1MTEyIGxv c3N5PTE5ODU4OAogICBCdWZmZXJzOiBzaGFyZWQgaGl0PTMgcmVhZD0zMTY0MzAKICAgLT4g IEJpdG1hcCBJbmRleCBTY2FuIG9uIHBnYmVuY2hfYWNjb3VudHNfcGtleSAgKGNvc3Q9MC4w MC4uMTMwNzAuMTYgcm93cz0xMDA0MDMyIHdpZHRoPTApIChhY3R1YWwgdGltZT03NzguODc1 Li43NzguODc1IHJvd3M9OTk5MDAxIGxvb3BzPTEpCiAgICAgICAgIEluZGV4IENvbmQ6ICgo YWlkID49IDEwMDApIEFORCAoYWlkIDw9IDEwMDAwMDApKQogICAgICAgICBCdWZmZXJzOiBz aGFyZWQgaGl0PTIgcmVhZD0yNzMxCiBQbGFubmluZyB0aW1lOiA0Mi4wOTQgbXMKIEV4ZWN1 dGlvbiB0aW1lOiA3MTQ2OS40ODQgbXMKKDEyIHJvd3MpCgo= --------------42E82F86B3FB8EFE79B0AB1B--