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=-9.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham 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 40213C4338F for ; Mon, 26 Jul 2021 16:51:11 +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 F2B5960E08 for ; Mon, 26 Jul 2021 16:51:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org F2B5960E08 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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=c8fsSmqd7dg6QcuiuyMUB29pdpDJ27kFpQloGbxhW/I=; b=xo4/QfcEYCzTFj FTSmgPUaJAvp1MlYguKydCx13lXm7Zl3HUyJDGK1LnPA77IyR048PUr9Q2zjD90WnbsmgKWGauWeG pqp6k6jwsEsSQr1Gzv2EVlyIyeNxRiGvNoTusjBD2WuzW4S2o3vwXcPRz0PZIfjpxYoErGiRDhSfP hx2KEAtvJNDpBCE9gT5PQgj4GMLRLzf3ei6htRhxEXKIr+nSqw5LbyYo8JMjHGpZ62+fNatvRRq0o 6Ohu985t0Aa+P6ZzrwGWQA4+Jz2XV/v41DUHzuCWy7bhkqhgziloRAUyCgBazUyjahA0OxbEobaEr Nhach8+ftQ4J4nUS1uBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m83nP-00C1oZ-HK; Mon, 26 Jul 2021 16:49:39 +0000 Received: from mail-pj1-x102b.google.com ([2607:f8b0:4864:20::102b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m83nK-00C1nc-Dw for linux-arm-kernel@lists.infradead.org; Mon, 26 Jul 2021 16:49:37 +0000 Received: by mail-pj1-x102b.google.com with SMTP id m10-20020a17090a34cab0290176b52c60ddso881832pjf.4 for ; Mon, 26 Jul 2021 09:49:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=NnEjP7Ik7bQGMycNJ0vsy90jG+AhXDOHMG03jRaFJts=; b=JyZHKJddjuj5wor59Jm3iA2BGgK+XSB+kGIlQtSIettnlxpq3i7RKgV6RidcVKBniZ 9mpWTWl6SIPLBqsrlZZfDRn0hUvGAwspeAubmFGdWiMv4bJFWQR5OGrWSLLVq1pdnLi4 lAo5MHSgKcYMV2ctI/c7CNFwIiCWzqHUxvS/Xw+r4DFKsmrjCJrw/dXUpAfR506TYoup 9kkwA4BxiiXygmTN1GZpO5nBBgkjkrvwP3Lfab/xlJVv6AYrdJej8xFStP60IEeo/CzU 8ihAqQbSK0V9qKygSJsrGZPysNAjDgYMmvitB+O6aRWZoYZ9J3aaK5IWAnXxMlrJIQ2D UvWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=NnEjP7Ik7bQGMycNJ0vsy90jG+AhXDOHMG03jRaFJts=; b=GNNifqtIzkpgN715CTiOt08DRCOHtmVyGYBOesvwcAh7xVaCyjCp3YA2jpHlePJOQq h+Cpo2GY14cFpFQMZytm9BHZPUjSBd8EYtLqOVTwbMJ3qk2ZE1Azr9xkxm43tsBwXypO ZdjpHL8pwphMHEJu5OqaR734HrNE1CatOA5/+umJJyVKOZ8upu95KsqaBCrazKcsHRP2 JqCfw4ZucGWm60p7iGAsg8ucX7edhDfXmuiBKUBlGgGce/xz6LNO0maartEjJrH7tTk6 WwaZq2f+fUFqvU85Z3kp5k5ue6dOsRGFrR3MTvMwv0CtjmGabE8gcDMhRkLf5FbG32az T4ZQ== X-Gm-Message-State: AOAM533U4BZDZJHpJbG2dT8xpdP7Y7cbiPnarzkD55j2ya7YlGHwj1Je V2sLfJzPnP0uoNfEvrouKHpObQ== X-Google-Smtp-Source: ABdhPJzIbfu8sjUnI60C+11jluUja6WYGs9fuxQnBbaOslVDKBv5iaiq9jvG+jXGty37iplG1L67Cw== X-Received: by 2002:a17:90a:4404:: with SMTP id s4mr27430264pjg.218.1627318173021; Mon, 26 Jul 2021 09:49:33 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id 20sm589884pfh.15.2021.07.26.09.49.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Jul 2021 09:49:28 -0700 (PDT) Date: Mon, 26 Jul 2021 10:49:26 -0600 From: Mathieu Poirier To: Mike Leach Cc: Branislav Rankov , Alexander Shishkin , Greg Kroah-Hartman , Coresight ML , Linux Kernel Mailing List , linux-arm-kernel Subject: Re: [PATCH v8 00/10] CoreSight configuration management; ETM strobing Message-ID: <20210726164926.GA2646102@p14s> References: <20210707133003.5414-1-mike.leach@linaro.org> <20210712164413.GA1777012@p14s> <20210721174417.GB2377909@p14s> <20210722161736.GA2443981@p14s> 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-20210726_094934_536077_EDEB6EFD X-CRM114-Status: GOOD ( 78.11 ) 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 T24gRnJpLCBKdWwgMjMsIDIwMjEgYXQgMDM6NDM6NTJQTSArMDEwMCwgTWlrZSBMZWFjaCB3cm90 ZToKPiBISSBNYXRoaWV1LAo+IAo+IE9uIFRodSwgMjIgSnVsIDIwMjEgYXQgMTc6MTcsIE1hdGhp ZXUgUG9pcmllcgo+IDxtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZz4gd3JvdGU6Cj4gPgo+ID4g T24gV2VkLCBKdWwgMjEsIDIwMjEgYXQgMTA6MzU6MDBQTSArMDEwMCwgTWlrZSBMZWFjaCB3cm90 ZToKPiA+ID4gSEkgTWF0aGlldSwKPiA+ID4KPiA+ID4gT24gV2VkLCAyMSBKdWwgMjAyMSBhdCAx ODo0NCwgTWF0aGlldSBQb2lyaWVyCj4gPiA+IDxtYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZz4g d3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBGcmksIEp1bCAxNiwgMjAyMSBhdCAxMToyNTo0N0FN ICswMTAwLCBNaWtlIExlYWNoIHdyb3RlOgo+ID4gPiA+ID4gSEkgTWF0aGlldSwKPiA+ID4gPiA+ Cj4gPiA+ID4gPiBCZWxvdyBteSBjaGFuZ2Ugbm90ZXMgZm9yIHRoZSBwYXRjaGVzIGNoYW5nZWQg YmV0d2VlbiB2NyBhbmQgdjggaW4gdGhpcyBzZXQuCj4gPiA+ID4gPgo+ID4gPiA+ID4gUmVnYXJk cwo+ID4gPiA+ID4KPiA+ID4gPiA+IE1pa2UKPiA+ID4gPiA+Cj4gPiA+ID4gPiAwMDAxLCAwMDAz LCAwMDA0LCAwMDA2LCAwMDA3LCAwMDA4LCAwMDEwIC0gbm8gY2hhbmdlCj4gPiA+ID4gPgo+ID4g PiA+ID4gMDAwMiAtCj4gPiA+ID4gPiBjb3Jlc2lnaHQtc3lzY2ZnLmMKPiA+ID4gPiA+ICAgICB0 b3Agb2YgZmlsZSAtIG11dGV4IGRlY2xhcmF0aW9uIHJlbW92ZWQuCj4gPiA+ID4gPiAgICAgY3Nj ZmdfYWRkX2NzZGV2X2NmZygpCj4gPiA+ID4gPiAgICAgICAgIFNwaW5sb2NrIHJlcGxhY2VzIG11 dGV4Cj4gPiA+ID4gPiAgICAgY3NjZmdfbG9hZF9mZWF0X2NzZGV2KCkKPiA+ID4gPiA+ICAgICAg ICAgU3BpbmxvY2sgcmVwbGFjZXMgbXV0ZXgKPiA+ID4gPiA+ICAgICBjc2NzZ19saXN0X2FkZF9j c2RldigpCj4gPiA+ID4gPiAgICAgICAgIEluaXQgc3BpbmxvY2sKPiA+ID4gPiA+IGNvcmVzaWdo dC5oCj4gPiA+ID4gPiAgICAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2Uge30KPiA+ID4gPiA+ICAg ICAgICAgQWRkIHNwaW5sb2NrIGNzY2ZnX2NzZGV2X2xvY2sgYWxvbmdzaWRlIHRoZSBjc2RldiBm ZWF0dXJlIGFuZAo+ID4gPiA+ID4gY29uZmlnIGxpc3RzIHRoYXQgaXQgcHJvdGVjdHMuCj4gPiA+ ID4gPgo+ID4gPiA+ID4gMDAwNSAtCj4gPiA+ID4gPiBjb3Jlc2lnaHQtc3lzY2ZnLmMKPiA+ID4g PiA+ICAgICBjc2NmZ19jc2Rldl9yZXNldF9mZWF0cygpCj4gPiA+ID4gPiAgICAgICAgICAgICBT cGlubG9jayByZXBsYWNlcyBtdXRleC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAgICAgY3NjZmdfY3Nk ZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKQo+ID4gPiA+ID4gICAgICAgICAgICAgU3BpbmxvY2sg cmVwbGFjZXMgbXV0ZXguIEluIGVuYWJsZSBmbGFnIHRvIGF2b2lkIHJhY2Ugd2l0aCBkaXNhYmxl Lgo+ID4gPiA+ID4gICAgIGNzY2ZnX2NzZGV2X2Rpc2FibGVfYWN0aXZlX2NvbmZpZygpCj4gPiA+ ID4gPiAgICAgICAgICAgICBTcGlubG9jayByZXBsYWNlcyBtdXRleC4gSW4gZW5hYmxlIGZsYWcg dG8gYXZvaWQgcmFjZSB3aXRoIGVuYWJsZS4KPiA+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBJJ20g Z29vZCB3aXRoIHRoZSBjaGFuZ2VzIG1hZGUgdG8gdGhlIGFib3ZlIHR3byBwYXRjaGVzLgo+ID4g PiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gY29yZXNpZ2h0LmgKPiA+ID4gPiA+ICAgICBzdHJ1Y3Qg Y29yZXNpZ2h0X2RldmljZSB7fQo+ID4gPiA+ID4gICAgICAgICBJbiBlbmFibGUgZmxhZyBpbnRy b2R1Y2VkIHRvIGNvbnRyb2wgcG9zc2libGUgcmFjZSBiZXR3ZWVuCj4gPiA+ID4gPiBlbmFibGUg YW5kIGRpc2FibGUuIEUuZy4gaWYgd2UgYXJlIGVuYWJsaW5nIGEgY29uZmlnLCBidXQgYSBwb3dl cgo+ID4gPiA+ID4gZXZlbnQgdHJpZXMgdG8gc2h1dCBkb3duIHRoZSBDUFUvRVRNIGNhdXNpbmcg YSBkaXNhYmxlIGNhbGwuIFdlIGRvbuKAmXQKPiA+ID4gPiA+IHdhbnQgdG8gaG9sZCB0aGUgY3Nj ZmdfY3NkZXZfbG9jayBzcGlubG9jayB0aHJvdWdob3V0IHRoZSBlbnRpcmUKPiA+ID4gPiA+IGVu YWJsZSBwcm9jZXNzIC0gZXNwZWNpYWxseSBhcyB0aGUgcHJvZ3JhbW1pbmcgY2FsbCB3aWxsIGNs YWltIHRoZQo+ID4gPiA+ID4gaW50ZXJuYWwgZHJpdmVyIHNwaW5sb2NrIHdoZW4gd3JpdGluZyBp bnRlcm5hbCBkcml2ZXIgZGF0YSwgYnV0IHdlCj4gPiA+ID4gPiBuZWVkIHRvIGVuc3VyZSB0aGF0 IGlmIHRoZXJlIGlzIGEgY29uZGl0aW9uIHRoYXQgcGVybWl0cyBhIGRpc2FibGUKPiA+ID4gPiA+ IGNhbGwgb3V0IG9mIG5vcm1hbCBzZXF1ZW5jZSB0aGVuIHdlIGFyZSBhYmxlIHRvIHNlZSBpdCBh bmQgaGFuZGxlIGl0Lgo+ID4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IEhlcmUgSSdtIGFzc3VtaW5n IHRoZSBlbmFibGUgYW5kIGRpc2FibGUgY2FsbHMgeW91IGFyZSByZWZlcnJpbmcgdG8gYXJlCj4g PiA+ID4gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9jb25maWcoKSBhbmQgY3NjZmdfY3NkZXZf ZGlzYWJsZV9hY3RpdmVfY29uZmlnKCkuCj4gPiA+ID4KPiA+ID4KPiA+ID4gWWVzLgo+ID4gPgo+ ID4gPiA+IEZyb20gdGhlIGFib3ZlIHBhcmFncmFwaCBJIHVuZGVyc3RhbmQgdGhhdCBhIGNhbGwg dG8gY3NjZmdfY3NkZXZfZW5hYmxlX2NvbmZpZygpCj4gPiA+ID4gY2FuIGJlIGludGVycnVwdGVk IGF0IGFueSB0aW1lIHdoZW4gdGhlIENQVSBpcyBzaHV0dGluZyBkb3duLCB3aGljaCBjYW4gb25s eQo+ID4gPiA+IGhhcHBlbiB3aGVuIG9wZXJhdGluZyBmcm9tIHN5c2ZzLgo+ID4gPiA+Cj4gPiA+ Cj4gPiA+IEkgd2FzIGNvbmNlcm5lZCBhYm91dCBwb3NzaWJsZSBwb3dlciBtYW5hZ2VtZW50IGlz c3VlcyB0b28gLSB0aG91Z2gKPiA+ID4gdGhpbmtpbmcgYWJvdXQgaXQgd2Ugc2hvdWxkbid0IGJl IHBvd2VyaW5nIGRvd24gYSBQRSBpZiB3ZSBhcmUgYWJvdXQKPiA+ID4gdG8gc3RhcnQgdHJhY2lu ZyBvbiBpdCEKPiA+Cj4gPiBZb3UgYXJlIGNvcnJlY3QgaWYgd2UgYXJlIG9wZXJhdGluZyBmcm9t IHRoZSBwZXJmIGludGVyZmFjZS4gIEluIHN5c2ZzIHlvdSBnZXQKPiA+IG5vIGd1YXJhbnRlZXMs IGFueXRoaW5nIGNhbiBoYXBwZW4uCj4gPgo+ID4gPgo+ID4gPiBUcnV0aCBpcywgSSBzcGxpdCB0 aGUgc3BpbmxvY2sgY2xhaW1zIGluCj4gPiA+IGNzY2ZnX2NzZGV2X2VuYWJsZV9hY3RpdmVfY29u ZmlnKCkgdG8gZm9sbG93IHRoZSBnZW5lcmFsIGtlcm5lbAo+ID4gPiBndWlkYW5jZSB0byBob2xk IHRoZW0gZm9yIHRoZSBtaW5pbXVtIGFtb3VudCBvZiB0aW1lIG5lZWRlZCwgYW5kIHRoZW4KPiA+ ID4gY291bGQgbm90IGNvbnZpbmNlIG15c2VsZiB0aGF0IGl0IHdhcyBpbXBvc3NpYmxlIGZvcgo+ ID4gPiBjc2NmZ19jc2Rldl9kaXNhYmxlX2FjdGl2ZV9jb25maWcoKSB0byBiZSBjYWxsZWQgcGFy dCB3YXkgdGhyb3VnaC4KPiA+ID4KPiA+ID4gPiBXaXRoIHRoZSBhYm92ZSBpbiBtaW5kIGFuZCBs b29raW5nIGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBwYXRjaCAwNSwgaWYgdGhlCj4gPiA+ID4g Y29kZSBnZXRzIGludGVycnVwdGVkIHJpZ2h0IGFmdGVyIGNzY2ZnX2NzZGV2X2VuYWJsZV9jb25m aWcoKSwgZnVuY3Rpb24KPiA+ID4gPiBjc2NmZ19jc2Rldl9kaXNhYmxlX2NvbmZpZygpIGluIGNz Y2ZnX2NzZGV2X2Rpc2FibGVfYWN0aXZlX2NvbmZpZygpIHdvbid0IGJlCj4gPiA+ID4gY2FsbGVk Lgo+ID4gPiA+Cj4gPiA+ID4gSW4gZnVuY3Rpb24gY3NjZmdfY3NkZXZfZW5hYmxlX2FjdGl2ZV9j b25maWcoKSwgY291bGQgaXQgYmUgcG9zc2libGUgdG8gc2V0Cj4gPiA+ID4gY3NkZXYtPmFjdGl2 ZV9jc2NmZ19jdHh0IGluc3RlYWQgb2YgY3NkZXYtPmNzY2ZnX2luX2VuYWJsZT8gIElmCj4gPiA+ ID4gY3NjZmdfY3NkZXZfZW5hYmxlX2NvbmZpZygpIGdldHMgaW50ZXJydXB0ZWQgdGhlbiBmdW5j dGlvbgo+ID4gPiA+IGNzY2ZnX2NzZGV2X2Rpc2FibGVfY29uZmlnKCkgY2FuIGJlIGNhbGxlZC4g IEF0IHRoYXQgcG9pbnQgZGlzYWJsaW5nIGEgZmVhdHVyZQo+ID4gPiA+IHRoYXQgaGFzbid0IGJl ZW4gZW5hYmxlZCBzaG91bGRuJ3QgZG8gYW55dGhpbmcuCj4gPiA+ID4KPiA+ID4KPiA+ID4gVGhl IGNvbmNlcm4gaXMgdGhhdCB0aGUgZGlzYWJsZSBmdW5jdGlvbmFsaXR5IGlzIHJlc3BvbnNpYmxl IGZvcgo+ID4gPiBjb3B5aW5nIGJhY2sgdmFsdWVzIHRoYXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIGR1 cmluZyB0aGUgb3BlcmF0aW9uIG9mCj4gPiA+IHRoZSBjb25maWcgLSBlLmcuIGNvdW50ZXJzIGlu IHN0cm9iaW5nIGFyZSByZXN0YXJ0ZWQgYXQgdGhlIHZhbHVlIHRoZXkKPiA+ID4gbGFzdCBoYWQg aWYgdGhlIHJvdXRpbmUgaXMgcmVzdGFydGVkIG9uIHRoZSBzYW1lIEVUTSBhdCBhIGxhdGVyIHRp bWUKPiA+ID4gaW4gdGhlIHBlcmYgc2Vzc2lvbi4gU28gaWYgdGhlIGVuYWJsZSBuZXZlciBvY2N1 cnJlZCAvIGVycm9yZWQgLSB3ZQo+ID4gPiB3YW50IHRvIGF2b2lkIGNvcHlpbmcgd2hhdCB3b3Vs ZCBiZSBhbiB1bmtub3duIHZhbHVlIGJhY2suIFNvIHRoZQo+ID4gPiBzYWZlc3Qgd2F5IGlzIHRv IG9ubHkgY29weSBiYWNrIGlmIHdlIHN1Y2NlZWRlZCBpbiBzZXR0aW5nIGluIHRoZQo+ID4gPiBm aXJzdCBwbGFjZSAtIGV2ZW4gRVRNIHdhcyBuZXZlciBhY3R1YWxseSBzdGFydGVkLgo+ID4gPgo+ ID4gPiBDdXJyZW50bHkgd2Ugb25seSBzZXQgY3NkZXYtPmFjdGl2ZV9jc2NmZ19jdHh0IGFmdGVy IHRoZSBjYWxsIHRvIGRvCj4gPiA+IHRoZSBhY3R1YWwgcmVnaXN0ZXIgcHJvZ3JhbW1pbmcgKGNh bGwgdG8gY3NjZmdfY3NkZXZfZW5hYmxlX2NvbmZpZygpKQo+ID4gPiBoYXMgc3VjY2VlZGVkLCB3 aGljaCB3YXMgZmluZSB1c2luZyB0aGUgbXV0ZXgsIGJ1dCBnaXZlcyB1cyB0aGUKPiA+ID4gcHJv YmxlbSB3aXRoIHRoZSBzcGxpdCBzcGlubG9ja3MuCj4gPiA+IFNvIGNzZGV2LT5jc2NmZ19pbl9l bmFibGUgcHJldmVudHMgZGlzYWJsZSBwYXRoIGZyb20gY29weWluZyBiYWNrIGFuCj4gPiA+IHBv dGVudGlhbGx5IGludmFsaWQgdmFsdWUuCj4gPgo+ID4gSSBzZWUgdGhlIHByb2JsZW0gYWJvdXQg cG90ZW50aWFsbHkgY29weWluZyBiYWNrIGludmFsaWQgYWx1ZXMuICBJIHN1Z2dlc3QgdG86Cj4g Pgo+ID4gMSkgdXNlIHNwaW5fbG9ja19pcnFzYXZlKCkgaW4gY3NjZmdfc2V0X29uX2VuYWJsZSgp IGFuZCBjc2NmZ19zYXZlX29uX2Rpc2FibGUoKSwKPiA+IHRoYXQgd2F5IHRoZSBjcml0aWNhbCBz ZWN0aW9uIGluIHRoZXJlIGlzIG5ldmVyIHByZWVtcHRlZC4KPiA+Cj4gCj4gQWdyZWVkLgo+IAo+ IAo+ID4gMikgaW50cm9kdWNlIGNzY2ZnX2ZlYXR1cmVfY3NkZXY6OmVuYWJsZWQgdG8ga2VlcCB0 cmFjayBvZiB3aGljaCBmZWF0dXJlIGhhcwo+ID4gYmVlbiBlbmFibGVkLCBhbmQgc2V0IHRoYXQg ZmxhZyB3aGVuIHRoZSBsb2NrIGlzIGhlbGQgaW4gY3NjZmdfc2V0X29uX2VuYWJsZSgpLgo+ID4K PiAKPiBUaGlzIGRvZXMgbm8gc29sdmUgdGhlIGtleSBpc3N1ZSB3aGljaCBpcyB0aGF0IHRoZSBj b25maWd1cmF0aW9uIC0KPiB3aGljaCBjYW4gY29uc2lzdCBvZiBtdWx0aXBsZSBmZWF0dXJlcyAt IG11c3QgYmUgYWxsIHByb2dyYW1tZWQgdG8gYmUKPiBjb3JyZWN0bHkgZW5hYmxlZC4gSGF2aW5n IHBlciBmZWF0dXJlIGVuYWJsZXMgY29tcGxpY2F0ZXMgbWF0dGVycyBtb3JlCj4gdGhhbiBpcyBu ZWVkZWQuCgpLbm93aW5nIHdoaWNoIGZlYXR1cmUgaGFzIGJlZW4gZW5hYmxlZCB3b3VsZCBhbGxv dyB1cyB0byBzZXQgYWN0aXZlX2NzY2ZnX2N0eHQKd2hpbGUgdGhlIGxvY2sgaXMgaGVsZCBpbiBj c2NmZ19jc2Rldl9lbmFibGVfYWN0aXZlX2NvbmZpZygpIGFuZCB1bndpbmQKZXZlcnl0aGluZyBp biBjc2NmZ19jc2Rldl9kaXNhYmxlX2FjdGl2ZV9jb25maWcoKSB3aXRob3V0IGZlYXIgb2YgY29w eWluZwp1bmluaXRpYWxpc2VkIHZhbHVlcy4KCj4gVGhlcmUgaXMgY3VycmVudGx5IGFuIGVuYWJs ZSBmbGFnIG9uIGNzY2ZnX2NvbmZpZ19jc2RldiAtIHdoaWNoIGNhbiBiZQo+IGJyb3VnaHQgaW50 byB0aGUgc2NvcGUgb2YgdGhlIGNzY2ZnX2NzZGV2X2VuYWJsZV9hY3RpdmVfY29uZmlnKCkgLwo+ IGNzY2ZnX2NzZGV2X2Rpc2FibGVfYWN0aXZlX2NvbmZpZygpIHNwaW5sb2Nrcwo+IHRvIGRvIHdo YXQgaXMgbmVlZGVkLgo+IAo+IEkndmUgZHJvcHBlZCB0aGUgSW5fZW5hYmxlIGZsYWcsIGFuZCB1 c2UgY3NjZmdfY29uZmlnX2NzZGV2OjplbmFibGVkICYKPiBjc2Rldi0+YWN0aXZlX2NzY2ZnX2N0 eHQgdG8gZW5zdXJlIHRoZSBvcmRlcmluZyBpcyBoYW5kbGVkIGNvcnJlY3RseS4KPgoKT2ssIEkn bGwgdGFrZSBhIGxvb2suCgo+IFJlZ2FyZHMKPiAKPiBNaWtlCj4gCj4gPiBIb3BlZnVsbHkgdGhh dCB3aWxsIHdvcmsuICBBIGdlbmVyb3VzIGhlbHBpbmcgb2YgY29tbWVudHMgd2lsbCBhbHNvIGdv IGEgbG9uZwo+ID4gd2F5Lgo+ID4KPiA+ID4KPiA+ID4gUmVnYXJkcwo+ID4gPgo+ID4gPiBNaWtl Cj4gPiA+Cj4gPiA+Cj4gPiA+ID4gVGhhbmtzLAo+ID4gPiA+IE1hdGhpZXUKPiA+ID4gPgo+ID4g PiA+ID4gMDAwOSAtCj4gPiA+ID4gPiAgICAgS0NvbmZpZwo+ID4gPiA+ID4gICAgIGFkZCBpbiBk ZXBlbmRlbmN5IG9uIENPTkZJR0ZTX0ZTIHRvIGVsaW1pbmF0ZSBwcm9ibGVtIGhpZ2hsaWdodGVk Cj4gPiA+ID4gPiBieSB0aGUga2VybmVsIGJvdCB0ZXN0cy4gVGhpcyBoYWQgY29uZmlndXJlZCBj b3Jlc2lnaHQgYXMgWSwgYnV0Cj4gPiA+ID4gPiBjb25maWdmcyBhcyBNIC0gbWVhbmluZyBsaW5r IGlzc3VlcyBmb3IgY29uZmlnZnMgY29kZSBpbnRyb2R1Y2VkIGluCj4gPiA+ID4gPiB0aGlzIHNl dC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBPbiBUdWUsIDEzIEp1bCAyMDIxIGF0IDEwOjQzLCBCcmFu aXNsYXYgUmFua292IDxicmFuaXNsYXYucmFua292QGFybS5jb20+IHdyb3RlOgo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBIaSBNYXRoaWV1LAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBPbiA3LzEy LzIxIDU6NDQgUE0sIE1hdGhpZXUgUG9pcmllciB3cm90ZToKPiA+ID4gPiA+ID4gPiBHb29kIG1v cm5pbmcgTWlrZSwKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IE9uIFdlZCwgSnVsIDA3LCAy MDIxIGF0IDAyOjI5OjUzUE0gKzAxMDAsIE1pa2UgTGVhY2ggd3JvdGU6Cj4gPiA+ID4gPiA+ID4+ IFRoaXMgcGF0Y2hzZXQgaW50cm9kdWNlcyBpbml0aWFsIGNvbmNlcHRzIGluIENvcmVTaWdodCBz eXN0ZW0KPiA+ID4gPiA+ID4gPj4gY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50IHN1cHBvcnQuIHRv IGFsbG93IG1vcmUgZGV0YWlsZWQgYW5kIGNvbXBsZXgKPiA+ID4gPiA+ID4gPj4gcHJvZ3JhbW1p bmcgdG8gYmUgYXBwbGllZCB0byBDb3JlU2lnaHQgc3lzdGVtcyBkdXJpbmcgdHJhY2UgY2FwdHVy ZS4KPiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4gQ29uZmlndXJhdGlvbnMgY29uc2lzdCBv ZiAyIGVsZW1lbnRzOi0KPiA+ID4gPiA+ID4gPj4gMSkgRmVhdHVyZXMgLSBwcm9ncmFtbWluZyBj b21iaW5hdGlvbnMgZm9yIGRldmljZXMsIGFwcGxpZWQgdG8gYSBjbGFzcyBvZgo+ID4gPiA+ID4g PiA+PiBkZXZpY2Ugb24gdGhlIHN5c3RlbSAoYWxsIEVUTXY0KSwgb3IgaW5kaXZpZHVhbCBkZXZp Y2VzLgo+ID4gPiA+ID4gPiA+PiAyKSBDb25maWd1cmF0aW9ucyAtIGEgc2V0IG9mIHByb2dyYW1t ZWQgZmVhdHVyZXMgdXNlZCB3aGVuIHRoZSBuYW1lZAo+ID4gPiA+ID4gPiA+PiBjb25maWd1cmF0 aW9uIGlzIHNlbGVjdGVkLgo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBGZWF0dXJlcyBh bmQgY29uZmlndXJhdGlvbnMgYXJlIGRlY2xhcmVkIGFzIGEgZGF0YSB0YWJsZSwgYSBzZXQgb2Yg cmVnaXN0ZXIsCj4gPiA+ID4gPiA+ID4+IHJlc291cmNlIGFuZCBwYXJhbWV0ZXIgcmVxdWlyZW1l bnRzLiBGZWF0dXJlcyBhbmQgY29uZmlndXJhdGlvbnMgYXJlIGxvYWRlZAo+ID4gPiA+ID4gPiA+ PiBpbnRvIHRoZSBzeXN0ZW0gYnkgdGhlIHZpcnR1YWwgY3Nfc3lzY2ZnIGRldmljZS4gVGhpcyB0 aGVuIG1hdGNoZXMgZmVhdHVyZXMKPiA+ID4gPiA+ID4gPj4gdG8gYW55IHJlZ2lzdGVyZWQgZGV2 aWNlcyBhbmQgbG9hZHMgdGhlIGZlYXR1cmUgaW50byB0aGVtLgo+ID4gPiA+ID4gPiA+Pgo+ID4g PiA+ID4gPiA+PiBJbmRpdmlkdWFsIGRldmljZSBjbGFzc2VzIHRoYXQgc3VwcG9ydCBmZWF0dXJl IGFuZCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyCj4gPiA+ID4gPiA+ID4+IHdpdGggY3Nfc3lzY2Zn Lgo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBPbmNlIGxvYWRlZCBhIGNvbmZpZ3VyYXRp b24gY2FuIGJlIGVuYWJsZWQgZm9yIGEgc3BlY2lmaWMgdHJhY2UgcnVuLgo+ID4gPiA+ID4gPiA+ PiBDb25maWd1cmF0aW9ucyBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBwZXJmIGNzX2V0bSBldmVu dCBhcyBlbnRyaWVzIGluCj4gPiA+ID4gPiA+ID4+IGNzX2V0bS9ldmVudHMuIFRoZXNlIGNhbiBi ZSBzZWxlY3RlZCBvbiB0aGUgcGVyZiBjb21tYW5kIGxpbmUgYXMgZm9sbG93czotCj4gPiA+ID4g PiA+ID4+Cj4gPiA+ID4gPiA+ID4+IHBlcmYgcmVjb3JkIC1lIGNzX2V0bS88Y29uZmlnX25hbWU+ LyAuLi4KPiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4gVGhpcyBwYXRjaCBzZXQgaGFzIG9u ZSBwcmUtbG9hZGVkIGNvbmZpZ3VyYXRpb24gYW5kIGZlYXR1cmUuCj4gPiA+ID4gPiA+ID4+IEEg bmFtZWQgInN0cm9iaW5nIiBmZWF0dXJlIGlzIHByb3ZpZGVkIGZvciBFVE12NC4KPiA+ID4gPiA+ ID4gPj4gQSBuYW1lZCAiYXV0b2ZkbyIgY29uZmlndXJhdGlvbiBpcyBwcm92aWRlZC4gVGhpcyBj b25maWd1cmF0aW9uIGVuYWJsZXMKPiA+ID4gPiA+ID4gPj4gc3Ryb2Jpbmcgb24gYW55IEVUTSBp biB1c2VkLgo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBUaHVzIHRoZSBjb21tYW5kOgo+ ID4gPiA+ID4gPiA+PiBwZXJmIHJlY29yZCAtZSBjc19ldG0vYXV0b2Zkby8gLi4uCj4gPiA+ID4g PiA+ID4+Cj4gPiA+ID4gPiA+ID4+IHdpbGwgdHJhY2UgdGhlIHN1cHBsaWVkIGFwcGxpY2F0aW9u IHdoaWxlIGVuYWJsaW5nIHRoZSAiYXV0b2ZkbyIgY29uZmlndWF0aW9uCj4gPiA+ID4gPiA+ID4+ IG9uIGVhY2ggRVRNIGFzIGl0IGlzIGVuYWJsZWQgYnkgcGVyZi4gVGhpcyBpbiB0dXJuIHdpbGwg ZW5hYmxlIHN0cm9iaW5nIGZvcgo+ID4gPiA+ID4gPiA+PiB0aGUgRVRNIC0gd2l0aCBkZWZhdWx0 IHBhcmFtZXRlcnMuIFBhcmFtZXRlcnMgY2FuIGJlIGFkanVzdGVkIHVzaW5nIGNvbmZpZ2ZzLgo+ ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBUaGUgc2luayB1c2VkIGluIHRoZSB0cmFjZSBy dW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkLgo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ ID4gPiA+PiBBIGNvbmZpZ3VyYXRpb24gY2FuIHN1cHBseSB1cCB0byAxNSBvZiBwcmVzZXQgcGFy YW1ldGVyIHZhbHVlcywgd2hpY2ggd2lsbAo+ID4gPiA+ID4gPiA+PiBzdWJzaXR1dGUgaW4gcGFy YW1ldGVyIHZhbHVlcyBmb3IgYW55IGZlYXR1cmUgdXNlZCBpbiB0aGUgY29uZmlndXJhdGlvbi4K PiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4gU2VsZWN0aW9uIG9mIHByZXNldCB2YWx1ZXMg YXMgZm9sbG93cwo+ID4gPiA+ID4gPiA+PiBwZXJmIHJlY29yZCAtZSBjc19ldG0vYXV0b2Zkbyxw cmVzZXQ9MS8gLi4uCj4gPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ID4+ICh2YWxpZCBwcmVzZXRz IDEtTiwgd2hlcmUgTiBpcyB0aGUgbnVtYmVyIHN1cHBsaWVkIGluIHRoZSBjb25maWd1cmF0aW9u LCBub3QKPiA+ID4gPiA+ID4gPj4gZXhjZWVkaW5nIDE1LiBwcmVzZXQ9MCBpcyB0aGUgc2FtZSBh cyBub3Qgc2VsZWN0aW5nIGEgcHJlc2V0LikKPiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4g QXBwbGllcyB0byAmIHRlc3RlZCBhZ2FpbnN0IGNvcmVzaWdodC9uZXh0ICg1LjEzLXJjNiBiYXNl KQo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBDaGFuZ2VzIHNpbmNlIHY3Ogo+ID4gPiA+ ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBGaXhlZCBrZXJuZWwgdGVzdCByb2JvdCBpc3N1ZSAtIGNv bmZpZyB3aXRoIENPUkVTSUdIVD15ICYgQ09ORklHRlNfRlM9bSBjYXVzZXMKPiA+ID4gPiA+ID4g Pj4gYnVpbGQgZXJyb3IuIEFsdGVyZWQgQ09SRVNJR0hUIGNvbmZpZyB0byBzZWxlY3QgQ09ORklH RlNfRlMuCj4gPiA+ID4gPiA+ID4+IFJlcG9ydGVkLWJ5OiBrZXJuZWwgdGVzdCByb2JvdCA8bGtw QGludGVsLmNvbT4KPiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4gUmVwbGFjZWQgbXV0ZXgg dXNlIHRvIHByb3RlY3QgbG9hZGVkIGNvbmZpZyBsaXN0cyBpbiBjb3Jlc2lnaHQgZGV2aWNlcyB3 aXRoIHBlcgo+ID4gPiA+ID4gPiA+PiBkZXZpY2Ugc3BpbmxvY2sgdG8gcmVtb3ZlIGlzc3VlIHdo ZW4gZGlzYWJsZSBjYWxsZWQgaW4gaW50ZXJydXB0IGNvbnRleHQuCj4gPiA+ID4gPiA+ID4+IFJl cG9ydGVkLWJ5OiBCcmFuaXNsYXYgUmFua292IDxicmFuaXNsYXYucmFua292QGFybS5jb20+Cj4g PiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBDYW4geW91IGluZGljYXRl IHdoaWNoIHBhdGNoZXMgaGF2ZSBjaGFuZ2VkIHNvIEkgZG9uJ3QgaGF2ZSB0byByZXZpZXcgdGhl IHdob2xlCj4gPiA+ID4gPiA+ID4gdGhpbmcgYWdhaW4/ICAgSXQgaXMgYWxzbyBjb21tb24gcHJh Y3RpY2UgdG8gcmVtb3ZlIHRoZSBSQiB0YWcgd2hlbiBwYXRjaGVzCj4gPiA+ID4gPiA+ID4gaGF2 ZSBjaGFuZ2VkIGVub3VnaCB0byBtYW5kYXRlIGFub3RoZXIgcmV2aWV3LiAgSW4gdGhpcyBjYXNl IGFsbCBwYXRjaGVzIHN0aWxsCj4gPiA+ID4gPiA+ID4gYmFyZSBteSBSQiB0YWdzLgo+ID4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+ID4gQnJhbmlzbGF2IHJlcG9ydGVkIHRoZSBwcm9ibGVtIGJ1dCBo ZSBpcyBub3QgYSByZWNpcGllbnQuICBJIHdvdWxkIGxpa2UgdG8gaGF2ZQo+ID4gPiA+ID4gPiA+ IGEgY29uZmlybWF0aW9uIGZyb20gaGltIHRoYXQgdGhpcyBzZXQgZml4ZXMgdGhlIHByb2JsZW0g aGUgb2JzZXJ2ZWQgYmVmb3JlIEkKPiA+ID4gPiA+ID4gPiBzdGFydCBsb29raW5nIGF0IGl0Lgo+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBJIGhhdmUgdGVzdGVkIHRoaXMgc2VyaWVzIGFuZCB0aGUg aXNzdWUgSSByZXBvcnRlZCBpcyBmaXhlZC4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFRo YW5rcywKPiA+ID4gPiA+ID4gPiBNYXRoaWV1Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPj4K PiA+ID4gPiA+ID4gPj4gQ2hhbmdlcyBzaW5jZSB2NjoKPiA+ID4gPiA+ID4gPj4gRml4ZWQga2Vy bmVsIHRlc3Qgcm9ib3QgaXNzdWVzLQo+ID4gPiA+ID4gPiA+PiBSZXBvcnRlZC1ieToga2VybmVs IHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+Cj4gPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ID4+ IENoYW5nZXMgc2luY2UgdjU6Cj4gPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ID4+IDEpIEZpeCBj b2RlIHN0eWxlIGlzc3VlcyBmcm9tIGF1dG8tYnVpbGQgcmVwb3J0cywgYXMKPiA+ID4gPiA+ID4g Pj4gUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90IDxsa3BAaW50ZWwuY29tPgo+ID4gPiA+ ID4gPiA+PiAyKSBVcGRhdGUgY29tbWVudHMgdG8gZ2V0IGNvbnNpc3RlbnQgZG9jcyBmb3IgQVBJ IGZ1bmN0aW9ucy4KPiA+ID4gPiA+ID4gPj4gMykgcmVtb3ZlIHVudXNlZCAjZGVmaW5lIGZyb20g YXV0b2ZkbyBleGFtcGxlLgo+ID4gPiA+ID4gPiA+PiA0KSBmaXggcGVyZiBjb2RlIHN0eWxlIGlz c3VlcyBmcm9tIHBhdGNoIDQgKE1hdGhpZXUpCj4gPiA+ID4gPiA+ID4+IDUpIGZpeCBjb25maWdm cyBjb2RlIHN0eWxlIGlzc3VlcyBmcm9tIHBhdGNoIDkuIChNYXRoaWV1KQo+ID4gPiA+ID4gPiA+ Pgo+ID4gPiA+ID4gPiA+PiBDaGFuZ2VzIHNpbmNlIHY0OiAoYmFzZWQgb24gY29tbWVudHMgZnJv bSBNYXR0aGlldSBhbmQgU3V6dWtpKS4KPiA+ID4gPiA+ID4gPj4gTm8gbGFyZ2UgZnVuY3Rpb25h bCBjaGFuZ2VzIC0gcHJpbWFyaWx5IGNvZGUgaW1wcm92ZW1lbnRzIGFuZCBuYW1pbmcgc2NoZW1h Lgo+ID4gPiA+ID4gPiA+PiAxKSBVcGRhdGVkIGVudGlyZSBzZXQgdG8gZW5zdXJlIGEgY29uc2lz dGVudCBuYW1pbmcgc2NoZW1lIHdhcyB1c2VkIGZvcgo+ID4gPiA+ID4gPiA+PiB2YXJpYWJsZXMg YW5kIHN0cnVjdCBtZW1iZXJzIHRoYXQgcmVmZXIgdG8gdGhlIGtleSBvYmplY3RzIGluIHRoZSBz eXN0ZW0uCj4gPiA+ID4gPiA+ID4+IFN1ZmZpeGVzIF9kZXNjIHVzZWQgZm9yIGFsbCByZWZlcmVu Y2VzIHRvIGZlYXR1cmUgYW5kIGNvbmZpZ3VyYWlvbiBkZXNjcmlwdG9ycywKPiA+ID4gPiA+ID4g Pj4gc3VmZml4IF9jc2RldiB1c2VkIGZvciBhbGwgcmVmZXJlbmNlcyB0byBsb2FkIGZlYXR1cmUg YW5kIGNvbmZpZ3MgaW4gdGhlIGNzZGV2Cj4gPiA+ID4gPiA+ID4+IGluc3RhbmNlcy4gKE1hdGhp ZXUgJiBTdXp1a2kpLgo+ID4gPiA+ID4gPiA+PiAyKSBEcm9wcGVkIHRoZSAnY29uZmlndXJhdGlv bnMnIHN1YiBkaXIgaW4gY3NfZXRtIHBlcmYgZGlyZWN0b3JpZXMgYXMgc3VwZXJmbHVvdXMKPiA+ ID4gPiA+ID4gPj4gd2l0aCB0aGUgY29uZmlnZnMgY29udGFpbmluZyB0aGUgc2FtZSBpbmZvcm1h dGlvbi4gKE1hdGhpZXUpLgo+ID4gPiA+ID4gPiA+PiAzKSBTaW1wbGlmaWVkIHBlcmYgaGFuZGxp bmcgY29kZSAoc3V6dWtpKQo+ID4gPiA+ID4gPiA+PiA0KSBNdWx0aXBsZSBzaW1wbGlmaWNhdGlv bnMgYW5kIGltcHJvdmVtZW50cyBmb3IgY29kZSByZWFkYWJpbGl0eSAoTWF0dGhpZXUKPiA+ID4g PiA+ID4gPj4gYW5kIFN1enVraSkKPiA+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPj4gQ2hhbmdl cyBzaW5jZSB2MzogKFByaW1hcmlseSBiYXNlZCBvbiBjb21tZW50cyBmcm9tIE1hdHRoaWV1KQo+ ID4gPiA+ID4gPiA+PiAxKSBMb2NraW5nIG1lY2hhbmlzbXMgc2ltcGxpZmllZC4KPiA+ID4gPiA+ ID4gPj4gMikgUmVtb3ZlZCB0aGUgcG9zc2liaWxpdHkgdG8gZW5hYmxlIGZlYXR1cmVzIGluZGVw ZW5kZW50bHkgZnJvbQo+ID4gPiA+ID4gPiA+PiBjb25maWd1cmF0aW9ucy5Pbmx5IGNvbmZpZ3Vy YXRpb25zIGNhbiBiZSBlbmFibGVkIG5vdy4gU2ltcGxpZmllcyBwcm9ncmFtbWluZwo+ID4gPiA+ ID4gPiA+PiBsb2dpYy4KPiA+ID4gPiA+ID4gPj4gMykgQ29uZmlndXJhdGlvbiBub3cgdXNlcyBh biBhY3RpdmF0ZS0+ZW5hYmxlIG1lY2hhbmlzbS4gVGhpcyBtZWFucyB0aGF0IHBlcmYKPiA+ID4g PiA+ID4gPj4gd2lsbCBhY3RpdmF0ZSBhIHNlbGVjdGVkIGNvbmZpZ3VyYXRpb24gYXQgdGhlIHN0 YXJ0IG9mIGEgc2Vzc2lvbiAoZHVyaW5nCj4gPiA+ID4gPiA+ID4+IHNldHVwX2F1eCksIGFuZCBk aXNhYmxlIGF0IHRoZSBlbmQgb2YgYSBzZXNzaW9uIChhcm91bmQgZnJlZV9hdXgpCj4gPiA+ID4g PiA+ID4+IFRoZSBhY3RpdmUgY29uZmlndXJhdGlvbiBhbmQgYXNzb2NpYXRlZCBmZWF0dXJlcyB3 aWxsIGJlIHByb2dyYW1tZWQgaW50byB0aGUKPiA+ID4gPiA+ID4gPj4gQ29yZVNpZ2h0IGRldmlj ZSBpbnN0YW5jZXMgd2hlbiB0aGV5IGFyZSBlbmFibGVkLiBUaGlzIGxvY2tzIHRoZSBjb25maWd1 cmF0aW9uCj4gPiA+ID4gPiA+ID4+IGludG8gdGhlIHN5c3RlbSB3aGlsZSBpbiB1c2UuIFBhcmFt ZXRlcnMgY2Fubm90IGJlIGFsdGVyZWQgd2hpbGUgdGhpcyBpcwo+ID4gPiA+ID4gPiA+PiBpbiBw bGFjZS4gVGhpcyBtZWNoYW5pc20gd2lsbCBiZSBleHRlbmRlZCBpbiBmdXR1cmUgZm9yIGR5bmFt aWMgbG9hZCAvIHVubG9hZAo+ID4gPiA+ID4gPiA+PiBvZiBjb25maWd1cmF0aW9ucyB0byBwcmV2 ZW50IHJlbW92YWwgd2hpbGUgaW4gdXNlLgo+ID4gPiA+ID4gPiA+PiA0KSBSZW1vdmVkIHRoZSBj dXN0b20gYnVzIC8gZHJpdmVyIGFzIHVuLW5lY2Vzc2FyeS4gQSBzaW5nbGUgZGV2aWNlIGlzCj4g PiA+ID4gPiA+ID4+IHJlZ2lzdGVyZWQgdG8gb3duIHBlcmYgZnMgZWxlbWVudHMgYW5kIGNvbmZp Z2ZzLgo+ID4gPiA+ID4gPiA+PiA1KSBWYXJpb3VzIG90aGVyIG1pbm9yIGlzc3VlcyBhZGRyZXNz ZWQuCj4gPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+ID4+IENoYW5nZXMgc2luY2UgdjI6Cj4gPiA+ ID4gPiA+ID4+IDEpIEFkZGVkIGRvY3VtZW50YXRpb24gZmlsZS4KPiA+ID4gPiA+ID4gPj4gMikg QWx0ZXJlZCBjc19zeXNjZmcgZHJpdmVyIHRvIG5vIGxvbmdlciBiZSBjb3Jlc2lnaHRfZGV2aWNl IGJhc2VkLCBhbmQgbW92ZWQKPiA+ID4gPiA+ID4gPj4gdG8gaXRzIG93biBjdXN0b20gYnVzIHRv IHJlbW92ZSBpdCBmcm9tIHRoZSBtYWluIGNvcmVzaWdodCBidXMuIChNYXRoaWV1KQo+ID4gPiA+ ID4gPiA+PiAzKSBBZGRlZCBjb25maWdmcyBzdXBwb3J0IHRvIGluc3BlY3QgYW5kIGNvbnRyb2wg bG9hZGVkIGNvbmZpZ3VyYXRpb25zIGFuZAo+ID4gPiA+ID4gPiA+PiBmZWF0dXJlcy4gQWxsb3dz IGxpc3Rpbmcgb2YgcHJlc2V0IHZhbHVlcyAoWWFiaW4gQ3VpKQo+ID4gPiA+ID4gPiA+PiA0KSBE cm9wcGVkIHN5c2ZzIHN1cHBvcnQgZm9yIGFkanVzdGluZyBmZWF0dXJlIHBhcmFtZXRlcnMgb24g dGhlIHBlciBkZXZpY2UKPiA+ID4gPiA+ID4gPj4gYmFzaXMsIGluIGZhdm91ciBvZiBhIHNpbmds ZSBwb2ludCBhZGp1c3RtZW50IGluIGNvbmZpZ2ZzIHRoYXQgaXMgcHVzaGVkIHRvIGFsbAo+ID4g PiA+ID4gPiA+PiBkZXZpY2UgaW5zdGFuY2VzLgo+ID4gPiA+ID4gPiA+PiA1KSBBbHRlcmVkIGhv dyB0aGUgY29uZmlnIGFuZCBwcmVzZXQgY29tbWFuZCBsaW5lIG9wdGlvbnMgYXJlIGhhbmRsZWQg aW4gcGVyZgo+ID4gPiA+ID4gPiA+PiBhbmQgdGhlIGRyaXZlcnMuIChNYXRoaWV1IGFuZCBTdXp1 a2kpLgo+ID4gPiA+ID4gPiA+PiA2KSBGaXhlcyBmb3IgdmFyaW91cyBpc3N1ZXMgYW5kIHRlY2hu aWNhbCBwb2ludHMgKE1hdGhpZXUsIFlhYmluKQo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+ PiBDaGFuZ2VzIHNpbmNlIHYxOgo+ID4gPiA+ID4gPiA+PiAxKSBNb3ZlZCBwcmVsb2FkZWQgY29u ZmlndXJhdGlvbnMgYW5kIGZlYXR1cmVzIG91dCBvZiBpbmRpdmlkdWFsIGRyaXZlcnMuCj4gPiA+ ID4gPiA+ID4+IDIpIEFkZGVkIGNzX3N5c2NmZyBkcml2ZXIgdG8gbWFuYWdlIGNvbmZpZ3VyYXRp b25zIGFuZCBmZWF0dXJlcy4gSW5kaXZpZHVhbAo+ID4gPiA+ID4gPiA+PiBkcml2ZXJzIHJlZ2lz dGVyIHdpdGggY3Nfc3lzY2ZnIGluZGljYXRpbmcgc3VwcG9ydCBmb3IgY29uZmlnLCBhbmQgcHJv dmlkZQo+ID4gPiA+ID4gPiA+PiBtYXRjaGluZyBpbmZvcm1hdGlvbiB0aGF0IHRoZSBzeXN0ZW0g dXNlcyB0byBsb2FkIGZlYXR1cmVzIGludG8gdGhlIGRyaXZlcnMuCj4gPiA+ID4gPiA+ID4+IFRo aXMgYWxsb3dzIGluZGl2aWR1YWwgZHJpdmVycyB0byBiZSB1cGRhdGVkIG9uIGFuIGFzIG5lZWRl ZCBiYXNpcyAtIGFuZAo+ID4gPiA+ID4gPiA+PiByZW1vdmVzIHRoZSBuZWVkIHRvIGNvbnNpZGVy IGRldmljZXMgdGhhdCBjYW5ub3QgYmVuZWZpdCBmcm9tIGNvbmZpZ3VyYXRpb24gLQo+ID4gPiA+ ID4gPiA+PiBzdGF0aWMgcmVwbGljYXRvcnMsIGZ1bm5lbHMsIHRwaXUuCj4gPiA+ID4gPiA+ID4+ IDMpIEFkZGVkIHBlcmYgc2VsZWN0aW9uIG9mIGNvbmZpZ3VhcmF0aW9ucy4KPiA+ID4gPiA+ID4g Pj4gNCkgUmViYXNlZCBvbnRvIHRoZSBjb3Jlc2lnaHQgbW9kdWxlIGxvYWRpbmcgc2V0Lgo+ID4g PiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBUbyBmb2xsb3cgaW4gZnV0dXJlIHJldmlzaW9ucyAv IHNldHM6LQo+ID4gPiA+ID4gPiA+PiBhKSBsb2FkIG9mIGFkZGl0aW9uYWwgY29uZmlnIGFuZCBm ZWF0dXJlcyBieSBsb2FkYWJsZSBtb2R1bGUuCj4gPiA+ID4gPiA+ID4+IGIpIGxvYWQgb2YgYWRk aXRpb25hbCBjb25maWcgYW5kIGZlYXR1cmVzIGJ5IGNvbmZpZ2ZzCj4gPiA+ID4gPiA+ID4+IGMp IGVuaGFuY2VkIHJlc291cmNlIG1hbmFnZW1lbnQgZm9yIEVUTXY0IGFuZCBjaGVja2luZyBmZWF0 dXJlcyBoYXZlIHN1ZmZpY2llbnQKPiA+ID4gPiA+ID4gPj4gcmVzb3VyY2VzIHRvIGJlIGVuYWJs ZWQuCj4gPiA+ID4gPiA+ID4+IGQpIEVDVCBhbmQgQ1RJIHN1cHBvcnQgZm9yIGNvbmZpZ3VyYXRp b24gYW5kIGZlYXR1cmVzLgo+ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiBNaWtlIExlYWNo ICgxMCk6Cj4gPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBzeXNjZmc6IEluaXRpYWwgY29yZXNp Z2h0IHN5c3RlbSBjb25maWd1cmF0aW9uCj4gPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBzeXNj Zmc6IEFkZCByZWdpc3RyYXRpb24gYW5kIGZlYXR1cmUgbG9hZGluZyBmb3IgY3MgZGV2aWNlcwo+ ID4gPiA+ID4gPiA+PiAgIGNvcmVzaWdodDogY29uZmlnOiBBZGQgY29uZmlndXJhdGlvbiBhbmQg ZmVhdHVyZSBnZW5lcmljIGZ1bmN0aW9ucwo+ID4gPiA+ID4gPiA+PiAgIGNvcmVzaWdodDogZXRt LXBlcmY6IHVwZGF0ZSB0byBoYW5kbGUgY29uZmlndXJhdGlvbiBzZWxlY3Rpb24KPiA+ID4gPiA+ ID4gPj4gICBjb3Jlc2lnaHQ6IHN5c2NmZzogQWRkIEFQSSB0byBhY3RpdmF0ZSBhbmQgZW5hYmxl IGNvbmZpZ3VyYXRpb25zCj4gPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBldG0tcGVyZjogVXBk YXRlIHRvIGFjdGl2YXRlIHNlbGVjdGVkIGNvbmZpZ3VyYXRpb24KPiA+ID4gPiA+ID4gPj4gICBj b3Jlc2lnaHQ6IGV0bTR4OiBBZGQgY29tcGxleCBjb25maWd1cmF0aW9uIGhhbmRsZXJzIHRvIGV0 bXY0Cj4gPiA+ID4gPiA+ID4+ICAgY29yZXNpZ2h0OiBjb25maWc6IEFkZCBwcmVsb2FkZWQgY29u ZmlndXJhdGlvbnMKPiA+ID4gPiA+ID4gPj4gICBjb3Jlc2lnaHQ6IHN5c2NmZzogQWRkIGluaXRp YWwgY29uZmlnZnMgc3VwcG9ydAo+ID4gPiA+ID4gPiA+PiAgIERvY3VtZW50YXRpb246IGNvcmVz aWdodDogQWRkIGRvY3VtZW50YXRpb24gZm9yIENvcmVTaWdodCBjb25maWcKPiA+ID4gPiA+ID4g Pj4KPiA+ID4gPiA+ID4gPj4gIC4uLi90cmFjZS9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNvbmZpZy5y c3QgICAgICB8IDI0NCArKysrKysKPiA+ID4gPiA+ID4gPj4gIERvY3VtZW50YXRpb24vdHJhY2Uv Y29yZXNpZ2h0L2NvcmVzaWdodC5yc3QgICB8ICAxNiArCj4gPiA+ID4gPiA+ID4+ICBkcml2ZXJz L2h3dHJhY2luZy9jb3Jlc2lnaHQvS2NvbmZpZyAgICAgICAgICAgfCAgIDEgKwo+ID4gPiA+ID4g PiA+PiAgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L01ha2VmaWxlICAgICAgICAgIHwgICA3 ICstCj4gPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY2Zn LWFmZG8uYyAgfCAxNTMgKysrKwo+ID4gPiA+ID4gPiA+PiAgLi4uL2NvcmVzaWdodC9jb3Jlc2ln aHQtY2ZnLXByZWxvYWQuYyAgICAgICAgIHwgIDMxICsKPiA+ID4gPiA+ID4gPj4gIC4uLi9jb3Jl c2lnaHQvY29yZXNpZ2h0LWNmZy1wcmVsb2FkLmggICAgICAgICB8ICAxMyArCj4gPiA+ID4gPiA+ ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtY29uZmlnLmMgICAgfCAyNzUg KysrKysrCj4gPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQt Y29uZmlnLmggICAgfCAyNTMgKysrKysrCj4gPiA+ID4gPiA+ID4+ICBkcml2ZXJzL2h3dHJhY2lu Zy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNvcmUuYyAgfCAgMTIgKy0KPiA+ID4gPiA+ID4gPj4gIC4u Li9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1ldG0tcGVyZi5jICB8IDE1MCArKystCj4g PiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtLXBlcmYu aCAgfCAgMTIgKy0KPiA+ID4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVz aWdodC1ldG00eC1jZmcuYyB8IDE4MiArKysrCj4gPiA+ID4gPiA+ID4+ICAuLi4vaHd0cmFjaW5n L2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY2ZnLmggfCAgMzAgKwo+ID4gPiA+ID4gPiA+PiAg Li4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtZXRtNHgtY29yZS5jICAgICAgICAgIHwgIDM4ICstCj4g PiA+ID4gPiA+ID4+ICAuLi4vY29yZXNpZ2h0L2NvcmVzaWdodC1ldG00eC1zeXNmcy5jICAgICAg ICAgfCAgIDMgKwo+ID4gPiA+ID4gPiA+PiAgLi4uL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2Zn LWNvbmZpZ2ZzLmMgICAgIHwgMzk2ICsrKysrKysrKwo+ID4gPiA+ID4gPiA+PiAgLi4uL2NvcmVz aWdodC9jb3Jlc2lnaHQtc3lzY2ZnLWNvbmZpZ2ZzLmggICAgIHwgIDQ1ICsKPiA+ID4gPiA+ID4g Pj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1zeXNjZmcuYyAgICB8IDgyOSAr KysrKysrKysrKysrKysrKysKPiA+ID4gPiA+ID4gPj4gIC4uLi9od3RyYWNpbmcvY29yZXNpZ2h0 L2NvcmVzaWdodC1zeXNjZmcuaCAgICB8ICA4MSArKwo+ID4gPiA+ID4gPiA+PiAgaW5jbHVkZS9s aW51eC9jb3Jlc2lnaHQuaCAgICAgICAgICAgICAgICAgICAgIHwgIDExICsKPiA+ID4gPiA+ID4g Pj4gIDIxIGZpbGVzIGNoYW5nZWQsIDI3NDYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0p Cj4gPiA+ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi90cmFjZS9j b3Jlc2lnaHQvY29yZXNpZ2h0LWNvbmZpZy5yc3QKPiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNmZy1hZmRvLmMK PiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jl c2lnaHQvY29yZXNpZ2h0LWNmZy1wcmVsb2FkLmMKPiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWNmZy1wcmVsb2Fk LmgKPiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2luZy9j b3Jlc2lnaHQvY29yZXNpZ2h0LWNvbmZpZy5jCj4gPiA+ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1jb25maWcuaAo+ID4g PiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdo dC9jb3Jlc2lnaHQtZXRtNHgtY2ZnLmMKPiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LWV0bTR4LWNmZy5oCj4gPiA+ ID4gPiA+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0 L2NvcmVzaWdodC1zeXNjZmctY29uZmlnZnMuYwo+ID4gPiA+ID4gPiA+PiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtc3lzY2ZnLWNvbmZp Z2ZzLmgKPiA+ID4gPiA+ID4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2h3dHJhY2lu Zy9jb3Jlc2lnaHQvY29yZXNpZ2h0LXN5c2NmZy5jCj4gPiA+ID4gPiA+ID4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9od3RyYWNpbmcvY29yZXNpZ2h0L2NvcmVzaWdodC1zeXNjZmcuaAo+ ID4gPiA+ID4gPiA+Pgo+ID4gPiA+ID4gPiA+PiAtLQo+ID4gPiA+ID4gPiA+PiAyLjE3LjEKPiA+ ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiA+ID4gPiA+IENvcmVTaWdodCBtYWlsaW5nIGxpc3QKPiA+ ID4gPiA+ID4gPiBDb3JlU2lnaHRAbGlzdHMubGluYXJvLm9yZwo+ID4gPiA+ID4gPiA+IGh0dHBz Oi8vbGlzdHMubGluYXJvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2NvcmVzaWdodAo+ID4gPiA+ID4g PiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4g TWlrZSBMZWFjaAo+ID4gPiA+ID4gUHJpbmNpcGFsIEVuZ2luZWVyLCBBUk0gTHRkLgo+ID4gPiA+ ID4gTWFuY2hlc3RlciBEZXNpZ24gQ2VudHJlLiBVSwo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAt LQo+ID4gPiBNaWtlIExlYWNoCj4gPiA+IFByaW5jaXBhbCBFbmdpbmVlciwgQVJNIEx0ZC4KPiA+ ID4gTWFuY2hlc3RlciBEZXNpZ24gQ2VudHJlLiBVSwo+IAo+IAo+IAo+IC0tIAo+IE1pa2UgTGVh Y2gKPiBQcmluY2lwYWwgRW5naW5lZXIsIEFSTSBMdGQuCj4gTWFuY2hlc3RlciBEZXNpZ24gQ2Vu dHJlLiBVSwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=