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 054E4C433EF for ; Tue, 19 Jul 2022 09:34:36 +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=5B8fNt4AdVJQ1DAH81WTy8coLJxec6daok7/eBR5QyI=; b=VadELrDYgglyDr /oGqw5mC45NeHB2X7G7RA4p5qswV7cmDmgNQHJqN0a9IkyCB9qUZ2LFoM3gfwxw9gYv8H+XV26ik6 HNq1eThHH2YzcnrtNC27yHs5Oe9M0hLcEfT6voSnYKRffRGCAPyW+faDpy2ygLayzMICIJhAXLAiV skm3lSIcpeM7BoOGDmFBX55e0hp2mwMaPPZQVDFUNQwotdh1VQSHMVoiUrHW1+QYkqbg+bgnSMczD xkwAz/V7jdNexdA01K8yUEMojkrc1mxEeogHiSRgtDHL8YqxzDXnnMxvcS9pjefH0/X1CPxgiNlz8 2q7mmiCuq58SakmaJzgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDjbg-007QIR-Fj; Tue, 19 Jul 2022 09:33:32 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDjbc-007QHQ-BB for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 09:33:30 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id CE3776187C; Tue, 19 Jul 2022 09:33:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AFBFBC341C6; Tue, 19 Jul 2022 09:33:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1658223207; bh=yD/72a4MfYEcEssc7Q+aGbfPku8v9bwK26POLsVD7iE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Dl5p2+q6u4oepGFVGifbSabpfDZ1s06fgSNL6FRi67AEm5XvYsFdIKYaM4m7om62V ZDsSwYztj2n+VOqJxFhlu4Lsp4kyHNyj53jI4wnFwc6PeXRyAIVFXws5Pm/t5gn6pd 5hqf7+mP7x6Y6iqVqUIJ33HAG11FOnIYRD5PzmexkvsvGwxQn1Q3pqNca4ugouVwSw m9wiYzIf3lpOIjHIuXGtJ/jGwNPhQaYHuuF+df9OkX9oUL8IKyoZdTEazCg9z9L+Qx K3sk2Y9n9WTPPP7e+ML/57HViYoGY4yXCY8KK9HqbnPWX2c8niAvMuzg0uNVeddiTf IUszQ9Dqiax1w== Received: by pali.im (Postfix) id F24F8F3C; Tue, 19 Jul 2022 11:33:23 +0200 (CEST) Date: Tue, 19 Jul 2022 11:33:23 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Elad Nachman Cc: Ratheesh Kannoth , Tanmay Jagdale , Shijith Thotton , Arun Easi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Lorenzo Pieralisi , Thomas Petazzoni , Bjorn Helgaas , Marek =?utf-8?B?QmVow7pu?= , Remi Pommarel , Xogium , "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , Bharat Bhushan , Veerasenareddy Burru , Wojciech Bartczak Subject: Re: [EXT] Re: Issues with A3720 PCIe controller driver pci-aardvark.c Message-ID: <20220719093323.nzkpe2kcibszzgzm@pali> References: <20210723221710.wtztsrddudnxeoj3@pali> <20220216200940.fwdwk5rcb4zq6dyg@pali> <20220710112108.jegpz4khfsrb4ahd@pali> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_023328_497328_C44AA697 X-CRM114-Status: GOOD ( 52.88 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8gRWxhZCEKClRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHlvdXIgcmVzcG9uc2UhIFRvZ2V0 aGVyIHdpdGggS3J6eXN6dG9mIHdlIHdlcmUKdW5hYmxlIHRvIGdldCBhbnkgcmVzcG9uc2UgcmVn YXJkaW5nIHRoaXMgaXNzdWUgZm9yIG1vcmUgdGhhbiB5ZWFyLgoKSSB3b3VsZCBraW5kbHkgYXNr IGlmIHlvdS9NYXJ2ZWxsIGNvdWxkIHB1Ymxpc2ggZGVzY3JpcHRpb24gb2YgdGhpcwplcnJhdGEg dG8gTGludXgga2VybmVsIGRldmVsb3BlcnMsIHNvIG1vcmUga2VybmVsIGRldmVsb3BlcnMgY2Fu IGxvb2sgYXQKaXQgYW5kIHRyeSB0byBpbXBsZW1lbnQgd29ya2Fyb3VuZHMuCgpUb2dldGhlciB3 aXRoIEtyenlzenRvZiB3ZSBoYXZlIHJlYWxseSBhbiBpc3N1ZSB0byByZXRyaWV2ZSBhbnkga2lu ZCBvZgpkb2N1bWVudGF0aW9uIG9yIHVzZXIgZ3VpZGUgZm9yIEFybWFkYSAzNzIwIGVycmF0YXMv YnVncy4KClJlc3Qgb2YgbXkgY29tbWVudHMgSSdtIHB1dHRpbmcgaW5saW5lIGJlbG93LgoKT24g U3VuZGF5IDE3IEp1bHkgMjAyMiAwOTo0NzoxNCBFbGFkIE5hY2htYW4gd3JvdGU6Cj4gSGkgUGFs aSwKPiAKPiBDYW4geW91IHBsZWFzZSBpbmRpY2F0ZSB3aGF0IGlzIHRoZSBIVyBzb3VyY2UgKGUu Zy4gd2hpY2ggcmVnaXN0ZXIgaW4gdGhlIFBDSWUgY29udHJvbGxlcikgYml0cyBpcyB0cmFuc2xh dGVkIHRvIHRoZSBmYXRhbCBhYm9ydD8KCkkgb2JzZXJ2ZWQgdGhpcyBmYXRhbCBhYm9ydCBvbiBD UFUgd2hlbiBlbmRwb2ludCBQQ0llIGNhcmQgc2VudAppbnRlcnJ1cHQgdG8gQTM3MjAgUENJZSBj b250cm9sbGVyIGFuZCBpbnRlcnJ1cHQgaGFuZGxlciBpbiBkcml2ZXIgZm9yCmVuZHBvaW50IGNh cmQgZGlkIFBDSWUgbWVtb3J5IHdyaXRlIHRvIFBDSWUgY2FyZCBtZW1vcnkgc3BhY2UuCgpXcml0 aW5nIHRvIFBDSWUgYWRkcmVzcyByYW5nZSBmb3IgUENJZSBNRU0gb2YgZW5kcG9pbnQgY2FyZCBj YXVzZSB0aGF0CkEzNzIwIFBDSWUgY29udHJvbGxlciBzZW5kcyBmYXRhbCB1bnJlY292ZXJhYmxl IGVycm9yIHRvIENQVS4KCkhlcmUgaXMgdGhlIGNyYXNobG9nIGZyb20gbWVkaWF0ZWsgd2lmaSBj YXJkIHdoaWNoIEkgY2FwdHVyZWQgeWVhciBhZ28uCgpbICAgNzEuNDU3MDA3XSBJbnRlcm5hbCBl cnJvcjogc3luY2hyb25vdXMgZXh0ZXJuYWwgYWJvcnQ6IDk2MDAwMjEwIFsjMV0gU01QClsgICA3 MS40NjQwMjFdIE1vZHVsZXMgbGlua2VkIGluOiB4dF9jb25ubGltaXQgcHBwb2UgcHBwX2FzeW5j IG5mX2Nvbm5jb3VudCBpcHRhYmxlX25hdCBhdGg5ayB4dF9zdGF0ZSB4dF9uYXQgeHRfaGVscGVy IHh0X2Nvbm50cmFjayB4dF9jb25ubWFyayB4dF9jb25uYnl0ZXMgeHRfUkVESVJFbApbICAgNzEu NDY0MTg3XSAgYnRpbnRlbCBicl9uZXRmaWx0ZXIgYm5lcCBibHVldG9vdGggYXRoOWtfaHcgYXRo MTBrX3BjaSBhdGgxMGtfY29yZSBhdGggc2NoX3RiZiBzY2hfaW5ncmVzcyBzY2hfaHRiIHNjaF9o ZnNjIGVtX3UzMiBjbHNfdTMyIGNsc190Y2luZGV4IGNsc19yb3V0ZSBjbHNfbWcKWyAgIDcxLjYy OTU4OV0gQ1BVOiAwIFBJRDogMTI5OCBDb21tOiBrd29ya2VyL3U1OjMgTm90IHRhaW50ZWQgNS40 LjExNCAjMApbICAgNzEuNjM2MzE5XSBIYXJkd2FyZSBuYW1lOiBDWi5OSUMgVHVycmlzIE1veCBC b2FyZCAoRFQpClsgICA3MS42NDE3MjVdIFdvcmtxdWV1ZTogbmFwaV93b3JrcSBuYXBpX3dvcmtm bgpbICAgNzEuNjQ2MjIxXSBwc3RhdGU6IDgwNDAwMDg1IChOemN2IGRhSWYgK1BBTiAtVUFPKQpb ICAgNzEuNjUxMTY5XSBwYyA6IG10NzZfc2V0X2lycV9tYXNrKzB4MTE4LzB4MTUwIFttdDc2XQpb ICAgNzEuNjU2Mzg1XSBsciA6IG10NzkxNV9pbml0X2RlYnVnZnMrMHgzNTgvMHgzNjggW210Nzkx NWVdClsgICA3MS42NjIwMzhdIHNwIDogZmZmZmZmYzAxMDAwM2NkMApbICAgNzEuNjY1NDUxXSB4 Mjk6IGZmZmZmZmMwMTAwMDNjZDAgeDI4OiAwMDAwMDAwMDAwMDAwMDYwIApbICAgNzEuNjcwOTI5 XSB4Mjc6IGZmZmZmZmMwMTBhNTZmOTggeDI2OiBmZmZmZmZjMDEwYzBmYTlhIApbICAgNzEuNjc2 NDA3XSB4MjU6IGZmZmZmZmMwMTBiYTg3ODggeDI0OiBmZmZmZmY4MDNlMDFmZTAwIApbICAgNzEu NjgxODg1XSB4MjM6IDAwMDAwMDAwMDAwMDAwMzAgeDIyOiBmZmZmZmZjMDEwMDAzZGM0IApbICAg NzEuNjg3MzYxXSB4MjE6IDAwMDAwMDAwMDAwMDAwMDAgeDIwOiBmZmZmZmY4MDNlMDFmZWE0IApb ICAgNzEuNjkyODM5XSB4MTk6IGZmZmZmZjgwM2NiNzI1YzAgeDE4OiAwMDAwMDAwMDJkNjYwNzgw IApbICAgNzEuNjk4MzE3XSB4MTc6IDAwMDAwMDAwMDAwMDAwMDAgeDE2OiAwMDAwMDAwMDAwMDAw MDAxIApbICAgNzEuNzAzNzk1XSB4MTU6IDAwMDAwMDAwMDAwMDVlZTAgeDE0OiBmZmZmZmZjMDEw ZDFkMDAwIApbICAgNzEuNzA5MjcyXSB4MTM6IDAwMDAwMDAwMDAwMDJmNzAgeDEyOiAwMDAwMDAw MDAwMDAwMDAwIApbICAgNzEuNzE0NzQ5XSB4MTE6IDAwMDAwMDAwMDAwMDAwMDAgeDEwOiAwMDAw MDAwMDAwMDAwMDQwIApbICAgNzEuNzIwMjI2XSB4OSA6IGZmZmZmZmMwMTBiYmU5ODAgeDggOiBm ZmZmZmZjMDEwYmJlOTc4IApbICAgNzEuNzI1NzA0XSB4NyA6IGZmZmZmZjgwM2U0MDAzZjAgeDYg OiAwMDAwMDAwMDAwMDAwMDAwIApbICAgNzEuNzMxMTgxXSB4NSA6IGZmZmZmZmMwMmYyNDAwMDAg eDQgOiBmZmZmZmZjMDEwMDAzZTAwIApbICAgNzEuNzM2NjU4XSB4MyA6IDAwMDAwMDAwMDAwMDAw MDAgeDIgOiBmZmZmZmZjMDA4ZTNmMjMwIApbICAgNzEuNzQyMTM1XSB4MSA6IDAwMDAwMDAwMDAw ZDcwMTAgeDAgOiBmZmZmZmZjMDExNGQ3MDEwIApbICAgNzEuNzQ3NjEzXSBDYWxsIHRyYWNlOgpb ICAgNzEuNzUwMTM3XSAgbXQ3Nl9zZXRfaXJxX21hc2srMHgxMTgvMHgxNTAgW210NzZdClsgICA3 MS43NTQ5OTBdICBtdDc5MTVfZHVhbF9oaWZfc2V0X2lycV9tYXNrKzB4MTA4LzB4ZGMwIFttdDc5 MTVlXQpbICAgNzEuNzYxMDk4XSAgX19oYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDZjLzB4MTcw ClsgICA3MS43NjU5NTBdICBoYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDM0LzB4ODgKWyAgIDcx Ljc3MDUzMV0gIGhhbmRsZV9pcnFfZXZlbnQrMHg0MC8weGIwClsgICA3MS43NzQ0ODZdICBoYW5k bGVfbGV2ZWxfaXJxKzB4ZTAvMHgxNzAKWyAgIDcxLjc3ODUzMF0gIGdlbmVyaWNfaGFuZGxlX2ly cSsweDI0LzB4MzgKWyAgIDcxLjc4MjY2N10gIGFkdmtfcGNpZV9pcnFfaGFuZGxlcisweDExYy8w eDIzOApbICAgNzEuNzg3MjQ5XSAgX19oYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDZjLzB4MTcw ClsgICA3MS43OTIwOTldICBoYW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDM0LzB4ODgKWyAgIDcx Ljc5NjY4MF0gIGhhbmRsZV9pcnFfZXZlbnQrMHg0MC8weGIwClsgICA3MS44MDA2MzNdICBoYW5k bGVfZmFzdGVvaV9pcnErMHhkYy8weDE5MApbICAgNzEuODA0ODU1XSAgZ2VuZXJpY19oYW5kbGVf aXJxKzB4MjQvMHgzOApbICAgNzEuODA4OTg4XSAgX19oYW5kbGVfZG9tYWluX2lycSsweDYwLzB4 YjgKWyAgIDcxLjgxMzIxM10gIGdpY19oYW5kbGVfaXJxKzB4OGMvMHgxOTgKWyAgIDcxLjgxNzA3 N10gIGVsMV9pcnErMHhmMC8weDFjMApbICAgNzEuODIwMzE0XSAgZWwxX2RhKzB4Yy8weGMwClsg ICA3MS44MjMyODhdICBtdDc2X3NldF9pcnFfbWFzaysweDExOC8weDE1MCBbbXQ3Nl0KWyAgIDcx LjgyODE0MV0gIG10NzkxNV9tYWNfdHhfZnJlZSsweDRjNC8weDgyOCBbbXQ3OTE1ZV0KWyAgIDcx LjgzMzM1Ml0gIG10NzkxNV9xdWV1ZV9yeF9za2IrMHg1Yy8weGE4IFttdDc5MTVlXQpbICAgNzEu ODM4NDczXSAgbXQ3Nl9kbWFfY2xlYW51cCsweDg5Yy8weDEyNDggW210NzZdClsgICA3MS44NDMz MjldICBfX25hcGlfcG9sbCsweDM4LzB4ZjgKWyAgIDcxLjg0NjgzNV0gIG5hcGlfd29ya2ZuKzB4 NTgvMHhiMApbICAgNzEuODUwMzQyXSAgcHJvY2Vzc19vbmVfd29yaysweDFmYy8weDM5MApbICAg NzEuODU0NDc1XSAgd29ya2VyX3RocmVhZCsweDQ4LzB4NGQwClsgICA3MS44NTgyNTJdICBrdGhy ZWFkKzB4MTIwLzB4MTI4ClsgICA3MS44NjE1ODFdICByZXRfZnJvbV9mb3JrKzB4MTAvMHgxYwpb ICAgNzEuODY1MjczXSBDb2RlOiA1MjgwMDAwMCBkNjVmMDNjMCBmOTU2MmMwMCA4YjIxNDAwMCAo Yjk0MDAwMDApIApbICAgNzEuODcxNTYwXSAtLS1bIGVuZCB0cmFjZSAxZDRlMjk5ODcwMTE0MTFi IF0tLS0KWyAgIDcxLjg3NjMyMF0gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4 Y2VwdGlvbiBpbiBpbnRlcnJ1cHQKWyAgIDcxLjg4Mjg3NV0gU01QOiBzdG9wcGluZyBzZWNvbmRh cnkgQ1BVcwpbICAgNzEuODg2OTIzXSBLZXJuZWwgT2Zmc2V0OiBkaXNhYmxlZApbICAgNzEuODkw NTE5XSBDUFUgZmVhdHVyZXM6IDB4MDAwMiwwMDAwMjAwOApbICAgNzEuODk0NjQ5XSBNZW1vcnkg TGltaXQ6IG5vbmUKWyAgIDcxLjg5Nzc5OV0gUmVib290aW5nIGluIDMgc2Vjb25kcy4uCgooaW4g b3RoZXIgU29DL3N5c3RlbXMsIGluY2x1ZGluZyBNYXJ2ZWxsLCBpcyB0aGlzIGNhcmQgd29ya2lu ZyBmaW5lKQoKSXQgaXMgZnJvbSBvbGRlciBrZXJuZWwsIGJ1dCBpc3N1ZSBpcyBzdGlsbCB0aGVy ZSBhbmQgaGFwcGVucyBhbHNvIHdpdGgKbmV3IGtlcm5lbHMuIE1lZGlhdGVrIGRyaXZlciBpbiBp dHMgaW50ZXJydXB0IGhhbmRsZXIgaXMgbWFza2luZyBzb21lCmludGVycnVwdHMgaW4gaXRzIGlu dGVycnVwdCBoYW5kbGVyLCB3aGljaCBpcyBkb25lIGJ5IHdyaXRpbmcgdG8gUENJZQphZGRyZXNz IHNwYWNlIG9mIGVuZHBvaW50IGNhcmQuCgpBbnl3YXksIEkgY2FuIHJlcHJvZHVjZSBzYW1lIGNy YXNoIHdoZW4gSSBzZXQgUENJZSBsaW5rIGRvd24gb3IgcmVzZXQKbGluayBhbmQgdHJ5aW5nIHRv IHJlYWQgZnJvbSBQQ0llIE1FTSBvciBDRkcgc3BhY2UuIFNlZW1zIHRoYXQgUENJZQpjb250cm9s bGVyIGluY29ycmVjdGx5IHJlcG9ydHMgZXJyb3JzIHRvIENQVSwgaXQgc2hvdWxkIHJldHVybiBh bGwtb25lcwp3aGVuIFBDSWUgZGV2aWNlIGlzIG5vdCBwcmVzZW50IChlLmcuIGR1cmluZyBsaW5r IGRvd24pIGFuZCBub3Qgc2VuZApmYXRhbCBhYm9ydCB0byBDUFUuIEkuZS4gaW5zdGVhZCBvZiBB WEkgT0sgd2l0aCAweGZmZmZmZmZmIGRhdGEsIGl0CnNlbmRzIEFYSSBTTFZFUlIgdG8gQ1BVIHdo aWNoIGNhdXNlIHRoYXQgY3Jhc2guCgpUaGlzIGlzIHNvbWV0aGluZyB3aGljaCBzaG91bGQgYmUg Y29uZmlndXJhYmxlIGJ1dCBJJ20gbm90IGFibGUgdG8gZmluZAphbnkgQTM3MjAgZG9jdW1lbnRh dGlvbiB3aGljaCB3b3VsZCBkZXNjcmliZSBob3cgdG8gY29uZmlndXJlIGl0LgoKPiBSZWdhcmRp bmcgdGhlIEVycmF0dW0sIGJhc2ljYWxseSB0byB0aGUgYmVzdCBvZiBteSB1bmRlcnN0YW5kaW5n LCBpZiB0aGUgRW5kIFBvaW50IGlzIHBvc3RpbmcgYSBQQ0llIHdyaXRlIHRvIHRoZSBob3N0LCBh bmQgdGhlIGhvc3QgaXMgdHJ5aW5nIHRvIHJlYWQgdGhlIEVuZCBQb2ludCByZWdpc3RlcnMgdmlh IFBDSWUsIENvbXBsZXRpb24gZGF0YSBpcyBnZW5lcmF0ZWQgLiBXaXRoIHRoZSBzdHJvbmcgb3Jk ZXJlZCBtb2RlLCBvbmUgd291bGQgZXhwZWN0IHRoYXQgZmlyc3QgdGhlIHBvc3Qgd3JpdGUgd2ls bCBmaW5pc2gsIGFuZCBvbmx5IHRoZW4gdGhlIGNvbXBsZXRpb24gZGF0YSB3aWxsIGJlIHByb2Nl c3NlZC4gVGhlIEVycmF0dW0gbWVhbnMgdGhhdCB0aGlzIG1vZGUgaXMgbm90IHN1cHBvcnRlZC4g VGhlIERJU19PUkRfQ0hLIG11c3QgYmUgc2V0IHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLCB3aGlj aCBpcyBub3Qgc3VwcG9ydGVkIGJ5IEhXLgoKT2ssIHRoYW5rIHlvdSBmb3IgZXhwbGFuYXRpb24h Cgo+IFJlZ2FyZGluZyBCam9ybiBjb21tZW50LCBub3QgZW5hYmxpbmcgdGhpcyBiaXQgd2lsbCBu b3QgaGVscCBhcyB0aGUgc3Ryb25nLW9yZGVyIGZlYXR1cmUgaXMgbm90IGltcGxlbWVudGVkIGlu IEhXLgo+IExlYXZpbmcgdGhpcyBiaXQgZGlzYWJsZWQgd2lsbCBub3QgbWFrZSB0aGUgSFcgZW5m b3JjZSBzdHJvbmctb3JkZXIuIFRoZXJlIGlzIG5vIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRo ZSBIVyBiZWhhdmlvciB3aGVuIHRoZSBiaXQgaXMgZGlzYWJsZWQgcGVyIHRoZSBkZWZhdWx0LCBi dXQgYXMgaXMgY2xlYXJseSBldmlkZW50IGZyb20gdGhlIEVycmF0dW0gYW5kIGZyb20geW91ciBv d24gZXhwZXJpZW5jZSwgbGVhdmluZyB0aGlzIGJpdCBkaXNhYmxlZCB3b3VsZCBub3QgY3JlYXRl IHRoZSBjb3JyZWN0LCBleHBlY3RlZCBiZWhhdmlvciBmcm9tIHRoZSBIVywgd2hpY2ggaXMgd2h5 IGl0IG11c3QgYmUgZW5hYmxlZCBmb3IgY29ycmVjdCBmdW5jdGlvbmFsaXR5IG9mIHRoZSBzeXN0 ZW0gKGJvdGggaGFyZHdhcmUgYW5kIHNvZnR3YXJlKS4KCldoYXQgZG9lcyBpdCBtZWFuIHRoYXQg c3Ryb25nLW9yZGVyIGZlYXR1cmUgaXMgbm90IGltcGxlbWVudGVkIGluIEhXPwpTdHJvbmctb3Jk ZXIgbW9kZWwgaXMgcmVxdWlyZW1lbnQgaW4gUENJZS4gVGhpcyBpcyByZWFsbHkgc3RyYW5nZSBp ZgpQQ0llIGNvcmUgcmVxdWlyZW1lbnQgZG9lcyBub3Qgd29yayBpbiBBMzcyMCBIVy4KCkFueXdh eSwgaW4gTWFydmVsbCBvcmlnaW5hbCBBMzcyMCBQQ0llIGRyaXZlciBpcyBleHBsaWNpdGx5IHR1 cm5lZCBvZmYKUmVsYXhlZCBQQ0llIG9yZGVyaW5nIChhbmQgc2FtZSBpcyBpbiBtYWlubGluZSBw Y2ktYWFyZHZhcmsuYyBkcml2ZXIpOgpodHRwczovL2dpdGh1Yi5jb20vTWFydmVsbEVtYmVkZGVk UHJvY2Vzc29ycy9saW51eC1tYXJ2ZWxsL2Jsb2IvZjEyYjM1NTcwOTVmZjFkOWI3YmU3OGJlZjdh MzIzN2UyN2I3Nzc4ZS9kcml2ZXJzL3BjaS9ob3N0L3BjaS1hZHZrLWFybTY0LmMjTDM5NwoKU28g aWYgYm90aCBSZWxheGVkIGFuZCBTdHJvbmcgb3JkZXJpbmcgYXJlIGdvaW5nIHRvIGJlIGRpc2Fi bGVkLCB3aGF0CmtpbmQgb2Ygb3JkZXJpbmcgbW9kZWwgaXMgdGhlbiB1c2VkPyBUaGlzIGlzIHNv bWV0aGluZyB3aGljaCBJIGRvIG5vdAp1bmRlcnN0YW5kIGhlcmUuCgo+IFJlZ2FyZGluZyB0aGUg cGF0Y2ggLSBJIHdvdWxkIGFsc28gYWRkIGEgZnVsbCBtZW1vcnkgYmFycmllciAoaWYgeW91IHVz ZSBpbnRlcnJ1cHRzIG9uIHRoZSBob3N0IHRvIGhhbmRsZSB0aGUgd3JpdGUgY29tcGxldGlvbiAt IHRoZW4gaW4gdGhlIFBDSWUgZHJpdmVyIGludGVycnVwdCBoYW5kbGVyLCBvdGhlcndpc2UgdGhp cyB3aWxsIHJlcXVpcmUgbW9kaWZ5aW5nIHRoZSBzcGVjaWZpYyBXSUZJIGRyaXZlcikgaW4gb3Jk ZXIgdG8gbWluaW1pemUgdGhlIHJpc2sgZm9yIHRoZSByYWNlIGNvbmRpdGlvbiBkb2N1bWVudGVk IGluIHRoZSBFcnJhdHVtIGJldHdlZW4gdGhlIERNQSBkb25lIHN0YXR1cyByZWFkaW5nIGFuZCB0 aGUgY29tcGxldGlvbiBvZiB3cml0aW5nIHRvIHRoZSBob3N0IG1lbW9yeS4gVGhpcyBvZiBjb3Vy c2UgZG9lcyBub3QgZ3VhcmFudGVlIG9yZGVyLCBidXQgaXQgaXMgYmV0dGVyIHRoYW4gbGVhdmlu ZyBpdCB0aGUgd2F5IGl0IGlzLgoKSSdtIG5vdCBzdXJlIGlmIEkgdW5kZXJzdGFuZCB5b3UgY29y cmVjdGx5LiBEbyB5b3UgbWVhbiB0byBjYWxsIEFSTSBEU0IKaW5zdHJ1Y3Rpb24gZm9yIERhdGEg U3luY2hyb25pemF0aW9uIEJhcnJpZXIgaW4gQTM3MjAgUENJZSBzdW1tYXJ5CmludGVycnVwdCBo YW5kbGVyIGluIHBjaS1hYXJkdmFyay5jIHByaW9yIGNoYWluaW5nIHRvIHdpZmkgZHJpdmVyCmlu dGVycnVwdCBoYW5kbGVyPwoKPiBIb3BlZnVsbHkgdGhpcyBoZWxwcywKPiAKPiBFbGFkLgo+IAo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogUGFsaSBSb2jDoXIgPHBhbGlAa2Vy bmVsLm9yZz4gCj4gU2VudDogU3VuZGF5LCBKdWx5IDEwLCAyMDIyIDI6MjEgUE0KPiBUbzogRWxh ZCBOYWNobWFuIDxlbmFjaG1hbkBtYXJ2ZWxsLmNvbT47IFJhdGhlZXNoIEthbm5vdGggPHJrYW5u b3RoQG1hcnZlbGwuY29tPjsgVGFubWF5IEphZ2RhbGUgPHRhbm1heUBtYXJ2ZWxsLmNvbT47IFNo aWppdGggVGhvdHRvbiA8c3Rob3R0b25AbWFydmVsbC5jb20+OyBBcnVuIEVhc2kgPGFlYXNpQG1h cnZlbGwuY29tPgo+IENjOiBLcnp5c3p0b2YgV2lsY3p5xYRza2kgPGt3QGxpbnV4LmNvbT47IExv cmVuem8gUGllcmFsaXNpIDxsb3JlbnpvLnBpZXJhbGlzaUBhcm0uY29tPjsgVGhvbWFzIFBldGF6 em9uaSA8dGhvbWFzLnBldGF6em9uaUBib290bGluLmNvbT47IEJqb3JuIEhlbGdhYXMgPGJoZWxn YWFzQGdvb2dsZS5jb20+OyBNYXJlayBCZWjDum4gPGthYmVsQGtlcm5lbC5vcmc+OyBSZW1pIFBv bW1hcmVsIDxyZXBrQHRyaXBsZWZhdS5sdD47IFhvZ2l1bSA8Y29udGFjdEB4b2dpdW0ubWU+OyBs aW51eC1wY2lAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBs aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IEJoYXJhdCBCaHVzaGFuIDxiYmh1 c2hhbjJAbWFydmVsbC5jb20+OyBWZWVyYXNlbmFyZWRkeSBCdXJydSA8dmJ1cnJ1QG1hcnZlbGwu Y29tPjsgV29qY2llY2ggQmFydGN6YWsgPHdiYXJ0Y3pha0BtYXJ2ZWxsLmNvbT4KPiBTdWJqZWN0 OiBbRVhUXSBSZTogSXNzdWVzIHdpdGggQTM3MjAgUENJZSBjb250cm9sbGVyIGRyaXZlciBwY2kt YWFyZHZhcmsuYwo+IAo+IEV4dGVybmFsIEVtYWlsCj4gCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICsgT3Ro ZXIgcGVvcGxlIGZyb20gTWFydmVsbCBhY3RpdmUgb24gTEtNTC4KPiAKPiBDb3VsZCB5b3UgcGxl YXNlIGxvb2sgYXQgdGhpcyBpc3N1ZSBhbmQgZ2l2ZSB1cyBzb21lIGNvbW1lbnQ/IEl0IGlzIHJl YWxseSBjcml0aWNhbCBpc3N1ZSB3aGljaCBuZWVkcyB0byBiZSBzb2x2ZWQuCj4gCj4gT24gV2Vk bmVzZGF5IDE2IEZlYnJ1YXJ5IDIwMjIgMjE6MDk6NDAgUGFsaSBSb2jDoXIgd3JvdGU6Cj4gPiAr IEJoYXJhdCwgVmVlcmFzZW5hcmVkZHkgYW5kIFdvamNpZWNoIGZyb20gTWFydmVsbAo+ID4gCj4g PiBIZWxsbyEgQ291bGQgeW91IHBsZWFzZSBsb29rIGF0IHRoaXMgZW1haWwgYW5kIGhlbHAgdXMg d2l0aCB0aGlzIE1hcnZlbGwgSFcgaXNzdWU/Cj4gPiAKPiA+IE9uIFNhdHVyZGF5IDI0IEp1bHkg MjAyMSAwMDoxNzoxMCBQYWxpIFJvaMOhciB3cm90ZToKPiA+ID4gSGVsbG8gS29uc3RhbnRpbiEK PiA+ID4gCj4gPiA+IFRoZXJlIGFyZSBpc3N1ZXMgd2l0aCBNYXJ2ZWxsIEFybWFkYSAzNzIwIFBD SWUgY29udHJvbGxlciB3aGVuIGhpZ2ggCj4gPiA+IHBlcmZvcm1hbmNlIFBDSWUgY2FyZCAoZS5n LiBXaUZpIEFYKSBpcyBjb25uZWN0ZWQgdG8gdGhpcyBTT0MuIFVuZGVyIAo+ID4gPiBoZWF2eSBs b2FkIFBDSWUgY29udHJvbGxlciBzZW5kcyBmYXRhbCBhYm9ydCB0byBDUFUgYW5kIGtlcm5lbCBj cmFzaC4KPiA+ID4gCj4gPiA+IEluIE1hcnZlbGwgQXJtYWRhIDM3MDAgRnVuY3Rpb25hbCBFcnJh dGEsIEd1aWRlbGluZXMsIGFuZCAKPiA+ID4gUmVzdHJpY3Rpb25zIGRvY3VtZW50IGlzIGRlc2Ny aWJlZCBlcnJhdHVtIDMuMTIgUENJZSBDb21wbGV0aW9uIAo+ID4gPiBUaW1lb3V0IChSZWYgIzog MjUxKSB3aGljaCBtYXkgYmUgcmVsZXZhbnQuIEJ1dCBuZWl0aGVyIEJqb3JuLCAKPiA+ID4gVGhv bWFzIG5vciBtZSB3ZXJlIGFibGUgdG8gdW5kZXJzdG9vZCB0ZXh0IG9mIHRoaXMgZXJyYXR1bS4g QW5kIHdlIAo+ID4gPiBoYXZlIGFscmVhZHkgc3BlbnQgbG90IG9mIHRpbWUgb24gdGhpcyBlcnJh dHVtLiBNeSBndWVzcyB0aGF0IGlzIAo+ID4gPiB0aGF0IGluIGVycmF0dW0gaXRzZWxmIGFyZSBt aXN0YWtlcyBhbmQgdGhlcmUgYXJlIG1pc3Npbmcgc29tZSBvdGhlciBpbXBvcnRhbnQgZGV0YWls cy4KPiA+ID4gCj4gPiA+IEtvbnN0YW50aW4sIGFyZSB5b3UgYWJsZSB0byB1bmRlcnN0YW5kIHRo aXMgZXJyYXR1bT8gT3IgZG8geW91IGtub3cgCj4gPiA+IHNvbWVib2R5IGluIE1hcnZlbGwgd2hv IHVuZGVyc3RhbmQgdGhpcyBlcnJhdHVtIGFuZCBjYW4gZXhwbGFpbiAKPiA+ID4gZGV0YWlscyB0 byB1cz8gT3IgZG8geW91IGtub3cgc29tZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhpcyBlcnJhdHVt Pwo+ID4gPiAKPiA+ID4gQWxzbyBpdCB3b3VsZCBiZSB1c2VmdWwgaWYgeW91IC8gTWFydmVsbCBj b3VsZCBzaGFyZSB0ZXh0IG9mIHRoaXMgCj4gPiA+IGVycmF0dW0gd2l0aCBsaW51eC1wY2kgcGVv cGxlIGFzIGN1cnJlbnRseSBpdCBpcyBhdmFpbGFibGUgb25seSBvbiAKPiA+ID4gTWFydmVsbCBD dXN0b21lciBQb3J0YWwgd2hpY2ggcmVxdWlyZXMgcmVnaXN0cmF0aW9uIHdpdGggc2lnbmVkIE5E QS4KPiA+ID4gCj4gPiA+IEluIHBhc3QgVGhvbWFzIHdyb3RlIHBhdGNoICJhY2NvcmRpbmcgdG8g dGhpcyBlcnJhdHVtIiBhbmQgSSBoYXZlIAo+ID4gPiByZWJhc2VkLCByZXdyaXR0ZW4gYW5kIHJl c2VudCBpdCB0byBsaW51eC1wY2kgbWFpbGluZyBsaXN0IGZvciByZXZpZXc6Cj4gPiA+IGh0dHBz Oi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbG9yZS5rZXJu ZWwub3JnCj4gPiA+IF9saW51eC0yRHBjaV8yMDIxMDYyNDIyMjYyMS40Nzc2LTJENi0yRHBhbGkt NDBrZXJuZWwub3JnXyZkPUR3SURhUSZjCj4gPiA+ID1uS2pXZWMyYjZSMG1PeVBhejd4dGZRJnI9 ZVRlTlRMRUs1LVR4WGN6ak9jS1BoQU5JRnRsQjlwUDRscTlxaGRsRnJ3Cj4gPiA+IFEmbT1vcFlz UXN2X3NmU3ZUdEE1b0p3YzFwYVpyUEFXTUhWaFR4XzlKMVZXQlZEa3NCRVRDWFZzQzNyUkRiNWVq Z2ctCj4gPiA+ICZzPUFLYkVCV09JeGE0QTBRU0ZYaXE2SGhLcEJ5bjBoUEp1WnZieHN1M204b28m ZT0KPiA+ID4gCj4gPiA+IFNpbWlsYXIgcGF0Y2ggaXMgYXZhaWxhYmxlIGFsc28gaW4ga2VybmVs IHdoaWNoIGlzIHBhcnQgb2YgTWFydmVsbCBTREsuCj4gPiA+IAo+ID4gPiBCam9ybiBoYXMgb2Jq ZWN0aW9ucyBmb3IgdGhpcyBwYXRjaCBhcyBoZSB0aGlua3MgdGhhdCBiaXQgCj4gPiA+IERJU19P UkRfQ0hLIGluIHRoYXQgcGF0Y2ggc2hvdWxkIGJlIGRpc2FibGVkLiBTZWVtcyB0aGF0IGVuYWJs aW5nIAo+ID4gPiB0aGlzIGJpdCBlZmZlY3RpdmVseSBkaXNhYmxlcyBQQ0llIHN0cm9uZyBvcmRl cmluZyBtb2RlbC4gUENJZSAKPiA+ID4ga2VybmVsIGRyaXZlcnMgcmVseSBvbiBQQ0llIHN0cm9u ZyBvcmRlcmluZywgc28gaXQgd291bGQgaW1wbGljYXRlIAo+ID4gPiB0aGF0IHRoYXQgYml0IHNo b3VsZCBub3QgYmUgZW5hYmxlZC4gV2hpY2ggaXMgb3Bwb3NpdGUgb2Ygd2hhdCBpcyBtZW50aW9u ZWQgcGF0Y2ggZG9pbmcuCj4gPiA+IAo+ID4gPiBLb25zdGFudGluLCBjb3VsZCB5b3UgaGVscCB1 cyB3aXRoIHRoaXMgcHJvYmxlbT8KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJu ZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK