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=-5.3 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96DA0C433DF for ; Wed, 22 Jul 2020 10:31:39 +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 6A63B20729 for ; Wed, 22 Jul 2020 10:31:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=shipmail.org header.i=@shipmail.org header.b="hVBS9izU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6A63B20729 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=shipmail.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 833DC6E145; Wed, 22 Jul 2020 10:31:35 +0000 (UTC) Received: from ste-pvt-msa2.bahnhof.se (ste-pvt-msa2.bahnhof.se [213.80.101.71]) by gabe.freedesktop.org (Postfix) with ESMTPS id 33B5189E5B; Wed, 22 Jul 2020 10:31:34 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by ste-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 4BE3A3FB59; Wed, 22 Jul 2020 12:31:31 +0200 (CEST) Authentication-Results: ste-pvt-msa2.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b=hVBS9izU; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se Authentication-Results: ste-ftg-msa2.bahnhof.se (amavisd-new); dkim=pass (1024-bit key) header.d=shipmail.org Received: from ste-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (ste-ftg-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qH-zeXr7iqVd; Wed, 22 Jul 2020 12:31:30 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by ste-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 15D9A3FB79; Wed, 22 Jul 2020 12:31:26 +0200 (CEST) Received: from [192.168.0.100] (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id 7E2F3362551; Wed, 22 Jul 2020 12:31:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1595413887; bh=IdgBtUFYB5h3M894fLyGzRGoV7q+2iBbuY3az/yTSL4=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=hVBS9izUpG83NeG87m7+xU3OHQ4U+Wjnh7+3vi2hm9cmFIevDBo+SKzqLY3d6FUNx PCrnVe16MF3td3ncQavKnAgFgKC6DSPBn0crb2FuBw0xFKvaHgNkxnGVHyo/HuWbWP xiy3+ufveb/XDPRihBAsaKMD6mHJ4HNLcpsKNOdk= Subject: Re: [Linaro-mm-sig] [PATCH 1/2] dma-buf.rst: Document why indefinite fences are a bad idea To: Daniel Vetter References: <20200707201229.472834-4-daniel.vetter@ffwll.ch> <20200709123339.547390-1-daniel.vetter@ffwll.ch> <93b673b7-bb48-96eb-dc2c-bd4f9304000e@shipmail.org> <20200721074157.GB3278063@phenom.ffwll.local> <3603bb71-318b-eb53-0532-9daab62dce86@amd.com> <57a5eb9d-b74f-8ce4-7199-94e911d9b68b@shipmail.org> <805c49b7-f0b3-45dc-5fe3-b352f0971527@shipmail.org> <92393d26-d863-aac6-6d27-53cad6854e13@shipmail.org> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28Intel=29?= Message-ID: <8fd999f2-cbf6-813c-6ad4-131948fb5cc5@shipmail.org> Date: Wed, 22 Jul 2020 12:31:27 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US 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: Felix Kuehling , Daniel Stone , linux-rdma , Intel Graphics Development , DRI Development , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Steve Pronovost , amd-gfx mailing list , Jason Ekstrand , Jesse Natalie , Daniel Vetter , Thomas Hellstrom , Linux Media Mailing List , =?UTF-8?Q?Christian_K=c3=b6nig?= , Mika Kuoppala Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Ck9uIDIwMjAtMDctMjIgMTE6NDUsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gT24gV2VkLCBKdWwg MjIsIDIwMjAgYXQgMTA6MDUgQU0gVGhvbWFzIEhlbGxzdHLDtm0gKEludGVsKQo+IDx0aG9tYXNf b3NAc2hpcG1haWwub3JnPiB3cm90ZToKPj4KPj4gT24gMjAyMC0wNy0yMiAwOToxMSwgRGFuaWVs IFZldHRlciB3cm90ZToKPj4+IE9uIFdlZCwgSnVsIDIyLCAyMDIwIGF0IDg6NDUgQU0gVGhvbWFz IEhlbGxzdHLDtm0gKEludGVsKQo+Pj4gPHRob21hc19vc0BzaGlwbWFpbC5vcmc+IHdyb3RlOgo+ Pj4+IE9uIDIwMjAtMDctMjIgMDA6NDUsIERhdmUgQWlybGllIHdyb3RlOgo+Pj4+PiBPbiBUdWUs IDIxIEp1bCAyMDIwIGF0IDE4OjQ3LCBUaG9tYXMgSGVsbHN0csO2bSAoSW50ZWwpCj4+Pj4+IDx0 aG9tYXNfb3NAc2hpcG1haWwub3JnPiB3cm90ZToKPj4+Pj4+IE9uIDcvMjEvMjAgOTo0NSBBTSwg Q2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+Pj4+PiBBbSAyMS4wNy4yMCB1bSAwOTo0MSBzY2hy aWViIERhbmllbCBWZXR0ZXI6Cj4+Pj4+Pj4+IE9uIE1vbiwgSnVsIDIwLCAyMDIwIGF0IDAxOjE1 OjE3UE0gKzAyMDAsIFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCkKPj4+Pj4+Pj4gd3JvdGU6Cj4+ Pj4+Pj4+PiBIaSwKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBPbiA3LzkvMjAgMjozMyBQTSwgRGFuaWVs IFZldHRlciB3cm90ZToKPj4+Pj4+Pj4+PiBDb21lcyB1cCBldmVyeSBmZXcgeWVhcnMsIGdldHMg c29tZXdoYXQgdGVkaW91cyB0byBkaXNjdXNzLCBsZXQncwo+Pj4+Pj4+Pj4+IHdyaXRlIHRoaXMg ZG93biBvbmNlIGFuZCBmb3IgYWxsLgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gV2hhdCBJJ20gbm90 IHN1cmUgYWJvdXQgaXMgd2hldGhlciB0aGUgdGV4dCBzaG91bGQgYmUgbW9yZSBleHBsaWNpdCBp bgo+Pj4+Pj4+Pj4+IGZsYXQgb3V0IG1hbmRhdGluZyB0aGUgYW1ka2ZkIGV2aWN0aW9uIGZlbmNl cyBmb3IgbG9uZyBydW5uaW5nIGNvbXB1dGUKPj4+Pj4+Pj4+PiB3b3JrbG9hZHMgb3Igd29ya2xv YWRzIHdoZXJlIHVzZXJzcGFjZSBmZW5jaW5nIGlzIGFsbG93ZWQuCj4+Pj4+Pj4+PiBBbHRob3Vn aCAoaW4gbXkgaHVtYmxlIG9waW5pb24pIGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRvIGNvbXBsZXRl bHkKPj4+Pj4+Pj4+IHVudGFuZ2xlCj4+Pj4+Pj4+PiBrZXJuZWwtaW50cm9kdWNlZCBmZW5jZXMg Zm9yIHJlc291cmNlIG1hbmFnZW1lbnQgYW5kIGRtYS1mZW5jZXMgdXNlZAo+Pj4+Pj4+Pj4gZm9y Cj4+Pj4+Pj4+PiBjb21wbGV0aW9uLSBhbmQgZGVwZW5kZW5jeSB0cmFja2luZyBhbmQgbGlmdCBh IGxvdCBvZiByZXN0cmljdGlvbnMKPj4+Pj4+Pj4+IGZvciB0aGUKPj4+Pj4+Pj4+IGRtYS1mZW5j ZXMsIGluY2x1ZGluZyBwcm9oaWJpdGluZyBpbmZpbml0ZSBvbmVzLCBJIHRoaW5rIHRoaXMgbWFr ZXMKPj4+Pj4+Pj4+IHNlbnNlCj4+Pj4+Pj4+PiBkZXNjcmliaW5nIHRoZSBjdXJyZW50IHN0YXRl Lgo+Pj4+Pj4+PiBZZWFoIEkgdGhpbmsgYSBmdXR1cmUgcGF0Y2ggbmVlZHMgdG8gdHlwZSB1cCBo b3cgd2Ugd2FudCB0byBtYWtlIHRoYXQKPj4+Pj4+Pj4gaGFwcGVuIChmb3Igc29tZSBjcm9zcyBk cml2ZXIgY29uc2lzdGVuY3kpIGFuZCB3aGF0IG5lZWRzIHRvIGJlCj4+Pj4+Pj4+IGNvbnNpZGVy ZWQuIFNvbWUgb2YgdGhlIG5lY2Vzc2FyeSBwYXJ0cyBhcmUgYWxyZWFkeSB0aGVyZSAod2l0aCBs aWtlIHRoZQo+Pj4+Pj4+PiBwcmVlbXB0aW9uIGZlbmNlcyBhbWRrZmQgaGFzIGFzIGFuIGV4YW1w bGUpLCBidXQgSSB0aGluayBzb21lIGNsZWFyIGRvY3MKPj4+Pj4+Pj4gb24gd2hhdCdzIHJlcXVp cmVkIGZyb20gYm90aCBodywgZHJpdmVycyBhbmQgdXNlcnNwYWNlIHdvdWxkIGJlIHJlYWxseQo+ Pj4+Pj4+PiBnb29kLgo+Pj4+Pj4+IEknbSBjdXJyZW50bHkgd3JpdGluZyB0aGF0IHVwLCBidXQg cHJvYmFibHkgc3RpbGwgbmVlZCBhIGZldyBkYXlzIGZvcgo+Pj4+Pj4+IHRoaXMuCj4+Pj4+PiBH cmVhdCEgSSBwdXQgZG93biBzb21lICh2ZXJ5KSBpbml0aWFsIHRob3VnaHRzIGEgY291cGxlIG9m IHdlZWtzIGFnbwo+Pj4+Pj4gYnVpbGRpbmcgb24gZXZpY3Rpb24gZmVuY2VzIGZvciB2YXJpb3Vz IGhhcmR3YXJlIGNvbXBsZXhpdHkgbGV2ZWxzIGhlcmU6Cj4+Pj4+Pgo+Pj4+Pj4gaHR0cHM6Ly9n aXRsYWIuZnJlZWRlc2t0b3Aub3JnL3Rob21hc2gvZG9jcy8tL2Jsb2IvbWFzdGVyL1VudGFuZ2xp bmclMjBkbWEtZmVuY2UlMjBhbmQlMjBtZW1vcnklMjBhbGxvY2F0aW9uLm9kdAo+Pj4+PiBXZSBh cmUgc2VlaW5nIEhXIHRoYXQgaGFzIHJlY292ZXJhYmxlIEdQVSBwYWdlIGZhdWx0cyBidXQgb25s eSBmb3IKPj4+Pj4gY29tcHV0ZSB0YXNrcywgYW5kIHNjaGVkdWxlciB3aXRob3V0IHNlbWFwaG9y ZXMgaHcgZm9yIGdyYXBoaWNzLgo+Pj4+Pgo+Pj4+PiBTbyBhIHNpbmdsZSBkcml2ZXIgbWF5IGhh dmUgdG8gZXhwb3NlIGJvdGggbW9kZWxzIHRvIHVzZXJzcGFjZSBhbmQKPj4+Pj4gYWxzbyBpbnRy b2R1Y2VzIHRoZSBwcm9ibGVtIG9mIGhvdyB0byBpbnRlcm9wZXJhdGUgYmV0d2VlbiB0aGUgdHdv Cj4+Pj4+IG1vZGVscyBvbiBvbmUgY2FyZC4KPj4+Pj4KPj4+Pj4gRGF2ZS4KPj4+PiBIbW0sIHll cyB0byBiZWdpbiB3aXRoIGl0J3MgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGlzIGlzIG5vdCBh Cj4+Pj4gcmVwbGFjZW1lbnQgZm9yIG5ldyBwcm9ncmFtbWluZyBtb2RlbHMgb3IgQVBJcywgVGhp cyBpcyBzb21ldGhpbmcgdGhhdAo+Pj4+IHRha2VzIHBsYWNlIGludGVybmFsbHkgaW4gZHJpdmVy cyB0byBtaXRpZ2F0ZSBtYW55IG9mIHRoZSByZXN0cmljdGlvbnMKPj4+PiB0aGF0IGFyZSBjdXJy ZW50bHkgaW1wb3NlZCBvbiBkbWEtZmVuY2UgYW5kIGRvY3VtZW50ZWQgaW4gdGhpcyBhbmQKPj4+ PiBwcmV2aW91cyBzZXJpZXMuIEl0J3MgYmFzaWNhbGx5IHRoZSBkcml2ZXItcHJpdmF0ZSBuYXJy b3cgY29tcGxldGlvbnMKPj4+PiBKYXNvbiBzdWdnZXN0ZWQgaW4gdGhlIGxvY2tkZXAgcGF0Y2hl cyBkaXNjdXNzaW9ucyBpbXBsZW1lbnRlZCB0aGUgc2FtZQo+Pj4+IHdheSBhcyBldmljdGlvbi1m ZW5jZXMuCj4+Pj4KPj4+PiBUaGUgbWVtb3J5IGZlbmNlIEFQSSB3b3VsZCBiZSBsb2NhbCB0byBo ZWxwZXJzIGFuZCBtaWRkbGUtbGF5ZXJzIGxpa2UKPj4+PiBUVE0sIGFuZCB0aGUgY29ycmVzcG9u ZGluZyBkcml2ZXJzLiAgVGhlIG9ubHkgY3Jvc3MtZHJpdmVyLWxpa2UKPj4+PiB2aXNpYmlsaXR5 IHdvdWxkIGJlIHRoYXQgdGhlIGRtYS1idWYgbW92ZV9ub3RpZnkoKSBjYWxsYmFjayB3b3VsZCBu b3QgYmUKPj4+PiBhbGxvd2VkIHRvIHdhaXQgb24gZG1hLWZlbmNlcyBvciBzb21ldGhpbmcgdGhh dCBkZXBlbmRzIG9uIGEgZG1hLWZlbmNlLgo+Pj4gQmVjYXVzZSB3ZSBjYW4ndCBwcmVlbXB0IChv biBzb21lIGVuZ2luZXMgYXQgbGVhc3QpIHdlIGFscmVhZHkgaGF2ZQo+Pj4gdGhlIHJlcXVpcmVt ZW50IHRoYXQgY3Jvc3MgZHJpdmVyIGJ1ZmZlciBtYW5hZ2VtZW50IGNhbiBnZXQgc3R1Y2sgb24g YQo+Pj4gZG1hLWZlbmNlLiBOb3QgZXZlbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBob3Jyb3Jz IHdlIGRvIHdpdGgKPj4+IHVzZXJwdHIsIHdoaWNoIGFyZSBjcm9zcyBkcml2ZXIgbm8gbWF0dGVy IHdoYXQuIExpbWl0aW5nIG1vdmVfbm90aWZ5Cj4+PiB0byBtZW1vcnkgZmVuY2VzIG9ubHkgZG9l c24ndCB3b3JrLCBzaW5jZSB0aGUgcHRlIGNsZWFyaW5nIG1pZ2h0IG5lZWQKPj4+IHRvIHdhaXQg Zm9yIGEgZG1hX2ZlbmNlIGZpcnN0LiBIZW5jZSB0aGlzIGJlY29tZXMgYSBmdWxsIGVuZC1vZi1i YXRjaAo+Pj4gZmVuY2UsIG5vdCBqdXN0IGEgbGltaXRlZCBrZXJuZWwtaW50ZXJuYWwgbWVtb3J5 IGZlbmNlLgo+PiBGb3Igbm9uLXByZWVtcHRpYmxlIGhhcmR3YXJlIHRoZSBtZW1vcnkgZmVuY2Ug dHlwaWNhbGx5ICppcyogdGhlCj4+IGVuZC1vZi1iYXRjaCBmZW5jZS4gKFVubGVzcywgYXMgZG9j dW1lbnRlZCwgdGhlcmUgaXMgYSBzY2hlZHVsZXIKPj4gY29uc3VtaW5nIHN5bmMtZmlsZSBkZXBl bmRlbmNpZXMgaW4gd2hpY2ggY2FzZSB0aGUgbWVtb3J5IGZlbmNlIHdhaXQKPj4gbmVlZHMgdG8g YmUgYWJsZSB0byBicmVhayBvdXQgb2YgdGhhdCkuIFRoZSBrZXkgdGhpbmcgaXMgbm90IHRoYXQg d2UgY2FuCj4+IGJyZWFrIG91dCBvZiBleGVjdXRpb24sIGJ1dCB0aGF0IHdlIGNhbiBicmVhayBv dXQgb2YgZGVwZW5kZW5jaWVzLCBzaW5jZQo+PiB3aGVuIHdlJ3JlIGV4ZWN1dGluZyBhbGwgZGVw ZW5kZWNpZXMgKG1vZHVsbyBzZW1hcGhvcmVzKSBhcmUgYWxyZWFkeQo+PiBmdWxmaWxsZWQuIFRo YXQncyB3aGF0J3MgZWxpbWluYXRpbmcgdGhlIGRlYWRsb2Nrcy4KPj4KPj4+IFRoYXQncyBraW5k YSB3aHkgSSB0aGluayBvbmx5IHJlYXNvbmFibGUgb3B0aW9uIGlzIHRvIHRvc3MgaW4gdGhlCj4+ PiB0b3dlbCBhbmQgZGVjbGFyZSBkbWEtZmVuY2UgdG8gYmUgdGhlIG1lbW9yeSBmZW5jZSAoYW5k IHN1Y2sgdXAgYWxsCj4+PiB0aGUgY29uc2VxdWVuY2VzIG9mIHRoYXQgZGVjaXNpb24gYXMgdWFw aSwgd2hpY2ggaXMga2luZGEgd2hlcmUgd2UKPj4+IGFyZSksIGFuZCBjb25zdHJ1Y3Qgc29tZXRo aW5nIG5ldyZlbnRpcmVseSBmcmVlLXdoZWVsaW5nIGZvciB1c2Vyc3BhY2UKPj4+IGZlbmNpbmcu IEJ1dCBvbmx5IGZvciBlbmdpbmVzIHRoYXQgYWxsb3cgZW5vdWdoIHByZWVtcHQvZ3B1IHBhZ2UK Pj4+IGZhdWx0aW5nIHRvIG1ha2UgdGhhdCBwb3NzaWJsZS4gRnJlZSB3aGVlbGluZyB1c2Vyc3Bh Y2UgZmVuY2VzL2dwdQo+Pj4gc2VtYXBob3JlcyBvciB3aGF0ZXZlciB5b3Ugd2FudCB0byBjYWxs IHRoZW0gKG9uIHdpbmRvd3MgSSB0aGluayBpdCdzCj4+PiBtb25pdG9yZWQgZmVuY2UpIG9ubHkg d29yayBpZiB5b3UgY2FuIHByZWVtcHQgdG8gZGVjb3VwbGUgdGhlIG1lbW9yeQo+Pj4gZmVuY2Vz IGZyb20geW91ciBncHUgY29tbWFuZCBleGVjdXRpb24uCj4+Pgo+Pj4gVGhlcmUncyB0aGUgaW4t YmV0d2VlbiBzdGVwIG9mIGp1c3QgZGVjb3VwbGluZyB0aGUgYmF0Y2hidWZmZXIKPj4+IHN1Ym1p c3Npb24gcHJlcCBmb3IgaHcgd2l0aG91dCBhbnkgcHJlZW1wdCAoYnV0IGEgc2NoZWR1bGVyKSwg YnV0IHRoYXQKPj4+IHNlZW1zIGtpbmRhIHBvaW50bGVzcy4gTW9kZXJuIGV4ZWNidWYgc2hvdWxk IGJlIE8oMSkgZmFzdHBhdGgsIHdpdGgKPj4+IGFsbCB0aGUgYWxsb2NhdGlvbi9tYXBwaW5nIHdv cmsgcHVsbGVkIG91dCBhaGVhZC4gdmsgZXhwb3NlcyB0aGF0Cj4+PiBtb2RlbCBkaXJlY3RseSB0 byBjbGllbnRzLCBHTCBkcml2ZXJzIGNvdWxkIHVzZSBpdCBpbnRlcm5hbGx5IHRvbywgc28KPj4+ IEkgc2VlIHplcm8gdmFsdWUgaW4gc3BlbmRpbmcgbG90cyBvZiB0aW1lIGVuZ2luZWVyaW5nIHZl cnkgdHJpY2t5Cj4+PiBrZXJuZWwgY29kZSBqdXN0IGZvciBvbGQgdXNlcnNwYWNlLiBNdWNoIG1v cmUgcmVhc29uYWJsZSB0byBkbyB0aGF0IGluCj4+PiB1c2Vyc3BhY2UsIHdoZXJlIHdlIGhhdmUg cmVhbCBkZWJ1Z2dlcnMgYW5kIG5vIHBhbmljcyBhYm91dCBzZWN1cml0eQo+Pj4gYnVncyAob3Ig d2VsbCwgYSBsb3QgbGVzcywgd2ViZ2wgaXMgc3RpbGwgYSB0aGluZywgYnV0IGF0IGxlYXN0Cj4+ PiBicm93c2VycyByZWFsaXplZCB5b3UgbmVlZCB0byBjb250YWluZXIgdGhhdCBjb21wbGV0ZWx5 KS4KPj4gU3VyZSwgaXQncyBkZWZpbml0ZWx5IGEgYmlnIGNodW5rIG9mIHdvcmsuIEkgdGhpbmsg dGhlIGJpZyB3aW4gd291bGQgYmUKPj4gYWxsb3dpbmcgbWVtb3J5IGFsbG9jYXRpb24gaW4gZG1h LWZlbmNlIGNyaXRpY2FsIHNlY3Rpb25zLiBCdXQgSQo+PiBjb21wbGV0ZWx5IGJ1eSB0aGUgYWJv dmUgYXJndW1lbnQuIEkganVzdCB3YW50ZWQgdG8gcG9pbnQgb3V0IHRoYXQgbWFueQo+PiBvZiB0 aGUgZG1hLWZlbmNlIHJlc3RyaWN0aW9ucyBhcmUgSU1ITyBmaXhhYmxlLCBzaG91bGQgd2UgbmVl ZCB0byBkbwo+PiB0aGF0IGZvciB3aGF0ZXZlciByZWFzb24uCj4gSSdtIHN0aWxsIG5vdCBzdXJl IHRoYXQncyBwb3NzaWJsZSwgd2l0aG91dCBwcmVlbXB0aW9uIGF0IGxlYXN0LiBXZQo+IGhhdmUg NCBlZGdlczoKPiAtIEtlcm5lbCBoYXMgaW50ZXJuYWwgZGVwZW5jaWVzIGFtb25nIG1lbW9yeSBm ZW5jZXMuIFdlIHdhbnQgdGhhdCB0bwo+IGFsbG93IChtaWxkKSBhbW91bnRzIG9mIG92ZXJjb21t aXQsIHNpbmNlIHRoYXQgc2ltcGxpZmllcyBsaXZlIHNvCj4gbXVjaC4KPiAtIE1lbW9yeSBmZW5j ZXMgY2FuIGJsb2NrIGdwdSBjdHggZXhlY3V0aW9uIChieSBuYXR1cmUgb2YgdGhlIG1lbW9yeQo+ IHNpbXBseSBub3QgYmVpbmcgdGhlcmUgeWV0IGR1ZSB0byBvdXIgb3ZlcmNvbW1pdCkKPiAtIGdw dSBjdHggaGF2ZSAoaWYgd2UgYWxsb3cgdGhpcykgdXNlcnNwYWNlIGNvbnRyb2xsZWQgc2VtYXBo b3JlCj4gZGVwZW5kZW5jaWVzLiBPZiBjb3Vyc2UgdXNlcnNwYWNlIGlzIGV4cGVjdGVkIHRvIG5v dCBjcmVhdGUgZGVhZGxvY2tzLAo+IGJ1dCB0aGF0J3Mgb25seSBhc3N1bWluZyB0aGUga2VybmVs IGRvZXNuJ3QgaW5qZWN0IGFkZGl0aW9uYWwKPiBkZXBlbmRlbmNpZXMuIENvbXB1dGUgZm9sa3Mg cmVhbGx5IHdhbnQgdGhhdC4KPiAtIGdwdSBjdHggY2FuIGhvbGQgdXAgbWVtb3J5IGFsbG9jYXRp b25zIGlmIGFsbCB3ZSBoYXZlIGlzCj4gZW5kLW9mLWJhdGNoIGZlbmNlcy4gQW5kIGVuZC1vZi1i YXRjaCBmZW5jZXMgYXJlIGFsbCB3ZSBoYXZlIHdpdGhvdXQKPiBwcmVlbXB0LCBwbHVzIGlmIHdl IHdhbnQgYmFja3dhcmRzIGNvbXBhdCB3aXRoIHRoZSBlbnRpcmUgY3VycmVudAo+IHdpbnN5cy9j b21wb3NpdG9yIGVjb3N5c3RlbSB3ZSBuZWVkIHRoZW0sIHdoaWNoIGFsbG93cyB1cyB0byBpbmpl Y3QKPiBzdHVmZiBkZXBlbmRlbnQgdXBvbiB0aGVtIHByZXR0eSBtdWNoIGFueXdoZXJlLgo+Cj4g RnVuZGFtZW50YWxseSB0aGF0J3Mgbm90IGZpeGFibGUgd2l0aG91dCB0aHJvd2luZyBvbmUgb2Yg dGhlIGVkZ2VzCj4gKGFuZCB0aGUgY29ycmVzcG9uZGluZyBmZWF0dXJlIHRoYXQgZW5hYmxlcykg b3V0LCBzaW5jZSBubyBlbnRpdHkgaGFzCj4gZnVsbCB2aXNpYmlsaXR5IGludG8gd2hhdCdzIGdv aW5nIG9uLiBFLmcuIGZvcmNpbmcgdXNlcnNwYWNlIHRvIHRlbGwKPiB0aGUga2VybmVsIGFib3V0 IGFsbCBzZW1hcGhvcmVzIGp1c3QgYnJpbmdzIHVwIGJhY2sgdG8gdGhlCj4gZHJtX3RpbWVsaW5l X3N5bmNvYmogZGVzaWduIHdlIGhhdmUgbWVyZ2VkIHJpZ2h0IG5vdy4gQW5kIHRoYXQncyBpbW8K PiBubyBiZXR0ZXIuCgpJbmRlZWQsIEhXIHdhaXRpbmcgZm9yIHNlbWFwaG9yZXMgd2l0aG91dCBi ZWluZyBhYmxlIHRvIHByZWVtcHQgdGhhdCAKd2FpdCBpcyBhIG5vLWdvLiBUaGUgZG9jIChwZXJo YXBzIG5haXZlbHkpIGFzc3VtZXMgbm9ib2R5IGlzIGRvaW5nIHRoYXQuCgo+Cj4gVGhhdCdzIGtp bmRhIHdoeSBJJ20gbm90IHNlZWluZyBtdWNoIGJlbmVmaXRzIGluIGEgaGFsZi13YXkgc3RhdGU6 Cj4gVG9ucyBvZiB3b3JrLCBhbmQgc3RpbGwgbm90IHdoYXQgdXNlcnNwYWNlIHdhbnRzLiBBbmQg Zm9yIHRoZSBmdWxsCj4gZGVhbCB0aGF0IHVzZXJzcGFjZSB3YW50cyB3ZSBtaWdodCBhcyB3ZWxs IG5vdCBjaGFuZ2UgYW55dGhpbmcgd2l0aAo+IGRtYS1mZW5jZXMuIEZvciB0aGF0IHdlIG5lZWQg YSkgY3R4IHByZWVtcHQgYW5kIGIpIG5ldyBlbnRpcmVseQo+IGRlY291cGxlZCBmZW5jZXMgdGhh dCBuZXZlciBmZWVkIGJhY2sgaW50byBhIG1lbW9yeSBmZW5jZXMgYW5kIGMpIGFyZQo+IGNvbnRy b2xsZWQgZW50aXJlbHkgYnkgdXNlcnNwYWNlLiBBbmQgYykgaXMgdGhlIHJlYWxseSBpbXBvcnRh bnQgdGhpbmcKPiBwZW9wbGUgd2FudCB1cyB0byBwcm92aWRlLgo+Cj4gQW5kIG9uY2Ugd2UncmUg b2sgd2l0aCBkbWFfZmVuY2UgPT0gbWVtb3J5IGZlbmNlcywgdGhlbiBlbmZvcmNpbmcgdGhlCj4g c3RyaWN0IGFuZCBwYWluZnVsIG1lbW9yeSBhbGxvY2F0aW9uIGxpbWl0YXRpb25zIGlzIGFjdHVh bGx5IHdoYXQgd2UKPiB3YW50LgoKTGV0J3MgaG9wZSB5b3UncmUgcmlnaHQuIE15IGZlYXIgaXMg dGhhdCB0aGF0IG1pZ2h0IGJlIHByZXR0eSBwYWluZnVsIGFzIAp3ZWxsLgoKPiBDaGVlcnMsIERh bmllbAoKL1Rob21hcwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=