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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 E533DCCF2E3 for ; Mon, 19 Oct 2026 14:02:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IzRc/+DQTEdUvOUPtBG4nrizc1PjFVj3IME+SXVq3uM=; b=o9ztWaqLSwyNsC tWCrtFTSUfrSjmq9EU/Oy4wWMxCmSk9FBhdcXmzs45FSrR/bD2ZI0g2pKwbxtU+lTfDC4b2j7YEpB fh4MJAOnOH6FdJKZfa/BpCBBXsEqC10fJIVYz4fpJuBDAdKpHD2DjGM0eXNO/mLlyovjZ6PeRAbbp LTAWBNfVNimr7eQtxDEU2K7O5jlvJPkpOvtHKsVHepJcFA3yy++DZPQ/7dxmfOnagTKab7w7DTzzb ty63M+wrCf02gWP+mYsUftqRs2vdMok+O3h8bWhq4sSr7pR0KoJLECnuMd0y+rhSGPN0Fczz0bIlz 14FiNzXaPsGSdYKrdi4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xInwe-00000007eC2-25Td; Mon, 19 Oct 2026 14:02:32 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xInwc-00000007eAI-3oCK for linux-riscv@lists.infradead.org; Mon, 19 Oct 2026 14:02:31 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id A6AFC403F6; Mon, 19 Oct 2026 14:02:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B97B1F000C7; Mon, 19 Oct 2026 14:02:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792418550; bh=2XmanlZG9q0IdIO4ab4S5QYrOQ1uC6J3c0FBqZkNBk0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=AarvYVGaSyVcMYvNA6oH+H0Ne0hgsaOtT1iJrElTxAlzDIgucgZesAxTewmdJQ6FG YYTdXOdfvgSmcfwkpT6r3UBUKzLE2VonrH4SMEnfofgTbSgxjX3eJjOaxDIdiwLEBt 7wyPI53ucaj6M2iN0hKeub7yrASL9buSirEb8e8E3Ib6Ul4YqSVIh322/+n3uCRVdk 8m4eEu2jNvg/MNpTZNf3bjRywNL6q3ViTno/S/BvXmBeWjLTpyk1R2wh7ZjQViOegc TF0ey0VY7BMGYzcNHfrb32A/PFE8fhPe0UgrhXq8/SogKo211HqwUcLG7Yk6EEJqqH QHKlaQZo1ZT7g== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Pengpeng Hou , Bartosz Golaszewski , Sasha Levin , linusw@kernel.org, brgl@kernel.org, pjw@kernel.org, samuel.holland@sifive.com, linux-gpio@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.18-6.1] gpio: sifive: add missing MODULE_DEVICE_TABLE() Date: Mon, 19 Oct 2026 09:50:19 -0400 Message-ID: <20261019135441.1420968-328-sashal@kernel.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261019135441.1420968-1-sashal@kernel.org> References: <20261019135441.1420968-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.18.57 X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RnJvbTogUGVuZ3BlbmcgSG91IDxwZW5ncGVuZ0Bpc2Nhcy5hYy5jbj4KClsgVXBzdHJlYW0gY29t bWl0IDhmZTZmYTBmMjIzZjQ0YjhiODY5MzE5ZDFiOWMzODM3NDlhYTE0N2IgXQoKVGhlIGRyaXZl ciBoYXMgYW4gT0YgbWF0Y2ggdGFibGUgd2lyZWQgdG8gLm9mX21hdGNoX3RhYmxlLCBidXQgZG9l cwpub3QgZXhwb3J0IHRoZSB0YWJsZSB3aXRoIE1PRFVMRV9ERVZJQ0VfVEFCTEUoKS4KCkFkZCB0 aGUgbWlzc2luZyBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCAuLi4pIGVudHJ5IHNvIG1vZHVsZSBh bGlhcwppbmZvcm1hdGlvbiBpcyBnZW5lcmF0ZWQgZm9yIE9GIGJhc2VkIG1vZHVsZSBhdXRvbG9h ZGluZy4KClRoaXMgaXMgYSBzb3VyY2UtbGV2ZWwgZml4LiAgSXQgZG9lcyBub3QgY2xhaW0gZHlu YW1pYyBoYXJkd2FyZQpyZXByb2R1Y3Rpb247IHRoZSBldmlkZW5jZSBpcyB0aGUgZHJpdmVyLW93 bmVkIG1hdGNoIHRhYmxlLCBpdHMgdXNlIGJ5CnRoZSBwbGF0Zm9ybSBkcml2ZXIsIGFuZCB0aGUg bWlzc2luZyBtb2R1bGUgYWxpYXMgcHVibGljYXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBQZW5ncGVu ZyBIb3UgPHBlbmdwZW5nQGlzY2FzLmFjLmNuPgpMaW5rOiBodHRwczovL3BhdGNoLm1zZ2lkLmxp bmsvMjAyNjA3MDQxMjIyMzAuNzU5NjQtMS1wZW5ncGVuZ0Bpc2Nhcy5hYy5jbgpTaWduZWQtb2Zm LWJ5OiBCYXJ0b3N6IEdvbGFzemV3c2tpIDxiYXJ0b3N6LmdvbGFzemV3c2tpQG9zcy5xdWFsY29t bS5jb20+ClNpZ25lZC1vZmYtYnk6IFNhc2hhIExldmluIDxzYXNoYWxAa2VybmVsLm9yZz4KLS0t CgpMTE0gR2VuZXJhdGVkIGV4cGxhbmF0aW9ucywgbWF5IGJlIGNvbXBsZXRlbHkgYm9ndXM6CgpJ IGhhdmUgdGhlIGxvY2FsLXRyZWUgaWRlbnRpdHksIHRoZSBvbmUtbGluZSBkaWZmLCBhbmQgdGhl IG1haWxpbmctbGlzdAp0aHJlYWQsIGluY2x1ZGluZyB0aGUgR1BJTyBtYWludGFpbmVyIGFza2lu ZyBmb3IgYSBgRml4ZXM6YC9gQ2M6IHN0YWJsZWAKcmVzZW5kLiBDb21waWxpbmcgdGhlIG5pbmUt cGhhc2UgdmVyZGljdCBuZXh0LgoKIyMgUGhhc2UgMTogQ29tbWl0IG1lc3NhZ2UgZm9yZW5zaWNz CgoqKlN0ZXAgMS4xOiBTdWJqZWN0IGxpbmUqKgotIFJlY29yZDogYFtncGlvXSBbYWRkXSBhZGQg bWlzc2luZyBNT0RVTEVfREVWSUNFX1RBQkxFKCkgc28gT0YgbW9kdWxlCiAgYWxpYXNlcyBhcmUg Z2VuZXJhdGVkYAoKKipTdGVwIDEuMjogVGFncyoqCi0gUmVjb3JkOgogIC0gYEZpeGVzOmAg4oCU IG5vbmUgKGV4cGVjdGVkKQogIC0gYFJlcG9ydGVkLWJ5OmAg4oCUIG5vbmUKICAtIGBUZXN0ZWQt Ynk6YCDigJQgbm9uZQogIC0gYFJldmlld2VkLWJ5OmAg4oCUIG5vbmUgb24gdGhlIGFwcGxpZWQg Y29tbWl0CiAgLSBgQWNrZWQtYnk6YCDigJQgbm9uZQogIC0gYExpbms6IGh0dHBzOi8vcGF0Y2gu bXNnaWQubGluay8yMDI2MDcwNDEyMjIzMC43NTk2NC0xLQogICAgcGVuZ3BlbmdAaXNjYXMuYWMu Y25gCiAgLSBgQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmdgIOKAlCBub25lIChleHBlY3RlZCkK ICAtIGBTaWduZWQtb2ZmLWJ5OiBQZW5ncGVuZyBIb3UgPHBlbmdwZW5nQGlzY2FzLmFjLmNuPmAg KGF1dGhvcikKICAtIGBTaWduZWQtb2ZmLWJ5OiBCYXJ0b3N6IEdvbGFzemV3c2tpCiAgICA8YmFy dG9zei5nb2xhc3pld3NraUBvc3MucXVhbGNvbW0uY29tPmAgKEdQSU8gbWFpbnRhaW5lciwgY29t bWl0dGVyKQogIC0gTm90YWJsZTogbm8gc3l6Ym90LCBubyB1c2VyIGNyYXNoIHJlcG9ydC4gTWFp bnRhaW5lciBTT0IgaXMgYQogICAgcXVhbGl0eSBzaWduYWwuCgoqKlN0ZXAgMS4zOiBCb2R5KioK LSBSZWNvcmQ6ICoqQnVnOioqIGBzaWZpdmVfZ3Bpb19tYXRjaFtdYCBpcyB3aXJlZCB0byBgLm9m X21hdGNoX3RhYmxlYAogIGJ1dCBub3QgcHVibGlzaGVkIHZpYSBgTU9EVUxFX0RFVklDRV9UQUJM RSgpYCwgc28gbW9kcG9zdCBkb2VzIG5vdAogIGVtaXQgT0YgYWxpYXNlcy4gKipTeW1wdG9tOioq IGBncGlvLXNpZml2ZS5rb2AgZG9lcyBub3QgYXV0b2xvYWQgZnJvbQogIERUIGNvbXBhdGlibGUg c3RyaW5ncyAoYHNpZml2ZSxncGlvMGAsIGBzaWZpdmUsZnU1NDAtYzAwMC1ncGlvYCkuCiAgKipW ZXJzaW9uIGluZm86Kiogbm9uZSBpbiB0aGUgbWVzc2FnZS4gKipSb290IGNhdXNlOioqIG1pc3Np bmcgbW9kdWxlLQogIGFsaWFzIHB1YmxpY2F0aW9uLCBub3QgYSBydW50aW1lIGxvZ2ljIGVycm9y IGluIHByb2JlLiBUaGUg4oCcc291cmNlLQogIGxldmVsIGZpeCAvIG5vIGR5bmFtaWMgaGFyZHdh cmUgcmVwcm9kdWN0aW9u4oCdIHdvcmRpbmcgaXMgZXh0cmEKICBqdXN0aWZpY2F0aW9uLCBub3Qg YSBkaWZmZXJlbnQgYnVnLgoKKipTdGVwIDEuNDogSGlkZGVuIGJ1ZyBmaXg/KioKLSBSZWNvcmQ6 IE5vdCBoaWRkZW4uIFRoaXMgaXMgYW4gZXhwbGljaXQgYXV0b2xvYWQgZml4LiDigJxBZGQgbWlz c2luZwogIE1PRFVMRV9ERVZJQ0VfVEFCTEXigJ0gaXMgYSBzdGFuZGFyZCBjbGFzcyBvZiByZWFs IGZ1bmN0aW9uYWwgYnVncyBmb3IKICBgdHJpc3RhdGVgIE9GIGRyaXZlcnMuCgojIyBQaGFzZSAy OiBEaWZmIGFuYWx5c2lzCgoqKlN0ZXAgMi4xOiBJbnZlbnRvcnkqKgotIFJlY29yZDogYGRyaXZl cnMvZ3Bpby9ncGlvLXNpZml2ZS5jYCDigJQgKiorMSAvIC0wKiouIE9uZSBpbnNlcnRpb24KICBh ZnRlciBgc2lmaXZlX2dwaW9fbWF0Y2hbXWAuIE5vIGZ1bmN0aW9ucyBjaGFuZ2VkLiAqKlNjb3Bl OioqIHNpbmdsZS0KICBmaWxlIHN1cmdpY2FsIGZpeC4KCioqU3RlcCAyLjI6IENvZGUgZmxvdyoq Ci0gUmVjb3JkOiAqKkJlZm9yZToqKiBPRiBtYXRjaCB0YWJsZSBleGlzdHMgYW5kIGlzIHVzZWQg YnkKICBgcGxhdGZvcm1fZHJpdmVyLmRyaXZlci5vZl9tYXRjaF90YWJsZWAsIHNvIGEgKmFscmVh ZHkgbG9hZGVkKiBkcml2ZXIKICBzdGlsbCBiaW5kcy4gTm8gYF9fbW9kX2RldmljZV90YWJsZV9f KmAgYWxpYXMgaXMgZW1pdHRlZCwgc28ga21vZC91ZGV2CiAgY2Fubm90IGxvYWQgdGhlIG1vZHVs ZSBmcm9tIERULiAqKkFmdGVyOioqIGBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLAogIHNpZml2ZV9n cGlvX21hdGNoKWAgY3JlYXRlcyBhIHVzZWQgYWxpYXMgdG8gdGhhdCB0YWJsZTsKICBgc2NyaXB0 cy9tb2QvZmlsZTJhbGlhcy5jYCAoYGRvX29mX2VudHJ5YCkgZW1pdHMKICBgb2Y6TipUKkNzaWZp dmUsZ3BpbzBgIC8gYHNpZml2ZSxmdTU0MC1jMDAwLWdwaW9gIGFsaWFzZXMuICoqUGF0aAogIGFm ZmVjdGVkOioqIGJ1aWxkLXRpbWUgbW9kcG9zdCAvIHVzZXJzcGFjZSBhdXRvbG9hZCBvbmx5LiBQ cm9iZSBhbmQKICBJUlEgc2V0dXAgYXJlIHVuY2hhbmdlZC4KCioqU3RlcCAyLjM6IEJ1ZyBtZWNo YW5pc20qKgotIFJlY29yZDogKipDYXRlZ29yeToqKiBoYXJkd2FyZSBlbmFibGVtZW50IC8gbWlz c2luZyBtb2R1bGUgYWxpYXMKICAobG9naWMvY29ycmVjdG5lc3MgYXQgdGhlIG1vZHVsZS1sb2Fk aW5nIGJvdW5kYXJ5KS4gKipNZWNoYW5pc206KioKICBgQ09ORklHX0dQSU9fU0lGSVZFPW1gIG5l dmVyIGF1dG9sb2FkczsgR1BJTyBjb250cm9sbGVyIHN0YXlzIHVuYm91bmQKICB1bmxlc3MgYG1v ZHByb2JlYCBpcyBkb25lIGJ5IGhhbmQuIFNhbWUgY2xhc3MgYXMgZGV2aWNlLUlEIGFkZGl0aW9u czoKICBleGlzdGluZyBkcml2ZXIsIGV4aXN0aW5nIGhhcmR3YXJlLCBtaXNzaW5nIG1hdGNoIHB1 YmxpY2F0aW9uLgoKKipTdGVwIDIuNDogRml4IHF1YWxpdHkqKgotIFJlY29yZDogT2J2aW91c2x5 IGNvcnJlY3Qgb25lLWxpbmVyOyB0aGlzIGlzIHRoZSBkb2N1bWVudGVkIHdheSB0bwogIGV4cG9y dCBPRiBhbGlhc2VzLiBObyBsb2NraW5nLCBubyBBUEksIG5vIGRhdGEtc3RydWN0dXJlIGNoYW5n ZS4KICAqKlJlZ3Jlc3Npb24gcmlzazoqKiBuZWdsaWdpYmxlLiBGb3IgYD15YCBpdCBpcyBhIG5v LW9wIGF0IHJ1bnRpbWUuIE5vCiAgbmV3IHVzZXJzcGFjZSBBQkkgYmV5b25kIHN0YW5kYXJkIGBt b2R1bGVzLmFsaWFzYCBlbnRyaWVzLgoKIyMgUGhhc2UgMzogR2l0IGhpc3RvcnkKCioqU3RlcCAz LjE6IEJsYW1lKioKLSBSZWNvcmQ6IE1hdGNoIHRhYmxlIGludHJvZHVjZWQgaW4gYDk2ODY4ZGNl NjQ0ZDBgICjigJxncGlvL3NpZml2ZTogQWRkCiAgR1BJTyBkcml2ZXIgZm9yIFNpRml2ZSBTb0Nz 4oCdLCAyMDE5OyBpbiBgdjUuNS1yYzRgKS4gT3JpZ2luYWxseSBgYm9vbGAKICArIGBidWlsdGlu X3BsYXRmb3JtX2RyaXZlcigpYCwgc28gYE1PRFVMRV9ERVZJQ0VfVEFCTEVgIHdhcyBub3QKICBy ZXF1aXJlZC4gQnVnIGJlY2FtZSByZWFsIGluIGA2YjRjNzZkZWQzNTgyNmAgKOKAnGdwaW86IHNp Zml2ZTogQWxsb3cKICBidWlsZGluZyB0aGUgZHJpdmVyIGFzIGEgbW9kdWxl4oCdLCAyMDIzLTA3 LTI1KSB3aGljaCBzd2l0Y2hlZCBLY29uZmlnCiAgdG8gYHRyaXN0YXRlYCBhbmQgYG1vZHVsZV9w bGF0Zm9ybV9kcml2ZXIoKWAgKip3aXRob3V0KiogYWRkaW5nCiAgYE1PRFVMRV9ERVZJQ0VfVEFC TEVgLiBUaGF0IGNvbW1pdCBpcyBpbiBgdjYuNi1yYzFgIGFuZCBsYXRlci4KICBgb2ZfbWF0Y2hf dGFibGUgPSBzaWZpdmVfZ3Bpb19tYXRjaGAgY29uZmlybWVkIHZpYSBibGFtZQogIChgNmFlNDI1 Mjk1NDdhNGZgIGRyb3BwZWQgYG9mX21hdGNoX3B0cmAgaW4gMjAyMykuCgoqKlN0ZXAgMy4yOiBG aXhlczogdGFnKioKLSBSZWNvcmQ6IE5vIGBGaXhlczpgIG9uIHRoZSBjYW5kaWRhdGUuIFRoZSBp bXBsaWNpdCBGaXhlcyB0YXJnZXQgaXMKICBgNmI0Yzc2ZGVkMzU4MjZgLCB3aGljaCAqKmlzKiog YW4gYW5jZXN0b3Igb2YgdGhpcyB0cmVlIChgZ2l0IG1lcmdlLQogIGJhc2UgLS1pcy1hbmNlc3Rv cmAgc3VjY2VlZGVkKS4gR1BJTyBtYWludGFpbmVyIEJhcnRvc3ogc2FpZCB0aGUgc2FtZQogIG9u IGxpc3QgKFBoYXNlIDQpLgoKKipTdGVwIDMuMzogRmlsZSBoaXN0b3J5KioKLSBSZWNvcmQ6IFJl Y2VudCBgZ3Bpby1zaWZpdmUuY2Agd29yayBpcyBnZW5lcmljLWNoaXAgQVBJCiAgKGA4ZTFjOGNj YzFkZjhiYCkgYW5kIHRoZSBtb2R1bGFyIGNvbnZlcnNpb24uIE5vIHByZXJlcXVpc2l0ZSBzZXJp ZXMKICBmb3IgdGhpcyBvbmUgbGluZS4gU3RhbmRhbG9uZS4KCioqU3RlcCAzLjQ6IEF1dGhvcioq Ci0gUmVjb3JkOiBQZW5ncGVuZyBIb3UgaXMgbm90IHRoZSBHUElPIG1haW50YWluZXI7IHNhbWUt ZGF5IHNpYmxpbmcKICBgOTc1YTFkNjEyNjBjZmAgKOKAnGdwaW86IHZmNjEwOiBhZGQgbWlzc2lu ZyBNT0RVTEVfREVWSUNFX1RBQkxFKCnigJ0pLgogIFNhbXVlbCBIb2xsYW5kIChTaUZpdmUsIGF1 dGhvciBvZiB0aGUgbW9kdWxhciBjb252ZXJzaW9uKSBzZW50IHRoZQogIGlkZW50aWNhbCBvbmUt bGluZSBjaGFuZ2UgZWFybGllciAoT2N0IDIwMjUpIGFzIOKAnFN1cHBvcnQgbW9kdWxlCiAgYXV0 b2xvYWRpbmfigJ0uCgoqKlN0ZXAgMy41OiBEZXBlbmRlbmNpZXMqKgotIFJlY29yZDogTmVlZHMg YHNpZml2ZV9ncGlvX21hdGNoW11gLCBgbW9kdWxlX3BsYXRmb3JtX2RyaXZlcigpYCwgYW5kCiAg YE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIC4uLilgLiBBbGwgZXhpc3QgaW4gdGhpcyBjaGVja291 dC4gQXBwbGllcwogIHN0YW5kYWxvbmUuCgojIyBQaGFzZSA0OiBNYWlsaW5nIGxpc3QgLyBleHRl cm5hbAoKKipTdGVwIDQuMTogT3JpZ2luYWwgZGlzY3Vzc2lvbioqCi0gUmVjb3JkOiBgYjQgZGln IC1jIDhmZTZmYTBmMjIzZjQ0YCBtYXRjaGVkIHBhdGNoLWlkIHRvOgogIC0gdjEgKGFwcGxpZWQp OgogICAgaHR0cHM6Ly9wYXRjaC5tc2dpZC5saW5rLzIwMjYwNzA0MTIyMjMwLjc1OTY0LTEtcGVu Z3BlbmdAaXNjYXMuYWMuY24KICAgICgyMDI2LTA3LTA0LCBQZW5ncGVuZyBIb3UpCiAgLSBTYW1l IGRpZmYsIGVhcmxpZXI6IGh0dHBzOi8vcGF0Y2gubXNnaWQubGluay8yMDI1MTAxNjAwMzYzMS4z OTEyNTIzLQogICAgMS1zYW11ZWwuaG9sbGFuZEBzaWZpdmUuY29tICgyMDI1LTEwLTE1LCBTYW11 ZWwgSG9sbGFuZCkKLSBTaW5nbGUgcmV2aXNpb24gb2YgUGVuZ3BlbmfigJlzIHBhdGNoLiBCYXJ0 b3N6OiDigJxBcHBsaWVkLCB0aGFua3Mh4oCdCiAgKDIwMjYtMDctMDYpLiBObyBOQUsuCi0gT24g U2FtdWVs4oCZcyBlYXJsaWVyIHBvc3QsIEJhcnRvc3ogd3JvdGUgaXQgc2hvdWxkIGhhdmUgYmVl biBwYXJ0IG9mCiAgYDZiNGM3NmRlZDM1OGAgYW5kIGFza2VkIGhpbSB0byAqKnJlc2VuZCB3aXRo IGBGaXhlczpgIGFuZCBgQ2M6CiAgc3RhYmxlYCoqLiBUaGF0IHJlc2VuZCBkaWQgbm90IGxhbmQ7 IFBlbmdwZW5n4oCZcyBsYXRlciBwYXRjaCAod2l0aG91dAogIHRob3NlIHRhZ3MpIHdhcyBhcHBs aWVkIGluc3RlYWQuCgoqKlN0ZXAgNC4yOiBSZWNpcGllbnRzIChgYjQgZGlnIC13YCkqKgotIFJl Y29yZDogUGVuZ3BlbmcgSG91LCBMaW51cyBXYWxsZWlqLCBCYXJ0b3N6IEdvbGFzemV3c2tpLCBQ YXVsCiAgV2FsbXNsZXksIFNhbXVlbCBIb2xsYW5kLCBgbGludXgtZ3Bpb2AsIGBsaW51eC1yaXNj dmAsIGBsaW51eC1rZXJuZWxgLgogIEdQSU8gbWFpbnRhaW5lcnMgd2VyZSBvbiBUby9DYy4KCioq U3RlcCA0LjM6IEJ1ZyByZXBvcnQqKgotIFJlY29yZDogTm8gc3l6Ym90L2J1Z3ppbGxhLiBFdmlk ZW5jZSBpcyBzb3VyY2UtbGV2ZWwgcGx1cyB2ZW5kb3IKICAoU2lGaXZlKSBzZW5kaW5nIHRoZSBz YW1lIHBhdGNoLiBObyBjb3VudCBvZiBmaWVsZCByZXBvcnRzLgoKKipTdGVwIDQuNDogU2VyaWVz KioKLSBSZWNvcmQ6IFN0YW5kYWxvbmUgMS8xLiBTaWJsaW5nIHZmNjEwIGZpeCBpcyBhIHNlcGFy YXRlIGRyaXZlciwgbm90IGEKICBkZXBlbmRlbmN5LgoKKipTdGVwIDQuNTogU3RhYmxlIGxpc3Qq KgotIFJlY29yZDogbG9yZS5rZXJuZWwub3JnIHZpYSBXZWJGZXRjaCByZXR1cm5lZCA0MDMuIFN0 YWJsZS1saXN0IHNlYXJjaAogICoqVU5WRVJJRklFRCoqIGJ5IEhUVFAuIE1haW50YWluZXIgcmVx dWVzdCBmb3IgYENjOiBzdGFibGVgIGlzIGZyb20KICBgbGludXgtZ3Bpb2AgbWJveCwgbm90IGZy b20gYHN0YWJsZUBgLgoKIyMgUGhhc2UgNTogU2VtYW50aWMgYW5hbHlzaXMKCioqU3RlcCA1LjE6 IEZ1bmN0aW9ucyoqCi0gUmVjb3JkOiBObyBmdW5jdGlvbnMgbW9kaWZpZWQuIEFkZGVkIGBNT0RV TEVfREVWSUNFX1RBQkxFKG9mLAogIHNpZml2ZV9ncGlvX21hdGNoKWAgYWZ0ZXIgYHNpZml2ZV9n cGlvX21hdGNoW11gLiBSZWxhdGVkIHN5bWJvbHM6CiAgYHNpZml2ZV9ncGlvX3Byb2JlYCwgYHNp Zml2ZV9ncGlvX2RyaXZlcmAuCgoqKlN0ZXAgNS4yOiBDYWxsZXJzKioKLSBSZWNvcmQ6IGBzaWZp dmVfZ3Bpb19wcm9iZWAgaXMgdGhlIHBsYXRmb3JtIGAucHJvYmVgLiBEcml2ZXIgY29yZQogIGNh bGxzIGl0IHdoZW4gT0YgY29tcGF0aWJsZSBtYXRjaGVzICoqYW5kIHRoZSBtb2R1bGUgaXMgYWxy ZWFkeQogIGxvYWRlZCoqLiBBdXRvbG9hZCBpcyB1c2Vyc3BhY2UgKGttb2QpIHVzaW5nIGFsaWFz ZXMgZnJvbQogIGBNT0RVTEVfREVWSUNFX1RBQkxFYC4gTm90IElSUS9ob3QtcGF0aC4KCioqU3Rl cCA1LjM6IENhbGxlZXMqKgotIFJlY29yZDogVW5jaGFuZ2VkLiBQcm9iZSBzdGlsbCB1c2VzIGdl bmVyaWMgR1BJTyArIGlycWNoaXAKICByZWdpc3RyYXRpb24uCgoqKlN0ZXAgNS40OiBSZWFjaGFi aWxpdHkqKgotIFJlY29yZDogUmVhY2hhYmxlIG9uIFNpRml2ZSBGVTU0MC9GVTc0MCBhbmQgQ2Fu YWFuIEsyMTAgRFQKICAoYGNvbXBhdGlibGUgPSAic2lmaXZlLGdwaW8wImAgLyBgInNpZml2ZSxm dTU0MC1jMDAwLWdwaW8iYCkuCiAgVXNlcnNwYWNlLXZpc2libGU6IHdpdGhvdXQgYWxpYXNlcywg R1BJTyBuZXZlciBhcHBlYXJzIHVubGVzcyB0aGUKICBtb2R1bGUgaXMgZm9yY2VkLiBOb3QgYSBz eXNjYWxsIGNyYXNoIHBhdGguCgoqKlN0ZXAgNS41OiBTaW1pbGFyIHBhdHRlcm5zKioKLSBSZWNv cmQ6IFNhbWUgcGF0dGVybiBpbi10cmVlOiBgZ3BpbzogbHBjMzJ4eDogZml4IG1vZHVsZSBhdXRv bG9hZGluZ2AsCiAgYGdwaW86IG1vZGVwaW46IEVuYWJsZSBtb2R1bGUgYXV0b2xvYWRpbmdgLCBg Z3BpbzogdmY2MTA6IGFkZCBtaXNzaW5nCiAgTU9EVUxFX0RFVklDRV9UQUJMRSgpYCwgYGdwaW86 IGNhZGVuY2U6IEFkZCBtaXNzaW5nCiAgTU9EVUxFX0RFVklDRV9UQUJMRWAuIEVzdGFibGlzaGVk IEdQSU8tc3Vic3lzdGVtIHByYWN0aWNlLgoKIyMgUGhhc2UgNjogTG9jYWwgdHJlZSAodGhpcyBj aGVja291dCBvbmx5KQoKKipTdGVwIDYuMTogQnVnZ3kgY29kZSBpbiB0aGlzIHRyZWU/KioKLSBS ZWNvcmQ6IENoZWNrb3V0IGlzICoqTGludXMgYG9yaWdpbi9tYXN0ZXJgKiosIGBnaXQgZGVzY3Jp YmVgID0KICBgdjcuMy1yYzQtMjctZ2YwMTAwMzYzZDhjMzdgLCBNYWtlZmlsZSAqKjcuMy4wLXJj NCoqLiBgZ3Bpby1zaWZpdmUuY2AsCiAgYHNpZml2ZV9ncGlvX21hdGNoW11gLCBgdHJpc3RhdGUg R1BJT19TSUZJVkVgLCBhbmQKICBgbW9kdWxlX3BsYXRmb3JtX2RyaXZlcigpYCBhcmUgYWxsIHBy ZXNlbnQuIE1vZHVsYXIgY29udmVyc2lvbgogIGA2YjRjNzZkZWQzNTgyNmAgaXMgYW4gYW5jZXN0 b3IuIFRoZSBvbmUtbGluZSBhbGlhcyBleHBvcnQgYmVsb25ncyBvbgogIHRoaXMgY29kZS4gSW4t dHJlZSBEVDogYGFyY2gvcmlzY3YvYm9vdC9kdHMvc2lmaXZlL2Z1NTQwLWMwMDAuZHRzaWAsCiAg YGZ1NzQwLWMwMDAuZHRzaWAsIGBhcmNoL3Jpc2N2L2Jvb3QvZHRzL2NhbmFhbi9rMjEwLmR0c2lg LiBEZWZjb25maWdzCiAgKGBhcmNoL3Jpc2N2L2NvbmZpZ3MvZGVmY29uZmlnYCwgSzIxMCBkZWZj b25maWdzKSBzZXQKICBgQ09ORklHX0dQSU9fU0lGSVZFPXlgLCBzbyAqZGVmYXVsdCogUklTQy1W IGNvbmZpZ3MgZG8gbm90IGhpdAogIGF1dG9sb2FkOyBgPW1gICh0aGUgcmVhc29uIHRoZSBkcml2 ZXIgd2FzIG1hZGUgbW9kdWxhcjogbXVsdGlwbGF0Zm9ybQogIGltYWdlIHNpemUpIGRvZXMuCgoq KlN0ZXAgNi4yOiBCYWNrcG9ydCBkaWZmaWN1bHR5KioKLSBSZWNvcmQ6IENsZWFuIGFwcGx5LiBP bmx5IG5lZWRzIHRoZSBgb2ZfZGV2aWNlX2lkYCB0YWJsZSBuYW1lCiAgYHNpZml2ZV9ncGlvX21h dGNoYC4gTm8gY29uZmxpY3Qgd2l0aCBsYXRlciBnZW5lcmljLWNoaXAgY2hhbmdlcy4KCioqU3Rl cCA2LjM6IFJlbGF0ZWQgZml4ZXMgYWxyZWFkeSBoZXJlKioKLSBSZWNvcmQ6IE5vIGVhcmxpZXIg YWx0ZXJuYXRlIGF1dG9sb2FkIGZpeC4gVGhpcyBpcyB0aGUgZmlyc3QKICBgTU9EVUxFX0RFVklD RV9UQUJMRWAgb24gdGhpcyBmaWxlLgoKIyMgUGhhc2UgNzogU3Vic3lzdGVtIGNvbnRleHQKCioq U3RlcCA3LjEqKgotIFJlY29yZDogKipTdWJzeXN0ZW06KiogR1BJTyAoYGRyaXZlcnMvZ3Bpby9g KS4gKipDcml0aWNhbGl0eToqKgogIElNUE9SVEFOVCBmb3IgU2lGaXZlL0syMTAgYm9hcmRzIChH UElPIGlzIGEgYm9hcmQtbGV2ZWwgZGVwZW5kZW5jeSksCiAgUEVSSVBIRVJBTCB2cyBjb3JlIG1t L25ldC4gTm90IHN0YWdpbmcuCgoqKlN0ZXAgNy4yKioKLSBSZWNvcmQ6IEdQSU8gaXMgYWN0aXZl bHkgbWFpbnRhaW5lZCAoQmFydG9zeikuIFRoaXMgZHJpdmVyIGlzIG1hdHVyZQogIChzaW5jZSB2 NS41KTsgdGhlIG1vZHVsYXIgaG9sZSBpcyBmcm9tIHY2LjYsIG5vdCBuZXcgZXhwZXJpbWVudGFs CiAgY29kZS4KCiMjIFBoYXNlIDg6IEltcGFjdCBhbmQgcmlzawoKKipTdGVwIDguMTogV2hvIGlz IGFmZmVjdGVkKioKLSBSZWNvcmQ6IERyaXZlci1zcGVjaWZpYywgY29uZmlnLXNwZWNpZmljOiBg Q09ORklHX0dQSU9fU0lGSVZFPW1gIG9uIERUCiAgcGxhdGZvcm1zIHdpdGggdGhvc2UgY29tcGF0 aWJsZXMuIE5vdCB1bml2ZXJzYWwuCgoqKlN0ZXAgOC4yOiBUcmlnZ2VyKioKLSBSZWNvcmQ6IEJv b3QgLyBkZXZpY2UgZW51bWVyYXRpb24gd2l0aCB0aGUgbW9kdWxlIG5vdCBwcmVsb2FkZWQuCiAg Q29tbW9uIGZvciBtdWx0aXBsYXRmb3JtIG1vZHVsYXIga2VybmVscyAodGhlIHN0YXRlZCBnb2Fs IG9mCiAgYDZiNGM3NmRlZDM1OGApLiBVbnByaXZpbGVnZWQgdXNlcnMgZG8gbm90IHRyaWdnZXIg YSBjcmFzaDsgdGhlCiAgY29udHJvbGxlciBzaW1wbHkgbmV2ZXIgYmluZHMuIE5vdCBhIHJhY2Uu CgoqKlN0ZXAgOC4zOiBGYWlsdXJlIG1vZGUqKgotIFJlY29yZDogR1BJTyBjaGlwIChhbmQgaXRz IGlycWNoaXApIG5ldmVyIHJlZ2lzdGVycyBpZiB0aGUgbW9kdWxlIGlzCiAgbm90IGxvYWRlZC4g RGVwZW5kZW50IExFRHMsIHJlc2V0cywga2V5cywgaG9nIGxpbmVzIGZhaWwuICoqU2V2ZXJpdHk6 CiAgTUVESVVNKiogZnVuY3Rpb25hbGx5IChoYXJkd2FyZSBkZWFkIHVudGlsIGBtb2Rwcm9iZWAp LCBub3QgcGFuaWMvVUFGLgogIEZvciB0aG9zZSBib2FyZHMgdGhhdCBpcyB1c2VyLXZpc2libGUg YnJlYWthZ2UsIG5vdCBjb3NtZXRpYy4KCioqU3RlcCA4LjQ6IFJpc2stYmVuZWZpdCoqCi0gUmVj b3JkOiAqKkJlbmVmaXQ6KiogaGlnaCBmb3IgYD1tYCBTaUZpdmUvSzIxMCB1c2VyczsgcmVzdG9y ZXMgdGhlCiAgbW9kdWxhciBjb252ZXJzaW9u4oCZcyBwdXJwb3NlLiAqKlJpc2s6KiogdmVyeSBs b3cgKDEgbGluZSwgYnVpbGQtdGltZQogIGFsaWFzIG9ubHkpLiAqKlJhdGlvOioqIHN0cm9uZ2x5 IGZhdm9yYWJsZS4gTWF0Y2hlcyB0aGUgZGV2aWNlLUlEIC8KICBoYXJkd2FyZS1lbmFibGVtZW50 IGV4Y2VwdGlvbi4KCiMjIFBoYXNlIDk6IFN5bnRoZXNpcwoKKipTdGVwIDkuMTogRXZpZGVuY2Uq KgotICoqRm9yOioqIFJlYWwgYXV0b2xvYWQgYnVnOyAxLWxpbmUgb2J2aW91c2x5IGNvcnJlY3Q7 IEdQSU8gbWFpbnRhaW5lcgogIGFza2VkIGZvciBgRml4ZXM6YCArIGBDYzogc3RhYmxlYCBvbiB0 aGUgaWRlbnRpY2FsIGRpZmY7IFNpRml2ZQogIGVuZ2luZWVyIHNlbnQgdGhhdCBkaWZmOyBkcml2 ZXIgaXMgYHRyaXN0YXRlYCBzaW5jZSB2Ni42OyBEVCBoYXJkd2FyZQogIGV4aXN0czsgemVybyBy dW50aW1lIHJlZ3Jlc3Npb24gc3VyZmFjZTsgc2FtZSBwYXR0ZXJuIGFscmVhZHkgdXNlZAogIGFj cm9zcyBHUElPLgotICoqQWdhaW5zdDoqKiBOb3QgYSBjcmFzaC9zZWN1cml0eS9jb3JydXB0aW9u IGlzc3VlOyBpbi10cmVlIGRlZmNvbmZpZ3MKICB1c2UgYD15YDsgbm8gYFJlcG9ydGVkLWJ5YDsg UGVuZ3BlbmfigJlzIGFwcGxpZWQgcGF0Y2ggb21pdHRlZCB0aGUKICBgRml4ZXM6YC9gQ2M6IHN0 YWJsZWAgQmFydG9zeiBhc2tlZCBmb3IuCi0gKipVbnJlc29sdmVkOioqIFN0YWJsZS1saXN0IGFy Y2hpdmUgKGxvcmUgSFRUUCA0MDMpLiBObyBmaWVsZCBidWd6aWxsYQogIGNvdW50LgoKKipTdGVw IDkuMjogU3RhYmxlIHJ1bGVzKioKMS4gT2J2aW91c2x5IGNvcnJlY3QgYW5kIHRlc3RlZD8gKipQ QVNTKiog4oCUIGNhbm9uaWNhbAogICBgTU9EVUxFX0RFVklDRV9UQUJMRShvZiwg4oCmKWA7IG1h aW50YWluZXIgYXBwbGllZCBpdC4KMi4gUmVhbCBidWcgYWZmZWN0aW5nIHVzZXJzPyAqKlBBU1Mq KiDigJQgYD1tYCBuZXZlciBhdXRvbG9hZHM7IG1vZHVsYXIKICAgY29udmVyc2lvbiBpcyBwb2lu dGxlc3Mgd2l0aG91dCBpdC4KMy4gSW1wb3J0YW50IChjcmFzaC9zZWN1cml0eS9jb3JydXB0aW9u L2RlYWRsb2NrKT8gKipQQVNTKiogYXMgaGFyZHdhcmUtCiAgIGVuYWJsZW1lbnQgKEdQSU8gY29u dHJvbGxlciBuZXZlciBiaW5kcyksIHNhbWUgYmFyIGFzIG5ldyBkZXZpY2UgSURzCiAgIC8gbWlz c2luZyBhbGlhc2VzIOKAlCBub3QgYSBwYW5pYywgYnV0IHRoZSBkZXZpY2UgZG9lcyBub3Qgd29y ay4KNC4gU21hbGwgYW5kIGNvbnRhaW5lZD8gKipQQVNTKiog4oCUICsxIGxpbmUsIG9uZSBmaWxl Lgo1LiBObyBuZXcgZmVhdHVyZXMvQVBJcz8gKipQQVNTKiog4oCUIGFsaWFzZXMgZm9yIGV4aXN0 aW5nIGNvbXBhdGlibGVzLgo2LiBDYW4gYXBwbHkgdG8gdGhpcyB0cmVlPyAqKlBBU1MqKiDigJQg dGFibGUsIHRyaXN0YXRlIEtjb25maWcsIGFuZAogICBgbW9kdWxlX3BsYXRmb3JtX2RyaXZlcigp YCBhcmUgaGVyZS4KCioqU3RlcCA5LjM6IEV4Y2VwdGlvbiBjYXRlZ29yeSoqCi0gUmVjb3JkOiBD bG9zZXN0IHRvICoqZGV2aWNlIElEIC8gaGFyZHdhcmUgZW5hYmxlbWVudCoqOiBwdWJsaXNoaW5n CiAgZXhpc3RpbmcgT0YgSURzIHNvIHRoZSBleGlzdGluZyBkcml2ZXIgYXV0b2xvYWRzLiBOb3Qg YSBuZXcgZHJpdmVyIG9yCiAgQVBJLgoKKipTdGVwIDkuNDogRGVjaXNpb24qKgpUaGlzIHRyZWUg aGFzIHRoZSBTaUZpdmUgR1BJTyBkcml2ZXIgYXMgYSBtb2R1bGUtY2FwYWJsZSBPRiBwbGF0Zm9y bQpkcml2ZXIgd2l0aCBhIG1hdGNoIHRhYmxlIHRoYXQgd2FzIG5ldmVyIGV4cG9ydGVkLiBUaGF0 IGlzIGEgcmVhbCwKY29udGFpbmVkIGF1dG9sb2FkIGJ1Zy4gVGhlIEdQSU8gbWFpbnRhaW5lciBh bHJlYWR5IHRyZWF0ZWQgdGhlCmlkZW50aWNhbCBjaGFuZ2UgYXMgc3RhYmxlIG1hdGVyaWFsLiBJ dCBzaG91bGQgYmUgYmFja3BvcnRlZCBoZXJlLgoKIyMjIFdoYXQgdGhlIGNvbW1pdCBzb2x2ZXMg Zm9yIHRoaXMgdHJlZQpXaXRob3V0IGBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzaWZpdmVfZ3Bp b19tYXRjaClgLCBgbW9kcG9zdGAgbmV2ZXIKd3JpdGVzIE9GIGFsaWFzZXMsIHNvIGBncGlvLXNp Zml2ZS5rb2Agd2lsbCBub3QgbG9hZCBmcm9tCmAic2lmaXZlLGdwaW8wImAgLyBgInNpZml2ZSxm dTU0MC1jMDAwLWdwaW8iYC4gT24gYENPTkZJR19HUElPX1NJRklWRT1tYAp0aGUgR1BJTyAoYW5k IGlycSkgY29udHJvbGxlciBuZXZlciBhcHBlYXJzIHVubGVzcyBzb21lb25lIGBtb2Rwcm9iZWBz Cml0LiBUaGF0IHVuZGVyY3V0cyBgNmI0Yzc2ZGVkMzU4YCAo4oCcQWxsb3cgYnVpbGRpbmcgdGhl IGRyaXZlciBhcyBhCm1vZHVsZeKAnSkgb24gbXVsdGlwbGF0Zm9ybSBrZXJuZWxzLiBCdWlsdC1p biBgPXlgIGlzIHVuYWZmZWN0ZWQ7IHRoZSBvbmUtCmxpbmVyIGlzIHN0aWxsIGNvcnJlY3QgYW5k IGhhcm1sZXNzLgoKIyMjIFJpc2sgdnMgYmVuZWZpdApCZW5lZml0IGlzIHJlc3RvcmluZyBhdXRv bG9hZCBmb3IgcmVhbCBGVTU0MC9GVTc0MC9LMjEwIGhhcmR3YXJlIHdoZW4KdGhlIGRyaXZlciBp cyBtb2R1bGFyLiBSaXNrIGlzIGEgc2luZ2xlIGJ1aWxkLXRpbWUgYWxpYXMgd2l0aCBubwpwcm9i ZS9sb2NraW5nL0FQSSBjaGFuZ2UuCgojIyMgQ29uY2VybnMKTm8gYEZpeGVzOmAgb24gdGhlIGFw cGxpZWQgY29tbWl0IChzaG91bGQgYmUgYDZiNGM3NmRlZDM1ODI2YCk7IHRoYXQKZG9lcyBub3Qg YmxvY2sgYmFja3BvcnQuIEluLXRyZWUgZGVmY29uZmlncyB1c2UgYD15YCwgc28gZGVmYXVsdCBp bWFnZXMKYWxyZWFkeSB3b3JrOyB0aGUgdXNlcnMgd2hvIG5lZWQgdGhpcyBhcmUgbW9kdWxhci9t dWx0aXBsYXRmb3JtIGNvbmZpZ3MsCndoaWNoIGlzIGV4YWN0bHkgd2hvIHRoZSB0cmlzdGF0ZSBj aGFuZ2Ugd2FzIGZvci4KClZlcmlmaWNhdGlvbjoKLSBbUGhhc2UgMV0gUGFyc2VkIHRhZ3M6IExp bmsgdG8gbXNnaWQKICBgMjAyNjA3MDQxMjIyMzAuNzU5NjQtMS1wZW5ncGVuZ0Bpc2Nhcy5hYy5j bmA7IFNPQiBQZW5ncGVuZyBIb3UgYW5kCiAgQmFydG9zeiBHb2xhc3pld3NraTsgbm8gRml4ZXMv UmVwb3J0ZWQtYnkvQ2M6IHN0YWJsZQotIFtQaGFzZSAyXSBEaWZmOiArMSBsaW5lIGBNT0RVTEVf REVWSUNFX1RBQkxFKG9mLCBzaWZpdmVfZ3Bpb19tYXRjaClgCiAgaW4gYGRyaXZlcnMvZ3Bpby9n cGlvLXNpZml2ZS5jYDsgcHJvYmUgdW5jaGFuZ2VkCi0gW1BoYXNlIDJdIENvbmZpcm1lZCBgTU9E VUxFX0RFVklDRV9UQUJMRWAgaW4gYGluY2x1ZGUvbGludXgvbW9kdWxlLmhgCiAgYW5kIE9GIGFs aWFzIGVtaXNzaW9uIHZpYSBgc2NyaXB0cy9tb2QvZmlsZTJhbGlhcy5jYCBgZG9fb2ZfZW50cnlg Ci0gW1BoYXNlIDNdIGBnaXQgYmxhbWVgOiBtYXRjaCB0YWJsZSBmcm9tIGA5Njg2OGRjZTY0NGQw YCAodjUuNS1yYzQpOwogIG1vZHVsYXIgYnVnIGZyb20gYDZiNGM3NmRlZDM1ODI2YCAoaW4gdjYu Ni1yYzEpOyBgZ2l0IG1lcmdlLWJhc2UgLS1pcy0KICBhbmNlc3RvciA2YjRjNzZkZWQzNTgyNiBI RUFEYCBzdWNjZWVkZWQKLSBbUGhhc2UgM10gYGdpdCBzaG93IDZiNGM3NmRlZDM1ODI2YDogYm9v bOKGknRyaXN0YXRlICsKICBgYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXJgIOKGkiBgbW9kdWxlX3Bs YXRmb3JtX2RyaXZlcmAgd2l0aG91dAogIE1PRFVMRV9ERVZJQ0VfVEFCTEUKLSBbUGhhc2UgM10g QXV0aG9yIGxvZzogc2libGluZyB2ZjYxMCBjb21taXQgYDk3NWExZDYxMjYwY2ZgCi0gW1BoYXNl IDRdIGBiNCBkaWcgLWMgOGZlNmZhMGYyMjNmNDRgOiBQZW5ncGVuZyB2MSBhcHBsaWVkOyBzYW1l IHBhdGNoLQogIGlkIGFzIFNhbXVlbCBIb2xsYW5kIE9jdCAyMDI1Ci0gW1BoYXNlIDRdIGBiNCBk aWcgLWFgOiBzaW5nbGUgUGVuZ3BlbmcgcmV2aXNpb247IGBiNCBkaWcgLXdgOiBHUElPCiAgbWFp bnRhaW5lcnMgKyBsaW51eC1ncGlvL2xpbnV4LXJpc2N2Ci0gW1BoYXNlIDRdIG1ib3g6IEJhcnRv c3ogYXNrZWQgU2FtdWVsIGZvciBGaXhlczogKyBDYzogc3RhYmxlOyBsYXRlcgogIOKAnEFwcGxp ZWQsIHRoYW5rcyHigJ0gb24gUGVuZ3BlbmfigJlzIHBhdGNoCi0gW1BoYXNlIDRdIFdlYkZldGNo IGxvcmUua2VybmVsLm9yZzogNDAzIOKAlCBVTlZFUklGSUVEIHZpYSBIVFRQOyB0aHJlYWQKICBy ZWNvdmVyZWQgd2l0aCBiNCBtYm94Ci0gW1BoYXNlIDVdIENhbGxlcnM6IHBsYXRmb3JtIHByb2Jl ICsgT0YgbWF0Y2ggdGFibGU7IGF1dG9sb2FkIGlzCiAgdXNlcnNwYWNlL2ttb2QsIG5vdCBhIGtl cm5lbCBob3QgcGF0aAotIFtQaGFzZSA1XSBTaW1pbGFyIEdQSU8gYXV0b2xvYWQgZml4ZXM6IGAx MWJhYTM2ZDMxNzMyYCwKICBgYTUxMzU1MjY0MjZkZmAsIGBlNjM4MmZjZjk4OTA3YAotIFtQaGFz ZSA2XSBgZ2l0IGRlc2NyaWJlIEhFQURgID0gdjcuMy1yYzQtMjctZ2YwMTAwMzYzZDhjMzc7IGBt YWtlCiAga2VybmVsdmVyc2lvbmAgPSA3LjMuMC1yYzQ7IGRldGFjaGVkIGBvcmlnaW4vbWFzdGVy YAotIFtQaGFzZSA2XSBLY29uZmlnIGBHUElPX1NJRklWRWAgaXMgYHRyaXN0YXRlYDsgRFQgbm9k ZXMgcHJlc2VudDsKICBkZWZjb25maWdzIHVzZSBgPXlgCi0gW1BoYXNlIDhdIEZhaWx1cmUgbW9k ZTogbW9kdWxlIG5vdCBhdXRvbG9hZGVkIOKGkiBHUElPIGNvbnRyb2xsZXIKICBhYnNlbnQ7IHNl dmVyaXR5IE1FRElVTSBmdW5jdGlvbmFsIC8gaGFyZHdhcmUtZW5hYmxlbWVudAotIFVOVkVSSUZJ RUQ6IHdoZXRoZXIgdGhpcyBleGFjdCBjb21taXQgd2FzIGRpc2N1c3NlZCBvbgogIGBzdGFibGVA dmdlci5rZXJuZWwub3JnYCAobG9yZSBIVFRQIDQwMykKLSBVTlZFUklGSUVEOiBob3cgbWFueSBk aXN0cm8gY29uZmlncyBzZXQgYENPTkZJR19HUElPX1NJRklWRT1tYAoKKipZRVMqKgoKIGRyaXZl cnMvZ3Bpby9ncGlvLXNpZml2ZS5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwaW8vZ3Bpby1zaWZpdmUuYyBiL2RyaXZlcnMvZ3Bp by9ncGlvLXNpZml2ZS5jCmluZGV4IDk0ZWYyZWZiZDE0ZjUuLmU5YTk5MmNkNGI5Y2QgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLXNpZml2ZS5jCisrKyBiL2RyaXZlcnMvZ3Bpby9ncGlv LXNpZml2ZS5jCkBAIC0yNjAsNiArMjYwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZp Y2VfaWQgc2lmaXZlX2dwaW9fbWF0Y2hbXSA9IHsKIAl7IC5jb21wYXRpYmxlID0gInNpZml2ZSxm dTU0MC1jMDAwLWdwaW8iIH0sCiAJeyB9LAogfTsKK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHNp Zml2ZV9ncGlvX21hdGNoKTsKIAogc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgc2lmaXZl X2dwaW9fZHJpdmVyID0gewogCS5wcm9iZQkJPSBzaWZpdmVfZ3Bpb19wcm9iZSwKLS0gCjIuNTMu MAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK