From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (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 E331D17991 for ; Wed, 31 Jul 2024 15:29:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722439779; cv=none; b=P803hLGwVPl3j0prg/y6idJY3BHkJoybZvNYBOdNF3sUC3V1X/S98KnWSAvIO6fbuvypQ/C4QkXd4OevUpxEm7r2ih5yNNs1KyZm+ZyMzjmH9woIXRzbPhyu2Gwf9V3OZfBji7Aw+nZZgvZnb1bRqK7hT76DZP8QxlKhZZXQYk4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1722439779; c=relaxed/simple; bh=NZCQjk6qu5JDjBajzKBkR4b+8Bvfj170BGd69g2rUBk=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=TkeOFWDI70Wk1vgGH6byn5i4KQ0aedoRkc1WM371sLmAPy3xfeYOYN2Mw0ykLFP5Rqo0eaABVRje9xfiunCg1lukTWyqUtA080SeH6wlEgCbS/Hua1hhwxBnGmZQGC/gKAUJqh9FQ8h53xlM1DZB1xdUS8TroeTFa6npVaVqSXg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=uklcBgCK; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="uklcBgCK" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-70eaf5874ddso4393435b3a.3 for ; Wed, 31 Jul 2024 08:29:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1722439777; x=1723044577; 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=mCJpeaoOc2bazfPbXFaOP8MpVPnQ8mFYIONeim+kxB4=; b=uklcBgCK+2PHBGlzB1Yv9ywglXT0WO1cGKWhRy60ycm0AQvBCFwTtN6xvCy5WJte/c TcDH4bcYT0URQllM2Xbf7drHaHSW23GMsDIo2aIP3urX5dk84NGhQ1xXPFI1HVyoQP6l HB9rrfc15NARJCuLO7Biok0mg8kRfevznKb+2gYaYfyXbtEkrdqbvmtIzUhqPl93Rn7s z2goQtfK8beha6HXlGf8RFVsgRjU4ESLVhdq4SHFM6j+HlCnCvrry0oDbMwv4ZMr92ll K28x6DaWQ/aIgpLIiuzrKIH1RLr7XR168NaKRyg56LMkruN82IY0It33W2r9ReBsF18P RuhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722439777; x=1723044577; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mCJpeaoOc2bazfPbXFaOP8MpVPnQ8mFYIONeim+kxB4=; b=bagQbrrZ2A5BSEEP9pgv4TPddudSl6lvAVemOVM5W6USxgv+9BC+feq6dLMr6WjKNp ZzyJU7l3rjmvUqfN965OlNnOvYhgq9yHht+uMbfl+1ciqtsslUk47knyTk6W1NS/4FZK TcqG7Dnl9BK0LnHVamBeB0d3W6Ru27OGXXoV22h+r0HScZJR/aapn+J4ukShdHTxlKJH t62VvYBqgpOwzdgc4SQd54oBOcAuHd9xPWkB8inkt9qOOJ3rGooHTD412jA45gDJHTij EpvdebDBixFutNFO32RXPTs7OCbk+X2QB0yM5zfN1pkXkEVgHLci0SIQDW+9kDJvD6Dc rcuw== X-Forwarded-Encrypted: i=1; AJvYcCXIsGHT7IoJAmwI3vLSLComoRQRanPiSNUr4IcusJLI13duQ6FD+a8mMkYZiBJt/HFMNJngNF3v+dpVt6uKgAqverGw2LbynfXvaIDiUw== X-Gm-Message-State: AOJu0YzSbYu4KgEGA04PAO53T2AYBaL1P/8vInuykLcJNMOFJaIce07P rq2OJUrqmLGoBoTersTSAgNZUrRyMbxjsR5hAuZjZEo9xmt4n/rX8CvSLj+VmQ== X-Google-Smtp-Source: AGHT+IGohm1cBq/5zPvLuLsEzQNZ6TosNInwk8VMcHMzDiwyENOeXQOhAAUH2+CrOsko17rLYuRl0A== X-Received: by 2002:a05:6a21:3483:b0:1be:ffe4:b2a2 with SMTP id adf61e73a8af0-1c4a11796a5mr13080164637.7.1722439777291; Wed, 31 Jul 2024 08:29:37 -0700 (PDT) Received: from thinkpad ([120.60.66.23]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70ead6e333asm10071047b3a.8.2024.07.31.08.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Jul 2024 08:29:36 -0700 (PDT) Date: Wed, 31 Jul 2024 20:59:28 +0530 From: Manivannan Sadhasivam To: Dmitry Baryshkov Cc: Vinod Koul , kishon@kernel.org, linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] phy: qcom: qmp: Add debug prints for register writes Message-ID: <20240731152928.GA2983@thinkpad> References: <20240730100351.51454-1-manivannan.sadhasivam@linaro.org> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Wed, Jul 31, 2024 at 03:18:31PM +0300, Dmitry Baryshkov wrote: > On Wed, Jul 31, 2024 at 04:28:46PM GMT, Vinod Koul wrote: > > On 30-07-24, 15:33, Manivannan Sadhasivam wrote: > > > These register prints are useful to validate the init sequence against the > > > Qcom internal documentation and also to share with the Qcom hw engineers to > > > debug issues related to PHY. > > > > > > Signed-off-by: Manivannan Sadhasivam > > > --- > > > drivers/phy/qualcomm/phy-qcom-qmp-common.h | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-common.h b/drivers/phy/qualcomm/phy-qcom-qmp-common.h > > > index 799384210509..e6a6bcfcac28 100644 > > > --- a/drivers/phy/qualcomm/phy-qcom-qmp-common.h > > > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-common.h > > > @@ -9,6 +9,7 @@ > > > struct qmp_phy_init_tbl { > > > unsigned int offset; > > > unsigned int val; > > > + char *name; > > > /* > > > * mask of lanes for which this register is written > > > * for cases when second lane needs different values > > > @@ -20,6 +21,7 @@ struct qmp_phy_init_tbl { > > > { \ > > > .offset = o, \ > > > .val = v, \ > > > + .name = #o, \ > > > .lane_mask = 0xff, \ > > > } > > > > > > @@ -27,6 +29,7 @@ struct qmp_phy_init_tbl { > > > { \ > > > .offset = o, \ > > > .val = v, \ > > > + .name = #o, \ > > > .lane_mask = l, \ > > > } > > > > > > @@ -45,6 +48,7 @@ static inline void qmp_configure_lane(void __iomem *base, > > > if (!(t->lane_mask & lane_mask)) > > > continue; > > > > > > + pr_debug("QMP PHY: Writing: %s --> 0x%02x\n", t->name, t->val); > > > > This lgtm, but fails to help when offset _might_ be incorrect, including > > the offset value as well (not just the name) would be better imo... > > Can we please use dev_vdbg instead? Having dev_ part makes sure that we > can not mismatch PHYs and the sequences. _vdbg is less important, but > I don't think we want this in the log messages unless absolutely > required. > I'm not a big fan of _vdbg(). IMO, all debug messages are verbose and if enabled, user intend to see it. So I don't like one more level of comparmentalization. Also it requires us to feed -DVERBOSE_DEBUG... But I agree with dev_dbg(). Initially, I thought about it but forgot the fact that we now have async probe, so there is no guaranteee that these debug prints will get printed in order. Sent v3 with dev_dbg(), thanks! - Mani -- மணிவண்ணன் சதாசிவம் 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 C9535C3DA64 for ; Wed, 31 Jul 2024 15:29:41 +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: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=4gmMrF2pCuhak6N7I64/0LXg01CkAoLF9MFCnoy3R8Y=; b=Y6F5QoNJll4zpe YKiokRLVpZPJIMMpDlcxiZG1lX6ovRaw+Pw7Y9+Q7X4GowsXdQrHRIwKzkRRPLQFkr5Zw0XMkv8k+ A73z/Oq0JFvbVxBIWS7HHV+aRmKpvLvVxYexhYoWrTejdRnoTEhzYBvEcU75p/btg2urSkSvA2xqY 91U8loZwFJ7Y5QcIYXJ0RXAeqn2GfRqc6lOLut9rEurBD9i7MlRb8N1NQ/scp+tcyOipVhGuTjOit rX703oyNeQfjj4gB7hKaa2jkYrTXy00VLL0XoIO49vTIsD9Lb5/PtjmnqBVc42XtwjLIkz/lJQSGp 3Xb9leWni0nN03MbWivQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sZBGn-00000001isP-2FnH; Wed, 31 Jul 2024 15:29:41 +0000 Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sZBGk-00000001iro-2Bm8 for linux-phy@lists.infradead.org; Wed, 31 Jul 2024 15:29:39 +0000 Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-70d2ae44790so4154216b3a.2 for ; Wed, 31 Jul 2024 08:29:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1722439777; x=1723044577; 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=mCJpeaoOc2bazfPbXFaOP8MpVPnQ8mFYIONeim+kxB4=; b=rjIBlfU6R4+tmLvrX7Z8HFIdosqzWIO4LnRDIm3okuhc/TaJCytjDmVUN//vzqFnTY b2kHNUIBzhNRz8emD6u5LMaYSB9TYNQx3sQapGv5mvOCRNy3lG6RRde7HWxZFrAS13sD CBnZseOt/iFrlnNCy+3v51XNd//DSpIaiaOsMW1g3ve14Swuv+c+JAu0ENFTywfhbLXT N10TilThYE6Q1jXyjip76Vg1v3oQZg6bUsnUfedc9v2Gh0SywQUunVYlMpNEsHU7V5dM /FNCF3fXbO5pI4gmi3LYvC7vVFc4GVylyy9rXNQ4tRBRnklaLi731ARkXtInHDchKp8P 1s3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722439777; x=1723044577; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mCJpeaoOc2bazfPbXFaOP8MpVPnQ8mFYIONeim+kxB4=; b=fkXZjc97kuSdYO0A2nrdI1MkHiQ0LlEi0nFNn9HGlOUzv9qEPanbp+rpha93+MNdDM 8RxxynHoUUqKkqQrzsBidbzaASgCwaG5/fP9HIPsdRqqpI+OZtsGTOIGSRbqrknal1DC qaZ7nZ8HcfvVLahyfqOC0be06lz6gn1IU8Rji32Nn0TC/BhLR5xLoHfudnQTTeMTpogx +47REFH85WuTfE83jGo3ISe7cgEOsR3xUrIF10/2upbUZ/+Lub1BsdB7mq/GK+zIRw72 jluqHKmq2mwUqlyUFoAcDZfOJDSMyBtfDXMU+uJy7g3ShAgxJyLBgqpd9tYVYQlt7PKE Y8Ww== X-Forwarded-Encrypted: i=1; AJvYcCVQzosEM0lccLPlWdtt+FOgFiV3vUoL1FqNU5DstA1ypxOWK+fTN4mYpn0uYHMukNWzZDUZI8bsdHYCzswZA+JQLpfdUIFinsNAn05KYA== X-Gm-Message-State: AOJu0YzSiRF2RuYPo0NR5XQk0hrLxRselXIdgVyewA+GI+jG9boZGh/a RY5YRim/vN1xkPv9sE5Iqpi7vZh90aTKVds78WWILEfKyUKDEAiIg8Xn7yqB1Q== X-Google-Smtp-Source: AGHT+IGohm1cBq/5zPvLuLsEzQNZ6TosNInwk8VMcHMzDiwyENOeXQOhAAUH2+CrOsko17rLYuRl0A== X-Received: by 2002:a05:6a21:3483:b0:1be:ffe4:b2a2 with SMTP id adf61e73a8af0-1c4a11796a5mr13080164637.7.1722439777291; Wed, 31 Jul 2024 08:29:37 -0700 (PDT) Received: from thinkpad ([120.60.66.23]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70ead6e333asm10071047b3a.8.2024.07.31.08.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Jul 2024 08:29:36 -0700 (PDT) Date: Wed, 31 Jul 2024 20:59:28 +0530 From: Manivannan Sadhasivam To: Dmitry Baryshkov Cc: Vinod Koul , kishon@kernel.org, linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] phy: qcom: qmp: Add debug prints for register writes Message-ID: <20240731152928.GA2983@thinkpad> References: <20240730100351.51454-1-manivannan.sadhasivam@linaro.org> 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-20240731_082938_587637_721C2E47 X-CRM114-Status: GOOD ( 25.33 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org T24gV2VkLCBKdWwgMzEsIDIwMjQgYXQgMDM6MTg6MzFQTSArMDMwMCwgRG1pdHJ5IEJhcnlzaGtv diB3cm90ZToKPiBPbiBXZWQsIEp1bCAzMSwgMjAyNCBhdCAwNDoyODo0NlBNIEdNVCwgVmlub2Qg S291bCB3cm90ZToKPiA+IE9uIDMwLTA3LTI0LCAxNTozMywgTWFuaXZhbm5hbiBTYWRoYXNpdmFt IHdyb3RlOgo+ID4gPiBUaGVzZSByZWdpc3RlciBwcmludHMgYXJlIHVzZWZ1bCB0byB2YWxpZGF0 ZSB0aGUgaW5pdCBzZXF1ZW5jZSBhZ2FpbnN0IHRoZQo+ID4gPiBRY29tIGludGVybmFsIGRvY3Vt ZW50YXRpb24gYW5kIGFsc28gdG8gc2hhcmUgd2l0aCB0aGUgUWNvbSBodyBlbmdpbmVlcnMgdG8K PiA+ID4gZGVidWcgaXNzdWVzIHJlbGF0ZWQgdG8gUEhZLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9m Zi1ieTogTWFuaXZhbm5hbiBTYWRoYXNpdmFtIDxtYW5pdmFubmFuLnNhZGhhc2l2YW1AbGluYXJv Lm9yZz4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAt Y29tbW9uLmggfCA0ICsrKysKPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykK PiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1x bXAtY29tbW9uLmggYi9kcml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtY29tbW9uLmgK PiA+ID4gaW5kZXggNzk5Mzg0MjEwNTA5Li5lNmE2YmNmY2FjMjggMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvcGh5L3F1YWxjb21tL3BoeS1xY29tLXFtcC1jb21tb24uaAo+ID4gPiArKysgYi9k cml2ZXJzL3BoeS9xdWFsY29tbS9waHktcWNvbS1xbXAtY29tbW9uLmgKPiA+ID4gQEAgLTksNiAr OSw3IEBACj4gPiA+ICBzdHJ1Y3QgcW1wX3BoeV9pbml0X3RibCB7Cj4gPiA+ICAJdW5zaWduZWQg aW50IG9mZnNldDsKPiA+ID4gIAl1bnNpZ25lZCBpbnQgdmFsOwo+ID4gPiArCWNoYXIgKm5hbWU7 Cj4gPiA+ICAJLyoKPiA+ID4gIAkgKiBtYXNrIG9mIGxhbmVzIGZvciB3aGljaCB0aGlzIHJlZ2lz dGVyIGlzIHdyaXR0ZW4KPiA+ID4gIAkgKiBmb3IgY2FzZXMgd2hlbiBzZWNvbmQgbGFuZSBuZWVk cyBkaWZmZXJlbnQgdmFsdWVzCj4gPiA+IEBAIC0yMCw2ICsyMSw3IEBAIHN0cnVjdCBxbXBfcGh5 X2luaXRfdGJsIHsKPiA+ID4gIAl7CQkJCVwKPiA+ID4gIAkJLm9mZnNldCA9IG8sCQlcCj4gPiA+ ICAJCS52YWwgPSB2LAkJXAo+ID4gPiArCQkubmFtZSA9ICNvLAkJXAo+ID4gPiAgCQkubGFuZV9t YXNrID0gMHhmZiwJXAo+ID4gPiAgCX0KPiA+ID4gIAo+ID4gPiBAQCAtMjcsNiArMjksNyBAQCBz dHJ1Y3QgcW1wX3BoeV9pbml0X3RibCB7Cj4gPiA+ICAJewkJCQlcCj4gPiA+ICAJCS5vZmZzZXQg PSBvLAkJXAo+ID4gPiAgCQkudmFsID0gdiwJCVwKPiA+ID4gKwkJLm5hbWUgPSAjbywJCVwKPiA+ ID4gIAkJLmxhbmVfbWFzayA9IGwsCQlcCj4gPiA+ICAJfQo+ID4gPiAgCj4gPiA+IEBAIC00NSw2 ICs0OCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBxbXBfY29uZmlndXJlX2xhbmUodm9pZCBfX2lv bWVtICpiYXNlLAo+ID4gPiAgCQlpZiAoISh0LT5sYW5lX21hc2sgJiBsYW5lX21hc2spKQo+ID4g PiAgCQkJY29udGludWU7Cj4gPiA+ICAKPiA+ID4gKwkJcHJfZGVidWcoIlFNUCBQSFk6IFdyaXRp bmc6ICVzIC0tPiAweCUwMnhcbiIsIHQtPm5hbWUsIHQtPnZhbCk7Cj4gPiAKPiA+IFRoaXMgbGd0 bSwgYnV0IGZhaWxzIHRvIGhlbHAgd2hlbiBvZmZzZXQgX21pZ2h0XyBiZSBpbmNvcnJlY3QsIGlu Y2x1ZGluZwo+ID4gdGhlIG9mZnNldCB2YWx1ZSBhcyB3ZWxsIChub3QganVzdCB0aGUgbmFtZSkg d291bGQgYmUgYmV0dGVyIGltby4uLiAKPiAKPiBDYW4gd2UgcGxlYXNlIHVzZSBkZXZfdmRiZyBp bnN0ZWFkPyBIYXZpbmcgZGV2XyBwYXJ0IG1ha2VzIHN1cmUgdGhhdCB3ZQo+IGNhbiBub3QgbWlz bWF0Y2ggUEhZcyBhbmQgdGhlIHNlcXVlbmNlcy4gX3ZkYmcgaXMgbGVzcyBpbXBvcnRhbnQsIGJ1 dAo+IEkgZG9uJ3QgdGhpbmsgd2Ugd2FudCB0aGlzIGluIHRoZSBsb2cgbWVzc2FnZXMgdW5sZXNz IGFic29sdXRlbHkKPiByZXF1aXJlZC4KPiAKCkknbSBub3QgYSBiaWcgZmFuIG9mIF92ZGJnKCku IElNTywgYWxsIGRlYnVnIG1lc3NhZ2VzIGFyZSB2ZXJib3NlIGFuZCBpZgplbmFibGVkLCB1c2Vy IGludGVuZCB0byBzZWUgaXQuIFNvIEkgZG9uJ3QgbGlrZSBvbmUgbW9yZSBsZXZlbCBvZgpjb21w YXJtZW50YWxpemF0aW9uLiBBbHNvIGl0IHJlcXVpcmVzIHVzIHRvIGZlZWQgLURWRVJCT1NFX0RF QlVHLi4uCgpCdXQgSSBhZ3JlZSB3aXRoIGRldl9kYmcoKS4gSW5pdGlhbGx5LCBJIHRob3VnaHQg YWJvdXQgaXQgYnV0IGZvcmdvdCB0aGUgZmFjdAp0aGF0IHdlIG5vdyBoYXZlIGFzeW5jIHByb2Jl LCBzbyB0aGVyZSBpcyBubyBndWFyYW50ZWVlIHRoYXQgdGhlc2UgZGVidWcgcHJpbnRzCndpbGwg Z2V0IHByaW50ZWQgaW4gb3JkZXIuCgpTZW50IHYzIHdpdGggZGV2X2RiZygpLCB0aGFua3MhCgot IE1hbmkKCi0tIArgrq7grqPgrr/grrXgrqPgr43grqPgrqngr40g4K6a4K6k4K6+4K6a4K6/4K61 4K6u4K+NCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51eC1waHlAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1waHkK