From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Starkey Subject: Re: [PATCH v5 07/19] media: vsp1: dl: Support one-shot entries in the display list Date: Mon, 18 Mar 2019 16:59:21 +0000 Message-ID: <20190318165920.cp2wlmgfomr3ypau@DESKTOP-E1NTVVP.localdomain> References: <20190221103212.28764-1-laurent.pinchart+renesas@ideasonboard.com> <20190221103212.28764-8-laurent.pinchart+renesas@ideasonboard.com> <20190222143004.cdp2lj4ic3r4ogw4@DESKTOP-E1NTVVP.localdomain> <20190222144629.GA5020@pendragon.ideasonboard.com> <20190222150621.kxno4v64itco6mta@DESKTOP-E1NTVVP.localdomain> <20190305231440.GO14928@pendragon.ideasonboard.com> <20190306110504.jeosz7xnxkrycxtv@DESKTOP-E1NTVVP.localdomain> <20190306182244.GC4791@pendragon.ideasonboard.com> <20190307122807.ph2m4mbaxp4xe4bk@DESKTOP-E1NTVVP.localdomain> <20190308122440.GG4802@pendragon.ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on0621.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0c::621]) by gabe.freedesktop.org (Postfix) with ESMTPS id EDC0D8990D for ; Mon, 18 Mar 2019 16:59:23 +0000 (UTC) In-Reply-To: <20190308122440.GG4802@pendragon.ideasonboard.com> Content-Language: en-US Content-ID: <9EC4EDED4F33F44DBA33C7B6F19FDBF6@eurprd08.prod.outlook.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Laurent Pinchart , Liviu Dudau , Kieran Bingham , "dri-devel@lists.freedesktop.org" , "james qian wang (Arm Technology China)" , nd List-Id: dri-devel@lists.freedesktop.org SGkgTGF1cmVudCwKClNvcnJ5IGZvciB0aGUgZGVsYXksIEkgd2FzIHRyYXZlbGxpbmcgbGFzdCB3 ZWVrIGFuZCBkaWRuJ3QgZmluZCBhCmNoYW5jZSB0byBkaWdlc3QgeW91ciBkaWFncmFtcyAodGhh bmtzIGZvciBhbGwgdGhlIGRldGFpbCEpCgpPbiBGcmksIE1hciAwOCwgMjAxOSBhdCAwMjoyNDo0 MFBNICswMjAwLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+IEhpIEJyaWFuLAo+IAo+IE9uIFRo dSwgTWFyIDA3LCAyMDE5IGF0IDEyOjI4OjA4UE0gKzAwMDAsIEJyaWFuIFN0YXJrZXkgd3JvdGU6 Cj4gPiBPbiBXZWQsIE1hciAwNiwgMjAxOSBhdCAwODoyMjo0NFBNICswMjAwLCBMYXVyZW50IFBp bmNoYXJ0IHdyb3RlOgo+ID4gCj4gPiBbc25pcF0KPiA+IAo+ID4gPiBJIGNhbiBhbHdheXMgcXVl dWUgYSBuZXcgb25lLCBidXQgSSBoYXZlIG5vIHdheSBvZiB0ZWxsaW5nIGlmIHRoZSBuZXdseQo+ ID4gPiBxdWV1ZWQgbGlzdCByYWNlZCB3aXRoIHRoZSBmcmFtZSBlbmQgaW50ZXJydXB0Lgo+ID4g PiAKPiA+ID4gVGhlcmUncyBhbm90aGVyIHJlZ2lzdGVyIEknbSBub3QgdXNpbmcgdGhhdCBjb250 YWlucyBhIHNoYWRvdyBjb3B5IG9mCj4gPiA+IHRoZSByZWdpc3RlcnMgbGlzdCBETUEgYWRkcmVz cy4gSXQgbWlycm9ycyB0aGUgYWRkcmVzcyBwcm9ncmFtbWVkIGJ5IHRoZQo+ID4gPiBkcml2ZXIg d2hlbiB0aGVyZSBpcyBubyBETUEgb2YgdGhlIHJlZ2lzdGVycyBsaXN0IGluIHByb2dyZXNzLCBh bmQKPiA+ID4gY29udGFpbnMgdGhlIGFkZHJlc3MgdGhlIG9mIHJlZ2lzdGVycyBsaXN0IGJlaW5n IERNQSdlZCB3aGVuIGEgRE1BIGlzIGluCj4gPiA+IHByb2dyZXNzLiBJIGRvbid0IHRoaW5rIEkg Y2FuIGRvIG11Y2ggd2l0aCBpdCwgYXMgcmVhZGluZyBpdCBlaXRoZXIKPiA+ID4gYmVmb3JlIG9y IGFmdGVyIHJlcHJvZ3JhbW1pbmcgKHRvIGNoZWNrIGlmIEkgY2FuIHJlcHJvZ3JhbSBvciBpZiB0 aGUKPiA+ID4gcmVwcm9ncmFtIGhhcyBiZWVuIHRha2VuIGludG8gYWNjb3VudCkgaXMgcmFjeS4K PiA+IAo+ID4gV2hlbiB5b3Ugc2F5IGl0IG1pcnJvcnMgdGhlIGFkZHJlc3MgcHJvZ3JhbW1lZCwg aXMgdGhhdCBsYXRjaGVkIHdoZW4KPiA+IHRoZSB1cGRhdGUgaXMgYWNjZXB0ZWQsIG9yIGl0IHdp bGwgdXBkYXRlIHRoZSBtb21lbnQgeW91IHByb2dyYW0gdGhlCj4gPiBhZGRyZXNzIHJlZ2lzdGVy Pwo+IAo+IEl0IGlzIGxhdGNoZWQgd2hlbiB0aGUgdXBkYXRlIGlzIHByb2Nlc3NlZCwgYXQgdGhl IG5leHQgdmJsYW5rIGZvbGxvd2luZwo+IHRoZSBhZGRyZXNzIHByb2dyYW1taW5nLiBUaGUgdGlt aW5nIGRpYWdyYW0gYmVsb3cgc2hvd3MgdmJsYW5rLCB0aGUgVVBECj4gYml0IEkgdXNlIGZvciBz eW5jaHJvbml6YXRpb24sIHRoZSByZWdpc3RlcnMgbGlzdCBhZGRyZXNzIHJlZ2lzdGVyCj4gZXhw b3NlZCB0byB0aGUgQ1BVLCBhbmQgdGhlIGludGVybmFsIGFkZHJlc3MgdXNlZCB0byBETUEgdGhl IHJlZ2lzdGVycwo+IGxpc3QuIFRoZSBhZGRyZXNzIHJlZ2lzdGVyIGlzIHdyaXR0ZW4gZm91ciB0 aW1lcyB0byBzaG93IGhvdyB0aGUKPiBoYXJkd2FyZSByZWFjdHMsIGJ1dCBpbiBwcmFjdGljZSB0 aGVyZSB3aWxsIGJlIGEgc2luZ2xlIHdyaXRlIHBlciBmcmFtZSwKPiByaWdodCBhZnRlciB0aGUg YmVnaW5uaW5nIG9mIHZibGFuay4KPiAKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERNQSBzdGFydHMKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICAgIERNQSBlbmRzCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgICB8Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWICAgICBWCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX19fX19fX19fXwo+IFZCTEFO SyAgICAgICAgIF9fX19fX19fX19fX19fX19fX19fX198ICAgICAgICAgICB8X19fX19fX18KPiAg ICAgICAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fICAgICBfX19fX19fX19fX19fX19f Cj4gVVBEICAgICAgICAgICAgX19fX198ICAgICAgICAgICAgICAgIHxfX198Cj4gICAgICAgICAg ICAgICAgX19fX18gX19fX19fIF9fX19fX19fX19fX18gX19fX19fX18gX19fX19fXwo+IEFERFIg cmVnaXN0ZXIgIF9fQV9fWF9fQl9fX1hfX19fX19DX19fX19fWF9fX0RfX19fWF9fX0VfX18KPiAg ICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fIF9fX19fX19fX19fX19fX19fX19f Cj4gQUREUiBpbnRlcm5hbCAgX19fX19fX19fX19BX19fX19fX19fX1hfX19fX19fX19fQ19fX19f X19fXwo+IAo+IEkgY2FuIHJlcHJvZ3JhbSB0aGUgYWRkcmVzcyBhbnkgbnVtYmVyIG9mIHRpbWVz IEkgd2FudCBiZWZvcmUgdGhlCj4gdmJsYW5rLCBidXQgdGhlIHVwZGF0ZSBiaXQgbWVjaGFuaXNt IG9ubHkgbGV0cyBtZSBwcm90ZWN0IHRoZSByYWNlCj4gcmVsYXRlZCB0byB0aGUgZmlyc3Qgd3Jp dGUuIEZvciBhbnkgc3Vic2VxdWVudCB3cml0ZSBJIHdvbid0IGJlIGFibGUgdG8KPiB0ZWxsIHdo ZXRoZXIgaXQgd2FzIGNvbXBsZXRlIGJlZm9yZSB0aGUgaGFyZHdhcmUgc3RhcnRlZCB0aGUgZnJh bWUsIG9yCj4gYXJyaXZlZCB0b28gbGF0ZS4KPiAKPiA+IEkgYXNzdW1lIHRoZSBsYXR0ZXIgb3Ig eW91IHdvdWxkIGhhdmUgdGhvdWdodCBvZiB0aGlzIHlvdXJzZWxmICh0aGF0Cj4gPiBzZWVtcyBs aWtlIGEgcmVhbGx5IHN0cmFuZ2Uvbm90LXVzZWZ1bCBiZWhhdmlvdXIhKS4gQnV0IGlmIGl0IGlz IHRoZQo+ID4gZm9ybWVyIHlvdSBjb3VsZDoKPiA+IAo+ID4gIC0gSW4gd3JpdGViYWNrIHN0YXJ0 LW9mLWZyYW1lLCBjcmVhdGUgYSBjb3B5IG9mIHRoZSByZWdpc3RlciBsaXN0LAo+ID4gICAgZGlz YWJsaW5nIHdyaXRlYmFjay4KPiA+ICAtIFdyaXRlIHRoZSBhZGRyZXNzIG9mIHRoaXMgY29weSB0 byB0aGUgcmVnaXN0ZXIKPiA+IAo+ID4gSWYvd2hlbiBhbiBhdG9taWMgY29tbWl0IGNvbWVzIGlu IGJlZm9yZSB5b3Ugc2VydmljZSB0aGUgbmV4dAo+ID4gZW5kLW9mLWZyYW1lOgo+ID4gCj4gPiAg LSBXcml0ZSB0aGUgYWRkcmVzcyBvZiB0aGUgbmV3IHJlZ2lzdGVyIGxpc3QKPiA+ICAtIENoZWNr IHRoZSBzdGF0dXMgcmVnaXN0ZXIuIElmIHRoZSAicGVuZGluZyIgYml0IGlzIHplcm8sIHlvdSBr bm93Cj4gPiAgICB5b3UgaGFkIGEgcG90ZW50aWFsIHJhY2UuCj4gPiAgICAgLSBDaGVjayB0aGUg RE1BIGFkZHJlc3MgcmVnaXN0ZXIuIElmIGl0IGNvcnJlc3BvbmRzIHRvIHRoZSBuZXcKPiA+ICAg ICAgIHNjZW5lLCB0aGUgbmV3IGNvbW1pdCB3b24gdGhlIHJhY2UsIG90aGVyd2lzZSBpdCdzIGJl ZW4gZGVsYXllZAo+ID4gICAgICAgYnkgYSBmcmFtZS4KPiAKPiBUaGUgaXNzdWUgaGVyZSBpcyB0 aGF0IHRoZXJlJ3MgYSBwb3RlbnRpYWwgcmFjZSBpZiB0aGUgcGVuZGluZyAoVVBEKSBiaXQKPiBp cyBvbmUgdG9vLiBJZiB0aGUgY29tbWl0IGFycml2ZXMganVzdCBiZWZvcmUgdmJsYW5rLCBidXQg dGhlIGFkZHJlc3MgaXMKPiB3cml0dGVuIGp1c3QgYWZ0ZXIgdmJsYW5rLCBhZnRlciB0aGUgVVBE IGJpdCBoYXMgYmVlbiByZXNldCB0byAwIGJ5IHRoZQo+IGhhcmR3YXJlLCBidXQgYmVmb3JlIHRo ZSB2YmxhbmsgaW50ZXJydXB0IGlzIHByb2Nlc3NlZCwgdGhlbiB0aGUgY29tbWl0Cj4gd29uJ3Qg YmUgYXBwbGllZCB5ZXQsIGFuZCBJIHdpbGwgaGF2ZSBubyB3YXkgdG8ga25vdy4gQ29tcGFyZSB0 aGUgdHdvCj4gZm9sbG93aW5nIHNjZW5hcmlvczoKPiAKPiAJCSAgIFsxXSAgICAgICBbMl0gWzNd ICAgICAgICAgICBbNF0gICAgICAgWzVdCj4gICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg fCAgIHwgICAgICAgICAgICAgfCAgICAgICAgIHwKPiAgICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICBWICAgViAgICAgICAgICAgICB8ICAgICAgICAgVgo+ICAgICAgICAgICAgICAgICAgICAg ViAgICAgICAgICBfX19fX19fX19fICAgICAgIFYgICAgICAgICAgX19fX19fX19fXwo+IFZCTEFO SyAgICAgICAgIF9fX19fX19fX19fX19fX3wgICAgICAgICAgfF9fX19fX19fX19fX19fX198ICAg ICAgICAgIHxfXwo+ICAgICAgICAgICAgICAgICAgICAgIF9fX19fX19fXyAgICAgX19fX19fX19f X19fX19fX19fX19fX18KPiBVUEQgICAgICAgICAgICBfX19fX3wgICAgICAgICB8X19ffCAgICAg ICAgICAgICAgICAgICAgICAgfF9fX19fX19fX19fX18KPiAgICAgICAgICAgICAgICBfX19fXyBf X19fX19fX19fX19fIF9fX19fX19fX19fX18gX19fX19fX19fX19fX19fX19fX19fX18KPiBBRERS IHJlZ2lzdGVyICBfX0FfX1hfX19fX19CX19fX19fWF9fX19fX0NfX19fX19YX19fX19fX19fX19E X19fX19fX19fX18KPiAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fIF9fX19fX19fX19fX18KPiBBRERSIGludGVybmFsICBfX19fX19fQV9f X19fX19YX19fX19fQl9fX19fX19fX19fX19fX19fX19fWF9fX19fX0RfX19fX18KPiAKPiBbMV0g QXRvbWljIGNvbW1pdCwgcmVnaXN0ZXJzIGxpc3QgYWRkcmVzcyB3cml0ZSwgd2l0aCB3cml0ZWJh Y2sgZW5hYmxlZAo+IFsyXSBETUEgc3RhcnRzIGZvciBmaXJzdCBhdG9taWMgY29tbWl0Cj4gWzNd IFdyaXRlYmFjayBkaXNhYmxlIHJlZ2lzdGVycyBsaXN0IGFkZHJlc3Mgd3JpdGUKPiBbNF0gTmV4 dCBhdG9taWMgY29tbWl0LCB3aXRoIHdyaXRlYmFjayBkaXNhYmxlZAo+IFs1XSBETUEgc3RhcnRz IGZvciBzZWNvbmQgYXRvbWljIGNvbW1pdAo+IAo+IAkJICAgWzFdICAgICAgIFsyXSBbM10gICAg ICAgICAgICAgICAgICAgICBbNF1bNV0KPiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8 ICAgfCAgICAgICAgICAgICAgICAgICAgICAgfCAgfAo+ICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgIFYgICBWICAgICAgICAgICAgICAgICAgICAgICBWICBWCj4gICAgICAgICAgICAgICAg ICAgICBWICAgICAgICAgIF9fX19fX19fX18gICAgICAgICAgICAgICAgICBfX19fX19fX19fCj4g VkJMQU5LICAgICAgICAgX19fX19fX19fX19fX19ffCAgICAgICAgICB8X19fX19fX19fX19fX19f X3wgICAgICAgICAgfF9fCj4gICAgICAgICAgICAgICAgICAgICAgX19fX19fX19fICAgICBfX19f X19fX19fX19fX19fX19fX19fXyAgICBfX19fX19fX19fCj4gVVBEICAgICAgICAgICAgX19fX198 ICAgICAgICAgfF9fX3wgICAgICAgICAgICAgICAgICAgICAgIHxfX3wKPiAgICAgICAgICAgICAg ICBfX19fXyBfX19fX19fX19fX19fIF9fX19fX19fX19fX19fX19fX19fX19fX19fIF9fX19fX19f X18KPiBBRERSIHJlZ2lzdGVyICBfX0FfX1hfX19fX19CX19fX19fWF9fX19fX19fX19fX19DX19f X19fX19fX19fWF9fX19fRF9fX18KPiAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fIF9fX19fX19fX19fX18KPiBBRERSIGludGVybmFsICBf X19fX19fQV9fX19fX19YX19fX19fQl9fX19fX19fX19fX19fX19fX19fWF9fX19fX0NfX19fX18K PiAKPiBbMV0gQXRvbWljIGNvbW1pdCwgcmVnaXN0ZXJzIGxpc3QgYWRkcmVzcyB3cml0ZSwgd2l0 aCB3cml0ZWJhY2sgZW5hYmxlZAo+IFsyXSBETUEgc3RhcnRzIGZvciBmaXJzdCBhdG9taWMgY29t bWl0Cj4gWzNdIFdyaXRlYmFjayBkaXNhYmxlIHJlZ2lzdGVycyBsaXN0IGFkZHJlc3Mgd3JpdGUK PiBbNF0gRE1BIHN0YXJ0cyBmb3Igd3JpdGViYWNrIGRpc2FibGUgcmVnaXN0ZXJzIGxpc3QgKDMp Cj4gWzVdIE5leHQgYXRvbWljIGNvbW1pdCwgd2l0aCB3cml0ZWJhY2sgZGlzYWJsZWQsIHBlcmZv cm1lZCByaWdodCBhZnRlcgo+ICAgICB2YmxhbmsgYnV0IGJlZnJvcmUgdGhlIHZibGFuayBpbnRl cnJ1cHQgaXMgc2VydmljZWQKPiAKPiBUaGUgVVBEIGJpdCBpcyAxIGFmdGVyIHdyaXRpbmcgdGhl IEFERFIgcmVnaXN0ZXIgdGhlIHNlY29uZCB0aW1lIGluIGJvdGgKPiBjYXNlcy4gRnVydGhlcm1v cmUsIGlmIFs0XSBhbmQgWzVdIGFyZSB2ZXJ5IGNsb3NlIGluIHRoZSBzZWNvbmQgY2FzZSwKPiB0 aGUgVVBEIGJpdCBtYXkgcmVhZCAxIGp1c3QgYmVmb3JlIFs1XSBpZiB0aGUgcmVhZCBjb21lcyBi ZWZvcmUgWzRdOgo+IAo+IAlyZWFkIFVQRCBiaXQ7Cj4gCS8qIFZCTEFOSyBbNF0gKi8KPiAJd3Jp dGUgQUREUiByZWdpc3RlcjsKPiAKPiBJIHRodXMgY2FuJ3QgcmVseSBvbiBVUEQgPSAxIGJlZm9y ZSB0aGUgd3JpdGUgbWVhbmluZyB0aGF0IHRoZSB3cml0ZSB3YXMKPiBwZXJmb3JtZWQgYmVmb3Jl IHZibGFuaywgYW5kIEkgY2FuJ3QgcmVseSBlaXRoZXIgb24gdGhlIFVQRCBiaXQgYWZ0ZXIKPiB3 cml0ZSwgYXMgaXQncyAxIGluIGJvdGggY2FzZXMuCgpNeSBtaXN0YWtlLCBJIGdvdCB0aGUgVVBE IGJpdCB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4gSSdtIHN0aWxsIG5vdAplbnRpcmVseSBzdXJlIHdo eSB5b3UgY2FuJ3QgdXNlICJBRERSIGludGVybmFsIiB0byBkZXRlcm1pbmUgd2hpY2gKc2lkZSB3 b24gdGhlIHJhY2UuIEl0IHNob3dzICdCJyBpbiB0aGUgZmlyc3QgY2FzZSwgYW5kICdDJyBpbiB0 aGUKc2Vjb25kLgoKV2hlbiBhIG5ldyBjb21taXQgY29tZXMsIHVuY29uZGl0aW9uYWxseToKIC0g V3JpdGUgbmV3IGFkZHJlc3MKIC0gUmVhZCBzdGF0dXMKCiBpZiBzdGF0dXMuVVBEID09IDAgLS0+ IFlvdSBrbm93IGZvciBzdXJlIHlvdXIgbmV3IGNvbW1pdCB3YXMganVzdAogICAgICAgICAgICAg ICAgICAgICAgICBsYXRjaGVkLgogaWYgc3RhdHVzLlVQRCA9PSAxIC0tPiBZb3UgbmVlZCB0byBj aGVjayBBRERSIGludGVybmFsIHRvIHNlZSB3aGljaAoJCQlvZiB0aGVzZSB0aHJlZSBoYXBwZW5l ZDoKCiAgICAxKSBZb3VyIGZpcnN0IGNhc2UgaGFwcGVuZWQuIFdlJ3JlIHNvbWV3aGVyZSBpbiB0 aGUgbWlkZGxlIG9mIHRoZQogICAgICAgZnJhbWUuIEFERFIgaW50ZXJuYWwgd2lsbCBzaG93ICdC JywgYW5kIHlvdSBrbm93IGNvbW1pdCAnRCcgaXMKICAgICAgIGdvaW5nIG9uLXNjcmVlbiBhdCB0 aGUgbmV4dCB2YmxhbmsuCgogICAgMikgWW91ciBzZWNvbmQgY2FzZSBoYXBwZW5lZC4gVGhlIG5l dyBjb21taXQgcmFjZWQgd2l0aCB0aGUKICAgICAgIGxhdGNoaW5nIG9mIHdyaXRlYmFjay1kaXNh YmxlIGFuZCAibG9zdCIuIEFERFIgaW50ZXJuYWwgd2lsbAogICAgICAgc2hvdyAnQycsIGFuZCB0 aGUgbmV3IGNvbW1pdCBpcyBkZWxheWVkIGJ5IGEgZnJhbWUKCiAgICAzKSAoVGVlbnkgdGlueSBz bWFsbCB3aW5kb3cpIEluLWJldHdlZW4gcmVhZGluZyBzdGF0dXMgYW5kIEFERFIKICAgICAgIGlu dGVybmFsLCB0aGUgbmV3IGNvbW1pdCB3YXMgbGF0Y2hlZC4gQUREUiBpbnRlcm5hbCB3aWxsIHNo b3cKICAgICAgICdEJy4gWW91IGtub3cgdGhlIG5ldyBjb21taXQgIndvbiIgc28gdHJlYXQgaXQg dGhlIHNhbWUgYXMgaWYKICAgICAgIFVQRCA9PSAwICh3aGljaCBpdCB3aWxsIGJlLCBub3cpLgoK QW55d2F5LCBpdCdzIGFsbCBtb290IG5vdyB0aGF0IHlvdSd2ZSBmb3VuZCB0aGUgY2hhaW5lZCBs aXN0cyB0aGluZyAtCnRoYXQgc291bmRzIGlkZWFsLiBJJ2xsIHRha2UgYSBsb29rIGF0IHRoZSBu ZXcgc2VyaWVzIHNob3J0bHkuCgpUaGFua3MsCi1CcmlhbgoKPiAKPiBJIGluaXRpYWxseSB0aG91 Z2h0IEkgY291bGQgcHJvdGVjdCBhZ2FpbnN0IHRoZSByYWNlIHVzaW5nIHRoZSBmb2xsb3dpbmcK PiBwcm9jZWR1cmUuCj4gCj4gLSBTaW5nbGUgYXRvbWljIGNvbW1pdCwgbm8gSVJRIGRlbGF5Cj4g Cj4gCQkgICBbMV0gICAgICAgWzJdICAgICAgICBbM10gICAgICAgICAgICAgIFs0XQo+ICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICB8Cj4g ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgViAgICAgICAgICBWICAgICAgICAgICAgICAg IFYKPiAgICAgICAgICAgICAgICAgICAgIFYgICAgICAgICAgX19fX19fX19fXyAgICAgICAgICAg ICAgICAgIF9fX19fX19fX18KPiBWQkxBTksgICAgICAgICBfX19fX19fX19fX19fX198ICAgICAg ICAgIHxfX19fX19fX19fX19fX19ffCAgICAgICAgICB8X18KPiAgICAgICAgICAgICAgICAgICAg ICBfX19fX19fX18gICAgCj4gVVBEICAgICAgICAgICAgX19fX198ICAgICAgICAgfF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gICAgICAgICAgICAgICAgX19fX18g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gQURE UiByZWdpc3RlciAgX19BX19YX19fX19fX19fX19fX19fX19fX0JfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gICAgICAgICAgICAgICAgX19fX19fX19fX19fX19fIF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gQUREUiBpbnRlcm5hbCAgX19fX19fX0Ff X19fX19fWF9fX19fX0JfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gCj4gWzFd IEF0b21pYyBjb21taXQsIHJlZ2lzdGVycyBsaXN0IGFkZHJlc3Mgd3JpdGUsIHdpdGggd3JpdGVi YWNrIGVuYWJsZWQKPiBbMl0gRE1BIHN0YXJ0cyBmb3IgZmlyc3QgYXRvbWljIGNvbW1pdAo+IFsz XSBGcmFtZSBzdGFydCwgZGlzYWJsZSB3cml0ZWJhY2sgaW4tcGxhY2UgaW4gcmVnaXN0ZXJzIGxp c3QgQgo+IFs0XSBETUEgc3RhcnRzIGZvciAicGF0Y2hlZCIgcmVnaXN0ZXJzIGxpc3QsIGRpc2Fi bGVzIHdyaXRlYmFjawo+IAo+IC0gVHdvIGF0b21pYyBjb21taXRzLCBubyBJUlEgZGVsYXkKPiAK PiAJCSAgIFsxXSAgICAgICBbMl0gIFszXSAgIFs0XSAgICAgICAgICAgICAgWzVdCj4gICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgfCAgICB8ICAgICB8ICAgICAgICAgICAgICAgIHwKPiAg ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICBWICAgIFYgICAgIFYgICAgICAgICAgICAgICAg Vgo+ICAgICAgICAgICAgICAgICAgICAgViAgICAgICAgICBfX19fX19fX19fICAgICAgICAgICAg ICAgICAgX19fX19fX19fXwo+IFZCTEFOSyAgICAgICAgIF9fX19fX19fX19fX19fX3wgICAgICAg ICAgfF9fX19fX19fX19fX19fX198ICAgICAgICAgIHxfXwo+ICAgICAgICAgICAgICAgICAgICAg IF9fX19fX19fXyAgICAgIF9fX19fX19fX19fX19fX19fX19fX18KPiBVUEQgICAgICAgICAgICBf X19fX3wgICAgICAgICB8X19fX3wgICAgICAgICAgICAgICAgICAgICAgfF9fX19fX19fX19fX18K PiAgICAgICAgICAgICAgICBfX19fXyBfX19fX19fX19fX19fXyBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBBRERSIHJlZ2lzdGVyICBfX0FfX1hfX19fX19CX19fX19fX1hf X19fX19fX19fX19fX19fX0NfX19fX19fX19fX19fX19fX18KPiAgICAgICAgICAgICAgICBfX19f X19fX19fX19fX18gX19fX19fX19fX19fX19fX19fX19fX19fX19fIF9fX19fX19fX19fX18KPiBB RERSIGludGVybmFsICBfX19fX19fQV9fX19fX19YX19fX19fX19fX19fX0JfX19fX19fX19fX19f WF9fX19fX0NfX19fX18KPiAKPiBbMV0gQXRvbWljIGNvbW1pdCwgcmVnaXN0ZXJzIGxpc3QgYWRk cmVzcyB3cml0ZSwgd2l0aCB3cml0ZWJhY2sgZW5hYmxlZAo+IFsyXSBETUEgc3RhcnRzIGZvciBm aXJzdCBhdG9taWMgY29tbWl0Cj4gWzNdIE5leHQgYXRvbWljIGNvbW1pdCwgcmVnaXN0ZXJzIGxp c3QgYWRkcmVzcyB3cml0ZSwgd2l0aCB3cml0ZWJhY2sKPiAgICAgZGlzYWJsZWQKPiBbNF0gRnJh bWUgc3RhcnQsIGRpc2FibGUgd3JpdGViYWNrIGluLXBsYWNlIGluIHJlZ2lzdGVycyBsaXN0IEIK PiBbNV0gRE1BIHN0YXJ0cyBmb3Igc2Vjb25kIGF0b21pYyBjb21taXQsIGRpc2FibGVzIHdyaXRl YmFjawo+IAo+IFszXSBhbmQgWzRdIGNhbiBoYXBwZW4gaW4gYW55IG9yZGVyLCBhcyBsb25nIGFz IHRoZXkgYm90aCBjb21lIGJlZm9yZQo+IFs1XS4gSWYgWzNdIGNvbWVzIGFmdGVyIFs1XSwgd2Un cmUgYmFjayB0byB0aGUgcHJldmlvdXMgY2FzZSAoU2luZ2xlCj4gYXRvbWljIGNvbW1pdCwgbm8g SVJRIGRlbGF5KS4KPiAKPiAtIFNpbmdsZSBhdG9taWMgY29tbWl0LCBJUlEgZGVsYXkKPiAKPiAJ CSAgIFsxXSAgICAgICBbMl0gICAgICAgIFszXSAgICAgICAgICAgICAgWzRdIFs1XQo+ICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICB8ICAg fAo+ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIFYgICAgICAgICAgViAgICAgICAgICAg ICAgICBWICAgVgo+ICAgICAgICAgICAgICAgICAgICAgViAgICAgICAgICBfX19fX19fX19fICAg ICAgICAgICAgICAgICAgX19fX19fX19fXwo+IFZCTEFOSyAgICAgICAgIF9fX19fX19fX19fX19f X3wgICAgICAgICAgfF9fX19fX19fX19fX19fX198ICAgICAgICAgIHxfXwo+ICAgICAgICAgICAg ICAgICAgICAgIF9fX19fX19fXyAgICAKPiBVUEQgICAgICAgICAgICBfX19fX3wgICAgICAgICB8 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiAgICAgICAgICAgICAg ICBfX19fXyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBBRERSIHJlZ2lzdGVyICBfX0FfX1hfX19fX19fX19fX19fX19fX19fQl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiAgICAgICAgICAgICAgICBfX19fX19fX19fX19fX18gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBBRERSIGludGVybmFsICBf X19fX19fQV9fX19fX19YX19fX19fQl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiAKPiBbMV0gQXRvbWljIGNvbW1pdCwgcmVnaXN0ZXJzIGxpc3QgYWRkcmVzcyB3cml0ZSwgd2l0 aCB3cml0ZWJhY2sgZW5hYmxlZAo+IFsyXSBETUEgc3RhcnRzIGZvciBmaXJzdCBhdG9taWMgY29t bWl0Cj4gWzNdIEZyYW1lIHN0YXJ0LCBJUlEgaXMgZGVsYXllZCB0byBbNV0KPiBbNF0gRE1BIHN0 YXJ0cyBmb3IgdW5tb2RpZmllZCByZWdpc3RlcnMgbGlzdCwgd3JpdGViYWNrIHN0aWxsIGVuYWJs ZQo+IFs1XSBkaXNhYmxlIHdyaXRlYmFjayBpbi1wbGFjZSBpbiByZWdpc3RlcnMgbGlzdCBCLCB0 b28gbGF0ZQo+IAo+IEhlcmUgSSBuZWVkIHRvIGRldGVjdCB0aGF0IFs1XSB3YXMgZGVsYXllZCBh ZnRlciBbNF0sIGFuZCB0aHVzIGRlbGF5IHRoZQo+IGNvbXBsZXRpb24gb2YgdGhlIHdyaXRlYmFj ayBqb2IgYnkgb25lIGZyYW1lLiBUaGlzIGNvdWxkIGJlIGRvbmUgYnkKPiBjaGVja2luZyB0aGUg dmJsYW5rIGludGVycnVwdCBzdGF0dXMgYml0LCBpZiBpdCBpcyBzZXQgdGhlbiB2YmxhbmsKPiBv Y2N1cnJlZCBhbmQgcmFjZWQgWzVdLiBIb3dldmVyLCB0aGUgc2FtZSBpc3N1ZSBjYW4gYWxzbyBo YXBwZW4gd2hlbiBubwo+IHJhY2Ugb2NjdXJyZWQgaWYgcHJvY2Vzc2luZyBvZiB0aGUgdmJsYW5r IGludGVycnVwdCBmb3IgWzJdIGlzIGRlbGF5ZWQKPiB1bnRpbCBbM10uIEJvdGggdGhlIHZibGFu ayBpbnRlcnJ1cHQgYW5kIHRoZSBmcmFtZSBzdGFydCBpbnRlcnJ1cHQKPiBzdGF0dXMgYml0cyB3 aWxsIGJlIHNldCwgaW5kaWNhdGUgYSBwb3RlbnRpYWwgcmFjZS4KPiAKPiBUaGUgdGltZSBiZXR3 ZWVuIFsyXSBhbmQgWzNdIGlzIHZlcnkgc2hvcnQgY29tcGFyZWQgdG8gdGhlIHRpbWUgYmV0d2Vl bgo+IFszXSBhbmQgWzRdIGFuZCB0byBpbnRlcnJ1cHQgbGF0ZW5jeSBpbiBnZW5lcmFsLCBzbyB3 ZSB3b3VsZCBoYXZlIGxvdHMKPiBvZiBmYWxzZSBwb3NpdGl2ZXMuCj4gCj4gPiA+PiBZb3UgZG9u J3QgaGFwcGVuIHRvIGhhdmUgYSBETUEgZW5naW5lIHRyaWdnZXIgb3Igc29tZXRoaW5nIHlvdSBj b3VsZAo+ID4gPj4gdXNlIHRvIGRvIHRoZSByZWdpc3RlciBsaXN0IG1vZGlmaWNhdGlvbiBhdCBh IGd1YXJhbnRlZWQgdGltZSBkbyB5b3U/Cj4gPiA+IAo+ID4gPiBOb3QgdGhhdCBJIGtub3cgb2Ys IHVuZm9ydHVuYXRlbHkuCj4gPiA+IAo+ID4gPj4gQXJlIHlvdSBhbHdheXMgZ29pbmcgdG8gYmUg cHJvdGVjdGVkIGJ5IGFuIElPTU1VLCBwcmV2ZW50aW5nIHRoZQo+ID4gPj4gd3JpdGViYWNrIGZy b20gdHJhc2hpbmcgcGh5c2ljYWwgbWVtb3J5PyBJZiB0aGF0J3Mgbm90IHRoZSBjYXNlLCB0aGVu Cj4gPiA+PiB0aGUgcmFjZSBjYW4gaGF2ZSBwcmV0dHkgZGlyZSBjb25zZXF1ZW5jZXMuCj4gPiA+ IAo+ID4gPiBJZiB0aGUgSU9NTVUgaXMgZW5hYmxlZCBpbiBEVCwgeWVzLiBJdCdzIGEgc3lzdGVt LWxldmVsIGRlY2lzaW9uLgo+ID4gCj4gPiBXZWxsLCBpdCdzIHlvdXIgZHJpdmVyIGF0IHRoZSBl bmQgb2YgdGhlIGRheS4gQnV0IGZvciBtZSwgYSBrbm93bgo+ID4gcmFjZS1jb25kaXRpb24gd2hp Y2ggd291bGQgY2F1c2UgcmFuZG9tIG1lbW9yeSBjb3JydXB0aW9uIHNvdW5kcyBsaWtlCj4gPiBh IHJlYWxseSBCYWQgVGhpbmcuIEhhbHZpbmcgZnJhbWUtcmF0ZSBvbiBzeXN0ZW1zIHdpdGggbm8g SU9NTVUgc2VlbXMKPiA+IHByZWZlcmFibGUgdG8gbWUuCj4gCj4gSXQgaXMgYSByZWFsbHkgYmFk IHRoaW5nLiBJIHRoaW5rIHRoZSBkZWNpc2lvbiBzaG91bGQgYmUgdGFrZW4gYnkKPiBSZW5lc2Fz IHRob3VnaC4KPiAKPiAtLSAKPiBSZWdhcmRzLAo+IAo+IExhdXJlbnQgUGluY2hhcnQKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs