From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-dy1-f194.google.com (mail-dy1-f194.google.com [74.125.82.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB999293B75 for ; Mon, 26 Jan 2026 20:43:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.194 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769460209; cv=none; b=bsFfDVKfbPcTZKgXMNkiWTUlg8sFyJ0Jbddg6dHmPDVJTo6pOIjwkCifIgb9xTs4jIPS0u526nmsJswWh9v+8IRx/WrCkzlU0tCaKBe8J9OrbEYN+2MYHrfef5UMnnYyuiQKybfNVprEsL6AMBHMAS0StRZyncm7lbOIKGhU//8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769460209; c=relaxed/simple; bh=2ImvZniPDzFetnyqCWbg0zblKqhE8c/sMpTgsU+ZG+Y=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=V2PyxwHqRM+bQt3IhAib14fiHV5Y8yNR+6EsYttgGsDrsydPeUlAri8F68a6fWmGtLRu9/FXpPYlA9C0YffkDegqIzoC0g7d8RbvXPlkPNiClzcPT8V48Yt0DVYsfzhofL7ISmVeMRIsz4dgAD+Kq2O46+INS7WYLQBjxJAZn5w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc.com header.i=@rivosinc.com header.b=PXJ9VFxS; arc=none smtp.client-ip=74.125.82.194 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc.com header.i=@rivosinc.com header.b="PXJ9VFxS" Received: by mail-dy1-f194.google.com with SMTP id 5a478bee46e88-2b70abe3417so11178390eec.0 for ; Mon, 26 Jan 2026 12:43:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc.com; s=google; t=1769460207; x=1770065007; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=s0UipC5QHyJnTmDWXctjUpxhkNyTA6jh9RjXD3Q3T9M=; b=PXJ9VFxSjyN7jT6HpQvw3Be1870o/akPKIBYteU+9y4pc4JKWkWSlVVZJG9svjhYaO QNQltekxPSEKZz3E8CCa0xhAMOBANuOOR/9BQ7se9cqNTA73kBz6rwlKM3hKE6P3o8jP /2pNwK3HcvKn9B8LBxYSHqfcHaOS/aDi2D0wf2orHCgBR2VymuZRj31zkzLDvv2MTTBI fBk0YnCYiSx2YDhTvdcnPzdGpjep8uf7u/PBeVG76moqqJ+7dkV5G6nBf/UugVGQ21el FGLUeoqcTFBfToCiDMTM5w7Fu+FbZczcDLz51FQymVRGNfcQKrw6r3aMskOgYdoHfwKy 0peQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769460207; x=1770065007; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=s0UipC5QHyJnTmDWXctjUpxhkNyTA6jh9RjXD3Q3T9M=; b=N9yZTxaYgKhO+9YvEFNEO+wUgUIHmWdSlVt4s73xxrjHVgOTAP/drVzrkn9ZLs1J5n 7LfcArdAywODSx2J9pVFGkoBPqeCUsRIYbzKH93YDBHabDZWI7uf1NbL0N9qrXxv6BoT URPKxuDHCpQsErSBHjtZvgGl6FYl/DsyHqrqGUHKSGp8DlqPBuR0M/JoQHtoXGXZ7UhZ fLwZdZAvi3DtD+nWOCAYm9wDVFa+8CIJHEVPqE6G/RO32aAwVgy5ckcho70xmgjEhcqP D3RnMCCu362/XaJi2puEbZqaL95l5aIebasE8YqAVUFDEROXG6zwT8hNGbsnv4GDLgiM aw7Q== X-Forwarded-Encrypted: i=1; AJvYcCXPbbPCAv8vfIWAzB8Uvbm737fve95sc7YMRyHYRgnLbNvMqMev2PlSbSmBvodKlaYSf1+JHZe0nxBO@vger.kernel.org X-Gm-Message-State: AOJu0YzKHpiL7q08Li03VBWh6YqIgUGVekutV1WuFHvNQG+R76kSpQMz Q5SuUGVsrTXvX91c36ZOrpH1GUkn28aLraJFOlNsEUcHTJvFeMavu/x/L/LcNKHK0V4= X-Gm-Gg: AZuq6aJD+M/Ih4AqsKHJTjHrSKDokWkyX687qD27D9LigLz7JYoXrTysfbXPeH/6yPl BC4RBq1+6upyBGfqZbAjc+Eqm+1h4kzDGmVo1KScTdTPTaO15vK/ZvhMYjnn7V91/Djq3a/HKX/ u1zupGgrhHmT7y9boletcZpYjbq2cB0lqCDTMWX/jJKLbsMTKXElndsqjJtnOeMcAgMxak6bbjf r0kk/r+ANn9XWKzWfnF0hBKHwfM/fIK7qD06e2PybKpOwod8ylyKmMxsJePbMNYZx6ci5r7XVxg HAcqPj3hZU9rXxCjMaf+IclOf6dj7YI8dvZbRxKKAcjNKwTFZlWtaypDI/AUsRhNhfb6QRh4QIC YA9inv+ZIdh5+89BC7fuL7xaHeo54GJNe0hQZKZ3QUAeOthadjE9kgvJgn0+kU86hYWPP0PU0OL QdSpyWsYAkzEt527qmQ/uc X-Received: by 2002:a05:7301:d16:b0:2af:7ee:5300 with SMTP id 5a478bee46e88-2b7643466e8mr2954218eec.14.1769460207055; Mon, 26 Jan 2026 12:43:27 -0800 (PST) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b73aa08964sm14741354eec.28.2026.01.26.12.43.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jan 2026 12:43:26 -0800 (PST) Date: Mon, 26 Jan 2026 12:43:24 -0800 From: Deepak Gupta To: Zong Li Cc: Paul Walmsley , x86@kernel.org, Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Andreas Hindborg , Alice Ryhl , Trevor Gross , Benno Lossin , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, Andy Chiu , kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com, rust-for-linux@vger.kernel.org, Andreas Korb , Valentin Haudiquet , Charles Mirabile , Jesse Huang Subject: Re: [PATCH v26 00/28] riscv control-flow integrity for usermode Message-ID: References: <20251211-v5_user_cfi_series-v26-0-f0f419e81ac0@rivosinc.com> Precedence: bulk X-Mailing-List: linux-arch@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Jan 21, 2026 at 09:32:20AM +0800, Zong Li wrote: >On Thu, Jan 8, 2026 at 11:10 PM Deepak Gupta wrote: >> >> Hi Paul, >> >> I have a bugfix for a bug reported by Jesse Huang (thanks Jesse) in riscv >> implementation of `map_shadow_stack`. >> >> Should I send a new series or only the bugfix-patch for implementation >> of `map_shadow_stack` >> > >Hi Deepak, >Not sure if I missed the bugfix patch, I couldn't find it on the >mailing list. Could I know have you submitted it? If so, could you >please point me where the patch is? >Thanks No you didn't miss anything. I had been busy with job change and even though change was small. I wanted to do some basic testing before sending fix. I just sent the fix on this v26 series, patch #10/28. Sorry about the delay here. > >> Let me know. Thanks. >> >> -Deepak >> >> -Deepak >> >> >> >> On Fri, Dec 12, 2025 at 10:33 AM Deepak Gupta wrote: >> > >> > On Fri, Dec 12, 2025 at 01:30:29AM -0700, Paul Walmsley wrote: >> > >On Thu, 11 Dec 2025, Deepak Gupta via B4 Relay wrote: >> > > >> > >> v26: CONFIG_RISCV_USER_CFI depends on CONFIG_MMU (dependency of shadow stack >> > >> on MMU). Used b4 to pick tags, apparantly it messed up some tag picks. Fixing it >> > > >> > >Deepak: I'm now (at least) the third person to tell you to stop resending >> > >this entire series over and over again. >> > >> > To be very honest I also feel very bad doing and DOSing the lists. Sorry to you >> > and everyone else. >> > >> > But I have been sitting on this patch series for last 3-4 merge windows with >> > patches being exactly same/similar. So I have been a little more than desperate >> > to get it in. >> > >> > I really haven't had any meaningful feedback on patch series except stalling >> > just before each merge window for reasons which really shouldn't stall its >> > merge. Sure that's the nature of open source development and it's maintainer's >> > call at the end of the day. And I am new to this. I'll improve. >> > >> > > >> > >First, a modified version of the CFI v23 series was ALREADY SITTING IN >> > >LINUX-NEXT. So there's no reason you should be resending the entire >> > >series, UNLESS your intention for me is to drop the entire existing series >> > >and wait for another merge window. >> > > >> > >Second: when someone asks you questions about an individual patch, and you >> > >want to answer those questions, it's NOT GOOD for you to resend the entire >> > >28 series as the response! You are DDOSing a bunch of lists and E-mail >> > >inboxes. Just answer the question in a single E-mail. If you want to >> > >update a single patch, just send that one patch. >> > >> > Noted. I wasn't sure about it. I'll explicitly ask next time if you want me to >> > send another one. >> > >> > > >> > >If you don't start paying attention to these rules then people are going >> > >to start ignoring you -- at best! -- and it's going to give the entire >> > >community a bad reputation. >> > >> > Even before this, this patch series has been ignored largely. I don't know >> > how to get attention. All I wanted was either feedback or get it in. And as I >> > said I've been desparate to get it in. Also as I said, I'll improve. >> > >> > > >> > >Please acknowledge that you understand this, >> > >> > ACKed. >> > >> > > >> > > >> > >- Paul 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 26227D1951A for ; Mon, 26 Jan 2026 20:43:42 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=HUe0Ezgyi3h74khdYncys1gDXzxVn/EhqVI02PP4+p0=; b=VQx3r9WJpnKxTO6MJKuKhBv+ri DcuwXbEXuK0jzNDO1wk0M8TaWqmEzP99kd2NJW4y6anUk39gnsDdlZWhlGqHuHUz/TliZua0/OLBJ Sn89N6TgBOcpzvMD/ADwdsei9Ioo4hp3VobFzkR2+pl64L7REgVYCnwveRIZndmaV47gccE8ZtUD/ RFDdKsVJOwuIeQFKDN5PiHUQ71d5IMw/UKP31D8cDrdVz3esBhddRFgA3mdEu4Ddi1wfWbfNqn1O0 7dvZlqOzBaZA8vAf3kTU8YJEkOw3X/8TDqRL19mCxb2b6XyLNYc/NvR86yd3W/WGnspX90jTvBOWH ThnwiRIw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vkTQo-0000000DDkO-3d3k; Mon, 26 Jan 2026 20:43:30 +0000 Received: from mail-dy1-x1342.google.com ([2607:f8b0:4864:20::1342]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vkTQm-0000000DDjp-0JWg for linux-riscv@lists.infradead.org; Mon, 26 Jan 2026 20:43:30 +0000 Received: by mail-dy1-x1342.google.com with SMTP id 5a478bee46e88-2b6fd5bec41so595068eec.1 for ; Mon, 26 Jan 2026 12:43:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc.com; s=google; t=1769460207; x=1770065007; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=s0UipC5QHyJnTmDWXctjUpxhkNyTA6jh9RjXD3Q3T9M=; b=NMrssAJxEJCrL5aLt3BV0BqaAVKqu2JBXA9MOz6Im6cPL5NEHYpKfX+HLDzIoNbqXW tgzNNKEvHjU1mQh99KD2StvW9aIqZtJnLiXCirVeOuFO5y+QqKhlsSkFh/aGbGVu+Bu6 zxM/vnGKn0SBIbVAozsVXuwMvYJilnWz+UyLgA7ZoGtE1MvLUtGp9fGR3cRXIlzI7pZi ghenHdvlTIrkxxTcTzxEPMLdmDYEW3HA8gdUP0igL/wKPLNBMzNLbwrx12hDVHMbs1F/ FS1MmLA8vtIrZVw+2fOsGxv2LW2GYeZDhIenu7Bttbf/dgQ8FJeOiiAc2FjfMMihaHJ1 2aQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769460207; x=1770065007; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=s0UipC5QHyJnTmDWXctjUpxhkNyTA6jh9RjXD3Q3T9M=; b=v7oIV6h/2/b3c4wP7YdIFcnCVnDkDOg1ZKEim7iomA89eFUUQADwAGK7xFFwdT2TJT AN9z3e1gQIyHUTDxSav8KoS43rTVRNSsJkgKMe6lPBNCiZZbGqwVbSu4sRPG428IcSo/ K+eEIvdGqsmNE/gf4QLxWzgIlXoGGtb7lzlwH8Cm73axvnrZqUYm61D30C6+geUrwsRS qwwu4fijrkOySQ0Mw842bqwSvkrCGNs0THVHxFXcsosACtTnucUk1dO+h2jl/R0KP7hg /bagaZXiIXfl4S/yIrpzR3vs2PYizQnpqnr3LuFMTa9G7ONDylnkqOQybULXDngJa+VD 27Sg== X-Forwarded-Encrypted: i=1; AJvYcCVAv4pxAezRsdNuF73O3liSuLN7pQQ8YYTZA7AFKXnhnqcNPX42QYA3ml1aHF1ISNjEU8cIIalFShhBZQ==@lists.infradead.org X-Gm-Message-State: AOJu0YyZJJS3xS/z4WV83yx8vKZSewsso5jos/qeN+cMl886weo68Jyo bhEg2SyJN9sY6s9wkQz4aKMm3kETi6XuT9a/z7+ZLlDpvCiAtPQKXDN1lLR1Fr4I5Ec= X-Gm-Gg: AZuq6aIk57If9+IugUmtjcMkut6x90WY+s7yHiFU/kTtQsr3Ke0LvRU1BEsG52n2sa2 Df+VtdrwZ074OQha2Gjm1q2Ubbg1jTwVTU6mzPZMdrxBqAYiMGgpmJEvqYJRIFQ67uZhQnR2IZX l53Ynbn3g7yhCADpMmliZu5JRhKfi+u4BcCBiImaV6qKBJ7Mv2vjDtRbr/5lRAmhVzSgwXcHBZ4 VDBc69SSktPGz1cq1NGNTm95mwbl8BwgrrfkauwUT/ByrVlh9RI6CARCqSHRHJErCU4ooFw3CKo HqZo/GV7lFZqoD93GeoRe6r9s+FIdNdx6LmDQBPrY4c0xEu9YFHCiUKS0pdBOqAI6lcV1BFlEe9 9yWT4hz+C2x5RydmmUB+D6ROuE5XtyWsvRYAtJD0N1uBKvhVRDcI9zjX7+iTKQYBrk5Bbm2o+Gk misR3OQ60xR/Vgj48w1+/Y X-Received: by 2002:a05:7301:d16:b0:2af:7ee:5300 with SMTP id 5a478bee46e88-2b7643466e8mr2954218eec.14.1769460207055; Mon, 26 Jan 2026 12:43:27 -0800 (PST) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b73aa08964sm14741354eec.28.2026.01.26.12.43.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jan 2026 12:43:26 -0800 (PST) Date: Mon, 26 Jan 2026 12:43:24 -0800 From: Deepak Gupta To: Zong Li Cc: Paul Walmsley , x86@kernel.org, Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?iso-8859-1?Q?Bj=F6rn?= Roy Baron , Andreas Hindborg , Alice Ryhl , Trevor Gross , Benno Lossin , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, Andy Chiu , kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com, rust-for-linux@vger.kernel.org, Andreas Korb , Valentin Haudiquet , Charles Mirabile , Jesse Huang Subject: Re: [PATCH v26 00/28] riscv control-flow integrity for usermode Message-ID: References: <20251211-v5_user_cfi_series-v26-0-f0f419e81ac0@rivosinc.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260126_124329_291248_D8B32865 X-CRM114-Status: GOOD ( 33.19 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gV2VkLCBKYW4gMjEsIDIwMjYgYXQgMDk6MzI6MjBBTSArMDgwMCwgWm9uZyBMaSB3cm90ZToK Pk9uIFRodSwgSmFuIDgsIDIwMjYgYXQgMTE6MTDigK9QTSBEZWVwYWsgR3VwdGEgPGRlYnVnQHJp dm9zaW5jLmNvbT4gd3JvdGU6Cj4+Cj4+IEhpIFBhdWwsCj4+Cj4+IEkgaGF2ZSBhIGJ1Z2ZpeCBm b3IgYSBidWcgcmVwb3J0ZWQgYnkgSmVzc2UgSHVhbmcgKHRoYW5rcyBKZXNzZSkgaW4gcmlzY3YK Pj4gaW1wbGVtZW50YXRpb24gb2YgYG1hcF9zaGFkb3dfc3RhY2tgLgo+Pgo+PiBTaG91bGQgSSBz ZW5kIGEgbmV3IHNlcmllcyBvciBvbmx5IHRoZSBidWdmaXgtcGF0Y2ggZm9yIGltcGxlbWVudGF0 aW9uCj4+IG9mIGBtYXBfc2hhZG93X3N0YWNrYAo+Pgo+Cj5IaSBEZWVwYWssCj5Ob3Qgc3VyZSBp ZiBJIG1pc3NlZCB0aGUgYnVnZml4IHBhdGNoLCBJIGNvdWxkbid0IGZpbmQgaXQgb24gdGhlCj5t YWlsaW5nIGxpc3QuIENvdWxkIEkga25vdyBoYXZlIHlvdSBzdWJtaXR0ZWQgaXQ/IElmIHNvLCBj b3VsZCB5b3UKPnBsZWFzZSBwb2ludCBtZSB3aGVyZSB0aGUgcGF0Y2ggaXM/Cj5UaGFua3MKCk5v IHlvdSBkaWRuJ3QgbWlzcyBhbnl0aGluZy4gSSBoYWQgYmVlbiBidXN5IHdpdGggam9iIGNoYW5n ZSBhbmQgZXZlbiB0aG91Z2gKY2hhbmdlIHdhcyBzbWFsbC4gSSB3YW50ZWQgdG8gZG8gc29tZSBi YXNpYyB0ZXN0aW5nIGJlZm9yZSBzZW5kaW5nIGZpeC4gSSBqdXN0CnNlbnQgdGhlIGZpeCBvbiB0 aGlzIHYyNiBzZXJpZXMsIHBhdGNoICMxMC8yOC4KClNvcnJ5IGFib3V0IHRoZSBkZWxheSBoZXJl LgoKPgo+PiBMZXQgbWUga25vdy4gVGhhbmtzLgo+Pgo+PiAtRGVlcGFrCj4+Cj4+IC1EZWVwYWsK Pj4KPj4KPj4KPj4gT24gRnJpLCBEZWMgMTIsIDIwMjUgYXQgMTA6MzPigK9BTSBEZWVwYWsgR3Vw dGEgPGRlYnVnQHJpdm9zaW5jLmNvbT4gd3JvdGU6Cj4+ID4KPj4gPiBPbiBGcmksIERlYyAxMiwg MjAyNSBhdCAwMTozMDoyOUFNIC0wNzAwLCBQYXVsIFdhbG1zbGV5IHdyb3RlOgo+PiA+ID5PbiBU aHUsIDExIERlYyAyMDI1LCBEZWVwYWsgR3VwdGEgdmlhIEI0IFJlbGF5IHdyb3RlOgo+PiA+ID4K Pj4gPiA+PiB2MjY6IENPTkZJR19SSVNDVl9VU0VSX0NGSSBkZXBlbmRzIG9uIENPTkZJR19NTVUg KGRlcGVuZGVuY3kgb2Ygc2hhZG93IHN0YWNrCj4+ID4gPj4gb24gTU1VKS4gVXNlZCBiNCB0byBw aWNrIHRhZ3MsIGFwcGFyYW50bHkgaXQgbWVzc2VkIHVwIHNvbWUgdGFnIHBpY2tzLiBGaXhpbmcg aXQKPj4gPiA+Cj4+ID4gPkRlZXBhazogSSdtIG5vdyAoYXQgbGVhc3QpIHRoZSB0aGlyZCBwZXJz b24gdG8gdGVsbCB5b3UgdG8gc3RvcCByZXNlbmRpbmcKPj4gPiA+dGhpcyBlbnRpcmUgc2VyaWVz IG92ZXIgYW5kIG92ZXIgYWdhaW4uCj4+ID4KPj4gPiBUbyBiZSB2ZXJ5IGhvbmVzdCBJIGFsc28g ZmVlbCB2ZXJ5IGJhZCBkb2luZyBhbmQgRE9TaW5nIHRoZSBsaXN0cy4gU29ycnkgdG8geW91Cj4+ ID4gYW5kIGV2ZXJ5b25lIGVsc2UuCj4+ID4KPj4gPiBCdXQgSSBoYXZlIGJlZW4gc2l0dGluZyBv biB0aGlzIHBhdGNoIHNlcmllcyBmb3IgbGFzdCAzLTQgbWVyZ2Ugd2luZG93cyB3aXRoCj4+ID4g cGF0Y2hlcyBiZWluZyBleGFjdGx5IHNhbWUvc2ltaWxhci4gU28gSSBoYXZlIGJlZW4gYSBsaXR0 bGUgbW9yZSB0aGFuIGRlc3BlcmF0ZQo+PiA+IHRvIGdldCBpdCBpbi4KPj4gPgo+PiA+IEkgcmVh bGx5IGhhdmVuJ3QgaGFkIGFueSBtZWFuaW5nZnVsIGZlZWRiYWNrIG9uIHBhdGNoIHNlcmllcyBl eGNlcHQgc3RhbGxpbmcKPj4gPiBqdXN0IGJlZm9yZSBlYWNoIG1lcmdlIHdpbmRvdyBmb3IgcmVh c29ucyB3aGljaCByZWFsbHkgc2hvdWxkbid0IHN0YWxsIGl0cwo+PiA+IG1lcmdlLiBTdXJlIHRo YXQncyB0aGUgbmF0dXJlIG9mIG9wZW4gc291cmNlIGRldmVsb3BtZW50IGFuZCBpdCdzIG1haW50 YWluZXIncwo+PiA+IGNhbGwgYXQgdGhlIGVuZCBvZiB0aGUgZGF5LiBBbmQgSSBhbSBuZXcgdG8g dGhpcy4gSSdsbCBpbXByb3ZlLgo+PiA+Cj4+ID4gPgo+PiA+ID5GaXJzdCwgYSBtb2RpZmllZCB2 ZXJzaW9uIG9mIHRoZSBDRkkgdjIzIHNlcmllcyB3YXMgQUxSRUFEWSBTSVRUSU5HIElOCj4+ID4g PkxJTlVYLU5FWFQuICBTbyB0aGVyZSdzIG5vIHJlYXNvbiB5b3Ugc2hvdWxkIGJlIHJlc2VuZGlu ZyB0aGUgZW50aXJlCj4+ID4gPnNlcmllcywgVU5MRVNTIHlvdXIgaW50ZW50aW9uIGZvciBtZSBp cyB0byBkcm9wIHRoZSBlbnRpcmUgZXhpc3Rpbmcgc2VyaWVzCj4+ID4gPmFuZCB3YWl0IGZvciBh bm90aGVyIG1lcmdlIHdpbmRvdy4KPj4gPiA+Cj4+ID4gPlNlY29uZDogd2hlbiBzb21lb25lIGFz a3MgeW91IHF1ZXN0aW9ucyBhYm91dCBhbiBpbmRpdmlkdWFsIHBhdGNoLCBhbmQgeW91Cj4+ID4g PndhbnQgdG8gYW5zd2VyIHRob3NlIHF1ZXN0aW9ucywgaXQncyBOT1QgR09PRCBmb3IgeW91IHRv IHJlc2VuZCB0aGUgZW50aXJlCj4+ID4gPjI4IHNlcmllcyBhcyB0aGUgcmVzcG9uc2UhICBZb3Ug YXJlIERET1NpbmcgYSBidW5jaCBvZiBsaXN0cyBhbmQgRS1tYWlsCj4+ID4gPmluYm94ZXMuICBK dXN0IGFuc3dlciB0aGUgcXVlc3Rpb24gaW4gYSBzaW5nbGUgRS1tYWlsLiAgSWYgeW91IHdhbnQg dG8KPj4gPiA+dXBkYXRlIGEgc2luZ2xlIHBhdGNoLCBqdXN0IHNlbmQgdGhhdCBvbmUgcGF0Y2gu Cj4+ID4KPj4gPiBOb3RlZC4gSSB3YXNuJ3Qgc3VyZSBhYm91dCBpdC4gSSdsbCBleHBsaWNpdGx5 IGFzayBuZXh0IHRpbWUgaWYgeW91IHdhbnQgbWUgdG8KPj4gPiBzZW5kIGFub3RoZXIgb25lLgo+ PiA+Cj4+ID4gPgo+PiA+ID5JZiB5b3UgZG9uJ3Qgc3RhcnQgcGF5aW5nIGF0dGVudGlvbiB0byB0 aGVzZSBydWxlcyB0aGVuIHBlb3BsZSBhcmUgZ29pbmcKPj4gPiA+dG8gc3RhcnQgaWdub3Jpbmcg eW91IC0tIGF0IGJlc3QhIC0tIGFuZCBpdCdzIGdvaW5nIHRvIGdpdmUgdGhlIGVudGlyZQo+PiA+ ID5jb21tdW5pdHkgYSBiYWQgcmVwdXRhdGlvbi4KPj4gPgo+PiA+IEV2ZW4gYmVmb3JlIHRoaXMs IHRoaXMgcGF0Y2ggc2VyaWVzIGhhcyBiZWVuIGlnbm9yZWQgbGFyZ2VseS4gSSBkb24ndCBrbm93 Cj4+ID4gaG93IHRvIGdldCBhdHRlbnRpb24uIEFsbCBJIHdhbnRlZCB3YXMgZWl0aGVyIGZlZWRi YWNrIG9yIGdldCBpdCBpbi4gQW5kIGFzIEkKPj4gPiBzYWlkIEkndmUgYmVlbiBkZXNwYXJhdGUg dG8gZ2V0IGl0IGluLiBBbHNvIGFzIEkgc2FpZCwgSSdsbCBpbXByb3ZlLgo+PiA+Cj4+ID4gPgo+ PiA+ID5QbGVhc2UgYWNrbm93bGVkZ2UgdGhhdCB5b3UgdW5kZXJzdGFuZCB0aGlzLAo+PiA+Cj4+ ID4gQUNLZWQuCj4+ID4KPj4gPiA+Cj4+ID4gPgo+PiA+ID4tIFBhdWwKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1haWxpbmcgbGlz dApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK