From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on archive.lwn.net X-Spam-Level: X-Spam-Status: No, score=-6.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by archive.lwn.net (Postfix) with ESMTP id 23FE17D919 for ; Mon, 12 Aug 2019 23:57:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727103AbfHLX5D (ORCPT ); Mon, 12 Aug 2019 19:57:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:41698 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727144AbfHLX5C (ORCPT ); Mon, 12 Aug 2019 19:57:02 -0400 Received: from kernel.org (unknown [104.132.0.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 533E82063F; Mon, 12 Aug 2019 23:57:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565654221; bh=Bqdkmnp6mwn7+uGtiuDRkW/S4L7BPoXk0yV/X+vBL54=; h=In-Reply-To:References:Subject:From:Cc:To:Date:From; b=xH5Jr1y+zA4g2T4Lqz5yO5pV+3YI+m+g1R3ck6bSJoBiMnDkJSdrB5821koEnOM1x ozemBUqGL2ni/PA36r1U7ZN9xHwvK3C4GSABt23yhMwa/Dx7vomqnds0asZ6RIkXYl YOqHX4j25oAAbX9XJcyROx5ez17nbuRYexkCgIEQ= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <20190812182421.141150-6-brendanhiggins@google.com> References: <20190812182421.141150-1-brendanhiggins@google.com> <20190812182421.141150-6-brendanhiggins@google.com> Subject: Re: [PATCH v12 05/18] kunit: test: add the concept of expectations From: Stephen Boyd Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, kunit-dev@googlegroups.com, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-um@lists.infradead.org, Alexander.Levin@microsoft.com, Tim.Bird@sony.com, amir73il@gmail.com, dan.carpenter@oracle.com, daniel@ffwll.ch, jdike@addtoit.com, joel@jms.id.au, julia.lawall@lip6.fr, khilman@baylibre.com, knut.omang@oracle.com, logang@deltatee.com, mpe@ellerman.id.au, pmladek@suse.com, rdunlap@infradead.org, richard@nod.at, rientjes@google.com, rostedt@goodmis.org, wfg@linux.intel.com, Brendan Higgins To: Brendan Higgins , frowand.list@gmail.com, gregkh@linuxfoundation.org, jpoimboe@redhat.com, keescook@google.com, kieran.bingham@ideasonboard.com, mcgrof@kernel.org, peterz@infradead.org, robh@kernel.org, shuah@kernel.org, tytso@mit.edu, yamada.masahiro@socionext.com User-Agent: alot/0.8.1 Date: Mon, 12 Aug 2019 16:57:00 -0700 Message-Id: <20190812235701.533E82063F@mail.kernel.org> Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org Quoting Brendan Higgins (2019-08-12 11:24:08) > Add support for expectations, which allow properties to be specified and > then verified in tests. >=20 > Signed-off-by: Brendan Higgins > Reviewed-by: Greg Kroah-Hartman > Reviewed-by: Logan Gunthorpe Reviewed-by: Stephen Boyd Just some minor nits again. > diff --git a/include/kunit/test.h b/include/kunit/test.h > index d0bf112910caf..2625bcfeb19ac 100644 > --- a/include/kunit/test.h > +++ b/include/kunit/test.h > @@ -9,8 +9,10 @@ > #ifndef _KUNIT_TEST_H > #define _KUNIT_TEST_H > =20 > +#include > #include > #include > +#include Can you alphabet sort these? > =20 > struct kunit_resource; > =20 > @@ -319,4 +321,845 @@ void __printf(3, 4) kunit_printk(const char *level, > #define kunit_err(test, fmt, ...) \ > kunit_printk(KERN_ERR, test, fmt, ##__VA_ARGS__) > =20 > +/* > + * Generates a compile-time warning in case of comparing incompatible ty= pes. > + */ > +#define __kunit_typecheck(lhs, rhs) \ > + ((void) __typecheck(lhs, rhs)) Is there a reason why this can't be inlined and the __kunit_typecheck() macro can't be removed? > + > +/** > + * KUNIT_SUCCEED() - A no-op expectation. Only exists for code clarity. > + * @test: The test context object. [...] > + * @condition: an arbitrary boolean expression. The test fails when this= does > + * not evaluate to true. > + * > + * This and expectations of the form `KUNIT_EXPECT_*` will cause the tes= t case > + * to fail when the specified condition is not met; however, it will not= prevent > + * the test case from continuing to run; this is otherwise known as an > + * *expectation failure*. > + */ > +#define KUNIT_EXPECT_TRUE(test, condition) \ > + KUNIT_TRUE_ASSERTION(test, KUNIT_EXPECTATION, condition) A lot of these macros seem double indented. > + > +#define KUNIT_EXPECT_TRUE_MSG(test, condition, fmt, ...) = \ > + KUNIT_TRUE_MSG_ASSERTION(test, = \ > + KUNIT_EXPECTATION, = \ > + condition, = \ > + fmt, = \ > + ##__VA_ARGS__) > + From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]:41698 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727144AbfHLX5C (ORCPT ); Mon, 12 Aug 2019 19:57:02 -0400 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <20190812182421.141150-6-brendanhiggins@google.com> References: <20190812182421.141150-1-brendanhiggins@google.com> <20190812182421.141150-6-brendanhiggins@google.com> Subject: Re: [PATCH v12 05/18] kunit: test: add the concept of expectations From: Stephen Boyd Date: Mon, 12 Aug 2019 16:57:00 -0700 Message-Id: <20190812235701.533E82063F@mail.kernel.org> Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: frowand.list@gmail.com, gregkh@linuxfoundation.org, jpoimboe@redhat.com, keescook@google.com, kieran.bingham@ideasonboard.com, mcgrof@kernel.org, peterz@infradead.org, robh@kernel.org, shuah@kernel.org, tytso@mit.edu, yamada.masahiro@socionext.com Cc: devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, kunit-dev@googlegroups.com, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-um@lists.infradead.org, Alexander.Levin@microsoft.com, Tim.Bird@sony.com, amir73il@gmail.com, dan.carpenter@oracle.com, daniel@ffwll.ch, jdike@addtoit.com, joel@jms.id.au, julia.lawall@lip6.fr, khilman@baylibre.com, knut.omang@oracle.com, logang@deltatee.com, mpe@ellerman.id.au, pmladek@suse.com, rdunlap@infradead.org, richard@nod.at, rientjes@google.com, rostedt@goodmis.org, wfg@linux.intel.com, Brendan Higgins Quoting Brendan Higgins (2019-08-12 11:24:08) > Add support for expectations, which allow properties to be specified and > then verified in tests. >=20 > Signed-off-by: Brendan Higgins > Reviewed-by: Greg Kroah-Hartman > Reviewed-by: Logan Gunthorpe Reviewed-by: Stephen Boyd Just some minor nits again. > diff --git a/include/kunit/test.h b/include/kunit/test.h > index d0bf112910caf..2625bcfeb19ac 100644 > --- a/include/kunit/test.h > +++ b/include/kunit/test.h > @@ -9,8 +9,10 @@ > #ifndef _KUNIT_TEST_H > #define _KUNIT_TEST_H > =20 > +#include > #include > #include > +#include Can you alphabet sort these? > =20 > struct kunit_resource; > =20 > @@ -319,4 +321,845 @@ void __printf(3, 4) kunit_printk(const char *level, > #define kunit_err(test, fmt, ...) \ > kunit_printk(KERN_ERR, test, fmt, ##__VA_ARGS__) > =20 > +/* > + * Generates a compile-time warning in case of comparing incompatible ty= pes. > + */ > +#define __kunit_typecheck(lhs, rhs) \ > + ((void) __typecheck(lhs, rhs)) Is there a reason why this can't be inlined and the __kunit_typecheck() macro can't be removed? > + > +/** > + * KUNIT_SUCCEED() - A no-op expectation. Only exists for code clarity. > + * @test: The test context object. [...] > + * @condition: an arbitrary boolean expression. The test fails when this= does > + * not evaluate to true. > + * > + * This and expectations of the form `KUNIT_EXPECT_*` will cause the tes= t case > + * to fail when the specified condition is not met; however, it will not= prevent > + * the test case from continuing to run; this is otherwise known as an > + * *expectation failure*. > + */ > +#define KUNIT_EXPECT_TRUE(test, condition) \ > + KUNIT_TRUE_ASSERTION(test, KUNIT_EXPECTATION, condition) A lot of these macros seem double indented. > + > +#define KUNIT_EXPECT_TRUE_MSG(test, condition, fmt, ...) = \ > + KUNIT_TRUE_MSG_ASSERTION(test, = \ > + KUNIT_EXPECTATION, = \ > + condition, = \ > + fmt, = \ > + ##__VA_ARGS__) > + From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hxKBS-0006mN-1J for linux-um@lists.infradead.org; Mon, 12 Aug 2019 23:57:03 +0000 MIME-Version: 1.0 In-Reply-To: <20190812182421.141150-6-brendanhiggins@google.com> References: <20190812182421.141150-1-brendanhiggins@google.com> <20190812182421.141150-6-brendanhiggins@google.com> Subject: Re: [PATCH v12 05/18] kunit: test: add the concept of expectations From: Stephen Boyd Date: Mon, 12 Aug 2019 16:57:00 -0700 Message-Id: <20190812235701.533E82063F@mail.kernel.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-um" Errors-To: linux-um-bounces+geert=linux-m68k.org@lists.infradead.org To: Brendan Higgins , frowand.list@gmail.com, gregkh@linuxfoundation.org, jpoimboe@redhat.com, keescook@google.com, kieran.bingham@ideasonboard.com, mcgrof@kernel.org, peterz@infradead.org, robh@kernel.org, shuah@kernel.org, tytso@mit.edu, yamada.masahiro@socionext.com Cc: pmladek@suse.com, linux-doc@vger.kernel.org, amir73il@gmail.com, Brendan Higgins , dri-devel@lists.freedesktop.org, Alexander.Levin@microsoft.com, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, khilman@baylibre.com, knut.omang@oracle.com, wfg@linux.intel.com, joel@jms.id.au, rientjes@google.com, jdike@addtoit.com, dan.carpenter@oracle.com, devicetree@vger.kernel.org, linux-kbuild@vger.kernel.org, Tim.Bird@sony.com, linux-um@lists.infradead.org, rostedt@goodmis.org, julia.lawall@lip6.fr, kunit-dev@googlegroups.com, richard@nod.at, rdunlap@infradead.org, linux-kernel@vger.kernel.org, daniel@ffwll.ch, mpe@ellerman.id.au, linux-fsdevel@vger.kernel.org, logang@deltatee.com Quoting Brendan Higgins (2019-08-12 11:24:08) > Add support for expectations, which allow properties to be specified and > then verified in tests. > > Signed-off-by: Brendan Higgins > Reviewed-by: Greg Kroah-Hartman > Reviewed-by: Logan Gunthorpe Reviewed-by: Stephen Boyd Just some minor nits again. > diff --git a/include/kunit/test.h b/include/kunit/test.h > index d0bf112910caf..2625bcfeb19ac 100644 > --- a/include/kunit/test.h > +++ b/include/kunit/test.h > @@ -9,8 +9,10 @@ > #ifndef _KUNIT_TEST_H > #define _KUNIT_TEST_H > > +#include > #include > #include > +#include Can you alphabet sort these? > > struct kunit_resource; > > @@ -319,4 +321,845 @@ void __printf(3, 4) kunit_printk(const char *level, > #define kunit_err(test, fmt, ...) \ > kunit_printk(KERN_ERR, test, fmt, ##__VA_ARGS__) > > +/* > + * Generates a compile-time warning in case of comparing incompatible types. > + */ > +#define __kunit_typecheck(lhs, rhs) \ > + ((void) __typecheck(lhs, rhs)) Is there a reason why this can't be inlined and the __kunit_typecheck() macro can't be removed? > + > +/** > + * KUNIT_SUCCEED() - A no-op expectation. Only exists for code clarity. > + * @test: The test context object. [...] > + * @condition: an arbitrary boolean expression. The test fails when this does > + * not evaluate to true. > + * > + * This and expectations of the form `KUNIT_EXPECT_*` will cause the test case > + * to fail when the specified condition is not met; however, it will not prevent > + * the test case from continuing to run; this is otherwise known as an > + * *expectation failure*. > + */ > +#define KUNIT_EXPECT_TRUE(test, condition) \ > + KUNIT_TRUE_ASSERTION(test, KUNIT_EXPECTATION, condition) A lot of these macros seem double indented. > + > +#define KUNIT_EXPECT_TRUE_MSG(test, condition, fmt, ...) \ > + KUNIT_TRUE_MSG_ASSERTION(test, \ > + KUNIT_EXPECTATION, \ > + condition, \ > + fmt, \ > + ##__VA_ARGS__) > + _______________________________________________ linux-um mailing list linux-um@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-um From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Boyd Subject: Re: [PATCH v12 05/18] kunit: test: add the concept of expectations Date: Mon, 12 Aug 2019 16:57:00 -0700 Message-ID: <20190812235701.533E82063F@mail.kernel.org> References: <20190812182421.141150-1-brendanhiggins@google.com> <20190812182421.141150-6-brendanhiggins@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190812182421.141150-6-brendanhiggins@google.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: frowand.list@gmail.com, gregkh@linuxfoundation.org, jpoimboe@redhat.com, keescook@google.com, kieran.bingham@ideasonboard.com, mcgrof@kernel.org, peterz@infradead.org, robh@kernel.org, shuah@kernel.org, tytso@mit.edu, yamada.masahiro@socionext.com Cc: pmladek@suse.com, linux-doc@vger.kernel.org, amir73il@gmail.com, Brendan Higgins , dri-devel@lists.freedesktop.org, Alexander.Levin@microsoft.com, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, khilman@baylibre.com, knut.omang@oracle.com, wfg@linux.intel.com, joel@jms.id.au, rientjes@google.com, jdike@addtoit.com, dan.carpenter@oracle.com, devicetree@vger.kernel.org, linux-kbuild@vger.kernel.org, Tim.Bird@sony.com, linux-um@lists.infradead.org, rostedt@goodmis.org, julia.lawall@lip6.fr, kunit-dev@googlegroups.com, richard@nod.at, rdunlap@infradead.org, linux-kernel@vger.kernel.org, mpe@ellerman.id.au, linux-fsdevel@vger.kernel.org, logang@deltatee.com List-Id: devicetree@vger.kernel.org UXVvdGluZyBCcmVuZGFuIEhpZ2dpbnMgKDIwMTktMDgtMTIgMTE6MjQ6MDgpCj4gQWRkIHN1cHBv cnQgZm9yIGV4cGVjdGF0aW9ucywgd2hpY2ggYWxsb3cgcHJvcGVydGllcyB0byBiZSBzcGVjaWZp ZWQgYW5kCj4gdGhlbiB2ZXJpZmllZCBpbiB0ZXN0cy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBCcmVu ZGFuIEhpZ2dpbnMgPGJyZW5kYW5oaWdnaW5zQGdvb2dsZS5jb20+Cj4gUmV2aWV3ZWQtYnk6IEdy ZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+Cj4gUmV2aWV3ZWQt Ynk6IExvZ2FuIEd1bnRob3JwZSA8bG9nYW5nQGRlbHRhdGVlLmNvbT4KClJldmlld2VkLWJ5OiBT dGVwaGVuIEJveWQgPHNib3lkQGtlcm5lbC5vcmc+CgpKdXN0IHNvbWUgbWlub3Igbml0cyBhZ2Fp bi4KCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUva3VuaXQvdGVzdC5oIGIvaW5jbHVkZS9rdW5pdC90 ZXN0LmgKPiBpbmRleCBkMGJmMTEyOTEwY2FmLi4yNjI1YmNmZWIxOWFjIDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUva3VuaXQvdGVzdC5oCj4gKysrIGIvaW5jbHVkZS9rdW5pdC90ZXN0LmgKPiBAQCAt OSw4ICs5LDEwIEBACj4gICNpZm5kZWYgX0tVTklUX1RFU1RfSAo+ICAjZGVmaW5lIF9LVU5JVF9U RVNUX0gKPiAgCj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiAgI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gKyNpbmNsdWRlIDxrdW5pdC9h c3NlcnQuaD4KCkNhbiB5b3UgYWxwaGFiZXQgc29ydCB0aGVzZT8KCj4gIAo+ICBzdHJ1Y3Qga3Vu aXRfcmVzb3VyY2U7Cj4gIAo+IEBAIC0zMTksNCArMzIxLDg0NSBAQCB2b2lkIF9fcHJpbnRmKDMs IDQpIGt1bml0X3ByaW50ayhjb25zdCBjaGFyICpsZXZlbCwKPiAgI2RlZmluZSBrdW5pdF9lcnIo dGVzdCwgZm10LCAuLi4pIFwKPiAgICAgICAgICAgICAgICAga3VuaXRfcHJpbnRrKEtFUk5fRVJS LCB0ZXN0LCBmbXQsICMjX19WQV9BUkdTX18pCj4gIAo+ICsvKgo+ICsgKiBHZW5lcmF0ZXMgYSBj b21waWxlLXRpbWUgd2FybmluZyBpbiBjYXNlIG9mIGNvbXBhcmluZyBpbmNvbXBhdGlibGUgdHlw ZXMuCj4gKyAqLwo+ICsjZGVmaW5lIF9fa3VuaXRfdHlwZWNoZWNrKGxocywgcmhzKSBcCj4gKyAg ICAgICAoKHZvaWQpIF9fdHlwZWNoZWNrKGxocywgcmhzKSkKCklzIHRoZXJlIGEgcmVhc29uIHdo eSB0aGlzIGNhbid0IGJlIGlubGluZWQgYW5kIHRoZSBfX2t1bml0X3R5cGVjaGVjaygpCm1hY3Jv IGNhbid0IGJlIHJlbW92ZWQ/Cgo+ICsKPiArLyoqCj4gKyAqIEtVTklUX1NVQ0NFRUQoKSAtIEEg bm8tb3AgZXhwZWN0YXRpb24uIE9ubHkgZXhpc3RzIGZvciBjb2RlIGNsYXJpdHkuCj4gKyAqIEB0 ZXN0OiBUaGUgdGVzdCBjb250ZXh0IG9iamVjdC4KWy4uLl0KPiArICogQGNvbmRpdGlvbjogYW4g YXJiaXRyYXJ5IGJvb2xlYW4gZXhwcmVzc2lvbi4gVGhlIHRlc3QgZmFpbHMgd2hlbiB0aGlzIGRv ZXMKPiArICogbm90IGV2YWx1YXRlIHRvIHRydWUuCj4gKyAqCj4gKyAqIFRoaXMgYW5kIGV4cGVj dGF0aW9ucyBvZiB0aGUgZm9ybSBgS1VOSVRfRVhQRUNUXypgIHdpbGwgY2F1c2UgdGhlIHRlc3Qg Y2FzZQo+ICsgKiB0byBmYWlsIHdoZW4gdGhlIHNwZWNpZmllZCBjb25kaXRpb24gaXMgbm90IG1l dDsgaG93ZXZlciwgaXQgd2lsbCBub3QgcHJldmVudAo+ICsgKiB0aGUgdGVzdCBjYXNlIGZyb20g Y29udGludWluZyB0byBydW47IHRoaXMgaXMgb3RoZXJ3aXNlIGtub3duIGFzIGFuCj4gKyAqICpl eHBlY3RhdGlvbiBmYWlsdXJlKi4KPiArICovCj4gKyNkZWZpbmUgS1VOSVRfRVhQRUNUX1RSVUUo dGVzdCwgY29uZGl0aW9uKSBcCj4gKyAgICAgICAgICAgICAgIEtVTklUX1RSVUVfQVNTRVJUSU9O KHRlc3QsIEtVTklUX0VYUEVDVEFUSU9OLCBjb25kaXRpb24pCgpBIGxvdCBvZiB0aGVzZSBtYWNy b3Mgc2VlbSBkb3VibGUgaW5kZW50ZWQuCgo+ICsKPiArI2RlZmluZSBLVU5JVF9FWFBFQ1RfVFJV RV9NU0codGVzdCwgY29uZGl0aW9uLCBmbXQsIC4uLikgICAgICAgICAgICAgICAgICAgICAgXAo+ ICsgICAgICAgICAgICAgICBLVU5JVF9UUlVFX01TR19BU1NFUlRJT04odGVzdCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBLVU5JVF9FWFBFQ1RBVElPTiwgICAgICAgICAgICAgICAgICAgIFwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbiwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZm10LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjI19fVkFfQVJHU19fKQo+ICsKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs