From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 570B3C433E0 for ; Mon, 25 May 2020 13:23:30 +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 EE2B32070A for ; Mon, 25 May 2020 13:23:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=tronnes.org header.i=@tronnes.org header.b="oo31XtDZ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EE2B32070A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=tronnes.org 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 4358889E19; Mon, 25 May 2020 13:23:29 +0000 (UTC) Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9103E89E19 for ; Mon, 25 May 2020 13:23:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds201912; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=FIK7Eb0bYn12coo1Bp4Ed0WeiD67Pn5kUx0HKIBIkK0=; b=oo31XtDZ2c3i8p+9u8N0r0qKdy HVTmYxyUnYfCEN2Np66he1uO+SEiLJHlLYSI5EQJjXbO0bzV4fxgi91W2QvPdxWCGg3OrjTy9AKNw Q1d5mvVkeCs/7poNlBtAi1V/PEk+NR7ToAVYqjvF5dTLk7CjKmSvJSD0F98/3mCJXxTT/0beZrRkV Q20GODBfYzB31B0VvePCCUmYKZ4+mvRcOAHgtrm4mYXxWwqnx+jyn2y9m/k8B7IX4oMJgws7iC+ER ACJohetM4aTXfFNOsNZ0++c8rRNlmg3dlxwmteD10+8wmiU3FfKLCl5dYDNImqw+qBlKJJOSqayE5 +d6vAV3g==; Received: from 211.81-166-168.customer.lyse.net ([81.166.168.211]:54679 helo=[192.168.10.61]) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jdD4g-0003p8-Jf; Mon, 25 May 2020 15:23:26 +0200 Subject: Re: MIPI DSI, DBI, and tinydrm drivers To: Paul Cercueil References: <4QFUAQ.UPWBIKSUSOG@crapouillou.net> <05f4908a-2df4-2694-e5e6-0faee31cc2a9@tronnes.org> <3YPUAQ.ALFWN74JD6DR1@crapouillou.net> <0f860795-218e-b9f0-0d1c-699024d3cc9a@tronnes.org> <224444bc-e573-920e-f9a8-c23c6962b322@tronnes.org> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= Message-ID: <2e33a1f2-61b3-1dc3-eeaf-6f7ca1e6fb19@tronnes.org> Date: Mon, 25 May 2020 15:23:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: 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: Sam Ravnborg , dri-devel Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CgpEZW4gMjUuMDUuMjAyMCAwNC4wNSwgc2tyZXYgUGF1bCBDZXJjdWVpbDoKPiAKPiAKPiBMZSBs dW4uIDI1IG1haSAyMDIwIMOgIDI6NDYsIE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMu b3JnPiBhIMOpY3JpdCA6Cj4+Cj4+Cj4+IERlbiAyNC4wNS4yMDIwIDIzLjMzLCBza3JldiBQYXVs IENlcmN1ZWlsOgo+Pj4KPj4+Cj4+PiDCoExlIGRpbS4gMjQgbWFpIDIwMjAgw6AgMjM6MjQsIE5v cmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPiBhCj4+PiDDqWNyaXQgOgo+Pj4+Cj4+ Pj4KPj4+PiDCoERlbiAyNC4wNS4yMDIwIDIyLjQyLCBza3JldiBQYXVsIENlcmN1ZWlsOgo+Pj4+ Pgo+Pj4+Pgo+Pj4+PiDCoCBMZSBkaW0uIDI0IG1haSAyMDIwIMOgIDIyOjE0LCBOb3JhbGYgVHLD uG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4gYQo+Pj4+PiDCoMOpY3JpdCA6Cj4+Pj4+Pgo+Pj4+ Pj4KPj4+Pj4+IMKgIERlbiAyNC4wNS4yMDIwIDIxLjU0LCBza3JldiBQYXVsIENlcmN1ZWlsOgo+ Pj4+Pj4+IMKgwqAgSGkgTm9yYWxmLAo+Pj4+Pj4+Cj4+Pj4+Pj4gwqDCoCBMZSBkaW0uIDI0IG1h aSAyMDIwIMOgIDE5OjQ2LCBOb3JhbGYgVHLDuG5uZXMKPj4+Pj4+PiA8bm9yYWxmQHRyb25uZXMu b3JnPiBhCj4+Pj4+Pj4gwqAgw6ljcml0IDoKPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gwqDC oCBEZW4gMjQuMDUuMjAyMCAxOC4xMywgc2tyZXYgUGF1bCBDZXJjdWVpbDoKPj4+Pj4+Pj4+IMKg wqDCoCBIaSBsaXN0LAo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IMKgwqDCoCBJJ2QgbGlrZSB0byBvcGVu IGEgZGlzY3Vzc2lvbiBhYm91dCB0aGUgY3VycmVudCBzdXBwb3J0IG9mCj4+Pj4+Pj4+PiBNSVBJ Cj4+Pj4+Pj4+PiDCoCBEU0kgYW5kCj4+Pj4+Pj4+PiDCoMKgwqAgREJJIHBhbmVscy4KPj4+Pj4+ Pj4+Cj4+Pj4+Pj4+PiDCoMKgwqAgQm90aCBhcmUgc3RhbmRhcmRzIGZyb20gdGhlIE1JUEkgYWxs aWFuY2UsIGJvdGggYXJlCj4+Pj4+Pj4+PiBjb21tdW5pY2F0aW9uCj4+Pj4+Pj4+PiDCoMKgwqAg cHJvdG9jb2xzIGJldHdlZW4gYSBMQ0QgY29udHJvbGxlciBhbmQgYSBMQ0QgcGFuZWwsIHRoZXkK Pj4+Pj4+Pj4+IMKgIGdlbmVyYWxseSBib3RoCj4+Pj4+Pj4+PiDCoMKgwqAgdXNlIHRoZSBzYW1l IGNvbW1hbmRzIChEQ1MpLCB0aGUgbWFpbiBkaWZmZXJlbmNlIGlzIHRoYXQKPj4+Pj4+Pj4+IERT SSBpcwo+Pj4+Pj4+Pj4gwqAgc2VyaWFsCj4+Pj4+Pj4+PiDCoMKgwqAgYW5kIERCSSBpcyBnZW5l cmFsbHkgcGFyYWxsZWwuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gwqDCoMKgIEluIHRoZSBrZXJuZWwg cmlnaHQgbm93LCBEU0kgaXMgcHJldHR5IHdlbGwgaW1wbGVtZW50ZWQuCj4+Pj4+Pj4+PiBBbGwg dGhlCj4+Pj4+Pj4+PiDCoMKgwqAgaW5mcmFzdHVjdHVyZSB0byByZWdpc3RlciBhIERTSSBob3N0 LCBEU0kgZGV2aWNlIGV0Yy4gaXMKPj4+Pj4+Pj4+IMKgdGhlcmUuIERTSQo+Pj4+Pj4+Pj4gwqDC oMKgIHBhbmVscyBhcmUgaW1wbGVtZW50ZWQgYXMgcmVndWxhciBkcm1fcGFuZWwgaW5zdGFuY2Vz LCBhbmQKPj4+Pj4+Pj4+IHRoZWlyCj4+Pj4+Pj4+PiDCoMKgIGRyaXZlcnMKPj4+Pj4+Pj4+IMKg wqDCoCBnbyB0aHJvdWdoIHRoZSBEU0kgQVBJIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIHBhbmVs LCB3aGljaAo+Pj4+Pj4+Pj4gbWFrZXMKPj4+Pj4+Pj4+IMKgIHRoZW0KPj4+Pj4+Pj4+IMKgwqDC oCBpbmRlcGVuZGVudCBvZiB0aGUgRFNJIGhvc3QgZHJpdmVyLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+ IMKgwqDCoCBEQkksIG9uIHRoZSBvdGhlciBoYW5kLCBkb2VzIG5vdCBoYXZlIGFueSBvZiB0aGlz LiBBbGwgKD8pIERCSQo+Pj4+Pj4+Pj4gwqAgcGFuZWxzCj4+Pj4+Pj4+PiDCoMKgwqAgYXJlIGlt cGxlbWVudGVkIGFzIHRpbnlkcm0gZHJpdmVycywgd2hpY2ggbWFrZSB0aGVtCj4+Pj4+Pj4+PiBp bXBvc3NpYmxlIHRvCj4+Pj4+Pj4+PiDCoCB1c2UKPj4+Pj4+Pj4+IMKgwqDCoCB3aXRoIHJlZ3Vs YXIgRFJNIGRyaXZlcnMuIFdyaXRpbmcgYSBzdGFuZGFyZCBkcm1fcGFuZWwKPj4+Pj4+Pj4+IGRy aXZlciBpcwo+Pj4+Pj4+Pj4gwqDCoMKgIGltcG9zc2libGUsIGFzIHRoZXJlIGlzIG5vIGNvbmNl cHQgb2YgaG9zdCBhbmQgZGV2aWNlLiBBbGwKPj4+Pj4+Pj4+IHRoZXNlCj4+Pj4+Pj4+PiDCoMKg IHRpbnlkcm0KPj4+Pj4+Pj4+IMKgwqDCoCBkcml2ZXJzIHJlZ2lzdGVyIHRoZWlyIG93biBEQkkg aG9zdCBhcyB0aGV5IGFsbCBkbyBEQkkgb3Zlcgo+Pj4+Pj4+Pj4gU1BJLgo+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+IMKgwqDCoCBJIHRoaW5rIHRoaXMgbmVlZHMgYSBnb29kIGNsZWFudXAuIEdpdmVuIHRo YXQgRFNJIGFuZCBEQkkKPj4+Pj4+Pj4+IGFyZSBzbwo+Pj4+Pj4+Pj4gwqDCoMKgIHNpbWlsYXIs IGl0IHdvdWxkIHByb2JhYmx5IG1ha2Ugc2Vuc2UgdG8gZnVzZSBEQkkgc3VwcG9ydCBpbnRvCj4+ Pj4+Pj4+PiDCoHRoZQo+Pj4+Pj4+Pj4gwqDCoMKgIGN1cnJlbnQgRFNJIGNvZGUsIGFzIHRyeWlu ZyB0byB1cGRhdGUgREJJIHdvdWxkIHJlc3VsdCBpbiBhCj4+Pj4+Pj4+PiBsb3QKPj4+Pj4+Pj4+ IMKgIG9mIGNvZGUKPj4+Pj4+Pj4+IMKgwqDCoCBiZWluZyBkdXBsaWNhdGVkLiBXaXRoIHRoZSBw cm9wZXIgaG9zdC9kZXZpY2UgcmVnaXN0cmF0aW9uCj4+Pj4+Pj4+PiDCoG1lY2hhbmlzbQo+Pj4+ Pj4+Pj4gwqDCoMKgIGZyb20gRFNJIGNvZGUsIGl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIHR1cm4g bW9zdCBvZiB0aGUKPj4+Pj4+Pj4+IHRpbnlkcm0KPj4+Pj4+Pj4+IMKgIGRyaXZlcnMKPj4+Pj4+ Pj4+IMKgwqDCoCBpbnRvIHJlZ3VsYXIgZHJtX3BhbmVsIGRyaXZlcnMuCj4+Pj4+Pj4+Pgo+Pj4+ Pj4+Pj4gwqDCoMKgIFRoZSBwcm9ibGVtIHRoZW4gaXMgdGhhdCB0aGVzZSBzaG91bGQgc3RpbGwg YmUgYXZhaWxhYmxlIGFzCj4+Pj4+Pj4+PiDCoHRpbnlkcm0KPj4+Pj4+Pj4+IMKgwqDCoCBkcml2 ZXJzLiBJZiB0aGUgRFNJL0RCSSBwYW5lbHMgY2FuIHNvbWVob3cgcmVnaXN0ZXIgYQo+Pj4+Pj4+ Pj4gwqAudXBkYXRlX2ZiKCkKPj4+Pj4+Pj4+IMKgwqDCoCBjYWxsYmFjaywgaXQgd291bGQgbWFr ZSBpdCBwb3NzaWJsZSB0byBoYXZlIGEgcGFuZWwtYWdub3N0aWMKPj4+Pj4+Pj4+IMKgdGlueWRy bQo+Pj4+Pj4+Pj4gwqDCoMKgIGRyaXZlciwgd2hpY2ggd291bGQgdGhlbiBwcm9iYWJseSBvcGVu IGEgbG90IG9mIGRvb3JzLCBhbmQKPj4+Pj4+Pj4+IGhlbHAgYQo+Pj4+Pj4+Pj4gwqDCoCBsb3Qg dG8KPj4+Pj4+Pj4+IMKgwqDCoCBjbGVhbiB0aGUgbWVzcy4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiDC oMKgwqAgSSB0aGluayBJIGNhbiBoZWxwIHdpdGggdGhhdCwgSSBqdXN0IG5lZWQgc29tZSBndWlk YW5jZSAtIEkgYW0KPj4+Pj4+Pj4+IMKgIGZpc2hpbmcKPj4+Pj4+Pj4+IMKgwqDCoCBpbiBleG90 aWMgc2VhcyBoZXJlLgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IMKgwqDCoCBUaG91Z2h0cywgY29tbWVu dHMsIGFyZSB2ZXJ5IHdlbGNvbWUuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IMKgwqAgSSBkaWQgbG9vayBh dCB0aGlzIGEgZmV3IG1vbnRocyBiYWNrOgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiDCoMKgIGRybS9taXBp LWRiaTogU3VwcG9ydCBwYW5lbCBkcml2ZXJzCj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IMKg Cj4+Pj4+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZl bC8yMDE5LUF1Z3VzdC8yMjg5NjYuaHRtbAo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+ Pj4+Pgo+Pj4+Pj4+PiDCoMKgIFRoZSBwcm9ibGVtIHdpdGggREJJIGlzIHRoYXQgaXQgaGFzIHJl dXNlZCBvdGhlciBidXNzZXMgd2hpY2gKPj4+Pj4+Pj4gwqBtZWFucyB3ZQo+Pj4+Pj4+PiDCoMKg IGRvbid0IGhhdmUgREJJIGRyaXZlcnMsIHdlIGhhdmUgU1BJIGRyaXZlcnMgaW5zdGVhZCAoNjgw MC84MDgwCj4+Pj4+Pj4+IMKgaXMgbm90Cj4+Pj4+Pj4+IMKgwqAgYXZhaWwuIGFzIGJ1c3NlcyBp biBMaW51eCB5ZXQpLiBEU0kgYW5kIERQSSBvbiB0aGUgb3RoZXIgaGFuZAo+Pj4+Pj4+PiBoYXMK Pj4+Pj4+Pj4gwqDCoCBkZWRpY2F0ZWQgaHcgY29udHJvbGxlciBkcml2ZXJzIG5vdCBzaGFyZWQg d2l0aCBvdGhlcgo+Pj4+Pj4+PiBzdWJzeXN0ZW1zLgo+Pj4+Pj4+Cj4+Pj4+Pj4gwqDCoCBJIGRv bid0IHRoaW5rIHRoYXQgc2hvdWxkIGJlIG11Y2ggb2YgYSBwcm9ibGVtLiBZb3UgY291bGQgaGF2 ZSBhCj4+Pj4+Pj4gwqAgREJJL1NQSQo+Pj4+Pj4+IMKgwqAgYnJpZGdlLCB0aGF0IHdyYXBzIGEg U1BJIGRldmljZSBpbnRvIGEgREJJIGhvc3QsIGZvciBpbnN0YW5jZS4KPj4+Pj4+PiBUaGUKPj4+ Pj4+PiDCoCBwYW5lbAo+Pj4+Pj4+IMKgwqAgZHJpdmVycyB3b3VsZCBqdXN0IHVzZSB0aGUgREJJ IEFQSSB3aXRob3V0IGhhdmluZyB0byBrbm93IHdoYXQncwo+Pj4+Pj4+IMKgZG9uZQo+Pj4+Pj4+ IMKgwqAgYmVoaW5kIHRoZSBzY2VuZS4KPj4+Pj4+Cj4+Pj4+PiDCoCBUaGlzIHdpbGwgYmUgYSBi cmlkZ2UgaW1wbGVtZW50ZWQgaW4gc29mdHdhcmUsIGFyZSB3ZSBhbGxvd2VkIHRvCj4+Pj4+PiBo YXZlCj4+Pj4+PiDCoCBzb2Z0d2FyZSBkZXZpY2VzIGluIHRoZSBEZXZpY2UgVHJlZT8gSSB0aG91 Z2ggaXQgd2FzIGp1c3QKPj4+Pj4+IGFsbG93ZWQgdG8KPj4+Pj4+IMKgIGRlc2NyaWJlIGhhcmR3 YXJlLgo+Pj4+Pgo+Pj4+PiDCoCBJdCB3b3VsZG4ndCBhcHBlYXIgaW4gZGV2aWNldHJlZS4gSWYg dGhlIHBhbmVsIGlzIGNvbm5lY3RlZCBvdmVyCj4+Pj4+IFNQSSwKPj4+Pj4gwqAgdGhlbiBEQkkg aXMganVzdCB0aGUgcHJvdG9jb2wgaXQgdXNlcy4KPj4+Pgo+Pj4+IMKgSG93IGRvIHlvdSBhdHRh Y2ggYSBwYW5lbCB0byB0aGUgREJJIGRldmljZSBpZiBpdCBkb2Vzbid0IGFwcGVhciBpbgo+Pj4+ IERUPwo+Pj4KPj4+IMKgV2hlbiBwcm9iZWQgZnJvbSBhIERCSSBob3N0IGNvbnRyb2xsZXIsIHRo ZSBwYW5lbCdzIGRldmljZXRyZWUgYmluZGluZwo+Pj4gwqB3b3VsZCBsb29rIGxpa2UgdGhpczoK Pj4+Cj4+PiDCoCZkYmlfaG9zdCB7Cj4+Pgo+Pj4gwqDCoMKgIHBhbmVsIHsKPj4+IMKgwqDCoMKg wqDCoMKgIGNvbXBhdGlibGUgPSAibXksZGJpLWRldmljZSI7Cj4+PiDCoMKgwqAgfTsKPj4+IMKg fTsKPj4+Cj4+PiDCoFdoZW4gcHJvYmVkIGZyb20gU1BJIGl0IHdvdWxkIGFwcGVhciBpbiBEVCBs aWtlIHRoaXM6Cj4+Pgo+Pj4gwqAmc3BpIHsKPj4+Cj4+PiDCoMKgwqAgcGFuZWxAMCB7Cj4+PiDC oMKgwqDCoMKgwqDCoCByZWcgPSA8MD47Cj4+PiDCoMKgwqDCoMKgwqDCoCBjb21wYXRpYmxlID0g Im15LGRiaS1kZXZpY2Utc3BpIjsKPj4+IMKgwqDCoCB9Owo+Pj4gwqB9Owo+Pj4KPj4+IMKgSW4g dGhhdCBjYXNlLCB0aGUgZHJpdmVyIHdvdWxkIGNyZWF0ZSBhIFNQSS1EQkkgYnJpZGdlLCBidXQg dGhhdCBpcyBhbgo+Pj4gwqBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgdGhhdCBkb2Vzbid0IGJlbG9u ZyBpbiBkZXZpY2V0cmVlLgo+Pgo+PiBZb3Ugc2FpZCB0aGF0IHlvdSB3YW50IHRvIHR1cm4gdGhl IHRpbnlkcm0gZHJpdmVycyBpbnRvIHJlZ3VsYXIKPj4gZHJtX3BhbmVsIGRyaXZlcnMuIElmIHRo aXMgaXMgYSBkcm1fcGFuZWwgZHJpdmVyLCB3aG8gY2FsbHMKPj4gZHJtX29mX2ZpbmRfcGFuZWxf b3JfYnJpZGdlKCkgdG8gbWFrZSB1c2Ugb2YgaXQ/IE9yIGlzIHRoaXMgZHJtX3BhbmVsCj4+IGRy aXZlciBhIGZ1bGwgYmxvd24gRFJNIGRyaXZlcj8KPiAKPiBXaGF0IEkgaGFkIGluIG1pbmQgd2Fz IGEgZ2VuZXJpYyB0aW55ZHJtIGRyaXZlciB0aGF0IGZldGNoZWQgdGhlCj4gZHJtX3BhbmVsIGZy b20gZGV2aWNldHJlZS4gV2hpY2ggaXMgd2hhdCB5b3Ugd2VyZSB3b3JraW5nIG9uLCByaWdodD8K PiAKCk9rLCBJIGd1ZXNzIHdhcyBjb25mdXNlZCBieSB0aGUgREJJIFNQSSBicmlkZ2UgdGVybSBh bmQgZmlndXJlZCB0aGlzIHdhcwphIERCSSBkZXZpY2UgdGhhdCBwYW5lbCBkZXZpY2VzIHdhcyBh dHRhY2hlZCB0by4gTXkgcHJvcG9zYWwgd2FzIHR1cm5pbmcKYSBEUk0gcGFuZWwgZHJpdmVyIGlu dG8gYSBmdWxsIGJsb3duIERSTSBkcml2ZXIgd2hpY2ggQUZBSVIgd2FzIHdoYXQgSQp3YXMgbm90 IGFsbG93ZWQgdG8gZG8gd2hlbiB3b3JraW5nIG9uIHRpbnlkcm0uIFRoZSByZWFzb24gSSBkaWRu J3QgdGFrZQpteSB3b3JrIGFueSBmdXJ0aGVyIGlzIGJlY2F1c2UgVGhpZXJyeSBkaWRuJ3QgdGFr ZSBpbnRlcmVzdCBpbiBpdCwgaGUKd291bGQgbmVlZCB0byBiZSBvayB3aXRoIHR1cm5pbmcgZHJt X3BhbmVsIGRyaXZlcnMgaW50byByZWd1bGFyIERSTSBkcml2ZXJzLgoKTm9yYWxmLgoKPj4gKGJ0 dy4gdGlueWRybS5rbyBpcyBnb25lIG5vdywgYWxsIGRyaXZlcnMgaW4gdGlueS8gYXJlIHJlZ3Vs YXIgRFJNCj4+IGRyaXZlcnMpCj4+Cj4+IEknbSBjdXJpb3VzLCB3aGF0IGtpbmQgb2YgZGV2aWNl IGlzIGdvaW5nIHRvIHVzZSB0aGlzPyBJdCdzIGEgYml0Cj4+IHN0cmFuZ2UgdG8gc3BlbmQgc28g bWFueSBwaW5zIG9uIHRoZSBkaXNwbGF5IGludGVyZmFjZSBhbmQgY2hvb3NlIERCSQo+PiBpbnN0 ZWFkIG9mIERQSS4KPiAKPiBJJ20gbm90IHN1cmUgdGhlIG51bWJlciBvZiBwaW5zIGNoYW5nZXMg dGhhdCBtdWNoIGJldHdlZW4gdGhlIHR3bywgZG9lcwo+IGl0PyBIZXJlIEkgaGF2ZSAxNiBwaW5z IGZvciBjb21tYW5kL2RhdGEsIG9uZSBwaW4gZm9yIGNvbW1hbmQvZGF0YQo+IHNpZ25hbCwgYW5k IHRoZSBwaXhlbCBjbG9jay4KPiAKPiBEQkkgaGFzIGFkdmFudGFnZXMgb3ZlciBEUEksIGUuZy4g eW91IGRvbid0IG5lZWQgYSBzZXBhcmF0ZSBTUEkvSTJDIHRvCj4gY29uZmlndXJlIHRoZSBwYW5l bCwgYW5kIGRhdGEgaXMgb25seSB0cmFuc2ZlcnJlZCB3aGVuIGEgbmV3IGZyYW1lIGlzCj4gYXZh aWxhYmxlLCB3aGljaCBtZWFucyBwb3dlciBzYXZpbmdzIHdoZW4gZGlzcGxheWluZyBzdGlsbCBp bWFnZXMsIG9yIGEKPiB2YXJpYWJsZSByZWZyZXNoIHJhdGUgd2hlbiBkaXNwbGF5aW5nIHZpZGVv Lgo+IAo+IC1QYXVsCj4gCj4+Pgo+Pj4KPj4+PiDCoEFub3RoZXIgcHJvYmxlbSBpcyB0aGF0IHRo ZSBEQkkgcGFuZWwgdXNlcyBTUEkgYm90aCBmb3IgZnJhbWVidWZmZXIKPj4+PiDCoHVwbG9hZCBh bmQgY29udHJvbGxlciBpbml0aWFsaXphdGlvbi4gSG93IHNoYWxsIHRoaXMgYmUgaGFuZGxlZAo+ Pj4+IHdoZW4gdGhlCj4+Pj4gwqBwYW5lbCBkcml2ZXIgbmVlZHMgU1BJIGZvciBpbml0IGFuZCB0 aGUgREJJIGJyaWRnZSBuZWVkcyBTUEkgZm9yIGZyYW1lCj4+Pj4gwqB1cGxvYWQ/Cj4+Pgo+Pj4g wqBEb2VzIHRoZSBwYW5lbCBkcml2ZXIgbmVlZCBTUEkgZm9yIGluaXQ/IEkgZG9uJ3QgdGhpbmsg c28uIEl0IG5lZWRzIHRvCj4+PiDCoHNlbmQgREJJIGNvbW1hbmRzIG92ZXIgU1BJLCB5ZXMuIE9u bHkgdGhlIERCSS1TUEkgYnJpZGdlIHdvdWxkIGNvbnRyb2wKPj4+IMKgdGhlIFNQSSBkZXZpY2Uu Cj4+Pgo+Pj4gwqAtUGF1bAo+Pj4KPj4+Pj4KPj4+Pj4gwqAgSWYgcHJvYmVkIGFzIGEgU1BJIGRl dmljZSBkcml2ZXIsIHRoZSBwYW5lbCdzIHNwaV9kcml2ZXIgd291bGQKPj4+Pj4gcmVnaXN0ZXIK Pj4+Pj4gwqAgYW4gaW5zdGFuY2Ugb2YgdGhlIERCSS9TUEkgaG9zdCBkcml2ZXIsIHRoZW4gcmVn aXN0ZXIgaXRzZWxmIGFzIGEKPj4+Pj4gwqAgZGJpX2RyaXZlci4gSWYgcHJvYmVkIGZyb20gYSBE QkkgaG9zdCBpdCB3b3VsZCBqdXN0IHJlZ2lzdGVyIGl0c2VsZgo+Pj4+PiDCoGFzIGEKPj4+Pj4g wqAgZGJpX2RyaXZlci4KPj4+Pj4KPj4+Pj4gwqAgLVBhdWwKPj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+ PiDCoMKgIE15IGluaXRpYWwgdGlueWRybSB3b3JrIHVzZWQgZHJtX3BhbmVsLCBidXQgSSB3YXMg bm90IGFsbG93ZWQgdG8KPj4+Pj4+Pj4gwqAgdXNlIGl0Cj4+Pj4+Pj4+IMKgwqAgKGF0IGxlYXN0 IG5vdCB0aGUgd2F5IEkgaGFkIGRvbmUgaXQpLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiDCoMKgIE5vcmFs Zi4KPj4+Pj4+Pj4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiDCoMKgwqAgQ2hlZXJzLAo+Pj4+Pj4+Pj4g wqDCoMKgIC1QYXVsCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4K Pj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Cj4+Pgo+Pj4KPiAKPiAKPiAKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==