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 1l92ta-00014M-GH for pgadmin-hackers@arkaria.postgresql.org; Mon, 08 Feb 2021 09:31:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l92tZ-0001k7-0Z for pgadmin-hackers@arkaria.postgresql.org; Mon, 08 Feb 2021 09:31:49 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l92tY-0001jz-Eq for pgadmin-hackers@lists.postgresql.org; Mon, 08 Feb 2021 09:31:48 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l92tU-0002Zz-7g for pgadmin-hackers@postgresql.org; Mon, 08 Feb 2021 09:31:47 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d13so7517232plg.0 for ; Mon, 08 Feb 2021 01:31:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Fl9wjqUnrvLqosDnwYZ/kHKST6+Lx9UXIQ5E2feV2zE=; b=TkVH01DSuBn/fcJ/uQwfuaAn+CKRyHTqMaPUTnrlKL8QkVEBw+uv3AQeSr2v5CoWBN qiZ1P4ZJgzuNIQZxXFEd6nJmv51EprYZJ8SzVDXDO9XkvzqN9+MOtq9ncuPa+vlku4Bc gPQ5pBkWag6yHtuVAajdLnrhvgp+khd5G2iB0nvk+naSzFcSpEXD6s0+CAbA2JKW7Ycw pLUvc1emNpcNA3tFRaWF+780hPWjiXDYiR2COhh311HKLARlyY+Z1GzonBq6fSp1vD0K +3n83Ro6JklhzU5J1tunJ5ofRk9XAhmdlsi3sOCcgv4cfWpp8IEyZc8Y367/0IRkgyoX avFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Fl9wjqUnrvLqosDnwYZ/kHKST6+Lx9UXIQ5E2feV2zE=; b=ZCnVErnmkV7StOolHbba94lqtk5teZrp9Sp3+PibFq8n3VTB56vltVMsaHfuvL7zHV Nix7lNHBjyWA2QqgeURP+HjZGUKzbUkc3ljeBPK0hsLEwxzjWmLCftSpASZtNd6Sfh4s R5RUWYepz+qkK3Ovyo/EqAB9bGfZXnwcGOFnjPauwS4qzE6z9LI/mYvFKzfLfKv6tIj1 l2lPIi7e4TdInqkb1SM+Gc8QJCYeLoeiCkj2QTpMJcAjC4YBJNN4BMlubkfDhqyAd7zt DWf4CPgyLZ+MKT6yxodMPZkpxrucUwhuQmxnQXNaJ1Sq0FJKKwtKyHB3xnMm4GuRbyjW aIlA== X-Gm-Message-State: AOAM532UdNvONikIW+aZLaohBm3zngmUl2weMyAohEA4NBfxtgAky9Ws epNq6lGi22mmHqYieve5BZEk86fEXXAbq6in/vi0gL+W2bLK4STNzULsFUgZcqmYsBcO7olA8KH Kkx8N/D1vCDK9n5fIGX1UtIaB+lDTU3XIMByojWUAfmbUlb3kp14eCksfYd3r0YSkNKZCODpOvw jaDrCdvBxxLIagds6amhJecL7gLgdJRxLMoPdT3jBO05MoPfmdn2S3iqZ4/Q== X-Google-Smtp-Source: ABdhPJzD+5mmulyDMjfxO1a3WdRS4tHf74JMiI3HRRrq7bcLCH5s6AHtCZ63y3KsH4Zq+Zw4QaJ3ZHowbsx4Kjmg1jg= X-Received: by 2002:a17:903:1cc:b029:de:98bb:d46d with SMTP id e12-20020a17090301ccb02900de98bbd46dmr15367352plh.54.1612776701660; Mon, 08 Feb 2021 01:31:41 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Pradip Parkale Date: Mon, 8 Feb 2021 15:01:30 +0530 Message-ID: Subject: Re: [pgAdmin][RM6153]: Add publication and subscription support in Schema Diff. To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000681c0005bacfd6ae" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000681c0005bacfd6ae Content-Type: multipart/alternative; boundary="000000000000681bfe05bacfd6ac" --000000000000681bfe05bacfd6ac Content-Type: text/plain; charset="UTF-8" Hi Akshay, Please find the updated patch. On Thu, Feb 4, 2021 at 11:54 AM Akshay Joshi wrote: > Hi Pradip > > I haven't started reviewing your patch but seems you haven't written test > cases for schema diff. Please add and then submit the patch again. > > On Wed, Feb 3, 2021 at 9:51 PM Pradip Parkale < > pradip.parkale@enterprisedb.com> wrote: > >> Hi Hackers, >> >> Please find the attached patch for publication and subscription support >> in Schema Diff. >> >> Also, added the dependencies for publication and subscription. >> >> -- >> Thanks & Regards, >> Pradip Parkale >> Software Engineer | EnterpriseDB Corporation >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Principal Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > -- Thanks & Regards, Pradip Parkale Software Engineer | EnterpriseDB Corporation --000000000000681bfe05bacfd6ac Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Akshay,

Please find the updated patc= h.

On Thu, Feb 4, 2021 at 11:54 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:=
Hi=C2=A0Pradip

I haven't started reviewing your patch but seems you haven't wri= tten test cases for schema diff. Please add and then submit the patch again= .

On Wed, Feb 3, 2021 at 9:51 PM Pradip Parkale <pradip.parkale@enterpris= edb.com> wrote:
Hi Hacker= s,

Please find the attached patch for publication and su= bscription support in Schema Diff.

Also, added the= dependencies for publication and subscription.

<= /div>--
Thanks & Regards,
Pradip Pa= rkale
Software Engineer | EnterpriseDB Corporation


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks & Regards,
Pradip Park= ale
Software Engineer | EnterpriseDB Corporation
--000000000000681bfe05bacfd6ac-- --000000000000681c0005bacfd6ae Content-Type: application/octet-stream; name="RM6153_2.patch" Content-Disposition: attachment; filename="RM6153_2.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kkwdlgat0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9wdWJsaWNhdGlvbnMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL19faW5pdF9fLnB5Cmlu ZGV4IDNkOThmNDM4OC4uZTBkMGMwNDc3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9wdWJsaWNhdGlvbnMvX19pbml0X18ucHkKQEAgLTIxLDYgKzIxLDggQEAgZnJvbSBwZ2FkbWlu LnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vy cm9yLCBcCiBmcm9tIHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCiBmcm9t IGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi50b29scy5zY2hl bWFfZGlmZi5jb21wYXJlIGltcG9ydCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZQorZnJvbSBwZ2Fk bWluLnRvb2xzLnNjaGVtYV9kaWZmLm5vZGVfcmVnaXN0cnkgaW1wb3J0IFNjaGVtYURpZmZSZWdp c3RyeQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKIAogCiBjbGFzcyBQdWJsaWNh dGlvbk1vZHVsZShDb2xsZWN0aW9uTm9kZU1vZHVsZSk6CkBAIC0xNTMsMTcgKzE1NSwxMCBAQCBj bGFzcyBQdWJsaWNhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29t cGFyZSk6CiAgICAgICAtIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgaGFuZGxlciBhbmQgaW5s aW5lIGZ1bmN0aW9ucyBmb3IgdGhlCiAgICAgICBzZWxlY3RlZCBwdWJsaWNhdGlvbiBub2RlCiAK LSAgICAqIGdldF90ZW1wbGF0ZXMoZ2lkLCBzaWQsIGRpZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlv biByZXR1cm5zIHB1YmxpY2F0aW9uIHRlbXBsYXRlcy4KLQogICAgICogc3FsKGdpZCwgc2lkLCBk aWQsIHBiaWQpOgogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIHRvIHNo b3cgaXQgaW4gc3FsIHBhbmUgZm9yIHRoZQogICAgICAgc2VsZWN0ZWQgcHVibGljYXRpb24gbm9k ZS4KIAotICAgICogZGVwZW5kZW50cyhnaWQsIHNpZCwgZGlkLCBwYmlkKToKLSAgICAgIC0gVGhp cyBmdW5jdGlvbiBnZXQgdGhlIGRlcGVuZGVudHMgYW5kIHJldHVybiBhamF4IHJlc3BvbnNlIGZv ciB0aGUKLSAgICAgIHB1YmxpY2F0aW9uIG5vZGUuCi0KICAgICAqIGRlcGVuZGVuY2llcyhzZWxm LCBnaWQsIHNpZCwgZGlkLCBwYmlkKToKICAgICAgIC0gVGhpcyBmdW5jdGlvbiBnZXQgdGhlIGRl cGVuZGVuY2llcyBhbmQgcmV0dXJuIGFqYXggcmVzcG9uc2UgZm9yIHRoZQogICAgICAgcHVibGlj YXRpb24gbm9kZS4KQEAgLTE5NCw3ICsxODksNiBAQCBjbGFzcyBQdWJsaWNhdGlvblZpZXcoUEdD aGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgICdkZXBlbmRl bmN5JzogW3snZ2V0JzogJ2RlcGVuZGVuY2llcyd9XSwKICAgICAgICAgJ2RlcGVuZGVudCc6IFt7 J2dldCc6ICdkZXBlbmRlbnRzJ31dLAogICAgICAgICAnZ2V0X3RhYmxlcyc6IFt7fSwgeydnZXQn OiAnZ2V0X3RhYmxlcyd9XSwKLSAgICAgICAgJ2dldF90ZW1wbGF0ZXMnOiBbe30sIHsnZ2V0Jzog J2dldF90ZW1wbGF0ZXMnfV0sCiAgICAgICAgICdkZWxldGUnOiBbeydkZWxldGUnOiAnZGVsZXRl J30sIHsnZGVsZXRlJzogJ2RlbGV0ZSd9XQogICAgIH0pCiAKQEAgLTI4MSw3ICsyNzUsOCBAQCBj bGFzcyBQdWJsaWNhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29t cGFyZSk6CiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIHN0YXR1cywgcG5hbWUg PSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoZ2V0X25hbWVfc3FsKQogICAgICAgICAgICAgICAg IHRhYmxlX3NxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKLSAgICAgICAgICAgICAgICAgICAgIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2dldF90YWJsZXMuc3FsJ10pLAorICAgICAgICAgICAg ICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5fR0VUX1RBQkxFX0ZPUl9QVUJMSUNBVElPTl0pLAogICAgICAgICAg ICAgICAgICAgICBwbmFtZT1wbmFtZQogICAgICAgICAgICAgICAgICkKIApAQCAtNDEyLDcgKzQw Nyw4IEBAIGNsYXNzIFB1YmxpY2F0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZP YmplY3RDb21wYXJlKToKICAgICAgICAgICAgICkKICAgICAgICAgICAgIHN0YXR1cywgcG5hbWUg PSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoZ2V0X25hbWVfc3FsKQogICAgICAgICAgICAgdGFi bGVfc3FsID0gcmVuZGVyX3RlbXBsYXRlKAotICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxm LnRlbXBsYXRlX3BhdGgsICdnZXRfdGFibGVzLnNxbCddKSwKKyAgICAgICAgICAgICAgICAiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm Ll9HRVRfVEFCTEVfRk9SX1BVQkxJQ0FUSU9OXSksCiAgICAgICAgICAgICAgICAgcG5hbWU9cG5h bWUKICAgICAgICAgICAgICkKIApAQCAtNDQ0LDYgKzQ0MCw5IEBAIGNsYXNzIFB1YmxpY2F0aW9u VmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAg dHJ5OgogICAgICAgICAgICAgZGF0YSA9IHNlbGYuX3BhcnNlcl9kYXRhX2lucHV0X2Zyb21fY2xp ZW50KGRhdGEpCiAKKyAgICAgICAgICAgICMgdW5xdW90ZSB0aGUgdGFibGUgZGF0YQorICAgICAg ICAgICAgZGF0YSA9IHNlbGYudW5xdW90ZV90aGVfdGFibGUoZGF0YSkKKwogICAgICAgICAgICAg c3FsLCBuYW1lID0gc2VsZi5nZXRfc3FsKGRhdGEsIHBiaWQpCiAKICAgICAgICAgICAgICMgTW9z dCBwcm9iYWJseSB0aGlzIGlzIGR1ZSB0byBlcnJvcgpAQCAtNDY1LDYgKzQ2NCwyMiBAQCBjbGFz cyBQdWJsaWNhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFy ZSk6CiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQogCisgICAgZGVmIHVucXVvdGVf dGhlX3RhYmxlKHNlbGYsIGRhdGEpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlv biB1bnF1b3RlIHRoZSB0YWJsZSB2YWx1ZQorICAgICAgICA6cGFyYW0gZGF0YToKKyAgICAgICAg OnJldHVybjogZGF0YQorICAgICAgICAiIiIKKyAgICAgICAgcHVidGFibGUgPSBbXQorCisgICAg ICAgICMgVW5xdW90ZSB0aGUgdmFsdWVzCisgICAgICAgIGlmICdwdWJ0YWJsZScgaW4gZGF0YToK KyAgICAgICAgICAgIGZvciB0YWJsZSBpbiBkYXRhWydwdWJ0YWJsZSddOgorICAgICAgICAgICAg ICAgIHB1YnRhYmxlLmFwcGVuZCh1bnF1b3RlKHRhYmxlKSkKKyAgICAgICAgICAgIGRhdGFbJ3B1 YnRhYmxlJ10gPSBwdWJ0YWJsZQorCisgICAgICAgIHJldHVybiBkYXRhCisKICAgICBAY2hlY2tf cHJlY29uZGl0aW9uCiAgICAgZGVmIGNyZWF0ZShzZWxmLCBnaWQsIHNpZCwgZGlkKToKICAgICAg ICAgIiIiCkBAIC00OTUsNiArNTEwLDkgQEAgY2xhc3MgUHVibGljYXRpb25WaWV3KFBHQ2hpbGRO b2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgogICAgICAgICB0cnk6CiAgICAgICAg ICAgICBkYXRhID0gc2VsZi5fcGFyc2VyX2RhdGFfaW5wdXRfZnJvbV9jbGllbnQoZGF0YSkKIAor ICAgICAgICAgICAgIyB1bnF1b3RlIHRoZSB0YWJsZSBkYXRhCisgICAgICAgICAgICBkYXRhID0g c2VsZi51bnF1b3RlX3RoZV90YWJsZShkYXRhKQorCiAgICAgICAgICAgICBzcWwgPSByZW5kZXJf dGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fQ1JFQVRFX1NRTF0pLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4pCkBAIC01 MjUsNyArNTQzLDcgQEAgY2xhc3MgUHVibGljYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2No ZW1hRGlmZk9iamVjdENvbXBhcmUpOgogICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCiAKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCi0gICAg ZGVmIGRlbGV0ZShzZWxmLCBnaWQsIHNpZCwgZGlkLCBwYmlkPU5vbmUpOgorICAgIGRlZiBkZWxl dGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgcGJpZD1Ob25lLCBvbmx5X3NxbD1GYWxzZSk6CiAgICAg ICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZHJvcCB0aGUgcHVibGljYXRpb24g b2JqZWN0CiAKQEAgLTU1MSw2ICs1NjksNyBAQCBjbGFzcyBQdWJsaWNhdGlvblZpZXcoUEdDaGls ZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgICAgICAgICAgICAg ICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0RFTEVURV9TUUxdKSwKICAgICAg ICAgICAgICAgICAgICAgcGJpZD1wYmlkLCBjb25uPXNlbGYuY29ubgogICAgICAgICAgICAgICAg ICkKKwogICAgICAgICAgICAgICAgIHN0YXR1cywgcG5hbWUgPSBzZWxmLmNvbm4uZXhlY3V0ZV9z Y2FsYXIoc3FsKQogCiAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTU2Miw2ICs1 ODEsMTAgQEAgY2xhc3MgUHVibGljYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlm Zk9iamVjdENvbXBhcmUpOgogICAgICAgICAgICAgICAgICAgICBwbmFtZT1wbmFtZSwgY2FzY2Fk ZT1jYXNjYWRlLCBjb25uPXNlbGYuY29ubgogICAgICAgICAgICAgICAgICkKIAorICAgICAgICAg ICAgICAgICMgVXNlZCBmb3Igc2NoZW1hIGRpZmYgdG9vbAorICAgICAgICAgICAgICAgIGlmIG9u bHlfc3FsOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3FsCisKICAgICAgICAgICAgICAg ICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihzcWwpCiAgICAgICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCkBAIC01OTgsNiArNjIxLDkgQEAgY2xhc3MgUHVi bGljYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgog ICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9 IHYKICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyB1bnF1b3RlIHRoZSB0YWJsZSBkYXRhCisg ICAgICAgICAgICBkYXRhID0gc2VsZi51bnF1b3RlX3RoZV90YWJsZShkYXRhKQorCiAgICAgICAg ICAgICBzcWwsIG5hbWUgPSBzZWxmLmdldF9zcWwoZGF0YSwgcGJpZCkKICAgICAgICAgICAgICMg TW9zdCBwcm9iYWJseSB0aGlzIGlzIGR1ZSB0byBlcnJvcgogICAgICAgICAgICAgaWYgbm90IGlz aW5zdGFuY2Uoc3FsLCBzdHIpOgpAQCAtNjM3LDYgKzY2MywzMSBAQCBjbGFzcyBQdWJsaWNhdGlv blZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAKICAgICAg ICAgcmV0dXJuIGRhdGEKIAorICAgIGRlZiBfZ2V0X3RhYmxlX2RldGFpbHNfdG9fYWRkX2FuZF9k ZWxldGUoc2VsZiwgb2xkX2RhdGEsIGRhdGEpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBm dW5jdGlvbiByZXR1cm5zIHRoZSB0YWJsZXMgd2hpY2ggbmVlZCB0byBhZGQgYW5kIGRlbGV0ZQor ICAgICAgICA6cGFyYW0gb2xkX2RhdGE6CisgICAgICAgIDpwYXJhbSBkYXRhOgorICAgICAgICA6 cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgZHJvcF90YWJsZV9kYXRhID0gW10KKyAgICAg ICAgYWRkX3RhYmxlX2RhdGEgPSBbXQorICAgICAgICBkcm9wX3RhYmxlID0gRmFsc2UKKyAgICAg ICAgYWRkX3RhYmxlID0gRmFsc2UKKworICAgICAgICBmb3IgdGFibGUgaW4gb2xkX2RhdGFbJ3B1 YnRhYmxlJ106CisgICAgICAgICAgICBpZiAncHVidGFibGUnIGluIGRhdGEgYW5kIHRhYmxlIG5v dCBpbiBkYXRhWydwdWJ0YWJsZSddOgorICAgICAgICAgICAgICAgIGRyb3BfdGFibGVfZGF0YS5h cHBlbmQodGFibGUpCisgICAgICAgICAgICAgICAgZHJvcF90YWJsZSA9IFRydWUKKworICAgICAg ICBpZiAncHVidGFibGUnIGluIGRhdGE6CisgICAgICAgICAgICBmb3IgdGFibGUgaW4gZGF0YVsn cHVidGFibGUnXToKKyAgICAgICAgICAgICAgICBpZiB0YWJsZSBub3QgaW4gb2xkX2RhdGFbJ3B1 YnRhYmxlJ106CisgICAgICAgICAgICAgICAgICAgIGFkZF90YWJsZV9kYXRhLmFwcGVuZCh0YWJs ZSkKKyAgICAgICAgICAgICAgICAgICAgYWRkX3RhYmxlID0gVHJ1ZQorCisgICAgICAgIHJldHVy biBkcm9wX3RhYmxlLCBhZGRfdGFibGUsIGRyb3BfdGFibGVfZGF0YSwgYWRkX3RhYmxlX2RhdGEK KwogICAgIGRlZiBnZXRfc3FsKHNlbGYsIGRhdGEsIHBiaWQ9Tm9uZSk6CiAgICAgICAgICIiIgog ICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgc3FsIGZyb20gbW9kZWwgZGF0YS4K QEAgLTY0OCw5ICs2OTksNiBAQCBjbGFzcyBQdWJsaWNhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSBbCiAg ICAgICAgICAgICAnbmFtZScKICAgICAgICAgXQotICAgICAgICBkcm9wX3RhYmxlID0gRmFsc2UK LSAgICAgICAgYWRkX3RhYmxlID0gRmFsc2UKLQogICAgICAgICBpZiBwYmlkIGlzIG5vdCBOb25l OgogICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAgICIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX1BST1BFUlRJRVNfU1FMXSksIHBiaWQ9 cGJpZApAQCAtNjY0LDIwICs3MTIsOCBAQCBjbGFzcyBQdWJsaWNhdGlvblZpZXcoUEdDaGlsZE5v ZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAKICAgICAgICAgICAgIG9sZF9kYXRh ID0gc2VsZi5fZ2V0X29sZF90YWJsZV9kYXRhKHJlc1sncm93cyddWzBdWyduYW1lJ10sIHJlcykK IAotICAgICAgICAgICAgZHJvcF90YWJsZV9kYXRhID0gW10KLQotICAgICAgICAgICAgYWRkX3Rh YmxlX2RhdGEgPSBbXQotCi0gICAgICAgICAgICBmb3IgdGFibGUgaW4gb2xkX2RhdGFbJ3B1YnRh YmxlJ106Ci0gICAgICAgICAgICAgICAgaWYgJ3B1YnRhYmxlJyBpbiBkYXRhIGFuZCB0YWJsZSBu b3QgaW4gZGF0YVsncHVidGFibGUnXToKLSAgICAgICAgICAgICAgICAgICAgZHJvcF90YWJsZV9k YXRhLmFwcGVuZCh0YWJsZSkKLSAgICAgICAgICAgICAgICAgICAgZHJvcF90YWJsZSA9IFRydWUK LQotICAgICAgICAgICAgaWYgJ3B1YnRhYmxlJyBpbiBkYXRhOgotICAgICAgICAgICAgICAgIGZv ciB0YWJsZSBpbiBkYXRhWydwdWJ0YWJsZSddOgotICAgICAgICAgICAgICAgICAgICBpZiB0YWJs ZSBub3QgaW4gb2xkX2RhdGFbJ3B1YnRhYmxlJ106Ci0gICAgICAgICAgICAgICAgICAgICAgICBh ZGRfdGFibGVfZGF0YS5hcHBlbmQodGFibGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBhZGRf dGFibGUgPSBUcnVlCisgICAgICAgICAgICBkcm9wX3RhYmxlLCBhZGRfdGFibGUsIGRyb3BfdGFi bGVfZGF0YSwgYWRkX3RhYmxlX2RhdGEgPSBcCisgICAgICAgICAgICAgICAgc2VsZi5fZ2V0X3Rh YmxlX2RldGFpbHNfdG9fYWRkX2FuZF9kZWxldGUob2xkX2RhdGEsIGRhdGEpCiAKICAgICAgICAg ICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKICAgICAgICAgICAgICAgICBpZiBhcmcgbm90 IGluIGRhdGE6CkBAIC03NDMsNyArNzc5LDcgQEAgY2xhc3MgUHVibGljYXRpb25WaWV3KFBHQ2hp bGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgogICAgICAgICAiIiIKIAogICAg ICAgICB0YWJsZV9zcWwgPSByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAgICAgICAiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLCAnZ2V0X3RhYmxlcy5zcWwnXSksCisgICAgICAgICAgICAiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCBzZWxmLl9HRVRfVEFCTEVfRk9SX1BVQkxJQ0FUSU9O XSksCiAgICAgICAgICAgICBwbmFtZT1wbmFtZQogICAgICAgICApCiAKQEAgLTg1NCw1ICs4OTAs MTAyIEBAIGNsYXNzIFB1YmxpY2F0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZP YmplY3RDb21wYXJlKToKICAgICAgICAgICAgIHN0YXR1cz0yMDAKICAgICAgICAgKQogCisgICAg ZGVmIGdldF9kZXBlbmRlbmNpZXMoc2VsZiwgY29ubiwgb2JqZWN0X2lkLCB3aGVyZT1Ob25lLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9Tm9uZSwgaXNfc2No ZW1hX2RpZmY9RmFsc2UpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBnZXRz IHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybnMgYW4gYWpheCByZXNwb25zZQorICAgICAgICBm b3IgdGhlIHB1YmxpY2F0aW9uIG5vZGUuCisgICAgICAgIDpwYXJhbSBjb25uOgorICAgICAgICA6 cGFyYW0gb2JqZWN0X2lkOgorICAgICAgICA6cGFyYW0gd2hlcmU6CisgICAgICAgIDpwYXJhbSBz aG93X3N5c3RlbV9vYmplY3RzOgorICAgICAgICA6cGFyYW0gaXNfc2NoZW1hX2RpZmY6CisgICAg ICAgIDpyZXR1cm46IGRlcGVuZGVuY2llcyByZXN1bHQKKyAgICAgICAgIiIiCisKKyAgICAgICAg Z2V0X25hbWVfc3FsID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3Nl bGYudGVtcGxhdGVfcGF0aCwgc2VsZi5fREVMRVRFX1NRTF0pLAorICAgICAgICAgICAgcGJpZD1v YmplY3RfaWQsIGNvbm49c2VsZi5jb25uCisgICAgICAgICkKKyAgICAgICAgc3RhdHVzLCBwbmFt ZSA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihnZXRfbmFtZV9zcWwpCisgICAgICAgIHRhYmxl X3NxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdkZXBlbmRlbmNpZXMuc3FsJ10pLAorICAgICAgICAgICAgcG5hbWU9cG5hbWUK KyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qo dGFibGVfc3FsKQorICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgZGVwZW5kZW5jaWVz X3Jlc3VsdCA9IFtdCisKKyAgICAgICAgZm9yIHB1Yl90YWJsZSBpbiByZXNbJ3Jvd3MnXToKKyAg ICAgICAgICAgIGRlcGVuZGVuY2llc19yZXN1bHQuYXBwZW5kKAorICAgICAgICAgICAgICAgIHsn dHlwZSc6ICd0YWJsZScsCisgICAgICAgICAgICAgICAgICduYW1lJzogcHViX3RhYmxlWydwdWJ0 YWJsZSddLAorICAgICAgICAgICAgICAgICAnZmllbGQnOiAnbm9ybWFsJywKKyAgICAgICAgICAg ICAgICAgJ29pZCc6IHB1Yl90YWJsZVsnb2lkJ119KQorCisgICAgICAgIHJldHVybiBkZXBlbmRl bmNpZXNfcmVzdWx0CisKKyAgICBAY2hlY2tfcHJlY29uZGl0aW9uCisgICAgZGVmIGZldGNoX29i amVjdHNfdG9fY29tcGFyZShzZWxmLCBzaWQsIGRpZCk6CisgICAgICAgICIiIgorICAgICAgICBU aGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggdGhlIGxpc3Qgb2YgYWxsIHRoZSBldmVudCB0cmlnZ2Vy cyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGRhdGFiYXNlIGlkLgorCisgICAgICAgIDpwYXJhbSBz aWQ6IFNlcnZlciBJZAorICAgICAgICA6cGFyYW0gZGlkOiBEYXRhYmFzZSBJZAorICAgICAgICA6 cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgcmVzID0gZGljdCgpCisKKyAgICAgICAgaWYg c2VsZi5tYW5hZ2VyLnZlcnNpb24gPCAxMDAwMDA6CisgICAgICAgICAgICByZXR1cm4gcmVzCisK KyAgICAgICAgbGFzdF9zeXN0ZW1fb2lkID0gMAorICAgICAgICBpZiBzZWxmLm1hbmFnZXIuZGJf aW5mbyBpcyBub3QgTm9uZSBhbmQgZGlkIGluIHNlbGYubWFuYWdlci5kYl9pbmZvOgorICAgICAg ICAgICAgbGFzdF9zeXN0ZW1fb2lkID0gKHNlbGYubWFuYWdlci5kYl9pbmZvW2RpZF0pWydkYXRs YXN0c3lzb2lkJ10KKworICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAg ICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnbm9kZXMuc3FsJ10pLAorICAgICAgICAg ICAgZGF0bGFzdHN5c29pZD1sYXN0X3N5c3RlbV9vaWQsCisgICAgICAgICAgICBzaG93c3lzb2Jq PXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMKKyAgICAgICAgKQorICAgICAgICBz dGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KHNxbCkKKyAgICAgICAgaWYg bm90IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cnNldCkKKworICAgICAgICBmb3Igcm93IGluIHJzZXRbJ3Jvd3MnXToKKyAgICAgICAg ICAgIHN0YXR1cywgZGF0YSA9IHNlbGYuX2ZldGNoX3Byb3BlcnRpZXMoZGlkLCByb3dbJ29pZCdd KQorICAgICAgICAgICAgaWYgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJlc1tyb3dbJ25hbWUn XV0gPSBkYXRhCisKKyAgICAgICAgcmV0dXJuIHJlcworCisgICAgZGVmIGdldF9zcWxfZnJvbV9k aWZmKHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24g aXMgdXNlZCB0byBnZXQgdGhlIERETC9ETUwgc3RhdGVtZW50cy4KKyAgICAgICAgOnBhcmFtIGt3 YXJnczoKKyAgICAgICAgOnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAgIGdpZCA9IGt3YXJn cy5nZXQoJ2dpZCcpCisgICAgICAgIHNpZCA9IGt3YXJncy5nZXQoJ3NpZCcpCisgICAgICAgIGRp ZCA9IGt3YXJncy5nZXQoJ2RpZCcpCisgICAgICAgIG9pZCA9IGt3YXJncy5nZXQoJ29pZCcpCisg ICAgICAgIGRhdGEgPSBrd2FyZ3MuZ2V0KCdkYXRhJywgTm9uZSkKKyAgICAgICAgZHJvcF9zcWwg PSBrd2FyZ3MuZ2V0KCdkcm9wX3NxbCcsIEZhbHNlKQorCisgICAgICAgIGlmIGRhdGE6CisgICAg ICAgICAgICBzcWwsIG5hbWUgPSBzZWxmLmdldF9zcWwoZGF0YT1kYXRhLCBwYmlkPW9pZCkKKyAg ICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGRyb3Bfc3FsOgorICAgICAgICAgICAgICAgIHNx bCA9IHNlbGYuZGVsZXRlKGdpZD1naWQsIHNpZD1zaWQsIGRpZD1kaWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGJpZD1vaWQsIG9ubHlfc3FsPVRydWUpCisgICAgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgICAgIHNxbCA9IHNlbGYuc3FsKGdpZD1naWQsIHNpZD1zaWQs IGRpZD1kaWQsIHBiaWQ9b2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb25f cmVzcD1GYWxzZSkKKyAgICAgICAgcmV0dXJuIHNxbAorCiAKK1NjaGVtYURpZmZSZWdpc3RyeShi bHVlcHJpbnQubm9kZV90eXBlLCBQdWJsaWNhdGlvblZpZXcsICdEYXRhYmFzZScpCiBQdWJsaWNh dGlvblZpZXcucmVnaXN0ZXJfbm9kZV92aWV3KGJsdWVwcmludCkKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlv bnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9kZWxldGUuc3FsIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3B1YmxpY2F0aW9u cy90ZW1wbGF0ZXMvcHVibGljYXRpb25zL3NxbC9kZWZhdWx0L2RlbGV0ZS5zcWwKaW5kZXggOThj YjVkMGQxLi43ZWZiMTNhY2YgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0 aW9ucy9zcWwvZGVmYXVsdC9kZWxldGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1Ymxp Y2F0aW9ucy9zcWwvZGVmYXVsdC9kZWxldGUuc3FsCkBAIC0xLDYgKzEsNiBAQAogeyMgPT09PT09 PT09PT09PSBHZXQgdGhlIHB1YmxpY2F0aW9uIG5hbWUgdXNpbmcgb2lkID09PT09PT09PT09PT0g I30KIHslIGlmIHBiaWQgJX0KLSAgICBTRUxFQ1QgcHVibmFtZSBGUk9NIHBnX3B1YmxpY2F0aW9u IFdIRVJFIG9pZCA9IHt7cGJpZH19OjpvaWQ7CitTRUxFQ1QgcHVibmFtZSBGUk9NIHBnX3B1Ymxp Y2F0aW9uIFdIRVJFIG9pZCA9IHt7cGJpZH19OjpvaWQ7CiB7JSBlbmRpZiAlfQogeyMgPT09PT09 PT09PT09PSBEcm9wIHRoZSBwdWJsaWNhdGlvbiA9PT09PT09PT09PT09ICN9CiB7JSBpZiBwbmFt ZSAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3B1YmxpY2F0aW9ucy90ZW1wbGF0ZXMvcHVibGljYXRpb25zL3NxbC9kZWZh dWx0L2RlcGVuZGVuY2llcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3RlbXBsYXRlcy9wdWJsaWNhdGlvbnMvc3Fs L2RlZmF1bHQvZGVwZW5kZW5jaWVzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLjQ2Mzk5ZTMwNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1 YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9kZXBlbmRlbmNpZXMuc3FsCkBAIC0wLDAgKzEsNSBAQAor U0VMRUNUIGNsLm9pZCBBUyBvaWQsCitxdW90ZV9pZGVudChwZ2JfdGFibGUuc2NoZW1hbmFtZSl8 fCcuJ3x8cXVvdGVfaWRlbnQocGdiX3RhYmxlLnRhYmxlbmFtZSkgQVMgcHVidGFibGUKK0ZST00g cGdfcHVibGljYXRpb25fdGFibGVzIHBnYl90YWJsZQorTEVGVCBKT0lOIHBnX2NsYXNzIGNsIE9O IHBnYl90YWJsZS50YWJsZW5hbWUgPSBjbC5yZWxuYW1lCitXSEVSRSBwdWJuYW1lID0gJ3t7IHBu YW1lIH19JyBBTkQgcGdiX3RhYmxlLnNjaGVtYW5hbWUgTk9UIExJS0UgJ3BnYWdlbnQnOwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3B1YmxpY2F0aW9ucy90ZW1wbGF0ZXMvcHVibGljYXRpb25zL3NxbC9kZWZhdWx0L2dldF9h bGxfdGFibGVzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVs dC9nZXRfYWxsX3RhYmxlcy5zcWwKaW5kZXggZjVmNzAyNTAzLi44NzRjZjAwZWIgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9w dWJsaWNhdGlvbnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9nZXRfYWxsX3Rh Ymxlcy5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3B1YmxpY2F0aW9ucy90ZW1wbGF0ZXMvcHVibGljYXRpb25zL3NxbC9kZWZhdWx0 L2dldF9hbGxfdGFibGVzLnNxbApAQCAtMSw2ICsxLDYgQEAKIFNFTEVDVCBxdW90ZV9pZGVudChj LnRhYmxlX3NjaGVtYSl8fCcuJ3x8cXVvdGVfaWRlbnQoYy50YWJsZV9uYW1lKSBBUyB0YWJsZQog RlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudGFibGVzIGMKLXdoZXJlIGMudGFibGVfdHlwZSA9ICdC QVNFIFRBQkxFJworV0hFUkUgYy50YWJsZV90eXBlID0gJ0JBU0UgVEFCTEUnCiAgICAgICBBTkQg Yy50YWJsZV9zY2hlbWEgTk9UIExJS0UgJ3BnXF8lJwogICAgICAgQU5EIGMudGFibGVfc2NoZW1h IE5PVCBMSUtFICdwZ2FnZW50JwogICAgICAgQU5EIGMudGFibGVfc2NoZW1hIE5PVCBJTiAoJ2lu Zm9ybWF0aW9uX3NjaGVtYScpIE9SREVSIEJZIDE7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3RlbXBs YXRlcy9wdWJsaWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X3Bvc2l0aW9uLnNxbCBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlvbnMv dGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9nZXRfcG9zaXRpb24uc3FsCmluZGV4 IDY1NmY2OTA3Zi4uODA5MTRiNjA2IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3RlbXBsYXRlcy9wdWJs aWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X3Bvc2l0aW9uLnNxbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVibGljYXRpb25zL3RlbXBs YXRlcy9wdWJsaWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X3Bvc2l0aW9uLnNxbApAQCAtMSArMSBA QAotU0VMRUNUIG9pZCwgcHVibmFtZSBBUyBuYW1lIEZST00gcGdfcHVibGljYXRpb24gd2hlcmUg cHVibmFtZSA9ICd7eyBwdWJuYW1lIH19JzsKK1NFTEVDVCBvaWQsIHB1Ym5hbWUgQVMgbmFtZSBG Uk9NIHBnX3B1YmxpY2F0aW9uIFdIRVJFIHB1Ym5hbWUgPSAne3sgcHVibmFtZSB9fSc7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvcHVibGljYXRpb25zL3RlbXBsYXRlcy9wdWJsaWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X3Rh Ymxlcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvcHVibGljYXRpb25zL3RlbXBsYXRlcy9wdWJsaWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0 X3RhYmxlcy5zcWwKaW5kZXggYjE4MDM5YjlhLi4xODQ5YjY1ZWEgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9wdWJsaWNhdGlv bnMvdGVtcGxhdGVzL3B1YmxpY2F0aW9ucy9zcWwvZGVmYXVsdC9nZXRfdGFibGVzLnNxbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvcHVi bGljYXRpb25zL3RlbXBsYXRlcy9wdWJsaWNhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X3RhYmxlcy5z cWwKQEAgLTEgKzEsMyBAQAotU0VMRUNUIHF1b3RlX2lkZW50KHBnYl90YWJsZS5zY2hlbWFuYW1l KXx8Jy4nfHxxdW90ZV9pZGVudChwZ2JfdGFibGUudGFibGVuYW1lKSAgQVMgcHVidGFibGUgIEZS T00gcGdfcHVibGljYXRpb25fdGFibGVzIHBnYl90YWJsZSB3aGVyZSBwdWJuYW1lID0gJ3t7IHBu YW1lIH19JyBhbmQgcGdiX3RhYmxlLnNjaGVtYW5hbWUgTk9UIExJS0UgJ3BnYWdlbnQnOworU0VM RUNUIHF1b3RlX2lkZW50KHBnYl90YWJsZS5zY2hlbWFuYW1lKXx8Jy4nfHxxdW90ZV9pZGVudChw Z2JfdGFibGUudGFibGVuYW1lKQorQVMgcHVidGFibGUgIEZST00gcGdfcHVibGljYXRpb25fdGFi bGVzIHBnYl90YWJsZSBXSEVSRSBwdWJuYW1lID0gJ3t7IHBuYW1lIH19JworQU5EIHBnYl90YWJs ZS5zY2hlbWFuYW1lIE5PVCBMSUtFICdwZ2FnZW50JzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3N1YnNjcmlwdGlvbnMvX19pbml0X18ucHkKaW5kZXggZTk3MGU3OWU5Li5mMmU3MjIw N2QgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL19faW5p dF9fLnB5CkBAIC0xNjksNyArMTY5LDcgQEAgY2xhc3MgU3Vic2NyaXB0aW9uVmlldyhQR0NoaWxk Tm9kZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgIC0gVGhpcyBmdW5jdGlv biBnZXQgdGhlIGRlcGVuZGVudHMgYW5kIHJldHVybiBhamF4IHJlc3BvbnNlIGZvciB0aGUKICAg ICAgIHN1YnNjcmlwdGlvbiBub2RlLgogCi0gICAgKiBkZXBlbmRlbmNpZXMoc2VsZiwgZ2lkLCBz aWQsIGRpZCwgc3ViaWQpOgorICAgICogZGVwZW5kZW5jaWVzKGdpZCwgc2lkLCBkaWQsIHN1Ymlk KToKICAgICAgIC0gVGhpcyBmdW5jdGlvbiBnZXQgdGhlIGRlcGVuZGVuY2llcyBhbmQgcmV0dXJu IGFqYXggcmVzcG9uc2UgZm9yIHRoZQogICAgICAgc3Vic2NyaXB0aW9uIG5vZGUuCiAgICAgIiIi CkBAIC0zNzksMjggKzM3OSwxMCBAQCBjbGFzcyBTdWJzY3JpcHRpb25WaWV3KFBHQ2hpbGROb2Rl VmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgogCiAgICAgICAgIHJldHVybiBUcnVlLCBy ZXNbJ3Jvd3MnXVswXQogCi0gICAgQGNoZWNrX3ByZWNvbmRpdGlvbgotICAgIGRlZiBkZXBlbmRl bnRzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHN1YmlkKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRo aXMgZnVuY3Rpb24gZ2V0cyB0aGUgZGVwZW5kZW50cyBhbmQgcmV0dXJucyBhbiBhamF4IHJlc3Bv bnNlCi0gICAgICAgIGZvciB0aGUgdmlldyBub2RlLgotCi0gICAgICAgIEFyZ3M6Ci0gICAgICAg ICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAotICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKLSAg ICAgICAgICAgIGRpZDogRGF0YWJhc2UgSUQKLSAgICAgICAgICAgIHN1YmlkOiBWaWV3IElECi0g ICAgICAgICIiIgotICAgICAgICBkZXBlbmRlbnRzX3Jlc3VsdCA9IHNlbGYuZ2V0X2RlcGVuZGVu dHMoc2VsZi5jb25uLCBzdWJpZCkKLSAgICAgICAgcmV0dXJuIGFqYXhfcmVzcG9uc2UoCi0gICAg ICAgICAgICByZXNwb25zZT1kZXBlbmRlbnRzX3Jlc3VsdCwKLSAgICAgICAgICAgIHN0YXR1cz0y MDAKLSAgICAgICAgKQotCiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiBzdGF0aXN0 aWNzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHN1YmlkKToKICAgICAgICAgIiIiCi0gICAgICAgIFRo aXMgZnVuY3Rpb24gZ2V0cyB0aGUgZGVwZW5kZW50cyBhbmQgcmV0dXJucyBhbiBhamF4IHJlc3Bv bnNlCisgICAgICAgIFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgc3RhdGlzdGljcyBhbmQgcmV0dXJu cyBhbiBhamF4IHJlc3BvbnNlCiAgICAgICAgIGZvciB0aGUgdmlldyBub2RlLgogCiAgICAgICAg IEFyZ3M6CkBAIC00MTgsMjQgKzQwMCw2IEBAIGNsYXNzIFN1YnNjcmlwdGlvblZpZXcoUEdDaGls ZE5vZGVWaWV3LCBTY2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgICAgICBzdGF0dXM9 MjAwCiAgICAgICAgICkKIAotICAgIEBjaGVja19wcmVjb25kaXRpb24KLSAgICBkZWYgZGVwZW5k ZW5jaWVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHN1YmlkKToKLSAgICAgICAgIiIiCi0gICAgICAg IFRoaXMgZnVuY3Rpb24gZ2V0cyB0aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm5zIGFuIGFqYXgg cmVzcG9uc2UKLSAgICAgICAgZm9yIHRoZSB2aWV3IG5vZGUuCi0KLSAgICAgICAgQXJnczoKLSAg ICAgICAgICAgIGdpZDogU2VydmVyIEdyb3VwIElECi0gICAgICAgICAgICBzaWQ6IFNlcnZlciBJ RAotICAgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAotICAgICAgICAgICAgc3ViaWQ6IFZpZXcg SUQKLSAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llc19yZXN1bHQgPSBzZWxmLmdldF9k ZXBlbmRlbmNpZXMoc2VsZi5jb25uLCBzdWJpZCkKLSAgICAgICAgcmV0dXJuIGFqYXhfcmVzcG9u c2UoCi0gICAgICAgICAgICByZXNwb25zZT1kZXBlbmRlbmNpZXNfcmVzdWx0LAotICAgICAgICAg ICAgc3RhdHVzPTIwMAotICAgICAgICApCi0KICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAg ZGVmIHVwZGF0ZShzZWxmLCBnaWQsIHNpZCwgZGlkLCBzdWJpZCk6CiAgICAgICAgICIiIgpAQCAt NTM3LDcgKzUwMSw3IEBAIGNsYXNzIFN1YnNjcmlwdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBT Y2hlbWFEaWZmT2JqZWN0Q29tcGFyZSk6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2Vy dmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKIAogICAgIEBjaGVja19wcmVjb25kaXRpb24KLSAg ICBkZWYgZGVsZXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHN1YmlkPU5vbmUpOgorICAgIGRlZiBk ZWxldGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc3ViaWQ9Tm9uZSwgb25seV9zcWw9RmFsc2UpOgog ICAgICAgICAiIiIKICAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGRyb3AgdGhlIHN1YnNjcmlw dGlvbiBvYmplY3QKIApAQCAtNTc1LDYgKzUzOSwxMCBAQCBjbGFzcyBTdWJzY3JpcHRpb25WaWV3 KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgogICAgICAgICAgICAg ICAgICAgICBzdWJuYW1lPXN1Ym5hbWUsIGNhc2NhZGU9Y2FzY2FkZSwgY29ubj1zZWxmLmNvbm4K ICAgICAgICAgICAgICAgICApCiAKKyAgICAgICAgICAgICAgICAjIFVzZWQgZm9yIHNjaGVtYSBk aWZmIHRvb2wKKyAgICAgICAgICAgICAgICBpZiBvbmx5X3NxbDoKKyAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIHNxbAorCiAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4u ZXhlY3V0ZV9zY2FsYXIoc3FsKQogICAgICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQpAQCAtNjI1LDI2ICs1OTMsMzIgQEAgY2xhc3MgU3Vic2NyaXB0aW9uVmlldyhQR0NoaWxkTm9k ZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1z Zz1zdHIoZSkpCiAKLSAgICBkZWYgZ2V0X2RldGFpbHMoc2VsZiwgZGF0YSwgb2xkX2RhdGEpOgor ICAgIGRlZiBnZXRfcmVxdWlyZWRfZGV0YWlscyhzZWxmLCBkYXRhLCBvbGRfZGF0YSk6CiAgICAg ICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlcXVpcmVkIGRhdGEg dG8gY3JlYXRlIHN1YnNjcmlwdGlvbgogICAgICAgICA6cGFyYW0gZGF0YToKLSAgICAgICAgOnJl dHVybjoKKyAgICAgICAgOnJldHVybjpkYXRhICwgb2xkX2RhdGEKIAogICAgICAgICAiIiIKICAg ICAgICAgcmVxdWlyZWRfYXJncyA9IFsnbmFtZSddCiAKICAgICAgICAgcmVxdWlyZWRfY29ubmVj dGlvbl9hcmdzID0gWydob3N0JywgJ3BvcnQnLCAndXNlcm5hbWUnLCAnZGInLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nvbm5lY3RfdGltZW91dCcsICdwYXNzZmlsZSdd CisKKyAgICAgICAgIyBTZXQgY29ubmVjdGlvbiB0aW1lIG91dCB0byB6ZXJvIGlmIGluaXRpYWwg c2V0CisgICAgICAgICMgdmFsdWUgaXMgcmVwbGFjZWQgdG8gJycKKyAgICAgICAgaWYgJ2Nvbm5l Y3RfdGltZW91dCcgaW4gZGF0YSBhbmQgZGF0YVsnY29ubmVjdF90aW1lb3V0J10gPT0gJyc6Cisg ICAgICAgICAgICBkYXRhWydjb25uZWN0X3RpbWVvdXQnXSA9IDAKKwogICAgICAgICBmb3IgYXJn IGluIHJlcXVpcmVkX2FyZ3M6Ci0gICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGEgYW5kIGFy ZyBpbiBvbGRfZGF0YToKKyAgICAgICAgICAgIGlmIGFyZyBub3QgaW4gZGF0YToKICAgICAgICAg ICAgICAgICBkYXRhW2FyZ10gPSBvbGRfZGF0YVthcmddCiAKICAgICAgICAgZm9yIGFyZyBpbiBy ZXF1aXJlZF9jb25uZWN0aW9uX2FyZ3M6Ci0gICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGEg YW5kIGFyZyBpbiBvbGRfZGF0YToKLSAgICAgICAgICAgICAgICBkYXRhW2FyZ10gPSBvbGRfZGF0 YVthcmddCisgICAgICAgICAgICBpZiBhcmcgaW4gZGF0YToKKyAgICAgICAgICAgICAgICBvbGRf ZGF0YVthcmddID0gZGF0YVthcmddCiAKLSAgICAgICAgcmV0dXJuIGRhdGEKKyAgICAgICAgcmV0 dXJuIGRhdGEsIG9sZF9kYXRhCiAKICAgICBkZWYgZ2V0X3NxbChzZWxmLCBkYXRhLCBzdWJpZD1O b25lLCBvcGVyYXRpb249Tm9uZSk6CiAgICAgICAgICIiIgpAQCAtNjU1LDEwICs2MjksNiBAQCBj bGFzcyBTdWJzY3JpcHRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENv bXBhcmUpOgogICAgICAgICAgICAgc3ViaWQ6IFN1YnNjcmlwdGlvbiBJRAogICAgICAgICAiIiIK IAotICAgICAgICByZXF1aXJlZF9hcmdzID0gWyduYW1lJ10KLQotICAgICAgICByZXF1aXJlZF9j b25uZWN0aW9uX2FyZ3MgPSBbJ2hvc3QnLCAncG9ydCcsICd1c2VybmFtZScsICdkYicsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29ubmVjdF90aW1lb3V0JywgJ3Bhc3Nm aWxlJ10KICAgICAgICAgaWYgb3BlcmF0aW9uID09ICdtc3FsJzoKICAgICAgICAgICAgIGR1bW15 ID0gVHJ1ZQogICAgICAgICBlbHNlOgpAQCAtNjc3LDEzICs2NDcsNyBAQCBjbGFzcyBTdWJzY3Jp cHRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgogICAg ICAgICAgICAgICAgIHJldHVybiBnb25lKHNlbGYuX05PVF9GT1VORF9QVUJfSU5GT1JNQVRJT04p CiAKICAgICAgICAgICAgIG9sZF9kYXRhID0gcmVzWydyb3dzJ11bMF0KLSAgICAgICAgICAgIGZv ciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKLSAgICAgICAgICAgICAgICBpZiBhcmcgbm90IGluIGRh dGE6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGFbYXJnXSA9IG9sZF9kYXRhW2FyZ10KLQotICAg ICAgICAgICAgZm9yIGFyZyBpbiByZXF1aXJlZF9jb25uZWN0aW9uX2FyZ3M6Ci0gICAgICAgICAg ICAgICAgaWYgYXJnIGluIGRhdGE6Ci0gICAgICAgICAgICAgICAgICAgIG9sZF9kYXRhW2FyZ10g PSBkYXRhW2FyZ10KKyAgICAgICAgICAgIGRhdGEsIG9sZF9kYXRhID0gc2VsZi5nZXRfcmVxdWly ZWRfZGV0YWlscyhkYXRhLCBvbGRfZGF0YSkKIAogICAgICAgICAgICAgaWYgJ3Nsb3RfbmFtZScg aW4gZGF0YSBhbmQgZGF0YVsnc2xvdF9uYW1lJ10gPT0gJyc6CiAgICAgICAgICAgICAgICAgZGF0 YVsnc2xvdF9uYW1lJ10gPSAnTm9uZScKQEAgLTcwMiw2ICs2NjYsMTEgQEAgY2xhc3MgU3Vic2Ny aXB0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNjaGVtYURpZmZPYmplY3RDb21wYXJlKToKICAg ICAgICAgICAgIHJldHVybiBzcWwuc3RyaXAoJ1xuJyksIGRhdGFbJ25hbWUnXQogCiAgICAgZGVm IGdldF9jb25uZWN0aW9uKHNlbGYsIGNvbm5lY3Rpb25fZGV0YWlscyk6CisgICAgICAgICIiIgor ICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29ubmVjdCB0byBEQiBhbmQgcmV0dXJu cyB0aGUgcHVibGljYXRpb25zCisgICAgICAgIDpwYXJhbSBjb25uZWN0aW9uX2RldGFpbHM6Cisg ICAgICAgIDpyZXR1cm46IHB1YmxpY2F0aW9uIGxpc3QKKyAgICAgICAgIiIiCiAKICAgICAgICAg cGFzc2ZpbGUgPSBjb25uZWN0aW9uX2RldGFpbHNbJ3Bhc3NmaWxlJ10gaWYgXAogICAgICAgICAg ICAgJ3Bhc3NmaWxlJyBpbiBjb25uZWN0aW9uX2RldGFpbHMgYW5kIFwKQEAgLTc3MiwxMyArNzQx LDEzIEBAIGNsYXNzIFN1YnNjcmlwdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBTY2hlbWFEaWZm T2JqZWN0Q29tcGFyZSk6CiAgICAgZGVmIHNxbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBzdWJpZCwg anNvbl9yZXNwPVRydWUpOgogICAgICAgICAiIiIKICAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxs IGdlbmVyYXRlIHNxbCB0byBzaG93IGluIHRoZSBzcWwgcGFuZSBmb3IgdGhlCi0gICAgICAgIHNl bGVjdGVkIHB1YmxpY2F0aW9uIG5vZGUuCisgICAgICAgIHNlbGVjdGVkIHN1YnNjcmlwdGlvbiBu b2RlLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAog ICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKICAgICAgICAgICAgIGRpZDogRGF0YWJhc2UgSUQK LSAgICAgICAgICAgIHN1YmlkOiBQdWJsaWNhdGlvbiBJRAorICAgICAgICAgICAgc3ViaWQ6IFN1 YnNjcmlwdGlvbiBJRAogICAgICAgICAgICAganNvbl9yZXNwOgogICAgICAgICAiIiIKICAgICAg ICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKApAQCAtNzk0LDggKzc2MywxMSBAQCBjbGFzcyBTdWJz Y3JpcHRpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgog CiAgICAgICAgICMgTWFraW5nIGNvcHkgb2Ygb3V0cHV0IGZvciBmdXR1cmUgdXNlCiAgICAgICAg IG9sZF9kYXRhID0gZGljdChyZXNbJ3Jvd3MnXVswXSkKLSAgICAgICAgaWYgb2xkX2RhdGFbJ3Ns b3RfbmFtZSddIGlzIE5vbmUgYW5kICdjcmVhdGVfc2xvdCcgbm90IGluIG9sZF9kYXRhOgotICAg ICAgICAgICAgb2xkX2RhdGFbJ2NyZWF0ZV9zbG90J10gPSBGYWxzZQorICAgICAgICBvbGRfZGF0 YVsnY3JlYXRlX3Nsb3QnXSA9IEZhbHNlCisgICAgICAgIGlmIG9sZF9kYXRhWydlbmFibGVkJ106 CisgICAgICAgICAgICBvbGRfZGF0YVsnY29ubmVjdCddID0gVHJ1ZQorICAgICAgICBlbHNlOgor ICAgICAgICAgICAgb2xkX2RhdGFbJ2Nvbm5lY3QnXSA9IEZhbHNlCiAKICAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fQ1JFQVRFX1NRTF0pLApAQCAtODU2 LDUgKzgyOCwxMDQgQEAgY2xhc3MgU3Vic2NyaXB0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIFNj aGVtYURpZmZPYmplY3RDb21wYXJlKToKICAgICAgICAgICAgIHN0YXR1cz0yMDAKICAgICAgICAg KQogCisgICAgZGVmIGdldF9kZXBlbmRlbmNpZXMoc2VsZiwgY29ubiwgb2JqZWN0X2lkLCB3aGVy ZT1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9Tm9u ZSwgaXNfc2NoZW1hX2RpZmY9RmFsc2UpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5j dGlvbiBnZXRzIHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJldHVybnMgYW4gYWpheCByZXNwb25zZQor ICAgICAgICBmb3IgdGhlIHN1YnNjcmlwdGlvbiBub2RlLgorICAgICAgICA6cGFyYW0gY29ubjoK KyAgICAgICAgOnBhcmFtIG9iamVjdF9pZDoKKyAgICAgICAgOnBhcmFtIHdoZXJlOgorICAgICAg ICA6cGFyYW0gc2hvd19zeXN0ZW1fb2JqZWN0czoKKyAgICAgICAgOnBhcmFtIGlzX3NjaGVtYV9k aWZmOgorICAgICAgICA6cmV0dXJuOiBkZXBlbmRlbmNpZXMgcmVzdWx0CisgICAgICAgICIiIgor CisgICAgICAgIGdldF9uYW1lX3NxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0RFTEVURV9TUUxdKSwKKyAgICAgICAg ICAgIHN1YmlkPW9iamVjdF9pZCwgY29ubj1zZWxmLmNvbm4KKyAgICAgICAgKQorICAgICAgICBz dGF0dXMsIHN1Ym5hbWUgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoZ2V0X25hbWVfc3FsKQor ICAgICAgICB0YWJsZV9zcWwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAiLyIuam9p bihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnZGVwZW5kZW5jaWVzLnNxbCddKSwKKyAgICAgICAgICAg IHN1Ym5hbWU9c3VibmFtZQorICAgICAgICApCisgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5j b25uLmV4ZWN1dGVfZGljdCh0YWJsZV9zcWwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAg ICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAg ICAgICBkZXBlbmRlbmNpZXNfcmVzdWx0ID0gW10KKworICAgICAgICBmb3IgcHVibGljYXRpb24g aW4gcmVzWydyb3dzJ11bMF1bJ3B1YiddOgorICAgICAgICAgICAgZGVwZW5kZW5jaWVzX3Jlc3Vs dC5hcHBlbmQoCisgICAgICAgICAgICAgICAgeyd0eXBlJzogJ3B1YmxpY2F0aW9uJywKKyAgICAg ICAgICAgICAgICAgJ25hbWUnOiBwdWJsaWNhdGlvbiwKKyAgICAgICAgICAgICAgICAgJ2ZpZWxk JzogJ25vcm1hbCd9KQorCisgICAgICAgIHJldHVybiBkZXBlbmRlbmNpZXNfcmVzdWx0CisKKyAg ICBAY2hlY2tfcHJlY29uZGl0aW9uCisgICAgZGVmIGZldGNoX29iamVjdHNfdG9fY29tcGFyZShz ZWxmLCBzaWQsIGRpZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwg ZmV0Y2ggdGhlIGxpc3Qgb2YgYWxsIHRoZSBldmVudCB0cmlnZ2VycyBmb3IKKyAgICAgICAgc3Bl Y2lmaWVkIGRhdGFiYXNlIGlkLgorCisgICAgICAgIDpwYXJhbSBzaWQ6IFNlcnZlciBJZAorICAg ICAgICA6cGFyYW0gZGlkOiBEYXRhYmFzZSBJZAorICAgICAgICA6cmV0dXJuOgorICAgICAgICAi IiIKKyAgICAgICAgcmVzID0gZGljdCgpCisgICAgICAgIGlmIHNlbGYubWFuYWdlci52ZXJzaW9u IDwgMTAwMDAwOgorICAgICAgICAgICAgcmV0dXJuIHJlcworCisgICAgICAgIGxhc3Rfc3lzdGVt X29pZCA9IDAKKyAgICAgICAgaWYgc2VsZi5tYW5hZ2VyLmRiX2luZm8gaXMgbm90IE5vbmUgYW5k IGRpZCBpbiBzZWxmLm1hbmFnZXIuZGJfaW5mbzoKKyAgICAgICAgICAgIGxhc3Rfc3lzdGVtX29p ZCA9IChzZWxmLm1hbmFnZXIuZGJfaW5mb1tkaWRdKVsnZGF0bGFzdHN5c29pZCddCisKKyAgICAg ICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwgJ25vZGVzLnNxbCddKSwKKyAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9bGFz dF9zeXN0ZW1fb2lkLAorICAgICAgICAgICAgc2hvd3N5c29iaj1zZWxmLmJsdWVwcmludC5zaG93 X3N5c3RlbV9vYmplY3RzLAorICAgICAgICAgICAgZGlkPWRpZAorICAgICAgICApCisgICAgICAg IHN0YXR1cywgcnNldCA9IHNlbGYuY29ubi5leGVjdXRlXzJkYXJyYXkoc3FsKQorICAgICAgICBp ZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihl cnJvcm1zZz1yc2V0KQorCisgICAgICAgIGZvciByb3cgaW4gcnNldFsncm93cyddOgorICAgICAg ICAgICAgc3RhdHVzLCBkYXRhID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhkaWQsIHJvd1snb2lk J10pCisgICAgICAgICAgICBpZiBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmVzW3Jvd1snbmFt ZSddXSA9IGRhdGEKKworICAgICAgICByZXR1cm4gcmVzCisKKyAgICBkZWYgZ2V0X3NxbF9mcm9t X2RpZmYoc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlv biBpcyB1c2VkIHRvIGdldCB0aGUgRERML0RNTCBzdGF0ZW1lbnRzLgorICAgICAgICA6cGFyYW0g a3dhcmdzOgorICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgZ2lkID0ga3dh cmdzLmdldCgnZ2lkJykKKyAgICAgICAgc2lkID0ga3dhcmdzLmdldCgnc2lkJykKKyAgICAgICAg ZGlkID0ga3dhcmdzLmdldCgnZGlkJykKKyAgICAgICAgb2lkID0ga3dhcmdzLmdldCgnb2lkJykK KyAgICAgICAgZGF0YSA9IGt3YXJncy5nZXQoJ2RhdGEnLCBOb25lKQorICAgICAgICBkcm9wX3Nx bCA9IGt3YXJncy5nZXQoJ2Ryb3Bfc3FsJywgRmFsc2UpCisKKyAgICAgICAgaWYgZGF0YToKKyAg ICAgICAgICAgIGlmICdwdWInIGluIGRhdGEgYW5kIHR5cGUoZGF0YVsncHViJ10pID09IHN0cjoK KyAgICAgICAgICAgICAgICAjIENvbnZlcnQgcHVibGljYXRpb24gZGV0YWlscyB0byBsaXN0Cisg ICAgICAgICAgICAgICAgZGF0YVsncHViJ10gPSBkYXRhWydwdWInXS5zcGxpdCgnLCwnKQorICAg ICAgICAgICAgc3FsLCBuYW1lID0gc2VsZi5nZXRfc3FsKGRhdGE9ZGF0YSwgc3ViaWQ9b2lkKQor ICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgZHJvcF9zcWw6CisgICAgICAgICAgICAgICAg c3FsID0gc2VsZi5kZWxldGUoZ2lkPWdpZCwgc2lkPXNpZCwgZGlkPWRpZCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdWJpZD1vaWQsIG9ubHlfc3FsPVRydWUpCisgICAgICAg ICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNxbCA9IHNlbGYuc3FsKGdpZD1naWQsIHNpZD1z aWQsIGRpZD1kaWQsIHN1YmlkPW9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBq c29uX3Jlc3A9RmFsc2UpCisgICAgICAgIHJldHVybiBzcWwKKwogCitTY2hlbWFEaWZmUmVnaXN0 cnkoYmx1ZXByaW50Lm5vZGVfdHlwZSwgU3Vic2NyaXB0aW9uVmlldywgJ0RhdGFiYXNlJykKIFN1 YnNjcmlwdGlvblZpZXcucmVnaXN0ZXJfbm9kZV92aWV3KGJsdWVwcmludCkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJz Y3JpcHRpb25zL3N0YXRpYy9qcy9zdWJzY3JpcHRpb24uanMgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy9zdGF0aWMvanMv c3Vic2NyaXB0aW9uLmpzCmluZGV4IGNhYTA4NDgyNy4uNmMxYjcxNTIxIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2Ny aXB0aW9ucy9zdGF0aWMvanMvc3Vic2NyaXB0aW9uLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3N0YXRpYy9q cy9zdWJzY3JpcHRpb24uanMKQEAgLTc3LDYgKzc3LDcgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUu c3Vic2NyaXB0aW9uJywgWwogICAgICAgICAgIG5hbWU6IHVuZGVmaW5lZCwKICAgICAgICAgICBz dWJvd25lcjogdW5kZWZpbmVkLAogICAgICAgICAgIHB1YnRhYmxlOiB1bmRlZmluZWQsCisgICAg ICAgICAgY29ubmVjdF90aW1lb3V0OiB1bmRlZmluZWQsCiAgICAgICAgICAgcHViOltdLAogICAg ICAgICAgIGVuYWJsZWQ6dHJ1ZSwKICAgICAgICAgICBjcmVhdGVfc2xvdDogdHJ1ZSwKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJfbWFpbnRlbmFuY2VfZGIuc3FsIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNj cmlwdGlvbnMvdGVzdHMvMTBfcGx1cy9hbHRlcl9tYWludGVuYW5jZV9kYi5zcWwKaW5kZXggYjM0 MWIwOTM1Li4xYTJkNjIwNGIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0 ZXJfbWFpbnRlbmFuY2VfZGIuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJf bWFpbnRlbmFuY2VfZGIuc3FsCkBAIC01LDQgKzUsNCBAQAogQ1JFQVRFIFNVQlNDUklQVElPTiB0 ZXN0X2FsdGVyX3N1YnNjcmlwdGlvbgogICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBv cnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFtZT1lZGInCiAgICAgUFVCTElDQVRJT04gc2FtcGxl X18xCi0gICAgV0lUSCAoZW5hYmxlZCA9IGZhbHNlLCBjcmVhdGVfc2xvdCA9IGZhbHNlLCBzbG90 X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAncmVtb3RlX2FwcGx5Jyk7CisgICAg V0lUSCAoY29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFsc2UsIGNyZWF0ZV9zbG90ID0gZmFs c2UsIHNsb3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHkn KTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJfc3Vic2NyaXB0aW9u LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJfc3Vic2NyaXB0aW9uLnNxbAppbmRl eCA4MDEwYTQ5NTkuLmNlNzJkZmNhYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMvdGVzdHMvMTBfcGx1 cy9hbHRlcl9zdWJzY3JpcHRpb24uc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0 ZXJfc3Vic2NyaXB0aW9uLnNxbApAQCAtNSw0ICs1LDQgQEAKIENSRUFURSBTVUJTQ1JJUFRJT04g dGVzdF9hbHRlcl9zdWJzY3JpcHRpb24KICAgICBDT05ORUNUSU9OICdob3N0PWxvY2FsaG9zdCBw b3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9cG9zdGdyZXMnCiAgICAgUFVCTElDQVRJT04g c2FtcGxlX18xCi0gICAgV0lUSCAoZW5hYmxlZCA9IGZhbHNlLCBjcmVhdGVfc2xvdCA9IGZhbHNl LCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAnb2ZmJyk7CisgICAgV0lU SCAoY29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFsc2UsIGNyZWF0ZV9zbG90ID0gZmFsc2Us IHNsb3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2NvbW1pdCA9ICdvZmYnKTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z dWJzY3JpcHRpb25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJfc3luYy5zcWwgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy90ZXN0 cy8xMF9wbHVzL2FsdGVyX3N5bmMuc3FsCmluZGV4IDU0ZTY3ODI3My4uMDNkZWJkMGI4IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc3Vic2NyaXB0aW9ucy90ZXN0cy8xMF9wbHVzL2FsdGVyX3N5bmMuc3FsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRp b25zL3Rlc3RzLzEwX3BsdXMvYWx0ZXJfc3luYy5zcWwKQEAgLTUsNCArNSw0IEBACiBDUkVBVEUg U1VCU0NSSVBUSU9OIHRlc3RfYWx0ZXJfc3Vic2NyaXB0aW9uCiAgICAgQ09OTkVDVElPTiAnaG9z dD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPXBvc3RncmVzJwogICAg IFBVQkxJQ0FUSU9OIHNhbXBsZV9fMQotICAgIFdJVEggKGVuYWJsZWQgPSBmYWxzZSwgY3JlYXRl X3Nsb3QgPSBmYWxzZSwgc2xvdF9uYW1lID0gTm9uZSwgc3luY2hyb25vdXNfY29tbWl0ID0gJ3Jl bW90ZV9hcHBseScpOworICAgIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZW5hYmxlZCA9IGZhbHNl LCBjcmVhdGVfc2xvdCA9IGZhbHNlLCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21t aXQgPSAncmVtb3RlX2FwcGx5Jyk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0aW9ucy90ZXN0cy8xMF9wbHVz L2NyZWF0ZV9zdWJzY3JpcHRpb24uc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMvdGVzdHMvMTBfcGx1cy9jcmVhdGVf c3Vic2NyaXB0aW9uLnNxbAppbmRleCBhNzgxOWYxOTYuLjY1NDhjNWY3ZSAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNj cmlwdGlvbnMvdGVzdHMvMTBfcGx1cy9jcmVhdGVfc3Vic2NyaXB0aW9uLnNxbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc3Vic2NyaXB0 aW9ucy90ZXN0cy8xMF9wbHVzL2NyZWF0ZV9zdWJzY3JpcHRpb24uc3FsCkBAIC01LDQgKzUsNCBA QAogQ1JFQVRFIFNVQlNDUklQVElPTiB0ZXN0X2NyZWF0ZV9zdWJzY3JpcHRpb24KICAgICBDT05O RUNUSU9OICdob3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9cG9z dGdyZXMnCiAgICAgUFVCTElDQVRJT04gc2FtcGxlX18xCi0gICAgV0lUSCAoZW5hYmxlZCA9IGZh bHNlLCBjcmVhdGVfc2xvdCA9IGZhbHNlLCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19j b21taXQgPSAnb2ZmJyk7CisgICAgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFs c2UsIGNyZWF0ZV9zbG90ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2Nv bW1pdCA9ICdvZmYnKTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3N1YnNjcmlwdGlvbl90 ZXN0X2RhdGEuanNvbiBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3N1YnNjcmlwdGlvbl90ZXN0X2RhdGEuanNv bgppbmRleCA0NzczNTU3ZmUuLmRjYTJlNWE3OCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMvdGVzdHMv c3Vic2NyaXB0aW9uX3Rlc3RfZGF0YS5qc29uCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3N1YnNjcmlw dGlvbl90ZXN0X2RhdGEuanNvbgpAQCAtMTQsMTIgKzE0LDEyIEBACiAgICAgICAgICAgInN1Ym93 bmVyIjogInBvc3RncmVzIiwKICAgICAgICAgICAiZW5hYmxlZCI6IGZhbHNlLAogICAgICAgICAg ICJob3N0IjogImxvY2FsaG9zdCIsCi0gICAgICAgICAgInNsb3RfbmFtZSI6ICJOT05FIiwKKyAg ICAgICAgICAic2xvdF9uYW1lIjogIk5vbmUiLAogICAgICAgICAgICJzZXJ2aWNlIjogIiIsCiAg ICAgICAgICAgInBvcnQiOiA1NDMyLAogICAgICAgICAgICJwYXNzd29yZCI6ICIiLAogICAgICAg ICAgICJzeW5jIjogIm9mZiIsCi0gICAgICAgICAgInB1YiI6ICJQTEFDRV9IT0xERVIiCisgICAg ICAgICAgInB1YiI6ICJbXCJzYW1wbGVfXzFcIl0iCiAgICAgICB9LAogICAgICAgIm1vY2tpbmdf cmVxdWlyZWQiOiBmYWxzZSwKICAgICAgICJtb2NrX2RhdGEiOiB7fSwKQEAgLTQyLDEyICs0Miwx MiBAQAogICAgICAgICAgICJzdWJvd25lciI6ICJwb3N0Z3JlcyIsCiAgICAgICAgICAgImVuYWJs ZWQiOiBmYWxzZSwKICAgICAgICAgICAiaG9zdCI6ICJsb2NhbGhvc3QiLAotICAgICAgICAgICJz bG90X25hbWUiOiAiTk9ORSIsCisgICAgICAgICAgInNsb3RfbmFtZSI6ICJOb25lIiwKICAgICAg ICAgICAic2VydmljZSI6ICIiLAogICAgICAgICAgICJwb3J0IjogNTQzMiwKICAgICAgICAgICAi cGFzc3dvcmQiOiAiIiwKICAgICAgICAgICAic3luYyI6ICJvZmYiLAotICAgICAgICAgICJwdWIi OiAiUExBQ0VfSE9MREVSIgorICAgICAgICAgICJwdWIiOiAiW1wic2FtcGxlX18xXCJdIgogICAg ICAgfSwKICAgICAgICJtb2NraW5nX3JlcXVpcmVkIjogZmFsc2UsCiAgICAgICAibW9ja19kYXRh Ijoge30sCkBAIC03MCwxMiArNzAsMTIgQEAKICAgICAgICAgICAic3Vib3duZXIiOiAicG9zdGdy ZXMiLAogICAgICAgICAgICJlbmFibGVkIjogZmFsc2UsCiAgICAgICAgICAgImhvc3QiOiAibG9j YWxob3N0IiwKLSAgICAgICAgICAic2xvdF9uYW1lIjogIk5PTkUiLAorICAgICAgICAgICJzbG90 X25hbWUiOiAiTm9uZSIsCiAgICAgICAgICAgInNlcnZpY2UiOiAiIiwKICAgICAgICAgICAicG9y dCI6IDU0MzIsCiAgICAgICAgICAgInBhc3N3b3JkIjogIiIsCiAgICAgICAgICAgInN5bmMiOiAi b2ZmIiwKLSAgICAgICAgICAicHViIjogIlBMQUNFX0hPTERFUiIKKyAgICAgICAgICAicHViIjog IltcInNhbXBsZV9fMVwiXSIKICAgICAgIH0sCiAgICAgICAibW9ja2luZ19yZXF1aXJlZCI6IGZh bHNlLAogICAgICAgIm1vY2tfZGF0YSI6IHt9LApAQCAtOTgsMTIgKzk4LDEyIEBACiAgICAgICAg ICAgInN1Ym93bmVyIjogInBvc3RncmVzIiwKICAgICAgICAgICAiZW5hYmxlZCI6IGZhbHNlLAog ICAgICAgICAgICJob3N0IjogImxvY2FsaG9zdCIsCi0gICAgICAgICAgInNsb3RfbmFtZSI6ICJO T05FIiwKKyAgICAgICAgICAic2xvdF9uYW1lIjogIk5vbmUiLAogICAgICAgICAgICJzZXJ2aWNl IjogIiIsCiAgICAgICAgICAgInBvcnQiOiA1NDMyLAogICAgICAgICAgICJwYXNzd29yZCI6ICIi LAogICAgICAgICAgICJzeW5jIjogIm9mZiIsCi0gICAgICAgICAgInB1YiI6ICJQTEFDRV9IT0xE RVIiCisgICAgICAgICAgInB1YiI6ICJbXCJzYW1wbGVfXzFcIl0iCiAgICAgICB9LAogICAgICAg Im1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAogICAgICAgIm1vY2tfZGF0YSI6IHsKQEAgLTEyOCwx MiArMTI4LDEyIEBACiAgICAgICAgICAgInN1Ym93bmVyIjogInBvc3RncmVzIiwKICAgICAgICAg ICAiZW5hYmxlZCI6IGZhbHNlLAogICAgICAgICAgICJob3N0IjogImxvY2FsaG9zdCIsCi0gICAg ICAgICAgInNsb3RfbmFtZSI6ICJOT05FIiwKKyAgICAgICAgICAic2xvdF9uYW1lIjogIk5vbmUi LAogICAgICAgICAgICJzZXJ2aWNlIjogIiIsCiAgICAgICAgICAgInBvcnQiOiA1NDMyLAogICAg ICAgICAgICJwYXNzd29yZCI6ICIiLAogICAgICAgICAgICJzeW5jIjogIm9mZiIsCi0gICAgICAg ICAgInB1YiI6ICJQTEFDRV9IT0xERVIiCisgICAgICAgICAgInB1YiI6ICJbXCJzYW1wbGVfXzFc Il0iCiAgICAgICB9LAogICAgICAgIm1vY2tpbmdfcmVxdWlyZWQiOiB0cnVlLAogICAgICAgIm1v Y2tfZGF0YSI6IHsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3Rlc3Rfc3Vic2NyaXB0aW9u X2NyZWF0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3Rlc3Rfc3Vic2NyaXB0aW9uX2NyZWF0ZS5weQpp bmRleCA2YjgwMTgyZGQuLmQ1NTgzMjBmNCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N1YnNjcmlwdGlvbnMvdGVzdHMvdGVz dF9zdWJzY3JpcHRpb25fY3JlYXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdWJzY3JpcHRpb25zL3Rlc3RzL3Rlc3Rfc3Vic2Ny aXB0aW9uX2NyZWF0ZS5weQpAQCAtNTksOCArNTksNyBAQCBjbGFzcyBTdWJzY3JpcHRpb25BZGRU ZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2ls bCBzdWJzY3JpcHRpb24uIiIiCiAgICAgICAgIHNlbGYudGVzdF9kYXRhWyduYW1lJ10gPSBcCiAg ICAgICAgICAgICAidGVzdF9zdWJzY3JpcHRpb25fYWRkXyVzIiAlIChzdHIodXVpZC51dWlkNCgp KVsxOjhdKQotCi0gICAgICAgIHNlbGYudGVzdF9kYXRhWydwdWInXSA9ICIiIlsic2FtcGxlX18x Il0iIiIKKyAgICAgICAgc2VsZi50ZXN0X2RhdGFbJ3Nsb3RfbmFtZSddID0gTm9uZQogCiAgICAg ICAgIGRhdGEgPSBzZWxmLnRlc3RfZGF0YQogICAgICAgICBpZiBzZWxmLmlzX3Bvc2l0aXZlX3Rl c3Q6CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZW1wbGF0ZXMvZGVwZW5kcy9wZy8xMV9wbHVzL2RlcGVuZGVudHMuc3FsIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvcGcvMTFf cGx1cy9kZXBlbmRlbnRzLnNxbAppbmRleCA4NTM4NDdmNWEuLjZmMmU0ODI4OCAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2Rl cGVuZHMvcGcvMTFfcGx1cy9kZXBlbmRlbnRzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9wZy8xMV9wbHVzL2RlcGVu ZGVudHMuc3FsCkBAIC0xOSwxNCArMTksMTMgQEAgU0VMRUNUIERJU1RJTkNUIGRlcC5kZXB0eXBl LCBkZXAuY2xhc3NpZCwgY2wucmVsa2luZCwgYWQuYWRiaW4sIGFkLmFkc3JjLAogICAgICAgICBX SEVOIGZ0c3Qub2lkIElTIE5PVCBOVUxMIFRIRU4gJ0Z0Jzo6dGV4dAogICAgICAgICBXSEVOIGV4 dC5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnRXgnOjp0ZXh0CiAgICAgICAgIFdIRU4gcGwub2lkIElT IE5PVCBOVUxMIFRIRU4gJ1JzJzo6dGV4dAotICAgICAgICBXSEVOIHB1Yl9yZWwub2lkIElTIE5P VCBOVUxMIFRIRU4gJ3InOjp0ZXh0CiAgICAgRUxTRSAnJwogICAgIEVORCBBUyB0eXBlLAogICAg IENPQUxFU0NFKGNvYy5yZWxuYW1lLCBjbHJ3LnJlbG5hbWUpIEFTIG93bmVydGFibGUsCiAgICAg Q0FTRSBXSEVOIGNsLnJlbG5hbWUgSVMgTk9UIE5VTEwgQU5EIGF0dC5hdHRuYW1lIElTIE5PVCBO VUxMIFRIRU4gY2wucmVsbmFtZSB8fCBDT0FMRVNDRSgnLicgfHwgYXR0LmF0dG5hbWUsICcnKQog ICAgIEVMU0UgQ09BTEVTQ0UoY2wucmVsbmFtZSwgY28uY29ubmFtZSwgcHIucHJvbmFtZSwgdGcu dGduYW1lLCB0eS50eXBuYW1lLCBsYS5sYW5uYW1lLCBydy5ydWxlbmFtZSwgbnMubnNwbmFtZSwK ICAgICAgICAgICAgICAgICAgIGZzLnNydm5hbWUsIGZkdy5mZHduYW1lLCBldnQuZXZ0bmFtZSwg Y29sLmNvbGxuYW1lLCBmdHNjLmNmZ25hbWUsIGZ0c2QuZGljdG5hbWUsIGZ0c3AucHJzbmFtZSwK LSAgICAgICAgICAgICAgICAgIGZ0c3QudG1wbG5hbWUsIGV4dC5leHRuYW1lLCBwbC5wb2xuYW1l LCBxdW90ZV9pZGVudChwdWJucy5uc3BuYW1lKXx8Jy4nfHxxdW90ZV9pZGVudChwdWJjbC5yZWxu YW1lKSkKKyAgICAgICAgICAgICAgICAgIGZ0c3QudG1wbG5hbWUsIGV4dC5leHRuYW1lLCBwbC5w b2xuYW1lKQogICAgIEVORCBBUyByZWZuYW1lLAogICAgIENPQUxFU0NFKG5zYy5uc3BuYW1lLCBu c28ubnNwbmFtZSwgbnNwLm5zcG5hbWUsIG5zdC5uc3BuYW1lLCBuc3J3Lm5zcG5hbWUsIGNvbG5z Lm5zcG5hbWUsIGZ0c2Nucy5uc3BuYW1lLAogICAgICAgICBmdHNkbnMubnNwbmFtZSwgZnRzcG5z Lm5zcG5hbWUsIGZ0c3Rucy5uc3BuYW1lKSBBUyBuc3BuYW1lLApAQCAtNjgsMTIgKzY3LDkgQEAg TEVGVCBKT0lOIHBnX3RzX3RlbXBsYXRlIGZ0c3QgT04gZnRzdC5vaWQ9ZGVwLm9iamlkCiBMRUZU IEpPSU4gcGdfbmFtZXNwYWNlIGZ0c3RucyBPTiBmdHN0LnRtcGxuYW1lc3BhY2U9ZnRzdG5zLm9p ZAogTEVGVCBKT0lOIHBnX2V4dGVuc2lvbiBleHQgT04gZXh0Lm9pZD1kZXAub2JqaWQKIExFRlQg Sk9JTiBwZ19wb2xpY3kgcGwgT04gcGwub2lkPWRlcC5vYmppZAotTEVGVCBKT0lOIHBnX3B1Ymxp Y2F0aW9uX3JlbCBwdWJfcmVsIE9OIHB1Yl9yZWwub2lkID0gZGVwLm9iamlkCi1MRUZUIEpPSU4g cGdfY2xhc3MgcHViY2wgT04gcHViY2wub2lkID0gcHViX3JlbC5wcnJlbGlkCi1MRUZUIEpPSU4g cGdfbmFtZXNwYWNlIHB1Ym5zIE9OIHB1Ym5zLm9pZD1wdWJjbC5yZWxuYW1lc3BhY2UKIHt7d2hl cmVfY2xhdXNlfX0gQU5ECiBjbGFzc2lkIElOICggU0VMRUNUIG9pZCBGUk9NIHBnX2NsYXNzIFdI RVJFIHJlbG5hbWUgSU4KICAgICgncGdfY2xhc3MnLCAncGdfY29uc3RyYWludCcsICdwZ19jb252 ZXJzaW9uJywgJ3BnX2xhbmd1YWdlJywgJ3BnX3Byb2MnLCAncGdfcmV3cml0ZScsICdwZ19uYW1l c3BhY2UnLAogICAgJ3BnX3RyaWdnZXInLCAncGdfdHlwZScsICdwZ19hdHRyZGVmJywgJ3BnX2V2 ZW50X3RyaWdnZXInLCAncGdfZm9yZWlnbl9zZXJ2ZXInLCAncGdfZm9yZWlnbl9kYXRhX3dyYXBw ZXInLAotICAgJ3BnX2NvbGxhdGlvbicsICdwZ190c19jb25maWcnLCAncGdfdHNfZGljdCcsICdw Z190c19wYXJzZXInLCAncGdfdHNfdGVtcGxhdGUnLCAncGdfZXh0ZW5zaW9uJywgJ3BnX3BvbGlj eScsICdwZ19zdWJzY3JpcHRpb24nLCAncGdfcHVibGljYXRpb25fcmVsJykpCisgICAncGdfY29s bGF0aW9uJywgJ3BnX3RzX2NvbmZpZycsICdwZ190c19kaWN0JywgJ3BnX3RzX3BhcnNlcicsICdw Z190c190ZW1wbGF0ZScsICdwZ19leHRlbnNpb24nLCAncGdfcG9saWN5JykpCiBPUkRFUiBCWSBj bGFzc2lkLCBjbC5yZWxraW5kCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9wZy8xMl9wbHVzL2RlcGVuZGVudHMu c3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVz L2RlcGVuZHMvcGcvMTJfcGx1cy9kZXBlbmRlbnRzLnNxbAppbmRleCA1YmFjNTA4YWUuLmVmNzZj ODg1ZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvdGVtcGxhdGVzL2RlcGVuZHMvcGcvMTJfcGx1cy9kZXBlbmRlbnRzLnNxbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9w Zy8xMl9wbHVzL2RlcGVuZGVudHMuc3FsCkBAIC0xOSwxNCArMTksMTMgQEAgU0VMRUNUIERJU1RJ TkNUIGRlcC5kZXB0eXBlLCBkZXAuY2xhc3NpZCwgY2wucmVsa2luZCwgYWQuYWRiaW4sIHBnX2dl dF9leHByKGFkLmEKICAgICAgICAgV0hFTiBmdHN0Lm9pZCBJUyBOT1QgTlVMTCBUSEVOICdGdCc6 OnRleHQKICAgICAgICAgV0hFTiBleHQub2lkIElTIE5PVCBOVUxMIFRIRU4gJ0V4Jzo6dGV4dAog ICAgICAgICBXSEVOIHBsLm9pZCBJUyBOT1QgTlVMTCBUSEVOICdScyc6OnRleHQKLSAgICAgICAg V0hFTiBwdWJfcmVsLm9pZCBJUyBOT1QgTlVMTCBUSEVOICdyJzo6dGV4dAogICAgIEVMU0UgJycK ICAgICBFTkQgQVMgdHlwZSwKICAgICBDT0FMRVNDRShjb2MucmVsbmFtZSwgY2xydy5yZWxuYW1l KSBBUyBvd25lcnRhYmxlLAogICAgIENBU0UgV0hFTiBjbC5yZWxuYW1lIElTIE5PVCBOVUxMIEFO RCBhdHQuYXR0bmFtZSBJUyBOT1QgTlVMTCBUSEVOIGNsLnJlbG5hbWUgfHwgQ09BTEVTQ0UoJy4n IHx8IGF0dC5hdHRuYW1lLCAnJykKICAgICBFTFNFIENPQUxFU0NFKGNsLnJlbG5hbWUsIGNvLmNv bm5hbWUsIHByLnByb25hbWUsIHRnLnRnbmFtZSwgdHkudHlwbmFtZSwgbGEubGFubmFtZSwgcncu cnVsZW5hbWUsIG5zLm5zcG5hbWUsCiAgICAgICAgICAgICAgICAgICBmcy5zcnZuYW1lLCBmZHcu ZmR3bmFtZSwgZXZ0LmV2dG5hbWUsIGNvbC5jb2xsbmFtZSwgZnRzYy5jZmduYW1lLCBmdHNkLmRp Y3RuYW1lLCBmdHNwLnByc25hbWUsCi0gICAgICAgICAgICAgICAgICBmdHN0LnRtcGxuYW1lLCBl eHQuZXh0bmFtZSwgcGwucG9sbmFtZSwgcXVvdGVfaWRlbnQocHVibnMubnNwbmFtZSl8fCcuJ3x8 cXVvdGVfaWRlbnQocHViY2wucmVsbmFtZSkpCisgICAgICAgICAgICAgICAgICBmdHN0LnRtcGxu YW1lLCBleHQuZXh0bmFtZSwgcGwucG9sbmFtZSkKICAgICBFTkQgQVMgcmVmbmFtZSwKICAgICBD T0FMRVNDRShuc2MubnNwbmFtZSwgbnNvLm5zcG5hbWUsIG5zcC5uc3BuYW1lLCBuc3QubnNwbmFt ZSwgbnNydy5uc3BuYW1lLCBjb2xucy5uc3BuYW1lLCBmdHNjbnMubnNwbmFtZSwKICAgICAgICAg ZnRzZG5zLm5zcG5hbWUsIGZ0c3Bucy5uc3BuYW1lLCBmdHN0bnMubnNwbmFtZSkgQVMgbnNwbmFt ZSwKQEAgLTY4LDEyICs2Nyw5IEBAIExFRlQgSk9JTiBwZ190c190ZW1wbGF0ZSBmdHN0IE9OIGZ0 c3Qub2lkPWRlcC5vYmppZAogTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBmdHN0bnMgT04gZnRzdC50 bXBsbmFtZXNwYWNlPWZ0c3Rucy5vaWQKIExFRlQgSk9JTiBwZ19leHRlbnNpb24gZXh0IE9OIGV4 dC5vaWQ9ZGVwLm9iamlkCiBMRUZUIEpPSU4gcGdfcG9saWN5IHBsIE9OIHBsLm9pZD1kZXAub2Jq aWQKLUxFRlQgSk9JTiBwZ19wdWJsaWNhdGlvbl9yZWwgcHViX3JlbCBPTiBwdWJfcmVsLm9pZCA9 IGRlcC5vYmppZAotTEVGVCBKT0lOIHBnX2NsYXNzIHB1YmNsIE9OIHB1YmNsLm9pZCA9IHB1Yl9y ZWwucHJyZWxpZAotTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBwdWJucyBPTiBwdWJucy5vaWQ9cHVi Y2wucmVsbmFtZXNwYWNlCiB7e3doZXJlX2NsYXVzZX19IEFORAogY2xhc3NpZCBJTiAoIFNFTEVD VCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lIElOCiAgICAoJ3BnX2NsYXNzJywgJ3Bn X2NvbnN0cmFpbnQnLCAncGdfY29udmVyc2lvbicsICdwZ19sYW5ndWFnZScsICdwZ19wcm9jJywg J3BnX3Jld3JpdGUnLCAncGdfbmFtZXNwYWNlJywKICAgICdwZ190cmlnZ2VyJywgJ3BnX3R5cGUn LCAncGdfYXR0cmRlZicsICdwZ19ldmVudF90cmlnZ2VyJywgJ3BnX2ZvcmVpZ25fc2VydmVyJywg J3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyJywKLSAgICdwZ19jb2xsYXRpb24nLCAncGdfdHNfY29u ZmlnJywgJ3BnX3RzX2RpY3QnLCAncGdfdHNfcGFyc2VyJywgJ3BnX3RzX3RlbXBsYXRlJywgJ3Bn X2V4dGVuc2lvbicsICdwZ19wb2xpY3knLCAncGdfc3Vic2NyaXB0aW9uJywgJ3BnX3B1YmxpY2F0 aW9uX3JlbCcpKQorICAgJ3BnX2NvbGxhdGlvbicsICdwZ190c19jb25maWcnLCAncGdfdHNfZGlj dCcsICdwZ190c19wYXJzZXInLCAncGdfdHNfdGVtcGxhdGUnLCAncGdfZXh0ZW5zaW9uJywgJ3Bn X3BvbGljeScpKQogT1JERVIgQlkgY2xhc3NpZCwgY2wucmVsa2luZApkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMv cHBhcy8xMV9wbHVzL2RlcGVuZGVudHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvcHBhcy8xMV9wbHVzL2RlcGVuZGVudHMu c3FsCmluZGV4IGFkNzBlM2I5My4uYjZlMzY4NzMxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9wcGFzLzExX3Bs dXMvZGVwZW5kZW50cy5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvcHBhcy8xMV9wbHVzL2RlcGVuZGVudHMuc3FsCkBA IC0yMCwxNCArMjAsMTMgQEAgU0VMRUNUIERJU1RJTkNUIGRlcC5kZXB0eXBlLCBkZXAuY2xhc3Np ZCwgY2wucmVsa2luZCwgYWQuYWRiaW4sIGFkLmFkc3JjLAogICAgICAgICBXSEVOIGV4dC5vaWQg SVMgTk9UIE5VTEwgVEhFTiAnRXgnOjp0ZXh0CiAgICAgICAgIFdIRU4gc3luLm9pZCBJUyBOT1Qg TlVMTCBUSEVOICdTeSc6OnRleHQKICAgICAgICAgV0hFTiBwbC5vaWQgSVMgTk9UIE5VTEwgVEhF TiAnUnMnOjp0ZXh0Ci0gICAgICAgIFdIRU4gcHViX3JlbC5vaWQgSVMgTk9UIE5VTEwgVEhFTiAn cic6OnRleHQKICAgICBFTFNFICcnCiAgICAgRU5EIEFTIHR5cGUsCiAgICAgQ09BTEVTQ0UoY29j LnJlbG5hbWUsIGNscncucmVsbmFtZSkgQVMgb3duZXJ0YWJsZSwKICAgICBDQVNFIFdIRU4gY2wu cmVsbmFtZSBJUyBOT1QgTlVMTCBBTkQgYXR0LmF0dG5hbWUgSVMgTk9UIE5VTEwgVEhFTiBjbC5y ZWxuYW1lIHx8IENPQUxFU0NFKCcuJyB8fCBhdHQuYXR0bmFtZSwgJycpCiAgICAgRUxTRSBDT0FM RVNDRShjbC5yZWxuYW1lLCBjby5jb25uYW1lLCBwci5wcm9uYW1lLCB0Zy50Z25hbWUsIHR5LnR5 cG5hbWUsIGxhLmxhbm5hbWUsIHJ3LnJ1bGVuYW1lLCBucy5uc3BuYW1lLAogICAgICAgICAgICAg ICAgICAgZnMuc3J2bmFtZSwgZmR3LmZkd25hbWUsIGV2dC5ldnRuYW1lLCBjb2wuY29sbG5hbWUs IGZ0c2MuY2ZnbmFtZSwgZnRzZC5kaWN0bmFtZSwgZnRzcC5wcnNuYW1lLAotICAgICAgICAgICAg ICAgICAgZnRzdC50bXBsbmFtZSwgZXh0LmV4dG5hbWUsIHN5bi5zeW5uYW1lLCBwbC5wb2xuYW1l LCBxdW90ZV9pZGVudChwdWJucy5uc3BuYW1lKXx8Jy4nfHxxdW90ZV9pZGVudChwdWJjbC5yZWxu YW1lKSkKKyAgICAgICAgICAgICAgICAgIGZ0c3QudG1wbG5hbWUsIGV4dC5leHRuYW1lLCBzeW4u c3lubmFtZSwgcGwucG9sbmFtZSkKICAgICBFTkQgQVMgcmVmbmFtZSwKICAgICBDT0FMRVNDRShu c2MubnNwbmFtZSwgbnNvLm5zcG5hbWUsIG5zcC5uc3BuYW1lLCBuc3QubnNwbmFtZSwgbnNydy5u c3BuYW1lLCBjb2xucy5uc3BuYW1lLCBmdHNjbnMubnNwbmFtZSwKICAgICAgICAgZnRzZG5zLm5z cG5hbWUsIGZ0c3Bucy5uc3BuYW1lLCBmdHN0bnMubnNwbmFtZSwgc3lubnMubnNwbmFtZSkgQVMg bnNwbmFtZSwKQEAgLTcxLDEyICs3MCwxMCBAQCBMRUZUIEpPSU4gcGdfZXh0ZW5zaW9uIGV4dCBP TiBleHQub2lkPWRlcC5vYmppZAogTEVGVCBKT0lOIHBnX3N5bm9ueW0gc3luIE9OIHN5bi5vaWQ9 ZGVwLm9iamlkCiBMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIHN5bm5zIE9OIHN5bi5zeW5uYW1lc3Bh Y2U9c3lubnMub2lkCiBMRUZUIEpPSU4gcGdfcG9saWN5IHBsIE9OIHBsLm9pZD1kZXAub2JqaWQK LUxFRlQgSk9JTiBwZ19wdWJsaWNhdGlvbl9yZWwgcHViX3JlbCBPTiBwdWJfcmVsLm9pZCA9IGRl cC5vYmppZAotTEVGVCBKT0lOIHBnX2NsYXNzIHB1YmNsIE9OIHB1YmNsLm9pZCA9IHB1Yl9yZWwu cHJyZWxpZAotTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBwdWJucyBPTiBwdWJucy5vaWQ9cHViY2wu cmVsbmFtZXNwYWNlCiB7e3doZXJlX2NsYXVzZX19IEFORAogY2xhc3NpZCBJTiAoIFNFTEVDVCBv aWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lIElOCiAgICAoJ3BnX2NsYXNzJywgJ3BnX2Nv bnN0cmFpbnQnLCAncGdfY29udmVyc2lvbicsICdwZ19sYW5ndWFnZScsICdwZ19wcm9jJywgJ3Bn X3Jld3JpdGUnLCAncGdfbmFtZXNwYWNlJywKICAgICdwZ190cmlnZ2VyJywgJ3BnX3R5cGUnLCAn cGdfYXR0cmRlZicsICdwZ19ldmVudF90cmlnZ2VyJywgJ3BnX2ZvcmVpZ25fc2VydmVyJywgJ3Bn X2ZvcmVpZ25fZGF0YV93cmFwcGVyJywKLSAgICdwZ19jb2xsYXRpb24nLCAncGdfdHNfY29uZmln JywgJ3BnX3RzX2RpY3QnLCAncGdfdHNfcGFyc2VyJywgJ3BnX3RzX3RlbXBsYXRlJywgJ3BnX2V4 dGVuc2lvbicsICdwZ19wb2xpY3knLCAncGdfc3Vic2NyaXB0aW9uJywgJ3BnX3B1YmxpY2F0aW9u X3JlbCcpKQorICAgJ3BnX2NvbGxhdGlvbicsICdwZ190c19jb25maWcnLCAncGdfdHNfZGljdCcs ICdwZ190c19wYXJzZXInLCAncGdfdHNfdGVtcGxhdGUnLCAncGdfZXh0ZW5zaW9uJywKKyAgICdw Z19zeW5vbnltJywgJ3BnX3BvbGljeScpKQogT1JERVIgQlkgY2xhc3NpZCwgY2wucmVsa2luZApk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVt cGxhdGVzL2RlcGVuZHMvcHBhcy8xMl9wbHVzL2RlcGVuZGVudHMuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvcHBhcy8xMl9w bHVzL2RlcGVuZGVudHMuc3FsCmluZGV4IDliMTAwMmI2NC4uYzY3ODE4MjdmIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVw ZW5kcy9wcGFzLzEyX3BsdXMvZGVwZW5kZW50cy5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvcHBhcy8xMl9wbHVzL2Rl cGVuZGVudHMuc3FsCkBAIC0yMCwxNCArMjAsMTMgQEAgU0VMRUNUIERJU1RJTkNUIGRlcC5kZXB0 eXBlLCBkZXAuY2xhc3NpZCwgY2wucmVsa2luZCwgYWQuYWRiaW4sIHBnX2dldF9leHByKGFkLmEK ICAgICAgICAgV0hFTiBleHQub2lkIElTIE5PVCBOVUxMIFRIRU4gJ0V4Jzo6dGV4dAogICAgICAg ICBXSEVOIHN5bi5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnU3knOjp0ZXh0CiAgICAgICAgIFdIRU4g cGwub2lkIElTIE5PVCBOVUxMIFRIRU4gJ1JzJzo6dGV4dAotICAgICAgICBXSEVOIHB1Yl9yZWwu b2lkIElTIE5PVCBOVUxMIFRIRU4gJ3InOjp0ZXh0CiAgICAgRUxTRSAnJwogICAgIEVORCBBUyB0 eXBlLAogICAgIENPQUxFU0NFKGNvYy5yZWxuYW1lLCBjbHJ3LnJlbG5hbWUpIEFTIG93bmVydGFi bGUsCiAgICAgQ0FTRSBXSEVOIGNsLnJlbG5hbWUgSVMgTk9UIE5VTEwgQU5EIGF0dC5hdHRuYW1l IElTIE5PVCBOVUxMIFRIRU4gY2wucmVsbmFtZSB8fCBDT0FMRVNDRSgnLicgfHwgYXR0LmF0dG5h bWUsICcnKQogICAgIEVMU0UgQ09BTEVTQ0UoY2wucmVsbmFtZSwgY28uY29ubmFtZSwgcHIucHJv bmFtZSwgdGcudGduYW1lLCB0eS50eXBuYW1lLCBsYS5sYW5uYW1lLCBydy5ydWxlbmFtZSwgbnMu bnNwbmFtZSwKICAgICAgICAgICAgICAgICAgIGZzLnNydm5hbWUsIGZkdy5mZHduYW1lLCBldnQu ZXZ0bmFtZSwgY29sLmNvbGxuYW1lLCBmdHNjLmNmZ25hbWUsIGZ0c2QuZGljdG5hbWUsIGZ0c3Au cHJzbmFtZSwKLSAgICAgICAgICAgICAgICAgIGZ0c3QudG1wbG5hbWUsIGV4dC5leHRuYW1lLCBz eW4uc3lubmFtZSwgcGwucG9sbmFtZSwgcXVvdGVfaWRlbnQocHVibnMubnNwbmFtZSl8fCcuJ3x8 cXVvdGVfaWRlbnQocHViY2wucmVsbmFtZSkpCisgICAgICAgICAgICAgICAgICBmdHN0LnRtcGxu YW1lLCBleHQuZXh0bmFtZSwgc3luLnN5bm5hbWUsIHBsLnBvbG5hbWUpCiAgICAgRU5EIEFTIHJl Zm5hbWUsCiAgICAgQ09BTEVTQ0UobnNjLm5zcG5hbWUsIG5zby5uc3BuYW1lLCBuc3AubnNwbmFt ZSwgbnN0Lm5zcG5hbWUsIG5zcncubnNwbmFtZSwgY29sbnMubnNwbmFtZSwgZnRzY25zLm5zcG5h bWUsCiAgICAgICAgIGZ0c2Rucy5uc3BuYW1lLCBmdHNwbnMubnNwbmFtZSwgZnRzdG5zLm5zcG5h bWUsIHN5bm5zLm5zcG5hbWUpIEFTIG5zcG5hbWUsCkBAIC03MSwxMyArNzAsMTAgQEAgTEVGVCBK T0lOIHBnX2V4dGVuc2lvbiBleHQgT04gZXh0Lm9pZD1kZXAub2JqaWQKIExFRlQgSk9JTiBwZ19z eW5vbnltIHN5biBPTiBzeW4ub2lkPWRlcC5vYmppZAogTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBz eW5ucyBPTiBzeW4uc3lubmFtZXNwYWNlPXN5bm5zLm9pZAogTEVGVCBKT0lOIHBnX3BvbGljeSBw bCBPTiBwbC5vaWQ9ZGVwLm9iamlkCi1MRUZUIEpPSU4gcGdfcHVibGljYXRpb25fcmVsIHB1Yl9y ZWwgT04gcHViX3JlbC5vaWQgPSBkZXAub2JqaWQKLUxFRlQgSk9JTiBwZ19jbGFzcyBwdWJjbCBP TiBwdWJjbC5vaWQgPSBwdWJfcmVsLnBycmVsaWQKLUxFRlQgSk9JTiBwZ19uYW1lc3BhY2UgcHVi bnMgT04gcHVibnMub2lkPXB1YmNsLnJlbG5hbWVzcGFjZQoge3t3aGVyZV9jbGF1c2V9fSBBTkQK IGNsYXNzaWQgSU4gKCBTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZSBJTgog ICAgKCdwZ19jbGFzcycsICdwZ19jb25zdHJhaW50JywgJ3BnX2NvbnZlcnNpb24nLCAncGdfbGFu Z3VhZ2UnLCAncGdfcHJvYycsICdwZ19yZXdyaXRlJywgJ3BnX25hbWVzcGFjZScsCiAgICAncGdf dHJpZ2dlcicsICdwZ190eXBlJywgJ3BnX2F0dHJkZWYnLCAncGdfZXZlbnRfdHJpZ2dlcicsICdw Z19mb3JlaWduX3NlcnZlcicsICdwZ19mb3JlaWduX2RhdGFfd3JhcHBlcicsCiAgICAncGdfY29s bGF0aW9uJywgJ3BnX3RzX2NvbmZpZycsICdwZ190c19kaWN0JywgJ3BnX3RzX3BhcnNlcicsICdw Z190c190ZW1wbGF0ZScsICdwZ19leHRlbnNpb24nLAotICAgJ3BnX3N5bm9ueW0nLCAncGdfcG9s aWN5JywgJ3BnX3N1YnNjcmlwdGlvbicsICdwZ19wdWJsaWNhdGlvbl9yZWwnKSkKKyAgICdwZ19z eW5vbnltJywgJ3BnX3BvbGljeScpKQogT1JERVIgQlkgY2xhc3NpZCwgY2wucmVsa2luZApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvdXRpbHMucHkKaW5kZXggNDIzNDJlMzIwLi41ZGQzNjFjMjggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5w eQpAQCAtMzkzLDYgKzM5Myw3IEBAIGNsYXNzIFBHQ2hpbGROb2RlVmlldyhOb2RlVmlldyk6CiAg ICAgX0dFVF9DT0xVTU5TX0ZPUl9UQUJMRV9TUUwgPSAnZ2V0X2NvbHVtbnNfZm9yX3RhYmxlLnNx bCcKICAgICBfR0VUX1NVQlRZUEVTX1NRTCA9ICdnZXRfc3VidHlwZXMuc3FsJwogICAgIF9HRVRf RVhURVJOQUxfRlVOQ1RJT05TX1NRTCA9ICdnZXRfZXh0ZXJuYWxfZnVuY3Rpb25zLnNxbCcKKyAg ICBfR0VUX1RBQkxFX0ZPUl9QVUJMSUNBVElPTiA9ICdnZXRfdGFibGVzLnNxbCcKIAogICAgIGRl ZiBnZXRfY2hpbGRyZW5fbm9kZXMoc2VsZiwgbWFuYWdlciwgKiprd2FyZ3MpOgogICAgICAgICAi IiIKQEAgLTYzOCw5ICs2MzksNyBAQCBjbGFzcyBQR0NoaWxkTm9kZVZpZXcoTm9kZVZpZXcpOgog ICAgICAgICAgICAgICAgICMgaWYgdHlwZSBpcyBwcmVzZW50IGluIHRoZSB0eXBlcyBkaWN0aW9u YXJ5LCBidXQgaXQncwogICAgICAgICAgICAgICAgICMgdmFsdWUgaXMgTm9uZSB0aGVuIGl0IHJl cXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcuCiAgICAgICAgICAgICAgICAgaWYgdHlwZV9zdHJbMF0g PT0gJ3InOgotICAgICAgICAgICAgICAgICAgICBpZiBsZW4odHlwZV9zdHIpID09IDE6Ci0gICAg ICAgICAgICAgICAgICAgICAgICB0eXBlX25hbWUgPSAndGFibGUnCi0gICAgICAgICAgICAgICAg ICAgIGVsaWYgKHR5cGVfc3RyWzFdLmlzZGlnaXQoKSBhbmQgaW50KHR5cGVfc3RyWzFdKSA+IDAp IG9yIFwKKyAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVfc3RyWzFdLmlzZGlnaXQoKSBhbmQg aW50KHR5cGVfc3RyWzFdKSA+IDApIG9yIFwKICAgICAgICAgICAgICAgICAgICAgICAgIChsZW4o dHlwZV9zdHIpID4gMiBhbmQgdHlwZV9zdHJbMl0uaXNkaWdpdCgpIGFuZAogICAgICAgICAgICAg ICAgICAgICAgICAgIGludCh0eXBlX3N0clsyXSkgPiAwKToKICAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGVfbmFtZSA9ICdjb2x1bW4nCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMv anMvYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvbW9kZWxfdmFsaWRhdGlvbi5qcyBiL3dl Yi9wZ2FkbWluL3N0YXRpYy9qcy9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9tb2RlbF92 YWxpZGF0aW9uLmpzCmluZGV4IGQ1NDJhYTA3Mi4uOWE3OGQyNGFhIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9zdGF0aWMvanMvYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvbW9kZWxfdmFs aWRhdGlvbi5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvbW9kZWxfdmFsaWRhdGlvbi5qcwpAQCAtMzksMTIgKzM5LDE2IEBAIGV4cG9y dCBjbGFzcyBNb2RlbFZhbGlkYXRpb24gewogICAgICAgdGhpcy5jaGVja0ZvckVtcHR5KCdkYics IGdldHRleHQoJ01haW50ZW5hbmNlIGRhdGFiYXNlIG11c3QgYmUgc3BlY2lmaWVkLicpKTsKICAg ICAgIHRoaXMuY2hlY2tGb3JFbXB0eSgndXNlcm5hbWUnLCBnZXR0ZXh0KCdVc2VybmFtZSBtdXN0 IGJlIHNwZWNpZmllZC4nKSk7CiAgICAgICB0aGlzLmNoZWNrRm9yRW1wdHkoJ3BvcnQnLCBnZXR0 ZXh0KCdQb3J0IG11c3QgYmUgc3BlY2lmaWVkLicpKTsKLSAgICAgIGlmKCFfLmlzVW5kZWZpbmVk KHB1YikgJiYgcHViLmxlbmd0aCA9PSAwKXsKKyAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKHB1Yikp eworICAgICAgICBpZiAodGhpcy5tb2RlbC5pc05ldygpKQorICAgICAgICAgIHRoaXMuY2hlY2tG b3JFbXB0eSgncGFzc3dvcmQnLCBnZXR0ZXh0KCdQYXNzd29yZCBtdXN0IGJlIHNwZWNpZmllZC4n KSk7CiAgICAgICAgIHRoaXMuY2hlY2tGb3JFbXB0eSgncHViJywgZ2V0dGV4dCgnUHVibGljYXRp b24gbXVzdCBiZSBzcGVjaWZpZWQuJykpOwogICAgICAgfQogICAgIH0gZWxzZSB7CiAgICAgICB0 aGlzLmNoZWNrRm9yRW1wdHkoJ2RiJywgZ2V0dGV4dCgnTWFpbnRlbmFuY2UgZGF0YWJhc2UgbXVz dCBiZSBzcGVjaWZpZWQuJykpOwotICAgICAgaWYoIV8uaXNVbmRlZmluZWQocHViKSAmJiBwdWIu bGVuZ3RoID09IDApeworICAgICAgaWYoIV8uaXNVbmRlZmluZWQocHViKSl7CisgICAgICAgIGlm ICh0aGlzLm1vZGVsLmlzTmV3KCkpCisgICAgICAgICAgdGhpcy5jaGVja0ZvckVtcHR5KCdwYXNz d29yZCcsIGdldHRleHQoJ1Bhc3N3b3JkIG11c3QgYmUgc3BlY2lmaWVkLicpKTsKICAgICAgICAg dGhpcy5jaGVja0ZvckVtcHR5KCdwdWInLCBnZXR0ZXh0KCdQdWJsaWNhdGlvbiBtdXN0IGJlIHNw ZWNpZmllZC4nKSk7CiAgICAgICB9CiAgICAgICB0aGlzLmNsZWFySG9zdEFkZHJlc3NBbmREYkVy cm9ycygpOwpAQCAtOTAsNyArOTQsNyBAQCBleHBvcnQgY2xhc3MgTW9kZWxWYWxpZGF0aW9uIHsK IAogICAgIGxldCBwdWIgPSB0aGlzLm1vZGVsLmdldCgncHViJyksCiAgICAgICBlcnJtc2c7Ci0g ICAgaWYoIV8uaXNVbmRlZmluZWQocHViKSAmJiBwdWIubGVuZ3RoID09IDApeworICAgIGlmKCFf LmlzVW5kZWZpbmVkKHB1YikpewogICAgICAgZXJybXNnID0gZ2V0dGV4dCgnSG9zdCBuYW1lLCBB ZGRyZXNzIG11c3QgJyArCiAgICAgICAnYmUgc3BlY2lmaWVkLicpOwogICAgIH1lbHNlewpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTBfcGx1cy9z b3VyY2Uuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTBfcGx1 cy9zb3VyY2Uuc3FsCmluZGV4IGU3YWZmZTU0MC4uOWI1NGZlODhlIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMF9wbHVzL3NvdXJjZS5zcWwKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTBfcGx1cy9zb3VyY2Uu c3FsCkBAIC0xMTE3LDMgKzExMTcsNDQgQEAgQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcHVibGlj IFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmc7CiAKIENSRUFURSBVU0VSIE1BUFBJTkcg Rk9SIHBvc3RncmVzIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcKICAgICBPUFRJT05T IChwYXNzd29yZCAnYWRtaW4xMjMnKTsKKworLS0gUHVibGljYXRpb24gU2NyaXB0CitDUkVBVEUg VEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb24gKAorICAgIGNvbDEg aW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKK0NSRUFURSBQVUJMSUNBVElP TiBmb3JfYWxsX3RhYmxlCisgICAgRk9SIEFMTCBUQUJMRVMKKyAgICBXSVRIIChwdWJsaXNoID0g J2luc2VydCwgZGVsZXRlJyk7CisKK0NSRUFURSBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZQor ICAgIEZPUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wdWJsaWNhdGlvbgorICAg IFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUnKTsKKworQUxURVIgUFVCTElDQVRJT04g d2l0aF9vbmVfdGFibGUKKyAgICBSRU5BTUUgVE8gd2l0aF9vbmVfdGFibGVfYWx0ZXI7CisKK0FM VEVSIFBVQkxJQ0FUSU9OIHdpdGhfb25lX3RhYmxlX2FsdGVyIFNFVAorICAgIChwdWJsaXNoID0g J2luc2VydCwgdXBkYXRlJyk7CisKKy0tIFN1YnNjcmlwdGlvbiBzY3JpcHQKKworQ1JFQVRFIFNV QlNDUklQVElPTiAic3Vic2NyaXB0aW9uX3Rlc3QxIgorICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9j YWxob3N0IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFtZT1lZGIgcGFzc3dvcmQ9c2FtcGxl cGFzc3dvcmQnCisgICAgUFVCTElDQVRJT04gc2FtcGxlX3B1YmxpY2F0aW9uCisgICAgV0lUSCAo Y29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFsc2UsIGNyZWF0ZV9zbG90ID0gZmFsc2UsIHNs b3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2NvbW1pdCA9ICdvZmYnKTsKKworQUxURVIgU1VC U0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxo b3N0IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFtZT1wb3N0Z3Jlcyc7CisKK0FMVEVSIFNV QlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDEKKyAgICBTRVQgKHN5bmNocm9ub3VzX2NvbW1p dCA9ICdyZW1vdGVfYXBwbHknKTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90 ZXN0MQorICAgIFNFVCBQVUJMSUNBVElPTiBlZGIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKKwor QUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIFJFTkFNRSBUTyBzdWJz Y3JpcHRpb25fdGVzdDsKKworRFJPUCBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3Q7CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMF9wbHVz L3RhcmdldC5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMF9w bHVzL3RhcmdldC5zcWwKaW5kZXggY2I5ODJjMzQxLi5kNTE1NjNkNDAgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9kaWZmL3Rlc3RzL3BnLzEwX3BsdXMvdGFyZ2V0LnNxbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMF9wbHVzL3Rhcmdl dC5zcWwKQEAgLTEwNjIsMyArMTA2Miw1MCBAQCBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwdWJs aWMgU0VSVkVSIHRlc3RfZnNfZm9yX3VzZXJfbWFwcGluZwogICAgIE9QVElPTlMgKHBhc3N3b3Jk ICdhZG1pbjEyMycpOwogCiBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBwb3N0Z3JlcyBTRVJWRVIg dGVzdF9mc19mb3JfdXNlcl9tYXBwaW5nOworCistLSBQdWJsaWNhdGlvbiBzY3JpcHQKKworQ1JF QVRFIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBj b2wxIGludGVnZXIgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgVEFCTEUg dGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb25faW5fdGFyZ2V0ICgKKyAgICBj b2wxIGludGVnZXIgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgUFVCTElD QVRJT04gZm9yX2FsbF90YWJsZQorICAgIEZPUiBBTEwgVEFCTEVTCisgICAgV0lUSCAocHVibGlz aCA9ICdpbnNlcnQsIGRlbGV0ZScpOworCitDUkVBVEUgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFi bGVfaW5fdGFyZ2V0CisgICAgRk9SIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1 YmxpY2F0aW9uX2luX3RhcmdldAorICAgIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUn KTsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0CisgICAgUkVO QU1FIFRPIHdpdGhfb25lX3RhYmxlX2luX3RhcmdldF9hbHRlcjsKKworQUxURVIgUFVCTElDQVRJ T04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0X2FsdGVyIFNFVAorICAgIChwdWJsaXNoID0gJ2lu c2VydCwgdXBkYXRlJyk7CisKKy0tIFN1YnNjcmlwdGlvbiBzY3JpcHQKKworQ1JFQVRFIFNVQlND UklQVElPTiAic3Vic2NyaXB0aW9uX3Rlc3QxX2luX3RhcmdldCIKKyAgICBDT05ORUNUSU9OICdo b3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9ZWRiIHBhc3N3b3Jk PXNhbXBsZXBhc3N3b3JkJworICAgIFBVQkxJQ0FUSU9OIHNhbXBsZV9wdWJsaWNhdGlvbgorICAg IFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZW5hYmxlZCA9IGZhbHNlLCBjcmVhdGVfc2xvdCA9IGZh bHNlLCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAnb2ZmJyk7CisKK0FM VEVSIFNVQlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgQ09OTkVD VElPTiAnaG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPXBvc3Rn cmVzJzsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQK KyAgICBTRVQgKHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHknKTsKKworQUxURVIg U1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQKKyAgICBTRVQgUFVCTElD QVRJT04gZWRiIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBz dWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgUkVOQU1FIFRPIHN1YnNjcmlwdGlvbl90 ZXN0X2luX3RhcmdldDsKKworRFJPUCBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3RfaW5f dGFyZ2V0OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMv cGcvMTFfcGx1cy9zb3VyY2Uuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVz dHMvcGcvMTFfcGx1cy9zb3VyY2Uuc3FsCmluZGV4IDA2YmVlNTlkZC4uZDEyMWVlNTM5IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMV9wbHVzL3Nv dXJjZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTFf cGx1cy9zb3VyY2Uuc3FsCkBAIC0xMTE2LDMgKzExMTYsNDYgQEAgQ1JFQVRFIFVTRVIgTUFQUElO RyBGT1IgcHVibGljIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmc7CiAKIENSRUFURSBV U0VSIE1BUFBJTkcgRk9SIHBvc3RncmVzIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcK ICAgICBPUFRJT05TIChwYXNzd29yZCAnYWRtaW4xMjMnKTsKKworLS0gUHVibGljYXRpb24gU2Ny aXB0CisKK0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wdWJsaWNhdGlv biAoCisgICAgY29sMSBpbnRlZ2VyIE5PVCBOVUxMLAorICAgIGNvbDIgdGV4dAorKTsKKworQ1JF QVRFIFBVQkxJQ0FUSU9OIGZvcl9hbGxfdGFibGUKKyAgICBGT1IgQUxMIFRBQkxFUworICAgIFdJ VEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUnKTsKKworQ1JFQVRFIFBVQkxJQ0FUSU9OIHdp dGhfb25lX3RhYmxlCisgICAgRk9SIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1 YmxpY2F0aW9uCisgICAgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIGRlbGV0ZScpOworCitBTFRF UiBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZQorICAgIFJFTkFNRSBUTyB3aXRoX29uZV90YWJs ZV9hbHRlcjsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfYWx0ZXIgU0VUCisg ICAgKHB1Ymxpc2ggPSAnaW5zZXJ0LCB1cGRhdGUsIHRydW5jYXRlJyk7CisKKy0tIFN1YnNjcmlw dGlvbiBzY3JpcHQKKworQ1JFQVRFIFNVQlNDUklQVElPTiAic3Vic2NyaXB0aW9uX3Rlc3QxIgor ICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRi bmFtZT1lZGIgcGFzc3dvcmQ9c2FtcGxlcGFzc3dvcmQnCisgICAgUFVCTElDQVRJT04gc2FtcGxl X3B1YmxpY2F0aW9uCisgICAgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFsc2Us IGNyZWF0ZV9zbG90ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2NvbW1p dCA9ICdvZmYnKTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAg IENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFt ZT1wb3N0Z3Jlcyc7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDEKKyAg ICBTRVQgKHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHknKTsKKworQUxURVIgU1VC U0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIFNFVCBQVUJMSUNBVElPTiBlZGIgV0lU SCAocmVmcmVzaCA9IGZhbHNlKTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90 ZXN0MQorICAgIFJFTkFNRSBUTyBzdWJzY3JpcHRpb25fdGVzdDsKKworRFJPUCBTVUJTQ1JJUFRJ T04gc3Vic2NyaXB0aW9uX3Rlc3Q7CisKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3Nj aGVtYV9kaWZmL3Rlc3RzL3BnLzExX3BsdXMvdGFyZ2V0LnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xz L3NjaGVtYV9kaWZmL3Rlc3RzL3BnLzExX3BsdXMvdGFyZ2V0LnNxbAppbmRleCBkYTQ3ODBhOGUu LjQ3OWJkOWI5MCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVz dHMvcGcvMTFfcGx1cy90YXJnZXQuc3FsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9k aWZmL3Rlc3RzL3BnLzExX3BsdXMvdGFyZ2V0LnNxbApAQCAtMTA2MSwzICsxMDYxLDUxIEBAIENS RUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIgdGVzdF9mc19mb3JfdXNlcl9tYXBw aW5nCiAgICAgT1BUSU9OUyAocGFzc3dvcmQgJ2FkbWluMTIzJyk7CiAKIENSRUFURSBVU0VSIE1B UFBJTkcgRk9SIHBvc3RncmVzIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmc7CisKKy0t IFB1YmxpY2F0aW9uIHNjcmlwdHMKKworQ1JFQVRFIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFi bGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBjb2wxIGludGVnZXIgTk9UIE5VTEwsCisgICAgY29s MiB0ZXh0CispOworCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVi bGljYXRpb25faW5fdGFyZ2V0ICgKKyAgICBjb2wxIGludGVnZXIgTk9UIE5VTEwsCisgICAgY29s MiB0ZXh0CispOworCitDUkVBVEUgUFVCTElDQVRJT04gZm9yX2FsbF90YWJsZQorICAgIEZPUiBB TEwgVEFCTEVTCisgICAgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIGRlbGV0ZScpOworCitDUkVB VEUgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0CisgICAgRk9SIFRBQkxFIHRl c3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uX2luX3RhcmdldAorICAgIFdJVEgg KHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUnKTsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9v bmVfdGFibGVfaW5fdGFyZ2V0CisgICAgUkVOQU1FIFRPIHdpdGhfb25lX3RhYmxlX2luX3Rhcmdl dF9hbHRlcjsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0X2Fs dGVyIFNFVAorICAgIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlLCB0cnVuY2F0ZScpOworCist LSBTdWJzY3JpcHRpb24gc2NyaXB0CisKK0NSRUFURSBTVUJTQ1JJUFRJT04gInN1YnNjcmlwdGlv bl90ZXN0MV9pbl90YXJnZXQiCisgICAgQ09OTkVDVElPTiAnaG9zdD1sb2NhbGhvc3QgcG9ydD01 NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPWVkYiBwYXNzd29yZD1zYW1wbGVwYXNzd29yZCcKKyAg ICBQVUJMSUNBVElPTiBzYW1wbGVfcHVibGljYXRpb24KKyAgICBXSVRIIChjb25uZWN0ID0gZmFs c2UsIGVuYWJsZWQgPSBmYWxzZSwgY3JlYXRlX3Nsb3QgPSBmYWxzZSwgc2xvdF9uYW1lID0gTm9u ZSwgc3luY2hyb25vdXNfY29tbWl0ID0gJ29mZicpOworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vi c2NyaXB0aW9uX3Rlc3QxX2luX3RhcmdldAorICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0 IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFtZT1wb3N0Z3Jlcyc7CisKK0FMVEVSIFNVQlND UklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgU0VUIChzeW5jaHJvbm91 c19jb21taXQgPSAncmVtb3RlX2FwcGx5Jyk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3Jp cHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgU0VUIFBVQkxJQ0FUSU9OIGVkYiBXSVRIIChyZWZy ZXNoID0gZmFsc2UpOworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3QxX2lu X3RhcmdldAorICAgIFJFTkFNRSBUTyBzdWJzY3JpcHRpb25fdGVzdF9pbl90YXJnZXQ7CisKK0RS T1AgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0X2luX3RhcmdldDsKKwpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTJfcGx1cy9zb3VyY2Uu c3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTJfcGx1cy9zb3Vy Y2Uuc3FsCmluZGV4IDQxNTI1Mzk0MS4uZDE3NWRlNmFkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMl9wbHVzL3NvdXJjZS5zcWwKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcvMTJfcGx1cy9zb3VyY2Uuc3FsCkBA IC0xMTE3LDMgKzExMTcsNTMgQEAgQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcHVibGljIFNFUlZF UiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmc7CiAKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHBv c3RncmVzIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcKICAgICBPUFRJT05TIChwYXNz d29yZCAnYWRtaW4xMjMnKTsKKworLS0gUHVibGljYXRpb24gc2NyaXB0cworCitDUkVBVEUgVEFC TEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb24gKAorICAgIGNvbDEgaW50 ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKK0NSRUFURSBUQUJMRSB0ZXN0X3Nj aGVtYV9kaWZmLnRhYmxlX2Zvcl9wdWJsaWNhdGlvbl9pbl90YXJnZXQgKAorICAgIGNvbDEgaW50 ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKK0NSRUFURSBQVUJMSUNBVElPTiBm b3JfYWxsX3RhYmxlCisgICAgRk9SIEFMTCBUQUJMRVMKKyAgICBXSVRIIChwdWJsaXNoID0gJ2lu c2VydCwgZGVsZXRlJyk7CisKK0NSRUFURSBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZV9pbl90 YXJnZXQKKyAgICBGT1IgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRp b25faW5fdGFyZ2V0CisgICAgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIGRlbGV0ZScpOworCitB TFRFUiBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZV9pbl90YXJnZXQKKyAgICBPV05FUiBUTyBt YW5hZ2VyczsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0Cisg ICAgUkVOQU1FIFRPIHdpdGhfb25lX3RhYmxlX2luX3RhcmdldF9hbHRlcjsKKworQUxURVIgUFVC TElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0X2FsdGVyIFNFVAorICAgIChwdWJsaXNo ID0gJ2luc2VydCwgdXBkYXRlLCB0cnVuY2F0ZScpOworCistLSBTdWJzY3JpcHRpb24gc2NyaXB0 CisKK0NSRUFURSBTVUJTQ1JJUFRJT04gInN1YnNjcmlwdGlvbl90ZXN0MSIKKyAgICBDT05ORUNU SU9OICdob3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9ZWRiIHBh c3N3b3JkPXNhbXBsZXBhc3N3b3JkJworICAgIFBVQkxJQ0FUSU9OIHNhbXBsZV9wdWJsaWNhdGlv bgorICAgIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZW5hYmxlZCA9IGZhbHNlLCBjcmVhdGVfc2xv dCA9IGZhbHNlLCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAnb2ZmJyk7 CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDEKKyAgICBDT05ORUNUSU9O ICdob3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9cG9zdGdyZXMn OworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3QxCisgICAgU0VUIChzeW5j aHJvbm91c19jb21taXQgPSAncmVtb3RlX2FwcGx5Jyk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBz dWJzY3JpcHRpb25fdGVzdDEKKyAgICBTRVQgUFVCTElDQVRJT04gZWRiIFdJVEggKHJlZnJlc2gg PSBmYWxzZSk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDEKKyAgICBS RU5BTUUgVE8gc3Vic2NyaXB0aW9uX3Rlc3Q7CisKK0RST1AgU1VCU0NSSVBUSU9OIHN1YnNjcmlw dGlvbl90ZXN0OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVz dHMvcGcvMTJfcGx1cy90YXJnZXQuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYv dGVzdHMvcGcvMTJfcGx1cy90YXJnZXQuc3FsCmluZGV4IGUwOWUzOWUzNi4uOTU1NGE1ZmFkIDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wZy8xMl9wbHVz L3RhcmdldC5zcWwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcGcv MTJfcGx1cy90YXJnZXQuc3FsCkBAIC0xMDUwLDMgKzEwNTAsNTEgQEAgQ1JFQVRFIFVTRVIgTUFQ UElORyBGT1IgcHVibGljIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcKICAgICBPUFRJ T05TIChwYXNzd29yZCAnYWRtaW4xMjMnKTsKIAogQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcG9z dGdyZXMgU0VSVkVSIHRlc3RfZnNfZm9yX3VzZXJfbWFwcGluZzsKKworQ1JFQVRFIFRBQkxFIHRl c3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBjb2wxIGludGVnZXIg Tk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFf ZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb25faW5fdGFyZ2V0ICgKKyAgICBjb2wxIGludGVnZXIg Tk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgUFVCTElDQVRJT04gZm9yX2Fs bF90YWJsZQorICAgIEZPUiBBTEwgVEFCTEVTCisgICAgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQs IGRlbGV0ZScpOworCitDUkVBVEUgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0 CisgICAgRk9SIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uX2lu X3RhcmdldAorICAgIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUnKTsKKworQUxURVIg UFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0CisgICAgT1dORVIgVE8gbWFuYWdl cnM7CisKK0FMVEVSIFBVQkxJQ0FUSU9OIHdpdGhfb25lX3RhYmxlX2luX3RhcmdldAorICAgIFJF TkFNRSBUTyB3aXRoX29uZV90YWJsZV9pbl90YXJnZXRfYWx0ZXI7CisKK0FMVEVSIFBVQkxJQ0FU SU9OIHdpdGhfb25lX3RhYmxlX2luX3RhcmdldF9hbHRlciBTRVQKKyAgICAocHVibGlzaCA9ICdp bnNlcnQsIHVwZGF0ZSwgdHJ1bmNhdGUnKTsKKworLS0gU3Vic2NyaXB0aW9uIHNjcmlwdAorCitD UkVBVEUgU1VCU0NSSVBUSU9OICJzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0IgorICAgIENP Tk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBvcnQ9NTQzMiB1c2VyPXBvc3RncmVzIGRibmFtZT1l ZGIgcGFzc3dvcmQ9c2FtcGxlcGFzc3dvcmQnCisgICAgUFVCTElDQVRJT04gc2FtcGxlX3B1Ymxp Y2F0aW9uCisgICAgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBlbmFibGVkID0gZmFsc2UsIGNyZWF0 ZV9zbG90ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5vbmUsIHN5bmNocm9ub3VzX2NvbW1pdCA9ICdv ZmYnKTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQK KyAgICBDT05ORUNUSU9OICdob3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBk Ym5hbWU9cG9zdGdyZXMnOworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3Qx X2luX3RhcmdldAorICAgIFNFVCAoc3luY2hyb25vdXNfY29tbWl0ID0gJ3JlbW90ZV9hcHBseScp OworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3QxX2luX3RhcmdldAorICAg IFNFVCBQVUJMSUNBVElPTiBlZGIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKKworQUxURVIgU1VC U0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQKKyAgICBSRU5BTUUgVE8gc3Vi c2NyaXB0aW9uX3Rlc3RfaW5fdGFyZ2V0OworCitEUk9QIFNVQlNDUklQVElPTiBzdWJzY3JpcHRp b25fdGVzdF9pbl90YXJnZXQ7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFf ZGlmZi90ZXN0cy9wcGFzLzEwX3BsdXMvc291cmNlLnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xzL3Nj aGVtYV9kaWZmL3Rlc3RzL3BwYXMvMTBfcGx1cy9zb3VyY2Uuc3FsCmluZGV4IDcxNTQ0ZmI3MS4u ZGM1NDFiMTZhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0 cy9wcGFzLzEwX3BsdXMvc291cmNlLnNxbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFf ZGlmZi90ZXN0cy9wcGFzLzEwX3BsdXMvc291cmNlLnNxbApAQCAtMTI3NSwzICsxMjc1LDQ2IEBA IENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIgdGVzdF9mc19mb3JfdXNlcl9t YXBwaW5nOwogCiBDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBlbnRlcnByaXNlZGIgU0VSVkVSIHRl c3RfZnNfZm9yX3VzZXJfbWFwcGluZwogICAgIE9QVElPTlMgKHBhc3N3b3JkICdhZG1pbjEyMycp OworCistLSBQdWJsaWNhdGlvbiBTY3JpcHQKKworQ1JFQVRFIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBjb2wxIGludGVnZXIgTk9UIE5VTEwsCisg ICAgY29sMiB0ZXh0CispOworCisKK0NSRUFURSBQVUJMSUNBVElPTiBmb3JfYWxsX3RhYmxlCisg ICAgRk9SIEFMTCBUQUJMRVMKKyAgICBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgZGVsZXRlJyk7 CisKK0NSRUFURSBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZQorICAgIEZPUiBUQUJMRSB0ZXN0 X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wdWJsaWNhdGlvbgorICAgIFdJVEggKHB1Ymxpc2ggPSAn aW5zZXJ0LCBkZWxldGUnKTsKKworQUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGUKKyAg ICBSRU5BTUUgVE8gd2l0aF9vbmVfdGFibGVfYWx0ZXI7CisKK0FMVEVSIFBVQkxJQ0FUSU9OIHdp dGhfb25lX3RhYmxlX2FsdGVyIFNFVAorICAgIChwdWJsaXNoID0gJ2luc2VydCwgdXBkYXRlJyk7 CisKKy0tIFN1YnNjcmlwdGlvbiBzY3JpcHQKKworQ1JFQVRFIFNVQlNDUklQVElPTiAic3Vic2Ny aXB0aW9uX3Rlc3QxIgorICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBvcnQ9NTQzMiB1 c2VyPXBvc3RncmVzIGRibmFtZT1lZGIgcGFzc3dvcmQ9c2FtcGxlcGFzc3dvcmQnCisgICAgUFVC TElDQVRJT04gc2FtcGxlX3B1YmxpY2F0aW9uCisgICAgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBl bmFibGVkID0gZmFsc2UsIGNyZWF0ZV9zbG90ID0gZmFsc2UsIHNsb3RfbmFtZSA9IE5vbmUsIHN5 bmNocm9ub3VzX2NvbW1pdCA9ICdvZmYnKTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlw dGlvbl90ZXN0MQorICAgIENPTk5FQ1RJT04gJ2hvc3Q9bG9jYWxob3N0IHBvcnQ9NTQzMiB1c2Vy PXBvc3RncmVzIGRibmFtZT1wb3N0Z3Jlcyc7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3Jp cHRpb25fdGVzdDEKKyAgICBTRVQgKHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHkn KTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIFNFVCBQVUJM SUNBVElPTiBlZGIgV0lUSCAocmVmcmVzaCA9IGZhbHNlKTsKKworQUxURVIgU1VCU0NSSVBUSU9O IHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIFJFTkFNRSBUTyBzdWJzY3JpcHRpb25fdGVzdDsKKwor RFJPUCBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3Q7CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wcGFzLzEwX3BsdXMvdGFyZ2V0LnNxbCBiL3dl Yi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9kaWZmL3Rlc3RzL3BwYXMvMTBfcGx1cy90YXJnZXQuc3Fs CmluZGV4IDNmZTZiMDdlYS4uNzdhMjJjNWJmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29s cy9zY2hlbWFfZGlmZi90ZXN0cy9wcGFzLzEwX3BsdXMvdGFyZ2V0LnNxbAorKysgYi93ZWIvcGdh ZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9wcGFzLzEwX3BsdXMvdGFyZ2V0LnNxbApAQCAt MTIxMiwzICsxMjEyLDUwIEBAIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJWRVIg dGVzdF9mc19mb3JfdXNlcl9tYXBwaW5nCiAgICAgT1BUSU9OUyAocGFzc3dvcmQgJ2FkbWluMTIz Jyk7CiAKIENSRUFURSBVU0VSIE1BUFBJTkcgRk9SIGVudGVycHJpc2VkYiBTRVJWRVIgdGVzdF9m c19mb3JfdXNlcl9tYXBwaW5nOworCistLSBQdWJsaWNhdGlvbiBzY3JpcHQKKworQ1JFQVRFIFRB QkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBjb2wxIGlu dGVnZXIgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgVEFCTEUgdGVzdF9z Y2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb25faW5fdGFyZ2V0ICgKKyAgICBjb2wxIGlu dGVnZXIgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgUFVCTElDQVRJT04g Zm9yX2FsbF90YWJsZQorICAgIEZPUiBBTEwgVEFCTEVTCisgICAgV0lUSCAocHVibGlzaCA9ICdp bnNlcnQsIGRlbGV0ZScpOworCitDUkVBVEUgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5f dGFyZ2V0CisgICAgRk9SIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0 aW9uX2luX3RhcmdldAorICAgIFdJVEggKHB1Ymxpc2ggPSAnaW5zZXJ0LCBkZWxldGUnKTsKKwor QUxURVIgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0CisgICAgUkVOQU1FIFRP IHdpdGhfb25lX3RhYmxlX2luX3RhcmdldF9hbHRlcjsKKworQUxURVIgUFVCTElDQVRJT04gd2l0 aF9vbmVfdGFibGVfaW5fdGFyZ2V0X2FsdGVyIFNFVAorICAgIChwdWJsaXNoID0gJ2luc2VydCwg dXBkYXRlJyk7CisKKy0tIFN1YnNjcmlwdGlvbiBzY3JpcHQKKworQ1JFQVRFIFNVQlNDUklQVElP TiAic3Vic2NyaXB0aW9uX3Rlc3QxX2luX3RhcmdldCIKKyAgICBDT05ORUNUSU9OICdob3N0PWxv Y2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9ZWRiIHBhc3N3b3JkPXNhbXBs ZXBhc3N3b3JkJworICAgIFBVQkxJQ0FUSU9OIHNhbXBsZV9wdWJsaWNhdGlvbgorICAgIFdJVEgg KGNvbm5lY3QgPSBmYWxzZSwgZW5hYmxlZCA9IGZhbHNlLCBjcmVhdGVfc2xvdCA9IGZhbHNlLCBz bG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAnb2ZmJyk7CisKK0FMVEVSIFNV QlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgQ09OTkVDVElPTiAn aG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPXBvc3RncmVzJzsK KworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQKKyAgICBT RVQgKHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHknKTsKKworQUxURVIgU1VCU0NS SVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQKKyAgICBTRVQgUFVCTElDQVRJT04g ZWRiIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3Jp cHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgUkVOQU1FIFRPIHN1YnNjcmlwdGlvbl90ZXN0X2lu X3RhcmdldDsKKworRFJPUCBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3RfaW5fdGFyZ2V0 OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYvdGVzdHMvcHBhcy8x MV9wbHVzL3NvdXJjZS5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9zY2hlbWFfZGlmZi90ZXN0cy9w cGFzLzExX3BsdXMvc291cmNlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLjJlMDc5M2IzNgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVt YV9kaWZmL3Rlc3RzL3BwYXMvMTFfcGx1cy9zb3VyY2Uuc3FsCkBAIC0wLDAgKzEsMTMxOSBAQAor LS0KKy0tIGVudGVycHJpc2VkYlFMIGRhdGFiYXNlIGR1bXAKKy0tCisKKy0tIER1bXBlZCBmcm9t IGRhdGFiYXNlIHZlcnNpb24gMTAuNworLS0gRHVtcGVkIGJ5IHBnX2R1bXAgdmVyc2lvbiAxMmJl dGEyCisKKy0tIFN0YXJ0ZWQgb24gMjAxOS0xMS0wMSAxMjo1NDoxNSBJU1QKKworU0VUIHN0YXRl bWVudF90aW1lb3V0ID0gMDsKK1NFVCBsb2NrX3RpbWVvdXQgPSAwOworU0VUIGlkbGVfaW5fdHJh bnNhY3Rpb25fc2Vzc2lvbl90aW1lb3V0ID0gMDsKK1NFVCBjbGllbnRfZW5jb2RpbmcgPSAnVVRG OCc7CitTRVQgc3RhbmRhcmRfY29uZm9ybWluZ19zdHJpbmdzID0gb247CitTRUxFQ1QgcGdfY2F0 YWxvZy5zZXRfY29uZmlnKCdzZWFyY2hfcGF0aCcsICcnLCBmYWxzZSk7CitTRVQgY2hlY2tfZnVu Y3Rpb25fYm9kaWVzID0gZmFsc2U7CitTRVQgeG1sb3B0aW9uID0gY29udGVudDsKK1NFVCBjbGll bnRfbWluX21lc3NhZ2VzID0gd2FybmluZzsKK1NFVCByb3dfc2VjdXJpdHkgPSBvZmY7CisKKy0t CistLSBUT0MgZW50cnkgMTcgKGNsYXNzIDI2MTUgT0lEIDEzOTc3MCkKKy0tIE5hbWU6IHRlc3Rf c2NoZW1hX2RpZmY7IFR5cGU6IFNDSEVNQTsgU2NoZW1hOiAtOyBPd25lcjogZW50ZXJwcmlzZWRi CistLQorCitDUkVBVEUgU0NIRU1BIHRlc3Rfc2NoZW1hX2RpZmY7CisKKworQUxURVIgU0NIRU1B IHRlc3Rfc2NoZW1hX2RpZmYgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitTRVQgZGVmYXVsdF90 YWJsZXNwYWNlID0gJyc7CisKKworQ1JFQVRFIEVYVEVOU0lPTiBidHJlZV9naXN0CisgICAgU0NI RU1BIHRlc3Rfc2NoZW1hX2RpZmY7CisKKy0tCistLSBUT0MgZW50cnkgMTIyNzIgKGNsYXNzIDEy NTkgT0lEIDE0OTIwNSkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9wYXJ0aXRpb247IFR5cGU6IFRBQkxF OyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NS RUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wYXJ0aXRpb24gKAorICAgIGNv bDEgYmlnaW50IE5PVCBOVUxMCispCitQQVJUSVRJT04gQlkgUkFOR0UgKGNvbDEpOworCisKK0FM VEVSIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3BhcnRpdGlvbiBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkgMTIyNzMgKGNsYXNzIDEyNTkgT0lEIDE0 OTIwOCkKKy0tIE5hbWU6IHBhcnQxOyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9k aWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFf ZGlmZi5wYXJ0MSAoCisgICAgY29sMSBiaWdpbnQgTk9UIE5VTEwKKyk7CitBTFRFUiBUQUJMRSBP TkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3BhcnRpdGlvbiBBVFRBQ0ggUEFSVElUSU9O IHRlc3Rfc2NoZW1hX2RpZmYucGFydDEgRk9SIFZBTFVFUyBGUk9NICgnMScpIFRPICgnMjMnKTsK KworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQxIE9XTkVSIFRPIGVudGVycHJp c2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI3NCAoY2xhc3MgMTI1OSBPSUQgMTQ5MjEzKQor LS0gTmFtZTogdGFibGVfZm9yX3BhcnRpdGlvbl8xOyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0 X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVz dF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcGFydGl0aW9uXzEgKAorICAgIGNvbDEgYmlnaW50Cisp CitQQVJUSVRJT04gQlkgUkFOR0UgKGNvbDEpOworCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1h X2RpZmYudGFibGVfZm9yX3BhcnRpdGlvbl8xIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0K Ky0tIFRPQyBlbnRyeSAxMjI3NSAoY2xhc3MgMTI1OSBPSUQgMTQ5MjE2KQorLS0gTmFtZTogcGFy dDM7IFR5cGU6IFRBQkxFOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnBy aXNlZGIKKy0tCisKK0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQzICgKKyAgICBj b2wxIGJpZ2ludAorKTsKK0FMVEVSIFRBQkxFIE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9m b3JfcGFydGl0aW9uXzEgQVRUQUNIIFBBUlRJVElPTiB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQzIEZP UiBWQUxVRVMgRlJPTSAoJzEnKSBUTyAoJzEwJyk7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hl bWFfZGlmZi5wYXJ0MyBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkg MTIyNzYgKGNsYXNzIDEyNTkgT0lEIDE0OTIxOSkKKy0tIE5hbWU6IHBhcnQ0OyBUeXBlOiBUQUJM RTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitD UkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5wYXJ0NCAoCisgICAgY29sMSBiaWdpbnQKKyk7 CitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3BhcnRpdGlvbl8x IEFUVEFDSCBQQVJUSVRJT04gdGVzdF9zY2hlbWFfZGlmZi5wYXJ0NCBGT1IgVkFMVUVTIEZST00g KCcxMScpIFRPICgnMjAnKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQ0 IE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI1OCAoY2xhc3Mg MTI1OSBPSUQgMTQ4OTYzKQorLS0gTmFtZTogdGFibGVfZm9yX2NvbHVtbjsgVHlwZTogVEFCTEU7 IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JF QVRFIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX2NvbHVtbiAoCisgICAgY29sMSBi aWdpbnQgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0LAorICAgIGNvbDMgdGV4dAorKTsKKworCitB TFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb2x1bW4gT1dORVIgVE8gZW50 ZXJwcmlzZWRiOworCistLQorLS0gVE9DIGVudHJ5IDEyMjU2IChjbGFzcyAxMjU5IE9JRCAxNDg4 OTUpCistLSBOYW1lOiB0YWJsZV9mb3JfY29uc3RyYWludHM7IFR5cGU6IFRBQkxFOyBTY2hlbWE6 IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBUQUJM RSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyAoCisgICAgY29sMSBpbnRl Z2VyIE5PVCBOVUxMLAorICAgIGNvbDIgdGV4dAorKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3Nj aGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisK Ky0tCistLSBUT0MgZW50cnkgNjEwNjYgKGNsYXNzIDAgT0lEIDApCistLSBEZXBlbmRlbmNpZXM6 IDEyMjU2CistLSBOYW1lOiBUQUJMRSB0YWJsZV9mb3JfY29uc3RyYWludHM7IFR5cGU6IENPTU1F TlQ7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKwor Q09NTUVOVCBPTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyBJ UyAnY29tbWVudHMnOworCisKKy0tCistLSBUT0MgZW50cnkgMTIyNjIgKGNsYXNzIDEyNTkgT0lE IDE0OTAwNCkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9pZGVudGljYWw7IFR5cGU6IFRBQkxFOyBTY2hl bWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBU QUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9pZGVudGljYWwgKAorICAgIGNvbDEgaW50 ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKKworQUxURVIgVEFCTEUgdGVzdF9z Y2hlbWFfZGlmZi50YWJsZV9mb3JfaWRlbnRpY2FsIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKwor LS0KKy0tIFRPQyBlbnRyeSAxMjI2MCAoY2xhc3MgMTI1OSBPSUQgMTQ4OTc3KQorLS0gTmFtZTog dGFibGVfZm9yX2luZGV4OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBP d25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50 YWJsZV9mb3JfaW5kZXggKAorICAgIGNvbDEgaW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRl eHQKKyk7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaW5kZXgg T1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLQorLS0gVE9DIGVudHJ5IDEyMjY5IChjbGFzcyAx MjU5IE9JRCAxNDkxMjgpCistLSBOYW1lOiB0YWJsZV9mb3JfcHJpbWFyeV9rZXk7IFR5cGU6IFRB QkxFOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisK K0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wcmltYXJ5X2tleSAoCisg ICAgY29sMSBpbnRlZ2VyIE5PVCBOVUxMLAorICAgIGNvbDIgdGV4dCBOT1QgTlVMTAorKTsKKwor CitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wcmltYXJ5X2tleSBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkgMTIyNjQgKGNsYXNzIDEyNTkg T0lEIDE0OTAyNCkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9ydWxlOyBUeXBlOiBUQUJMRTsgU2NoZW1h OiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFC TEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcnVsZSAoCisgICAgY29sMSBiaWdpbnQgTk9U IE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYudGFibGVfZm9yX3J1bGUgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLQorLS0gVE9DIGVu dHJ5IDEyMjY2IChjbGFzcyAxMjU5IE9JRCAxNDkwNDgpCistLSBOYW1lOiB0YWJsZV9mb3JfdHJp Z2dlcjsgVHlwZTogVEFCTEU7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVy cHJpc2VkYgorLS0KKworQ1JFQVRFIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3Ry aWdnZXIgKAorICAgIGNvbDEgYmlnaW50IE5PVCBOVUxMLAorICAgIGNvbDIgdGV4dAorKTsKKwor CitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl90cmlnZ2VyIE9XTkVSIFRP IGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSA1Njg5MyAoY2xhc3MgMjYwNiBPSUQg MTQ4OTA0KQorLS0gTmFtZTogdGFibGVfZm9yX2NvbnN0cmFpbnRzIEV4Y2x1c2lvbjsgVHlwZTog Q09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRi CistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX2NvbnN0 cmFpbnRzCisgICAgQUREIENPTlNUUkFJTlQgIkV4Y2x1c2lvbiIgRVhDTFVERSBVU0lORyBnaXN0 IChjb2wyIFdJVEggPD4pIFdJVEggKGZpbGxmYWN0b3I9JzEyJykgV0hFUkUgKChjb2wxID4gMSkp IERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEOworCisKKy0tCistLSBUT0MgZW50cnkgNjEw NjcgKGNsYXNzIDAgT0lEIDApCistLSBEZXBlbmRlbmNpZXM6IDU2ODkzCistLSBOYW1lOiBDT05T VFJBSU5UICJFeGNsdXNpb24iIE9OIHRhYmxlX2Zvcl9jb25zdHJhaW50czsgVHlwZTogQ09NTUVO VDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitD T01NRU5UIE9OIENPTlNUUkFJTlQgIkV4Y2x1c2lvbiIgT04gdGVzdF9zY2hlbWFfZGlmZi50YWJs ZV9mb3JfY29uc3RyYWludHMgSVMgJ2NvbW1lbnRzJzsKKworCistLQorLS0gVE9DIGVudHJ5IDU2 ODkxIChjbGFzcyAyNjA2IE9JRCAxNDg5MTEpCistLSBOYW1lOiB0YWJsZV9mb3JfY29uc3RyYWlu dHMgY2hlY2tfY29uOyBUeXBlOiBDSEVDSyBDT05TVFJBSU5UOyBTY2hlbWE6IHRlc3Rfc2NoZW1h X2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1h X2RpZmYudGFibGVfZm9yX2NvbnN0cmFpbnRzCisgICAgQUREIENPTlNUUkFJTlQgY2hlY2tfY29u IENIRUNLICgoY29sMSA+IDEwKSkgTk9UIFZBTElEOworCisKKy0tCistLSBUT0MgZW50cnkgNjEw NjggKGNsYXNzIDAgT0lEIDApCistLSBEZXBlbmRlbmNpZXM6IDU2ODkxCistLSBOYW1lOiBDT05T VFJBSU5UIGNoZWNrX2NvbiBPTiB0YWJsZV9mb3JfY29uc3RyYWludHM7IFR5cGU6IENPTU1FTlQ7 IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ09N TUVOVCBPTiBDT05TVFJBSU5UIGNoZWNrX2NvbiBPTiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zv cl9jb25zdHJhaW50cyBJUyAnY29tZW50JzsKKworCistLQorLS0gVE9DIGVudHJ5IDU2ODk5IChj bGFzcyAyNjA2IE9JRCAxNDg5NzApCistLSBOYW1lOiB0YWJsZV9mb3JfY29sdW1uIHRhYmxlX2Zv cl9jb2x1bW5fcGtleTsgVHlwZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZm OyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1h X2RpZmYudGFibGVfZm9yX2NvbHVtbgorICAgIEFERCBDT05TVFJBSU5UIHRhYmxlX2Zvcl9jb2x1 bW5fcGtleSBQUklNQVJZIEtFWSAoY29sMSk7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1Njg5NSAo Y2xhc3MgMjYwNiBPSUQgMTQ4OTAyKQorLS0gTmFtZTogdGFibGVfZm9yX2NvbnN0cmFpbnRzIHRh YmxlX2Zvcl9jb25zdHJhaW50c19wa2V5OyBUeXBlOiBDT05TVFJBSU5UOyBTY2hlbWE6IHRlc3Rf c2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRBQkxFIE9OTFkg dGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfY29uc3RyYWludHMKKyAgICBBREQgQ09OU1RSQUlO VCB0YWJsZV9mb3JfY29uc3RyYWludHNfcGtleSBQUklNQVJZIEtFWSAoY29sMSk7CisKKworLS0K Ky0tIFRPQyBlbnRyeSA1NjkwNCAoY2xhc3MgMjYwNiBPSUQgMTQ4OTg0KQorLS0gTmFtZTogdGFi bGVfZm9yX2luZGV4IHRhYmxlX2Zvcl9pbmRleF9wa2V5OyBUeXBlOiBDT05TVFJBSU5UOyBTY2hl bWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRB QkxFIE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaW5kZXgKKyAgICBBREQgQ09OU1RS QUlOVCB0YWJsZV9mb3JfaW5kZXhfcGtleSBQUklNQVJZIEtFWSAoY29sMSk7CisKKworLS0KKy0t IFRPQyBlbnRyeSA1NjkxMyAoY2xhc3MgMjYwNiBPSUQgMTQ5MTM1KQorLS0gTmFtZTogdGFibGVf Zm9yX3ByaW1hcnlfa2V5IHRhYmxlX2Zvcl9wcmltYXJ5X2tleV9wa2V5OyBUeXBlOiBDT05TVFJB SU5UOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisK K0FMVEVSIFRBQkxFIE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHJpbWFyeV9rZXkK KyAgICBBREQgQ09OU1RSQUlOVCB0YWJsZV9mb3JfcHJpbWFyeV9rZXlfcGtleSBQUklNQVJZIEtF WSAoY29sMSwgY29sMik7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1NjkwOSAoY2xhc3MgMjYwNiBP SUQgMTQ5MDMxKQorLS0gTmFtZTogdGFibGVfZm9yX3J1bGUgdGFibGVfZm9yX3J1bGVfcGtleTsg VHlwZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJw cmlzZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9y X3J1bGUKKyAgICBBREQgQ09OU1RSQUlOVCB0YWJsZV9mb3JfcnVsZV9wa2V5IFBSSU1BUlkgS0VZ IChjb2wxKTsKKworCistLQorLS0gVE9DIGVudHJ5IDU2OTA3IChjbGFzcyAyNjA2IE9JRCAxNDkw MTEpCistLSBOYW1lOiB0YWJsZV9mb3JfaWRlbnRpY2FsIHRhYmxlX2Zvcl90YWJsZV9mb3JfaWRl bnRpY2FsX3BrZXk7IFR5cGU6IENPTlNUUkFJTlQ7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsg T3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQUxURVIgVEFCTEUgT05MWSB0ZXN0X3NjaGVtYV9k aWZmLnRhYmxlX2Zvcl9pZGVudGljYWwKKyAgICBBREQgQ09OU1RSQUlOVCB0YWJsZV9mb3JfdGFi bGVfZm9yX2lkZW50aWNhbF9wa2V5IFBSSU1BUlkgS0VZIChjb2wxKTsKKworCistLQorLS0gVE9D IGVudHJ5IDU2OTExIChjbGFzcyAyNjA2IE9JRCAxNDkwNTUpCistLSBOYW1lOiB0YWJsZV9mb3Jf dHJpZ2dlciB0YWJsZV9mb3JfdHJpZ2dlcl9wa2V5OyBUeXBlOiBDT05TVFJBSU5UOyBTY2hlbWE6 IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRBQkxF IE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfdHJpZ2dlcgorICAgIEFERCBDT05TVFJB SU5UIHRhYmxlX2Zvcl90cmlnZ2VyX3BrZXkgUFJJTUFSWSBLRVkgKGNvbDEpOworCisKKy0tCist LSBUT0MgZW50cnkgNTY4OTcgKGNsYXNzIDI2MDYgT0lEIDE0ODkxMykKKy0tIE5hbWU6IHRhYmxl X2Zvcl9jb25zdHJhaW50cyB1bmlxdWU7IFR5cGU6IENPTlNUUkFJTlQ7IFNjaGVtYTogdGVzdF9z Y2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQUxURVIgVEFCTEUgT05MWSB0 ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cworICAgIEFERCBDT05TVFJBSU5U ICJ1bmlxdWUiIFVOSVFVRSAoY29sMSk7CisKKworLS0KKy0tIFRPQyBlbnRyeSA2MTA2OSAoY2xh c3MgMCBPSUQgMCkKKy0tIERlcGVuZGVuY2llczogNTY4OTcKKy0tIE5hbWU6IENPTlNUUkFJTlQg InVuaXF1ZSIgT04gdGFibGVfZm9yX2NvbnN0cmFpbnRzOyBUeXBlOiBDT01NRU5UOyBTY2hlbWE6 IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NPTU1FTlQgT04g Q09OU1RSQUlOVCAidW5pcXVlIiBPTiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJh aW50cyBJUyAnY21udCc7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1NjkwMCAoY2xhc3MgMTI1OSBP SUQgMTQ5MDIzKQorLS0gTmFtZTogaW5kZXgxOyBUeXBlOiBJTkRFWDsgU2NoZW1hOiB0ZXN0X3Nj aGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgSU5ERVggaW5kZXgx IE9OIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX2luZGV4IFVTSU5HIGJ0cmVlIChjb2wyIHZh cmNoYXJfcGF0dGVybl9vcHMpOworCisKKy0tCistLSBUT0MgZW50cnkgNTY5MDUgKGNsYXNzIDEy NTkgT0lEIDE0OTAxMikKKy0tIE5hbWU6IGluZGV4X2lkZW50aWNhbDsgVHlwZTogSU5ERVg7IFNj aGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JFQVRF IElOREVYIGluZGV4X2lkZW50aWNhbCBPTiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9pZGVu dGljYWwgVVNJTkcgYnRyZWUgKGNvbDIgdGV4dF9wYXR0ZXJuX29wcyk7CisKKworLS0KKy0tIFRP QyBlbnRyeSA1NjkwMSAoY2xhc3MgMTI1OSBPSUQgMTQ5MjExKQorLS0gTmFtZTogaW5kZXhfc2Ft ZTsgVHlwZTogSU5ERVg7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJp c2VkYgorLS0KKworQ1JFQVRFIElOREVYIGluZGV4X3NhbWUgT04gdGVzdF9zY2hlbWFfZGlmZi50 YWJsZV9mb3JfaW5kZXggVVNJTkcgYnRyZWUgKGNvbDIgdGV4dF9wYXR0ZXJuX29wcyk7CisKKwor LS0KKy0tIFRPQyBlbnRyeSA1NjkwMiAoY2xhc3MgMTI1OSBPSUQgMTQ5MDIyKQorLS0gTmFtZTog aW5kZXhfc291cmNlOyBUeXBlOiBJTkRFWDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25l cjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgSU5ERVggaW5kZXhfc291cmNlIE9OIHRlc3Rf c2NoZW1hX2RpZmYudGFibGVfZm9yX2luZGV4IFVTSU5HIGJ0cmVlIChjb2wyIHRleHRfcGF0dGVy bl9vcHMpOworCisKKy0tCistLSBUT0MgZW50cnkgNjEwNDQgKGNsYXNzIDI2MTggT0lEIDE0OTAz MikKKy0tIE5hbWU6IHRhYmxlX2Zvcl9ydWxlIHJ1bGUxOyBUeXBlOiBSVUxFOyBTY2hlbWE6IHRl c3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBSVUxFIHJ1 bGUxIEFTCisgICAgT04gVVBEQVRFIFRPIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3J1bGUg RE8gSU5TVEVBRCBOT1RISU5HOworCisKKy0tCistLSBUT0MgZW50cnkgNjEwNzAgKGNsYXNzIDAg T0lEIDApCistLSBEZXBlbmRlbmNpZXM6IDYxMDQ0CistLSBOYW1lOiBSVUxFIHJ1bGUxIE9OIHRh YmxlX2Zvcl9ydWxlOyBUeXBlOiBDT01NRU5UOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93 bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NPTU1FTlQgT04gUlVMRSBydWxlMSBPTiB0ZXN0X3Nj aGVtYV9kaWZmLnRhYmxlX2Zvcl9ydWxlIElTICdjb21tZW50cyc7CisKKworLS0KKy0tIFRPQyBl bnRyeSA2MTA0NSAoY2xhc3MgMjYxOCBPSUQgMTQ5MDMzKQorLS0gTmFtZTogdGFibGVfZm9yX3J1 bGUgcnVsZTI7IFR5cGU6IFJVTEU7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVu dGVycHJpc2VkYgorLS0KKworQ1JFQVRFIFJVTEUgcnVsZTIgQVMKKyAgICBPTiBJTlNFUlQgVE8g dGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcnVsZSBETyBOT1RISU5HOworCistLQorLS0gVE9D IGVudHJ5IDEyMjgzIChjbGFzcyAxMjU5IE9JRCAzNDc4MTgpCistLSBOYW1lOiB0ZXN0IHZpZXc7 IFR5cGU6IFZJRVc7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2Vk YgorLS0KKworQ1JFQVRFIFZJRVcgdGVzdF9zY2hlbWFfZGlmZi4idGVzdCB2aWV3IiBBUworIFNF TEVDVCBwZ19jbGFzcy5yZWxuYW1lLAorICAgIHBnX2NsYXNzLnJlbG5hbWVzcGFjZSwKKyAgICBw Z19jbGFzcy5yZWx0eXBlLAorICAgIHBnX2NsYXNzLnJlbG9mdHlwZSwKKyAgICBwZ19jbGFzcy5y ZWxvd25lciwKKyAgICBwZ19jbGFzcy5yZWxhbSwKKyAgICBwZ19jbGFzcy5yZWxmaWxlbm9kZSwK KyAgICBwZ19jbGFzcy5yZWx0YWJsZXNwYWNlLAorICAgIHBnX2NsYXNzLnJlbHBhZ2VzLAorICAg IHBnX2NsYXNzLnJlbHR1cGxlcywKKyAgICBwZ19jbGFzcy5yZWxhbGx2aXNpYmxlLAorICAgIHBn X2NsYXNzLnJlbHRvYXN0cmVsaWQsCisgICAgcGdfY2xhc3MucmVsaGFzaW5kZXgsCisgICAgcGdf Y2xhc3MucmVsaXNzaGFyZWQsCisgICAgcGdfY2xhc3MucmVscGVyc2lzdGVuY2UsCisgICAgcGdf Y2xhc3MucmVsa2luZCwKKyAgICBwZ19jbGFzcy5yZWxuYXR0cywKKyAgICBwZ19jbGFzcy5yZWxj aGVja3MsCisgICAgcGdfY2xhc3MucmVsaGFzcnVsZXMsCisgICAgcGdfY2xhc3MucmVsaGFzdHJp Z2dlcnMsCisgICAgcGdfY2xhc3MucmVsaGFzc3ViY2xhc3MsCisgICAgcGdfY2xhc3MucmVscm93 c2VjdXJpdHksCisgICAgcGdfY2xhc3MucmVsZm9yY2Vyb3dzZWN1cml0eSwKKyAgICBwZ19jbGFz cy5yZWxpc3BvcHVsYXRlZCwKKyAgICBwZ19jbGFzcy5yZWxyZXBsaWRlbnQsCisgICAgcGdfY2xh c3MucmVsaXNwYXJ0aXRpb24sCisgICAgcGdfY2xhc3MucmVsZnJvemVueGlkLAorICAgIHBnX2Ns YXNzLnJlbG1pbm14aWQsCisgICAgcGdfY2xhc3MucmVsYWNsLAorICAgIHBnX2NsYXNzLnJlbG9w dGlvbnMsCisgICAgcGdfY2xhc3MucmVscGFydGJvdW5kCisgICBGUk9NIHBnX2NsYXNzCisgTElN SVQgMTA7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi4idGVzdCB2aWV3IiBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkgMTIyODYgKGNsYXNzIDEyNTkg T0lEIDM0NzgzMikKKy0tIE5hbWU6IHRlc3QgdmlldyBmOyBUeXBlOiBWSUVXOyBTY2hlbWE6IHRl c3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBWSUVXIHRl c3Rfc2NoZW1hX2RpZmYuInRlc3QgdmlldyBmIiBXSVRIIChzZWN1cml0eV9iYXJyaWVyPSdmYWxz ZScpIEFTCisgU0VMRUNUIDI7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi4idGVz dCB2aWV3IGYiIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSA2MTEx MSAoY2xhc3MgMCBPSUQgMCkKKy0tIERlcGVuZGVuY2llczogMTIyODYKKy0tIE5hbWU6IFZJRVcg InRlc3QgdmlldyBmIjsgVHlwZTogQ09NTUVOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBP d25lcjogZW50ZXJwcmlzZWRiCistLQorCitDT01NRU5UIE9OIFZJRVcgdGVzdF9zY2hlbWFfZGlm Zi4idGVzdCB2aWV3IGYiIElTICdjbW4nOworCistLSBDb2xsYXRpb24gc2NyaXB0cworQ1JFQVRF IENPTExBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmNvbGxfc3JjCisgICAgRlJPTSBwZ19jYXRhbG9n LiJQT1NJWCI7CisKK0FMVEVSIENPTExBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmNvbGxfc3JjCisg ICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDT01NRU5UIE9OIENPTExBVElPTiB0ZXN0X3Nj aGVtYV9kaWZmLmNvbGxfc3JjCisgICAgSVMgJ1Rlc3QgQ29tbWVudCc7CisKK0NSRUFURSBDT0xM QVRJT04gdGVzdF9zY2hlbWFfZGlmZi5jb2xsX2RpZmYKKyAgICAoTENfQ09MTEFURSA9ICdQT1NJ WCcsIExDX0NUWVBFID0gJ1BPU0lYJyk7CisKK0FMVEVSIENPTExBVElPTiB0ZXN0X3NjaGVtYV9k aWZmLmNvbGxfZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ09NTUVOVCBPTiBD T0xMQVRJT04gdGVzdF9zY2hlbWFfZGlmZi5jb2xsX2RpZmYKKyAgICBJUyAnVGVzdCBDb21tZW50 JzsKKworLS0gRlRTIENvbmZpZ3VyYXRpb24gc2NyaXB0cworQ1JFQVRFIFRFWFQgU0VBUkNIIENP TkZJR1VSQVRJT04gdGVzdF9zY2hlbWFfZGlmZi5mdHNfY29uX3NyYyAoCisgICAgQ09QWT1nZXJt YW4KKyk7CisKK0FMVEVSIFRFWFQgU0VBUkNIIENPTkZJR1VSQVRJT04gdGVzdF9zY2hlbWFfZGlm Zi5mdHNfY29uX3NyYyBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NPTU1FTlQgT04gVEVYVCBT RUFSQ0ggQ09ORklHVVJBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmZ0c19jb25fc3JjCisgICAgSVMg J1Rlc3QgQ29tbWVudCc7CisKK0NSRUFURSBURVhUIFNFQVJDSCBDT05GSUdVUkFUSU9OIHRlc3Rf c2NoZW1hX2RpZmYuZnRzX2Nvbl9kaWZmICgKKwlQQVJTRVIgPSBkZWZhdWx0CispOworQUxURVIg VEVYVCBTRUFSQ0ggQ09ORklHVVJBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmZ0c19jb25fZGlmZiBB REQgTUFQUElORyBGT1IgYXNjaWl3b3JkIFdJVEggZ2VybWFuX3N0ZW07CitBTFRFUiBURVhUIFNF QVJDSCBDT05GSUdVUkFUSU9OIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX2Nvbl9kaWZmIEFERCBNQVBQ SU5HIEZPUiBlbWFpbCBXSVRIIHNpbXBsZTsKK0FMVEVSIFRFWFQgU0VBUkNIIENPTkZJR1VSQVRJ T04gdGVzdF9zY2hlbWFfZGlmZi5mdHNfY29uX2RpZmYgQUREIE1BUFBJTkcgRk9SIGh3b3JkIFdJ VEggZHV0Y2hfc3RlbTsKKworLS0gRlRTIERpY3Rpb25hcnkgc2NyaXB0cworQ1JFQVRFIFRFWFQg U0VBUkNIIERJQ1RJT05BUlkgdGVzdF9zY2hlbWFfZGlmZi5mdHNfZGljdF9zcmMgKAorICAgIFRF TVBMQVRFID0gc2ltcGxlLAorICAgIHN0b3B3b3JkcyA9ICdlbmdsaXNoJworKTsKKworQ09NTUVO VCBPTiBURVhUIFNFQVJDSCBESUNUSU9OQVJZIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX2RpY3Rfc3Jj CisgICAgSVMgJ1Rlc3QgQ29tbWVudCc7CisKK0NSRUFURSBURVhUIFNFQVJDSCBESUNUSU9OQVJZ IHRlc3Rfc2NoZW1hX2RpZmYuZnRzX2RpY3RfZGlmZiAoCisgICAgVEVNUExBVEUgPSBzaW1wbGUs CisgICAgc3RvcHdvcmRzID0gJ2VuZ2xpc2gnCispOworCitDT01NRU5UIE9OIFRFWFQgU0VBUkNI IERJQ1RJT05BUlkgdGVzdF9zY2hlbWFfZGlmZi5mdHNfZGljdF9kaWZmCisgICAgSVMgJ1Rlc3Qg Q29tbWVudCc7CisKKy0tIEZUUyBQYXJzZXIgc2NyaXB0cworQ1JFQVRFIFRFWFQgU0VBUkNIIFBB UlNFUiB0ZXN0X3NjaGVtYV9kaWZmLmZ0c19wYXJfc3JjICgKKyAgICBTVEFSVCA9IHByc2Rfc3Rh cnQsCisgICAgR0VUVE9LRU4gPSBwcnNkX25leHR0b2tlbiwKKyAgICBFTkQgPSBwcnNkX2VuZCwK KyAgICBMRVhUWVBFUyA9IHByc2RfbGV4dHlwZSk7CisKK0NPTU1FTlQgT04gVEVYVCBTRUFSQ0gg UEFSU0VSIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX3Bhcl9zcmMKKyAgICAgIElTICdUZXN0IENvbW1l bnQnOworCitDUkVBVEUgVEVYVCBTRUFSQ0ggUEFSU0VSIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX3Bh cl9kaWZmICgKKyAgICBTVEFSVCA9IHByc2Rfc3RhcnQsCisgICAgR0VUVE9LRU4gPSBwcnNkX25l eHR0b2tlbiwKKyAgICBFTkQgPSBwcnNkX2VuZCwKKyAgICBMRVhUWVBFUyA9IHByc2RfbGV4dHlw ZSk7CisKK0NPTU1FTlQgT04gVEVYVCBTRUFSQ0ggUEFSU0VSIHRlc3Rfc2NoZW1hX2RpZmYuZnRz X3Bhcl9kaWZmCisgICAgICBJUyAnVGVzdCBDb21tZW50JzsKKworLS0gRlRTIFRlbXBsYXRlIHNj cmlwdHMKK0NSRUFURSBURVhUIFNFQVJDSCBURU1QTEFURSB0ZXN0X3NjaGVtYV9kaWZmLmZ0c190 ZW1wbF9zcmMgKAorICAgIElOSVQgPSBkaXNwZWxsX2luaXQsCisgICAgTEVYSVpFID0gZGlzcGVs bF9sZXhpemUKKyk7CisKK0NPTU1FTlQgT04gVEVYVCBTRUFSQ0ggVEVNUExBVEUgdGVzdF9zY2hl bWFfZGlmZi5mdHNfdGVtcGxfc3JjIElTICdUZXN0IENvbW1lbnQnOworCitDUkVBVEUgVEVYVCBT RUFSQ0ggVEVNUExBVEUgdGVzdF9zY2hlbWFfZGlmZi5mdHNfdGVtcGxfZGlmZiAoCisgICAgSU5J VCA9IGRpc3BlbGxfaW5pdCwKKyAgICBMRVhJWkUgPSBkaXNwZWxsX2xleGl6ZQorKTsKKworQ09N TUVOVCBPTiBURVhUIFNFQVJDSCBURU1QTEFURSB0ZXN0X3NjaGVtYV9kaWZmLmZ0c190ZW1wbF9k aWZmIElTICdUZXN0IENvbW1lbnQnOworCistLSBEb21haW4gYW5kIERvbWFpbiBDb25zdHJhaW50 IHNjcmlwdAorQ1JFQVRFIERPTUFJTiB0ZXN0X3NjaGVtYV9kaWZmLmRvbV9zcmMKKyAgICBBUyBi aWdpbnQKKyAgICBERUZBVUxUIDEwMAorICAgIE5PVCBOVUxMOworCitBTFRFUiBET01BSU4gdGVz dF9zY2hlbWFfZGlmZi5kb21fc3JjIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQUxURVIgRE9N QUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX3NyYworICAgIEFERCBDT05TVFJBSU5UIGNvbl9zcmMg Q0hFQ0sgKFZBTFVFIDw+IDEwMCk7CisKK0NSRUFURSBET01BSU4gdGVzdF9zY2hlbWFfZGlmZi5k b21fY29uc19kaWZmCisgICAgQVMgYmlnaW50CisgICAgREVGQVVMVCAxMDAKKyAgICBOT1QgTlVM TDsKKworQUxURVIgRE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX2NvbnNfZGlmZiBPV05FUiBU TyBlbnRlcnByaXNlZGI7CisKK0FMVEVSIERPTUFJTiB0ZXN0X3NjaGVtYV9kaWZmLmRvbV9jb25z X2RpZmYKKyAgICBBREQgQ09OU1RSQUlOVCBjb25zX2RpZmZfMSBDSEVDSyAoVkFMVUUgPD4gNTAp OworCitBTFRFUiBET01BSU4gdGVzdF9zY2hlbWFfZGlmZi5kb21fY29uc19kaWZmCisgICAgQURE IENPTlNUUkFJTlQgY29uc19zcmNfb25seSBDSEVDSyAoVkFMVUUgPD4gMjUpOworCitDUkVBVEUg RE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX3R5cGVfZGlmZgorICAgIEFTIGNoYXJhY3RlciB2 YXJ5aW5nKDQwKQorICAgIENPTExBVEUgcGdfY2F0YWxvZy4iUE9TSVgiOworCitBTFRFUiBET01B SU4gdGVzdF9zY2hlbWFfZGlmZi5kb21fdHlwZV9kaWZmIE9XTkVSIFRPIGVudGVycHJpc2VkYjsK KworQUxURVIgRE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX3R5cGVfZGlmZgorICAgIEFERCBD T05TVFJBSU5UIGNvbnMxIENIRUNLIChWQUxVRTo6dGV4dCA8PiAncGdBZG1pbjMnOjp0ZXh0KTsK KworQUxURVIgRE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX3R5cGVfZGlmZgorICAgIEFERCBD T05TVFJBSU5UIGNvbnMyIENIRUNLIChWQUxVRTo6dGV4dCA8PiAncGdBZG1pbjQnOjp0ZXh0KTsK KworQ09NTUVOVCBPTiBET01BSU4gdGVzdF9zY2hlbWFfZGlmZi5kb21fdHlwZV9kaWZmCisgICAg SVMgJ1Rlc3QgY29tbWVudCc7CisKKy0tIFR5cGUgU2NyaXB0IGNvbXBvc2l0ZSB0eXBlCitDUkVB VEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX3NyYyBBUworKAorCW0xIGJpdCg1KSwK KwltMiB0ZXh0IENPTExBVEUgcGdfY2F0YWxvZy4iUE9TSVgiCispOworQUxURVIgVFlQRSB0ZXN0 X3NjaGVtYV9kaWZmLnR5cF9jb21wX3NyYworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKwor Q1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfY29tcF9kaWZmIEFTCisoCisJbTEgbnVt ZXJpYyg1LDIpLAorCW0zIGNoYXJhY3RlciB2YXJ5aW5nKDMwKSBDT0xMQVRFIHBnX2NhdGFsb2cu IkMiCispOworQUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX2RpZmYKKyAgICBP V05FUiBUTyBlbnRlcnByaXNlZGI7CitDT01NRU5UIE9OIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50 eXBfY29tcF9kaWZmCisgICAgSVMgJ1Rlc3QgQ29tbWVudCc7CitHUkFOVCBVU0FHRSBPTiBUWVBF IHRlc3Rfc2NoZW1hX2RpZmYudHlwX2NvbXBfZGlmZiBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBP TiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX2NvbXBfZGlmZiBUTyBwZ19tb25pdG9yIFdJVEgg R1JBTlQgT1BUSU9OOworR1JBTlQgVVNBR0UgT04gVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9j b21wX2RpZmYgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZm LnR5cF9jb21wX2RpZmZfbm9fY29sdW1uIEFTCisoCispOworQUxURVIgVFlQRSB0ZXN0X3NjaGVt YV9kaWZmLnR5cF9jb21wX2RpZmZfbm9fY29sdW1uCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRi OworCistLSBUeXBlIFNjcmlwdCBFTlVNIHR5cGUKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1hX2Rp ZmYudHlwX2VudW1fc3JjIEFTIEVOVU0KKyAgICAoJ3Rlc3RfZW51bScpOworQUxURVIgVFlQRSB0 ZXN0X3NjaGVtYV9kaWZmLnR5cF9lbnVtX3NyYworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsK KworQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV9kaWZmIEFTIEVOVU0KKyAg ICAoJ3Rlc3RfZW51bScsICd0ZXN0X2VudW1fMScpOworQUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9k aWZmLnR5cF9lbnVtX2RpZmYKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CitDT01NRU5UIE9O IFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV9kaWZmCisgICAgSVMgJ1Rlc3QgQ29tbWVu dCc7CitHUkFOVCBVU0FHRSBPTiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX2VudW1fc3JjIFRP IHBnX21vbml0b3IgV0lUSCBHUkFOVCBPUFRJT047CisKKy0tIFR5cGUgU2NyaXB0IFJBTkdFIHR5 cGUKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX3NyYyBBUyBSQU5HRQor KAorICAgIFNVQlRZUEU9dGV4dCwKKyAgICBDT0xMQVRJT04gPSBwZ19jYXRhbG9nLiJQT1NJWCIs CisgICAgU1VCVFlQRV9PUENMQVNTID0gdGV4dF9vcHMKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2No ZW1hX2RpZmYudHlwX3JhbmdlX3NyYworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JF QVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfcmFuZ2VfY29sX2RpZmYgQVMgUkFOR0UKKygK KyAgICBTVUJUWVBFPXRleHQsCisgICAgQ09MTEFUSU9OID0gcGdfY2F0YWxvZy4iQyIsCisgICAg U1VCVFlQRV9PUENMQVNTID0gdGV4dF9vcHMKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2Rp ZmYudHlwX3JhbmdlX2NvbF9kaWZmCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworQ09NTUVO VCBPTiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX2NvbF9kaWZmCisgICAgSVMgJ1Rl c3QgQ29tbWVudCc7CitHUkFOVCBVU0FHRSBPTiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3Jh bmdlX2NvbF9kaWZmIFRPIFBVQkxJQzsKK0dSQU5UIFVTQUdFIE9OIFRZUEUgdGVzdF9zY2hlbWFf ZGlmZi50eXBfcmFuZ2VfY29sX2RpZmYgVE8gZW50ZXJwcmlzZWRiIFdJVEggR1JBTlQgT1BUSU9O OworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9yYW5nZV9zdWJ0eXBlX2RpZmYg QVMgUkFOR0UKKygKKyAgICBTVUJUWVBFPWJwY2hhciwKKyAgICBDT0xMQVRJT04gPSBwZ19jYXRh bG9nLiJQT1NJWCIKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX3N1 YnR5cGVfZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0gVHlwZSBTY3JpcHQg U0hFTEwgdHlwZQorQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfc2hlbGxfc3JjOwor QUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9zaGVsbF9zcmMKKyAgICBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3NoZWxsX2Rp ZmY7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3NoZWxsX2RpZmYKKyAgICBPV05F UiBUTyBlbnRlcnByaXNlZGI7CitDT01NRU5UIE9OIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBf c2hlbGxfZGlmZgorICAgIElTICdUZXN0IENvbW1lbnQnOworCistLSBUeXBlIHNjcmlwdCB0byB0 ZXN0IHdoZW4gVHlwZSBpcyBkaWZmZXJlbnQKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYu dHlwX2NvbXBfcmFuZ2VfZGlmZiBBUworKAorCW0xIGJpZ2ludCwKKwltMiB0ZXh0W10gQ09MTEFU RSBwZ19jYXRhbG9nLiJQT1NJWCIKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlw X2NvbXBfcmFuZ2VfZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFRZ UEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfY29tcF9lbnVtX2RpZmYgQVMKKygKKwltMSBiaWdpbnQs CisJbTIgdGV4dFtdIENPTExBVEUgcGdfY2F0YWxvZy4iUE9TSVgiCispOworQUxURVIgVFlQRSB0 ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX3JhbmdlX2RpZmYKKyAgICBPV05FUiBUTyBlbnRlcnBy aXNlZGI7CisKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX2NvbXBfZGlm ZiBBUyBSQU5HRQorKAorICAgIFNVQlRZUEU9dGV4dCwKKyAgICBDT0xMQVRJT04gPSBwZ19jYXRh bG9nLiJDIiwKKyAgICBTVUJUWVBFX09QQ0xBU1MgPSB0ZXh0X29wcworKTsKK0FMVEVSIFRZUEUg dGVzdF9zY2hlbWFfZGlmZi50eXBfcmFuZ2VfY29tcF9kaWZmCisgICAgT1dORVIgVE8gZW50ZXJw cmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9yYW5nZV9lbnVtX2Rp ZmYgQVMgUkFOR0UKKygKKyAgICBTVUJUWVBFPXRleHQsCisgICAgQ09MTEFUSU9OID0gcGdfY2F0 YWxvZy4iQyIsCisgICAgU1VCVFlQRV9PUENMQVNTID0gdGV4dF9vcHMKKyk7CitBTFRFUiBUWVBF IHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX2VudW1fZGlmZgorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKKworQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV9jb21wX2Rp ZmYgQVMgRU5VTQorICAgICgndGVzdF9lbnVtJywgJ3Rlc3RfZW51bV8xJyk7CitBTFRFUiBUWVBF IHRlc3Rfc2NoZW1hX2RpZmYudHlwX2VudW1fY29tcF9kaWZmCisgICAgT1dORVIgVE8gZW50ZXJw cmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9lbnVtX3JhbmdlX2Rp ZmYgQVMgRU5VTQorICAgICgndGVzdF9lbnVtJywgJ3Rlc3RfZW51bV8xJyk7CitBTFRFUiBUWVBF IHRlc3Rfc2NoZW1hX2RpZmYudHlwX2VudW1fcmFuZ2VfZGlmZgorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKKworLS0gUGFja2FnZSBzY3JpcHQgKHRlc3Rfc2NoZW1hX2RpZmYgb25seSkKK0NS RUFURSBPUiBSRVBMQUNFIFBBQ0tBR0UgdGVzdF9zY2hlbWFfZGlmZi5wa2dfc3JjCitJUworICAg IEZVTkNUSU9OIGdldF9kZXB0X25hbWUocF9kZXB0bm8gbnVtZXJpYykgUkVUVVJOIGNoYXJhY3Rl ciB2YXJ5aW5nOworICAgIFBST0NFRFVSRSBoaXJlX2VtcChwX2VtcG5vIG51bWVyaWMsIHBfZW5h bWUgY2hhcmFjdGVyIHZhcnlpbmcsIHBfam9iIGNoYXJhY3RlciB2YXJ5aW5nLCBwX3NhbCBudW1l cmljLCBwX2hpcmVkYXRlIHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSwgcF9jb21tIG51bWVy aWMsIHBfbWdyIG51bWVyaWMsIHBfZGVwdG5vIG51bWVyaWMpOworRU5EIHBrZ19zcmM7CisKK0NS RUFURSBPUiBSRVBMQUNFIFBBQ0tBR0UgQk9EWSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ19zcmMKK0lT CisgICAgRlVOQ1RJT04gZ2V0X2RlcHRfbmFtZShwX2RlcHRubyBudW1lcmljKSBSRVRVUk4gY2hh cmFjdGVyIHZhcnlpbmcgSVMKKyAgICAgICAgdl9kbmFtZSAgICAgICAgIFZBUkNIQVIyKDE0KTsK KyAgICBCRUdJTgorICAgICAgICBTRUxFQ1QgZG5hbWUgSU5UTyB2X2RuYW1lIEZST00gZGVwdCBX SEVSRSBkZXB0bm8gPSBwX2RlcHRubzsKKyAgICAgICAgUkVUVVJOIHZfZG5hbWU7CisgICAgRVhD RVBUSU9OCisgICAgICAgIFdIRU4gTk9fREFUQV9GT1VORCBUSEVOCisgICAgICAgICAgICBEQk1T X09VVFBVVC5QVVRfTElORSgnSW52YWxpZCBkZXBhcnRtZW50IG51bWJlciAnIHx8IHBfZGVwdG5v KTsKKyAgICAgICAgICAgIFJFVFVSTiAnJzsKKyAgICBFTkQ7CisKKyAgICBQUk9DRURVUkUgaGly ZV9lbXAocF9lbXBubyBudW1lcmljLCBwX2VuYW1lIGNoYXJhY3RlciB2YXJ5aW5nLCBwX2pvYiBj aGFyYWN0ZXIgdmFyeWluZywgcF9zYWwgbnVtZXJpYywgcF9oaXJlZGF0ZSB0aW1lc3RhbXAgd2l0 aG91dCB0aW1lIHpvbmUsIHBfY29tbSBudW1lcmljLCBwX21nciBudW1lcmljLCBwX2RlcHRubyBu dW1lcmljKSBJUworICAgIEJFR0lOCisgICAgICAgIElOU0VSVCBJTlRPIGVtcChlbXBubywgZW5h bWUsIGpvYiwgc2FsLCBoaXJlZGF0ZSwgY29tbSwgbWdyLCBkZXB0bm8pCisgICAgICAgICAgICBW QUxVRVMocF9lbXBubywgcF9lbmFtZSwgcF9qb2IsIHBfc2FsLAorICAgICAgICAgICAgICAgICAg IHBfaGlyZWRhdGUsIHBfY29tbSwgcF9tZ3IsIHBfZGVwdG5vKTsKKyAgICBFTkQ7CitFTkQgcGtn X3NyYzsKKworQ09NTUVOVCBPTiBQQUNLQUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX3NyYworICAg IElTICdUYXJnZXQnOworCistLSBQYWNrYWdlIHNjcmlwdCBkaWZmZXJlbmNlIGluIGhlYWRlciwg YWNsIGFuZCBjb21tZW50CitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIHRlc3Rfc2NoZW1hX2Rp ZmYucGtnX2hlYWRlcl9kaWZmCitJUworICAgIEZVTkNUSU9OIGdldF9kZXB0X25hbWUocF9kZXB0 bm8gbnVtZXJpYykgUkVUVVJOIGNoYXJhY3RlciB2YXJ5aW5nOworICAgIFBST0NFRFVSRSBoaXJl X2VtcChwX2VtcG5vIG51bWVyaWMsIHBfZW5hbWUgY2hhcmFjdGVyIHZhcnlpbmcsIHBfam9iIGNo YXJhY3RlciB2YXJ5aW5nLCBwX3NhbCBudW1lcmljLCBwX2hpcmVkYXRlIHRpbWVzdGFtcCB3aXRo b3V0IHRpbWUgem9uZSwgcF9jb21tIG51bWVyaWMsIHBfbWdyIG51bWVyaWMsIHBfZGVwdG5vIG51 bWVyaWMpOworRU5EIHBrZ19oZWFkZXJfZGlmZjsKKworQ1JFQVRFIE9SIFJFUExBQ0UgUEFDS0FH RSBCT0RZIHRlc3Rfc2NoZW1hX2RpZmYucGtnX2hlYWRlcl9kaWZmCitJUworICAgIEZVTkNUSU9O IGdldF9kZXB0X25hbWUocF9kZXB0bm8gbnVtZXJpYykgUkVUVVJOIGNoYXJhY3RlciB2YXJ5aW5n IElTCisgICAgICAgIHZfZG5hbWUgICAgICAgICBWQVJDSEFSMigxNCk7CisgICAgQkVHSU4KKyAg ICAgICAgU0VMRUNUIGRuYW1lIElOVE8gdl9kbmFtZSBGUk9NIGRlcHQgV0hFUkUgZGVwdG5vID0g cF9kZXB0bm87CisgICAgICAgIFJFVFVSTiB2X2RuYW1lOworICAgIEVYQ0VQVElPTgorICAgICAg ICBXSEVOIE5PX0RBVEFfRk9VTkQgVEhFTgorICAgICAgICAgICAgREJNU19PVVRQVVQuUFVUX0xJ TkUoJ0ludmFsaWQgZGVwYXJ0bWVudCBudW1iZXIgJyB8fCBwX2RlcHRubyk7CisgICAgICAgICAg ICBSRVRVUk4gJyc7CisgICAgRU5EOworCisgICAgUFJPQ0VEVVJFIGhpcmVfZW1wKHBfZW1wbm8g bnVtZXJpYywgcF9lbmFtZSBjaGFyYWN0ZXIgdmFyeWluZywgcF9qb2IgY2hhcmFjdGVyIHZhcnlp bmcsIHBfc2FsIG51bWVyaWMsIHBfaGlyZWRhdGUgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25l LCBwX2NvbW0gbnVtZXJpYywgcF9tZ3IgbnVtZXJpYywgcF9kZXB0bm8gbnVtZXJpYykgSVMKKyAg ICBCRUdJTgorICAgICAgICBJTlNFUlQgSU5UTyBlbXAoZW1wbm8sIGVuYW1lLCBqb2IsIHNhbCwg aGlyZWRhdGUsIGNvbW0sIG1nciwgZGVwdG5vKQorICAgICAgICAgICAgVkFMVUVTKHBfZW1wbm8s IHBfZW5hbWUsIHBfam9iLCBwX3NhbCwKKyAgICAgICAgICAgICAgICAgICBwX2hpcmVkYXRlLCBw X2NvbW0sIHBfbWdyLCBwX2RlcHRubyk7CisgICAgRU5EOworRU5EIHBrZ19oZWFkZXJfZGlmZjsK KworQ09NTUVOVCBPTiBQQUNLQUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX2hlYWRlcl9kaWZmCisg ICAgSVMgJ0hlYWRlciBEaWZmJzsKKworR1JBTlQgRVhFQ1VURSBPTiBQQUNLQUdFIHRlc3Rfc2No ZW1hX2RpZmYucGtnX2hlYWRlcl9kaWZmIFRPIFBVQkxJQzsKK0dSQU5UIEVYRUNVVEUgT04gUEFD S0FHRSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ19oZWFkZXJfZGlmZiBUTyBlbnRlcnByaXNlZGIgV0lU SCBHUkFOVCBPUFRJT047CisKKy0tIFBhY2thZ2Ugc2NyaXB0IGRpZmZlcmVuY2UgaW4gYm9keSwg YWNsIGFuZCBjb21tZW50CitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIHRlc3Rfc2NoZW1hX2Rp ZmYucGtnX2JvZHlfZGlmZgorSVMKKyAgICBQUk9DRURVUkUgaGlyZV9lbXAocF9lbXBubyBudW1l cmljLCBwX2VuYW1lIGNoYXJhY3RlciB2YXJ5aW5nLCBwX2pvYiBjaGFyYWN0ZXIgdmFyeWluZywg cF9zYWwgbnVtZXJpYywgcF9oaXJlZGF0ZSB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUsIHBf Y29tbSBudW1lcmljLCBwX21nciBudW1lcmljLCBwX2RlcHRubyBudW1lcmljKTsKK0VORCBwa2df Ym9keV9kaWZmOworCitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIEJPRFkgdGVzdF9zY2hlbWFf ZGlmZi5wa2dfYm9keV9kaWZmCitJUworICAgIFBST0NFRFVSRSBoaXJlX2VtcChwX2VtcG5vIG51 bWVyaWMsIHBfZW5hbWUgY2hhcmFjdGVyIHZhcnlpbmcsIHBfam9iIGNoYXJhY3RlciB2YXJ5aW5n LCBwX3NhbCBudW1lcmljLCBwX2hpcmVkYXRlIHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSwg cF9jb21tIG51bWVyaWMsIHBfbWdyIG51bWVyaWMsIHBfZGVwdG5vIG51bWVyaWMpIElTCisgICAg QkVHSU4KKyAgICAgICAgREJNU19PVVRQVVQuUFVUX0xJTkUoJ0JlZm9yZSBJbnNlcnQgJyk7Cisg ICAgICAgIElOU0VSVCBJTlRPIGVtcChlbXBubywgZW5hbWUsIGpvYiwgc2FsLCBoaXJlZGF0ZSwg Y29tbSwgbWdyLCBkZXB0bm8pCisgICAgICAgICAgICBWQUxVRVMocF9lbXBubywgcF9lbmFtZSwg cF9qb2IsIHBfc2FsLAorICAgICAgICAgICAgICAgICAgIHBfaGlyZWRhdGUsIHBfY29tbSwgcF9t Z3IsIHBfZGVwdG5vKTsKKyAgICAgICAgREJNU19PVVRQVVQuUFVUX0xJTkUoJ0FmdGVyIEluc2Vy dCAnKTsKKyAgICBFTkQ7CitFTkQgcGtnX2JvZHlfZGlmZjsKKworLS0gU3lub255bXMgU2NyaXB0 cworLS0gUHJlcmVxdWlzaXRlIGZvciBzeW5vbnltcworQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJ T04gdGVzdF9zY2hlbWFfZGlmZi5mdW5fZm9yX3N5bigpCitSRVRVUk5TIHZvaWQKKyAgICBMQU5H VUFHRSAncGxwZ3NxbCcKKyAgICBWT0xBVElMRQorICAgIENPU1QgMTAwCisKK0FTICRCT0RZJEJF R0lOCitTRUxFQ1QgMTsKK0VORDskQk9EWSQ7CitBTFRFUiBGVU5DVElPTiB0ZXN0X3NjaGVtYV9k aWZmLmZ1bl9mb3Jfc3luKCkKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBP UiBSRVBMQUNFIFBST0NFRFVSRSB0ZXN0X3NjaGVtYV9kaWZmLnByb2NfZm9yX3N5bigpCisgICAg U0VDVVJJVFkgREVGSU5FUiBWT0xBVElMRQorICAgIENPU1QgMTAwCitBUyAkQk9EWSRCRUdJTgor U0VMRUNUIDE7CitFTkQ7JEJPRFkkOworCitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIHRlc3Rf c2NoZW1hX2RpZmYucGtnX2Zvcl9zeW4KK0lTCitGVU5DVElPTiBnZXRfZGVwdF9uYW1lKHBfZGVw dG5vIG51bWVyaWMpIFJFVFVSTiBjaGFyYWN0ZXIgdmFyeWluZzsKK0VORCBwa2dfZm9yX3N5bjsK K0NSRUFURSBPUiBSRVBMQUNFIFBBQ0tBR0UgQk9EWSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ19mb3Jf c3luCitJUworRlVOQ1RJT04gZ2V0X2RlcHRfbmFtZShwX2RlcHRubyBudW1lcmljKSBSRVRVUk4g Y2hhcmFjdGVyIHZhcnlpbmcgSVMKK0JFR0lOCisgICAgUkVUVVJOICcnOworRU5EOworRU5EIHBr Z19mb3Jfc3luOworCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3Jfc3lu CisoCisgICAgaWQgYmlnaW50LAorICAgIG5hbWUgdGV4dCBDT0xMQVRFIHBnX2NhdGFsb2cuImRl ZmF1bHQiCispCitUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVt YV9kaWZmLnRhYmxlX2Zvcl9zeW4KKyAgICBPV05FUiB0byBlbnRlcnByaXNlZGI7CisKK0NSRUFU RSBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9mb3Jfc3luCisgICAgSU5DUkVNRU5UIDUK KyAgICBTVEFSVCAxCisgICAgTUlOVkFMVUUgMQorICAgIE1BWFZBTFVFIDEwMAorICAgIENBQ0hF IDE7CitBTFRFUiBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9mb3Jfc3luCisgICAgT1dO RVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgT1IgUkVQTEFDRSBTWU5PTllNIHRlc3Rfc2No ZW1hX2RpZmYuc3luX2Z1bl9zcmMKKyAgICBGT1IgdGVzdF9zY2hlbWFfZGlmZi5mdW5fZm9yX3N5 bjsKKworQ1JFQVRFIE9SIFJFUExBQ0UgU1lOT05ZTSB0ZXN0X3NjaGVtYV9kaWZmLnN5bl9wa2df c3JjCisgICAgRk9SIHRlc3Rfc2NoZW1hX2RpZmYucGtnX2Zvcl9zeW47CisKK0NSRUFURSBPUiBS RVBMQUNFIFNZTk9OWU0gdGVzdF9zY2hlbWFfZGlmZi5zeW5fcHJvY19zcmMKKyAgICBGT1IgdGVz dF9zY2hlbWFfZGlmZi5wcm9jX2Zvcl9zeW47CisKK0NSRUFURSBPUiBSRVBMQUNFIFNZTk9OWU0g dGVzdF9zY2hlbWFfZGlmZi5zeW5fc2VxX3NyYworICAgIEZPUiB0ZXN0X3NjaGVtYV9kaWZmLnNl cV9mb3Jfc3luOworCitDUkVBVEUgT1IgUkVQTEFDRSBTWU5PTllNIHRlc3Rfc2NoZW1hX2RpZmYu c3luX3RhYmxlX3NyYworICAgIEZPUiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9zeW47CisK K0NSRUFURSBUQUJMRSBwdWJsaWMudGFibGVfZm9yX3N5bgorKAorICAgIGlkIGJpZ2ludCwKKyAg ICBuYW1lIHRleHQgQ09MTEFURSBwZ19jYXRhbG9nLiJkZWZhdWx0IgorKQorVEFCTEVTUEFDRSBw Z19kZWZhdWx0OworQUxURVIgVEFCTEUgcHVibGljLnRhYmxlX2Zvcl9zeW4KKyAgICBPV05FUiB0 byBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBPUiBSRVBMQUNFIFNZTk9OWU0gdGVzdF9zY2hlbWFf ZGlmZi5zeW5fZGlmZgorICAgIEZPUiBwdWJsaWMudGFibGVfZm9yX3N5bjsKKworLS0gU2VxdWVu Y2VzIFNjcmlwdAorQ1JFQVRFIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX3NyYworICAg IENZQ0xFCisgICAgSU5DUkVNRU5UIDEKKyAgICBTVEFSVCAxCisgICAgTUlOVkFMVUUgMQorICAg IE1BWFZBTFVFIDMKKyAgICBDQUNIRSA2OworQUxURVIgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlm Zi5zZXFfc3JjCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworQ09NTUVOVCBPTiBTRVFVRU5D RSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9zcmMKKyAgICBJUyAnVGVzdCBDb21tZW50JzsKK0dSQU5U IEFMTCBPTiBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9zcmMgVE8gUFVCTElDOworR1JB TlQgQUxMIE9OIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX3NyYyBUTyBlbnRlcnByaXNl ZGI7CisKK0NSRUFURSBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9kaWZmX2NvbW1lbnRf YWNsCisgICAgSU5DUkVNRU5UIDEKKyAgICBTVEFSVCAxCisgICAgTUlOVkFMVUUgMQorICAgIE1B WFZBTFVFIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKyAgICBDQUNIRSAxOworQUxURVIgU0VRVUVOQ0Ug dGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlmZl9jb21tZW50X2FjbAorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKK0NPTU1FTlQgT04gU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlmZl9j b21tZW50X2FjbAorICAgIElTICdUZXN0IENvbW1lbnQnOworR1JBTlQgQUxMIE9OIFNFUVVFTkNF IHRlc3Rfc2NoZW1hX2RpZmYuc2VxX2RpZmZfY29tbWVudF9hY2wgVE8gUFVCTElDOworR1JBTlQg QUxMIE9OIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX2RpZmZfY29tbWVudF9hY2wgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlm Zl9jb21tZW50X2FjbF9yZW1vdmUKKyAgICBJTkNSRU1FTlQgMQorICAgIFNUQVJUIDEKKyAgICBN SU5WQUxVRSAxCisgICAgTUFYVkFMVUUgOTIyMzM3MjAzNjg1NDc3NTgwNworICAgIENBQ0hFIDE7 CitBTFRFUiBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9kaWZmX2NvbW1lbnRfYWNsX3Jl bW92ZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUVVFTkNFIHRlc3Rf c2NoZW1hX2RpZmYuc2VxX2RpZmYKKyAgICBDWUNMRQorICAgIElOQ1JFTUVOVCAzCisgICAgU1RB UlQgMworICAgIE1JTlZBTFVFIDMKKyAgICBNQVhWQUxVRSAxMDAKKyAgICBDQUNIRSAyOworQUxU RVIgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlmZgorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKKworQ1JFQVRFIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX3N0YXJ0X2Rp ZmYKKyAgICBJTkNSRU1FTlQgNQorICAgIFNUQVJUIDMKKyAgICBNSU5WQUxVRSAzCisgICAgTUFY VkFMVUUgMjA7CitBTFRFUiBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9zdGFydF9kaWZm CisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLSBGb3JlaWduIERhdGEgV3JhcHBlciB0 byB0ZXN0IGZvcmVpZ24gdGFibGUKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2Zk d19mb3JfZm9yZWlnbl90YWJsZTsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3 X2Zvcl9mb3JlaWduX3RhYmxlCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLSBGb3Jl aWduIFNlcnZlciB0byB0ZXN0IGZvcmVpZ24gdGFibGUKK0NSRUFURSBTRVJWRVIgdGVzdF9mc19m b3JfZm9yZWlnbl90YWJsZQorICAgIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9m b3JlaWduX3RhYmxlOworQUxURVIgU0VSVkVSIHRlc3RfZnNfZm9yX2ZvcmVpZ25fdGFibGUKKyAg ICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CitDUkVBVEUgU0VSVkVSIHRlc3RfZnMyX2Zvcl9mb3Jl aWduX3RhYmxlCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25f dGFibGU7CitBTFRFUiBTRVJWRVIgdGVzdF9mczJfZm9yX2ZvcmVpZ25fdGFibGUKKyAgICBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIFRhYmxlIHRvIHRlc3QgaW5oZXJpdGFuY2UgaW4gZm9y ZWlnbiB0YWJsZQorQ1JFQVRFIFRBQkxFIHB1YmxpYy50ZXN0X3RhYmxlX2Zvcl9mb3JlaWduX3Rh YmxlCisoCisgICAgdGlkIGJpZ2ludCBOT1QgTlVMTCwKKyAgICB0bmFtZSB0ZXh0IENPTExBVEUg cGdfY2F0YWxvZy4iZGVmYXVsdCIsCisgICAgQ09OU1RSQUlOVCB0ZXN0X3RhYmxlX2Zvcl9mb3Jl aWduX3RhYmxlX3BrZXkgUFJJTUFSWSBLRVkgKHRpZCkKKykKK1dJVEggKAorICAgIE9JRFMgPSBG QUxTRQorKQorVEFCTEVTUEFDRSBwZ19kZWZhdWx0OworQUxURVIgVEFCTEUgcHVibGljLnRlc3Rf dGFibGVfZm9yX2ZvcmVpZ25fdGFibGUKKyAgICBPV05FUiB0byBlbnRlcnByaXNlZGI7CisKK0NS RUFURSBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfc3JjKAorICAgIGZpZCBiaWdp bnQgTlVMTCwKKyAgICBmbmFtZSB0ZXh0IE5VTEwgQ09MTEFURSBwZ19jYXRhbG9nLiJkZWZhdWx0 IgorKQorICAgIFNFUlZFUiB0ZXN0X2ZzX2Zvcl9mb3JlaWduX3RhYmxlOworQUxURVIgRk9SRUlH TiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X3NyYworICAgIE9XTkVSIFRPIGVudGVycHJpc2Vk YjsKK0FMVEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9zcmMKKyAgICBBREQg Q09OU1RSQUlOVCBmY2hlY2sgQ0hFQ0sgKChmaWQgPiAxMDAwKSkgTk8gSU5IRVJJVDsKK0NPTU1F TlQgT04gRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X3NyYworICAgIElTICdUZXN0 IENvbW1lbnQnOworR1JBTlQgSU5TRVJUIE9OIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfc3Jj IFRPIFBVQkxJQzsKK0dSQU5UIEFMTCBPTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X3NyYyBU TyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYu ZnRfZGlmZl9jb2woCisgICAgZmlkIGJpZ2ludCBOVUxMLAorICAgIGZuYW1lIHRleHQgTlVMTCBD T0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiLAorICAgIGZjaXR5IGNoYXJhY3RlciB2YXJ5aW5n KDQwKSBOVUxMIENPTExBVEUgcGdfY2F0YWxvZy4iUE9TSVgiCispCisgICAgU0VSVkVSIHRlc3Rf ZnNfZm9yX2ZvcmVpZ25fdGFibGU7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYuZnRfZGlmZl9jb2wKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CitBTFRFUiBGT1JFSUdO IFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb2wKKyAgICBBREQgQ09OU1RSQUlOVCBm Y2hlY2sgQ0hFQ0sgKChmaWQgPiAxMDAwKSkgTk8gSU5IRVJJVDsKK0NPTU1FTlQgT04gRk9SRUlH TiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29sCisgICAgSVMgJ1Rlc3QgQ29tbWVu dCc7CisKK0NSRUFURSBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb25z dCgKKyAgICBmaWQgYmlnaW50IE5VTEwsCisgICAgZm5hbWUgdGV4dCBOVUxMIENPTExBVEUgcGdf Y2F0YWxvZy4iZGVmYXVsdCIKKykKKyAgICBTRVJWRVIgdGVzdF9mc19mb3JfZm9yZWlnbl90YWJs ZTsKK0FMVEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9kaWZmX2NvbnN0Cisg ICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2No ZW1hX2RpZmYuZnRfZGlmZl9jb25zdAorICAgIEFERCBDT05TVFJBSU5UIGZjaGVjayBDSEVDSyAo KGZpZCA+IDEwMDApKSBOTyBJTkhFUklUOworQUxURVIgRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVt YV9kaWZmLmZ0X2RpZmZfY29uc3QKKyAgICBBREQgQ09OU1RSQUlOVCBmY2hlY2sxIENIRUNLICgo ZmlkID4gMTAwMCkpIE5PIElOSEVSSVQgTk9UIFZBTElEOworQUxURVIgRk9SRUlHTiBUQUJMRSB0 ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29uc3QKKyAgICBBREQgQ09OU1RSQUlOVCBmY2hlY2sy IENIRUNLICgoZmlkID4gMjApKTsKK0FMVEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlm Zi5mdF9kaWZmX2NvbnN0CisgICAgQUREIENPTlNUUkFJTlQgZmNoZWNrX3NyYyBDSEVDSyAoKGZp ZCA+IDUwKSk7CisKK0dSQU5UIElOU0VSVCBPTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2Rp ZmZfY29uc3QgVE8gUFVCTElDOworR1JBTlQgQUxMIE9OIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYu ZnRfZGlmZl9jb25zdCBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIFRBQkxFIHRl c3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9vcHQoCisgICAgZmlkIGJpZ2ludCBOVUxMLAorICAgIGZu YW1lIHRleHQgTlVMTCBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiCispCisgICAgU0VSVkVS IHRlc3RfZnNfZm9yX2ZvcmVpZ25fdGFibGUKKyAgICBPUFRJT05TIChvcHQxICd2YWwxJywgb3B0 MiAndmFsMjAnLCBvcHRfc3JjICd2YWxfc3JjJyk7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rf c2NoZW1hX2RpZmYuZnRfZGlmZl9vcHQKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NS RUFURSBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9mb3JlaWduX3NlcnZl cigKKyAgICBmaWQgYmlnaW50IE5VTEwsCisgICAgZm5hbWUgdGV4dCBOVUxMIENPTExBVEUgcGdf Y2F0YWxvZy4iZGVmYXVsdCIKKykKKyAgICBTRVJWRVIgdGVzdF9mc19mb3JfZm9yZWlnbl90YWJs ZTsKK0FMVEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9kaWZmX2ZvcmVpZ25f c2VydmVyCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBUQUJM RSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfZm9yZWlnbl9zZXJ2ZXJfMSgKKyAgICBmaWQgYmln aW50IE5VTEwsCisgICAgZm5hbWUgdGV4dCBOVUxMIENPTExBVEUgcGdfY2F0YWxvZy4iZGVmYXVs dCIKKykKKyAgICBTRVJWRVIgdGVzdF9mc19mb3JfZm9yZWlnbl90YWJsZQorICAgIE9QVElPTlMg KG9wdDEgJ3ZhbDEnKTsKK0FMVEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9k aWZmX2ZvcmVpZ25fc2VydmVyXzEKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CitBTFRFUiBG T1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9mb3JlaWduX3NlcnZlcl8xCisg ICAgQUREIENPTlNUUkFJTlQgY3MxIENIRUNLICgoZmlkID4gMjAwKSkgTk8gSU5IRVJJVDsKKwor LS0gVGVzdCBmb3IgUk0gIzUzNTAKK0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmV2ZW50 c190cmFuc2FjdGlvbnMKKygKKyAgICBldmVudF9jb2RlIGludGVnZXIsCisgICAgbnVtZXJhdG9y IGludGVnZXIsCisgICAgYWNjb3VudF90b2tlbiB0ZXh0IENPTExBVEUgcGdfY2F0YWxvZy4iZGVm YXVsdCIsCisgICAgdHJhbnNhY3Rpb25fZHQgdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lLAor ICAgIHBheW1lbnRfbWV0aG9kIGludGVnZXIsCisgICAgcGF5bWVudF9waW4gaW50ZWdlciwKKyAg ICBhcHByb3ZhbCB0ZXh0IENPTExBVEUgcGdfY2F0YWxvZy4iZGVmYXVsdCIsCisgICAgYW1vdW50 IGludGVnZXIsCisgICAgZmlsZV9kdCB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgREVGQVVM VCBDVVJSRU5UX1RJTUVTVEFNUCwKKyAgICBmaWxlX25hbWUgY2hhcmFjdGVyIHZhcnlpbmcoMjU2 KSBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiLAorICAgIHRyYW5zZmVyX2R0IHRpbWVzdGFt cCB3aXRob3V0IHRpbWUgem9uZSwKKyAgICB0cmFuc2FjdGlvbl90eXBlIGludGVnZXIKKyk7CisK Ky0tIENhc3RzIHNjcmlwdAorQ1JFQVRFIENBU1QgKG1vbmV5IEFTIGJpZ2ludCkKKyAgICBXSVRI T1VUIEZVTkNUSU9OCisgICAgQVMgSU1QTElDSVQ7CisKK0NPTU1FTlQgT04gQ0FTVCAobW9uZXkg QVMgYmlnaW50KSBJUyAnbW9uZXkgLT4gYmlnaW50JzsKKworLS0gRXZlbnQgVHJpZ2dlciBzY3Jp cHQKK0NSRUFURSBGVU5DVElPTiBwdWJsaWMuZXZ0X3RyaV9mdW4oKQorICAgIFJFVFVSTlMgZXZl bnRfdHJpZ2dlcgorICAgIExBTkdVQUdFICdwbHBnc3FsJworICAgICBOT1QgTEVBS1BST09GCitB UyAkQk9EWSQKK0JFR0lOCitQRVJGT1JNIDE7CitFTkQ7CiskQk9EWSQ7CitBTFRFUiBGVU5DVElP TiBwdWJsaWMuZXZ0X3RyaV9mdW4oKQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JF QVRFIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9zcmMgT04gRERMX0NPTU1BTkRfU1RBUlQKKyAgICBF WEVDVVRFIFBST0NFRFVSRSBwdWJsaWMuZXZ0X3RyaV9mdW4oKTsKK0NPTU1FTlQgT04gRVZFTlQg VFJJR0dFUiBldnRfdHJpX3NyYworICAgIElTICdFdmVudCBUcmlnZ2VyIFNvdXJjZSc7CitBTFRF UiBFVkVOVCBUUklHR0VSIGV2dF90cmlfc3JjCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOwor CitDUkVBVEUgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2RpZmZfZXZlbnQxIE9OIERETF9DT01NQU5E X1NUQVJUCisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7CitBTFRF UiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9ldmVudDEKKyAgICBPV05FUiBUTyBlbnRlcnBy aXNlZGI7CisKK0NSRUFURSBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9ldmVudDIgT04gRERM X0NPTU1BTkRfRU5ECisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7 CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9ldmVudDIKKyAgICBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKK0NSRUFURSBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9ldmVudDMg T04gU1FMX0RST1AKKyAgICBFWEVDVVRFIFBST0NFRFVSRSBwdWJsaWMuZXZ0X3RyaV9mdW4oKTsK K0FMVEVSIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9kaWZmX2V2ZW50MworICAgIE9XTkVSIFRPIGVu dGVycHJpc2VkYjsKKworQ1JFQVRFIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9kaWZmX2VuYWJsZV9z dGF0dXMxIE9OIERETF9DT01NQU5EX1NUQVJUCisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGlj LmV2dF90cmlfZnVuKCk7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9lbmFibGVf c3RhdHVzMQorICAgIERJU0FCTEU7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9l bmFibGVfc3RhdHVzMQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIEVWRU5U IFRSSUdHRVIgZXZ0X3RyaV9kaWZmX2VuYWJsZV9zdGF0dXMyIE9OIERETF9DT01NQU5EX1NUQVJU CisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7CitBTFRFUiBFVkVO VCBUUklHR0VSIGV2dF90cmlfZGlmZl9lbmFibGVfc3RhdHVzMgorICAgIEVOQUJMRSBSRVBMSUNB OworQUxURVIgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2RpZmZfZW5hYmxlX3N0YXR1czIKKyAgICBP V05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlm Zl9lbmFibGVfc3RhdHVzMyBPTiBERExfQ09NTUFORF9TVEFSVAorICAgIEVYRUNVVEUgUFJPQ0VE VVJFIHB1YmxpYy5ldnRfdHJpX2Z1bigpOworQUxURVIgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2Rp ZmZfZW5hYmxlX3N0YXR1czMKKyAgICBFTkFCTEUgQUxXQVlTOworQUxURVIgRVZFTlQgVFJJR0dF UiBldnRfdHJpX2RpZmZfZW5hYmxlX3N0YXR1czMKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7 CisKK0NSRUFURSBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9mdW5jIE9OIERETF9DT01NQU5E X1NUQVJUCisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7CitBTFRF UiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9mdW5jCisgICAgT1dORVIgVE8gZW50ZXJwcmlz ZWRiOworCistLSBFeHRlbnNpb24gc2NyaXB0CitDUkVBVEUgRVhURU5TSU9OIGFkbWlucGFjawor ICAgIFNDSEVNQSBwZ19jYXRhbG9nCisgICAgVkVSU0lPTiAiMS4xIjsKKworLS0gTGFuZ3VhZ2Ug c2NyaXB0CitDUkVBVEUgVFJVU1RFRCBQUk9DRURVUkFMIExBTkdVQUdFIHNyY190cnVzdGVkX2xh bmd1YWdlCisgICAgSEFORExFUiBwbHBnc3FsX2NhbGxfaGFuZGxlcgorICAgIElOTElORSBwbHBn c3FsX2lubGluZV9oYW5kbGVyCisgICAgVkFMSURBVE9SIHBscGdzcWxfdmFsaWRhdG9yOworQUxU RVIgTEFOR1VBR0Ugc3JjX3RydXN0ZWRfbGFuZ3VhZ2UKKyAgICBPV05FUiBUTyBlbnRlcnByaXNl ZGI7CitDT01NRU5UIE9OIExBTkdVQUdFIHNyY190cnVzdGVkX2xhbmd1YWdlCisgICAgSVMgJ0N1 c3RvbSBUcnVzdGVkIExhbmd1YWdlJzsKK0dSQU5UIFVTQUdFIE9OIExBTkdVQUdFIHNyY190cnVz dGVkX2xhbmd1YWdlIFRPIFBVQkxJQzsKK0dSQU5UIFVTQUdFIE9OIExBTkdVQUdFIHNyY190cnVz dGVkX2xhbmd1YWdlIFRPIGVudGVycHJpc2VkYiBXSVRIIEdSQU5UIE9QVElPTjsKKworQ1JFQVRF IFBST0NFRFVSQUwgTEFOR1VBR0Ugc3JjX3Byb2NfbGFuZ3VhZ2UKKyAgICBIQU5ETEVSIHBscGdz cWxfY2FsbF9oYW5kbGVyCisgICAgSU5MSU5FIHBscGdzcWxfaW5saW5lX2hhbmRsZXIKKyAgICBW QUxJREFUT1IgcGxwZ3NxbF92YWxpZGF0b3I7CitBTFRFUiBMQU5HVUFHRSBzcmNfcHJvY19sYW5n dWFnZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKK0NPTU1FTlQgT04gTEFOR1VBR0Ugc3Jj X3Byb2NfbGFuZ3VhZ2UKKyAgICBJUyAnQ3VzdG9tIFByb2NlZHVyYWwgTGFuZ3VhZ2UnOworCitD UkVBVEUgVFJVU1RFRCBQUk9DRURVUkFMIExBTkdVQUdFIGxhbl9kaWZmX2FjbF9hZGQKKyAgICBI QU5ETEVSIHBscGdzcWxfY2FsbF9oYW5kbGVyCisgICAgSU5MSU5FIHBscGdzcWxfaW5saW5lX2hh bmRsZXIKKyAgICBWQUxJREFUT1IgcGxwZ3NxbF92YWxpZGF0b3I7CitBTFRFUiBMQU5HVUFHRSBs YW5fZGlmZl9hY2xfYWRkCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworR1JBTlQgVVNBR0Ug T04gTEFOR1VBR0UgbGFuX2RpZmZfYWNsX2FkZCBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBPTiBM QU5HVUFHRSBsYW5fZGlmZl9hY2xfYWRkIFRPIGVudGVycHJpc2VkYiBXSVRIIEdSQU5UIE9QVElP TjsKKworQ1JFQVRFIFRSVVNURUQgUFJPQ0VEVVJBTCBMQU5HVUFHRSBsYW5fZGlmZl9hY2xfcmV2 b2tlCisgICAgSEFORExFUiBwbHBnc3FsX2NhbGxfaGFuZGxlcgorICAgIElOTElORSBwbHBnc3Fs X2lubGluZV9oYW5kbGVyCisgICAgVkFMSURBVE9SIHBscGdzcWxfdmFsaWRhdG9yOworQUxURVIg TEFOR1VBR0UgbGFuX2RpZmZfYWNsX3Jldm9rZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsK KworQ1JFQVRFIFRSVVNURUQgUFJPQ0VEVVJBTCBMQU5HVUFHRSBsYW5fZGlmZl90eXBlCisgICAg SEFORExFUiBwbHBnc3FsX2NhbGxfaGFuZGxlcgorICAgIElOTElORSBwbHBnc3FsX2lubGluZV9o YW5kbGVyCisgICAgVkFMSURBVE9SIHBscGdzcWxfdmFsaWRhdG9yOworQUxURVIgTEFOR1VBR0Ug bGFuX2RpZmZfdHlwZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFRSVVNU RUQgUFJPQ0VEVVJBTCBMQU5HVUFHRSBsYW5fZGlmZl9pbmxpbmVfdmFsaWRhdG9yCisgICAgSEFO RExFUiBwbHBnc3FsX2NhbGxfaGFuZGxlcgorICAgIElOTElORSBwcnNkX2VuZAorICAgIFZBTElE QVRPUiBwZ19zdGF0X3Jlc2V0X3NpbmdsZV90YWJsZV9jb3VudGVyczsKK0FMVEVSIExBTkdVQUdF IGxhbl9kaWZmX3R5cGUKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIEZvcmVpZ24g RGF0YSBXcmFwcGVyIFNjcmlwdAorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19zcmMK KyAgICBWQUxJREFUT1IgcGdfY2F0YWxvZy5wb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CitBTFRF UiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfc3JjCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRi OworQ09NTUVOVCBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfc3JjCisgICAgSVMgJ0ZvcmVp Z24gRGF0YSBXcmFwcGVyJzsKKworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZm X2FjbF9hZGQKKyAgICBWQUxJREFUT1IgcGdfY2F0YWxvZy5wb3N0Z3Jlc3FsX2Zkd192YWxpZGF0 b3I7CitBTFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfZGlmZl9hY2xfYWRkCisgICAgT1dO RVIgVE8gZW50ZXJwcmlzZWRiOworR1JBTlQgVVNBR0UgT04gRk9SRUlHTiBEQVRBIFdSQVBQRVIg ZmR3X2RpZmZfYWNsX2FkZCBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEg V1JBUFBFUiBmZHdfZGlmZl9hY2xfYWRkIFRPIGVudGVycHJpc2VkYiBXSVRIIEdSQU5UIE9QVElP TjsKKworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FjbF9yZXZva2UKKyAg ICBWQUxJREFUT1IgcGdfY2F0YWxvZy5wb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CitBTFRFUiBG T1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfZGlmZl9hY2xfcmV2b2tlCisgICAgT1dORVIgVE8gZW50 ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3X2RpZmZfYWRkX3Zh bGlkYXRvcgorICAgIFZBTElEQVRPUiBwZ19jYXRhbG9nLnBvc3RncmVzcWxfZmR3X3ZhbGlkYXRv cjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FkZF92YWxpZGF0b3IKKyAg ICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBm ZHdfZGlmZl9yZW1vdmVfdmFsaWRhdG9yOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3 X2RpZmZfcmVtb3ZlX3ZhbGlkYXRvcgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FkZF9vcHRpb25zCisgICAgT1BUSU9O UyAoZGVidWcgJ3RydWUnKTsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2Fk ZF9vcHRpb25zCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBE QVRBIFdSQVBQRVIgZmR3X2RpZmZfcmVtb3ZlX29wdGlvbnM7CitBTFRFUiBGT1JFSUdOIERBVEEg V1JBUFBFUiBmZHdfZGlmZl9yZW1vdmVfb3B0aW9ucworICAgIE9XTkVSIFRPIGVudGVycHJpc2Vk YjsKKworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX29wdGlvbnMKKyAgICBP UFRJT05TIChkZWJ1ZyAnZmFsc2UnKTsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19k aWZmX29wdGlvbnMKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIEZvcmVpZ24gU2Vy dmVyIFNjcmlwdAorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3Jl aWduX3NlcnZlcgorICAgIFZBTElEQVRPUiBwZ19jYXRhbG9nLnBvc3RncmVzcWxfZmR3X3ZhbGlk YXRvcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3Nl cnZlcgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUlZFUiBmc19zcmMK KyAgICBUWVBFICdQRycKKyAgICBWRVJTSU9OICcxMCcKKyAgICBGT1JFSUdOIERBVEEgV1JBUFBF UiB0ZXN0X2Zkd19mb3JfZm9yZWlnbl9zZXJ2ZXIKKyAgICBPUFRJT05TIChob3N0ICcxMjcuMC4w LjEnLCBwb3J0ICc1NDMyJyk7CitBTFRFUiBTRVJWRVIgZnNfc3JjCisgICAgT1dORVIgVE8gZW50 ZXJwcmlzZWRiOworQ09NTUVOVCBPTiBTRVJWRVIgZnNfc3JjCisgICAgSVMgJ0ZvcmVpZ24gU2Vy dmVyJzsKKworQ1JFQVRFIFNFUlZFUiBmc19kaWZmX2FjbF9hZGQKKyAgICBGT1JFSUdOIERBVEEg V1JBUFBFUiB0ZXN0X2Zkd19mb3JfZm9yZWlnbl9zZXJ2ZXI7CitBTFRFUiBTRVJWRVIgZnNfZGlm Zl9hY2xfYWRkCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworR1JBTlQgVVNBR0UgT04gRk9S RUlHTiBTRVJWRVIgZnNfZGlmZl9hY2xfYWRkIFRPIFBVQkxJQzsKK0dSQU5UIFVTQUdFIE9OIEZP UkVJR04gU0VSVkVSIGZzX2RpZmZfYWNsX2FkZCBUTyBlbnRlcnByaXNlZGIgV0lUSCBHUkFOVCBP UFRJT047CisKK0NSRUFURSBTRVJWRVIgZnNfZGlmZl9hY2xfcmV2b2tlCisgICAgRk9SRUlHTiBE QVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fc2VydmVyOworQUxURVIgU0VSVkVSIGZz X2RpZmZfYWNsX3Jldm9rZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNF UlZFUiBmc19kaWZmX3R5cGVfdmVyc2lvbl9hZGQKKyAgICBUWVBFICdQRycKKyAgICBWRVJTSU9O ICcxMCcKKyAgICBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2Zkd19mb3JfZm9yZWlnbl9zZXJ2 ZXI7CitBTFRFUiBTRVJWRVIgZnNfZGlmZl90eXBlX3ZlcnNpb25fYWRkCisgICAgT1dORVIgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VSVkVSIGZzX2RpZmZfdHlwZV92ZXJzaW9uX3JlbW92 ZQorICAgIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsK K0FMVEVSIFNFUlZFUiBmc19kaWZmX3R5cGVfdmVyc2lvbl9yZW1vdmUKKyAgICBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKK0NSRUFURSBTRVJWRVIgZnNfZGlmZl90eXBlX3ZlcnNpb25fbW9kaWZ5 CisgICAgVFlQRSAnUEcnCisgICAgVkVSU0lPTiAnMTAnCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQ RVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fc2VydmVyOworQUxURVIgU0VSVkVSIGZzX2RpZmZfdHlw ZV92ZXJzaW9uX21vZGlmeQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNF UlZFUiBmc19kaWZmX29wdGlvbnNfYWRkCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9m ZHdfZm9yX2ZvcmVpZ25fc2VydmVyCisgICAgT1BUSU9OUyAoaG9zdCAnMTI3LjAuMC4xJywgcG9y dCAnNTQzMicpOworQUxURVIgU0VSVkVSIGZzX2RpZmZfb3B0aW9uc19hZGQKKyAgICBPV05FUiBU TyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBTRVJWRVIgZnNfZGlmZl9vcHRpb25zX3JlbW92ZQor ICAgIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsKK0FM VEVSIFNFUlZFUiBmc19kaWZmX29wdGlvbnNfcmVtb3ZlCisgICAgT1dORVIgVE8gZW50ZXJwcmlz ZWRiOworCitDUkVBVEUgU0VSVkVSIGZzX2RpZmZfb3B0aW9uc19tb2RpZnkKKyAgICBGT1JFSUdO IERBVEEgV1JBUFBFUiB0ZXN0X2Zkd19mb3JfZm9yZWlnbl9zZXJ2ZXIKKyAgICBPUFRJT05TICho b3N0ICcxOTIuMTY4LjEuMScsIHBvcnQgJzgwODAnKTsKK0FMVEVSIFNFUlZFUiBmc19kaWZmX29w dGlvbnNfbW9kaWZ5CisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLSBVc2VyIE1hcHBp bmcgU2NyaXB0CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX3VzZXJf bWFwcGluZworICAgIFZBTElEQVRPUiBwZ19jYXRhbG9nLnBvc3RncmVzcWxfZmR3X3ZhbGlkYXRv cjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl91c2VyX21hcHBpbmcK KyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBTRVJWRVIgdGVzdF9mc19mb3Jf dXNlcl9tYXBwaW5nCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX3VzZXJf bWFwcGluZzsKK0FMVEVSIFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcKKyAgICBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBVU0VSIE1BUFBJTkcgRk9SIHB1YmxpYyBTRVJW RVIgdGVzdF9mc19mb3JfdXNlcl9tYXBwaW5nOworCitDUkVBVEUgVVNFUiBNQVBQSU5HIEZPUiBl bnRlcnByaXNlZGIgU0VSVkVSIHRlc3RfZnNfZm9yX3VzZXJfbWFwcGluZworICAgIE9QVElPTlMg KHBhc3N3b3JkICdhZG1pbjEyMycpOworCistLSBQdWJsaWNhdGlvbiBTY3JpcHQKKworQ1JFQVRF IFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3B1YmxpY2F0aW9uICgKKyAgICBjb2wx IGludGVnZXIgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCitDUkVBVEUgUFVCTElDQVRJ T04gZm9yX2FsbF90YWJsZQorICAgIEZPUiBBTEwgVEFCTEVTCisgICAgV0lUSCAocHVibGlzaCA9 ICdpbnNlcnQsIGRlbGV0ZScpOworCitDUkVBVEUgUFVCTElDQVRJT04gd2l0aF9vbmVfdGFibGUK KyAgICBGT1IgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb24KKyAg ICBXSVRIIChwdWJsaXNoID0gJ2luc2VydCwgZGVsZXRlJyk7CisKK0FMVEVSIFBVQkxJQ0FUSU9O IHdpdGhfb25lX3RhYmxlCisgICAgUkVOQU1FIFRPIHdpdGhfb25lX3RhYmxlX2FsdGVyOworCitB TFRFUiBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZV9hbHRlciBTRVQKKyAgICAocHVibGlzaCA9 ICdpbnNlcnQsIHVwZGF0ZSwgdHJ1bmNhdGUnKTsKKworLS0gU3Vic2NyaXB0aW9uIHNjcmlwdAor CitDUkVBVEUgU1VCU0NSSVBUSU9OICJzdWJzY3JpcHRpb25fdGVzdDEiCisgICAgQ09OTkVDVElP TiAnaG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPWVkYiBwYXNz d29yZD1zYW1wbGVwYXNzd29yZCcKKyAgICBQVUJMSUNBVElPTiBzYW1wbGVfcHVibGljYXRpb24K KyAgICBXSVRIIChjb25uZWN0ID0gZmFsc2UsIGVuYWJsZWQgPSBmYWxzZSwgY3JlYXRlX3Nsb3Qg PSBmYWxzZSwgc2xvdF9uYW1lID0gTm9uZSwgc3luY2hyb25vdXNfY29tbWl0ID0gJ29mZicpOwor CitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3QxCisgICAgQ09OTkVDVElPTiAn aG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMgZGJuYW1lPXBvc3RncmVzJzsK KworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MQorICAgIFNFVCAoc3luY2hy b25vdXNfY29tbWl0ID0gJ3JlbW90ZV9hcHBseScpOworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vi c2NyaXB0aW9uX3Rlc3QxCisgICAgU0VUIFBVQkxJQ0FUSU9OIGVkYiBXSVRIIChyZWZyZXNoID0g ZmFsc2UpOworCitBTFRFUiBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0aW9uX3Rlc3QxCisgICAgUkVO QU1FIFRPIHN1YnNjcmlwdGlvbl90ZXN0OworCitEUk9QIFNVQlNDUklQVElPTiBzdWJzY3JpcHRp b25fdGVzdDsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL3NjaGVtYV9kaWZmL3Rlc3Rz L3BwYXMvMTFfcGx1cy90YXJnZXQuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvc2NoZW1hX2RpZmYv dGVzdHMvcHBhcy8xMV9wbHVzL3RhcmdldC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi4xNmE1NDlhODcKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29s cy9zY2hlbWFfZGlmZi90ZXN0cy9wcGFzLzExX3BsdXMvdGFyZ2V0LnNxbApAQCAtMCwwICsxLDEy NjEgQEAKKy0tCistLSBlbnRlcnByaXNlZGJRTCBkYXRhYmFzZSBkdW1wCistLQorCistLSBEdW1w ZWQgZnJvbSBkYXRhYmFzZSB2ZXJzaW9uIDEwLjcKKy0tIER1bXBlZCBieSBwZ19kdW1wIHZlcnNp b24gMTJiZXRhMgorCistLSBTdGFydGVkIG9uIDIwMTktMTEtMDEgMTI6NTU6MjIgSVNUCisKK1NF VCBzdGF0ZW1lbnRfdGltZW91dCA9IDA7CitTRVQgbG9ja190aW1lb3V0ID0gMDsKK1NFVCBpZGxl X2luX3RyYW5zYWN0aW9uX3Nlc3Npb25fdGltZW91dCA9IDA7CitTRVQgY2xpZW50X2VuY29kaW5n ID0gJ1VURjgnOworU0VUIHN0YW5kYXJkX2NvbmZvcm1pbmdfc3RyaW5ncyA9IG9uOworU0VMRUNU IHBnX2NhdGFsb2cuc2V0X2NvbmZpZygnc2VhcmNoX3BhdGgnLCAnJywgZmFsc2UpOworU0VUIGNo ZWNrX2Z1bmN0aW9uX2JvZGllcyA9IGZhbHNlOworU0VUIHhtbG9wdGlvbiA9IGNvbnRlbnQ7CitT RVQgY2xpZW50X21pbl9tZXNzYWdlcyA9IHdhcm5pbmc7CitTRVQgcm93X3NlY3VyaXR5ID0gb2Zm OworCistLQorLS0gVE9DIGVudHJ5IDE4IChjbGFzcyAyNjE1IE9JRCAxMzk3NzEpCistLSBOYW1l OiB0ZXN0X3NjaGVtYV9kaWZmOyBUeXBlOiBTQ0hFTUE7IFNjaGVtYTogLTsgT3duZXI6IGVudGVy cHJpc2VkYgorLS0KKworQ1JFQVRFIFNDSEVNQSB0ZXN0X3NjaGVtYV9kaWZmOworCitBTFRFUiBT Q0hFTUEgdGVzdF9zY2hlbWFfZGlmZiBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK1NFVCBkZWZh dWx0X3RhYmxlc3BhY2UgPSAnJzsKKworQ1JFQVRFIEVYVEVOU0lPTiBidHJlZV9naXN0CisgICAg U0NIRU1BIHRlc3Rfc2NoZW1hX2RpZmY7CisKKy0tCistLSBUT0MgZW50cnkgMTIyNTAgKGNsYXNz IDEyNTkgT0lEIDEzOTkzOCkKKy0tIE5hbWU6IE1WaWV3OyBUeXBlOiBNQVRFUklBTElaRUQgVklF VzsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitD UkVBVEUgTUFURVJJQUxJWkVEIFZJRVcgdGVzdF9zY2hlbWFfZGlmZi4iTVZpZXciIEFTCisgU0VM RUNUICd0ZWtzdCc6OnRleHQgQVMgdGV4dAorICBXSVRIIE5PIERBVEE7CisKKworQUxURVIgVEFC TEUgdGVzdF9zY2hlbWFfZGlmZi4iTVZpZXciIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0K Ky0tIFRPQyBlbnRyeSAxMjI3NyAoY2xhc3MgMTI1OSBPSUQgMTQ5MjM0KQorLS0gTmFtZTogdGFi bGVfZm9yX3BhcnRpdGlvbl8xOyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZm OyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlm Zi50YWJsZV9mb3JfcGFydGl0aW9uXzEgKAorICAgIGNvbDEgYmlnaW50CispCitQQVJUSVRJT04g QlkgUkFOR0UgKGNvbDEpOworCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVf Zm9yX3BhcnRpdGlvbl8xIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRy eSAxMjI3OCAoY2xhc3MgMTI1OSBPSUQgMTQ5MjM3KQorLS0gTmFtZTogcGFydDM7IFR5cGU6IFRB QkxFOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisK K0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQzICgKKyAgICBjb2wxIGJpZ2ludAor KTsKK0FMVEVSIFRBQkxFIE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcGFydGl0aW9u XzEgQVRUQUNIIFBBUlRJVElPTiB0ZXN0X3NjaGVtYV9kaWZmLnBhcnQzIEZPUiBWQUxVRVMgRlJP TSAoJzEzJykgVE8gKCc1NicpOworCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYucGFy dDMgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLQorLS0gVE9DIGVudHJ5IDEyMjU5IChjbGFz cyAxMjU5IE9JRCAxNDg5NzEpCistLSBOYW1lOiB0YWJsZV9mb3JfY29sdW1uOyBUeXBlOiBUQUJM RTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitD UkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfY29sdW1uICgKKyAgICBjb2wx IGJpZ2ludCwKKyAgICBjb2wyIGJpZ2ludCwKKyAgICBjb2w0IHRleHQKKyk7CisKKworQUxURVIg VEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfY29sdW1uIE9XTkVSIFRPIGVudGVycHJp c2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI2OCAoY2xhc3MgMTI1OSBPSUQgMTQ5MDg5KQor LS0gTmFtZTogdGFibGVfZm9yX2NvbnN0cmFpbnRzOyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0 X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVz dF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfY29uc3RyYWludHMgKAorICAgIGNvbDEgaW50ZWdlciBO T1QgTlVMTCwKKyAgICBjb2wyIHRleHQsCisgICAgQ09OU1RSQUlOVCBjaGVja19jb24gQ0hFQ0sg KChjb2wxID4gMzApKQorKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxl X2Zvcl9jb25zdHJhaW50cyBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50 cnkgNjEwNjYgKGNsYXNzIDAgT0lEIDApCistLSBEZXBlbmRlbmNpZXM6IDEyMjY4CistLSBOYW1l OiBUQUJMRSB0YWJsZV9mb3JfY29uc3RyYWludHM7IFR5cGU6IENPTU1FTlQ7IFNjaGVtYTogdGVz dF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ09NTUVOVCBPTiBUQUJM RSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyBJUyAnY29tbWVudHMnOwor CisKKy0tCistLSBUT0MgZW50cnkgNjEwNjcgKGNsYXNzIDAgT0lEIDApCistLSBEZXBlbmRlbmNp ZXM6IDEyMjY4CistLSBOYW1lOiBDT05TVFJBSU5UIGNoZWNrX2NvbiBPTiB0YWJsZV9mb3JfY29u c3RyYWludHM7IFR5cGU6IENPTU1FTlQ7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6 IGVudGVycHJpc2VkYgorLS0KKworQ09NTUVOVCBPTiBDT05TVFJBSU5UIGNoZWNrX2NvbiBPTiB0 ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyBJUyAnY29tZW50JzsKKworCist LQorLS0gVE9DIGVudHJ5IDEyMjU3IChjbGFzcyAxMjU5IE9JRCAxNDg5NjApCistLSBOYW1lOiB0 YWJsZV9mb3JfZGVsOyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25l cjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJs ZV9mb3JfZGVsICgKKyk7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9m b3JfZGVsIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI3MSAo Y2xhc3MgMTI1OSBPSUQgMTQ5MTcyKQorLS0gTmFtZTogdGFibGVfZm9yX2ZvcmVpZ25fa2V5OyBU eXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRi CistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfZm9yZWlnbl9r ZXkgKAorICAgIGNvbDEgaW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyICJjaGFyIiwKKyAgICBj b2wzIGJpZ2ludAorKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zv cl9mb3JlaWduX2tleSBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkg MTIyNjMgKGNsYXNzIDEyNTkgT0lEIDE0OTAxMykKKy0tIE5hbWU6IHRhYmxlX2Zvcl9pZGVudGlj YWw7IFR5cGU6IFRBQkxFOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnBy aXNlZGIKKy0tCisKK0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9pZGVu dGljYWwgKAorICAgIGNvbDEgaW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisK KworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaWRlbnRpY2FsIE9XTkVS IFRPIGVudGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI2MSAoY2xhc3MgMTI1OSBP SUQgMTQ4OTg2KQorLS0gTmFtZTogdGFibGVfZm9yX2luZGV4OyBUeXBlOiBUQUJMRTsgU2NoZW1h OiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgVEFC TEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaW5kZXggKAorICAgIGNvbDEgaW50ZWdlciBO T1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKKworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFf ZGlmZi50YWJsZV9mb3JfaW5kZXggT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCistLQorLS0gVE9D IGVudHJ5IDEyMjcwIChjbGFzcyAxMjU5IE9JRCAxNDkxNDQpCistLSBOYW1lOiB0YWJsZV9mb3Jf cHJpbWFyeV9rZXk7IFR5cGU6IFRBQkxFOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVy OiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxl X2Zvcl9wcmltYXJ5X2tleSAoCisgICAgY29sMSBpbnRlZ2VyIE5PVCBOVUxMLAorICAgIGNvbDIg dGV4dCBOT1QgTlVMTAorKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxl X2Zvcl9wcmltYXJ5X2tleSBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50 cnkgMTIyNjUgKGNsYXNzIDEyNTkgT0lEIDE0OTAzNCkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9ydWxl OyBUeXBlOiBUQUJMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlz ZWRiCistLQorCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcnVsZSAo CisgICAgY29sMSBiaWdpbnQgTk9UIE5VTEwsCisgICAgY29sMiB0ZXh0CispOworCisKK0FMVEVS IFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3J1bGUgT1dORVIgVE8gZW50ZXJwcmlz ZWRiOworCistLQorLS0gVE9DIGVudHJ5IDEyMjY3IChjbGFzcyAxMjU5IE9JRCAxNDkwNjYpCist LSBOYW1lOiB0YWJsZV9mb3JfdHJpZ2dlcjsgVHlwZTogVEFCTEU7IFNjaGVtYTogdGVzdF9zY2hl bWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JFQVRFIFRBQkxFIHRlc3Rfc2No ZW1hX2RpZmYudGFibGVfZm9yX3RyaWdnZXIgKAorICAgIGNvbDEgYmlnaW50IE5PVCBOVUxMLAor ICAgIGNvbDIgdGV4dAorKTsKKworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxl X2Zvcl90cmlnZ2VyIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworCistLQorLS0gVE9DIGVudHJ5 IDU2OTA2IChjbGFzcyAyNjA2IE9JRCAxNDkwOTcpCistLSBOYW1lOiB0YWJsZV9mb3JfY29uc3Ry YWludHMgRXhjbHVzaW9uOyBUeXBlOiBDT05TVFJBSU5UOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2Rp ZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRBQkxFIE9OTFkgdGVzdF9zY2hl bWFfZGlmZi50YWJsZV9mb3JfY29uc3RyYWludHMKKyAgICBBREQgQ09OU1RSQUlOVCAiRXhjbHVz aW9uIiBFWENMVURFIFVTSU5HIGdpc3QgKGNvbDIgV0lUSCA8PikgV0lUSCAoZmlsbGZhY3Rvcj0n MTUnKSBXSEVSRSAoKGNvbDEgPiAxKSkgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisK KworLS0KKy0tIFRPQyBlbnRyeSA2MTA2OCAoY2xhc3MgMCBPSUQgMCkKKy0tIERlcGVuZGVuY2ll czogNTY5MDYKKy0tIE5hbWU6IENPTlNUUkFJTlQgIkV4Y2x1c2lvbiIgT04gdGFibGVfZm9yX2Nv bnN0cmFpbnRzOyBUeXBlOiBDT01NRU5UOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVy OiBlbnRlcnByaXNlZGIKKy0tCisKK0NPTU1FTlQgT04gQ09OU1RSQUlOVCAiRXhjbHVzaW9uIiBP TiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9jb25zdHJhaW50cyBJUyAnY29tbWVudHMnOwor CisKKy0tCistLSBUT0MgZW50cnkgNTY5MTAgKGNsYXNzIDI2MDYgT0lEIDE0OTE3NikKKy0tIE5h bWU6IHRhYmxlX2Zvcl9mb3JlaWduX2tleSB0YWJsZV9mb3JfZm9yZWlnbl9rZXlfcGtleTsgVHlw ZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlz ZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX2Zv cmVpZ25fa2V5CisgICAgQUREIENPTlNUUkFJTlQgdGFibGVfZm9yX2ZvcmVpZ25fa2V5X3BrZXkg UFJJTUFSWSBLRVkgKGNvbDEpOworCisKKy0tCistLSBUT0MgZW50cnkgNTY4OTcgKGNsYXNzIDI2 MDYgT0lEIDE0ODk5MykKKy0tIE5hbWU6IHRhYmxlX2Zvcl9pbmRleCB0YWJsZV9mb3JfaW5kZXhf cGtleTsgVHlwZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjog ZW50ZXJwcmlzZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFi bGVfZm9yX2luZGV4CisgICAgQUREIENPTlNUUkFJTlQgdGFibGVfZm9yX2luZGV4X3BrZXkgUFJJ TUFSWSBLRVkgKGNvbDEpOworCisKKy0tCistLSBUT0MgZW50cnkgNTY5MDggKGNsYXNzIDI2MDYg T0lEIDE0OTE1MSkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9wcmltYXJ5X2tleSB0YWJsZV9mb3JfcHJp bWFyeV9rZXlfcGtleTsgVHlwZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZm OyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1h X2RpZmYudGFibGVfZm9yX3ByaW1hcnlfa2V5CisgICAgQUREIENPTlNUUkFJTlQgdGFibGVfZm9y X3ByaW1hcnlfa2V5X3BrZXkgUFJJTUFSWSBLRVkgKGNvbDEpOworCisKKy0tCistLSBUT0MgZW50 cnkgNTY5MDIgKGNsYXNzIDI2MDYgT0lEIDE0OTA0MSkKKy0tIE5hbWU6IHRhYmxlX2Zvcl9ydWxl IHRhYmxlX2Zvcl9ydWxlX3BrZXk7IFR5cGU6IENPTlNUUkFJTlQ7IFNjaGVtYTogdGVzdF9zY2hl bWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQUxURVIgVEFCTEUgT05MWSB0ZXN0 X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9ydWxlCisgICAgQUREIENPTlNUUkFJTlQgdGFibGVfZm9y X3J1bGVfcGtleSBQUklNQVJZIEtFWSAoY29sMSk7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1Njkw MCAoY2xhc3MgMjYwNiBPSUQgMTQ5MDIwKQorLS0gTmFtZTogdGFibGVfZm9yX2lkZW50aWNhbCB0 YWJsZV9mb3JfdGFibGVfZm9yX2lkZW50aWNhbF9wa2V5OyBUeXBlOiBDT05TVFJBSU5UOyBTY2hl bWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0FMVEVSIFRB QkxFIE9OTFkgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaWRlbnRpY2FsCisgICAgQUREIENP TlNUUkFJTlQgdGFibGVfZm9yX3RhYmxlX2Zvcl9pZGVudGljYWxfcGtleSBQUklNQVJZIEtFWSAo Y29sMSk7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1NjkwNCAoY2xhc3MgMjYwNiBPSUQgMTQ5MDcz KQorLS0gTmFtZTogdGFibGVfZm9yX3RyaWdnZXIgdGFibGVfZm9yX3RyaWdnZXJfcGtleTsgVHlw ZTogQ09OU1RSQUlOVDsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlz ZWRiCistLQorCitBTFRFUiBUQUJMRSBPTkxZIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3Ry aWdnZXIKKyAgICBBREQgQ09OU1RSQUlOVCB0YWJsZV9mb3JfdHJpZ2dlcl9wa2V5IFBSSU1BUlkg S0VZIChjb2wxKTsKKworCistLQorLS0gVE9DIGVudHJ5IDU2ODkzIChjbGFzcyAxMjU5IE9JRCAx NDg5OTQpCistLSBOYW1lOiBpbmRleDE7IFR5cGU6IElOREVYOyBTY2hlbWE6IHRlc3Rfc2NoZW1h X2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK0NSRUFURSBJTkRFWCBpbmRleDEgT04g dGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfaW5kZXggVVNJTkcgYnRyZWUgKGNvbDIgdGV4dF9w YXR0ZXJuX29wcyk7CisKKworLS0KKy0tIFRPQyBlbnRyeSA1Njg5NCAoY2xhc3MgMTI1OSBPSUQg MTQ4OTk1KQorLS0gTmFtZTogaW5kZXgyOyBUeXBlOiBJTkRFWDsgU2NoZW1hOiB0ZXN0X3NjaGVt YV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQorCitDUkVBVEUgSU5ERVggaW5kZXgyIE9O IHRlc3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX2luZGV4IFVTSU5HIGJ0cmVlIChjb2wyIHRleHRf cGF0dGVybl9vcHMpOworCisKKy0tCistLSBUT0MgZW50cnkgNTY4OTggKGNsYXNzIDEyNTkgT0lE IDE0OTAyMSkKKy0tIE5hbWU6IGluZGV4X2lkZW50aWNhbDsgVHlwZTogSU5ERVg7IFNjaGVtYTog dGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JFQVRFIElOREVY IGluZGV4X2lkZW50aWNhbCBPTiB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9pZGVudGljYWwg VVNJTkcgYnRyZWUgKGNvbDIgdGV4dF9wYXR0ZXJuX29wcyk7CisKKworLS0KKy0tIFRPQyBlbnRy eSA1Njg5NSAoY2xhc3MgMTI1OSBPSUQgMTQ5MjEyKQorLS0gTmFtZTogaW5kZXhfc2FtZTsgVHlw ZTogSU5ERVg7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgor LS0KKworQ1JFQVRFIElOREVYIGluZGV4X3NhbWUgT04gdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9m b3JfaW5kZXggVVNJTkcgYnRyZWUgKGNvbDIgdGV4dF9wYXR0ZXJuX29wcyk7CisKKworLS0KKy0t IFRPQyBlbnRyeSA1Njg5MiAoY2xhc3MgMTI1OSBPSUQgMTM5OTQ1KQorLS0gTmFtZTogbXZpZXdf aW5kZXg7IFR5cGU6IElOREVYOyBTY2hlbWE6IHRlc3Rfc2NoZW1hX2RpZmY7IE93bmVyOiBlbnRl cnByaXNlZGIKKy0tCisKK0NSRUFURSBJTkRFWCBtdmlld19pbmRleCBPTiB0ZXN0X3NjaGVtYV9k aWZmLiJNVmlldyIgVVNJTkcgYnRyZWUgKHRleHQgdGV4dF9wYXR0ZXJuX29wcyk7CisKKworLS0K Ky0tIFRPQyBlbnRyeSA2MTA0NSAoY2xhc3MgMjYxOCBPSUQgMTQ5MDQyKQorLS0gTmFtZTogdGFi bGVfZm9yX3J1bGUgcnVsZTE7IFR5cGU6IFJVTEU7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsg T3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JFQVRFIFJVTEUgcnVsZTEgQVMKKyAgICBPTiBV UERBVEUgVE8gdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcnVsZSBETyBJTlNURUFEIE5PVEhJ Tkc7CisKKworLS0KKy0tIFRPQyBlbnRyeSA2MTA2OSAoY2xhc3MgMCBPSUQgMCkKKy0tIERlcGVu ZGVuY2llczogNjEwNDUKKy0tIE5hbWU6IFJVTEUgcnVsZTEgT04gdGFibGVfZm9yX3J1bGU7IFR5 cGU6IENPTU1FTlQ7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2Vk YgorLS0KKworQ09NTUVOVCBPTiBSVUxFIHJ1bGUxIE9OIHRlc3Rfc2NoZW1hX2RpZmYudGFibGVf Zm9yX3J1bGUgSVMgJ2NvbW1lbnRzJzsKKworCistLQorLS0gVE9DIGVudHJ5IDYxMDQ2IChjbGFz cyAyNjE4IE9JRCAxNDkwNDMpCistLSBOYW1lOiB0YWJsZV9mb3JfcnVsZSBydWxlMjsgVHlwZTog UlVMRTsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQor CitDUkVBVEUgUlVMRSBydWxlMiBBUworICAgIE9OIFVQREFURSBUTyB0ZXN0X3NjaGVtYV9kaWZm LnRhYmxlX2Zvcl9ydWxlIERPIE5PVEhJTkc7CisKKworLS0KKy0tIFRPQyBlbnRyeSA2MTA0NyAo Y2xhc3MgMjYxOCBPSUQgMTQ5MDQ0KQorLS0gTmFtZTogdGFibGVfZm9yX3J1bGUgcnVsZTM7IFR5 cGU6IFJVTEU7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgor LS0KKworQ1JFQVRFIFJVTEUgcnVsZTMgQVMKKyAgICBPTiBJTlNFUlQgVE8gdGVzdF9zY2hlbWFf ZGlmZi50YWJsZV9mb3JfcnVsZSBETyBOT1RISU5HOworCisKKy0tCistLSBUT0MgZW50cnkgNjEw NTAgKGNsYXNzIDAgT0lEIDEzOTkzOCkKKy0tIERlcGVuZGVuY2llczogMTIyNTAgNjEwNjIKKy0t IE5hbWU6IE1WaWV3OyBUeXBlOiBNQVRFUklBTElaRUQgVklFVyBEQVRBOyBTY2hlbWE6IHRlc3Rf c2NoZW1hX2RpZmY7IE93bmVyOiBlbnRlcnByaXNlZGIKKy0tCisKK1JFRlJFU0ggTUFURVJJQUxJ WkVEIFZJRVcgdGVzdF9zY2hlbWFfZGlmZi4iTVZpZXciOworCisKKy0tCistLSBUT0MgZW50cnkg MTIyODQgKGNsYXNzIDEyNTkgT0lEIDM0NzgyMykKKy0tIE5hbWU6IHRlc3QgdmlldzsgVHlwZTog VklFVzsgU2NoZW1hOiB0ZXN0X3NjaGVtYV9kaWZmOyBPd25lcjogZW50ZXJwcmlzZWRiCistLQor CitDUkVBVEUgVklFVyB0ZXN0X3NjaGVtYV9kaWZmLiJ0ZXN0IHZpZXciIEFTCisgU0VMRUNUIHBn X2NsYXNzLnJlbG5hbWUsCisgICAgcGdfY2xhc3MucmVsbmFtZXNwYWNlLAorICAgIHBnX2NsYXNz LnJlbHR5cGUsCisgICAgcGdfY2xhc3MucmVsb2Z0eXBlLAorICAgIHBnX2NsYXNzLnJlbG93bmVy LAorICAgIHBnX2NsYXNzLnJlbGFtLAorICAgIHBnX2NsYXNzLnJlbGZpbGVub2RlLAorICAgIHBn X2NsYXNzLnJlbHRhYmxlc3BhY2UsCisgICAgcGdfY2xhc3MucmVscGFnZXMsCisgICAgcGdfY2xh c3MucmVsdHVwbGVzLAorICAgIHBnX2NsYXNzLnJlbGFsbHZpc2libGUsCisgICAgcGdfY2xhc3Mu cmVsdG9hc3RyZWxpZCwKKyAgICBwZ19jbGFzcy5yZWxoYXNpbmRleCwKKyAgICBwZ19jbGFzcy5y ZWxpc3NoYXJlZCwKKyAgICBwZ19jbGFzcy5yZWxwZXJzaXN0ZW5jZSwKKyAgICBwZ19jbGFzcy5y ZWxraW5kLAorICAgIHBnX2NsYXNzLnJlbG5hdHRzLAorICAgIHBnX2NsYXNzLnJlbGNoZWNrcywK KyAgICBwZ19jbGFzcy5yZWxoYXNydWxlcywKKyAgICBwZ19jbGFzcy5yZWxoYXN0cmlnZ2VycywK KyAgICBwZ19jbGFzcy5yZWxoYXNzdWJjbGFzcywKKyAgICBwZ19jbGFzcy5yZWxyb3dzZWN1cml0 eSwKKyAgICBwZ19jbGFzcy5yZWxmb3JjZXJvd3NlY3VyaXR5LAorICAgIHBnX2NsYXNzLnJlbGlz cG9wdWxhdGVkLAorICAgIHBnX2NsYXNzLnJlbHJlcGxpZGVudCwKKyAgICBwZ19jbGFzcy5yZWxp c3BhcnRpdGlvbiwKKyAgICBwZ19jbGFzcy5yZWxmcm96ZW54aWQsCisgICAgcGdfY2xhc3MucmVs bWlubXhpZCwKKyAgICBwZ19jbGFzcy5yZWxhY2wsCisgICAgcGdfY2xhc3MucmVsb3B0aW9ucywK KyAgICBwZ19jbGFzcy5yZWxwYXJ0Ym91bmQKKyAgIEZST00gcGdfY2xhc3MKKyBMSU1JVCAxMDsK KworCitBTFRFUiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLiJ0ZXN0IHZpZXciIE9XTkVSIFRPIGVu dGVycHJpc2VkYjsKKworLS0KKy0tIFRPQyBlbnRyeSAxMjI4NSAoY2xhc3MgMTI1OSBPSUQgMzQ3 ODI4KQorLS0gTmFtZTogdGVzdCB2aWV3IGY7IFR5cGU6IFZJRVc7IFNjaGVtYTogdGVzdF9zY2hl bWFfZGlmZjsgT3duZXI6IGVudGVycHJpc2VkYgorLS0KKworQ1JFQVRFIFZJRVcgdGVzdF9zY2hl bWFfZGlmZi4idGVzdCB2aWV3IGYiIFdJVEggKHNlY3VyaXR5X2JhcnJpZXI9J3RydWUnKSBBUwor IFNFTEVDVCAyOworCisKK0FMVEVSIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuInRlc3QgdmlldyBm IiBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tCistLSBUT0MgZW50cnkgNjExMDUgKGNsYXNz IDAgT0lEIDApCistLSBEZXBlbmRlbmNpZXM6IDEyMjg1CistLSBOYW1lOiBWSUVXICJ0ZXN0IHZp ZXcgZiI7IFR5cGU6IENPTU1FTlQ7IFNjaGVtYTogdGVzdF9zY2hlbWFfZGlmZjsgT3duZXI6IGVu dGVycHJpc2VkYgorLS0KKworQ09NTUVOVCBPTiBWSUVXIHRlc3Rfc2NoZW1hX2RpZmYuInRlc3Qg dmlldyBmIiBJUyAnY21uJzsKKworLS0gQ29sbGF0aW9uIHNjcmlwdHMKK0NSRUFURSBDT0xMQVRJ T04gdGVzdF9zY2hlbWFfZGlmZi5jb2xsX3RhcgorICAgIEZST00gcGdfY2F0YWxvZy4iUE9TSVgi OworCitBTFRFUiBDT0xMQVRJT04gdGVzdF9zY2hlbWFfZGlmZi5jb2xsX3RhcgorICAgIE9XTkVS IFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIENPTExBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmNv bGxfZGlmZgorICAgIChMQ19DT0xMQVRFID0gJ0MnLCBMQ19DVFlQRSA9ICdDJyk7CisKK0FMVEVS IENPTExBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmNvbGxfZGlmZgorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKKworLS0gRlRTIENvbmZpZ3VyYXRpb24gc2NyaXB0cworQ1JFQVRFIFRFWFQgU0VB UkNIIENPTkZJR1VSQVRJT04gdGVzdF9zY2hlbWFfZGlmZi5mdHNfY29uX3RhciAoCisgICAgQ09Q WT1nZXJtYW4KKyk7CisKK0FMVEVSIFRFWFQgU0VBUkNIIENPTkZJR1VSQVRJT04gdGVzdF9zY2hl bWFfZGlmZi5mdHNfY29uX3RhciBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBURVhU IFNFQVJDSCBDT05GSUdVUkFUSU9OIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX2Nvbl9kaWZmICgKKwlQ QVJTRVIgPSBkZWZhdWx0CispOworQUxURVIgVEVYVCBTRUFSQ0ggQ09ORklHVVJBVElPTiB0ZXN0 X3NjaGVtYV9kaWZmLmZ0c19jb25fZGlmZiBBREQgTUFQUElORyBGT1IgYXNjaWl3b3JkIFdJVEgg ZHV0Y2hfc3RlbTsKK0FMVEVSIFRFWFQgU0VBUkNIIENPTkZJR1VSQVRJT04gdGVzdF9zY2hlbWFf ZGlmZi5mdHNfY29uX2RpZmYgQUREIE1BUFBJTkcgRk9SIGVtYWlsIFdJVEggc2ltcGxlOworQUxU RVIgVEVYVCBTRUFSQ0ggQ09ORklHVVJBVElPTiB0ZXN0X3NjaGVtYV9kaWZmLmZ0c19jb25fZGlm ZiBBREQgTUFQUElORyBGT1IgaHdvcmQgV0lUSCBnZXJtYW5fc3RlbTsKKworLS0gRlRTIERpY3Rp b25hcnkgc2NyaXB0cworQ1JFQVRFIFRFWFQgU0VBUkNIIERJQ1RJT05BUlkgdGVzdF9zY2hlbWFf ZGlmZi5mdHNfZGljdF90YXIgKAorICAgIFRFTVBMQVRFID0gc2ltcGxlLAorICAgIHN0b3B3b3Jk cyA9ICdlbmdsaXNoJworKTsKKworQ1JFQVRFIFRFWFQgU0VBUkNIIERJQ1RJT05BUlkgdGVzdF9z Y2hlbWFfZGlmZi5mdHNfZGljdF9kaWZmICgKKyAgICBURU1QTEFURSA9IHNpbXBsZSwKKyAgICBz dG9wd29yZHMgPSAnZ2VybWFuJworKTsKKworQ09NTUVOVCBPTiBURVhUIFNFQVJDSCBESUNUSU9O QVJZIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX2RpY3RfZGlmZgorICAgIElTICdDb21tZW50JzsKKwor LS0gRlRTIFBhcnNlciBzY3JpcHRzCitDUkVBVEUgVEVYVCBTRUFSQ0ggUEFSU0VSIHRlc3Rfc2No ZW1hX2RpZmYuZnRzX3Bhcl90YXIgKAorICAgIFNUQVJUID0gcHJzZF9zdGFydCwKKyAgICBHRVRU T0tFTiA9IHByc2RfbmV4dHRva2VuLAorICAgIEVORCA9IHByc2RfZW5kLAorICAgIExFWFRZUEVT ID0gcHJzZF9sZXh0eXBlKTsKKworQ1JFQVRFIFRFWFQgU0VBUkNIIFBBUlNFUiB0ZXN0X3NjaGVt YV9kaWZmLmZ0c19wYXJfZGlmZiAoCisgICAgU1RBUlQgPSBpbnQ0X2FjY3VtLAorICAgIEdFVFRP S0VOID0gaW5ldF9naXN0X3BlbmFsdHksCisgICAgRU5EID0gYnRpbnQyc29ydHN1cHBvcnQsCisg ICAgTEVYVFlQRVMgPSBkaXNwZWxsX2luaXQpOworCitDT01NRU5UIE9OIFRFWFQgU0VBUkNIIFBB UlNFUiB0ZXN0X3NjaGVtYV9kaWZmLmZ0c19wYXJfZGlmZgorICAgICAgSVMgJ0NvbW1lbnQnOwor CistLSBGVFMgVGVtcGxhdGUgc2NyaXB0cworQ1JFQVRFIFRFWFQgU0VBUkNIIFRFTVBMQVRFIHRl c3Rfc2NoZW1hX2RpZmYuZnRzX3RlbXBsX3RhciAoCisgICAgSU5JVCA9IGRpc3BlbGxfaW5pdCwK KyAgICBMRVhJWkUgPSBkaXNwZWxsX2xleGl6ZQorKTsKKworQ1JFQVRFIFRFWFQgU0VBUkNIIFRF TVBMQVRFIHRlc3Rfc2NoZW1hX2RpZmYuZnRzX3RlbXBsX2RpZmYgKAorICAgIElOSVQgPSBkc2lt cGxlX2luaXQsCisgICAgTEVYSVpFID0gZHNpbXBsZV9sZXhpemUKKyk7CisKK0NPTU1FTlQgT04g VEVYVCBTRUFSQ0ggVEVNUExBVEUgdGVzdF9zY2hlbWFfZGlmZi5mdHNfdGVtcGxfZGlmZiBJUyAn Q29tbWVudCc7CisKKy0tIERvbWFpbiBhbmQgRG9tYWluIENvbnN0cmFpbnQgc2NyaXB0CitDUkVB VEUgRE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9tX3RhcgorICAgIEFTIGJpZ2ludAorICAgIERF RkFVTFQgMTAwCisgICAgTk9UIE5VTEw7CisKK0FMVEVSIERPTUFJTiB0ZXN0X3NjaGVtYV9kaWZm LmRvbV90YXIgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitBTFRFUiBET01BSU4gdGVzdF9zY2hl bWFfZGlmZi5kb21fdGFyCisgICAgQUREIENPTlNUUkFJTlQgY29uX3RhciBDSEVDSyAoVkFMVUUg PD4gMTAwKTsKKworQ1JFQVRFIERPTUFJTiB0ZXN0X3NjaGVtYV9kaWZmLmRvbV9jb25zX2RpZmYK KyAgICBBUyBiaWdpbnQKKyAgICBERUZBVUxUIDQwMDsKKworQUxURVIgRE9NQUlOIHRlc3Rfc2No ZW1hX2RpZmYuZG9tX2NvbnNfZGlmZiBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0FMVEVSIERP TUFJTiB0ZXN0X3NjaGVtYV9kaWZmLmRvbV9jb25zX2RpZmYKKyAgICBBREQgQ09OU1RSQUlOVCBj b25zX2RpZmZfMSBDSEVDSyAoVkFMVUUgPD4gNDApOworCitBTFRFUiBET01BSU4gdGVzdF9zY2hl bWFfZGlmZi5kb21fY29uc19kaWZmCisgICAgQUREIENPTlNUUkFJTlQgY29uc190YXJfb25seSBD SEVDSyAoVkFMVUUgPD4gMjUpOworCitDUkVBVEUgRE9NQUlOIHRlc3Rfc2NoZW1hX2RpZmYuZG9t X3R5cGVfZGlmZgorICAgIEFTIG51bWVyaWMoOCw0KTsKKworQUxURVIgRE9NQUlOIHRlc3Rfc2No ZW1hX2RpZmYuZG9tX3R5cGVfZGlmZiBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0FMVEVSIERP TUFJTiB0ZXN0X3NjaGVtYV9kaWZmLmRvbV90eXBlX2RpZmYKKyAgICBBREQgQ09OU1RSQUlOVCBj b25zMSBDSEVDSyAoVkFMVUUgPD4gNDU6Om51bWVyaWMpOworCitBTFRFUiBET01BSU4gdGVzdF9z Y2hlbWFfZGlmZi5kb21fdHlwZV9kaWZmCisgICAgQUREIENPTlNUUkFJTlQgY29uczIgQ0hFQ0sg KFZBTFVFIDw+IDUwOjpudW1lcmljKTsKKworQ09NTUVOVCBPTiBET01BSU4gdGVzdF9zY2hlbWFf ZGlmZi5kb21fdHlwZV9kaWZmCisgICAgSVMgJ0NvbW1lbnQnOworCistLSBUeXBlIFNjcmlwdCBj b21wb3NpdGUgdHlwZQorQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfY29tcF90YXIg QVMKKygKKwltMSBiaXQoNSksCisJbTIgdGV4dCBDT0xMQVRFIHBnX2NhdGFsb2cuIlBPU0lYIgor KTsKK0FMVEVSIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfY29tcF90YXIKKyAgICBPV05FUiBU TyBlbnRlcnByaXNlZGI7CitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX2Rp ZmYgQVMKKygKKwltMSBiaXQoNSksCisJbTIgdGV4dCBDT0xMQVRFIHBnX2NhdGFsb2cuIlBPU0lY IgorKTsKK0FMVEVSIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfY29tcF9kaWZmCisgICAgT1dO RVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9j b21wX2RpZmZfbm9fY29sdW1uIEFTCisoCisJYSAiY2hhciIsCisJYiAiY2hhciIKKyk7CitBTFRF UiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX2NvbXBfZGlmZl9ub19jb2x1bW4KKyAgICBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIFR5cGUgU2NyaXB0IEVOVU0gdHlwZQorQ1JFQVRFIFRZ UEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV90YXIgQVMgRU5VTQorICAgICgndGVzdF9lbnVt Jyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX2VudW1fdGFyCisgICAgT1dORVIg VE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9lbnVt X2RpZmYgQVMgRU5VTQorICAgICgndGVzdF9lbnVtJywgJ3Rlc3RfZW51bV8xJyk7CitBTFRFUiBU WVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX2VudW1fZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJp c2VkYjsKKworLS0gVHlwZSBTY3JpcHQgUkFOR0UgdHlwZQorQ1JFQVRFIFRZUEUgdGVzdF9zY2hl bWFfZGlmZi50eXBfcmFuZ2VfdGFyIEFTIFJBTkdFCisoCisgICAgU1VCVFlQRT10ZXh0LAorICAg IENPTExBVElPTiA9IHBnX2NhdGFsb2cuIlBPU0lYIiwKKyAgICBTVUJUWVBFX09QQ0xBU1MgPSB0 ZXh0X29wcworKTsKK0FMVEVSIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfcmFuZ2VfdGFyCisg ICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZm LnR5cF9yYW5nZV9jb2xfZGlmZiBBUyBSQU5HRQorKAorICAgIFNVQlRZUEU9dGV4dCwKKyAgICBD T0xMQVRJT04gPSBwZ19jYXRhbG9nLiJQT1NJWCIsCisgICAgU1VCVFlQRV9PUENMQVNTID0gdGV4 dF9vcHMKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlwX3JhbmdlX2NvbF9kaWZm CisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFlQRSB0ZXN0X3NjaGVtYV9k aWZmLnR5cF9yYW5nZV9zdWJ0eXBlX2RpZmYgQVMgUkFOR0UKKygKKyAgICBTVUJUWVBFPWJvb2ws CisgICAgU1VCVFlQRV9PUENMQVNTID0gYm9vbF9vcHMKKyk7CitBTFRFUiBUWVBFIHRlc3Rfc2No ZW1hX2RpZmYudHlwX3JhbmdlX3N1YnR5cGVfZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2Vk YjsKKworLS0gVHlwZSBTY3JpcHQgU0hFTEwgdHlwZQorQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFf ZGlmZi50eXBfc2hlbGxfdGFyOworQUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9zaGVs bF90YXIKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBUWVBFIHRlc3Rfc2No ZW1hX2RpZmYudHlwX3NoZWxsX2RpZmY7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2RpZmYudHlw X3NoZWxsX2RpZmYKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIFR5cGUgc2NyaXB0 IHRvIHRlc3Qgd2hlbiBUeXBlIGlzIGRpZmZlcmVudAorQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFf ZGlmZi50eXBfY29tcF9yYW5nZV9kaWZmIEFTIFJBTkdFCisoCisgICAgU1VCVFlQRT10ZXh0LAor ICAgIENPTExBVElPTiA9IHBnX2NhdGFsb2cuIkMiLAorICAgIFNVQlRZUEVfT1BDTEFTUyA9IHRl eHRfb3BzCispOworQUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX3JhbmdlX2Rp ZmYKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBUWVBFIHRlc3Rfc2NoZW1h X2RpZmYudHlwX2NvbXBfZW51bV9kaWZmIEFTIEVOVU0KKyAgICAoJ3Rlc3RfZW51bScsICd0ZXN0 X2VudW1fMScpOworQUxURVIgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9jb21wX2VudW1fZGlm ZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFf ZGlmZi50eXBfcmFuZ2VfY29tcF9kaWZmIEFTCisoCisJbTEgYmlnaW50LAorCW0yIHRleHRbXSBD T0xMQVRFIHBnX2NhdGFsb2cuIlBPU0lYIgorKTsKK0FMVEVSIFRZUEUgdGVzdF9zY2hlbWFfZGlm Zi50eXBfcmFuZ2VfY29tcF9kaWZmCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVB VEUgVFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9yYW5nZV9lbnVtX2RpZmYgQVMgRU5VTQorICAg ICgndGVzdF9lbnVtJywgJ3Rlc3RfZW51bV8xJyk7CitBTFRFUiBUWVBFIHRlc3Rfc2NoZW1hX2Rp ZmYudHlwX3JhbmdlX2VudW1fZGlmZgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JF QVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV9jb21wX2RpZmYgQVMKKygKKwltMSBi aWdpbnQsCisJbTIgdGV4dFtdIENPTExBVEUgcGdfY2F0YWxvZy4iUE9TSVgiCispOworQUxURVIg VFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9lbnVtX2NvbXBfZGlmZgorICAgIE9XTkVSIFRPIGVu dGVycHJpc2VkYjsKKworQ1JFQVRFIFRZUEUgdGVzdF9zY2hlbWFfZGlmZi50eXBfZW51bV9yYW5n ZV9kaWZmIEFTIFJBTkdFCisoCisgICAgU1VCVFlQRT10ZXh0LAorICAgIENPTExBVElPTiA9IHBn X2NhdGFsb2cuIkMiLAorICAgIFNVQlRZUEVfT1BDTEFTUyA9IHRleHRfb3BzCispOworQUxURVIg VFlQRSB0ZXN0X3NjaGVtYV9kaWZmLnR5cF9lbnVtX3JhbmdlX2RpZmYKKyAgICBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKKy0tIFBhY2thZ2Ugc2NyaXB0ICh0ZXN0X3NjaGVtYV9kaWZmIG9ubHkp CitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX3RhcgorSVMK KyAgICBGVU5DVElPTiBnZXRfZGVwdF9uYW1lKHBfZGVwdG5vIG51bWVyaWMpIFJFVFVSTiBjaGFy YWN0ZXIgdmFyeWluZzsKKyAgICBQUk9DRURVUkUgaGlyZV9lbXAocF9lbXBubyBudW1lcmljLCBw X2VuYW1lIGNoYXJhY3RlciB2YXJ5aW5nLCBwX2pvYiBjaGFyYWN0ZXIgdmFyeWluZywgcF9zYWwg bnVtZXJpYywgcF9oaXJlZGF0ZSB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUsIHBfY29tbSBu dW1lcmljLCBwX21nciBudW1lcmljLCBwX2RlcHRubyBudW1lcmljKTsKK0VORCBwa2dfdGFyOwor CisKK0NSRUFURSBPUiBSRVBMQUNFIFBBQ0tBR0UgQk9EWSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ190 YXIKK0lTCisgICAgRlVOQ1RJT04gZ2V0X2RlcHRfbmFtZShwX2RlcHRubyBudW1lcmljKSBSRVRV Uk4gY2hhcmFjdGVyIHZhcnlpbmcgSVMKKyAgICAgICAgdl9kbmFtZSAgICAgICAgIFZBUkNIQVIy KDE0KTsKKyAgICBCRUdJTgorICAgICAgICBTRUxFQ1QgZG5hbWUgSU5UTyB2X2RuYW1lIEZST00g ZGVwdCBXSEVSRSBkZXB0bm8gPSBwX2RlcHRubzsKKyAgICAgICAgUkVUVVJOIHZfZG5hbWU7Cisg ICAgRVhDRVBUSU9OCisgICAgICAgIFdIRU4gTk9fREFUQV9GT1VORCBUSEVOCisgICAgICAgICAg ICBEQk1TX09VVFBVVC5QVVRfTElORSgnSW52YWxpZCBkZXBhcnRtZW50IG51bWJlciAnIHx8IHBf ZGVwdG5vKTsKKyAgICAgICAgICAgIFJFVFVSTiAnJzsKKyAgICBFTkQ7CisKKyAgICBQUk9DRURV UkUgaGlyZV9lbXAocF9lbXBubyBudW1lcmljLCBwX2VuYW1lIGNoYXJhY3RlciB2YXJ5aW5nLCBw X2pvYiBjaGFyYWN0ZXIgdmFyeWluZywgcF9zYWwgbnVtZXJpYywgcF9oaXJlZGF0ZSB0aW1lc3Rh bXAgd2l0aG91dCB0aW1lIHpvbmUsIHBfY29tbSBudW1lcmljLCBwX21nciBudW1lcmljLCBwX2Rl cHRubyBudW1lcmljKSBJUworICAgIEJFR0lOCisgICAgICAgIElOU0VSVCBJTlRPIGVtcChlbXBu bywgZW5hbWUsIGpvYiwgc2FsLCBoaXJlZGF0ZSwgY29tbSwgbWdyLCBkZXB0bm8pCisgICAgICAg ICAgICBWQUxVRVMocF9lbXBubywgcF9lbmFtZSwgcF9qb2IsIHBfc2FsLAorICAgICAgICAgICAg ICAgICAgIHBfaGlyZWRhdGUsIHBfY29tbSwgcF9tZ3IsIHBfZGVwdG5vKTsKKyAgICBFTkQ7CitF TkQgcGtnX3RhcjsKKworQ09NTUVOVCBPTiBQQUNLQUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX3Rh cgorICAgIElTICd0ZXN0X3NjaGVtYV9kaWZmJzsKKworLS0gUGFja2FnZSBzY3JpcHQgZGlmZmVy ZW5jZSBpbiBoZWFkZXIsIGFjbCBhbmQgY29tbWVudAorQ1JFQVRFIE9SIFJFUExBQ0UgUEFDS0FH RSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ19oZWFkZXJfZGlmZgorSVMKKyAgICBGVU5DVElPTiBnZXRf ZGVwdF9uYW1lKHBfZGVwdG5vIG51bWVyaWMpIFJFVFVSTiBjaGFyYWN0ZXIgdmFyeWluZzsKK0VO RCBwa2dfaGVhZGVyX2RpZmY7CisKK0NSRUFURSBPUiBSRVBMQUNFIFBBQ0tBR0UgQk9EWSB0ZXN0 X3NjaGVtYV9kaWZmLnBrZ19oZWFkZXJfZGlmZgorSVMKKyAgICBGVU5DVElPTiBnZXRfZGVwdF9u YW1lKHBfZGVwdG5vIG51bWVyaWMpIFJFVFVSTiBjaGFyYWN0ZXIgdmFyeWluZyBJUworICAgICAg ICB2X2RuYW1lICAgICAgICAgVkFSQ0hBUjIoMTQpOworICAgIEJFR0lOCisgICAgICAgIFNFTEVD VCBkbmFtZSBJTlRPIHZfZG5hbWUgRlJPTSBkZXB0IFdIRVJFIGRlcHRubyA9IHBfZGVwdG5vOwor ICAgICAgICBSRVRVUk4gdl9kbmFtZTsKKyAgICBFWENFUFRJT04KKyAgICAgICAgV0hFTiBOT19E QVRBX0ZPVU5EIFRIRU4KKyAgICAgICAgICAgIERCTVNfT1VUUFVULlBVVF9MSU5FKCdJbnZhbGlk IGRlcGFydG1lbnQgbnVtYmVyICcgfHwgcF9kZXB0bm8pOworICAgICAgICAgICAgUkVUVVJOICcn OworICAgIEVORDsKK0VORCBwa2dfaGVhZGVyX2RpZmY7CisKKy0tIFBhY2thZ2Ugc2NyaXB0IGRp ZmZlcmVuY2UgaW4gYm9keSwgYWNsIGFuZCBjb21tZW50CitDUkVBVEUgT1IgUkVQTEFDRSBQQUNL QUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX2JvZHlfZGlmZgorSVMKKyAgICBQUk9DRURVUkUgaGly ZV9lbXAocF9lbXBubyBudW1lcmljLCBwX2VuYW1lIGNoYXJhY3RlciB2YXJ5aW5nLCBwX2pvYiBj aGFyYWN0ZXIgdmFyeWluZywgcF9zYWwgbnVtZXJpYywgcF9oaXJlZGF0ZSB0aW1lc3RhbXAgd2l0 aG91dCB0aW1lIHpvbmUsIHBfY29tbSBudW1lcmljLCBwX21nciBudW1lcmljLCBwX2RlcHRubyBu dW1lcmljKTsKK0VORCBwa2dfYm9keV9kaWZmOworCitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdF IEJPRFkgdGVzdF9zY2hlbWFfZGlmZi5wa2dfYm9keV9kaWZmCitJUworICAgIFBST0NFRFVSRSBo aXJlX2VtcChwX2VtcG5vIG51bWVyaWMsIHBfZW5hbWUgY2hhcmFjdGVyIHZhcnlpbmcsIHBfam9i IGNoYXJhY3RlciB2YXJ5aW5nLCBwX3NhbCBudW1lcmljLCBwX2hpcmVkYXRlIHRpbWVzdGFtcCB3 aXRob3V0IHRpbWUgem9uZSwgcF9jb21tIG51bWVyaWMsIHBfbWdyIG51bWVyaWMsIHBfZGVwdG5v IG51bWVyaWMpIElTCisgICAgQkVHSU4KKyAgICAgICAgREJNU19PVVRQVVQuUFVUX0xJTkUoJ0Jl Zm9yZSBJbnNlcnQgJyk7CisgICAgICAgIElOU0VSVCBJTlRPIGVtcChlbXBubywgZW5hbWUsIGpv Yiwgc2FsLCBoaXJlZGF0ZSwgY29tbSwgbWdyLCBkZXB0bm8pCisgICAgICAgICAgICBWQUxVRVMo cF9lbXBubywgcF9lbmFtZSwgcF9qb2IsIHBfc2FsLAorICAgICAgICAgICAgICAgICAgIHBfaGly ZWRhdGUsIHBfY29tbSwgcF9tZ3IsIHBfZGVwdG5vKTsKKyAgICAgICAgREJNU19PVVRQVVQuUFVU X0xJTkUoJ0FmdGVyIEluc2VydCAnKTsKKyAgICBFTkQ7CitFTkQgcGtnX2JvZHlfZGlmZjsKKwor Q09NTUVOVCBPTiBQQUNLQUdFIHRlc3Rfc2NoZW1hX2RpZmYucGtnX2JvZHlfZGlmZgorICAgIElT ICdIZWFkZXIgRGlmZic7CisKK0dSQU5UIEVYRUNVVEUgT04gUEFDS0FHRSB0ZXN0X3NjaGVtYV9k aWZmLnBrZ19ib2R5X2RpZmYgVE8gUFVCTElDOworR1JBTlQgRVhFQ1VURSBPTiBQQUNLQUdFIHRl c3Rfc2NoZW1hX2RpZmYucGtnX2JvZHlfZGlmZiBUTyBlbnRlcnByaXNlZGIgV0lUSCBHUkFOVCBP UFRJT047CisKKy0tIFN5bm9ueW1zIFNjcmlwdHMKKy0tIFByZXJlcXVpc2l0ZSBmb3Igc3lub255 bXMKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHRlc3Rfc2NoZW1hX2RpZmYuZnVuX2Zvcl9z eW4oKQorUkVUVVJOUyB2b2lkCisgICAgTEFOR1VBR0UgJ3BscGdzcWwnCisgICAgVk9MQVRJTEUK KyAgICBDT1NUIDEwMAorCitBUyAkQk9EWSRCRUdJTgorU0VMRUNUIDE7CitFTkQ7JEJPRFkkOwor QUxURVIgRlVOQ1RJT04gdGVzdF9zY2hlbWFfZGlmZi5mdW5fZm9yX3N5bigpCisgICAgT1dORVIg VE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgT1IgUkVQTEFDRSBQUk9DRURVUkUgdGVzdF9zY2hl bWFfZGlmZi5wcm9jX2Zvcl9zeW4oKQorICAgIFNFQ1VSSVRZIERFRklORVIgVk9MQVRJTEUKKyAg ICBDT1NUIDEwMAorQVMgJEJPRFkkQkVHSU4KK1NFTEVDVCAxOworRU5EOyRCT0RZJDsKKworQ1JF QVRFIE9SIFJFUExBQ0UgUEFDS0FHRSB0ZXN0X3NjaGVtYV9kaWZmLnBrZ19mb3Jfc3luCitJUwor RlVOQ1RJT04gZ2V0X2RlcHRfbmFtZShwX2RlcHRubyBudW1lcmljKSBSRVRVUk4gY2hhcmFjdGVy IHZhcnlpbmc7CitFTkQgcGtnX2Zvcl9zeW47CitDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFIEJP RFkgdGVzdF9zY2hlbWFfZGlmZi5wa2dfZm9yX3N5bgorSVMKK0ZVTkNUSU9OIGdldF9kZXB0X25h bWUocF9kZXB0bm8gbnVtZXJpYykgUkVUVVJOIGNoYXJhY3RlciB2YXJ5aW5nIElTCitCRUdJTgor ICAgIFJFVFVSTiAnJzsKK0VORDsKK0VORCBwa2dfZm9yX3N5bjsKKworQ1JFQVRFIFRBQkxFIHRl c3Rfc2NoZW1hX2RpZmYudGFibGVfZm9yX3N5bgorKAorICAgIGlkIGJpZ2ludCwKKyAgICBuYW1l IHRleHQgQ09MTEFURSBwZ19jYXRhbG9nLiJkZWZhdWx0IgorKQorVEFCTEVTUEFDRSBwZ19kZWZh dWx0OworQUxURVIgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3Jfc3luCisgICAgT1dO RVIgdG8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5z ZXFfZm9yX3N5bgorICAgIElOQ1JFTUVOVCA1CisgICAgU1RBUlQgMQorICAgIE1JTlZBTFVFIDEK KyAgICBNQVhWQUxVRSAxMDAKKyAgICBDQUNIRSAxOworQUxURVIgU0VRVUVOQ0UgdGVzdF9zY2hl bWFfZGlmZi5zZXFfZm9yX3N5bgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRF IE9SIFJFUExBQ0UgU1lOT05ZTSB0ZXN0X3NjaGVtYV9kaWZmLnN5bl9mdW5fc3JjCisgICAgRk9S IHRlc3Rfc2NoZW1hX2RpZmYuZnVuX2Zvcl9zeW47CisKK0NSRUFURSBPUiBSRVBMQUNFIFNZTk9O WU0gdGVzdF9zY2hlbWFfZGlmZi5zeW5fcGtnX3NyYworICAgIEZPUiB0ZXN0X3NjaGVtYV9kaWZm LnBrZ19mb3Jfc3luOworCitDUkVBVEUgT1IgUkVQTEFDRSBTWU5PTllNIHRlc3Rfc2NoZW1hX2Rp ZmYuc3luX3Byb2Nfc3JjCisgICAgRk9SIHRlc3Rfc2NoZW1hX2RpZmYucHJvY19mb3Jfc3luOwor CitDUkVBVEUgT1IgUkVQTEFDRSBTWU5PTllNIHRlc3Rfc2NoZW1hX2RpZmYuc3luX3NlcV9zcmMK KyAgICBGT1IgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZm9yX3N5bjsKKworQ1JFQVRFIE9SIFJFUExB Q0UgU1lOT05ZTSB0ZXN0X3NjaGVtYV9kaWZmLnN5bl90YWJsZV9zcmMKKyAgICBGT1IgdGVzdF9z Y2hlbWFfZGlmZi50YWJsZV9mb3Jfc3luOworCitDUkVBVEUgT1IgUkVQTEFDRSBQUk9DRURVUkUg cHVibGljLnByb2NfZm9yX3N5bigpCisgICAgU0VDVVJJVFkgREVGSU5FUiBWT0xBVElMRQorICAg IENPU1QgMTAwCitBUyAkQk9EWSRCRUdJTgorU0VMRUNUIDE7CitFTkQ7JEJPRFkkOworCitDUkVB VEUgT1IgUkVQTEFDRSBTWU5PTllNIHRlc3Rfc2NoZW1hX2RpZmYuc3luX2RpZmYKKyAgICBGT1Ig cHVibGljLnByb2NfZm9yX3N5bjsKKworLS0gU2VxdWVuY2VzIFNjcmlwdAorQ1JFQVRFIFNFUVVF TkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX3RhcgorICAgIENZQ0xFCisgICAgSU5DUkVNRU5UIDEK KyAgICBTVEFSVCAxCisgICAgTUlOVkFMVUUgMQorICAgIE1BWFZBTFVFIDMKKyAgICBDQUNIRSA2 OworQUxURVIgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfdGFyCisgICAgT1dORVIgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlm Zl9jb21tZW50X2FjbAorICAgIElOQ1JFTUVOVCAxCisgICAgU1RBUlQgMQorICAgIE1JTlZBTFVF IDEKKyAgICBNQVhWQUxVRSA5MjIzMzcyMDM2ODU0Nzc1ODA3CisgICAgQ0FDSEUgMTsKKworQUxU RVIgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlmZl9jb21tZW50X2FjbAorICAgIE9X TkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYu c2VxX2RpZmZfY29tbWVudF9hY2xfcmVtb3ZlCisgICAgSU5DUkVNRU5UIDEKKyAgICBTVEFSVCAx CisgICAgTUlOVkFMVUUgMQorICAgIE1BWFZBTFVFIDkyMjMzNzIwMzY4NTQ3NzU4MDcKKyAgICBD QUNIRSAxOworQUxURVIgU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5zZXFfZGlmZl9jb21tZW50 X2FjbF9yZW1vdmUKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CitDT01NRU5UIE9OIFNFUVVF TkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX2RpZmZfY29tbWVudF9hY2xfcmVtb3ZlCisgICAgSVMg J1Rlc3QgQ29tbWVudCc7CitHUkFOVCBBTEwgT04gU0VRVUVOQ0UgdGVzdF9zY2hlbWFfZGlmZi5z ZXFfZGlmZl9jb21tZW50X2FjbF9yZW1vdmUgVE8gUFVCTElDOworR1JBTlQgQUxMIE9OIFNFUVVF TkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX2RpZmZfY29tbWVudF9hY2xfcmVtb3ZlIFRPIGVudGVy cHJpc2VkYjsKKworQ1JFQVRFIFNFUVVFTkNFIHRlc3Rfc2NoZW1hX2RpZmYuc2VxX2RpZmYKKyAg ICBJTkNSRU1FTlQgNQorICAgIFNUQVJUIDMKKyAgICBNSU5WQUxVRSAzCisgICAgTUFYVkFMVUUg ODAKKyAgICBDQUNIRSAxOworCitBTFRFUiBTRVFVRU5DRSB0ZXN0X3NjaGVtYV9kaWZmLnNlcV9k aWZmCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VRVUVOQ0UgdGVzdF9z Y2hlbWFfZGlmZi5zZXFfc3RhcnRfZGlmZgorICAgIElOQ1JFTUVOVCA1CisgICAgU1RBUlQgMQor ICAgIE1JTlZBTFVFIDEKKyAgICBNQVhWQUxVRSAyMDsKK0FMVEVSIFNFUVVFTkNFIHRlc3Rfc2No ZW1hX2RpZmYuc2VxX3N0YXJ0X2RpZmYKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0t IEZvcmVpZ24gRGF0YSBXcmFwcGVyIHRvIHRlc3QgZm9yZWlnbiB0YWJsZQorQ1JFQVRFIEZPUkVJ R04gREFUQSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3RhYmxlOworQUxURVIgRk9SRUlH TiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fdGFibGUKKyAgICBPV05FUiBUTyBl bnRlcnByaXNlZGI7CisKKy0tIEZvcmVpZ24gU2VydmVyIHRvIHRlc3QgZm9yZWlnbiB0YWJsZQor Q1JFQVRFIFNFUlZFUiB0ZXN0X2ZzX2Zvcl9mb3JlaWduX3RhYmxlCisgICAgRk9SRUlHTiBEQVRB IFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fdGFibGU7CitBTFRFUiBTRVJWRVIgdGVzdF9m c19mb3JfZm9yZWlnbl90YWJsZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKK0NSRUFURSBT RVJWRVIgdGVzdF9mczJfZm9yX2ZvcmVpZ25fdGFibGUKKyAgICBGT1JFSUdOIERBVEEgV1JBUFBF UiB0ZXN0X2Zkd19mb3JfZm9yZWlnbl90YWJsZTsKK0FMVEVSIFNFUlZFUiB0ZXN0X2ZzMl9mb3Jf Zm9yZWlnbl90YWJsZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0gVGFibGUgdG8g dGVzdCBpbmhlcml0YW5jZSBpbiBmb3JlaWduIHRhYmxlCitDUkVBVEUgVEFCTEUgcHVibGljLnRl c3RfdGFibGVfZm9yX2ZvcmVpZ25fdGFibGUKKygKKyAgICB0aWQgYmlnaW50IE5PVCBOVUxMLAor ICAgIHRuYW1lIHRleHQgQ09MTEFURSBwZ19jYXRhbG9nLiJkZWZhdWx0IiwKKyAgICBDT05TVFJB SU5UIHRlc3RfdGFibGVfZm9yX2ZvcmVpZ25fdGFibGVfcGtleSBQUklNQVJZIEtFWSAodGlkKQor KQorV0lUSCAoCisgICAgT0lEUyA9IEZBTFNFCispCitUQUJMRVNQQUNFIHBnX2RlZmF1bHQ7CitB TFRFUiBUQUJMRSBwdWJsaWMudGVzdF90YWJsZV9mb3JfZm9yZWlnbl90YWJsZQorICAgIE9XTkVS IHRvIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlm Zi5mdF90YXIoCisgICAgZmlkIGJpZ2ludCBOVUxMLAorICAgIGZuYW1lIHRleHQgTlVMTCBDT0xM QVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiCispCisgICAgU0VSVkVSIHRlc3RfZnNfZm9yX2ZvcmVp Z25fdGFibGU7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfdGFyCisg ICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworQUxURVIgRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVt YV9kaWZmLmZ0X3RhcgorICAgIEFERCBDT05TVFJBSU5UIGZjaGVjayBDSEVDSyAoKGZpZCA+IDEw MDApKSBOTyBJTkhFUklUOworQ09NTUVOVCBPTiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYuZnRfdGFyCisgICAgSVMgJ1Rlc3QgQ29tbWVudCc7CitHUkFOVCBJTlNFUlQgT04gVEFCTEUg dGVzdF9zY2hlbWFfZGlmZi5mdF90YXIgVE8gUFVCTElDOworR1JBTlQgQUxMIE9OIFRBQkxFIHRl c3Rfc2NoZW1hX2RpZmYuZnRfdGFyIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIEZPUkVJR04g VEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9kaWZmX2NvbCgKKyAgICBmaWQgYmlnaW50IE5VTEws CisgICAgZm5hbWUgdGV4dCBOT1QgTlVMTCBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiCisp CisgICAgU0VSVkVSIHRlc3RfZnNfZm9yX2ZvcmVpZ25fdGFibGU7CitBTFRFUiBGT1JFSUdOIFRB QkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb2wKKyAgICBPV05FUiBUTyBlbnRlcnByaXNl ZGI7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb2wKKyAg ICBBREQgQ09OU1RSQUlOVCBmY2hlY2sgQ0hFQ0sgKChmaWQgPiAxMDAwKSkgTk8gSU5IRVJJVDsK K0NPTU1FTlQgT04gRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29sCisg ICAgSVMgJ0NvbW1lbnQnOworR1JBTlQgSU5TRVJUIE9OIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYu ZnRfZGlmZl9jb2wgVE8gUFVCTElDOworR1JBTlQgQUxMIE9OIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYuZnRfZGlmZl9jb2wgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBUQUJMRSB0 ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29uc3QoCisgICAgZmlkIGJpZ2ludCBOVUxMLAorICAg IGZuYW1lIHRleHQgTlVMTCBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQiCispCisgICAgU0VS VkVSIHRlc3RfZnNfZm9yX2ZvcmVpZ25fdGFibGU7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rf c2NoZW1hX2RpZmYuZnRfZGlmZl9jb25zdAorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKwor QUxURVIgRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29uc3QKKyAgICBB REQgQ09OU1RSQUlOVCBmY2hlY2sgQ0hFQ0sgKChmaWQgPiAxMDAwKSkgTk8gSU5IRVJJVDsKK0FM VEVSIEZPUkVJR04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9kaWZmX2NvbnN0CisgICAgQURE IENPTlNUUkFJTlQgZmNoZWNrMSBDSEVDSyAoKGZpZCA+IDUwKSkgTk8gSU5IRVJJVCBOT1QgVkFM SUQ7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb25zdAor ICAgIEFERCBDT05TVFJBSU5UIGZjaGVjazIgQ0hFQ0sgKChmaWQgPiAyMCkpIE5PIElOSEVSSVQ7 CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlmZl9jb25zdAorICAg IEFERCBDT05TVFJBSU5UIGZjaGVja190YXIgQ0hFQ0sgKChmaWQgPiA1MCkpOworCitHUkFOVCBJ TlNFUlQgT04gVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5mdF9kaWZmX2NvbnN0IFRPIFBVQkxJQzsK K0dSQU5UIEFMTCBPTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfY29uc3QgVE8gZW50 ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2Rp ZmZfb3B0KAorICAgIGZpZCBiaWdpbnQgTlVMTCwKKyAgICBmbmFtZSB0ZXh0IE5VTEwgQ09MTEFU RSBwZ19jYXRhbG9nLiJkZWZhdWx0IgorKQorICAgIFNFUlZFUiB0ZXN0X2ZzX2Zvcl9mb3JlaWdu X3RhYmxlCisgICAgT1BUSU9OUyAoZGVidWcgJ3RydWUnLCBvcHQyICd2YWwzMCcsIG9wdF90YXIg J3ZhbF90YXInKTsKKworQUxURVIgRk9SRUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2Rp ZmZfb3B0CisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBUQUJM RSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfZm9yZWlnbl9zZXJ2ZXIoCisgICAgZmlkIGJpZ2lu dCBOVUxMLAorICAgIGZuYW1lIHRleHQgTlVMTCBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1bHQi CispCisgICAgU0VSVkVSIHRlc3RfZnMyX2Zvcl9mb3JlaWduX3RhYmxlOworQUxURVIgRk9SRUlH TiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfZm9yZWlnbl9zZXJ2ZXIKKyAgICBPV05F UiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2Rp ZmYuZnRfZGlmZl9mb3JlaWduX3NlcnZlcl8xKAorICAgIGZpZCBiaWdpbnQgTlVMTCwKKyAgICBm Y2l0eSB0ZXh0IE5VTEwgQ09MTEFURSBwZ19jYXRhbG9nLiJkZWZhdWx0IgorKQorICAgIFNFUlZF UiB0ZXN0X2ZzMl9mb3JfZm9yZWlnbl90YWJsZQorICAgIE9QVElPTlMgKG9wdDEgJ3ZhbDEnLCBv cHQyICd2YWwyJyk7CitBTFRFUiBGT1JFSUdOIFRBQkxFIHRlc3Rfc2NoZW1hX2RpZmYuZnRfZGlm Zl9mb3JlaWduX3NlcnZlcl8xCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworQUxURVIgRk9S RUlHTiBUQUJMRSB0ZXN0X3NjaGVtYV9kaWZmLmZ0X2RpZmZfZm9yZWlnbl9zZXJ2ZXJfMQorICAg IEFERCBDT05TVFJBSU5UIGNzMiBDSEVDSyAoKGZpZCA+IDIwMCkpIE5PIElOSEVSSVQ7CisKKy0t IFRlc3QgZm9yIFJNICM1MzUwCitDUkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi5ldmVudHNf dHJhbnNhY3Rpb25zCisoCisgICAgZXZlbnRfY29kZSBpbnRlZ2VyLAorICAgIG51bWVyYXRvciBp bnRlZ2VyLAorICAgIGFjY291bnRfdG9rZW4gdGV4dCBDT0xMQVRFIHBnX2NhdGFsb2cuImRlZmF1 bHQiLAorICAgIHRyYW5zYWN0aW9uX2R0IHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZSwKKyAg ICBwYXltZW50X21ldGhvZCBpbnRlZ2VyLAorICAgIGFwcHJvdmFsIHRleHQgQ09MTEFURSBwZ19j YXRhbG9nLiJkZWZhdWx0IiwKKyAgICBhbW91bnQgaW50ZWdlciwKKyAgICBmaWxlX2R0IHRpbWVz dGFtcCB3aXRob3V0IHRpbWUgem9uZSBERUZBVUxUIENVUlJFTlRfVElNRVNUQU1QLAorICAgIGZp bGVfbmFtZSBjaGFyYWN0ZXIgdmFyeWluZygyNTYpIENPTExBVEUgcGdfY2F0YWxvZy4iZGVmYXVs dCIsCisgICAgcGF5bWVudF9waW4gaW50ZWdlciwKKyAgICB0cmFuc2Zlcl9kdCB0aW1lc3RhbXAg d2l0aG91dCB0aW1lIHpvbmUsCisgICAgdHJhbnNhY3Rpb25fdHlwZSBpbnRlZ2VyCispOworCist LSBFdmVudCBUcmlnZ2VyIHNjcmlwdAorQ1JFQVRFIEZVTkNUSU9OIHB1YmxpYy5ldnRfdHJpX2Z1 bigpCisgICAgUkVUVVJOUyBldmVudF90cmlnZ2VyCisgICAgTEFOR1VBR0UgJ3BscGdzcWwnCisg ICAgIE5PVCBMRUFLUFJPT0YKK0FTICRCT0RZJAorQkVHSU4KK1BFUkZPUk0gMTsKK0VORDsKKyRC T0RZJDsKK0FMVEVSIEZVTkNUSU9OIHB1YmxpYy5ldnRfdHJpX2Z1bigpCisgICAgT1dORVIgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRlVOQ1RJT04gcHVibGljLmV2dF90cmlfZnVuMigpCisg ICAgUkVUVVJOUyBldmVudF90cmlnZ2VyCisgICAgTEFOR1VBR0UgJ3BscGdzcWwnCisgICAgIE5P VCBMRUFLUFJPT0YKK0FTICRCT0RZJAorQkVHSU4KK1BFUkZPUk0gMTsKK0VORDsKKyRCT0RZJDsK K0FMVEVSIEZVTkNUSU9OIHB1YmxpYy5ldnRfdHJpX2Z1bjIoKQorICAgIE9XTkVSIFRPIGVudGVy cHJpc2VkYjsKKworQ1JFQVRFIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV90YXIgT04gRERMX0NPTU1B TkRfU1RBUlQKKyAgICBFWEVDVVRFIFBST0NFRFVSRSBwdWJsaWMuZXZ0X3RyaV9mdW4oKTsKK0NP TU1FTlQgT04gRVZFTlQgVFJJR0dFUiBldnRfdHJpX3RhcgorICAgIElTICdFdmVudCBUcmlnZ2Vy IFNvdXJjZSc7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfdGFyCisgICAgT1dORVIgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2RpZmZfZXZlbnQx IE9OIERETF9DT01NQU5EX0VORAorICAgIEVYRUNVVEUgUFJPQ0VEVVJFIHB1YmxpYy5ldnRfdHJp X2Z1bigpOworQUxURVIgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2RpZmZfZXZlbnQxCisgICAgT1dO RVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRVZFTlQgVFJJR0dFUiBldnRfdHJpX2RpZmZf ZXZlbnQyIE9OIERETF9DT01NQU5EX1NUQVJUCisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGlj LmV2dF90cmlfZnVuKCk7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9ldmVudDIK KyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBFVkVOVCBUUklHR0VSIGV2dF90 cmlfZGlmZl9ldmVudDMgT04gRERMX0NPTU1BTkRfU1RBUlQKKyAgICBFWEVDVVRFIFBST0NFRFVS RSBwdWJsaWMuZXZ0X3RyaV9mdW4oKTsKK0FMVEVSIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9kaWZm X2V2ZW50MworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIEVWRU5UIFRSSUdH RVIgZXZ0X3RyaV9kaWZmX2VuYWJsZV9zdGF0dXMxIE9OIERETF9DT01NQU5EX1NUQVJUCisgICAg RVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7CitBTFRFUiBFVkVOVCBUUklH R0VSIGV2dF90cmlfZGlmZl9lbmFibGVfc3RhdHVzMQorICAgIE9XTkVSIFRPIGVudGVycHJpc2Vk YjsKKworQ1JFQVRFIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9kaWZmX2VuYWJsZV9zdGF0dXMyIE9O IERETF9DT01NQU5EX1NUQVJUCisgICAgRVhFQ1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlf ZnVuKCk7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9lbmFibGVfc3RhdHVzMgor ICAgIERJU0FCTEU7CitBTFRFUiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9lbmFibGVfc3Rh dHVzMgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIEVWRU5UIFRSSUdHRVIg ZXZ0X3RyaV9kaWZmX2VuYWJsZV9zdGF0dXMzIE9OIERETF9DT01NQU5EX1NUQVJUCisgICAgRVhF Q1VURSBQUk9DRURVUkUgcHVibGljLmV2dF90cmlfZnVuKCk7CitBTFRFUiBFVkVOVCBUUklHR0VS IGV2dF90cmlfZGlmZl9lbmFibGVfc3RhdHVzMworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsK KworQ1JFQVRFIEVWRU5UIFRSSUdHRVIgZXZ0X3RyaV9kaWZmX2Z1bmMgT04gRERMX0NPTU1BTkRf U1RBUlQKKyAgICBFWEVDVVRFIFBST0NFRFVSRSBwdWJsaWMuZXZ0X3RyaV9mdW4yKCk7CitBTFRF UiBFVkVOVCBUUklHR0VSIGV2dF90cmlfZGlmZl9mdW5jCisgICAgT1dORVIgVE8gZW50ZXJwcmlz ZWRiOworCistLSBFeHRlbnNpb24gc2NyaXB0CitDUkVBVEUgRVhURU5TSU9OIGFkbWlucGFjawor ICAgIFNDSEVNQSBwZ19jYXRhbG9nCisgICAgVkVSU0lPTiAiMS4wIjsKKworLS0gTGFuZ3VhZ2Ug c2NyaXB0CitDUkVBVEUgVFJVU1RFRCBQUk9DRURVUkFMIExBTkdVQUdFIHRhcl9sYW5ndWFnZQor ICAgIEhBTkRMRVIgcGxwZ3NxbF9jYWxsX2hhbmRsZXIKKyAgICBJTkxJTkUgcGxwZ3NxbF9pbmxp bmVfaGFuZGxlcgorICAgIFZBTElEQVRPUiBwbHBnc3FsX3ZhbGlkYXRvcjsKK0FMVEVSIExBTkdV QUdFIHRhcl9sYW5ndWFnZQorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKK0dSQU5UIFVTQUdF IE9OIExBTkdVQUdFIHRhcl9sYW5ndWFnZSBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBPTiBMQU5H VUFHRSB0YXJfbGFuZ3VhZ2UgVE8gZW50ZXJwcmlzZWRiIFdJVEggR1JBTlQgT1BUSU9OOworCitD UkVBVEUgVFJVU1RFRCBQUk9DRURVUkFMIExBTkdVQUdFIGxhbl9kaWZmX2FjbF9hZGQKKyAgICBI QU5ETEVSIHBscGdzcWxfY2FsbF9oYW5kbGVyCisgICAgSU5MSU5FIHBscGdzcWxfaW5saW5lX2hh bmRsZXIKKyAgICBWQUxJREFUT1IgcGxwZ3NxbF92YWxpZGF0b3I7CitBTFRFUiBMQU5HVUFHRSBs YW5fZGlmZl9hY2xfYWRkCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgVFJV U1RFRCBQUk9DRURVUkFMIExBTkdVQUdFIGxhbl9kaWZmX2FjbF9yZXZva2UKKyAgICBIQU5ETEVS IHBscGdzcWxfY2FsbF9oYW5kbGVyCisgICAgSU5MSU5FIHBscGdzcWxfaW5saW5lX2hhbmRsZXIK KyAgICBWQUxJREFUT1IgcGxwZ3NxbF92YWxpZGF0b3I7CitBTFRFUiBMQU5HVUFHRSBsYW5fZGlm Zl9hY2xfcmV2b2tlCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworR1JBTlQgVVNBR0UgT04g TEFOR1VBR0UgbGFuX2RpZmZfYWNsX3Jldm9rZSBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBPTiBM QU5HVUFHRSBsYW5fZGlmZl9hY2xfcmV2b2tlIFRPIGVudGVycHJpc2VkYiBXSVRIIEdSQU5UIE9Q VElPTjsKKworQ1JFQVRFIFBST0NFRFVSQUwgTEFOR1VBR0UgbGFuX2RpZmZfdHlwZQorICAgIEhB TkRMRVIgcGxwZ3NxbF9jYWxsX2hhbmRsZXIKKyAgICBJTkxJTkUgcGxwZ3NxbF9pbmxpbmVfaGFu ZGxlcgorICAgIFZBTElEQVRPUiBwbHBnc3FsX3ZhbGlkYXRvcjsKK0FMVEVSIExBTkdVQUdFIGxh bl9kaWZmX3R5cGUKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBUUlVTVEVE IFBST0NFRFVSQUwgTEFOR1VBR0UgbGFuX2RpZmZfaW5saW5lX3ZhbGlkYXRvcgorICAgIEhBTkRM RVIgcGxwZ3NxbF9jYWxsX2hhbmRsZXIKKyAgICBJTkxJTkUgcGxwZ3NxbF9pbmxpbmVfaGFuZGxl cgorICAgIFZBTElEQVRPUiBwbHBnc3FsX3ZhbGlkYXRvcjsKK0FMVEVSIExBTkdVQUdFIGxhbl9k aWZmX3R5cGUKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIEZvcmVpZ24gRGF0YSBX cmFwcGVyIFNjcmlwdAorQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd190YXIKKyAgICBW QUxJREFUT1IgcGdfY2F0YWxvZy5wb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CitBTFRFUiBGT1JF SUdOIERBVEEgV1JBUFBFUiBmZHdfdGFyCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworQ09N TUVOVCBPTiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfdGFyCisgICAgSVMgJ0ZvcmVpZ24gRGF0 YSBXcmFwcGVyJzsKKworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FjbF9h ZGQKKyAgICBWQUxJREFUT1IgcGdfY2F0YWxvZy5wb3N0Z3Jlc3FsX2Zkd192YWxpZGF0b3I7CitB TFRFUiBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfZGlmZl9hY2xfYWRkCisgICAgT1dORVIgVE8g ZW50ZXJwcmlzZWRiOworCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3X2RpZmZfYWNs X3Jldm9rZQorICAgIFZBTElEQVRPUiBwZ19jYXRhbG9nLnBvc3RncmVzcWxfZmR3X3ZhbGlkYXRv cjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FjbF9yZXZva2UKKyAgICBP V05FUiBUTyBlbnRlcnByaXNlZGI7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIERBVEEgV1JBUFBF UiBmZHdfZGlmZl9hY2xfcmV2b2tlIFRPIFBVQkxJQzsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04g REFUQSBXUkFQUEVSIGZkd19kaWZmX2FjbF9yZXZva2UgVE8gZW50ZXJwcmlzZWRiIFdJVEggR1JB TlQgT1BUSU9OOworCitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3X2RpZmZfYWRkX3Zh bGlkYXRvcjsKK0FMVEVSIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FkZF92YWxpZGF0 b3IKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JB UFBFUiBmZHdfZGlmZl9yZW1vdmVfdmFsaWRhdG9yCisgICAgVkFMSURBVE9SIHBnX2NhdGFsb2cu cG9zdGdyZXNxbF9mZHdfdmFsaWRhdG9yOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3 X2RpZmZfcmVtb3ZlX3ZhbGlkYXRvcgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JF QVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX2FkZF9vcHRpb25zOworQUxURVIgRk9S RUlHTiBEQVRBIFdSQVBQRVIgZmR3X2RpZmZfYWRkX29wdGlvbnMKKyAgICBPV05FUiBUTyBlbnRl cnByaXNlZGI7CisKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiBmZHdfZGlmZl9yZW1vdmVf b3B0aW9ucworICAgIE9QVElPTlMgKGRlYnVnICd0cnVlJyk7CitBTFRFUiBGT1JFSUdOIERBVEEg V1JBUFBFUiBmZHdfZGlmZl9yZW1vdmVfb3B0aW9ucworICAgIE9XTkVSIFRPIGVudGVycHJpc2Vk YjsKKworQ1JFQVRFIEZPUkVJR04gREFUQSBXUkFQUEVSIGZkd19kaWZmX29wdGlvbnMKKyAgICBP UFRJT05TIChkZWJ1ZyAndHJ1ZScpOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgZmR3X2Rp ZmZfb3B0aW9ucworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworLS0gRm9yZWlnbiBTZXJ2 ZXIgU2NyaXB0CitDUkVBVEUgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVp Z25fc2VydmVyCisgICAgVkFMSURBVE9SIHBnX2NhdGFsb2cucG9zdGdyZXNxbF9mZHdfdmFsaWRh dG9yOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fc2Vy dmVyCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VSVkVSIGZzX3Rhcgor ICAgIFRZUEUgJ1BHJworICAgIFZFUlNJT04gJzEwJworICAgIEZPUkVJR04gREFUQSBXUkFQUEVS IHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcgorICAgIE9QVElPTlMgKGhvc3QgJzEyNy4wLjAu MScsIHBvcnQgJzU0MzInKTsKK0FMVEVSIFNFUlZFUiBmc190YXIKKyAgICBPV05FUiBUTyBlbnRl cnByaXNlZGI7CitDT01NRU5UIE9OIFNFUlZFUiBmc190YXIKKyAgICBJUyAnRm9yZWlnbiBTZXJ2 ZXInOworCitDUkVBVEUgU0VSVkVSIGZzX2RpZmZfYWNsX2FkZAorICAgIEZPUkVJR04gREFUQSBX UkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsKK0FMVEVSIFNFUlZFUiBmc19kaWZm X2FjbF9hZGQKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBTRVJWRVIgZnNf ZGlmZl9hY2xfcmV2b2tlCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2Zv cmVpZ25fc2VydmVyOworQUxURVIgU0VSVkVSIGZzX2RpZmZfYWNsX3Jldm9rZQorICAgIE9XTkVS IFRPIGVudGVycHJpc2VkYjsKK0dSQU5UIFVTQUdFIE9OIEZPUkVJR04gU0VSVkVSIGZzX2RpZmZf YWNsX3Jldm9rZSBUTyBQVUJMSUM7CitHUkFOVCBVU0FHRSBPTiBGT1JFSUdOIFNFUlZFUiBmc19k aWZmX2FjbF9yZXZva2UgVE8gZW50ZXJwcmlzZWRiIFdJVEggR1JBTlQgT1BUSU9OOworCitDUkVB VEUgU0VSVkVSIGZzX2RpZmZfdHlwZV92ZXJzaW9uX2FkZAorICAgIEZPUkVJR04gREFUQSBXUkFQ UEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsKK0FMVEVSIFNFUlZFUiBmc19kaWZmX3R5 cGVfdmVyc2lvbl9hZGQKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NSRUFURSBTRVJW RVIgZnNfZGlmZl90eXBlX3ZlcnNpb25fcmVtb3ZlCisgICAgVFlQRSAnUEcnCisgICAgVkVSU0lP TiAnMTAnCisgICAgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fc2Vy dmVyOworQUxURVIgU0VSVkVSIGZzX2RpZmZfdHlwZV92ZXJzaW9uX3JlbW92ZQorICAgIE9XTkVS IFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUlZFUiBmc19kaWZmX3R5cGVfdmVyc2lvbl9t b2RpZnkKKyAgICBUWVBFICdFUEFTJworICAgIFZFUlNJT04gJzExJworICAgIEZPUkVJR04gREFU QSBXUkFQUEVSIHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsKK0FMVEVSIFNFUlZFUiBmc19k aWZmX3R5cGVfdmVyc2lvbl9tb2RpZnkKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NS RUFURSBTRVJWRVIgZnNfZGlmZl9vcHRpb25zX2FkZAorICAgIEZPUkVJR04gREFUQSBXUkFQUEVS IHRlc3RfZmR3X2Zvcl9mb3JlaWduX3NlcnZlcjsKK0FMVEVSIFNFUlZFUiBmc19kaWZmX29wdGlv bnNfYWRkCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDUkVBVEUgU0VSVkVSIGZzX2Rp ZmZfb3B0aW9uc19yZW1vdmUKKyAgICBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2Zkd19mb3Jf Zm9yZWlnbl9zZXJ2ZXIKKyAgICBPUFRJT05TIChob3N0ICcxMjcuMC4wLjEnLCBwb3J0ICc1NDMy Jyk7CitBTFRFUiBTRVJWRVIgZnNfZGlmZl9vcHRpb25zX3JlbW92ZQorICAgIE9XTkVSIFRPIGVu dGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUlZFUiBmc19kaWZmX29wdGlvbnNfbW9kaWZ5CisgICAg Rk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX2ZvcmVpZ25fc2VydmVyCisgICAgT1BU SU9OUyAoaG9zdCAnMTI3LjAuMC4xJywgcG9ydCAnNTQzMicpOworQUxURVIgU0VSVkVSIGZzX2Rp ZmZfb3B0aW9uc19tb2RpZnkKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKKy0tIFVzZXIg TWFwcGluZyBTY3JpcHQKK0NSRUFURSBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2Zkd19mb3Jf dXNlcl9tYXBwaW5nCisgICAgVkFMSURBVE9SIHBnX2NhdGFsb2cucG9zdGdyZXNxbF9mZHdfdmFs aWRhdG9yOworQUxURVIgRk9SRUlHTiBEQVRBIFdSQVBQRVIgdGVzdF9mZHdfZm9yX3VzZXJfbWFw cGluZworICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFNFUlZFUiB0ZXN0X2Zz X2Zvcl91c2VyX21hcHBpbmcKKyAgICBGT1JFSUdOIERBVEEgV1JBUFBFUiB0ZXN0X2Zkd19mb3Jf dXNlcl9tYXBwaW5nOworQUxURVIgU0VSVkVSIHRlc3RfZnNfZm9yX3VzZXJfbWFwcGluZworICAg IE9XTkVSIFRPIGVudGVycHJpc2VkYjsKKworQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgcHVibGlj IFNFUlZFUiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmcKKyAgICBPUFRJT05TIChwYXNzd29yZCAn YWRtaW4xMjMnKTsKKworQ1JFQVRFIFVTRVIgTUFQUElORyBGT1IgZW50ZXJwcmlzZWRiIFNFUlZF UiB0ZXN0X2ZzX2Zvcl91c2VyX21hcHBpbmc7CisKKy0tIFB1YmxpY2F0aW9uIHNjcmlwdAorCitD UkVBVEUgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3JfcHVibGljYXRpb24gKAorICAg IGNvbDEgaW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKK0NSRUFURSBUQUJM RSB0ZXN0X3NjaGVtYV9kaWZmLnRhYmxlX2Zvcl9wdWJsaWNhdGlvbl9pbl90YXJnZXQgKAorICAg IGNvbDEgaW50ZWdlciBOT1QgTlVMTCwKKyAgICBjb2wyIHRleHQKKyk7CisKK0NSRUFURSBQVUJM SUNBVElPTiBmb3JfYWxsX3RhYmxlCisgICAgRk9SIEFMTCBUQUJMRVMKKyAgICBXSVRIIChwdWJs aXNoID0gJ2luc2VydCwgZGVsZXRlJyk7CisKK0NSRUFURSBQVUJMSUNBVElPTiB3aXRoX29uZV90 YWJsZV9pbl90YXJnZXQKKyAgICBGT1IgVEFCTEUgdGVzdF9zY2hlbWFfZGlmZi50YWJsZV9mb3Jf cHVibGljYXRpb25faW5fdGFyZ2V0CisgICAgV0lUSCAocHVibGlzaCA9ICdpbnNlcnQsIGRlbGV0 ZScpOworCitBTFRFUiBQVUJMSUNBVElPTiB3aXRoX29uZV90YWJsZV9pbl90YXJnZXQKKyAgICBS RU5BTUUgVE8gd2l0aF9vbmVfdGFibGVfaW5fdGFyZ2V0X2FsdGVyOworCitBTFRFUiBQVUJMSUNB VElPTiB3aXRoX29uZV90YWJsZV9pbl90YXJnZXRfYWx0ZXIgU0VUCisgICAgKHB1Ymxpc2ggPSAn aW5zZXJ0LCB1cGRhdGUsIHRydW5jYXRlJyk7CisKKy0tIFN1YnNjcmlwdGlvbiBzY3JpcHQKKwor Q1JFQVRFIFNVQlNDUklQVElPTiAic3Vic2NyaXB0aW9uX3Rlc3QxX2luX3RhcmdldCIKKyAgICBD T05ORUNUSU9OICdob3N0PWxvY2FsaG9zdCBwb3J0PTU0MzIgdXNlcj1wb3N0Z3JlcyBkYm5hbWU9 ZWRiIHBhc3N3b3JkPXNhbXBsZXBhc3N3b3JkJworICAgIFBVQkxJQ0FUSU9OIHNhbXBsZV9wdWJs aWNhdGlvbgorICAgIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgZW5hYmxlZCA9IGZhbHNlLCBjcmVh dGVfc2xvdCA9IGZhbHNlLCBzbG90X25hbWUgPSBOb25lLCBzeW5jaHJvbm91c19jb21taXQgPSAn b2ZmJyk7CisKK0FMVEVSIFNVQlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0 CisgICAgQ09OTkVDVElPTiAnaG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIHVzZXI9cG9zdGdyZXMg ZGJuYW1lPXBvc3RncmVzJzsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0 MV9pbl90YXJnZXQKKyAgICBTRVQgKHN5bmNocm9ub3VzX2NvbW1pdCA9ICdyZW1vdGVfYXBwbHkn KTsKKworQUxURVIgU1VCU0NSSVBUSU9OIHN1YnNjcmlwdGlvbl90ZXN0MV9pbl90YXJnZXQKKyAg ICBTRVQgUFVCTElDQVRJT04gZWRiIFdJVEggKHJlZnJlc2ggPSBmYWxzZSk7CisKK0FMVEVSIFNV QlNDUklQVElPTiBzdWJzY3JpcHRpb25fdGVzdDFfaW5fdGFyZ2V0CisgICAgUkVOQU1FIFRPIHN1 YnNjcmlwdGlvbl90ZXN0X2luX3RhcmdldDsKKworRFJPUCBTVUJTQ1JJUFRJT04gc3Vic2NyaXB0 aW9uX3Rlc3RfaW5fdGFyZ2V0Owo= --000000000000681c0005bacfd6ae--