From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B9AE8CD5BD1 for ; Tue, 2 Jun 2026 22:49:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 25E7710F65D; Tue, 2 Jun 2026 22:49:16 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="K0A7Y20L"; dkim-atps=neutral Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id C72C610F663 for ; Tue, 2 Jun 2026 22:49:14 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4908b92904fso67089295e9.0 for ; Tue, 02 Jun 2026 15:49:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780440553; x=1781045353; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IygGhm9kuf41mq4yQ0C6MVtWUwR88txz1bUI5vUU+BQ=; b=K0A7Y20LMUwTuiy6DRA2KHCtJJb6xbTK2jG/wpLeNEHzcMBlojnSd7EI/TgvBZiDr0 Gosu5QaOJC1kj9V/0WOS/frBQlOJn+h2MseeK+h9PYEtnFOBED+z/p/zwAnmHG3nirmQ msrDImnXS03JF4HTm5mz/n6Wlz9bvUkANV5gWyxF8y0VxBMQqKDA26wpTSjrilvExRGr CwPE9G8pjXRKiNXFW7blp8pAw2ic0NJAux8DfgaJ3oHt38NYyR3hWjSW7tZHoMPot/BI vRVHRz92pV2SpskhviyCR6b9el3Kk86gA74DGC6J6MnXLjU3uvjv/S293kOjQxB8ivNy 42Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780440553; x=1781045353; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=IygGhm9kuf41mq4yQ0C6MVtWUwR88txz1bUI5vUU+BQ=; b=F5veaxf8mF34vDzcY6u3BY3NE5b16JE8KAHQUNyP1beion+9PxEMLtTcG+6HOmG857 xZJiVYXLcJNxDGK26UveslA7Y4alWb4MBbYCDALxW9GIfgSDkp6URyFowTwV48TiZx8l At2d7K/kVjMs2HXlOoUPRh2S1jUDlwOSwWmf9k1t+JlxCqP7P/Kqg7fAevhLieL0r5Eq /88cNFM2e1NZw1vSf2ytP871e/avw3vJMpbF7MYkiqeyqgXhSkNQ9v9Or2EdJgHtdinW bUAv0+ibbkBsJscmGIO3uwaAx1kI9yTtJDAfFhnJU2zL2pMR3uUrzGRJ7FDINbjzDWwl qAMA== X-Forwarded-Encrypted: i=1; AFNElJ+9NQHjzEonWM8V+MwetPBlOmZi/DpUjjpsviABaMkfENu7/a3YM+RDKpVwuJ6iFoMAZJtE8gtZF50=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxxzC3vuxLMSMLTZ1bmyfclkLIR0ve77AR0lDnObE7LuLiB2sDX qtbT8QaonfUAj/9kXOeJH/qu+v7U/h1V6AbHZ9mCBFGktl0Tpa2vxeMl X-Gm-Gg: Acq92OHy6aZXuePkKIsLKhZmWkX9gX8F1cHcJK3jCyN2YIDQzBqOWTd9lsPjhtxetGw YSQqK51GMO8XOE5GdGuDvRnS2JeoHRz0yHZg0r+XIqHJu75n5rc2rb0EYwgjILgF510+qM1X8Ba vPQ2K44B9neOiNXOvNCO87LaIhZbOlbW+vfIKEOCNuwBZ9vGID3PXXfTixI8Y5WPESgSUiFnTSI hwPzG3ZkaJqRQVrgMBbDmeTJaw5u9Vt2s6uoKwbreL/iR9YGw+wUI+CiisiCrfekffuuvEI6VqD IrRCZi7dUzbc0Knq915eR5SB4hwOFACm2ZKVtIYjWIHMDVgsW1VQJ6GYIJNvmzhQwCVZ4Nvm0TN KW0I6lVyQTE35FGbsLXD4p4fEKIncTep8ptvVkFsElQUnLYxBlQkG8VoMhBVpEuYMync+/hrvbL o+vLOFbMHgvZZILRUvdCivMGmnDBwoqOnVV0tM8HyyEgsVTmtuiF3w X-Received: by 2002:a05:600c:3150:b0:490:3bad:3784 with SMTP id 5b1f17b1804b1-490b60de830mr11022245e9.18.1780440553275; Tue, 02 Jun 2026 15:49:13 -0700 (PDT) Received: from [172.16.188.153] ([213.181.114.83]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-4601f2f2710sm1999791f8f.14.2026.06.02.15.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 15:49:12 -0700 (PDT) From: Jim Cromie Date: Tue, 02 Jun 2026 22:48:19 +0000 Subject: [PATCH v4 22/25] selftests-dyndbg: add a dynamic_debug run_tests target MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-Id: <20260602-dd-maint-2-v4-22-19a1445585a8@gmail.com> References: <20260602-dd-maint-2-v4-0-19a1445585a8@gmail.com> In-Reply-To: <20260602-dd-maint-2-v4-0-19a1445585a8@gmail.com> To: Jonathan Corbet , Shuah Khan , Arnd Bergmann , Jason Baron , Luis Chamberlain , Petr Pavlu , Daniel Gomez , Sami Tolvanen , Aaron Tomlin , Andrew Morton , Shuah Khan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-modules@vger.kernel.org, linux-kselftest@vger.kernel.org, dri-devel@lists.freedesktop.org, Jim Cromie , =?utf-8?q?=C5=81ukasz_Bartosik?= , Louis Chauvet X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780440488; l=13257; i=jim.cromie@gmail.com; s=20260203; h=from:subject:message-id; bh=lZo1ZwCzw1HsSSPAASSDUG29+dnu3/idhHrKphEKq70=; b=DmnkSXiB0uqHymu5fqWRAi4RCcgYvoJN+rpT74y9XcfhBkPGQZ+mFR1oe1wbAwpPcRhKUTSdX AxqYc3XQ1byCnnVa9TKQv4Q7gx1rh+3/TlBNLg3DySrs4cgjPltjoQs X-Developer-Key: i=jim.cromie@gmail.com; a=ed25519; pk=C6E5ODlPQo7ZBynATXH9wg7K6HxP0pIXyf4s38Qw0XE= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QWRkIGEgc2VsZnRlc3Qgc2NyaXB0IGZvciBkeW5hbWljLWRlYnVnLiAgVGhlIGNvbmZpZyByZXF1 aXJlcwpDT05GSUdfVEVTVF9EWU5BTUlDX0RFQlVHPW0gYW5kIENPTkZJR19URVNUX0RZTkFNSUNf REVCVUdfU1VCTU9EPW0sCndoaWNoIHRhY2l0bHkgcmVxdWlyZXMgZWl0aGVyIENPTkZJR19EWU5B TUlDX0RFQlVHPXkgb3IKQ09ORklHX0RZTkFNSUNfREVCVUdfQ09SRT15CgpBVE0gdGhpcyBoYXMg anVzdCBiYXNpY190ZXN0cygpLCB3aGljaCBtb2RpZnkgcHJfZGVidWcoKSBmbGFncyBpbiB0aGUK YnVpbHRpbiBwYXJhbXMgbW9kdWxlLiAgVGhpcyBtZWFucyB0aGV5J3JlIGF2YWlsYWJsZSB0byBt YW5pcHVsYXRlIGFuZApvYnNlcnZlIHRoZSBlZmZlY3RzIGluICJjYXQgY29udHJvbCIuCgpUaGlz IGlzIGJhY2twb3J0ZWQgZnJvbSBhbm90aGVyIGZlYXR1cmUgYnJhbmNoOyB0aGUgc3VwcG9ydC1m bnMgKHRoeApMdWthcykgaGF2ZSB1bnVzZWQgZmVhdHVyZXMgYXQgdGhlIG1vbWVudCwgdGhleSds bCBnZXQgdXNlZCBzaG9ydGx5LgoKVGhlIHNjcmlwdCBlbmFibGVzIHNpbXBsZSB2aXJ0bWUtbmcg dGVzdGluZzoKCiAgIFtqaW1jQGdhbmRhbGYgYjAtZnRyYWNlXSQgdnJ1bl90CiAgIHZpcnRtZS1u ZyAxLjMyKzExNS5nMDdiMTA5ZAogICBkb2luZzogdm5nIC0tbmFtZSB2Ni4xNC1yYzQtNjAtZ2Q1 ZjQ4NDI3ZGUwYyBcCgkgIC0tdXNlciByb290IC12IC1wIDQgLWEgZHluYW1pY19kZWJ1Zy52ZXJi b3NlPTMgVj0xIFwKCSAgLS0gLi4vdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1 Zy9keW5kYmdfc2VsZnRlc3Quc2gKICAgdmlydG1lOiB3YWl0aW5nIGZvciB2aXJ0aW9mc2QgdG8g c3RhcnQKICAgLi4KCkFuZCBhZGQgZHluYW1pY19kZWJ1ZyB0byBUQVJHRVRTLCBzbyBgbWFrZSBy dW5fdGVzdHNgIHNlZXMgaXQgcHJvcGVybHkuCkZvciB0aGUgaW1wYXRpZW50LCBzZXQgVEFSR0VU UyBleHBsaWNpdGx5OgoKICBbcm9vdEB2NiBzZWxmdGVzdHNdIyBtYWtlIFRBUkdFVFM9ZHluYW1p Y19kZWJ1ZyBydW5fdGVzdHMKICBtYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yICdhbGwn LgogIFRBUCB2ZXJzaW9uIDEzCiAgMS4uMQogICMgdGltZW91dCBzZXQgdG8gNDUKICAjIHNlbGZ0 ZXN0czogZHluYW1pY19kZWJ1ZzogZHluZGJnX3NlbGZ0ZXN0LnNoCiAgIyAjIEJBU0lDX1RFU1RT ICAgIDk1LjQyMjEyMl0gZHluZGJnOiBxdWVyeSAwOiAwIj1fIiBtb2Q6KgogIC4uLgoKTk9URVMK CmNoZWNrIEtDT05GSUdfQ09ORklHIHRvIGF2b2lkIHNpbGx5IGZhaWxzLiAgU2V2ZXJhbCB0ZXN0 cyBhcmUKZGVwZW5kZW50IHVwb24gY29uZmlnIGNob2ljZXMuIExldHMgYXZvaWQgZmFpbGluZyB3 aGVyZSB0aGF0IGlzIG5vaXNlLgoKVGhlIEtDT05GSUdfQ09ORklHIHZhciBleGlzdHMgdG8gY29u dmV5IHRoZSBjb25maWctZmlsZSBhcm91bmQuICBJZgp0aGUgdmFyIG5hbWVzIGEgZmlsZSwgcmVh ZCBpdCBhbmQgZXh0cmFjdCB0aGUgcmVsZXZhbnQgQ09ORklHIGl0ZW1zLAphbmQgdXNlIHRoZW0g dG8gc2tpcCB0aGUgZGVwZW5kZW50IHRlc3RzLCB0aHVzIGF2b2lkaW5nIHRoZSBmYWlscyB0aGF0 CndvdWxkIGZvbGxvdywgYW5kIHRoZSBkaXNydXB0aW9uIHRvIHdoYXRldmVyIENJIGlzIHJ1bm5p bmcgdGhlc2UKc2VsZnRlc3RzLgoKSWYgdGhlIGVudmFyIGRvZXNuJ3QgbmFtZSBhIGNvbmZpZy1m aWxlLCAiLmNvbmZpZyIgaXMgYXNzdW1lZC4KCkNPTkZJR19EWU5BTUlDX0RFQlVHPXk6CgpiYXNp Yy10ZXN0cygpIGFuZCBjb21tYS10ZXJtaW5hdG9yLXRlc3RzKCkgdGVzdCBmb3IgdGhlIHByZXNl bmNlIG9mCnRoZSBidWlsdGluIHByX2RlYnVncyBpbiBtb2R1bGUvbWFpbi5jLCB3aGljaCBJIGRl ZW1lZCBzdGFibGUgYW5kCnRoZXJlZm9yZSBzYWZlIHRvIGNvdW50LiAgVGhhdCBzYWlkLCB0aGUg dGVzdCBmYWlscyBpZiBvbmx5CkNPTkZJR19EWU5BTUlDX0RFQlVHX0NPUkU9eSBpcyBzZXQuICBJ dCBjb3VsZCBiZSByZXdyaXR0ZW4gdG8gdGVzdAphZ2FpbnN0IHRlc3QtZHluYW1pYy1kZWJ1Zy5r bywgYnV0IHRoYXQganVzdCB0cmFkZXMgb25lIGNvbmZpZwpkZXBlbmRlbmNlIGZvciBhbm90aGVy LgoKQ28tZGV2ZWxvcGVkLWJ5OiDFgXVrYXN6IEJhcnRvc2lrIDx1a2FzemJAY2hyb21pdW0ub3Jn PgpTaWduZWQtb2ZmLWJ5OiDFgXVrYXN6IEJhcnRvc2lrIDx1a2FzemJAY2hyb21pdW0ub3JnPgpT aWduZWQtb2ZmLWJ5OiBKaW0gQ3JvbWllIDxqaW0uY3JvbWllQGdtYWlsLmNvbT4KUmV2aWV3ZWQt Ynk6IExvdWlzIENoYXV2ZXQgPGxvdWlzLmNoYXV2ZXRAYm9vdGxpbi5jb20+Ci0tLQp2NDogc3F1 YXNoIGRvd24gYSBmZXcgbWlzc2luZyAiIiBxdW90ZXMgYXJvdW5kICR2YXJzCnYzOiB1c2Uga3Nm dF8qIGV4aXQgY29kZXMKCnYyOgpkcm9wIGNvbW1pdC1tc2cgbWVudGlvbiBvZiB5ZXQtdG8tYmUt c3VibWl0dGVkIHRlc3RzCm1vdmUgUnZCIGFmdGVyIFNvQgoKc2NyaXB0IGZpeHVwcyBwZXIgc2Fz aGlrbyByZXZpZXcKCiAgIDEuIENPTkZJR19EWU5BTUlDX0RFQlVHPXkgaXMgc2V0IGNvcnJlY3Rs eS4KICAgMi4gQWxsIHN1YnNoZWxsIGNhcHR1cmVzICQoICggLi4uICkgMj4mMSApIGFyZSBmaXhl ZC4KICAgMy4gQWxsIGVjaG8gdmFyaWFibGVzIGFyZSBzYWZlbHkgcXVvdGVkIHRvIHByZXZlbnQg d29yZC1zcGxpdHRpbmcuCiAgIDQuIFN0YW5kYXJkaXplZCBvbiBtb2Rlcm4gL3N5cy9rZXJuZWwv dHJhY2luZy8gcGF0aHMuCiAgIDUuIGV4aXQgJGV4cF9leGl0X2NvZGUgY29ycmVjdGx5IHByb3Bh Z2F0ZXMgZmFpbHVyZSBzdGF0dXMuCgpmaXh1cC1xdW90aW5nLXNlbGZ0ZXN0Ci0tLQogTUFJTlRB SU5FUlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgIDEgKwog dG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9NYWtlZmlsZSAgICAgfCAgIDkg KwogdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9jb25maWcgICAgICAgfCAg IDggKwogLi4uL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2R5bmRiZ19zZWxmdGVzdC5zaCAgICAg fCAyNTggKysrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDI3NyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJTkVSUwppbmRleCA2Y2Y4 MGU3YWMwMzkuLmIzZDQxODI0MjIwYSAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJ TlRBSU5FUlMKQEAgLTkwODcsNiArOTA4Nyw3IEBAIEY6CWluY2x1ZGUvYXNtLWdlbmVyaWMvZHlu ZGJnLmxkcy5oCiBGOglpbmNsdWRlL2xpbnV4L2R5bmFtaWNfZGVidWcuaAogRjoJbGliL2R5bmFt aWNfZGVidWcuYwogRjoJbGliL3Rlc3RfZHluYW1pY19kZWJ1Zy5jCitGOgl0b29scy90ZXN0aW5n L3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnLyoKIAogRFlOQU1JQyBJTlRFUlJVUFQgTU9ERVJBVElP TgogTToJVGFsIEdpbGJvYSA8dGFsZ2lAbnZpZGlhLmNvbT4KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL01ha2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZp bGUKaW5kZXggNmU1OWI4ZjYzZTQxLi4xN2M0ZGRiY2VlODkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3Rl c3Rpbmcvc2VsZnRlc3RzL01ha2VmaWxlCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL01h a2VmaWxlCkBAIC0yNyw2ICsyNyw3IEBAIFRBUkdFVFMgKz0gZHJpdmVycy9uZXQvdGVhbQogVEFS R0VUUyArPSBkcml2ZXJzL25ldC92aXJ0aW9fbmV0CiBUQVJHRVRTICs9IGRyaXZlcnMvcGxhdGZv cm0veDg2L2ludGVsL2lmcwogVEFSR0VUUyArPSBkdAorVEFSR0VUUyArPSBkeW5hbWljX2RlYnVn CiBUQVJHRVRTICs9IGVmaXZhcmZzCiBUQVJHRVRTICs9IGV4ZWMKIFRBUkdFVFMgKz0gZmNobW9k YXQyCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL01h a2VmaWxlIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9NYWtlZmlsZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZkMDZmYTdmMTA0MAotLS0g L2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvTWFr ZWZpbGUKQEAgLTAsMCArMSw5IEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9ubHkKKyMgYm9ycm93ZWQgZnJvbSBNYWtlZmlsZSBmb3IgdXNlciBtZW1vcnkgc2VsZnRlc3Rz CisKKyMgTm8gYmluYXJpZXMsIGJ1dCBtYWtlIHN1cmUgYXJnLWxlc3MgIm1ha2UiIGRvZXNuJ3Qg dHJpZ2dlciAicnVuX3Rlc3RzIgorYWxsOgorCitURVNUX1BST0dTIDo9IGR5bmRiZ19zZWxmdGVz dC5zaAorCitpbmNsdWRlIC4uL2xpYi5tawpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxm dGVzdHMvZHluYW1pY19kZWJ1Zy9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5h bWljX2RlYnVnL2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmVjNDc4YjE3ODczZAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L2R5bmFtaWNfZGVidWcvY29uZmlnCkBAIC0wLDAgKzEsOCBAQAorCisjIGJhc2ljIHRlc3RzIHJl ZiB0aGUgYnVpbHRpbiBwYXJhbXMgbW9kdWxlCitDT05GSUdfRFlOQU1JQ19ERUJVRz15CisKKyMg bW9yZSB0ZXN0aW5nIGlzIHBvc3NpYmxlIHdpdGggdGhlc2UsCisjIGJ1dCBpbnNpc3Rpbmcgb24g dGhlbSBoZXJlIHNraXBzIHRlc3RpbmcgZW50aXJlbHkgZm9yIHN1Y2ggY29uZmlncworIyBDT05G SUdfVEVTVF9EWU5BTUlDX0RFQlVHPW0KKyMgQ09ORklHX1RFU1RfRFlOQU1JQ19ERUJVR19TVUJN T0Q9bQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9k eW5kYmdfc2VsZnRlc3Quc2ggYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVn L2R5bmRiZ19zZWxmdGVzdC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAw MDAuLjEyMzlmMWUxMDU5MQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRl c3RzL2R5bmFtaWNfZGVidWcvZHluZGJnX3NlbGZ0ZXN0LnNoCkBAIC0wLDAgKzEsMjU4IEBACisj IS9iaW4vYmFzaAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisKK1Y9 JHtWOj0wfSAgIyBpbnZva2UgYXMgVj0xICQwICBmb3IgZ2xvYmFsIHZlcmJvc2UKK1JFRD0iXDAz M1swOzMxbSIKK0dSRUVOPSJcMDMzWzA7MzJtIgorWUVMTE9XPSJcMDMzWzA7MzNtIgorQkxVRT0i XDAzM1swOzM0bSIKK01BR0VOVEE9IlwwMzNbMDszNW0iCitDWUFOPSJcMDMzWzA7MzZtIgorTkM9 IlwwMzNbMDswbSIKK2Vycm9yX21zZz0iIgorCisjIFN0YW5kYXJkIGtzZWxmdGVzdCBleGl0IGNv ZGVzCitrc2Z0X3Bhc3M9MAora3NmdF9mYWlsPTEKK2tzZnRfc2tpcD00CisKK1sgLWUgL3Byb2Mv ZHluYW1pY19kZWJ1Zy9jb250cm9sIF0gfHwgeworICAgIGVjaG8gLWUgIiR7UkVEfTogdGhpcyB0 ZXN0IHJlcXVpcmVzIENPTkZJR19EWU5BTUlDX0RFQlVHPXkgJHtOQ30iCisgICAgZXhpdCAka3Nm dF9za2lwICMgbm90aGluZyB0byB0ZXN0IGhlcmUsIG5vIGdvb2QgcmVhc29uIHRvIGZhaWwuCit9 CisKKyMgbmVlZCBpbmZvIHRvIGF2b2lkIGZhaWx1cmVzIGR1ZSB0byB1bnRlc3RhYmxlIGNvbmZp Z3MKKworWyAtZiAiJEtDT05GSUdfQ09ORklHIiBdIHx8IEtDT05GSUdfQ09ORklHPSIuY29uZmln IgoraWYgWyAtZiAiJEtDT05GSUdfQ09ORklHIiBdOyB0aGVuCisgICAgZWNobyAiIyBjb25zdWx0 aW5nIEtDT05GSUdfQ09ORklHOiAkS0NPTkZJR19DT05GSUciCisgICAgZ3JlcCAtcSAiQ09ORklH X0RZTkFNSUNfREVCVUc9eSIgJEtDT05GSUdfQ09ORklHIDsgTEFDS19ERF9CVUlMVElOPSQ/Cisg ICAgZ3JlcCAtcSAiQ09ORklHX1RFU1RfRFlOQU1JQ19ERUJVRz1tIiAkS0NPTkZJR19DT05GSUcg OyBMQUNLX1RNT0Q9JD8KK2Vsc2UKKyAgICAjIGlmIG5vIGNvbmZpZywgdHJ5IHJ1bnRpbWUgcHJv YmVzCisgICAgbW9kcHJvYmUgLW4gdGVzdF9keW5hbWljX2RlYnVnIDI+L2Rldi9udWxsIDsgTEFD S19UTU9EPSQ/CisgICAgIyBhc3N1bWUgYnVpbHRpbiBkeW5kYmcgaWYgY29udHJvbCBleGlzdHMg KGNoZWNrZWQgYWJvdmUpCisgICAgTEFDS19ERF9CVUlMVElOPTAKK2ZpCisKK2Z1bmN0aW9uIHZ4 ICgpIHsKKyAgICBlY2hvICIkMSIgPiAvc3lzL21vZHVsZS9keW5hbWljX2RlYnVnL3BhcmFtZXRl cnMvdmVyYm9zZQorfQorCitmdW5jdGlvbiBkZGdyZXAgKCkgeworICAgIGdyZXAgIiQxIiAvcHJv Yy9keW5hbWljX2RlYnVnL2NvbnRyb2wKK30KKworZnVuY3Rpb24gZG9wcmludHMgKCkgeworICAg IGNhdCAvc3lzL21vZHVsZS90ZXN0X2R5bmFtaWNfZGVidWcvcGFyYW1ldGVycy9kb19wcmludHMK K30KKworZnVuY3Rpb24gZGRjbWQgKCkgeworICAgIGV4cF9leGl0X2NvZGU9MAorICAgIG51bV9h cmdzPSQjCisgICAgaWYgWyAiJHtAOiQjfSIgPSAicGFzcyIgXTsgdGhlbgorCW51bV9hcmdzPSQj LTEKKyAgICBlbGlmIFsgIiR7QDokI30iID0gImZhaWwiIF07IHRoZW4KKyAgICAgICAgbnVtX2Fy Z3M9JCMtMQorCWV4cF9leGl0X2NvZGU9MQorICAgIGZpCisgICAgYXJncz0ke0A6MTokbnVtX2Fy Z3N9CisgICAgb3V0cHV0PSQoIChlY2hvICIkYXJncyIgPiAvcHJvYy9keW5hbWljX2RlYnVnL2Nv bnRyb2wpIDI+JjEpCisgICAgZXhpdF9jb2RlPSQ/CisgICAgZXJyb3JfbXNnPSQoZWNobyAiJG91 dHB1dCIgfCBjdXQgLWQgIjoiIC1mIDUgfCBzZWQgLWUgJ3MvXltbOnNwYWNlOl1dKi8vJykKKyAg ICBoYW5kbGVfZXhpdF9jb2RlICRCQVNIX0xJTkVOTyAkRlVOQ05BTUUgJGV4aXRfY29kZSAkZXhw X2V4aXRfY29kZQorfQorCitmdW5jdGlvbiBoYW5kbGVfZXhpdF9jb2RlKCkgeworICAgIGxvY2Fs IGV4cF9leGl0X2NvZGU9MAorICAgIFsgJCMgPT0gNCBdICYmIGV4cF9leGl0X2NvZGU9JDQKKyAg ICBpZiBbICIkMyIgLW5lICRleHBfZXhpdF9jb2RlIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAi JHtSRUR9OiAkQkFTSF9TT1VSQ0U6JDEgJDIoKSBleHBlY3RlZCB0byBleGl0IHdpdGggY29kZSAk ZXhwX2V4aXRfY29kZSwgZ290ICQzIgorCVsgIiQzIiA9PSAxIF0gJiYgZWNobyAiRXJyb3I6ICck ZXJyb3JfbXNnJyIKKyAgICAgICAgZXhpdCAka3NmdF9mYWlsCisgICAgZmkKK30KKworIyAkMSAt IHBhdHRlcm4gdG8gbWF0Y2gsIHBhdHRlcm4gaW4gJDEgaXMgZW5jbG9zZWQgYnkgc3BhY2VzIGZv ciBhIG1hdGNoICIiXHMkMVxzIgorIyAkMiAtIG51bWJlciBvZiB0aW1lcyB0aGUgcGF0dGVybiBw YXNzZWQgaW4gJDEgaXMgZXhwZWN0ZWQgdG8gbWF0Y2gKKyMgJDMgLSBvcHRpb25hbCBjYW4gYmUg c2V0IGVpdGhlciB0byAiLXIiIG9yICItdiIKKyMgICAgICAgIi1yIiBtZWFucyByZWxheGVkIG1h dGNoaW5nIGluIHRoaXMgY2FzZSBwYXR0ZXJuIHByb3ZpZGVkIGluICQxIGlzIHBhc3NlZAorIyAg ICAgICBhcyBpcyB3aXRob3V0IGVuY2xvc2luZyBpdCB3aXRoIHNwYWNlcworIyAgICAgICAiLXYi IHByaW50cyBtYXRjaGluZyBsaW5lcworIyAkNCAtIG9wdGlvbmFsIHdoZW4gJDMgaXMgc2V0IHRv ICItciIgdGhlbiAkNCBjYW4gYmUgdXNlZCB0byBwYXNzICItdiIKK2Z1bmN0aW9uIGNoZWNrX21h dGNoX2N0IHsKKyAgICBwYXR0ZXJuPSJccyQxXHMiCisgICAgZXhwX2NudD0wCisKKyAgICBbICIk MyIgPT0gIi1yIiBdICYmIHBhdHRlcm49IiQxIgorICAgIGxldCBjbnQ9JChkZGdyZXAgIiRwYXR0 ZXJuIiB8IHdjIC1sKQorICAgIGlmIFsgIiRWIiAtZXEgMSBdIHx8IFsgIiQzIiA9PSAiLXYiIF0g fHwgWyAiJDQiID09ICItdiIgXTsgdGhlbgorICAgICAgICBlY2hvIC1uZSAiJHtCTFVFfSIgJiYg ZGRncmVwICIkcGF0dGVybiIgJiYgZWNobyAtbmUgIiR7TkN9IgorICAgIGZpCisgICAgWyAkIyAt Z3QgMSBdICYmIGV4cF9jbnQ9JDIKKyAgICBpZiBbICRjbnQgLW5lICRleHBfY250IF07IHRoZW4K KyAgICAgICAgZWNobyAtZSAiJHtSRUR9OiAkQkFTSF9TT1VSQ0U6JEJBU0hfTElORU5PIGNoZWNr IGZhaWxlZCBleHBlY3RlZCAkZXhwX2NudCBvbiAkMSwgZ290ICRjbnQiCisgICAgICAgIGV4aXQg JGtzZnRfZmFpbAorICAgIGVsc2UKKyAgICAgICAgZWNobyAiOiAkY250IG1hdGNoZXMgb24gJDEi CisgICAgZmkKK30KKworIyAkMSAtIHRyYWNlIGluc3RhbmNlIG5hbWUKKyMgIzIgLSBpZiA+IDAg dGhlbiBkaXJlY3RvcnkgaXMgZXhwZWN0ZWQgdG8gZXhpc3QsIGlmIDw9IDAgdGhlbiBvdGhlcndp c2UKKyMgJDMgLSAiLXYiIGZvciB2ZXJib3NlCitmdW5jdGlvbiBjaGVja190cmFjZV9pbnN0YW5j ZV9kaXIgeworICAgIGlmIFsgLWUgL3N5cy9rZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMvJDEgXTsg dGhlbgorICAgICAgICBpZiBbICIkMyIgPT0gIi12IiBdIDsgdGhlbgorICAgICAgICAgICAgZWNo byAibHMgLWwgL3N5cy9rZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMvJDE6ICIKKyAgICAgICAgICAg IGxzIC1sIC9zeXMva2VybmVsL3RyYWNpbmcvaW5zdGFuY2VzLyQxCisgICAgICAgIGZpCisJaWYg WyAiJDIiIC1sZSAwIF07IHRoZW4KKyAgICAgICAgICAgIGVjaG8gLWUgIiR7UkVEfTogJEJBU0hf U09VUkNFOiRCQVNIX0xJTkVOTyBlcnJvciB0cmFjZSBpbnN0YW5jZSBcCisJCSAgICAnL3N5cy9r ZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMvJDEnIGRvZXMgZXhpc3QiCisJICAgIGV4aXQgJGtzZnRf ZmFpbAorCWZpCisgICAgZWxzZQorCWlmIFsgIiQyIiAtZ3QgMCBdOyB0aGVuCisgICAgICAgICAg ICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NPVVJDRTokQkFTSF9MSU5FTk8gZXJyb3IgdHJhY2Ug aW5zdGFuY2UgXAorCQkgICAgJy9zeXMva2VybmVsL3RyYWNpbmcvaW5zdGFuY2VzLyQxJyBkb2Vz IG5vdCBleGlzdCIKKwkgICAgZXhpdCAka3NmdF9mYWlsCisgICAgICAgIGZpCisgICAgZmkKK30K KworZnVuY3Rpb24gdG1hcmsgeworICAgIGVjaG8gJCogPiAvc3lzL2tlcm5lbC90cmFjaW5nL3Ry YWNlX21hcmtlcgorfQorCisjICQxIC0gdHJhY2UgaW5zdGFuY2UgbmFtZQorIyAkMiAtIGxpbmUg bnVtYmVyCisjICQzIC0gaWYgPiAwIHRoZW4gdGhlIGluc3RhbmNlIGlzIGV4cGVjdGVkIHRvIGJl IG9wZW5lZCwgb3RoZXJ3aXNlCisjIHRoZSBpbnN0YW5jZSBpcyBleHBlY3RlZCB0byBiZSBjbG9z ZWQKK2Z1bmN0aW9uIGNoZWNrX3RyYWNlX2luc3RhbmNlIHsKKyAgICBvdXRwdXQ9JCh0YWlsIC1u OSAvcHJvYy9keW5hbWljX2RlYnVnL2NvbnRyb2wgfCBncmVwICI6IE9wZW5lZCB0cmFjZSBpbnN0 YW5jZXMiIFwKKwkgICAgfCB4YXJncyAtbjEgfCBncmVwICQxKQorICAgIGlmIFsgIiRvdXRwdXQi ICE9ICIkMSIgXSAmJiBbICQzIC1ndCAwIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9 OiAkQkFTSF9TT1VSQ0U6JDIgdHJhY2UgaW5zdGFuY2UgJDEgaXMgbm90IG9wZW5lZCIKKyAgICAg ICAgZXhpdCAka3NmdF9mYWlsCisgICAgZmkKKyAgICBpZiBbICIkb3V0cHV0IiA9PSAiJDEiIF0g JiYgWyAkMyAtbGUgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gLWUgIiR7UkVEfTogJEJBU0hfU09V UkNFOiQyIHRyYWNlIGluc3RhbmNlICQxIGlzIG5vdCBjbG9zZWQiCisgICAgICAgIGV4aXQgJGtz ZnRfZmFpbAorICAgIGZpCit9CisKK2Z1bmN0aW9uIGlzX3RyYWNlX2luc3RhbmNlX29wZW5lZCB7 CisgICAgY2hlY2tfdHJhY2VfaW5zdGFuY2UgIiQxIiAkQkFTSF9MSU5FTk8gMQorfQorCitmdW5j dGlvbiBpc190cmFjZV9pbnN0YW5jZV9jbG9zZWQgeworICAgIGNoZWNrX3RyYWNlX2luc3RhbmNl ICIkMSIgJEJBU0hfTElORU5PIDAKK30KKworIyAkMSAtIHRyYWNlIGluc3RhbmNlIGRpcmVjdG9y eSB0byBkZWxldGUKKyMgJDIgLSBpZiA+IDAgdGhlbiBkaXJlY3RvcnkgaXMgZXhwZWN0ZWQgdG8g YmUgZGVsZXRlZCBzdWNjZXNzZnVsbHksIGlmIDw9IDAgdGhlbiBvdGhlcndpc2UKK2Z1bmN0aW9u IGRlbF90cmFjZV9pbnN0YW5jZV9kaXIoKSB7CisgICAgZXhwX2V4aXRfY29kZT0xCisgICAgWyAi JDIiIC1ndCAwIF0gJiYgZXhwX2V4aXRfY29kZT0wCisgICAgb3V0cHV0PSQoIChybWRpciAvc3lz L2tlcm5lbC90cmFjaW5nL2luc3RhbmNlcy8kMSkgMj4mMSkKKyAgICBleGl0X2NvZGU9JD8KKyAg ICBlcnJvcl9tc2c9JChlY2hvICIkb3V0cHV0IiB8IGN1dCAtZCAiOiIgLWYgMyB8IHNlZCAtZSAn cy9eW1s6c3BhY2U6XV0qLy8nKQorICAgIGhhbmRsZV9leGl0X2NvZGUgJEJBU0hfTElORU5PICRG VU5DTkFNRSAkZXhpdF9jb2RlICRleHBfZXhpdF9jb2RlCit9CisKK2Z1bmN0aW9uIGVycm9yX2xv Z19yZWYgeworICAgICMgdG8gc2hvdyB3aGF0IEkgZ290CisgICAgOiBlY2hvICIjIGVycm9yLWxv Zy1yZWY6ICQxIgorICAgIDogZWNobyBjYXQgXCQyCit9CisKK2Z1bmN0aW9uIGlmcm1tb2Qgewor ICAgIGxzbW9kIHwgZ3JlcCAiJDEiIDI+JjE+L2Rldi9udWxsICYmIHJtbW9kICQxCit9CisKKyMg JDEgLSB0ZXh0IHRvIHNlYXJjaCBmb3IKK2Z1bmN0aW9uIHNlYXJjaF90cmFjZSgpIHsKKyAgICBz ZWFyY2hfdHJhY2VfbmFtZSAwIDEgIiQxIgorfQorCisjICQxIC0gdHJhY2UgaW5zdGFuY2UgbmFt ZSwgMCBmb3IgZ2xvYmFsIGV2ZW50IHRyYWNlCisjICQyIC0gbGluZSBudW1iZXIgY291bnRpbmcg ZnJvbSB0aGUgYm90dG9tCisjICQzIC0gdGV4dCB0byBzZWFyY2ggZm9yCitmdW5jdGlvbiBzZWFy Y2hfdHJhY2VfbmFtZSgpIHsKKwlpZiBbICIkMSIgPSAiMCIgXTsgdGhlbgorCSAgICBidWY9JChj YXQgL3N5cy9rZXJuZWwvdHJhY2luZy90cmFjZSkKKwkgICAgbGluZT0kKHRhaWwgLSQyIC9zeXMv a2VybmVsL3RyYWNpbmcvdHJhY2UgfCBoZWFkIC0xIHwgc2VkIC1lICdzL15bWzpzcGFjZTpdXSov LycpCisJZWxzZQorCSAgICBidWY9JChjYXQgL3N5cy9rZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMv JDEvdHJhY2UpCisJICAgIGxpbmU9JCh0YWlsIC0kMiAvc3lzL2tlcm5lbC90cmFjaW5nL2luc3Rh bmNlcy8kMS90cmFjZSB8IGhlYWQgLTEgfCBcCisJCSAgIHNlZCAtZSAncy9eW1s6c3BhY2U6XV0q Ly8nKQorCWZpCisJaWYgWyAiJDIiID0gMCBdOyB0aGVuCisJICAgICMgd2hvbGUtYnVmIGNoZWNr CisJICAgIG91dHB1dD0kKGVjaG8gIiRidWYiIHwgZ3JlcCAiJDMiKQorCWVsc2UKKwkgICAgb3V0 cHV0PSQoZWNobyAiJGxpbmUiIHwgZ3JlcCAiJDMiKQorCWZpCisJaWYgWyAiJG91dHB1dCIgPSAi IiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NPVVJDRTokQkFT SF9MSU5FTk8gc2VhcmNoIGZvciAnJDMnIGZhaWxlZCBcCisJCSAgICBpbiBsaW5lICckbGluZScg b3IgJyRidWYnIgorCSAgICBleGl0ICRrc2Z0X2ZhaWwKKwlmaQorCWlmIFsgIiRWIiA9IDEgXTsg dGhlbgorCSAgICBlY2hvIC1lICIke01BR0VOVEF9OiBzZWFyY2hfdHJhY2VfbmFtZSBpbiAkMSBm b3VuZDogXG4kb3V0cHV0IFxuaW46JHtCTFVFfSAkYnVmICR7TkN9IgorICAgICAgICBmaQorfQor CisjICQxIC0gZXJyb3IgbWVzc2FnZSB0byBjaGVjaworZnVuY3Rpb24gY2hlY2tfZXJyX21zZygp IHsKKyAgICBpZiBbICIkZXJyb3JfbXNnIiAhPSAiJDEiIF07IHRoZW4KKyAgICAgICAgZWNobyAt ZSAiJHtSRUR9OiAkQkFTSF9TT1VSQ0U6JEJBU0hfTElORU5PIGVycm9yIG1lc3NhZ2UgJyRlcnJv cl9tc2cnIFwKKwkJZG9lcyBub3QgbWF0Y2ggd2l0aCAnJDEnIgorICAgICAgICBleGl0ICRrc2Z0 X2ZhaWwKKyAgICBmaQorfQorCitmdW5jdGlvbiBiYXNpY190ZXN0cyB7CisgICAgZWNobyAtZSAi JHtHUkVFTn0jIEJBU0lDX1RFU1RTICR7TkN9IgorICAgIGlmIFsgJExBQ0tfRERfQlVJTFRJTiAt ZXEgMSBdOyB0aGVuCisJZWNobyAiU0tJUCIKKwlleGl0ICRrc2Z0X3NraXAKKyAgICBmaQorICAg IGRkY21kID1fICMgemVybyBldmVyeXRoaW5nCisgICAgY2hlY2tfbWF0Y2hfY3QgPXAgMAorCisg ICAgIyBtb2R1bGUgcGFyYW1zIGFyZSBidWlsdGluIHRvIGhhbmRsZSBib290IGFyZ3MKKyAgICBj aGVja19tYXRjaF9jdCAnXFtwYXJhbXNcXScgNCAtcgorICAgIGRkY21kIG1vZHVsZSBwYXJhbXMg K21wZgorICAgIGNoZWNrX21hdGNoX2N0ID1wbWYgNAorCisgICAgIyBtdWx0aS1jbWQgaW5wdXQs IG5ld2xpbmUgc2VwYXJhdGVkLCB3aXRoIGVtYmVkZGVkIGNvbW1lbnRzCisgICAgY2F0IDw8IkVP RiIgPiAvcHJvYy9keW5hbWljX2RlYnVnL2NvbnRyb2wKKyAgICAgIG1vZHVsZSBwYXJhbXMgPV8J CQkJIyBjbGVhciBwYXJhbXMKKyAgICAgIG1vZHVsZSBwYXJhbXMgK21mCQkJCSMgc2V0IGZsYWdz CisgICAgICBtb2R1bGUgcGFyYW1zIGZ1bmMgcGFyc2VfYXJncyArc2wJCSMgb3RoZXIgZmxhZ3MK K0VPRgorICAgIGNoZWNrX21hdGNoX2N0ID1tZiAzCisgICAgY2hlY2tfbWF0Y2hfY3QgPW1mc2wg MQorICAgIGRkY21kID1fCit9CisKK3Rlc3RzX2xpc3Q9KAorICAgIGJhc2ljX3Rlc3RzCispCisK KyMgUnVuIHRlc3RzCisKK2lmcm1tb2QgdGVzdF9keW5hbWljX2RlYnVnCisKK2ZvciB0ZXN0IGlu ICIke3Rlc3RzX2xpc3RbQF19IgorZG8KKyAgICAkdGVzdAorICAgIGVjaG8gIiIKK2RvbmUKK2Vj aG8gLWVuICIke0dSRUVOfSMgRG9uZSBvbjogIgorZGF0ZQorZWNobyAtZW4gIiR7TkN9IgorCitl eGl0ICRrc2Z0X3Bhc3MKCi0tIAoyLjU0LjAKCg==