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=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED 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 29858C433B4 for ; Mon, 3 May 2021 15:15:50 +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 AD1AD611CE for ; Mon, 3 May 2021 15:15:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD1AD611CE 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 CCC916E8B6; Mon, 3 May 2021 15:15:45 +0000 (UTC) Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 82C796E8B6 for ; Mon, 3 May 2021 15:15:44 +0000 (UTC) Received: by mail-ej1-x62f.google.com with SMTP id n2so8408930ejy.7 for ; Mon, 03 May 2021 08:15:44 -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=beD1rhVs5TfnExh6FsJwlZI6psNgVW+Ra0W3SDuocgQ=; b=E70QgPORA7oJEcd7xNQKi2c5sLD1zPqzPt2eMXvLPdQfUFWSFR18Gy/6wc7Xz83ZAi FlXDxMtUbdfDBTuvGStJr8xcCSfORpWZ5OBMDPdeDajJgZ09fHUJ9b3J9KcQeTKBu7p2 dZgVaivzBGTpfYq2EJfgkJF1dMcyZLkDtQgfQdiB9Q68+Jr3ZeDxWdQLf97iGhcfL4GB cQbH9TBY2fB6Yp1M3lXUcqp1owqwnHlUZvnwHIPWyZqsNc8CthcD7Va6tzvnnVmj7tXG VEFLqa7cutfKFxwMrWSf3cPuu9Dz5RJRouXKjqfNUIWdZ92TolhR+qmCikVJIcDR5GEF Crrw== 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=beD1rhVs5TfnExh6FsJwlZI6psNgVW+Ra0W3SDuocgQ=; b=r7RfwukZ4LlWldsF09p+/3JOg//ICkaFlBdrtGUBl8qthX7b+aqCkaHD8mk0pyr9EG Qr6btcZKJPVy8au53+xNEVqqSCQehS3079v9Hi2NdcQJl23HoeZgd/x11546sOb6TKIY hXxg7dJgDBAYpjZ/4wcg+kg7Z2C6ds7a11FWkw2mvW8vCwUSFF/fiWtndturfMILLVX5 xiW+qZBY4ImmFDZNLc433X83cSVIjPS0/2/eYbgDrK74LFf7UbxPr8I0teKW5NvQ629U iunG+iCNjz1IIuvw619K3HXrYZs7tcDc2xwm6SWJsh9FthugUVWYvL9+7MvGpvyuewyl K30A== X-Gm-Message-State: AOAM5317FvH+Ebb0ci6H4Mic1ieAHEg91tdrDawC7F67cmMG23u14MQj k4JXBZ6t7igoJu54FQbpJYuzyzqOQwvdjhISLOwU1w== X-Google-Smtp-Source: ABdhPJxWZYT1TcKPxQuBU9oiPkazzUya+Qui59kp9t/X/ergkov4bbonS6OUc2dOWVAvCNvj+I0QClO5wcX28dQV+rU= X-Received: by 2002:a17:906:2bd3:: with SMTP id n19mr600834ejg.210.1620054942940; Mon, 03 May 2021 08:15:42 -0700 (PDT) MIME-Version: 1.0 References: <153487a3-082b-faf7-2a4d-ae15993b2a5d@gmail.com> In-Reply-To: From: Jason Ekstrand Date: Mon, 3 May 2021 10:15:31 -0500 Message-ID: Subject: Re: [Mesa-dev] [RFC] Linux Graphics Next: Explicit fences everywhere and no BO fences - initial proposal To: =?UTF-8?Q?Christian_K=C3=B6nig?= 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: ML Mesa-dev , =?UTF-8?Q?Michel_D=C3=A4nzer?= , dri-devel , =?UTF-8?B?TWFyZWsgT2zFocOhaw==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gTW9uLCBNYXkgMywgMjAyMSBhdCAxMDowMyBBTSBDaHJpc3RpYW4gS8O2bmlnCjxja29lbmln LmxlaWNodHp1bWVya2VuQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiBBbSAwMy4wNS4yMSB1bSAxNjo1 OSBzY2hyaWViIEphc29uIEVrc3RyYW5kOgo+ID4gU29ycnkgZm9yIHRoZSB0b3AtcG9zdCBidXQg dGhlcmUncyBubyBnb29kIHRoaW5nIHRvIHJlcGx5IHRvIGhlcmUuLi4KPiA+Cj4gPiBPbmUgb2Yg dGhlIHRoaW5ncyBwb2ludGVkIG91dCB0byBtZSByZWNlbnRseSBieSBEYW5pZWwgVmV0dGVyIHRo YXQgSQo+ID4gZGlkbid0IGZ1bGx5IHVuZGVyc3RhbmQgYmVmb3JlIGlzIHRoYXQgZG1hX2J1ZiBo YXMgYSB2ZXJ5IHN1YnRsZQo+ID4gc2Vjb25kIHJlcXVpcmVtZW50IGJleW9uZCBmaW5pdGUgdGlt ZSBjb21wbGV0aW9uOiAgTm90aGluZyByZXF1aXJlZAo+ID4gZm9yIHNpZ25hbGluZyBhIGRtYS1m ZW5jZSBjYW4gYWxsb2NhdGUgbWVtb3J5LiAgV2h5PyAgQmVjYXVzZSB0aGUgYWN0Cj4gPiBvZiBh bGxvY2F0aW5nIG1lbW9yeSBtYXkgd2FpdCBvbiB5b3VyIGRtYS1mZW5jZS4gIFRoaXMsIGFzIGl0 IHR1cm5zCj4gPiBvdXQsIGlzIGEgbWFzc2l2ZWx5IG1vcmUgc3RyaWN0IHJlcXVpcmVtZW50IHRo YW4gZmluaXRlIHRpbWUKPiA+IGNvbXBsZXRpb24gYW5kLCBJIHRoaW5rLCB0aHJvd3Mgb3V0IGFs bCBvZiB0aGUgcHJvcG9zYWxzIHdlIGhhdmUgc28KPiA+IGZhci4KPiA+Cj4gPiBUYWtlLCBmb3Ig aW5zdGFuY2UsIE1hcmVrJ3MgcHJvcG9zYWwgZm9yIHVzZXJzcGFjZSBpbnZvbHZlbWVudCB3aXRo Cj4gPiBkbWEtZmVuY2UgYnkgYXNraW5nIHRoZSBrZXJuZWwgZm9yIGEgbmV4dCBzZXJpYWwgYW5k IHRoZSBrZXJuZWwKPiA+IHRydXN0aW5nIHVzZXJzcGFjZSB0byBzaWduYWwgaXQuICBUaGF0IGRv ZXNuJ3Qgd29yayBhdCBhbGwgaWYKPiA+IGFsbG9jYXRpbmcgbWVtb3J5IHRvIHRyaWdnZXIgYSBk bWEtZmVuY2UgY2FuIGJsb3cgdXAuICBUaGVyZSdzIHNpbXBseQo+ID4gbm8gd2F5IGZvciB0aGUg a2VybmVsIHRvIHRydXN0IHVzZXJzcGFjZSB0byBub3QgZG8gQU5ZVEhJTkcgd2hpY2gKPiA+IG1p Z2h0IGFsbG9jYXRlIG1lbW9yeS4gIEkgZG9uJ3QgZXZlbiB0aGluayB0aGVyZSdzIGEgd2F5IHVz ZXJzcGFjZSBjYW4KPiA+IHRydXN0IGl0c2VsZiB0aGVyZS4gIEl0IGFsc28gYmxvd3MgdXAgbXkg cGxhbiBvZiBtb3ZpbmcgdGhlIGZlbmNlcyB0bwo+ID4gdHJhbnNpdGlvbiBib3VuZGFyaWVzLgo+ ID4KPiA+IE5vdCBzdXJlIHdoZXJlIHRoYXQgbGVhdmVzIHVzLgo+Cj4gV2VsbCBhdCBsZWFzdCBJ IHdhcyBwZXJmZWN0bHkgYXdhcmUgb2YgdGhhdCA6KQoKSSdkIGhhdmUgYmVlbiBhIGJpdCBkaXNh cHBvaW50ZWQgaWYgdGhpcyBoYWQgYmVlbiBuZXdzIHRvIHlvdS4gOi1QCkhvd2V2ZXIsIHRoZXJl IGFyZSBhIG51bWJlciBvZiB1cyBwbGViZWlhbnMgb24gdGhlIHRocmVhZCB3aG8gbmVlZAp0aGlu Z3Mgc3BlbGxlZCBvdXQgc29tZXRpbWVzLiA6LSkKCj4gSSdtIGN1cnJlbnRseSBleHBlcmltZW50 aW5nIHdpdGggc29tZSBzYW1wbGUgY29kZSB3aGljaCB3b3VsZCBhbGxvdwo+IGltcGxpY2l0IHN5 bmMgd2l0aCB1c2VyIGZlbmNlcy4KPgo+IE5vdCB0aGF0IEknbSBwdXNoaW5nIGhhcmQgaW50byB0 aGF0IGRpcmVjdGx5LCBidXQgSSBqdXN0IHdhbnQgdG8gbWFrZQo+IGNsZWFyIGhvdyBzaW1wbGUg b3IgY29tcGxleCB0aGUgd2hvbGUgdGhpbmcgd291bGQgYmUuCgpJJ2QgbGlrZSB0byBzZWUgdGhh dC4gIEl0J2QgYmUgZ29vZCB0byBrbm93IHdoYXQgb3VyIG9wdGlvbnMgYXJlLgpIb25lc3RseSwg aWYgd2UgY2FuIGdldCBpbXBsaWNpdCBzeW5jIHNvbWVob3cgd2l0aG91dCB0eWluZyBvdXIgaGFu ZHMKdy5yLnQuIGhvdyBmZW5jZXMgd29yayBpbiBtb2Rlcm4gZHJpdmVycywgdGhhdCdzIHRoZSBv cGVucyBhIGxvdCBvZgpkb29ycy4KCi0tSmFzb24KCj4gQ2hyaXN0aWFuLgo+Cj4gPgo+ID4gLS1K YXNvbgo+ID4KPiA+IE9uIE1vbiwgTWF5IDMsIDIwMjEgYXQgOTo0MiBBTSBBbGV4IERldWNoZXIg PGFsZXhkZXVjaGVyQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPj4gT24gU2F0LCBNYXkgMSwgMjAyMSBh dCA2OjI3IFBNIE1hcmVrIE9sxaHDoWsgPG1hcmFlb0BnbWFpbC5jb20+IHdyb3RlOgo+ID4+PiBP biBXZWQsIEFwciAyOCwgMjAyMSBhdCA1OjA3IEFNIE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFl bnplci5uZXQ+IHdyb3RlOgo+ID4+Pj4gT24gMjAyMS0wNC0yOCA4OjU5IGEubS4sIENocmlzdGlh biBLw7ZuaWcgd3JvdGU6Cj4gPj4+Pj4gSGkgRGF2ZSwKPiA+Pj4+Pgo+ID4+Pj4+IEFtIDI3LjA0 LjIxIHVtIDIxOjIzIHNjaHJpZWIgTWFyZWsgT2zFocOhazoKPiA+Pj4+Pj4gU3VwcG9ydGluZyBp bnRlcm9wIHdpdGggYW55IGRldmljZSBpcyBhbHdheXMgcG9zc2libGUuIEl0IGRlcGVuZHMgb24g d2hpY2ggZHJpdmVycyB3ZSBuZWVkIHRvIGludGVyb3BlcmF0ZSB3aXRoIGFuZCB1cGRhdGUgdGhl bS4gV2UndmUgYWxyZWFkeSBmb3VuZCB0aGUgcGF0aCBmb3J3YXJkIGZvciBhbWRncHUuIFdlIGp1 c3QgbmVlZCB0byBmaW5kIG91dCBob3cgbWFueSBvdGhlciBkcml2ZXJzIG5lZWQgdG8gYmUgdXBk YXRlZCBhbmQgZXZhbHVhdGUgdGhlIGNvc3QvYmVuZWZpdCBhc3BlY3QuCj4gPj4+Pj4+Cj4gPj4+ Pj4+IE1hcmVrCj4gPj4+Pj4+Cj4gPj4+Pj4+IE9uIFR1ZSwgQXByIDI3LCAyMDIxIGF0IDI6Mzgg UE0gRGF2ZSBBaXJsaWUgPGFpcmxpZWRAZ21haWwuY29tIDxtYWlsdG86YWlybGllZEBnbWFpbC5j b20+PiB3cm90ZToKPiA+Pj4+Pj4KPiA+Pj4+Pj4gICAgICBPbiBUdWUsIDI3IEFwciAyMDIxIGF0 IDIyOjA2LCBDaHJpc3RpYW4gS8O2bmlnCj4gPj4+Pj4+ICAgICAgPGNrb2VuaWcubGVpY2h0enVt ZXJrZW5AZ21haWwuY29tIDxtYWlsdG86Y2tvZW5pZy5sZWljaHR6dW1lcmtlbkBnbWFpbC5jb20+ PiB3cm90ZToKPiA+Pj4+Pj4gICAgICA+Cj4gPj4+Pj4+ICAgICAgPiBDb3JyZWN0LCB3ZSB3b3Vs ZG4ndCBoYXZlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIGRldmljZSB3aXRoIGFuZCB3aXRob3V0 IHVzZXIgcXVldWVzIGFueSBtb3JlLgo+ID4+Pj4+PiAgICAgID4KPiA+Pj4+Pj4gICAgICA+IFRo YXQgY291bGQgb25seSBiZSBhIHByb2JsZW0gZm9yIEErSSBMYXB0b3BzLgo+ID4+Pj4+Pgo+ID4+ Pj4+PiAgICAgIFNpbmNlIEkgdGhpbmsgeW91IG1lbnRpb25lZCB5b3UnZCBvbmx5IGJlIGVuYWJs aW5nIHRoaXMgb24gbmV3ZXIKPiA+Pj4+Pj4gICAgICBjaGlwc2V0cywgd29uJ3QgaXQgYmUgYSBw cm9ibGVtIGZvciBBK0Egd2hlcmUgb25lIEEgaXMgYSBnZW5lcmF0aW9uCj4gPj4+Pj4+ICAgICAg YmVoaW5kIHRoZSBvdGhlcj8KPiA+Pj4+Pj4KPiA+Pj4+PiBDcmFwLCB0aGF0IGlzIGEgZ29vZCBw b2ludCBhcyB3ZWxsLgo+ID4+Pj4+Cj4gPj4+Pj4+ICAgICAgSSdtIG5vdCByZWFsbHkgbGlraW5n IHdoZXJlIHRoaXMgaXMgZ29pbmcgYnR3LCBzZWVtcyBsaWtlIGEgaWxsCj4gPj4+Pj4+ICAgICAg dGhvdWdodCBvdXQgY29uY2VwdCwgaWYgQU1EIGlzIHJlYWxseSBnb2luZyBkb3duIHRoZSByb2Fk IG9mIGRlc2lnbmluZwo+ID4+Pj4+PiAgICAgIGh3IHRoYXQgaXMgY3VycmVudGx5IExpbnV4IGlu Y29tcGF0aWJsZSwgeW91IGFyZSBnb2luZyB0byBoYXZlIHRvCj4gPj4+Pj4+ICAgICAgYWNjZXB0 IGEgYmlnIHBhcnQgb2YgdGhlIGJ1cmRlbiBpbiBicmluZ2luZyB0aGlzIHN1cHBvcnQgaW4gdG8g bW9yZQo+ID4+Pj4+PiAgICAgIHRoYW4ganVzdCBhbWQgZHJpdmVycyBmb3IgdXBjb21pbmcgZ2Vu ZXJhdGlvbnMgb2YgZ3B1Lgo+ID4+Pj4+Pgo+ID4+Pj4+IFdlbGwgd2UgZG9uJ3QgcmVhbGx5IGxp a2UgdGhhdCBlaXRoZXIsIGJ1dCB3ZSBoYXZlIG5vIG90aGVyIG9wdGlvbiBhcyBmYXIgYXMgSSBj YW4gc2VlLgo+ID4+Pj4gSSBkb24ndCByZWFsbHkgdW5kZXJzdGFuZCB3aGF0ICJmdXR1cmUgaHcg bWF5IHJlbW92ZSBzdXBwb3J0IGZvciBrZXJuZWwgcXVldWVzIiBtZWFucyBleGFjdGx5LiBXaGls ZSB0aGUgcGVyLWNvbnRleHQgcXVldWVzIGNhbiBiZSBtYXBwZWQgdG8gdXNlcnNwYWNlIGRpcmVj dGx5LCB0aGV5IGRvbid0ICpoYXZlKiB0byBiZSwgZG8gdGhleT8gSS5lLiB0aGUga2VybmVsIGRy aXZlciBzaG91bGQgYmUgYWJsZSB0byBlaXRoZXIgaW50ZXJjZXB0IHVzZXJzcGFjZSBhY2Nlc3Mg dG8gdGhlIHF1ZXVlcywgb3IgaW4gdGhlIHdvcnN0IGNhc2UgZG8gaXQgYWxsIGl0c2VsZiwgYW5k IHByb3ZpZGUgdGhlIGV4aXN0aW5nIHN5bmNocm9uaXphdGlvbiBzZW1hbnRpY3MgYXMgbmVlZGVk Pwo+ID4+Pj4KPiA+Pj4+IFN1cmVseSB0aGVyZSBhcmUgcmVzb3VyY2UgbGltaXRzIGZvciB0aGUg cGVyLWNvbnRleHQgcXVldWVzLCBzbyB0aGUga2VybmVsIGRyaXZlciBuZWVkcyB0byBkbyBzb21l IGtpbmQgb2YgdmlydHVhbGl6YXRpb24gLyBtdWx0aS1wbGV4aW5nIGFueXdheSwgb3Igd2UnbGwg Z2V0IHNhZCB1c2VyIGZhY2VzIHdoZW4gdGhlcmUncyBubyBxdWV1ZSBhdmFpbGFibGUgZm9yIDxj dXJyZW50IGhvdCBnYW1lPi4KPiA+Pj4+Cj4gPj4+PiBJJ20gcHJvYmFibHkgbWlzc2luZyBzb21l dGhpbmcgdGhvdWdoLCBhd2FpdGluZyBlbmxpZ2h0ZW5tZW50LiA6KQo+ID4+Pgo+ID4+PiBUaGUg aHcgaW50ZXJmYWNlIGZvciB1c2Vyc3BhY2UgaXMgdGhhdCB0aGUgcmluZyBidWZmZXIgaXMgbWFw cGVkIHRvIHRoZSBwcm9jZXNzIGFkZHJlc3Mgc3BhY2UgYWxvbmdzaWRlIGEgZG9vcmJlbGwgYXBl cnR1cmUgKDRLIHBhZ2UpIHRoYXQgaXNuJ3QgcmVhbCBtZW1vcnksIGJ1dCB3aGVuIHRoZSBDUFUg d3JpdGVzIGludG8gaXQsIGl0IHRlbGxzIHRoZSBodyBzY2hlZHVsZXIgdGhhdCB0aGVyZSBhcmUg bmV3IEdQVSBjb21tYW5kcyBpbiB0aGUgcmluZyBidWZmZXIuIFVzZXJzcGFjZSBpbnNlcnRzIGFs bCB0aGUgd2FpdCwgZHJhdywgYW5kIHNpZ25hbCBjb21tYW5kcyBpbnRvIHRoZSByaW5nIGJ1ZmZl ciBhbmQgdGhlbiAicmluZ3MiIHRoZSBkb29yYmVsbC4gSXQncyBteSB1bmRlcnN0YW5kaW5nIHRo YXQgdGhlIHJpbmcgYnVmZmVyIGFuZCB0aGUgZG9vcmJlbGwgYXJlIGFsd2F5cyBtYXBwZWQgaW4g dGhlIHNhbWUgR1BVIGFkZHJlc3Mgc3BhY2UgYXMgdGhlIHByb2Nlc3MsIHdoaWNoIG1ha2VzIGl0 IHZlcnkgZGlmZmljdWx0IHRvIGVtdWxhdGUgdGhlIGN1cnJlbnQgcHJvdGVjdGVkIHJpbmcgYnVm ZmVycyBpbiB0aGUga2VybmVsLiBUaGUgVk1JRCBvZiB0aGUgcmluZyBidWZmZXIgaXMgYWxzbyBu b3QgY2hhbmdlYWJsZS4KPiA+Pj4KPiA+PiBUaGUgZG9vcmJlbGwgZG9lcyBub3QgaGF2ZSB0byBi ZSBtYXBwZWQgaW50byB0aGUgcHJvY2VzcydzIEdQVSB2aXJ0dWFsCj4gPj4gYWRkcmVzcyBzcGFj ZS4gIFRoZSBDUFUgY291bGQgd3JpdGUgdG8gaXQgZGlyZWN0bHkuICBNYXBwaW5nIGl0IGludG8K PiA+PiB0aGUgR1BVJ3MgdmlydHVhbCBhZGRyZXNzIHNwYWNlIHdvdWxkIGFsbG93IHlvdSB0byBo YXZlIGEgZGV2aWNlIGtpY2sKPiA+PiBvZmYgd29yayBob3dldmVyIHJhdGhlciB0aGFuIHRoZSBD UFUuICBFLmcuLCB0aGUgR1BVIGNvdWxkIGtpY2sgb2ZmCj4gPj4gaXQncyBvd24gd29yayBvciBt dWx0aXBsZSBkZXZpY2VzIGNvdWxkIGtpY2sgb2ZmIHdvcmsgd2l0aG91dCBDUFUKPiA+PiBpbnZv bHZlbWVudC4KPiA+Pgo+ID4+IEFsZXgKPiA+Pgo+ID4+Cj4gPj4+IFRoZSBodyBzY2hlZHVsZXIg ZG9lc24ndCBkbyBhbnkgc3luY2hyb25pemF0aW9uIGFuZCBpdCBkb2Vzbid0IHNlZSBhbnkgZGVw ZW5kZW5jaWVzLiBJdCBvbmx5IGNob29zZXMgd2hpY2ggcXVldWUgdG8gZXhlY3V0ZSwgc28gaXQn cyByZWFsbHkganVzdCBhIHNpbXBsZSBxdWV1ZSBtYW5hZ2VyIGhhbmRsaW5nIHRoZSB2aXJ0dWFs aXphdGlvbiBhc3BlY3QgYW5kIG5vdCBtdWNoIGVsc2UuCj4gPj4+Cj4gPj4+IE1hcmVrCj4gPj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPj4+IGRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+Pj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo+ID4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPj4gbWVzYS1kZXYgbWFpbGluZyBsaXN0Cj4gPj4gbWVzYS1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9tZXNhLWRldgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=