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=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable 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 A7194C433B4 for ; Wed, 28 Apr 2021 16:56:44 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 2A7CF6100B for ; Wed, 28 Apr 2021 16:56:44 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2A7CF6100B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AC5826EC04; Wed, 28 Apr 2021 16:56:40 +0000 (UTC) Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4E5526EC04 for ; Wed, 28 Apr 2021 16:56:38 +0000 (UTC) Received: by mail-ej1-x62a.google.com with SMTP id a4so2305483ejk.1 for ; Wed, 28 Apr 2021 09:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=JETafalM3VdWKh6AxJ8LPGpOJqK4L6jGjh/VozgZjsk=; b=ZG24IxmPRVXWNAQtLDyg1MKmeME4+4akfrd/n7FMRcDb1eegvuCFRhaZJcbS6DFsYM YIO9FUQRH/+Zjuopl3mZay5gTsRYbGkz3YTbZONT7iU3dPSIIOQqBUe4O7+2WW/2FQSO wf54L+Umjb60V6ni8C3EEnYXi4Cnzz1ShbIoM/h58REK+1Xw8eodav6bLhaEZw49upId uak9ipLKFb8L6B4AYKQdnd/LBGN5Q5Zy5tUV1Om744bzPKSLKLCjZcO9YpqLA36JsSel gF+JcfCjWHdDn8L2PcgchAD+AqEy5L5/m743x3w4NXrqrirCBUd5KF8I2zlNPMgZRyo6 jKfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=JETafalM3VdWKh6AxJ8LPGpOJqK4L6jGjh/VozgZjsk=; b=N1dU17sXx199M0pxP9NA2VXLYajWy2SrtJlD0sZ/PZj83QwI68E4LW85UYsEZoBsbh AKL+eEcbyeJMyZPwj8P0w2Lk1mGEONSZeBcgFuS0/UdxmhvhFleTXz+yaWfY6Y51FFxT si9debuJJoMzCUUtL0FWLLRg44oG2zEGS/TVN2/f1xqxI7povfCUXXWR36/JEg5PwSCH fqBMwk99jNraDK6oXCB7lySBeGW/Qrf+GR7se6BJk+S2j5noAr+3V8DisPKW6QqjIXWP GxS2Uy7ISfBQx2SHxPpkDanrKVXIHLS1VzC04p2ZvvyF9sgKyme1B0ZbApS4C0mu0KSi tLWA== X-Gm-Message-State: AOAM531tIBUwcRlCePmp79Snl4dwRIR+emg/yOPTq9nDRsDnJTtMn/av +5IEMsS0TdkfYE6TNJhFpDbOKDnEPvfOebzRJ1k5rA== X-Google-Smtp-Source: ABdhPJyBPW0A8w7hprsIZa5Zdagz9kt+XLy01ZkX+mKEW9MIWw63Xsinx2rOWqxsOFy5GateZ28vcs2dmo9j/jh9k2k= X-Received: by 2002:a17:907:6217:: with SMTP id ms23mr7628908ejc.435.1619628996659; Wed, 28 Apr 2021 09:56:36 -0700 (PDT) MIME-Version: 1.0 References: <20210426093901.28937-1-matthew.auld@intel.com> In-Reply-To: From: Jason Ekstrand Date: Wed, 28 Apr 2021 11:56:25 -0500 Message-ID: Subject: Re: [PATCH 1/9] drm/doc/rfc: i915 DG1 uAPI To: Matthew Auld X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lionel Landwerlin , =?UTF-8?Q?Thomas_Hellstr=C3=B6m?= , Dave Airlie , Jordan Justen , Intel GFX , Maling list - DRI developers , Daniel Vetter , Kenneth Graunke , Daniele Ceraolo Spurio , Jon Bloomfield , ML mesa-dev , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gV2VkLCBBcHIgMjgsIDIwMjEgYXQgMTE6NDEgQU0gTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1 bGRAaW50ZWwuY29tPiB3cm90ZToKPgo+IE9uIDI4LzA0LzIwMjEgMTY6NTEsIEphc29uIEVrc3Ry YW5kIHdyb3RlOgo+ID4gT24gTW9uLCBBcHIgMjYsIDIwMjEgYXQgNDo0MiBBTSBNYXR0aGV3IEF1 bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gQWRkIGFuIGVudHJ5 IGZvciB0aGUgbmV3IHVBUEkgbmVlZGVkIGZvciBERzEuIEFsc28gYWRkIHRoZSBvdmVyYWxsCj4g Pj4gdXBzdHJlYW0gcGxhbiwgaW5jbHVkaW5nIHNvbWUgbm90ZXMgZm9yIHRoZSBUVE0gY29udmVy c2lvbi4KPiA+Pgo+ID4+IHYyKERhbmllbCk6Cj4gPj4gICAgLSBpbmNsdWRlIHRoZSBvdmVyYWxs IHVwc3RyZWFtaW5nIHBsYW4KPiA+PiAgICAtIGFkZCBhIG5vdGUgZm9yIG1tYXAsIHRoZXJlIGFy ZSBkaWZmZXJlbmNlcyBoZXJlIGZvciBUVE0gdnMgaTkxNQo+ID4+ICAgIC0gYnVuY2ggb2Ygb3Ro ZXIgc3VnZ2VzdGlvbnMgZnJvbSBEYW5pZWwKPiA+PiB2MzoKPiA+PiAgIChEYW5pZWwpCj4gPj4g ICAgLSBhZGQgYSBub3RlIGZvciBzZXQvZ2V0IGNhY2hpbmcgc3R1ZmYKPiA+PiAgICAtIGFkZCBz b21lIG1vcmUgZG9jcyBmb3IgZXhpc3RpbmcgcXVlcnkgYW5kIGV4dGVuc2lvbnMgc3R1ZmYKPiA+ PiAgICAtIGFkZCBhbiBhY3R1YWwgY29kZSBleGFtcGxlIGZvciByZWdpb25zIHF1ZXJ5Cj4gPj4g ICAgLSBidW5jaCBvZiBvdGhlciBzdHVmZgo+ID4+ICAgKEphc29uKQo+ID4+ICAgIC0gdUFQSSBj aGFuZ2UoISk6Cj4gPj4gICAgICAgICAgLSB0cnkgYSBzaW1wbGVyIGRlc2lnbiB3aXRoIHRoZSBw bGFjZW1lbnRzIGV4dGVuc2lvbgo+ID4+ICAgICAgICAgIC0gcmF0aGVyIHRoYW4gaGF2ZSBhIGdl bmVyaWMgc2V0cGFyYW0gd2hpY2ggY2FuIGNvdmVyIG11bHRpcGxlCj4gPj4gICAgICAgICAgICB1 c2UgY2FzZXMsIGhhdmUgZWFjaCBleHRlbnNpb24gYmUgcmVzcG9uc2libGUgZm9yIG9uZSB0aGlu Zwo+ID4+ICAgICAgICAgICAgb25seQo+ID4+IHY0Ogo+ID4+ICAgKERhbmllbCkKPiA+PiAgICAt IGFkZCBzb21lIG1vcmUgbm90ZXMgZm9yIHR0bSBjb252ZXJzaW9uCj4gPj4gICAgLSBidW5jaCBv ZiBvdGhlciBzdHVmZgo+ID4+ICAgKEphc29uKQo+ID4+ICAgIC0gdUFQSSBjaGFuZ2UoISk6Cj4g Pj4gICAgICAgICAgLSBkcm9wIGFsbCB0aGUgZXh0cmEgcnN2ZCBtZW1iZXJzIGZvciB0aGUgcmVn aW9uX3F1ZXJ5IGFuZAo+ID4+ICAgICAgICAgICAgcmVnaW9uX2luZm8sIGp1c3Qga2VlcCB0aGUg YmFyZSBtaW5pbXVtIG5lZWRlZCBmb3IgcGFkZGluZwo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgo+ID4+IENjOiBKb29uYXMgTGFo dGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gPj4gQ2M6IFRob21hcyBI ZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KPiA+PiBDYzogRGFu aWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KPiA+ PiBDYzogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AbGludXguaW50ZWwu Y29tPgo+ID4+IENjOiBKb24gQmxvb21maWVsZCA8am9uLmJsb29tZmllbGRAaW50ZWwuY29tPgo+ ID4+IENjOiBKb3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPgo+ID4+IENj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+PiBDYzogS2VubmV0 aCBHcmF1bmtlIDxrZW5uZXRoQHdoaXRlY2FwZS5vcmc+Cj4gPj4gQ2M6IEphc29uIEVrc3RyYW5k IDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4KPiA+PiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21h aWwuY29tPgo+ID4+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gQ2M6 IG1lc2EtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IEFja2VkLWJ5OiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+ID4+IEFja2VkLWJ5OiBEYXZlIEFpcmxpZSA8 YWlybGllZEByZWRoYXQuY29tPgo+ID4+IC0tLQo+ID4+ICAgRG9jdW1lbnRhdGlvbi9ncHUvcmZj L2k5MTVfZ2VtX2xtZW0uaCAgIHwgMjEyICsrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAg RG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0ucnN0IHwgMTMwICsrKysrKysrKysr KysrKwo+ID4+ICAgRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2luZGV4LnJzdCAgICAgICAgIHwgICA0 ICsKPiA+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMzQ2IGluc2VydGlvbnMoKykKPiA+PiAgIGNyZWF0 ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5oCj4gPj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0u cnN0Cj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2Vt X2xtZW0uaCBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dlbV9sbWVtLmgKPiA+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+ID4+IGluZGV4IDAwMDAwMDAwMDAwMC4uN2VkNTliNjIwMmQ1Cj4g Pj4gLS0tIC9kZXYvbnVsbAo+ID4+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dl bV9sbWVtLmgKPiA+PiBAQCAtMCwwICsxLDIxMiBAQAo+ID4+ICsvKioKPiA+PiArICogZW51bSBk cm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzIC0gU3VwcG9ydGVkIG1lbW9yeSBjbGFzc2VzCj4gPj4g KyAqLwo+ID4+ICtlbnVtIGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3Mgewo+ID4+ICsgICAgICAg LyoqIEBJOTE1X01FTU9SWV9DTEFTU19TWVNURU06IFN5c3RlbSBtZW1vcnkgKi8KPiA+PiArICAg ICAgIEk5MTVfTUVNT1JZX0NMQVNTX1NZU1RFTSA9IDAsCj4gPj4gKyAgICAgICAvKiogQEk5MTVf TUVNT1JZX0NMQVNTX0RFVklDRTogRGV2aWNlIGxvY2FsLW1lbW9yeSAqLwo+ID4+ICsgICAgICAg STkxNV9NRU1PUllfQ0xBU1NfREVWSUNFLAo+ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4g KyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzX2luc3RhbmNlIC0gSWRlbnRpZnkg cGFydGljdWxhciBtZW1vcnkgcmVnaW9uCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3QgZHJtX2k5MTVf Z2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSB7Cj4gPj4gKyAgICAgICAvKiogQG1lbW9yeV9jbGFz czogU2VlIGVudW0gZHJtX2k5MTVfZ2VtX21lbW9yeV9jbGFzcyAqLwo+ID4+ICsgICAgICAgX191 MTYgbWVtb3J5X2NsYXNzOwo+ID4+ICsKPiA+PiArICAgICAgIC8qKiBAbWVtb3J5X2luc3RhbmNl OiBXaGljaCBpbnN0YW5jZSAqLwo+ID4+ICsgICAgICAgX191MTYgbWVtb3J5X2luc3RhbmNlOwo+ ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkxNV9tZW1vcnlf cmVnaW9uX2luZm8gLSBEZXNjcmliZXMgb25lIHJlZ2lvbiBhcyBrbm93biB0byB0aGUKPiA+PiAr ICogZHJpdmVyLgo+ID4+ICsgKgo+ID4+ICsgKiBOb3RlIHRoYXQgd2UgcmVzZXJ2ZSBzb21lIHN0 dWZmIGhlcmUgZm9yIHBvdGVudGlhbCBmdXR1cmUgd29yay4gQXMgYW4gZXhhbXBsZQo+ID4+ICsg KiB3ZSBtaWdodCB3YW50IGV4cG9zZSB0aGUgY2FwYWJpbGl0aWVzKHNlZSBAY2FwcykgZm9yIGEg Z2l2ZW4gcmVnaW9uLCB3aGljaAo+ID4+ICsgKiBjb3VsZCBpbmNsdWRlIHRoaW5ncyBsaWtlIGlm IHRoZSByZWdpb24gaXMgQ1BVIG1hcHBhYmxlL2FjY2Vzc2libGUsIHdoYXQgYXJlCj4gPj4gKyAq IHRoZSBzdXBwb3J0ZWQgbWFwcGluZyB0eXBlcyBldGMuCj4gPj4gKyAqCj4gPj4gKyAqIE5vdGUg dGhpcyBpcyB1c2luZyBib3RoIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIGFuZCBzdHJ1Y3Qg ZHJtX2k5MTVfcXVlcnkuCj4gPj4gKyAqIEZvciB0aGlzIG5ldyBxdWVyeSB3ZSBhcmUgYWRkaW5n IHRoZSBuZXcgcXVlcnkgaWQgRFJNX0k5MTVfUVVFUllfTUVNT1JZX1JFR0lPTlMKPiA+PiArICog YXQgJmRybV9pOTE1X3F1ZXJ5X2l0ZW0ucXVlcnlfaWQuCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3Qg ZHJtX2k5MTVfbWVtb3J5X3JlZ2lvbl9pbmZvIHsKPiA+PiArICAgICAgIC8qKiBAcmVnaW9uOiBU aGUgY2xhc3M6aW5zdGFuY2UgcGFpciBlbmNvZGluZyAqLwo+ID4+ICsgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9tZW1vcnlfY2xhc3NfaW5zdGFuY2UgcmVnaW9uOwo+ID4+ICsKPiA+PiArICAg ICAgIC8qKiBAcGFkOiBNQlogKi8KPiA+PiArICAgICAgIF9fdTMyIHBhZDsKPiA+PiArCj4gPj4g KyAgICAgICAvKiogQGNhcHM6IE1CWiAqLwo+ID4+ICsgICAgICAgX191NjQgY2FwczsKPiA+Cj4g PiBBcyB3YXMgY29tbWVudGVkIG9uIGFub3RoZXIgdGhyZWFkIHNvbWV3aGVyZSwgaWYgd2UncmUg Z29pbmcgdG8gaGF2ZQo+ID4gY2Fwcywgd2Ugc2hvdWxkIGhhdmUgYW5vdGhlciBfX3U2NCBzdXBw b3J0ZWRfY2FwcyB3aGljaCB0ZWxscwo+ID4gdXNlcnNwYWNlIHdoYXQgY2FwcyB0aGUga2VybmVs IGlzIGNhcGFibGUgb2YgYWR2ZXJ0aXNpbmcuICBUaGF0IHdheQo+ID4gdXNlcnNwYWNlIGNhbiB0 ZWxsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBrZXJuZWwgd2hpY2ggZG9lc24ndAo+ID4gYWR2 ZXJ0aXNlIGEgY2FwIGFuZCBhIGtlcm5lbCB3aGljaCBjYW4gYWR2ZXJ0aXNlIHRoZSBjYXAgYnV0 IHdoZXJlIHRoZQo+ID4gY2FwIGlzbid0IHN1cHBvcnRlZC4KPgo+IFllYWgsIG15IHBsYW4gd2Fz IHRvIGp1c3QgZ28gd2l0aCByc3ZkW10sIHNvIGRyb3AgdGhlIGZsYWdzL2NhcHMgZm9yCj4gbm93 LCBhbmQgYWRkIGEgY29tbWVudC9leGFtcGxlIGZvciBob3cgd2UgcGxhbiB0byBleHRlbmQgdGhp cyBpbiB0aGUKPiBmdXR1cmUodXNpbmcgeW91ciB1bmlvbiArIGFycmF5IHRyaWNrKS4gSG9wZWZ1 bGx5IHRoYXQncyByZWFzb25hYmxlLgoKVGhhdCdzIGZpbmUgd2l0aCBtZSB0b28uICBKdXN0IGFz IGxvbmcgYXMgd2UgaGF2ZSBhbiBlc3RhYmxpc2hlZCBwbGFuCnRoYXQgd29ya3MuCgo+ID4+ICsK PiA+PiArICAgICAgIC8qKiBAcHJvYmVkX3NpemU6IE1lbW9yeSBwcm9iZWQgYnkgdGhlIGRyaXZl ciAoLTEgPSB1bmtub3duKSAqLwo+ID4+ICsgICAgICAgX191NjQgcHJvYmVkX3NpemU7Cj4gPj4g Kwo+ID4+ICsgICAgICAgLyoqIEB1bmFsbG9jYXRlZF9zaXplOiBFc3RpbWF0ZSBvZiBtZW1vcnkg cmVtYWluaW5nICgtMSA9IHVua25vd24pICovCj4gPj4gKyAgICAgICBfX3U2NCB1bmFsbG9jYXRl ZF9zaXplOwo+ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkx NV9xdWVyeV9tZW1vcnlfcmVnaW9ucwo+ID4+ICsgKgo+ID4+ICsgKiBUaGUgcmVnaW9uIGluZm8g cXVlcnkgZW51bWVyYXRlcyBhbGwgcmVnaW9ucyBrbm93biB0byB0aGUgZHJpdmVyIGJ5IGZpbGxp bmcKPiA+PiArICogaW4gYW4gYXJyYXkgb2Ygc3RydWN0IGRybV9pOTE1X21lbW9yeV9yZWdpb25f aW5mbyBzdHJ1Y3R1cmVzLgo+ID4+ICsgKgo+ID4+ICsgKiBFeGFtcGxlIGZvciBnZXR0aW5nIHRo ZSBsaXN0IG9mIHN1cHBvcnRlZCByZWdpb25zOgo+ID4+ICsgKgo+ID4+ICsgKiAuLiBjb2RlLWJs b2NrOjogQwo+ID4+ICsgKgo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X21lbW9y eV9yZWdpb25zICppbmZvOwo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0g aXRlbSA9IHsKPiA+PiArICogICAgICAgICAgICAgLnF1ZXJ5X2lkID0gRFJNX0k5MTVfUVVFUllf TUVNT1JZX1JFR0lPTlM7Cj4gPj4gKyAqICAgICB9Owo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9p OTE1X3F1ZXJ5IHF1ZXJ5ID0gewo+ID4+ICsgKiAgICAgICAgICAgICAubnVtX2l0ZW1zID0gMSwK PiA+PiArICogICAgICAgICAgICAgLml0ZW1zX3B0ciA9ICh1aW50cHRyX3QpJml0ZW0sCj4gPj4g KyAqICAgICB9Owo+ID4+ICsgKiAgICAgaW50IGVyciwgaTsKPiA+PiArICoKPiA+PiArICogICAg IC8vIEZpcnN0IHF1ZXJ5IHRoZSBzaXplIG9mIHRoZSBibG9iIHdlIG5lZWQsIHRoaXMgbmVlZHMg dG8gYmUgbGFyZ2UKPiA+PiArICogICAgIC8vIGVub3VnaCB0byBob2xkIG91ciBhcnJheSBvZiBy ZWdpb25zLiBUaGUga2VybmVsIHdpbGwgZmlsbCBvdXQgdGhlCj4gPj4gKyAqICAgICAvLyBpdGVt Lmxlbmd0aCBmb3IgdXMsIHdoaWNoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd2UgbmVlZC4KPiA+ PiArICogICAgIGVyciA9IGlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9RVUVSWSwgJnF1ZXJ5KTsK PiA+PiArICogICAgIGlmIChlcnIpIC4uLgo+ID4+ICsgKgo+ID4+ICsgKiAgICAgaW5mbyA9IGNh bGxvYygxLCBpdGVtLmxlbmd0aCk7Cj4gPj4gKyAqICAgICAvLyBOb3cgdGhhdCB3ZSBhbGxvY2F0 ZWQgdGhlIHJlcXVpcmVkIG51bWJlciBvZiBieXRlcywgd2UgY2FsbCB0aGUgaW9jdGwKPiA+PiAr ICogICAgIC8vIGFnYWluLCB0aGlzIHRpbWUgd2l0aCB0aGUgZGF0YV9wdHIgcG9pbnRpbmcgdG8g b3VyIG5ld2x5IGFsbG9jYXRlZAo+ID4+ICsgKiAgICAgLy8gYmxvYiwgd2hpY2ggdGhlIGtlcm5l bCBjYW4gdGhlbiBwb3B1bGF0ZSB3aXRoIHRoZSBhbGwgdGhlIHJlZ2lvbiBpbmZvLgo+ID4+ICsg KiAgICAgaXRlbS5kYXRhX3B0ciA9ICh1aW50cHRyX3QpJmluZm8sCj4gPj4gKyAqCj4gPj4gKyAq ICAgICBlcnIgPSBpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfUVVFUlksICZxdWVyeSk7Cj4gPj4g KyAqICAgICBpZiAoZXJyKSAuLi4KPiA+PiArICoKPiA+PiArICogICAgIC8vIFdlIGNhbiBub3cg YWNjZXNzIGVhY2ggcmVnaW9uIGluIHRoZSBhcnJheQo+ID4+ICsgKiAgICAgZm9yIChpID0gMDsg aSA8IGluZm8tPm51bV9yZWdpb25zOyBpKyspIHsKPiA+PiArICogICAgICAgICAgICAgc3RydWN0 IGRybV9pOTE1X21lbW9yeV9yZWdpb25faW5mbyBtciA9IGluZm8tPnJlZ2lvbnNbaV07Cj4gPj4g KyAqICAgICAgICAgICAgIHUxNiBjbGFzcyA9IG1yLnJlZ2lvbi5jbGFzczsKPiA+PiArICogICAg ICAgICAgICAgdTE2IGluc3RhbmNlID0gbXIucmVnaW9uLmluc3RhbmNlOwo+ID4+ICsgKgo+ID4+ ICsgKiAgICAgICAgICAgICAuLi4uCj4gPj4gKyAqICAgICB9Cj4gPj4gKyAqCj4gPj4gKyAqICAg ICBmcmVlKGluZm8pOwo+ID4+ICsgKi8KPiA+PiArc3RydWN0IGRybV9pOTE1X3F1ZXJ5X21lbW9y eV9yZWdpb25zIHsKPiA+PiArICAgICAgIC8qKiBAbnVtX3JlZ2lvbnM6IE51bWJlciBvZiBzdXBw b3J0ZWQgcmVnaW9ucyAqLwo+ID4+ICsgICAgICAgX191MzIgbnVtX3JlZ2lvbnM7Cj4gPj4gKwo+ ID4+ICsgICAgICAgLyoqIEBwYWQ6IE1CWiAqLwo+ID4+ICsgICAgICAgX191MzIgcGFkOwo+ID4+ ICsKPiA+PiArICAgICAgIC8qKiBAcmVnaW9uczogSW5mbyBhYm91dCBlYWNoIHN1cHBvcnRlZCBy ZWdpb24gKi8KPiA+PiArICAgICAgIHN0cnVjdCBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2luZm8g cmVnaW9uc1tdOwo+ID4+ICt9Owo+ID4+ICsKPiA+PiArI2RlZmluZSBEUk1fSTkxNV9HRU1fQ1JF QVRFX0VYVCAgICAgICAgICAgICAgICAweGRlYWRiZWFmCj4gPj4gKyNkZWZpbmUgRFJNX0lPQ1RM X0k5MTVfR0VNX0NSRUFURV9FWFQgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkx NV9HRU1fQ1JFQVRFX0VYVCwgc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0KQo+ID4+ICsK PiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dCAtIEV4aXN0 aW5nIGdlbV9jcmVhdGUgYmVoYXZpb3VyLCB3aXRoIGFkZGVkCj4gPj4gKyAqIGV4dGVuc2lvbiBz dXBwb3J0IHVzaW5nIHN0cnVjdCBpOTE1X3VzZXJfZXh0ZW5zaW9uLgo+ID4+ICsgKgo+ID4+ICsg KiBOb3RlIHRoYXQgaW4gdGhlIGZ1dHVyZSB3ZSB3YW50IHRvIGhhdmUgb3VyIGJ1ZmZlciBmbGFn cyBoZXJlLCBhdCBsZWFzdCBmb3IKPiA+PiArICogdGhlIHN0dWZmIHRoYXQgaXMgaW1tdXRhYmxl LiBQcmV2aW91c2x5IHdlIHdvdWxkIGhhdmUgdHdvIGlvY3Rscywgb25lIHRvCj4gPj4gKyAqIGNy ZWF0ZSB0aGUgb2JqZWN0IHdpdGggZ2VtX2NyZWF0ZSwgYW5kIGFub3RoZXIgdG8gYXBwbHkgdmFy aW91cyBwYXJhbWV0ZXJzLAo+ID4+ICsgKiBob3dldmVyIHRoaXMgY3JlYXRlcyBzb21lIGFtYmln dWl0eSBmb3IgdGhlIHBhcmFtcyB3aGljaCBhcmUgY29uc2lkZXJlZAo+ID4+ICsgKiBpbW11dGFi bGUuIEFsc28gaW4gZ2VuZXJhbCB3ZSdyZSBwaGFzaW5nIG91dCB0aGUgdmFyaW91cyBTRVQvR0VU IGlvY3Rscy4KPiA+PiArICovCj4gPj4gK3N0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dCB7 Cj4gPj4gKyAgICAgICAvKioKPiA+PiArICAgICAgICAqIEBzaXplOiBSZXF1ZXN0ZWQgc2l6ZSBm b3IgdGhlIG9iamVjdC4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBUaGUgKHBhZ2Ut YWxpZ25lZCkgYWxsb2NhdGVkIHNpemUgZm9yIHRoZSBvYmplY3Qgd2lsbCBiZSByZXR1cm5lZC4K PiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBOb3RlIHRoYXQgZm9yIHNvbWUgZGV2aWNl cyB3ZSBoYXZlIG1pZ2h0IGhhdmUgZnVydGhlciBtaW5pbXVtCj4gPj4gKyAgICAgICAgKiBwYWdl LXNpemUgcmVzdHJpY3Rpb25zKGxhcmdlciB0aGFuIDRLKSwgbGlrZSBmb3IgZGV2aWNlIGxvY2Fs LW1lbW9yeS4KPiA+PiArICAgICAgICAqIEhvd2V2ZXIgaW4gZ2VuZXJhbCB0aGUgZmluYWwgc2l6 ZSBoZXJlIHNob3VsZCBhbHdheXMgcmVmbGVjdCBhbnkKPiA+PiArICAgICAgICAqIHJvdW5kaW5n IHVwLCBpZiBmb3IgZXhhbXBsZSB1c2luZyB0aGUgSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllf UkVHSU9OUwo+ID4+ICsgICAgICAgICogZXh0ZW5zaW9uIHRvIHBsYWNlIHRoZSBvYmplY3QgaW4g ZGV2aWNlIGxvY2FsLW1lbW9yeS4KPiA+PiArICAgICAgICAqLwo+ID4+ICsgICAgICAgX191NjQg c2l6ZTsKPiA+PiArICAgICAgIC8qKgo+ID4+ICsgICAgICAgICogQGhhbmRsZTogUmV0dXJuZWQg aGFuZGxlIGZvciB0aGUgb2JqZWN0Lgo+ID4+ICsgICAgICAgICoKPiA+PiArICAgICAgICAqIE9i amVjdCBoYW5kbGVzIGFyZSBub256ZXJvLgo+ID4+ICsgICAgICAgICovCj4gPj4gKyAgICAgICBf X3UzMiBoYW5kbGU7Cj4gPj4gKyAgICAgICAvKiogQGZsYWdzOiBNQlogKi8KPiA+PiArICAgICAg IF9fdTMyIGZsYWdzOwo+ID4+ICsgICAgICAgLyoqCj4gPj4gKyAgICAgICAgKiBAZXh0ZW5zaW9u czogVGhlIGNoYWluIG9mIGV4dGVuc2lvbnMgdG8gYXBwbHkgdG8gdGhpcyBvYmplY3QuCj4gPj4g KyAgICAgICAgKgo+ID4+ICsgICAgICAgICogVGhpcyB3aWxsIGJlIHVzZWZ1bCBpbiB0aGUgZnV0 dXJlIHdoZW4gd2UgbmVlZCB0byBzdXBwb3J0IHNldmVyYWwKPiA+PiArICAgICAgICAqIGRpZmZl cmVudCBleHRlbnNpb25zLCBhbmQgd2UgbmVlZCB0byBhcHBseSBtb3JlIHRoYW4gb25lIHdoZW4K PiA+PiArICAgICAgICAqIGNyZWF0aW5nIHRoZSBvYmplY3QuIFNlZSBzdHJ1Y3QgaTkxNV91c2Vy X2V4dGVuc2lvbi4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBJZiB3ZSBkb24ndCBz dXBwbHkgYW55IGV4dGVuc2lvbnMgdGhlbiB3ZSBnZXQgdGhlIHNhbWUgb2xkIGdlbV9jcmVhdGUK PiA+PiArICAgICAgICAqIGJlaGF2aW91ci4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAg KiBGb3IgSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9OUyB1c2FnZSBzZWUKPiA+PiAr ICAgICAgICAqIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF9tZW1vcnlfcmVnaW9ucy4K PiA+PiArICAgICAgICAqLwo+ID4+ICsjZGVmaW5lIEk5MTVfR0VNX0NSRUFURV9FWFRfTUVNT1JZ X1JFR0lPTlMgMAo+ID4+ICsgICAgICAgX191NjQgZXh0ZW5zaW9uczsKPiA+PiArfTsKPiA+PiAr Cj4gPj4gKy8qKgo+ID4+ICsgKiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5 X3JlZ2lvbnMgLSBUaGUKPiA+PiArICogSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9O UyBleHRlbnNpb24uCj4gPj4gKyAqCj4gPj4gKyAqIFNldCB0aGUgb2JqZWN0IHdpdGggdGhlIGRl c2lyZWQgc2V0IG9mIHBsYWNlbWVudHMvcmVnaW9ucyBpbiBwcmlvcml0eQo+ID4+ICsgKiBvcmRl ci4gRWFjaCBlbnRyeSBtdXN0IGJlIHVuaXF1ZSBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2Uu Cj4gPj4gKyAqCj4gPj4gKyAqIFRoaXMgaXMgcHJvdmlkZWQgYXMgYW4gYXJyYXkgb2Ygc3RydWN0 IGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3NfaW5zdGFuY2UsIG9yCj4gPj4gKyAqIGFuIGVxdWl2 YWxlbnQgbGF5b3V0IG9mIGNsYXNzOmluc3RhbmNlIHBhaXIgZW5jb2RpbmdzLiBTZWUgc3RydWN0 Cj4gPj4gKyAqIGRybV9pOTE1X3F1ZXJ5X21lbW9yeV9yZWdpb25zIGFuZCBEUk1fSTkxNV9RVUVS WV9NRU1PUllfUkVHSU9OUyBmb3IgaG93IHRvCj4gPj4gKyAqIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQg cmVnaW9ucyBmb3IgYSBkZXZpY2UuCj4gPj4gKyAqCj4gPj4gKyAqIEFzIGFuIGV4YW1wbGUsIG9u IGRpc2NyZXRlIGRldmljZXMsIGlmIHdlIHdpc2ggdG8gc2V0IHRoZSBwbGFjZW1lbnQgYXMKPiA+ PiArICogZGV2aWNlIGxvY2FsLW1lbW9yeSB3ZSBjYW4gZG8gc29tZXRoaW5nIGxpa2U6Cj4gPj4g KyAqCj4gPj4gKyAqIC4uIGNvZGUtYmxvY2s6OiBDCj4gPj4gKyAqCj4gPj4gKyAqICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSByZWdpb25fbG1lbSA9IHsKPiA+ PiArICogICAgICAgICAgICAgIC5tZW1vcnlfY2xhc3MgPSBJOTE1X01FTU9SWV9DTEFTU19ERVZJ Q0UsCj4gPj4gKyAqICAgICAgICAgICAgICAubWVtb3J5X2luc3RhbmNlID0gMCwKPiA+PiArICog ICAgICB9Owo+ID4+ICsgKiAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF9tZW1v cnlfcmVnaW9ucyByZWdpb25zID0gewo+ID4+ICsgKiAgICAgICAgICAgICAgLmJhc2UgPSB7IC5u YW1lID0gSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9OUyB9LAo+ID4+ICsgKiAgICAg ICAgICAgICAgLnJlZ2lvbnMgPSAodWludHB0cl90KSZyZWdpb25fbG1lbSwKPiA+PiArICogICAg ICAgICAgICAgIC5udW1fcmVnaW9ucyA9IDEsCj4gPj4gKyAqICAgICAgfTsKPiA+PiArICogICAg ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQgY3JlYXRlX2V4dCA9IHsKPiA+PiArICog ICAgICAgICAgICAgIC5zaXplID0gMTYgKiBQQUdFX1NJWkUsCj4gPj4gKyAqICAgICAgICAgICAg ICAuZXh0ZW5zaW9ucyA9ICh1aW50cHRyX3QpJnJlZ2lvbnMsCj4gPj4gKyAqICAgICAgfTsKPiA+ PiArICoKPiA+PiArICogICAgICBpbnQgZXJyID0gaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dF TV9DUkVBVEVfRVhULCAmY3JlYXRlX2V4dCk7Cj4gPj4gKyAqICAgICAgaWYgKGVycikgLi4uCj4g Pj4gKyAqCj4gPj4gKyAqIEF0IHdoaWNoIHBvaW50IHdlIGdldCB0aGUgb2JqZWN0IGhhbmRsZSBp biAmZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQuaGFuZGxlLAo+ID4+ICsgKiBhbG9uZyB3aXRoIHRo ZSBmaW5hbCBvYmplY3Qgc2l6ZSBpbiAmZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQuc2l6ZSwgd2hp Y2gKPiA+PiArICogc2hvdWxkIGFjY291bnQgZm9yIGFueSByb3VuZGluZyB1cCwgaWYgcmVxdWly ZWQuCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5 X3JlZ2lvbnMgewo+ID4+ICsgICAgICAgLyoqIEBiYXNlOiBFeHRlbnNpb24gbGluay4gU2VlIHN0 cnVjdCBpOTE1X3VzZXJfZXh0ZW5zaW9uLiAqLwo+ID4+ICsgICAgICAgc3RydWN0IGk5MTVfdXNl cl9leHRlbnNpb24gYmFzZTsKPiA+PiArCj4gPj4gKyAgICAgICAvKiogQHBhZDogTUJaICovCj4g Pj4gKyAgICAgICBfX3UzMiBwYWQ7Cj4gPj4gKyAgICAgICAvKiogQG51bV9yZWdpb25zOiBOdW1i ZXIgb2YgZWxlbWVudHMgaW4gdGhlIEByZWdpb25zIGFycmF5LiAqLwo+ID4+ICsgICAgICAgX191 MzIgbnVtX3JlZ2lvbnM7Cj4gPj4gKyAgICAgICAvKioKPiA+PiArICAgICAgICAqIEByZWdpb25z OiBUaGUgcmVnaW9ucy9wbGFjZW1lbnRzIGFycmF5Lgo+ID4+ICsgICAgICAgICoKPiA+PiArICAg ICAgICAqIEFuIGFycmF5IG9mIHN0cnVjdCBkcm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzX2luc3Rh bmNlLgo+ID4+ICsgICAgICAgICovCj4gPj4gKyAgICAgICBfX3U2NCByZWdpb25zOwo+ID4+ICt9 Owo+ID4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5y c3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5yc3QKPiA+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+ID4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDYyZjFlZmQ5MDAzCj4gPj4g LS0tIC9kZXYvbnVsbAo+ID4+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dlbV9s bWVtLnJzdAo+ID4+IEBAIC0wLDAgKzEsMTMwIEBACj4gPj4gKz09PT09PT09PT09PT09PT09PT09 PT09PT0KPiA+PiArSTkxNSBERzEvTE1FTSBSRkMgU2VjdGlvbgo+ID4+ICs9PT09PT09PT09PT09 PT09PT09PT09PT09Cj4gPj4gKwo+ID4+ICtVcHN0cmVhbSBwbGFuCj4gPj4gKz09PT09PT09PT09 PT0KPiA+PiArRm9yIHVwc3RyZWFtIHRoZSBvdmVyYWxsIHBsYW4gZm9yIGxhbmRpbmcgYWxsIHRo ZSBERzEgc3R1ZmYgYW5kIHR1cm5pbmcgaXQgZm9yCj4gPj4gK3JlYWwsIHdpdGggYWxsIHRoZSB1 QVBJIGJpdHMgaXM6Cj4gPj4gKwo+ID4+ICsqIE1lcmdlIGJhc2ljIEhXIGVuYWJsaW5nIG9mIERH MShzdGlsbCB3aXRob3V0IHBjaWlkKQo+ID4+ICsqIE1lcmdlIHRoZSB1QVBJIGJpdHMgYmVoaW5k IHNwZWNpYWwgQ09ORklHX0JST0tFTihvciBzbykgZmxhZwo+ID4+ICsgICAgICAgICogQXQgdGhp cyBwb2ludCB3ZSBjYW4gc3RpbGwgbWFrZSBjaGFuZ2VzLCBidXQgaW1wb3J0YW50bHkgdGhpcyBs ZXRzIHVzCj4gPj4gKyAgICAgICAgICBzdGFydCBydW5uaW5nIElHVHMgd2hpY2ggY2FuIHV0aWxp emUgbG9jYWwtbWVtb3J5IGluIENJCj4gPj4gKyogQ29udmVydCBvdmVyIHRvIFRUTSwgbWFrZSBz dXJlIGl0IGFsbCBrZWVwcyB3b3JraW5nLiBTb21lIG9mIHRoZSB3b3JrIGl0ZW1zOgo+ID4+ICsg ICAgICAgICogVFRNIHNocmlua2VyIGZvciBkaXNjcmV0ZQo+ID4+ICsgICAgICAgICogZG1hX3Jl c3ZfbG9ja2l0ZW0gZm9yIGZ1bGwgZG1hX3Jlc3ZfbG9jaywgaS5lIG5vdCBqdXN0IHRyeWxvY2sK PiA+PiArICAgICAgICAqIFVzZSBUVE0gQ1BVIHBhZ2VmYXVsdCBoYW5kbGVyCj4gPj4gKyAgICAg ICAgKiBSb3V0ZSBzaG1lbSBiYWNrZW5kIG92ZXIgdG8gVFRNIFNZU1RFTSBmb3IgZGlzY3JldGUK PiA+PiArICAgICAgICAqIFRUTSBwdXJnZWFibGUgb2JqZWN0IHN1cHBvcnQKPiA+PiArICAgICAg ICAqIE1vdmUgaTkxNSBidWRkeSBhbGxvY2F0b3Igb3ZlciB0byBUVE0KPiA+PiArICAgICAgICAq IE1NQVAgaW9jdGwgbW9kZShzZWUgYEk5MTUgTU1BUGBfKQo+ID4+ICsgICAgICAgICogU0VUL0dF VCBpb2N0bCBjYWNoaW5nKHNlZSBgSTkxNSBTRVQvR0VUIENBQ0hJTkdgXykKPiA+PiArKiBBZGQg cGNpaWQgZm9yIERHMSBhbmQgdHVybiBvbiB1QVBJIGZvciByZWFsCj4gPgo+ID4gUGFydCBvZiB0 aGlzIHByb2Nlc3Mgc2hvdWxkIGJlIGFub3RoZXIgUkZDIGUtbWFpbCwgY2MnZCB0byBtZXNhLWRl dgo+ID4gZm9yIGZpbmFsIHNpZ24tb2ZmIGJlZm9yZSB3ZSBsb2NrIHRoZSBBUEkgZG93bi4KPgo+ IERvIHlvdSBtZWFuIGZvciB0aGUgYWN0dWFsIHBhdGNoZXMgdGhhdCBpbXBsZW1lbnQgdGhlIHBy b3Bvc2VkIHVBUEksIG9yCj4gYXJlIHlvdSByZWZlcnJpbmcgdG8gdGhpcyBkb2MvcmZjIHBhdGNo PwoKSSBtZWFuIHRoYXQsIGJlZm9yZSB3ZSBhZGQgdGhlIFBDSSBJRCBvciByZW1vdmUgdGhlIENP TkZJR19CUk9LRU4gb3IKd2hhdGV2ZXIgaXQgaXMgdGhhdCBlbmFibGVzIHRoZSBuZXcgdUFQSSBm b3IgcmVhbCwgIHdlIHNob3VsZCBoYXZlIG9uZQpmaW5hbCByZXZpZXcgb2YgdGhlIG5ldyB1QVBJ LgoKCj4gPj4gKwo+ID4+ICtOZXcgb2JqZWN0IHBsYWNlbWVudCBhbmQgcmVnaW9uIHF1ZXJ5IHVB UEkKPiA+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPj4g K1N0YXJ0aW5nIGZyb20gREcxIHdlIG5lZWQgdG8gZ2l2ZSB1c2Vyc3BhY2UgdGhlIGFiaWxpdHkg dG8gYWxsb2NhdGUgYnVmZmVycyBmcm9tCj4gPj4gK2RldmljZSBsb2NhbC1tZW1vcnkuIEN1cnJl bnRseSB0aGUgZHJpdmVyIHN1cHBvcnRzIGdlbV9jcmVhdGUsIHdoaWNoIGNhbiBwbGFjZQo+ID4+ ICtidWZmZXJzIGluIHN5c3RlbSBtZW1vcnkgdmlhIHNobWVtLCBhbmQgdGhlIHVzdWFsIGFzc29y dG1lbnQgb2Ygb3RoZXIKPiA+PiAraW50ZXJmYWNlcywgbGlrZSBkdW1iIGJ1ZmZlcnMgYW5kIHVz ZXJwdHIuCj4gPj4gKwo+ID4+ICtUbyBzdXBwb3J0IHRoaXMgbmV3IGNhcGFiaWxpdHksIHdoaWxl IGFsc28gcHJvdmlkaW5nIGEgdUFQSSB3aGljaCB3aWxsIHdvcmsKPiA+PiArYmV5b25kIGp1c3Qg REcxLCB3ZSBwcm9wb3NlIHRvIG9mZmVyIHRocmVlIG5ldyBiaXRzIG9mIHVBUEk6Cj4gPj4gKwo+ ID4+ICtEUk1fSTkxNV9RVUVSWV9NRU1PUllfUkVHSU9OUwo+ID4+ICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4+ICtOZXcgcXVlcnkgSUQgd2hpY2ggYWxsb3dzIHVzZXJzcGFjZSB0 byBkaXNjb3ZlciB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgbWVtb3J5Cj4gPj4gK3JlZ2lvbnMobGlr ZSBzeXN0ZW0tbWVtb3J5IGFuZCBsb2NhbC1tZW1vcnkpIGZvciBhIGdpdmVuIGRldmljZS4gV2Ug aWRlbnRpZnkKPiA+PiArZWFjaCByZWdpb24gd2l0aCBhIGNsYXNzIGFuZCBpbnN0YW5jZSBwYWly LCB3aGljaCBzaG91bGQgYmUgdW5pcXVlLiBUaGUgY2xhc3MKPiA+PiAraGVyZSB3b3VsZCBiZSBE RVZJQ0Ugb3IgU1lTVEVNLCBhbmQgdGhlIGluc3RhbmNlIHdvdWxkIGJlIHplcm8sIG9uIHBsYXRm b3Jtcwo+ID4+ICtsaWtlIERHMS4KPiA+PiArCj4gPj4gK1NpZGUgbm90ZTogVGhlIGNsYXNzL2lu c3RhbmNlIGRlc2lnbiBpcyBib3Jyb3dlZCBmcm9tIG91ciBleGlzdGluZyBlbmdpbmUgdUFQSSwK PiA+PiArd2hlcmUgd2UgZGVzY3JpYmUgZXZlcnkgcGh5c2ljYWwgZW5naW5lIGluIHRlcm1zIG9m IGl0cyBjbGFzcywgYW5kIHRoZQo+ID4+ICtwYXJ0aWN1bGFyIGluc3RhbmNlLCBzaW5jZSB3ZSBj YW4gaGF2ZSBtb3JlIHRoYW4gb25lIHBlciBjbGFzcy4KPiA+PiArCj4gPj4gK0luIHRoZSBmdXR1 cmUgd2UgYWxzbyB3YW50IHRvIGV4cG9zZSBtb3JlIGluZm9ybWF0aW9uIHdoaWNoIGNhbiBmdXJ0 aGVyCj4gPj4gK2Rlc2NyaWJlIHRoZSBjYXBhYmlsaXRpZXMgb2YgYSByZWdpb24uCj4gPj4gKwo+ ID4+ICsuLiBrZXJuZWwtZG9jOjogRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0u aAo+ID4+ICsgICAgICAgIDpmdW5jdGlvbnM6IGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3MgZHJt X2k5MTVfZ2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2lu Zm8gZHJtX2k5MTVfcXVlcnlfbWVtb3J5X3JlZ2lvbnMKPiA+PiArCj4gPj4gK0dFTV9DUkVBVEVf RVhUCj4gPj4gKy0tLS0tLS0tLS0tLS0tCj4gPj4gK05ldyBpb2N0bCB3aGljaCBpcyBiYXNpY2Fs bHkganVzdCBnZW1fY3JlYXRlIGJ1dCBub3cgYWxsb3dzIHVzZXJzcGFjZSB0bwo+ID4+ICtwcm92 aWRlIGEgY2hhaW4gb2YgcG9zc2libGUgZXh0ZW5zaW9ucy4gTm90ZSB0aGF0IGlmIHdlIGRvbid0 IHByb3ZpZGUgYW55Cj4gPj4gK2V4dGVuc2lvbnMgdGhlbiB3ZSBnZXQgdGhlIGV4YWN0IHNhbWUg YmVoYXZpb3VyIGFzIGdlbV9jcmVhdGUuCj4gPgo+ID4gImRvbid0IHByb3ZpZGUgYW55IGV4dGVu c2lvbnMgYW5kIHNldCBmbGFncz0wIgo+ID4KPiA+PiArCj4gPj4gK1NpZGUgbm90ZTogV2UgYWxz byBuZWVkIHRvIHN1cHBvcnQgUFhQWzFdIGluIHRoZSBuZWFyIGZ1dHVyZSwgd2hpY2ggaXMgYWxz bwo+ID4+ICthcHBsaWNhYmxlIHRvIGludGVncmF0ZWQgcGxhdGZvcm1zLCBhbmQgYWRkcyBpdHMg b3duIGdlbV9jcmVhdGVfZXh0IGV4dGVuc2lvbiwKPiA+PiArd2hpY2ggYmFzaWNhbGx5IGxldHMg dXNlcnNwYWNlIG1hcmsgYSBidWZmZXIgYXMgInByb3RlY3RlZCIuCj4gPj4gKwo+ID4+ICsuLiBr ZXJuZWwtZG9jOjogRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0uaAo+ID4+ICsg ICAgICAgIDpmdW5jdGlvbnM6IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0Cj4gPj4gKwo+ID4+ICtJ OTE1X0dFTV9DUkVBVEVfRVhUX01FTU9SWV9SRUdJT05TCj4gPj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiA+PiArSW1wbGVtZW50ZWQgYXMgYW4gZXh0ZW5zaW9uIGZvciBn ZW1fY3JlYXRlX2V4dCwgd2Ugd291bGQgbm93IGFsbG93IHVzZXJzcGFjZSB0bwo+ID4+ICtvcHRp b25hbGx5IHByb3ZpZGUgYW4gaW1tdXRhYmxlIGxpc3Qgb2YgcHJlZmVycmVkIHBsYWNlbWVudHMg YXQgY3JlYXRpb24gdGltZSwKPiA+PiAraW4gcHJpb3JpdHkgb3JkZXIsIGZvciBhIGdpdmVuIGJ1 ZmZlciBvYmplY3QuICBGb3IgdGhlIHBsYWNlbWVudHMgd2UgZXhwZWN0Cj4gPj4gK3RoZW0gZWFj aCB0byB1c2UgdGhlIGNsYXNzL2luc3RhbmNlIGVuY29kaW5nLCBhcyBwZXIgdGhlIG91dHB1dCBv ZiB0aGUgcmVnaW9ucwo+ID4+ICtxdWVyeS4gSGF2aW5nIHRoZSBsaXN0IGluIHByaW9yaXR5IG9y ZGVyIHdpbGwgYmUgdXNlZnVsIGluIHRoZSBmdXR1cmUgd2hlbgo+ID4+ICtwbGFjaW5nIGFuIG9i amVjdCwgc2F5IGR1cmluZyBldmljdGlvbi4KPiA+PiArCj4gPj4gKy4uIGtlcm5lbC1kb2M6OiBE b2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5oCj4gPj4gKyAgICAgICAgOmZ1bmN0 aW9uczogZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5X3JlZ2lvbnMKPiA+PiArCj4gPj4g K09uZSBmYWlyIGNyaXRpY2lzbSBoZXJlIGlzIHRoYXQgdGhpcyBzZWVtcyBhIGxpdHRsZSBvdmVy LWVuZ2luZWVyZWRbMl0uIElmIHdlCj4gPj4gK2p1c3QgY29uc2lkZXIgREcxIHRoZW4geWVzLCBh IHNpbXBsZSBnZW1fY3JlYXRlLmZsYWdzIG9yIHNvbWV0aGluZyBpcyB0b3RhbGx5Cj4gPj4gK2Fs bCB0aGF0J3MgbmVlZGVkIHRvIHRlbGwgdGhlIGtlcm5lbCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVy IGluIGxvY2FsLW1lbW9yeSBvcgo+ID4+ICt3aGF0ZXZlci4gSG93ZXZlciBsb29raW5nIHRvIHRo ZSBmdXR1cmUgd2UgbmVlZCB1QVBJIHdoaWNoIGNhbiBhbHNvIHN1cHBvcnQKPiA+PiArdXBjb21p bmcgWGUgSFAgbXVsdGktdGlsZSBhcmNoaXRlY3R1cmUgaW4gYSBzYW5lIHdheSwgd2hlcmUgdGhl cmUgY2FuIGJlCj4gPj4gK211bHRpcGxlIGxvY2FsLW1lbW9yeSBpbnN0YW5jZXMgZm9yIGEgZ2l2 ZW4gZGV2aWNlLCBhbmQgc28gdXNpbmcgYm90aCBjbGFzcyBhbmQKPiA+PiAraW5zdGFuY2UgaW4g b3VyIHVBUEkgdG8gZGVzY3JpYmUgcmVnaW9ucyBpcyBkZXNpcmFibGUsIGFsdGhvdWdoIHNwZWNp ZmljYWxseQo+ID4+ICtmb3IgREcxIGl0J3MgdW5pbnRlcmVzdGluZywgc2luY2Ugd2Ugb25seSBo YXZlIGEgc2luZ2xlIGxvY2FsLW1lbW9yeSBpbnN0YW5jZS4KPiA+PiArCj4gPj4gK0V4aXN0aW5n IHVBUEkgaXNzdWVzCj4gPj4gKz09PT09PT09PT09PT09PT09PT09Cj4gPj4gK1NvbWUgcG90ZW50 aWFsIGlzc3VlcyB3ZSBzdGlsbCBuZWVkIHRvIHJlc29sdmUuCj4gPj4gKwo+ID4+ICtJOTE1IE1N QVAKPiA+PiArLS0tLS0tLS0tCj4gPj4gK0luIGk5MTUgdGhlcmUgYXJlIG11bHRpcGxlIHdheXMg dG8gTU1BUCBHRU0gb2JqZWN0LCBpbmNsdWRpbmcgbWFwcGluZyB0aGUgc2FtZQo+ID4+ICtvYmpl Y3QgdXNpbmcgZGlmZmVyZW50IG1hcHBpbmcgdHlwZXMoV0MgdnMgV0IpLCBpLmUgbXVsdGlwbGUg YWN0aXZlIG1tYXBzIHBlcgo+ID4+ICtvYmplY3QuIFRUTSBleHBlY3RzIG9uZSBNTUFQIGF0IG1v c3QgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgb2JqZWN0LiBJZiBpdAo+ID4+ICt0dXJucyBvdXQg dGhhdCB3ZSBoYXZlIHRvIGJhY2twZWRhbCBoZXJlLCB0aGVyZSBtaWdodCBiZSBzb21lIHBvdGVu dGlhbAo+ID4+ICt1c2Vyc3BhY2UgZmFsbG91dC4KPiA+PiArCj4gPj4gK0k5MTUgU0VUL0dFVCBD QUNISU5HCj4gPj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4gK0luIGk5MTUgd2UgaGF2ZSBz ZXQvZ2V0X2NhY2hpbmcgaW9jdGwuIFRUTSBkb2Vzbid0IGxldCB1cyB0byBjaGFuZ2UgdGhpcywg YnV0Cj4gPj4gK0RHMSBkb2Vzbid0IHN1cHBvcnQgbm9uLXNub29wZWQgcGNpZSB0cmFuc2FjdGlv bnMsIHNvIHdlIGNhbiBqdXN0IGFsd2F5cwo+ID4+ICthbGxvY2F0ZSBhcyBXQiBmb3Igc21lbS1v bmx5IGJ1ZmZlcnMuICBJZi93aGVuIG91ciBodyBnYWlucyBzdXBwb3J0IGZvcgo+ID4+ICtub24t c25vb3BlZCBwY2llIHRyYW5zYWN0aW9ucyB0aGVuIHdlIG11c3QgZml4IHRoaXMgbW9kZSBhdCBh bGxvY2F0aW9uIHRpbWUgYXMKPiA+PiArYSBuZXcgR0VNIGV4dGVuc2lvbi4KPiA+Cj4gPiAgRnJv bSB0aGUgTWVzYSBQb1YgdGhpcyBzaG91bGQgbW9zdGx5IGJlIGZpbmUuICBJbiBWdWxrYW4sIHdl IG9ubHkgZXZlcgo+ID4gU0VUX0NBQ0hJTkcgcmlnaHQgYWZ0ZXIgQk8gY3JlYXRpb24uICBJbiBH TCwgd2UgZG8gU0VUX0NBQ0hJTkcKPiA+IG11bHRpcGxlIHRpbWVzIG9uIGEgQk8gYnV0LCBmcm9t IHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgaXJpc19idWZtZ3IKPiA+IEFQSSwgaXQgaGFwcGVucyBv biBCTyBjcmVhdGlvbi4gIFdlIG9ubHkgU0VUX0NBQ0hJTkcgaWYgd2UgcHVsbCBhIEJPCj4gPiBv dXQgb2Ygb3VyIGludGVybmFsIGNhY2hlIHdpdGggdGhlIHdyb25nIGNhY2hpbmcgc2V0dGluZy4g IFRoZSBNZXNhCj4gPiBmaXggaXMgcHJldHR5IHNpbXBsZTogIGp1c3QgYWRkIGNhY2hpbmcgdG8g dGhlIGtleSB3ZSB1c2UgZm9yIG91cgo+ID4gaW50ZXJuYWwgQk8gY2FjaGUuICBXZSBjYW4ndCBk byB0aGF0IHJldHJvYWN0aXZlbHksIG9mIGNvdXJzZSwgYnV0IHdlCj4gPiBjYW4gZmFpcmx5IGVh c2lseSBkbyBpdCBmb3IgYWxsIExNRU0gcGxhdGZvcm1zIGdvaW5nIGZvcndhcmQuCj4KPiBTbGln aHRseSBvcnRob2dvbmFsOiB3aGF0IGRvZXMgTWVzYSBkbyBoZXJlIGZvciBzbm9vcGVkIHZzIExM Qwo+IHBsYXRmb3Jtcz8gRG9lcyBpdCBtYWtlIHN1Y2ggYSBkaXN0aW5jdGlvbj8gSnVzdCBjdXJp b3VzLgoKSW4gVnVsa2FuIG9uIG5vbi1MTEMgcGxhdGZvcm1zLCB3ZSBvbmx5IGVuYWJsZSBzbm9v cGluZyBmb3IgdGhpbmdzCnRoYXQgYXJlIGdvaW5nIHRvIGJlIG1hcHBlZDogc3RhZ2luZyBidWZm ZXJzLCBzdGF0ZSBidWZmZXJzLCBiYXRjaGVzLApldGMuICBGb3IgYW55dGhpbmcgdGhhdCdzIG5v dCBtYXBwZWQgKHRpbGVkIGltYWdlcywgZXRjLikgd2UgbGVhdmUKc25vb3Bpbmcgb2ZmIG9uIG5v bi1MTEMgcGxhdGZvcm1zIHNvIHdlIGRvbid0IHRha2UgYSBoaXQgZnJvbSBpdC4gIEluCkdMLCBJ IHRoaW5rIGl0IHdvcmtzIG91dCB0byBiZSBlZmZlY3RpdmVseSB0aGUgc2FtZSBidXQgaXQncyBh IGxlc3MKb2J2aW91cyBkZWNpc2lvbiB0aGVyZS4KCi0tSmFzb24KCgo+ID4+ICsKPiA+PiArVGhp cyBpcyByZWxhdGVkIHRvIHRoZSBtbWFwIHByb2JsZW0sIGJlY2F1c2UgaW4gZ2VuZXJhbCAobWVh bmluZywgd2hlbiB3ZSdyZQo+ID4+ICtub3QgcnVubmluZyBvbiBpbnRlbCBjcHVzKSB0aGUgY3B1 IG1tYXAgbXVzdCBub3QsIGV2ZXIsIGJlIGluY29uc2lzdGVudCB3aXRoCj4gPj4gK2FsbG9jYXRp b24gbW9kZS4KPiA+PiArCj4gPj4gK1Bvc3NpYmxlIGlkZWEgaXMgdG8gbGV0IHRoZSBrZXJuZWwg cGlja3MgdGhlIG1tYXAgbW9kZSBmb3IgdXNlcnNwYWNlIGZyb20gdGhlCj4gPj4gK2ZvbGxvd2lu ZyB0YWJsZToKPiA+PiArCj4gPj4gK3NtZW0tb25seTogV0IuIFVzZXJzcGFjZSBkb2VzIG5vdCBu ZWVkIHRvIGNhbGwgY2xmbHVzaC4KPiA+PiArCj4gPj4gK3NtZW0rbG1lbTogV2UgYWxsb2NhdGUg dW5jYWNoZWQgbWVtb3J5LCBhbmQgZ2l2ZSB1c2Vyc3BhY2UgYSBXQyBtYXBwaW5nCj4gPj4gK2Zv ciB3aGVuIHRoZSBidWZmZXIgaXMgaW4gc21lbSwgYW5kIFdDIHdoZW4gaXQncyBpbiBsbWVtLiBH UFUgZG9lcyBzbm9vcGVkCj4gPj4gK2FjY2Vzcywgd2hpY2ggaXMgYSBiaXQgaW5lZmZpY2llbnQu Cj4gPj4gKwo+ID4+ICtsbWVtIG9ubHk6IGFsd2F5cyBXQwo+ID4+ICsKPiA+PiArVGhpcyBtZWFu cyBvbiBkaXNjcmV0ZSB5b3Ugb25seSBnZXQgYSBzaW5nbGUgbW1hcCBtb2RlLCBhbGwgb3RoZXJz IG11c3QgYmUKPiA+PiArcmVqZWN0ZWQuIFRoYXQncyBwcm9iYWJseSBnb2luZyB0byBiZSBhIG5l dyBkZWZhdWx0IG1vZGUgb3Igc29tZXRoaW5nIGxpa2UKPiA+PiArdGhhdC4KPiA+Cj4gPiBTZWVt cyByZWFzb25hYmxlIGZvciBub3csIEkgdGhpbmsuICBBZ2Fpbiwgd2UgY2FuJ3QgYXBwbHkgaXQK PiA+IHJldHJvYWN0aXZlbHkgdG8gb2xkIE1lc2EgZHJpdmVycyB0aGF0IGhhdmUgYWxyZWFkeSBz aGlwcGVkIGJ1dCBJCj4gPiBkb24ndCBzZWUgd2h5IHdlIGNhbid0IGRvIHRoaXMgZ29pbmcgZm9y d2FyZC4gIFdlIGNhbiBhbHNvIGFkZCBhCj4gPiBjcmVhdGUgZmxhZyBmb3IgY2hhbmdpbmcgY2Fj aGluZyBzZXR0aW5ncy4KPiA+Cj4gPiAtLUphc29uCj4gPgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK 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=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 084ACC433ED for ; Wed, 28 Apr 2021 16:56:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 7C79E6100B for ; Wed, 28 Apr 2021 16:56:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7C79E6100B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=jlekstrand.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 641296EC02; Wed, 28 Apr 2021 16:56:40 +0000 (UTC) Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com [IPv6:2a00:1450:4864:20::629]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E56D6EC02 for ; Wed, 28 Apr 2021 16:56:38 +0000 (UTC) Received: by mail-ej1-x629.google.com with SMTP id r12so95667966ejr.5 for ; Wed, 28 Apr 2021 09:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jlekstrand-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=JETafalM3VdWKh6AxJ8LPGpOJqK4L6jGjh/VozgZjsk=; b=ZG24IxmPRVXWNAQtLDyg1MKmeME4+4akfrd/n7FMRcDb1eegvuCFRhaZJcbS6DFsYM YIO9FUQRH/+Zjuopl3mZay5gTsRYbGkz3YTbZONT7iU3dPSIIOQqBUe4O7+2WW/2FQSO wf54L+Umjb60V6ni8C3EEnYXi4Cnzz1ShbIoM/h58REK+1Xw8eodav6bLhaEZw49upId uak9ipLKFb8L6B4AYKQdnd/LBGN5Q5Zy5tUV1Om744bzPKSLKLCjZcO9YpqLA36JsSel gF+JcfCjWHdDn8L2PcgchAD+AqEy5L5/m743x3w4NXrqrirCBUd5KF8I2zlNPMgZRyo6 jKfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=JETafalM3VdWKh6AxJ8LPGpOJqK4L6jGjh/VozgZjsk=; b=ch0mq/1xf7h77YfdVTA+0I4yuq6WRqHNu5G9no0eZdKDwLo7K9cI7242068KAp2i+A gpokXhqfErBeP/NA62GGI1254/gXn75iYRwnzz0Qagfm0WUDy0tnDiY5Qay38WNIphnf DWfxhArDANAbkblS4uoq9+hkFDYA+OLpuqMqLvoUCakmLg1a5GLZBZFVJCBpvo1UcdMg 6bCicSRWg5/pfAlgssGmUto43Bu/3MLIJL8khy+NU1EIcHc0QN/d5Pf/MdProBSRPWTU oOuSc1EYbbBbdD4N8BmJHS9m0Xxu7WFKBlyVLzBhaon0EiR5Ez0nkINgRVGYhIyqcDFm jG7Q== X-Gm-Message-State: AOAM5312jiA1e0yOE+c4Fw+ZT0Zw1v7a5lSprB+ESe5bAH5W2mxmRTzx YhJ//vQnZjBnmVMq23XSjUioLTZWwb2VefpinJbaWg== X-Google-Smtp-Source: ABdhPJyBPW0A8w7hprsIZa5Zdagz9kt+XLy01ZkX+mKEW9MIWw63Xsinx2rOWqxsOFy5GateZ28vcs2dmo9j/jh9k2k= X-Received: by 2002:a17:907:6217:: with SMTP id ms23mr7628908ejc.435.1619628996659; Wed, 28 Apr 2021 09:56:36 -0700 (PDT) MIME-Version: 1.0 References: <20210426093901.28937-1-matthew.auld@intel.com> In-Reply-To: From: Jason Ekstrand Date: Wed, 28 Apr 2021 11:56:25 -0500 Message-ID: To: Matthew Auld Subject: Re: [Intel-gfx] [PATCH 1/9] drm/doc/rfc: i915 DG1 uAPI X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Lionel Landwerlin , =?UTF-8?Q?Thomas_Hellstr=C3=B6m?= , Dave Airlie , Intel GFX , Maling list - DRI developers , Daniel Vetter , Kenneth Graunke , ML mesa-dev , Daniel Vetter Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gV2VkLCBBcHIgMjgsIDIwMjEgYXQgMTE6NDEgQU0gTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1 bGRAaW50ZWwuY29tPiB3cm90ZToKPgo+IE9uIDI4LzA0LzIwMjEgMTY6NTEsIEphc29uIEVrc3Ry YW5kIHdyb3RlOgo+ID4gT24gTW9uLCBBcHIgMjYsIDIwMjEgYXQgNDo0MiBBTSBNYXR0aGV3IEF1 bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+IHdyb3RlOgo+ID4+Cj4gPj4gQWRkIGFuIGVudHJ5 IGZvciB0aGUgbmV3IHVBUEkgbmVlZGVkIGZvciBERzEuIEFsc28gYWRkIHRoZSBvdmVyYWxsCj4g Pj4gdXBzdHJlYW0gcGxhbiwgaW5jbHVkaW5nIHNvbWUgbm90ZXMgZm9yIHRoZSBUVE0gY29udmVy c2lvbi4KPiA+Pgo+ID4+IHYyKERhbmllbCk6Cj4gPj4gICAgLSBpbmNsdWRlIHRoZSBvdmVyYWxs IHVwc3RyZWFtaW5nIHBsYW4KPiA+PiAgICAtIGFkZCBhIG5vdGUgZm9yIG1tYXAsIHRoZXJlIGFy ZSBkaWZmZXJlbmNlcyBoZXJlIGZvciBUVE0gdnMgaTkxNQo+ID4+ICAgIC0gYnVuY2ggb2Ygb3Ro ZXIgc3VnZ2VzdGlvbnMgZnJvbSBEYW5pZWwKPiA+PiB2MzoKPiA+PiAgIChEYW5pZWwpCj4gPj4g ICAgLSBhZGQgYSBub3RlIGZvciBzZXQvZ2V0IGNhY2hpbmcgc3R1ZmYKPiA+PiAgICAtIGFkZCBz b21lIG1vcmUgZG9jcyBmb3IgZXhpc3RpbmcgcXVlcnkgYW5kIGV4dGVuc2lvbnMgc3R1ZmYKPiA+ PiAgICAtIGFkZCBhbiBhY3R1YWwgY29kZSBleGFtcGxlIGZvciByZWdpb25zIHF1ZXJ5Cj4gPj4g ICAgLSBidW5jaCBvZiBvdGhlciBzdHVmZgo+ID4+ICAgKEphc29uKQo+ID4+ICAgIC0gdUFQSSBj aGFuZ2UoISk6Cj4gPj4gICAgICAgICAgLSB0cnkgYSBzaW1wbGVyIGRlc2lnbiB3aXRoIHRoZSBw bGFjZW1lbnRzIGV4dGVuc2lvbgo+ID4+ICAgICAgICAgIC0gcmF0aGVyIHRoYW4gaGF2ZSBhIGdl bmVyaWMgc2V0cGFyYW0gd2hpY2ggY2FuIGNvdmVyIG11bHRpcGxlCj4gPj4gICAgICAgICAgICB1 c2UgY2FzZXMsIGhhdmUgZWFjaCBleHRlbnNpb24gYmUgcmVzcG9uc2libGUgZm9yIG9uZSB0aGlu Zwo+ID4+ICAgICAgICAgICAgb25seQo+ID4+IHY0Ogo+ID4+ICAgKERhbmllbCkKPiA+PiAgICAt IGFkZCBzb21lIG1vcmUgbm90ZXMgZm9yIHR0bSBjb252ZXJzaW9uCj4gPj4gICAgLSBidW5jaCBv ZiBvdGhlciBzdHVmZgo+ID4+ICAgKEphc29uKQo+ID4+ICAgIC0gdUFQSSBjaGFuZ2UoISk6Cj4g Pj4gICAgICAgICAgLSBkcm9wIGFsbCB0aGUgZXh0cmEgcnN2ZCBtZW1iZXJzIGZvciB0aGUgcmVn aW9uX3F1ZXJ5IGFuZAo+ID4+ICAgICAgICAgICAgcmVnaW9uX2luZm8sIGp1c3Qga2VlcCB0aGUg YmFyZSBtaW5pbXVtIG5lZWRlZCBmb3IgcGFkZGluZwo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgo+ID4+IENjOiBKb29uYXMgTGFo dGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gPj4gQ2M6IFRob21hcyBI ZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KPiA+PiBDYzogRGFu aWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KPiA+ PiBDYzogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AbGludXguaW50ZWwu Y29tPgo+ID4+IENjOiBKb24gQmxvb21maWVsZCA8am9uLmJsb29tZmllbGRAaW50ZWwuY29tPgo+ ID4+IENjOiBKb3JkYW4gSnVzdGVuIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPgo+ID4+IENj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+PiBDYzogS2VubmV0 aCBHcmF1bmtlIDxrZW5uZXRoQHdoaXRlY2FwZS5vcmc+Cj4gPj4gQ2M6IEphc29uIEVrc3RyYW5k IDxqYXNvbkBqbGVrc3RyYW5kLm5ldD4KPiA+PiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21h aWwuY29tPgo+ID4+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gQ2M6 IG1lc2EtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IEFja2VkLWJ5OiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+ID4+IEFja2VkLWJ5OiBEYXZlIEFpcmxpZSA8 YWlybGllZEByZWRoYXQuY29tPgo+ID4+IC0tLQo+ID4+ICAgRG9jdW1lbnRhdGlvbi9ncHUvcmZj L2k5MTVfZ2VtX2xtZW0uaCAgIHwgMjEyICsrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAg RG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0ucnN0IHwgMTMwICsrKysrKysrKysr KysrKwo+ID4+ICAgRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2luZGV4LnJzdCAgICAgICAgIHwgICA0 ICsKPiA+PiAgIDMgZmlsZXMgY2hhbmdlZCwgMzQ2IGluc2VydGlvbnMoKykKPiA+PiAgIGNyZWF0 ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5oCj4gPj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0u cnN0Cj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2Vt X2xtZW0uaCBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dlbV9sbWVtLmgKPiA+PiBuZXcg ZmlsZSBtb2RlIDEwMDY0NAo+ID4+IGluZGV4IDAwMDAwMDAwMDAwMC4uN2VkNTliNjIwMmQ1Cj4g Pj4gLS0tIC9kZXYvbnVsbAo+ID4+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dl bV9sbWVtLmgKPiA+PiBAQCAtMCwwICsxLDIxMiBAQAo+ID4+ICsvKioKPiA+PiArICogZW51bSBk cm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzIC0gU3VwcG9ydGVkIG1lbW9yeSBjbGFzc2VzCj4gPj4g KyAqLwo+ID4+ICtlbnVtIGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3Mgewo+ID4+ICsgICAgICAg LyoqIEBJOTE1X01FTU9SWV9DTEFTU19TWVNURU06IFN5c3RlbSBtZW1vcnkgKi8KPiA+PiArICAg ICAgIEk5MTVfTUVNT1JZX0NMQVNTX1NZU1RFTSA9IDAsCj4gPj4gKyAgICAgICAvKiogQEk5MTVf TUVNT1JZX0NMQVNTX0RFVklDRTogRGV2aWNlIGxvY2FsLW1lbW9yeSAqLwo+ID4+ICsgICAgICAg STkxNV9NRU1PUllfQ0xBU1NfREVWSUNFLAo+ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4g KyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzX2luc3RhbmNlIC0gSWRlbnRpZnkg cGFydGljdWxhciBtZW1vcnkgcmVnaW9uCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3QgZHJtX2k5MTVf Z2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSB7Cj4gPj4gKyAgICAgICAvKiogQG1lbW9yeV9jbGFz czogU2VlIGVudW0gZHJtX2k5MTVfZ2VtX21lbW9yeV9jbGFzcyAqLwo+ID4+ICsgICAgICAgX191 MTYgbWVtb3J5X2NsYXNzOwo+ID4+ICsKPiA+PiArICAgICAgIC8qKiBAbWVtb3J5X2luc3RhbmNl OiBXaGljaCBpbnN0YW5jZSAqLwo+ID4+ICsgICAgICAgX191MTYgbWVtb3J5X2luc3RhbmNlOwo+ ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkxNV9tZW1vcnlf cmVnaW9uX2luZm8gLSBEZXNjcmliZXMgb25lIHJlZ2lvbiBhcyBrbm93biB0byB0aGUKPiA+PiAr ICogZHJpdmVyLgo+ID4+ICsgKgo+ID4+ICsgKiBOb3RlIHRoYXQgd2UgcmVzZXJ2ZSBzb21lIHN0 dWZmIGhlcmUgZm9yIHBvdGVudGlhbCBmdXR1cmUgd29yay4gQXMgYW4gZXhhbXBsZQo+ID4+ICsg KiB3ZSBtaWdodCB3YW50IGV4cG9zZSB0aGUgY2FwYWJpbGl0aWVzKHNlZSBAY2FwcykgZm9yIGEg Z2l2ZW4gcmVnaW9uLCB3aGljaAo+ID4+ICsgKiBjb3VsZCBpbmNsdWRlIHRoaW5ncyBsaWtlIGlm IHRoZSByZWdpb24gaXMgQ1BVIG1hcHBhYmxlL2FjY2Vzc2libGUsIHdoYXQgYXJlCj4gPj4gKyAq IHRoZSBzdXBwb3J0ZWQgbWFwcGluZyB0eXBlcyBldGMuCj4gPj4gKyAqCj4gPj4gKyAqIE5vdGUg dGhpcyBpcyB1c2luZyBib3RoIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIGFuZCBzdHJ1Y3Qg ZHJtX2k5MTVfcXVlcnkuCj4gPj4gKyAqIEZvciB0aGlzIG5ldyBxdWVyeSB3ZSBhcmUgYWRkaW5n IHRoZSBuZXcgcXVlcnkgaWQgRFJNX0k5MTVfUVVFUllfTUVNT1JZX1JFR0lPTlMKPiA+PiArICog YXQgJmRybV9pOTE1X3F1ZXJ5X2l0ZW0ucXVlcnlfaWQuCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3Qg ZHJtX2k5MTVfbWVtb3J5X3JlZ2lvbl9pbmZvIHsKPiA+PiArICAgICAgIC8qKiBAcmVnaW9uOiBU aGUgY2xhc3M6aW5zdGFuY2UgcGFpciBlbmNvZGluZyAqLwo+ID4+ICsgICAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9tZW1vcnlfY2xhc3NfaW5zdGFuY2UgcmVnaW9uOwo+ID4+ICsKPiA+PiArICAg ICAgIC8qKiBAcGFkOiBNQlogKi8KPiA+PiArICAgICAgIF9fdTMyIHBhZDsKPiA+PiArCj4gPj4g KyAgICAgICAvKiogQGNhcHM6IE1CWiAqLwo+ID4+ICsgICAgICAgX191NjQgY2FwczsKPiA+Cj4g PiBBcyB3YXMgY29tbWVudGVkIG9uIGFub3RoZXIgdGhyZWFkIHNvbWV3aGVyZSwgaWYgd2UncmUg Z29pbmcgdG8gaGF2ZQo+ID4gY2Fwcywgd2Ugc2hvdWxkIGhhdmUgYW5vdGhlciBfX3U2NCBzdXBw b3J0ZWRfY2FwcyB3aGljaCB0ZWxscwo+ID4gdXNlcnNwYWNlIHdoYXQgY2FwcyB0aGUga2VybmVs IGlzIGNhcGFibGUgb2YgYWR2ZXJ0aXNpbmcuICBUaGF0IHdheQo+ID4gdXNlcnNwYWNlIGNhbiB0 ZWxsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYSBrZXJuZWwgd2hpY2ggZG9lc24ndAo+ID4gYWR2 ZXJ0aXNlIGEgY2FwIGFuZCBhIGtlcm5lbCB3aGljaCBjYW4gYWR2ZXJ0aXNlIHRoZSBjYXAgYnV0 IHdoZXJlIHRoZQo+ID4gY2FwIGlzbid0IHN1cHBvcnRlZC4KPgo+IFllYWgsIG15IHBsYW4gd2Fz IHRvIGp1c3QgZ28gd2l0aCByc3ZkW10sIHNvIGRyb3AgdGhlIGZsYWdzL2NhcHMgZm9yCj4gbm93 LCBhbmQgYWRkIGEgY29tbWVudC9leGFtcGxlIGZvciBob3cgd2UgcGxhbiB0byBleHRlbmQgdGhp cyBpbiB0aGUKPiBmdXR1cmUodXNpbmcgeW91ciB1bmlvbiArIGFycmF5IHRyaWNrKS4gSG9wZWZ1 bGx5IHRoYXQncyByZWFzb25hYmxlLgoKVGhhdCdzIGZpbmUgd2l0aCBtZSB0b28uICBKdXN0IGFz IGxvbmcgYXMgd2UgaGF2ZSBhbiBlc3RhYmxpc2hlZCBwbGFuCnRoYXQgd29ya3MuCgo+ID4+ICsK PiA+PiArICAgICAgIC8qKiBAcHJvYmVkX3NpemU6IE1lbW9yeSBwcm9iZWQgYnkgdGhlIGRyaXZl ciAoLTEgPSB1bmtub3duKSAqLwo+ID4+ICsgICAgICAgX191NjQgcHJvYmVkX3NpemU7Cj4gPj4g Kwo+ID4+ICsgICAgICAgLyoqIEB1bmFsbG9jYXRlZF9zaXplOiBFc3RpbWF0ZSBvZiBtZW1vcnkg cmVtYWluaW5nICgtMSA9IHVua25vd24pICovCj4gPj4gKyAgICAgICBfX3U2NCB1bmFsbG9jYXRl ZF9zaXplOwo+ID4+ICt9Owo+ID4+ICsKPiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkx NV9xdWVyeV9tZW1vcnlfcmVnaW9ucwo+ID4+ICsgKgo+ID4+ICsgKiBUaGUgcmVnaW9uIGluZm8g cXVlcnkgZW51bWVyYXRlcyBhbGwgcmVnaW9ucyBrbm93biB0byB0aGUgZHJpdmVyIGJ5IGZpbGxp bmcKPiA+PiArICogaW4gYW4gYXJyYXkgb2Ygc3RydWN0IGRybV9pOTE1X21lbW9yeV9yZWdpb25f aW5mbyBzdHJ1Y3R1cmVzLgo+ID4+ICsgKgo+ID4+ICsgKiBFeGFtcGxlIGZvciBnZXR0aW5nIHRo ZSBsaXN0IG9mIHN1cHBvcnRlZCByZWdpb25zOgo+ID4+ICsgKgo+ID4+ICsgKiAuLiBjb2RlLWJs b2NrOjogQwo+ID4+ICsgKgo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X21lbW9y eV9yZWdpb25zICppbmZvOwo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0g aXRlbSA9IHsKPiA+PiArICogICAgICAgICAgICAgLnF1ZXJ5X2lkID0gRFJNX0k5MTVfUVVFUllf TUVNT1JZX1JFR0lPTlM7Cj4gPj4gKyAqICAgICB9Owo+ID4+ICsgKiAgICAgc3RydWN0IGRybV9p OTE1X3F1ZXJ5IHF1ZXJ5ID0gewo+ID4+ICsgKiAgICAgICAgICAgICAubnVtX2l0ZW1zID0gMSwK PiA+PiArICogICAgICAgICAgICAgLml0ZW1zX3B0ciA9ICh1aW50cHRyX3QpJml0ZW0sCj4gPj4g KyAqICAgICB9Owo+ID4+ICsgKiAgICAgaW50IGVyciwgaTsKPiA+PiArICoKPiA+PiArICogICAg IC8vIEZpcnN0IHF1ZXJ5IHRoZSBzaXplIG9mIHRoZSBibG9iIHdlIG5lZWQsIHRoaXMgbmVlZHMg dG8gYmUgbGFyZ2UKPiA+PiArICogICAgIC8vIGVub3VnaCB0byBob2xkIG91ciBhcnJheSBvZiBy ZWdpb25zLiBUaGUga2VybmVsIHdpbGwgZmlsbCBvdXQgdGhlCj4gPj4gKyAqICAgICAvLyBpdGVt Lmxlbmd0aCBmb3IgdXMsIHdoaWNoIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgd2UgbmVlZC4KPiA+ PiArICogICAgIGVyciA9IGlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9RVUVSWSwgJnF1ZXJ5KTsK PiA+PiArICogICAgIGlmIChlcnIpIC4uLgo+ID4+ICsgKgo+ID4+ICsgKiAgICAgaW5mbyA9IGNh bGxvYygxLCBpdGVtLmxlbmd0aCk7Cj4gPj4gKyAqICAgICAvLyBOb3cgdGhhdCB3ZSBhbGxvY2F0 ZWQgdGhlIHJlcXVpcmVkIG51bWJlciBvZiBieXRlcywgd2UgY2FsbCB0aGUgaW9jdGwKPiA+PiAr ICogICAgIC8vIGFnYWluLCB0aGlzIHRpbWUgd2l0aCB0aGUgZGF0YV9wdHIgcG9pbnRpbmcgdG8g b3VyIG5ld2x5IGFsbG9jYXRlZAo+ID4+ICsgKiAgICAgLy8gYmxvYiwgd2hpY2ggdGhlIGtlcm5l bCBjYW4gdGhlbiBwb3B1bGF0ZSB3aXRoIHRoZSBhbGwgdGhlIHJlZ2lvbiBpbmZvLgo+ID4+ICsg KiAgICAgaXRlbS5kYXRhX3B0ciA9ICh1aW50cHRyX3QpJmluZm8sCj4gPj4gKyAqCj4gPj4gKyAq ICAgICBlcnIgPSBpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfUVVFUlksICZxdWVyeSk7Cj4gPj4g KyAqICAgICBpZiAoZXJyKSAuLi4KPiA+PiArICoKPiA+PiArICogICAgIC8vIFdlIGNhbiBub3cg YWNjZXNzIGVhY2ggcmVnaW9uIGluIHRoZSBhcnJheQo+ID4+ICsgKiAgICAgZm9yIChpID0gMDsg aSA8IGluZm8tPm51bV9yZWdpb25zOyBpKyspIHsKPiA+PiArICogICAgICAgICAgICAgc3RydWN0 IGRybV9pOTE1X21lbW9yeV9yZWdpb25faW5mbyBtciA9IGluZm8tPnJlZ2lvbnNbaV07Cj4gPj4g KyAqICAgICAgICAgICAgIHUxNiBjbGFzcyA9IG1yLnJlZ2lvbi5jbGFzczsKPiA+PiArICogICAg ICAgICAgICAgdTE2IGluc3RhbmNlID0gbXIucmVnaW9uLmluc3RhbmNlOwo+ID4+ICsgKgo+ID4+ ICsgKiAgICAgICAgICAgICAuLi4uCj4gPj4gKyAqICAgICB9Cj4gPj4gKyAqCj4gPj4gKyAqICAg ICBmcmVlKGluZm8pOwo+ID4+ICsgKi8KPiA+PiArc3RydWN0IGRybV9pOTE1X3F1ZXJ5X21lbW9y eV9yZWdpb25zIHsKPiA+PiArICAgICAgIC8qKiBAbnVtX3JlZ2lvbnM6IE51bWJlciBvZiBzdXBw b3J0ZWQgcmVnaW9ucyAqLwo+ID4+ICsgICAgICAgX191MzIgbnVtX3JlZ2lvbnM7Cj4gPj4gKwo+ ID4+ICsgICAgICAgLyoqIEBwYWQ6IE1CWiAqLwo+ID4+ICsgICAgICAgX191MzIgcGFkOwo+ID4+ ICsKPiA+PiArICAgICAgIC8qKiBAcmVnaW9uczogSW5mbyBhYm91dCBlYWNoIHN1cHBvcnRlZCBy ZWdpb24gKi8KPiA+PiArICAgICAgIHN0cnVjdCBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2luZm8g cmVnaW9uc1tdOwo+ID4+ICt9Owo+ID4+ICsKPiA+PiArI2RlZmluZSBEUk1fSTkxNV9HRU1fQ1JF QVRFX0VYVCAgICAgICAgICAgICAgICAweGRlYWRiZWFmCj4gPj4gKyNkZWZpbmUgRFJNX0lPQ1RM X0k5MTVfR0VNX0NSRUFURV9FWFQgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkx NV9HRU1fQ1JFQVRFX0VYVCwgc3RydWN0IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0KQo+ID4+ICsK PiA+PiArLyoqCj4gPj4gKyAqIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dCAtIEV4aXN0 aW5nIGdlbV9jcmVhdGUgYmVoYXZpb3VyLCB3aXRoIGFkZGVkCj4gPj4gKyAqIGV4dGVuc2lvbiBz dXBwb3J0IHVzaW5nIHN0cnVjdCBpOTE1X3VzZXJfZXh0ZW5zaW9uLgo+ID4+ICsgKgo+ID4+ICsg KiBOb3RlIHRoYXQgaW4gdGhlIGZ1dHVyZSB3ZSB3YW50IHRvIGhhdmUgb3VyIGJ1ZmZlciBmbGFn cyBoZXJlLCBhdCBsZWFzdCBmb3IKPiA+PiArICogdGhlIHN0dWZmIHRoYXQgaXMgaW1tdXRhYmxl LiBQcmV2aW91c2x5IHdlIHdvdWxkIGhhdmUgdHdvIGlvY3Rscywgb25lIHRvCj4gPj4gKyAqIGNy ZWF0ZSB0aGUgb2JqZWN0IHdpdGggZ2VtX2NyZWF0ZSwgYW5kIGFub3RoZXIgdG8gYXBwbHkgdmFy aW91cyBwYXJhbWV0ZXJzLAo+ID4+ICsgKiBob3dldmVyIHRoaXMgY3JlYXRlcyBzb21lIGFtYmln dWl0eSBmb3IgdGhlIHBhcmFtcyB3aGljaCBhcmUgY29uc2lkZXJlZAo+ID4+ICsgKiBpbW11dGFi bGUuIEFsc28gaW4gZ2VuZXJhbCB3ZSdyZSBwaGFzaW5nIG91dCB0aGUgdmFyaW91cyBTRVQvR0VU IGlvY3Rscy4KPiA+PiArICovCj4gPj4gK3N0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dCB7 Cj4gPj4gKyAgICAgICAvKioKPiA+PiArICAgICAgICAqIEBzaXplOiBSZXF1ZXN0ZWQgc2l6ZSBm b3IgdGhlIG9iamVjdC4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBUaGUgKHBhZ2Ut YWxpZ25lZCkgYWxsb2NhdGVkIHNpemUgZm9yIHRoZSBvYmplY3Qgd2lsbCBiZSByZXR1cm5lZC4K PiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBOb3RlIHRoYXQgZm9yIHNvbWUgZGV2aWNl cyB3ZSBoYXZlIG1pZ2h0IGhhdmUgZnVydGhlciBtaW5pbXVtCj4gPj4gKyAgICAgICAgKiBwYWdl LXNpemUgcmVzdHJpY3Rpb25zKGxhcmdlciB0aGFuIDRLKSwgbGlrZSBmb3IgZGV2aWNlIGxvY2Fs LW1lbW9yeS4KPiA+PiArICAgICAgICAqIEhvd2V2ZXIgaW4gZ2VuZXJhbCB0aGUgZmluYWwgc2l6 ZSBoZXJlIHNob3VsZCBhbHdheXMgcmVmbGVjdCBhbnkKPiA+PiArICAgICAgICAqIHJvdW5kaW5n IHVwLCBpZiBmb3IgZXhhbXBsZSB1c2luZyB0aGUgSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllf UkVHSU9OUwo+ID4+ICsgICAgICAgICogZXh0ZW5zaW9uIHRvIHBsYWNlIHRoZSBvYmplY3QgaW4g ZGV2aWNlIGxvY2FsLW1lbW9yeS4KPiA+PiArICAgICAgICAqLwo+ID4+ICsgICAgICAgX191NjQg c2l6ZTsKPiA+PiArICAgICAgIC8qKgo+ID4+ICsgICAgICAgICogQGhhbmRsZTogUmV0dXJuZWQg aGFuZGxlIGZvciB0aGUgb2JqZWN0Lgo+ID4+ICsgICAgICAgICoKPiA+PiArICAgICAgICAqIE9i amVjdCBoYW5kbGVzIGFyZSBub256ZXJvLgo+ID4+ICsgICAgICAgICovCj4gPj4gKyAgICAgICBf X3UzMiBoYW5kbGU7Cj4gPj4gKyAgICAgICAvKiogQGZsYWdzOiBNQlogKi8KPiA+PiArICAgICAg IF9fdTMyIGZsYWdzOwo+ID4+ICsgICAgICAgLyoqCj4gPj4gKyAgICAgICAgKiBAZXh0ZW5zaW9u czogVGhlIGNoYWluIG9mIGV4dGVuc2lvbnMgdG8gYXBwbHkgdG8gdGhpcyBvYmplY3QuCj4gPj4g KyAgICAgICAgKgo+ID4+ICsgICAgICAgICogVGhpcyB3aWxsIGJlIHVzZWZ1bCBpbiB0aGUgZnV0 dXJlIHdoZW4gd2UgbmVlZCB0byBzdXBwb3J0IHNldmVyYWwKPiA+PiArICAgICAgICAqIGRpZmZl cmVudCBleHRlbnNpb25zLCBhbmQgd2UgbmVlZCB0byBhcHBseSBtb3JlIHRoYW4gb25lIHdoZW4K PiA+PiArICAgICAgICAqIGNyZWF0aW5nIHRoZSBvYmplY3QuIFNlZSBzdHJ1Y3QgaTkxNV91c2Vy X2V4dGVuc2lvbi4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAgKiBJZiB3ZSBkb24ndCBz dXBwbHkgYW55IGV4dGVuc2lvbnMgdGhlbiB3ZSBnZXQgdGhlIHNhbWUgb2xkIGdlbV9jcmVhdGUK PiA+PiArICAgICAgICAqIGJlaGF2aW91ci4KPiA+PiArICAgICAgICAqCj4gPj4gKyAgICAgICAg KiBGb3IgSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9OUyB1c2FnZSBzZWUKPiA+PiAr ICAgICAgICAqIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF9tZW1vcnlfcmVnaW9ucy4K PiA+PiArICAgICAgICAqLwo+ID4+ICsjZGVmaW5lIEk5MTVfR0VNX0NSRUFURV9FWFRfTUVNT1JZ X1JFR0lPTlMgMAo+ID4+ICsgICAgICAgX191NjQgZXh0ZW5zaW9uczsKPiA+PiArfTsKPiA+PiAr Cj4gPj4gKy8qKgo+ID4+ICsgKiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5 X3JlZ2lvbnMgLSBUaGUKPiA+PiArICogSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9O UyBleHRlbnNpb24uCj4gPj4gKyAqCj4gPj4gKyAqIFNldCB0aGUgb2JqZWN0IHdpdGggdGhlIGRl c2lyZWQgc2V0IG9mIHBsYWNlbWVudHMvcmVnaW9ucyBpbiBwcmlvcml0eQo+ID4+ICsgKiBvcmRl ci4gRWFjaCBlbnRyeSBtdXN0IGJlIHVuaXF1ZSBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2Uu Cj4gPj4gKyAqCj4gPj4gKyAqIFRoaXMgaXMgcHJvdmlkZWQgYXMgYW4gYXJyYXkgb2Ygc3RydWN0 IGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3NfaW5zdGFuY2UsIG9yCj4gPj4gKyAqIGFuIGVxdWl2 YWxlbnQgbGF5b3V0IG9mIGNsYXNzOmluc3RhbmNlIHBhaXIgZW5jb2RpbmdzLiBTZWUgc3RydWN0 Cj4gPj4gKyAqIGRybV9pOTE1X3F1ZXJ5X21lbW9yeV9yZWdpb25zIGFuZCBEUk1fSTkxNV9RVUVS WV9NRU1PUllfUkVHSU9OUyBmb3IgaG93IHRvCj4gPj4gKyAqIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQg cmVnaW9ucyBmb3IgYSBkZXZpY2UuCj4gPj4gKyAqCj4gPj4gKyAqIEFzIGFuIGV4YW1wbGUsIG9u IGRpc2NyZXRlIGRldmljZXMsIGlmIHdlIHdpc2ggdG8gc2V0IHRoZSBwbGFjZW1lbnQgYXMKPiA+ PiArICogZGV2aWNlIGxvY2FsLW1lbW9yeSB3ZSBjYW4gZG8gc29tZXRoaW5nIGxpa2U6Cj4gPj4g KyAqCj4gPj4gKyAqIC4uIGNvZGUtYmxvY2s6OiBDCj4gPj4gKyAqCj4gPj4gKyAqICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSByZWdpb25fbG1lbSA9IHsKPiA+ PiArICogICAgICAgICAgICAgIC5tZW1vcnlfY2xhc3MgPSBJOTE1X01FTU9SWV9DTEFTU19ERVZJ Q0UsCj4gPj4gKyAqICAgICAgICAgICAgICAubWVtb3J5X2luc3RhbmNlID0gMCwKPiA+PiArICog ICAgICB9Owo+ID4+ICsgKiAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fY3JlYXRlX2V4dF9tZW1v cnlfcmVnaW9ucyByZWdpb25zID0gewo+ID4+ICsgKiAgICAgICAgICAgICAgLmJhc2UgPSB7IC5u YW1lID0gSTkxNV9HRU1fQ1JFQVRFX0VYVF9NRU1PUllfUkVHSU9OUyB9LAo+ID4+ICsgKiAgICAg ICAgICAgICAgLnJlZ2lvbnMgPSAodWludHB0cl90KSZyZWdpb25fbG1lbSwKPiA+PiArICogICAg ICAgICAgICAgIC5udW1fcmVnaW9ucyA9IDEsCj4gPj4gKyAqICAgICAgfTsKPiA+PiArICogICAg ICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQgY3JlYXRlX2V4dCA9IHsKPiA+PiArICog ICAgICAgICAgICAgIC5zaXplID0gMTYgKiBQQUdFX1NJWkUsCj4gPj4gKyAqICAgICAgICAgICAg ICAuZXh0ZW5zaW9ucyA9ICh1aW50cHRyX3QpJnJlZ2lvbnMsCj4gPj4gKyAqICAgICAgfTsKPiA+ PiArICoKPiA+PiArICogICAgICBpbnQgZXJyID0gaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dF TV9DUkVBVEVfRVhULCAmY3JlYXRlX2V4dCk7Cj4gPj4gKyAqICAgICAgaWYgKGVycikgLi4uCj4g Pj4gKyAqCj4gPj4gKyAqIEF0IHdoaWNoIHBvaW50IHdlIGdldCB0aGUgb2JqZWN0IGhhbmRsZSBp biAmZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQuaGFuZGxlLAo+ID4+ICsgKiBhbG9uZyB3aXRoIHRo ZSBmaW5hbCBvYmplY3Qgc2l6ZSBpbiAmZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHQuc2l6ZSwgd2hp Y2gKPiA+PiArICogc2hvdWxkIGFjY291bnQgZm9yIGFueSByb3VuZGluZyB1cCwgaWYgcmVxdWly ZWQuCj4gPj4gKyAqLwo+ID4+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5 X3JlZ2lvbnMgewo+ID4+ICsgICAgICAgLyoqIEBiYXNlOiBFeHRlbnNpb24gbGluay4gU2VlIHN0 cnVjdCBpOTE1X3VzZXJfZXh0ZW5zaW9uLiAqLwo+ID4+ICsgICAgICAgc3RydWN0IGk5MTVfdXNl cl9leHRlbnNpb24gYmFzZTsKPiA+PiArCj4gPj4gKyAgICAgICAvKiogQHBhZDogTUJaICovCj4g Pj4gKyAgICAgICBfX3UzMiBwYWQ7Cj4gPj4gKyAgICAgICAvKiogQG51bV9yZWdpb25zOiBOdW1i ZXIgb2YgZWxlbWVudHMgaW4gdGhlIEByZWdpb25zIGFycmF5LiAqLwo+ID4+ICsgICAgICAgX191 MzIgbnVtX3JlZ2lvbnM7Cj4gPj4gKyAgICAgICAvKioKPiA+PiArICAgICAgICAqIEByZWdpb25z OiBUaGUgcmVnaW9ucy9wbGFjZW1lbnRzIGFycmF5Lgo+ID4+ICsgICAgICAgICoKPiA+PiArICAg ICAgICAqIEFuIGFycmF5IG9mIHN0cnVjdCBkcm1faTkxNV9nZW1fbWVtb3J5X2NsYXNzX2luc3Rh bmNlLgo+ID4+ICsgICAgICAgICovCj4gPj4gKyAgICAgICBfX3U2NCByZWdpb25zOwo+ID4+ICt9 Owo+ID4+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5y c3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5yc3QKPiA+PiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+ID4+IGluZGV4IDAwMDAwMDAwMDAwMC4uNDYyZjFlZmQ5MDAzCj4gPj4g LS0tIC9kZXYvbnVsbAo+ID4+ICsrKyBiL0RvY3VtZW50YXRpb24vZ3B1L3JmYy9pOTE1X2dlbV9s bWVtLnJzdAo+ID4+IEBAIC0wLDAgKzEsMTMwIEBACj4gPj4gKz09PT09PT09PT09PT09PT09PT09 PT09PT0KPiA+PiArSTkxNSBERzEvTE1FTSBSRkMgU2VjdGlvbgo+ID4+ICs9PT09PT09PT09PT09 PT09PT09PT09PT09Cj4gPj4gKwo+ID4+ICtVcHN0cmVhbSBwbGFuCj4gPj4gKz09PT09PT09PT09 PT0KPiA+PiArRm9yIHVwc3RyZWFtIHRoZSBvdmVyYWxsIHBsYW4gZm9yIGxhbmRpbmcgYWxsIHRo ZSBERzEgc3R1ZmYgYW5kIHR1cm5pbmcgaXQgZm9yCj4gPj4gK3JlYWwsIHdpdGggYWxsIHRoZSB1 QVBJIGJpdHMgaXM6Cj4gPj4gKwo+ID4+ICsqIE1lcmdlIGJhc2ljIEhXIGVuYWJsaW5nIG9mIERH MShzdGlsbCB3aXRob3V0IHBjaWlkKQo+ID4+ICsqIE1lcmdlIHRoZSB1QVBJIGJpdHMgYmVoaW5k IHNwZWNpYWwgQ09ORklHX0JST0tFTihvciBzbykgZmxhZwo+ID4+ICsgICAgICAgICogQXQgdGhp cyBwb2ludCB3ZSBjYW4gc3RpbGwgbWFrZSBjaGFuZ2VzLCBidXQgaW1wb3J0YW50bHkgdGhpcyBs ZXRzIHVzCj4gPj4gKyAgICAgICAgICBzdGFydCBydW5uaW5nIElHVHMgd2hpY2ggY2FuIHV0aWxp emUgbG9jYWwtbWVtb3J5IGluIENJCj4gPj4gKyogQ29udmVydCBvdmVyIHRvIFRUTSwgbWFrZSBz dXJlIGl0IGFsbCBrZWVwcyB3b3JraW5nLiBTb21lIG9mIHRoZSB3b3JrIGl0ZW1zOgo+ID4+ICsg ICAgICAgICogVFRNIHNocmlua2VyIGZvciBkaXNjcmV0ZQo+ID4+ICsgICAgICAgICogZG1hX3Jl c3ZfbG9ja2l0ZW0gZm9yIGZ1bGwgZG1hX3Jlc3ZfbG9jaywgaS5lIG5vdCBqdXN0IHRyeWxvY2sK PiA+PiArICAgICAgICAqIFVzZSBUVE0gQ1BVIHBhZ2VmYXVsdCBoYW5kbGVyCj4gPj4gKyAgICAg ICAgKiBSb3V0ZSBzaG1lbSBiYWNrZW5kIG92ZXIgdG8gVFRNIFNZU1RFTSBmb3IgZGlzY3JldGUK PiA+PiArICAgICAgICAqIFRUTSBwdXJnZWFibGUgb2JqZWN0IHN1cHBvcnQKPiA+PiArICAgICAg ICAqIE1vdmUgaTkxNSBidWRkeSBhbGxvY2F0b3Igb3ZlciB0byBUVE0KPiA+PiArICAgICAgICAq IE1NQVAgaW9jdGwgbW9kZShzZWUgYEk5MTUgTU1BUGBfKQo+ID4+ICsgICAgICAgICogU0VUL0dF VCBpb2N0bCBjYWNoaW5nKHNlZSBgSTkxNSBTRVQvR0VUIENBQ0hJTkdgXykKPiA+PiArKiBBZGQg cGNpaWQgZm9yIERHMSBhbmQgdHVybiBvbiB1QVBJIGZvciByZWFsCj4gPgo+ID4gUGFydCBvZiB0 aGlzIHByb2Nlc3Mgc2hvdWxkIGJlIGFub3RoZXIgUkZDIGUtbWFpbCwgY2MnZCB0byBtZXNhLWRl dgo+ID4gZm9yIGZpbmFsIHNpZ24tb2ZmIGJlZm9yZSB3ZSBsb2NrIHRoZSBBUEkgZG93bi4KPgo+ IERvIHlvdSBtZWFuIGZvciB0aGUgYWN0dWFsIHBhdGNoZXMgdGhhdCBpbXBsZW1lbnQgdGhlIHBy b3Bvc2VkIHVBUEksIG9yCj4gYXJlIHlvdSByZWZlcnJpbmcgdG8gdGhpcyBkb2MvcmZjIHBhdGNo PwoKSSBtZWFuIHRoYXQsIGJlZm9yZSB3ZSBhZGQgdGhlIFBDSSBJRCBvciByZW1vdmUgdGhlIENP TkZJR19CUk9LRU4gb3IKd2hhdGV2ZXIgaXQgaXMgdGhhdCBlbmFibGVzIHRoZSBuZXcgdUFQSSBm b3IgcmVhbCwgIHdlIHNob3VsZCBoYXZlIG9uZQpmaW5hbCByZXZpZXcgb2YgdGhlIG5ldyB1QVBJ LgoKCj4gPj4gKwo+ID4+ICtOZXcgb2JqZWN0IHBsYWNlbWVudCBhbmQgcmVnaW9uIHF1ZXJ5IHVB UEkKPiA+PiArPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPj4g K1N0YXJ0aW5nIGZyb20gREcxIHdlIG5lZWQgdG8gZ2l2ZSB1c2Vyc3BhY2UgdGhlIGFiaWxpdHkg dG8gYWxsb2NhdGUgYnVmZmVycyBmcm9tCj4gPj4gK2RldmljZSBsb2NhbC1tZW1vcnkuIEN1cnJl bnRseSB0aGUgZHJpdmVyIHN1cHBvcnRzIGdlbV9jcmVhdGUsIHdoaWNoIGNhbiBwbGFjZQo+ID4+ ICtidWZmZXJzIGluIHN5c3RlbSBtZW1vcnkgdmlhIHNobWVtLCBhbmQgdGhlIHVzdWFsIGFzc29y dG1lbnQgb2Ygb3RoZXIKPiA+PiAraW50ZXJmYWNlcywgbGlrZSBkdW1iIGJ1ZmZlcnMgYW5kIHVz ZXJwdHIuCj4gPj4gKwo+ID4+ICtUbyBzdXBwb3J0IHRoaXMgbmV3IGNhcGFiaWxpdHksIHdoaWxl IGFsc28gcHJvdmlkaW5nIGEgdUFQSSB3aGljaCB3aWxsIHdvcmsKPiA+PiArYmV5b25kIGp1c3Qg REcxLCB3ZSBwcm9wb3NlIHRvIG9mZmVyIHRocmVlIG5ldyBiaXRzIG9mIHVBUEk6Cj4gPj4gKwo+ ID4+ICtEUk1fSTkxNV9RVUVSWV9NRU1PUllfUkVHSU9OUwo+ID4+ICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ID4+ICtOZXcgcXVlcnkgSUQgd2hpY2ggYWxsb3dzIHVzZXJzcGFjZSB0 byBkaXNjb3ZlciB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgbWVtb3J5Cj4gPj4gK3JlZ2lvbnMobGlr ZSBzeXN0ZW0tbWVtb3J5IGFuZCBsb2NhbC1tZW1vcnkpIGZvciBhIGdpdmVuIGRldmljZS4gV2Ug aWRlbnRpZnkKPiA+PiArZWFjaCByZWdpb24gd2l0aCBhIGNsYXNzIGFuZCBpbnN0YW5jZSBwYWly LCB3aGljaCBzaG91bGQgYmUgdW5pcXVlLiBUaGUgY2xhc3MKPiA+PiAraGVyZSB3b3VsZCBiZSBE RVZJQ0Ugb3IgU1lTVEVNLCBhbmQgdGhlIGluc3RhbmNlIHdvdWxkIGJlIHplcm8sIG9uIHBsYXRm b3Jtcwo+ID4+ICtsaWtlIERHMS4KPiA+PiArCj4gPj4gK1NpZGUgbm90ZTogVGhlIGNsYXNzL2lu c3RhbmNlIGRlc2lnbiBpcyBib3Jyb3dlZCBmcm9tIG91ciBleGlzdGluZyBlbmdpbmUgdUFQSSwK PiA+PiArd2hlcmUgd2UgZGVzY3JpYmUgZXZlcnkgcGh5c2ljYWwgZW5naW5lIGluIHRlcm1zIG9m IGl0cyBjbGFzcywgYW5kIHRoZQo+ID4+ICtwYXJ0aWN1bGFyIGluc3RhbmNlLCBzaW5jZSB3ZSBj YW4gaGF2ZSBtb3JlIHRoYW4gb25lIHBlciBjbGFzcy4KPiA+PiArCj4gPj4gK0luIHRoZSBmdXR1 cmUgd2UgYWxzbyB3YW50IHRvIGV4cG9zZSBtb3JlIGluZm9ybWF0aW9uIHdoaWNoIGNhbiBmdXJ0 aGVyCj4gPj4gK2Rlc2NyaWJlIHRoZSBjYXBhYmlsaXRpZXMgb2YgYSByZWdpb24uCj4gPj4gKwo+ ID4+ICsuLiBrZXJuZWwtZG9jOjogRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0u aAo+ID4+ICsgICAgICAgIDpmdW5jdGlvbnM6IGRybV9pOTE1X2dlbV9tZW1vcnlfY2xhc3MgZHJt X2k5MTVfZ2VtX21lbW9yeV9jbGFzc19pbnN0YW5jZSBkcm1faTkxNV9tZW1vcnlfcmVnaW9uX2lu Zm8gZHJtX2k5MTVfcXVlcnlfbWVtb3J5X3JlZ2lvbnMKPiA+PiArCj4gPj4gK0dFTV9DUkVBVEVf RVhUCj4gPj4gKy0tLS0tLS0tLS0tLS0tCj4gPj4gK05ldyBpb2N0bCB3aGljaCBpcyBiYXNpY2Fs bHkganVzdCBnZW1fY3JlYXRlIGJ1dCBub3cgYWxsb3dzIHVzZXJzcGFjZSB0bwo+ID4+ICtwcm92 aWRlIGEgY2hhaW4gb2YgcG9zc2libGUgZXh0ZW5zaW9ucy4gTm90ZSB0aGF0IGlmIHdlIGRvbid0 IHByb3ZpZGUgYW55Cj4gPj4gK2V4dGVuc2lvbnMgdGhlbiB3ZSBnZXQgdGhlIGV4YWN0IHNhbWUg YmVoYXZpb3VyIGFzIGdlbV9jcmVhdGUuCj4gPgo+ID4gImRvbid0IHByb3ZpZGUgYW55IGV4dGVu c2lvbnMgYW5kIHNldCBmbGFncz0wIgo+ID4KPiA+PiArCj4gPj4gK1NpZGUgbm90ZTogV2UgYWxz byBuZWVkIHRvIHN1cHBvcnQgUFhQWzFdIGluIHRoZSBuZWFyIGZ1dHVyZSwgd2hpY2ggaXMgYWxz bwo+ID4+ICthcHBsaWNhYmxlIHRvIGludGVncmF0ZWQgcGxhdGZvcm1zLCBhbmQgYWRkcyBpdHMg b3duIGdlbV9jcmVhdGVfZXh0IGV4dGVuc2lvbiwKPiA+PiArd2hpY2ggYmFzaWNhbGx5IGxldHMg dXNlcnNwYWNlIG1hcmsgYSBidWZmZXIgYXMgInByb3RlY3RlZCIuCj4gPj4gKwo+ID4+ICsuLiBr ZXJuZWwtZG9jOjogRG9jdW1lbnRhdGlvbi9ncHUvcmZjL2k5MTVfZ2VtX2xtZW0uaAo+ID4+ICsg ICAgICAgIDpmdW5jdGlvbnM6IGRybV9pOTE1X2dlbV9jcmVhdGVfZXh0Cj4gPj4gKwo+ID4+ICtJ OTE1X0dFTV9DUkVBVEVfRVhUX01FTU9SWV9SRUdJT05TCj4gPj4gKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiA+PiArSW1wbGVtZW50ZWQgYXMgYW4gZXh0ZW5zaW9uIGZvciBn ZW1fY3JlYXRlX2V4dCwgd2Ugd291bGQgbm93IGFsbG93IHVzZXJzcGFjZSB0bwo+ID4+ICtvcHRp b25hbGx5IHByb3ZpZGUgYW4gaW1tdXRhYmxlIGxpc3Qgb2YgcHJlZmVycmVkIHBsYWNlbWVudHMg YXQgY3JlYXRpb24gdGltZSwKPiA+PiAraW4gcHJpb3JpdHkgb3JkZXIsIGZvciBhIGdpdmVuIGJ1 ZmZlciBvYmplY3QuICBGb3IgdGhlIHBsYWNlbWVudHMgd2UgZXhwZWN0Cj4gPj4gK3RoZW0gZWFj aCB0byB1c2UgdGhlIGNsYXNzL2luc3RhbmNlIGVuY29kaW5nLCBhcyBwZXIgdGhlIG91dHB1dCBv ZiB0aGUgcmVnaW9ucwo+ID4+ICtxdWVyeS4gSGF2aW5nIHRoZSBsaXN0IGluIHByaW9yaXR5IG9y ZGVyIHdpbGwgYmUgdXNlZnVsIGluIHRoZSBmdXR1cmUgd2hlbgo+ID4+ICtwbGFjaW5nIGFuIG9i amVjdCwgc2F5IGR1cmluZyBldmljdGlvbi4KPiA+PiArCj4gPj4gKy4uIGtlcm5lbC1kb2M6OiBE b2N1bWVudGF0aW9uL2dwdS9yZmMvaTkxNV9nZW1fbG1lbS5oCj4gPj4gKyAgICAgICAgOmZ1bmN0 aW9uczogZHJtX2k5MTVfZ2VtX2NyZWF0ZV9leHRfbWVtb3J5X3JlZ2lvbnMKPiA+PiArCj4gPj4g K09uZSBmYWlyIGNyaXRpY2lzbSBoZXJlIGlzIHRoYXQgdGhpcyBzZWVtcyBhIGxpdHRsZSBvdmVy LWVuZ2luZWVyZWRbMl0uIElmIHdlCj4gPj4gK2p1c3QgY29uc2lkZXIgREcxIHRoZW4geWVzLCBh IHNpbXBsZSBnZW1fY3JlYXRlLmZsYWdzIG9yIHNvbWV0aGluZyBpcyB0b3RhbGx5Cj4gPj4gK2Fs bCB0aGF0J3MgbmVlZGVkIHRvIHRlbGwgdGhlIGtlcm5lbCB0byBhbGxvY2F0ZSB0aGUgYnVmZmVy IGluIGxvY2FsLW1lbW9yeSBvcgo+ID4+ICt3aGF0ZXZlci4gSG93ZXZlciBsb29raW5nIHRvIHRo ZSBmdXR1cmUgd2UgbmVlZCB1QVBJIHdoaWNoIGNhbiBhbHNvIHN1cHBvcnQKPiA+PiArdXBjb21p bmcgWGUgSFAgbXVsdGktdGlsZSBhcmNoaXRlY3R1cmUgaW4gYSBzYW5lIHdheSwgd2hlcmUgdGhl cmUgY2FuIGJlCj4gPj4gK211bHRpcGxlIGxvY2FsLW1lbW9yeSBpbnN0YW5jZXMgZm9yIGEgZ2l2 ZW4gZGV2aWNlLCBhbmQgc28gdXNpbmcgYm90aCBjbGFzcyBhbmQKPiA+PiAraW5zdGFuY2UgaW4g b3VyIHVBUEkgdG8gZGVzY3JpYmUgcmVnaW9ucyBpcyBkZXNpcmFibGUsIGFsdGhvdWdoIHNwZWNp ZmljYWxseQo+ID4+ICtmb3IgREcxIGl0J3MgdW5pbnRlcmVzdGluZywgc2luY2Ugd2Ugb25seSBo YXZlIGEgc2luZ2xlIGxvY2FsLW1lbW9yeSBpbnN0YW5jZS4KPiA+PiArCj4gPj4gK0V4aXN0aW5n IHVBUEkgaXNzdWVzCj4gPj4gKz09PT09PT09PT09PT09PT09PT09Cj4gPj4gK1NvbWUgcG90ZW50 aWFsIGlzc3VlcyB3ZSBzdGlsbCBuZWVkIHRvIHJlc29sdmUuCj4gPj4gKwo+ID4+ICtJOTE1IE1N QVAKPiA+PiArLS0tLS0tLS0tCj4gPj4gK0luIGk5MTUgdGhlcmUgYXJlIG11bHRpcGxlIHdheXMg dG8gTU1BUCBHRU0gb2JqZWN0LCBpbmNsdWRpbmcgbWFwcGluZyB0aGUgc2FtZQo+ID4+ICtvYmpl Y3QgdXNpbmcgZGlmZmVyZW50IG1hcHBpbmcgdHlwZXMoV0MgdnMgV0IpLCBpLmUgbXVsdGlwbGUg YWN0aXZlIG1tYXBzIHBlcgo+ID4+ICtvYmplY3QuIFRUTSBleHBlY3RzIG9uZSBNTUFQIGF0IG1v c3QgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgb2JqZWN0LiBJZiBpdAo+ID4+ICt0dXJucyBvdXQg dGhhdCB3ZSBoYXZlIHRvIGJhY2twZWRhbCBoZXJlLCB0aGVyZSBtaWdodCBiZSBzb21lIHBvdGVu dGlhbAo+ID4+ICt1c2Vyc3BhY2UgZmFsbG91dC4KPiA+PiArCj4gPj4gK0k5MTUgU0VUL0dFVCBD QUNISU5HCj4gPj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPj4gK0luIGk5MTUgd2UgaGF2ZSBz ZXQvZ2V0X2NhY2hpbmcgaW9jdGwuIFRUTSBkb2Vzbid0IGxldCB1cyB0byBjaGFuZ2UgdGhpcywg YnV0Cj4gPj4gK0RHMSBkb2Vzbid0IHN1cHBvcnQgbm9uLXNub29wZWQgcGNpZSB0cmFuc2FjdGlv bnMsIHNvIHdlIGNhbiBqdXN0IGFsd2F5cwo+ID4+ICthbGxvY2F0ZSBhcyBXQiBmb3Igc21lbS1v bmx5IGJ1ZmZlcnMuICBJZi93aGVuIG91ciBodyBnYWlucyBzdXBwb3J0IGZvcgo+ID4+ICtub24t c25vb3BlZCBwY2llIHRyYW5zYWN0aW9ucyB0aGVuIHdlIG11c3QgZml4IHRoaXMgbW9kZSBhdCBh bGxvY2F0aW9uIHRpbWUgYXMKPiA+PiArYSBuZXcgR0VNIGV4dGVuc2lvbi4KPiA+Cj4gPiAgRnJv bSB0aGUgTWVzYSBQb1YgdGhpcyBzaG91bGQgbW9zdGx5IGJlIGZpbmUuICBJbiBWdWxrYW4sIHdl IG9ubHkgZXZlcgo+ID4gU0VUX0NBQ0hJTkcgcmlnaHQgYWZ0ZXIgQk8gY3JlYXRpb24uICBJbiBH TCwgd2UgZG8gU0VUX0NBQ0hJTkcKPiA+IG11bHRpcGxlIHRpbWVzIG9uIGEgQk8gYnV0LCBmcm9t IHRoZSBwZXJzcGVjdGl2ZSBvZiB0aGUgaXJpc19idWZtZ3IKPiA+IEFQSSwgaXQgaGFwcGVucyBv biBCTyBjcmVhdGlvbi4gIFdlIG9ubHkgU0VUX0NBQ0hJTkcgaWYgd2UgcHVsbCBhIEJPCj4gPiBv dXQgb2Ygb3VyIGludGVybmFsIGNhY2hlIHdpdGggdGhlIHdyb25nIGNhY2hpbmcgc2V0dGluZy4g IFRoZSBNZXNhCj4gPiBmaXggaXMgcHJldHR5IHNpbXBsZTogIGp1c3QgYWRkIGNhY2hpbmcgdG8g dGhlIGtleSB3ZSB1c2UgZm9yIG91cgo+ID4gaW50ZXJuYWwgQk8gY2FjaGUuICBXZSBjYW4ndCBk byB0aGF0IHJldHJvYWN0aXZlbHksIG9mIGNvdXJzZSwgYnV0IHdlCj4gPiBjYW4gZmFpcmx5IGVh c2lseSBkbyBpdCBmb3IgYWxsIExNRU0gcGxhdGZvcm1zIGdvaW5nIGZvcndhcmQuCj4KPiBTbGln aHRseSBvcnRob2dvbmFsOiB3aGF0IGRvZXMgTWVzYSBkbyBoZXJlIGZvciBzbm9vcGVkIHZzIExM Qwo+IHBsYXRmb3Jtcz8gRG9lcyBpdCBtYWtlIHN1Y2ggYSBkaXN0aW5jdGlvbj8gSnVzdCBjdXJp b3VzLgoKSW4gVnVsa2FuIG9uIG5vbi1MTEMgcGxhdGZvcm1zLCB3ZSBvbmx5IGVuYWJsZSBzbm9v cGluZyBmb3IgdGhpbmdzCnRoYXQgYXJlIGdvaW5nIHRvIGJlIG1hcHBlZDogc3RhZ2luZyBidWZm ZXJzLCBzdGF0ZSBidWZmZXJzLCBiYXRjaGVzLApldGMuICBGb3IgYW55dGhpbmcgdGhhdCdzIG5v dCBtYXBwZWQgKHRpbGVkIGltYWdlcywgZXRjLikgd2UgbGVhdmUKc25vb3Bpbmcgb2ZmIG9uIG5v bi1MTEMgcGxhdGZvcm1zIHNvIHdlIGRvbid0IHRha2UgYSBoaXQgZnJvbSBpdC4gIEluCkdMLCBJ IHRoaW5rIGl0IHdvcmtzIG91dCB0byBiZSBlZmZlY3RpdmVseSB0aGUgc2FtZSBidXQgaXQncyBh IGxlc3MKb2J2aW91cyBkZWNpc2lvbiB0aGVyZS4KCi0tSmFzb24KCgo+ID4+ICsKPiA+PiArVGhp cyBpcyByZWxhdGVkIHRvIHRoZSBtbWFwIHByb2JsZW0sIGJlY2F1c2UgaW4gZ2VuZXJhbCAobWVh bmluZywgd2hlbiB3ZSdyZQo+ID4+ICtub3QgcnVubmluZyBvbiBpbnRlbCBjcHVzKSB0aGUgY3B1 IG1tYXAgbXVzdCBub3QsIGV2ZXIsIGJlIGluY29uc2lzdGVudCB3aXRoCj4gPj4gK2FsbG9jYXRp b24gbW9kZS4KPiA+PiArCj4gPj4gK1Bvc3NpYmxlIGlkZWEgaXMgdG8gbGV0IHRoZSBrZXJuZWwg cGlja3MgdGhlIG1tYXAgbW9kZSBmb3IgdXNlcnNwYWNlIGZyb20gdGhlCj4gPj4gK2ZvbGxvd2lu ZyB0YWJsZToKPiA+PiArCj4gPj4gK3NtZW0tb25seTogV0IuIFVzZXJzcGFjZSBkb2VzIG5vdCBu ZWVkIHRvIGNhbGwgY2xmbHVzaC4KPiA+PiArCj4gPj4gK3NtZW0rbG1lbTogV2UgYWxsb2NhdGUg dW5jYWNoZWQgbWVtb3J5LCBhbmQgZ2l2ZSB1c2Vyc3BhY2UgYSBXQyBtYXBwaW5nCj4gPj4gK2Zv ciB3aGVuIHRoZSBidWZmZXIgaXMgaW4gc21lbSwgYW5kIFdDIHdoZW4gaXQncyBpbiBsbWVtLiBH UFUgZG9lcyBzbm9vcGVkCj4gPj4gK2FjY2Vzcywgd2hpY2ggaXMgYSBiaXQgaW5lZmZpY2llbnQu Cj4gPj4gKwo+ID4+ICtsbWVtIG9ubHk6IGFsd2F5cyBXQwo+ID4+ICsKPiA+PiArVGhpcyBtZWFu cyBvbiBkaXNjcmV0ZSB5b3Ugb25seSBnZXQgYSBzaW5nbGUgbW1hcCBtb2RlLCBhbGwgb3RoZXJz IG11c3QgYmUKPiA+PiArcmVqZWN0ZWQuIFRoYXQncyBwcm9iYWJseSBnb2luZyB0byBiZSBhIG5l dyBkZWZhdWx0IG1vZGUgb3Igc29tZXRoaW5nIGxpa2UKPiA+PiArdGhhdC4KPiA+Cj4gPiBTZWVt cyByZWFzb25hYmxlIGZvciBub3csIEkgdGhpbmsuICBBZ2Fpbiwgd2UgY2FuJ3QgYXBwbHkgaXQK PiA+IHJldHJvYWN0aXZlbHkgdG8gb2xkIE1lc2EgZHJpdmVycyB0aGF0IGhhdmUgYWxyZWFkeSBz aGlwcGVkIGJ1dCBJCj4gPiBkb24ndCBzZWUgd2h5IHdlIGNhbid0IGRvIHRoaXMgZ29pbmcgZm9y d2FyZC4gIFdlIGNhbiBhbHNvIGFkZCBhCj4gPiBjcmVhdGUgZmxhZyBmb3IgY2hhbmdpbmcgY2Fj aGluZyBzZXR0aW5ncy4KPiA+Cj4gPiAtLUphc29uCj4gPgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK