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 X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5DDDC43603 for ; Fri, 20 Dec 2019 01:45:13 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 7DE8224672 for ; Fri, 20 Dec 2019 01:45:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tbq3cowJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7DE8224672 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=A/v7OeFbQHct2UmZ60V0oY8Bw3FWY4H6rg2fMRqAoxw=; b=tbq3cowJhfKxXX dX3HQLSN4gXIitdE9yK24uNNalQ1FgjJvUwY/xaBJ9X2DtdRT6RFkZFpcUZoI0lhHA7W0U3OYsC34 Z8M8jKwwjDNK64FVqync6PkeUyUgLL4jMqwrkRmRdXh/J3T2Rk1gXHJaKQvnp6h+4J9XKR97J8eJc wxfg17IE3uO/yuGCt6BYk3eEHjL7VftJs4yViOgPzWy8OB4fE9w7qK3RCvKkHh7WN427CG9konObl kSWBtbpZOsJmzXwRQZdJyHQnOgXo/06qwR137+pyXDJfiEvVVLf1C4ucQZ+cYCTZ2b4UO6kqAq2EU AfJztP5quOtokF1lX/kA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ii7Ls-0006bL-RN; Fri, 20 Dec 2019 01:45:12 +0000 Received: from szxga07-in.huawei.com ([45.249.212.35] helo=huawei.com) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ii7Lo-0005yQ-BI; Fri, 20 Dec 2019 01:45:10 +0000 Received: from DGGEMS404-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id E7D69B8097573968D73D; Fri, 20 Dec 2019 09:45:02 +0800 (CST) Received: from [127.0.0.1] (10.177.131.64) by DGGEMS404-HUB.china.huawei.com (10.3.19.204) with Microsoft SMTP Server id 14.3.439.0; Fri, 20 Dec 2019 09:44:54 +0800 Subject: Re: ` To: John Donnelly References: <20190830071200.56169-1-chenzhou10@huawei.com> <2a97b296-59e7-0a26-84fa-e2ddcd7987b6@huawei.com> <11E080AF-28F1-481A-BF16-9C062091D900@oracle.com> <94c4540b-6467-002f-6cfc-bacc4ac45d24@huawei.com> From: Chen Zhou Message-ID: Date: Fri, 20 Dec 2019 09:44:52 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: X-Originating-IP: [10.177.131.64] X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191219_174508_764632_63A3E219 X-CRM114-Status: GOOD ( 18.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: horms@verge.net.au, will@kernel.org, catalin.marinas@arm.com, bhsharma@redhat.com, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, mingo@redhat.com, james.morse@arm.com, guohanjun@huawei.com, tglx@linutronix.de, dyoung@redhat.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgSm9obiwKCk9uIDIwMTkvMTIvMjAgMjozMywgSm9obiBEb25uZWxseSB3cm90ZToKPiAKPiAK Pj4gT24gRGVjIDE4LCAyMDE5LCBhdCA4OjU2IFBNLCBDaGVuIFpob3UgPGNoZW56aG91MTBAaHVh d2VpLmNvbT4gd3JvdGU6Cj4+Cj4+IEhpIEpvaG4sCj4+Cj4+IE9uIDIwMTkvMTIvMTkgMToxOCwg Sm9obiBEb25uZWxseSB3cm90ZToKPj4+IEhJIAo+Pj4KPj4+IFNFRSBJTkxJTkUgT04gQSBRVUVT VElPTiA6Cj4+Pgo+Pj4+IE9uIERlYyAxNywgMjAxOSwgYXQgODowNyBQTSwgQ2hlbiBaaG91IDxj aGVuemhvdTEwQGh1YXdlaS5jb20+IHdyb3RlOgo+Pj4+Cj4+Pj4gSGkgYWxsLAo+Pj4+Cj4+Pj4g RnJpZW5kbHkgcGluZy4uLgo+Pj4+Cj4+Pj4gT24gMjAxOS84LzMwIDE1OjExLCBDaGVuIFpob3Ug d3JvdGU6Cj4+Pj4+IEkgYW0gYnVzeSB3aXRoIG90aGVyIHRoaW5ncywgc28gaXQgd2FzIGEgbG9u ZyB0aW1lIGJlZm9yZSB0aGlzIHZlcnNpb24gd2FzCj4+Pj4+IHJlbGVhc2VkLgo+Pj4+Pgo+Pj4+ PiBUaGlzIHBhdGNoIHNlcmllcyBlbmFibGUgcmVzZXJ2aW5nIGNyYXNoa2VybmVsIGFib3ZlIDRH IGluIGFybTY0Lgo+Pj4+Pgo+Pj4+PiBUaGVyZSBhcmUgZm9sbG93aW5nIGlzc3VlcyBpbiBhcm02 NCBrZHVtcDoKPj4+Pj4gMS4gV2UgdXNlIGNyYXNoa2VybmVsPVggdG8gcmVzZXJ2ZSBjcmFzaGtl cm5lbCBiZWxvdyA0Rywgd2hpY2ggd2lsbCBmYWlsCj4+Pj4+IHdoZW4gdGhlcmUgaXMgbm8gZW5v dWdoIGxvdyBtZW1vcnkuCj4+Pj4+IDIuIEN1cnJlbnRseSwgY3Jhc2hrZXJuZWw9WUBYIGNhbiBi ZSB1c2VkIHRvIHJlc2VydmUgY3Jhc2hrZXJuZWwgYWJvdmUgNEcsCj4+Pj4+IGluIHRoaXMgY2Fz ZSwgaWYgc3dpb3RsYiBvciBETUEgYnVmZmVycyBhcmUgcmVxdWllcmQsIGNyYXNoIGR1bXAga2Vy bmVsCj4+Pj4+IHdpbGwgYm9vdCBmYWlsdXJlIGJlY2F1c2UgdGhlcmUgaXMgbm8gbG93IG1lbW9y eSBhdmFpbGFibGUgZm9yIGFsbG9jYXRpb24uCj4+Pgo+Pj4KPj4+ICAgICAgQ2FuIHlvdSBlbGFi b3JhdGUgd2hlbiB0aGUgYm9vdCBmYWlsdXJlcyBtYXkgZmFpbCBkdWUgdG8gbGFja2luZyAgc3dp b3RsYiBvciBETUEgYnVmZmVycyA/IEFyZSB0aGVzZSByZWxhdGVkIHRvIGNlcnRhaW4gYWRhcHRl cnMgb3Igc3BlY2lmaWMgIHBsYXRmb3JtcyAgPyAKPj4+Cj4+PiAgICAgSSBoYXZlIG5vdCBzZWVu IHRoaXMgd2hlbiB1c2luZyAgIGNyYXNoa2VybmVsPTIwMjRNQDM1R0IgLiAKPj4+Cj4+Cj4+IEZv ciBleGFtcGxlLCBpbiBteSBlbnZpcm9ubWVudCAiSHVhd2VpIFRhaVNoYW4gMjI4MCIsCj4+IHdl IG5lZWQgdG8gdXNlIG1wdDNzYXMgZHJpdmVyIGluIGNyYXNoIGR1bXAga2VybmVsIGZvciBkdW1w aW5nIHZtY29yZS4KPj4KPj4gbXB0M3NhcyBkcml2ZXIgbmVlZHMgdG8gY2FsbCBkbWFfcG9vbF9h bGxvYyB0byBhbGxvY2F0ZSBzb21lIHBhZ2VzLAo+PiBpZiB0aGVyZSBpcyBubyBETUEgYnVmZmVy LCBwYWdlIGFsbG9jYXRpb24gd2lsbCBmYWlsLCB3aGljaCBsZWFkcyB0byBjcmFzaCBkdW1wIGtl cm5lbCBib290IGZhaWx1cmUsCj4+IGxpa2UgdGhpczoKPj4KPj4gWzIwMTkvMTIvMTkgOToxMjo0 MV0gWyAgIDEyLjQwMzUwMV0gbXB0M3Nhc19jbTA6IGRpYWcgcmVzZXQ6IFNVQ0NFU1MKPj4gWzIw MTkvMTIvMTkgOToxMjo0MV0gWyAgIDEyLjQ1NjA3Nl0gbXB0M3Nhc19jbTA6IHJlcGx5X3Bvc3Rf ZnJlZSBwb29sOiBkbWFfcG9vbF9hbGxvYyBmYWlsZWQKPj4gWzIwMTkvMTIvMTkgOToxMjo0MV0g WyAgIDEyLjQ2MjUxNV0gcGNpIDAwMDQ6NDg6MDAuMDogY2FuJ3QgZGVyaXZlIHJvdXRpbmcgZm9y IFBDSSBJTlQgQQo+PiBbMjAxOS8xMi8xOSA5OjEyOjQxXSBbICAgMTIuNDY4NzYxXSBtcHQzc2Fz IDAwMDQ6NDk6MDAuMDogUENJIElOVCBBOiBubyBHU0kKPj4gWzIwMTkvMTIvMTkgOToxMjo0MV0g WyAgIDEyLjQ3NjM0OF0gbXB0M3Nhc19jbTA6IGZhaWx1cmUgYXQgZHJpdmVycy9zY3NpL21wdDNz YXMvbXB0M3Nhc19zY3NpaC5jOjEwNjI2L19zY3NpaF9wcm9iZSgpIQo+PiBbMjAxOS8xMi8xOSA5 OjE0OjM4XSBbIFRJTUUgXSBUaW1lZCBvdXQgd2FpdGluZyBmb3IgZGV2aWNlIGRldi1kaeKApmIz XHgyZDg5MGFceDJkMmVhZDdkZjI2ZjQ4LmRldmljZS4KPj4gWzIwMTkvMTIvMTkgOToxNDozOF0g W0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIEluaXRyZCBSb290IERldmljZS4KPj4gWzIw MTkvMTIvMTkgOToxNDozOF0gW0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIC9zeXNyb290 Lgo+PiBbMjAxOS8xMi8xOSA5OjE0OjM4XSBbREVQRU5EXSBEZXBlbmRlbmN5IGZhaWxlZCBmb3Ig SW5pdHJkIFJvb3QgRmlsZSBTeXN0ZW0uCj4+IFsyMDE5LzEyLzE5IDk6MTQ6MzhdIFtERVBFTkRd IERlcGVuZGVuY3kgZmFpbGVkIGZvciBSZWxvYWQgQ29uZmlndXJhdGlvbiBmcm9tIHRoZSBSZWFs IFJvb3QuCj4+IFsyMDE5LzEyLzE5IDk6MTQ6MzhdIFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVk IGZvciBGaWxlIFN5c3RlbSBD4oCmNDBiYWUtOWViOC00NmIzLTg5MGEtMmVhZDdkZjI2ZjQ4Lgo+ IAo+IAo+ICBUaGFuayB5b3UgZm9yIHNoYXJpbmcgLiAgV2UgYXJlIG5vdCBzZWVpbmcgdGhpcyBp c3N1ZSBvbiBhIDUuNC4wLnJjOCA7ICAgIExpa2UgSSBzYWlkIGluIGEgcHJldmlvdXMgZW1haWwg d2UgY2FuICB0YWtlIGNyYXNoIGR1bXBzIHVzaW5nIGNyYXNoa2VybmVsPTc2OE0gZm9yIGEgIOKA nCBzdGFuZGFyZCDigJwgc21hbGwgVk1jb3JlIHRvIGxvY2FsIHN0b3JhZ2UgOgo+IAo+IDAwMDQ6 MDE6MDAuMCBSQUlEIGJ1cyBjb250cm9sbGVyOiBCcm9hZGNvbSAvIExTSSBNZWdhUkFJRCBTQVMt MyAzMzE2IFtJbnRydWRlcl0gKHJldiAwMSkKPiAJU3Vic3lzdGVtOiBCcm9hZGNvbSAvIExTSSBN ZWdhUkFJRCBTQVMgOTM2MS0xNmkKPiAJS2VybmVsIGRyaXZlciBpbiB1c2U6IG1lZ2FyYWlkX3Nh cyAKPiAKPiAKPiBXaGF0IHZlcnNpb24gb2YgdGhlIGtlcm5lbCBhcmUgeW91IHVzaW5nID8KCjUu NS4wLnJjMQoKQXMgSSBzYWlkIGluIHRoZSBwYXRjaCBzZXJpZXMgY292ZXItbGV0dGVyLCB0aGlz IHBhdGNoIHNlcmllcyBhZGRyZXNzIGZvbGxvd2luZyBjYXNlcy9pc3NzdWVzLgoKVGhlcmUgYXJl IGZvbGxvd2luZyBpc3N1ZXMgaW4gYXJtNjQga2R1bXA6CjEuIFdlIHVzZSBjcmFzaGtlcm5lbD1Y IHRvIHJlc2VydmUgY3Jhc2hrZXJuZWwgYmVsb3cgNEcsIHdoaWNoIHdpbGwgZmFpbAp3aGVuIHRo ZXJlIGlzIG5vIGVub3VnaCBsb3cgbWVtb3J5LgoyLiBDdXJyZW50bHksIGNyYXNoa2VybmVsPVlA WCBjYW4gYmUgdXNlZCB0byByZXNlcnZlIGNyYXNoa2VybmVsIGFib3ZlIDRHLAppbiB0aGlzIGNh c2UsIGlmIHN3aW90bGIgb3IgRE1BIGJ1ZmZlcnMgYXJlIHJlcXVpcmVkLCBjcmFzaCBkdW1wIGtl cm5lbAp3aWxsIGJvb3QgZmFpbHVyZSBiZWNhdXNlIHRoZXJlIGlzIG5vIGxvdyBtZW1vcnkgYXZh aWxhYmxlIGZvciBhbGxvY2F0aW9uLgoKRnJvbSB5b3VyIGRlc2NyaXB0aW9uLCB5b3UgdXNlIGNy YXNoa2VybmVsPTc2OE0uClRoZXJlIGFyZSBlbm91Z2ggY3Jhc2hrZXJuZWwgYmVsb3cgNEcsIHNv IGNyYXNoa2VybmVsIHdpbGwgYmUKcmVzZXJ2ZWQgc3VjY2Vzc2Z1bGx5IGFuZCBrZHVtcCBiZSBv ay4g77yIVGhpcyBjYXNlIGhhcyBubyBETUEgYnVmZmVycyBpc3N1ZS7vvIkKCm9yIHlvdSB1c2Ug Y3Jhc2hrZXJuZWw9MjAyNE1AMzVHQiwgYW5kIHRoaXMgY2FzZSBpcyBvaz8KSWYgeW91ciBkcml2 ZXIgZG9lc24ndCBuZWVkIERNQSBidWZmZXJzKEkgYW0gbm90IHN1cmUgYWJvdXQgaXQpLCBrZHVt cCB3aWxsIGFsc28gYmUgb2suCgoKSWYgaSB1bmRlcnN0YW5kIHlvdXIgcXVlc3Rpb24gYW5kIGV4 cGxhaW4gY2xlYXJseT8KClRoYW5rcywKQ2hlbiBaaG91Cgo+IAo+IAo+Pgo+PiBUaGFua3MsCj4+ IENoZW4gWmhvdQo+Pgo+Pj4KPj4+Pj4KPj4+Pj4gVG8gc29sdmUgdGhlc2UgaXNzdWVzLCBpbnRy b2R1Y2UgY3Jhc2hrZXJuZWw9WCxsb3cgdG8gcmVzZXJ2ZSBzcGVjaWZpZWQKPj4+Pj4gc2l6ZSBs b3cgbWVtb3J5Lgo+Pj4+PiBDcmFzaGtlcm5lbD1YIHRyaWVzIHRvIHJlc2VydmUgbWVtb3J5IGZv ciB0aGUgY3Jhc2ggZHVtcCBrZXJuZWwgdW5kZXIKPj4+Pj4gNEcuIElmIGNyYXNoa2VybmVsPVks bG93IGlzIHNwZWNpZmllZCBzaW11bHRhbmVvdXNseSwgcmVzZXJ2ZSBzcGNpZmllZAo+Pj4+PiBz aXplIGxvdyBtZW1vcnkgZm9yIGNyYXNoIGtkdW1wIGtlcm5lbCBkZXZpY2VzIGZpcnN0bHkgYW5k IHRoZW4gcmVzZXJ2ZQo+Pj4+PiBtZW1vcnkgYWJvdmUgNEcuCj4+Pj4+Cj4+Pj4+IFdoZW4gY3Jh c2hrZXJuZWwgaXMgcmVzZXJ2ZWQgYWJvdmUgNEcgaW4gbWVtb3J5LCB0aGF0IGlzLCBjcmFzaGtl cm5lbD1YLGxvdwo+Pj4+PiBpcyBzcGVjaWZpZWQgc2ltdWx0YW5lb3VzbHksIGtlcm5lbCBzaG91 bGQgcmVzZXJ2ZSBzcGVjaWZpZWQgc2l6ZSBsb3cgbWVtb3J5Cj4+Pj4+IGZvciBjcmFzaCBkdW1w IGtlcm5lbCBkZXZpY2VzLiBTbyB0aGVyZSBtYXkgYmUgdHdvIGNyYXNoIGtlcm5lbCByZWdpb25z LCBvbmUKPj4+Pj4gaXMgYmVsb3cgNEcsIHRoZSBvdGhlciBpcyBhYm92ZSA0Ry4KPj4+Pj4gSW4g b3JkZXIgdG8gZGlzdGluY3QgZnJvbSB0aGUgaGlnaCByZWdpb24gYW5kIG1ha2Ugbm8gZWZmZWN0 IHRvIHRoZSB1c2Ugb2YKPj4+Pj4ga2V4ZWMtdG9vbHMsIHJlbmFtZSB0aGUgbG93IHJlZ2lvbiBh cyAiQ3Jhc2gga2VybmVsIChsb3cpIiwgYW5kIGFkZCBEVCBwcm9wZXJ0eQo+Pj4+PiAibGludXgs bG93LW1lbW9yeS1yYW5nZSIgdG8gY3Jhc2ggZHVtcCBrZXJuZWwncyBkdGIgdG8gcGFzcyB0aGUg bG93IHJlZ2lvbi4KPj4+Pj4KPj4+Pj4gQmVzaWRlcywgd2UgbmVlZCB0byBtb2RpZnkga2V4ZWMt dG9vbHM6Cj4+Pj4+IGFybTY0OiBrZHVtcDogYWRkIGFub3RoZXIgRFQgcHJvcGVydHkgdG8gY3Jh c2ggZHVtcCBrZXJuZWwncyBkdGIoc2VlIFsxXSkKPj4+Pj4KPj4+Pj4gVGhlIHByZXZpb3VzIGNo YW5nZXMgYW5kIGRpc2N1c3Npb25zIGNhbiBiZSByZXRyaWV2ZWQgZnJvbToKPj4+Pj4KPj4+Pj4g Q2hhbmdlcyBzaW5jZSBbdjVdCj4+Pj4+IC0gTW92ZSByZXNlcnZlX2NyYXNoa2VybmVsX2xvdygp IGludG8ga2VybmVsL2NyYXNoX2NvcmUuYy4KPj4+Pj4gLSBEZWxldGUgY3Jhc2hrZXJuZWw9WCxo aWdoLgo+Pj4+PiAtIE1vZGlmeSBjcmFzaGtlcm5lbD1YLGxvdy4KPj4+Pj4gSWYgY3Jhc2hrZXJu ZWw9WCxsb3cgaXMgc3BlY2lmaWVkIHNpbXVsdGFuZW91c2x5LCByZXNlcnZlIHNwY2lmaWVkIHNp emUgbG93Cj4+Pj4+IG1lbW9yeSBmb3IgY3Jhc2gga2R1bXAga2VybmVsIGRldmljZXMgZmlyc3Rs eSBhbmQgdGhlbiByZXNlcnZlIG1lbW9yeSBhYm92ZSA0Ry4KPj4+Pj4gSW4gYWRkaXRpb24sIHJl bmFtZSBjcmFzaGtfbG93X3JlcyBhcyAiQ3Jhc2gga2VybmVsIChsb3cpIiBmb3IgYXJtNjQsIGFu ZCB0aGVuCj4+Pj4+IHBhc3MgdG8gY3Jhc2ggZHVtcCBrZXJuZWwgYnkgRFQgcHJvcGVydHkgImxp bnV4LGxvdy1tZW1vcnktcmFuZ2UiLgo+Pj4+PiAtIFVwZGF0ZSBEb2N1bWVudGF0aW9uL2FkbWlu LWd1aWRlL2tkdW1wL2tkdW1wLnJzdC4KPj4+Pj4KPj4+Pj4gQ2hhbmdlcyBzaW5jZSBbdjRdCj4+ Pj4+IC0gUmVpbXBsZW1lbnQgbWVtYmxvY2tfY2FwX21lbW9yeV9yYW5nZXMgZm9yIG11bHRpcGxl IHJhbmdlcyBieSBNaWtlLgo+Pj4+Pgo+Pj4+PiBDaGFuZ2VzIHNpbmNlIFt2M10KPj4+Pj4gLSBB ZGQgbWVtYmxvY2tfY2FwX21lbW9yeV9yYW5nZXMgYmFjayBmb3IgbXVsdGlwbGUgcmFuZ2VzLgo+ Pj4+PiAtIEZpeCBzb21lIGNvbXBpbGluZyB3YXJuaW5ncy4KPj4+Pj4KPj4+Pj4gQ2hhbmdlcyBz aW5jZSBbdjJdCj4+Pj4+IC0gU3BsaXQgcGF0Y2ggImFybTY0OiBrZHVtcDogc3VwcG9ydCByZXNl cnZpbmcgY3Jhc2hrZXJuZWwgYWJvdmUgNEciIGFzCj4+Pj4+IHR3by4gUHV0ICJtb3ZlIHJlc2Vy dmVfY3Jhc2hrZXJuZWxfbG93KCkgaW50byBrZXhlY19jb3JlLmMiIGluIGEgc2VwYXJhdGUKPj4+ Pj4gcGF0Y2guCj4+Pj4+Cj4+Pj4+IENoYW5nZXMgc2luY2UgW3YxXToKPj4+Pj4gLSBNb3ZlIGNv bW1vbiByZXNlcnZlX2NyYXNoa2VybmVsX2xvdygpIGNvZGUgaW50byBrZXJuZWwva2V4ZWNfY29y ZS5jLgo+Pj4+PiAtIFJlbW92ZSBtZW1ibG9ja19jYXBfbWVtb3J5X3JhbmdlcygpIGkgYWRkZWQg aW4gdjEgYW5kIGltcGxlbWVudCB0aGF0Cj4+Pj4+IGluIGZkdF9lbmZvcmNlX21lbW9yeV9yZWdp b24oKS4KPj4+Pj4gVGhlcmUgYXJlIGF0IG1vc3QgdHdvIGNyYXNoIGtlcm5lbCByZWdpb25zLCBm b3IgdHdvIGNyYXNoIGtlcm5lbCByZWdpb25zCj4+Pj4+IGNhc2UsIHdlIGNhcCB0aGUgbWVtb3J5 IHJhbmdlIFttaW4ocmVnc1sqXS5zdGFydCksIG1heChyZWdzWypdLmVuZCldCj4+Pj4+IGFuZCB0 aGVuIHJlbW92ZSB0aGUgbWVtb3J5IHJhbmdlIGluIHRoZSBtaWRkbGUuCj4+Pj4+Cj4+Pj4+IFsx XTogaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtM0FfX2xp c3RzLmluZnJhZGVhZC5vcmdfcGlwZXJtYWlsX2tleGVjXzIwMTktMkRBdWd1c3RfMDIzNTY5Lmh0 bWwmZD1Ed0lDQWcmYz1Sb1AxWXVtQ1hDZ2FXSHZsWllSOFBaaDhCdjdxSXJNVUI2NWVhcElfSm5F JnI9dDJmUGc5RDg3RjdEOGptMF8zQ0c5eW9pSUtkUmc0cWNfdGhCdzRiek1oYyZtPVpBQzZVWWJU LTNxTFIzRHZldmQwOW02bmVXV3pHV1NwaHV2WFhsWG93Njgmcz05dG45a1VCYWJpdVloVnRYYXVB TlNER2FJU25DbkhMWWNBVVFnc1BCRnhzJmU9IAo+Pj4+PiBbdjFdOiBodHRwczovL3VybGRlZmVu c2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtM0FfX2xrbWwub3JnX2xrbWxfMjAxOV80 XzJfMTE3NCZkPUR3SUNBZyZjPVJvUDFZdW1DWENnYVdIdmxaWVI4UFpoOEJ2N3FJck1VQjY1ZWFw SV9KbkUmcj10MmZQZzlEODdGN0Q4am0wXzNDRzl5b2lJS2RSZzRxY190aEJ3NGJ6TWhjJm09WkFD NlVZYlQtM3FMUjNEdmV2ZDA5bTZuZVdXekdXU3BodXZYWGxYb3c2OCZzPUYtbE03SUkyY3VNRl9z SzNiNi1RaFNiV00zWC1wSV9XWkVzMHNaaXRTN0EmZT0gCj4+Pj4+IFt2Ml06IGh0dHBzOi8vdXJs ZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbGttbC5vcmdfbGttbF8y MDE5XzRfOV84NiZkPUR3SUNBZyZjPVJvUDFZdW1DWENnYVdIdmxaWVI4UFpoOEJ2N3FJck1VQjY1 ZWFwSV9KbkUmcj10MmZQZzlEODdGN0Q4am0wXzNDRzl5b2lJS2RSZzRxY190aEJ3NGJ6TWhjJm09 WkFDNlVZYlQtM3FMUjNEdmV2ZDA5bTZuZVdXekdXU3BodXZYWGxYb3c2OCZzPTVZLVM2c3FNVGts SGtPUXNOdGpUWDNDN3BWMDVCaktMR2hKVmZNSEV2RHMmZT0gCj4+Pj4+IFt2M106IGh0dHBzOi8v dXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbGttbC5vcmdfbGtt bF8yMDE5XzRfOV8zMDYmZD1Ed0lDQWcmYz1Sb1AxWXVtQ1hDZ2FXSHZsWllSOFBaaDhCdjdxSXJN VUI2NWVhcElfSm5FJnI9dDJmUGc5RDg3RjdEOGptMF8zQ0c5eW9pSUtkUmc0cWNfdGhCdzRiek1o YyZtPVpBQzZVWWJULTNxTFIzRHZldmQwOW02bmVXV3pHV1NwaHV2WFhsWG93Njgmcz1jV240elNS UXVwYVozamp6NGVEdkQtcE5rb0x5TF9oc1pvUng0eUpvRDBjJmU9IAo+Pj4+PiBbdjRdOiBodHRw czovL3VybGRlZmVuc2UucHJvb2Zwb2ludC5jb20vdjIvdXJsP3U9aHR0cHMtM0FfX2xrbWwub3Jn X2xrbWxfMjAxOV80XzE1XzI3MyZkPUR3SUNBZyZjPVJvUDFZdW1DWENnYVdIdmxaWVI4UFpoOEJ2 N3FJck1VQjY1ZWFwSV9KbkUmcj10MmZQZzlEODdGN0Q4am0wXzNDRzl5b2lJS2RSZzRxY190aEJ3 NGJ6TWhjJm09WkFDNlVZYlQtM3FMUjNEdmV2ZDA5bTZuZVdXekdXU3BodXZYWGxYb3c2OCZzPU5z bGs0UkpLSXlJdVQwSW9Rb29sWE5qdXBFRFhwbFBoUVF3blRTb1hOV0UmZT0gCj4+Pj4+IFt2NV06 IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwcy0zQV9fbGtt bC5vcmdfbGttbF8yMDE5XzVfNl8xMzYwJmQ9RHdJQ0FnJmM9Um9QMVl1bUNYQ2dhV0h2bFpZUjhQ Wmg4QnY3cUlyTVVCNjVlYXBJX0puRSZyPXQyZlBnOUQ4N0Y3RDhqbTBfM0NHOXlvaUlLZFJnNHFj X3RoQnc0YnpNaGMmbT1aQUM2VVliVC0zcUxSM0R2ZXZkMDltNm5lV1d6R1dTcGh1dlhYbFhvdzY4 JnM9SEpWQU02c0N4VjJEbk5nNWQ0cHc4V1BxdGttUW5Ldnp0RW1rU0lndFE1TSZlPSAKPj4+Pj4K Pj4+Pj4gQ2hlbiBaaG91ICg0KToKPj4+Pj4geDg2OiBrZHVtcDogbW92ZSByZXNlcnZlX2NyYXNo a2VybmVsX2xvdygpIGludG8gY3Jhc2hfY29yZS5jCj4+Pj4+IGFybTY0OiBrZHVtcDogcmVzZXJ2 ZSBjcmFzaGtlbmVsIGFib3ZlIDRHIGZvciBjcmFzaCBkdW1wIGtlcm5lbAo+Pj4+PiBhcm02NDog a2R1bXA6IGFkZCBtZW1vcnkgZm9yIGRldmljZXMgYnkgRFQgcHJvcGVydHksIGxvdy1tZW1vcnkt cmFuZ2UKPj4+Pj4ga2R1bXA6IHVwZGF0ZSBEb2N1bWVudGF0aW9uIGFib3V0IGNyYXNoa2VybmVs IG9uIGFybTY0Cj4+Pj4+Cj4+Pj4+IERvY3VtZW50YXRpb24vYWRtaW4tZ3VpZGUva2R1bXAva2R1 bXAucnN0ICAgICAgIHwgMTMgKysrKy0KPj4+Pj4gRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9r ZXJuZWwtcGFyYW1ldGVycy50eHQgfCAxMiArKysrLQo+Pj4+PiBhcmNoL2FybTY0L2luY2x1ZGUv YXNtL2tleGVjLmggICAgICAgICAgICAgICAgICB8ICAzICsrCj4+Pj4+IGFyY2gvYXJtNjQva2Vy bmVsL3NldHVwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKystCj4+Pj4+IGFyY2gvYXJt NjQvbW0vaW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNjEgKysrKysrKysrKysr KysrKysrKysrLS0KPj4+Pj4gYXJjaC94ODYvaW5jbHVkZS9hc20va2V4ZWMuaCAgICAgICAgICAg ICAgICAgICAgfCAgMyArKwo+Pj4+PiBhcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8IDY1ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+Pj4gaW5jbHVk ZS9saW51eC9jcmFzaF9jb3JlLmggICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwo+Pj4+PiBp bmNsdWRlL2xpbnV4L2tleGVjLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxIC0KPj4+ Pj4ga2VybmVsL2NyYXNoX2NvcmUuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2NSAr KysrKysrKysrKysrKysrKysrKysrKysrCj4+Pj4+IDEwIGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNl cnRpb25zKCspLCA2NyBkZWxldGlvbnMoLSkKPj4+Pj4KPj4+Pgo+Pj4+Cj4+Pj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+PiBrZXhlYyBtYWlsaW5n IGxpc3QKPj4+PiBrZXhlY0BsaXN0cy5pbmZyYWRlYWQub3JnCj4+Pj4gaHR0cHM6Ly91cmxkZWZl bnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHAtM0FfX2xpc3RzLmluZnJhZGVhZC5vcmdf bWFpbG1hbl9saXN0aW5mb19rZXhlYyZkPUR3SUNBZyZjPVJvUDFZdW1DWENnYVdIdmxaWVI4UFpo OEJ2N3FJck1VQjY1ZWFwSV9KbkUmcj10MmZQZzlEODdGN0Q4am0wXzNDRzl5b2lJS2RSZzRxY190 aEJ3NGJ6TWhjJm09WkFDNlVZYlQtM3FMUjNEdmV2ZDA5bTZuZVdXekdXU3BodXZYWGxYb3c2OCZz PVhNY0Z4NjFCX1FQZy1GVWZHXy10ODhES0NuR200Z3JxdTZ6Umd1aUhZclUmZT0gCj4+Pgo+Pj4K Pj4+IC4KPiAKPiAKPiAuCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=