From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] Implement Limited Video Range Date: Fri, 11 Nov 2016 15:57:20 +0200 Message-ID: <20161111135720.GG31595@intel.com> References: <20151130084332.GP17050@phenom.ffwll.local> <20151130141103.GR4437@intel.com> <20161109202548.GB31595@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9397D6E212 for ; Fri, 11 Nov 2016 13:57:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Peter =?iso-8859-1?Q?Fr=FChberger?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBOb3YgMTEsIDIwMTYgYXQgMDk6NTM6MzVBTSArMDEwMCwgUGV0ZXIgRnLDvGhiZXJn ZXIgd3JvdGU6Cj4gSGksCj4gCj4gSSB3YXMgaW1wbGVtZW50aW5nIHRoaXMgc3VnZ2VzdGlvbiB0 b2RheSBhbmQgSSB0aGluayB0aGF0IHdpbGwgY29uZnVzZQo+IHVzZXJzIGFuZCBhbHNvIGRldnMg bWFpbnRhaW5pbmcgdGhhdCBjb2RlLiBPdXQgb2YgdGhlIGZvbGxvd2luZyByZWFzb246Cj4gY29t cHJlc3NfY29sb3JfcmFuZ2UgY2FuIGJlIHRydWUgb3IgZmFsc2UsIGl0IGRvZXMgbm90IHJlZmVy ZW5jZSBhIG1vZGUsCj4gYnV0IGFuIGFkZGl0aW9uYWwgc2V0dGluZyB0aGF0IG9ubHkgaW5mbHVl bmNlcyBjb2xvciBjbGFtcGluZyAvIHNjYWxpbmcuCj4gCj4gV2hhdCBkbyB3ZSBleHBlY3QgaWYg c29tZW9uZSBydW5zIGluIEZ1bGwgUmFuZ2UgYW5kIGhhcwo+IGNvbXByZXNzX2NvbG9yX3Jhbmdl IHNldCB0byB0cnVlPyBBbHNvIHdoYXQgZG8gd2UgZXhwZWN0IGlmIHNvbWVvbmUgcnVucyBpbgo+ IExpbWl0ZWQgUmFuZ2UgYW5kIGFkZGl0aW9uYWxseSBzZXQgdGhpcyBmbGFnIHRvIHRydWU/IElu IHNvbWUgY2FzZXMgaXQKPiB3b3VsZCBkbyBub3RoaW5nIGFuZCB3YXMgbm90IHRyYW5zcGFyZW50 LgoKSSBkaWRuJ3QgbWVhbiB5b3Ugc2hvdWxkIGFkZCBhIG5ldyBwcm9wZXJ0eSBmb3IgdGhpcy4g SnVzdCBhbiBpbnRlcm5hbApmbGFnLgoKPiAKPiBJbiBteSBvcmlnaW5hbCBwYXRjaCBJIGltcGxl bWVudGVkIGEgbmV3IG1vZGUsIHdoaWNoIHdhczogVmlkZW8gUmFuZ2UKPiAxNjoyMzUuIFRoYXQg bWVhbnQ6IFRlbGwgTGltaXRlZCBpbmZvIGZyYW1lLCBkb24ndCBhbHRlciBhbnkgY29sb3JzLiBJ dCB3YXMKPiBhIGNvbWJpbmF0aW9uIG9mIHR3byB0aGluZ3M6IGxpbWl0ZWQgaW5mbyBmcmFtZSAr IGNvbXByZXNzX2NvbG9yX3JhbmdlID0KPiBmYWxzZTsKPiAKPiBUaGUgZHJpdmVyIGNvZGUgbWFp bmx5IHVzZXM6IGludGVsX2hkbWktPmxpbWl0ZWRfY29sb3JfcmFuZ2UgdG8gZGlzdGluZ3Vpc2gK PiBpZiBjb2xvcnMgc2hvdWxkIGJlIGNsYW1wZWQgb3Igbm90LiBUaGVyZWZvcmUgaWYgdGhlIGFi b3ZlIHZhbHVlIHdhcyBzZXQsCj4gdGhhdCBqdXN0IG5lZWRlZCBzZXR0aW5nIHRvIGZhbHNlLgo+ IAo+IEkgdGhpbmsgaWYgd2UgZGVjaWRlIGZvciBhIGNvbXByZXNzX2NvbG9yX3JhbmdlIGJvb2ws IGl0IHNob3VsZCBub3Qgd29yayBhcwo+IGFuIGVudGlyZSBuZXcgbW9kZSBidXQgYXMgYW4gb3B0 aW9uIHRvIGFsdGVyIGN1cnJlbnQgbW9kZSwgbWVhbmluZwo+IHNvbWV0aGluZyBub3Qgc2V0IHZp YSAiQnJvYWRDYXN0IFJHQiIuCj4gCj4gQW55IHRob3VnaHRzIG9uIHRoYXQgbWF0dGVyPwo+IAo+ IE9uIFdlZCwgTm92IDksIDIwMTYgYXQgOToyNSBQTSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbQo+ID4gd3JvdGU6Cj4gCj4gPiBPbiBXZWQsIE5vdiAwOSwg MjAxNiBhdCAwOToxMTo1OFBNICswMTAwLCBQZXRlciBGcsO8aGJlcmdlciB3cm90ZToKPiA+ID4g SSBhbSBjdXJyZW50bHkgbm90IHN1cmUgd2hhdCB0aGUgd2F5IGZvcndhcmQgc2hvdWxkIGJlLgo+ ID4gPgo+ID4gPiBXZSBhcmUgc3VjY2Vzc2Z1bGx5IGltcGxlbWVudGluZyB0aGlzIHBhdGNoIGlu IGUuZy4gTGlicmVFTEVDIGFuIGVtYmVkZGVkCj4gPiA+IGRpc3RyaWJ1dGlvbiBmb3IgaG9tZSB0 aGVhdGVyIHBjcy4gQnV0IHRocm91Z2ggY3VycmVudCBidWcgcmVwb3J0cyAtIEkgYW0KPiA+ID4g bm90IHN1cmUsIGlmIHdlIHNob3VsZCBnaXZlIHN1Y2ggZnVuY3Rpb25hbGl0eSB0byB0aGUgdXNl ciwgdGhhdCBpcwo+ID4gPiBvdmVyd3JpdHRlbiBvbiBhIGxvd2VyIGxldmVsLCBlLmcuIGl0IGRv ZXMgbm90IHdoYXQgdGhlIHVzZXIgZXhwZWN0cy4KPiA+ID4KPiA+ID4gRS5nLiBzaW5jZSBzb21l IHRpbWUgZGlzcGxheXMgYXJlIGRyaXZlbiB3aXRoIDEwIG9yIDEyIGJpdCBmcm9tIHRoZSBpbnRl bAo+ID4gPiBkcml2ZXIsIGltYWdlIGRhdGEgaXMgZGl0aGVyZWQsIHNjYWxlZCBiYWNrIGFuZCBm b3J0aCB3aXRob3V0IGJlaW5nCj4gPiA+IHRyYW5zcGFyZW50IGZvciB0aGUgdXNlci4gSW4gZmFj dCB3ZSBoYXZlIHNvbWUgdXNlcnMgd2l0aCBoZG1pIGNhcHR1cmUKPiA+ID4gY2FyZHMsIGNvbWlu ZyBiYWNrIHRvIHVzIGlmIHNvbWUgZGVjb2RlZCB2YWx1ZXMgb2YgdGhlaXIgdmlkZW8gc3R1ZmYg ZG9lcwo+ID4gPiBub3QgbWF0Y2guCj4gPgo+ID4gUmUtcmVhZGluZyB3aGF0IHdhcyB3cml0dGVu IChjYW4ndCByZW1lbWJlciBhbnltb3JlIG9idmlvdXNseSksIEkgdGhpbmsKPiA+IHdoYXQgYm90 aCBtZSBhbmQgRGFuaWVsIHdlcmUgYWZ0ZXIgd2FzIGEgY2xlYW5lciBzZXBhcmF0aW9uIG9mIHRo ZQo+ID4gIndoYXQgc2hvdWxkIHRoZSBpbmZvZnJhbWUgc2F5PyIgYW5kICJob3cgc2hvdWxkIHdl IG1hbmdsZSB0aGUgY29sb3IKPiA+IGRhdGE/Ii4KPiA+Cj4gPiBEYW5pZWwncyAibGltaXRfY29s b3JfcmFuZ2UiIGlzIGEgd2VlIGJpdCB0b28gc2ltaWxhciBsb29raW5nIHRvCj4gPiAibGltaXRl ZF9jb2xvcl9yYW5nZSIgZm9yIG15IGxpa2luZy4gU28gaG93IGFib3V0IHdlIGdvIHdpdGggc29t ZXRoaW5nCj4gPiBsaWtlICJib29sIGNvbXByZXNzX2NvbG9yX3JhbmdlIi4gSXQgYWxzbyBjb252 ZXlzIHRoZSBmYWN0IHRoYXQgd2UncmUKPiA+IG5vdCBqdXN0IGNsYW1waW5nIHRoaW5ncy4gQW55 IG9iamVjdGlvbnMvdGhvdWdodHMvYmV0dGVyIGlkZWFzPwo+ID4KPiA+ID4KPiA+ID4gQmVzdCBy ZWdhcmRzCj4gPiA+IFBldGVyCj4gPiA+Cj4gPiA+IE9uIE1vbiwgTm92IDMwLCAyMDE1IGF0IDM6 MTEgUE0sIFZpbGxlIFN5cmrDpGzDpCA8Cj4gPiA+IHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPiB3cm90ZToKPiA+ID4KPiA+ID4gPiBPbiBNb24sIE5vdiAzMCwgMjAxNSBhdCAwOTo0Mzoz MkFNICswMTAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiA+ID4gT24gTW9uLCBOb3YgMzAs IDIwMTUgYXQgMDg6MDg6NDhBTSArMDEwMCwgUGV0ZXIgRnLDvGhiZXJnZXIgd3JvdGU6Cj4gPiA+ ID4gPiA+IChSZXNlbnQgY2F1c2Ugb2YgbW9kZXJhdGlvbikKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ ID4gVGhpcyBpbXBsZW1lbnRzIGEgaGlnaGx5IG5lZWRlZCBmZWF0dXJlIGluIGEgbWluaW1hbCBu b24KPiA+IGluc3RydWN0aXZlCj4gPiA+ID4gd2F5Lgo+ID4gPiA+ID4gPiBDb25zaWRlciBhIExp bWl0ZWQgUmFuZ2UgZGlzcGxheSAobGlrZSBtb3N0IFRWcykgd2hlcmUgeW91IHdhbnQgdG8KPiA+ ID4gPiB3YXRjaCBhCj4gPiA+ID4gPiA+IGRlY29kZWQgdmlkZW8uIFRoZSBUViBpcyBzZXQgdG8g bGltaXRlZCByYW5nZSBhbmQgdGhlIGludGVsIGRyaXZlcgo+ID4gYWxzbwo+ID4gPiA+ID4gPiB1 c2VzIGZ1bGwgc2NhbGluZyBMaW1pdGVkIDE2OjIzNSBtb2RlLCBlLmcuIGlmIHlvdSBkaXNwbGF5 IHRoZSBncmF5Cj4gPiA+ID4gdmFsdWUKPiA+ID4gPiA+ID4gMTYgLSB0aGUgZHJpdmVyIHdpbGwg cG9zdHByb2Nlc3MgaXQgdG8gc29tZXRoaW5nIGxpa2UgfiAyMi4KPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gVGhlIGZvbGxvd2luZyBoYXBwZW5zIGN1cnJlbnRseSBpbiBsaW51eCBpbnRlbCB2aWRl byB3b3JsZDoKPiA+ID4gPiA+ID4gVmlkZW8gaXMgZGVjb2RlZCB3aXRoIGUuZy4gdmFhcGksIHRo ZSBkZWNvZGVkIHN1cmZhY2UgaXMgZWl0aGVyCj4gPiB1c2VkCj4gPiA+ID4gdmlhCj4gPiA+ID4g PiA+IEVHTCBkaXJlY3RseSBpbiBMaW1pdGVkIFJhbmdlLiBMaW1pdGVkIFJhbmdlIHByb2Nlc3Np bmcgdGFrZXMgcGxhY2UKPiA+ID4gPiBhbmQgYXQKPiA+ID4gPiA+ID4gdGhlIGVuZCB3aGlsZSBy ZW5kZXJpbmcgdGhlIGludGVsIGRyaXZlciB3aWxsIHNjYWxlIGRvd24gdGhlCj4gPiBsaW1pdGVk Cj4gPiA+ID4gcmFuZ2UKPiA+ID4gPiA+ID4gZGF0YSBhZ2FpbiBhcyBpdCBjYW5ub3QgZGlzdHVu Z3Vpc2ggb2YgdGhlIGRhdGEgaXQgZ2V0cyB3aGVuIGUuZy4KPiA+ID4gPiByZW5kZXJpbmcKPiA+ ID4gPiA+ID4gd2l0aCBPcGVuR0wgbGlrZSB3ZSBzdWNjZXNmdWxseSBkbyBpbiBrb2RpLgo+ID4g PiA+ID4gPgo+ID4gPiA+ID4gPiBBbm90aGVyIHVzZSBjYXNlIGlzIHZhYXBpIHdoZW4gdXNpbmcg dGhlIG9sZCB2YUNvcHlTdXJmYWNlR0xYCj4gPiA+ID4gPiA+ICh2YVB1dFN1cmZhY2UpIHdoaWNo IHdvdWxkIGF1dG9tYXRpY2FsbHkgdXNlIEJUNjAxIC8gQlQ3MDkgbWF0cml4Cj4gPiB0bwo+ID4g PiA+ID4gPiB1cHNjYWxlIHRoZSBjb250ZW50IHdpdGhvdXQgYW55IGRpdGhlcmluZyB0byBGdWxs IFJhbmdlIFJHQi4gTGF0ZXIKPiA+IG9uCj4gPiA+ID4gdGhpcwo+ID4gPiA+ID4gPiBpcyBzY2Fs ZWQgZG93biBhZ2FpbiB3aXRoIHRoZSBMaW1pdGVkIDE2OjIzNSBzZXR0aW5nIGFuZCBvdXRwdXQu Cj4gPiA+ID4gUXVhbGl0eQo+ID4gPiA+ID4gPiBkZWdyYWRlcyB0d28gdGltZXMuCj4gPiA+ID4g PiA+Cj4gPiA+ID4gPiA+IFVzZXJzIGFuZCBhcHBsaWNhdGlvbnMgd2lkZWx5IHVzZWQgd2FudCB0 byBtYWtlIHN1cmUgdGhhdCBjb2xvcnMKPiA+ID4gPiBhcHBlYXIgb24KPiA+ID4gPiA+ID4gc2Ny ZWVuIGxpa2UgdGhleSB3ZXJlIHByb2Nlc3NlZCBhZnRlciB0aGUgbGFzdCBwcm9jZXNzaW5nIHN0 ZXAuIEluCj4gPiA+ID4gdmlkZW8KPiA+ID4gPiA+ID4gY2FzZSB0d28gdXNlIGNhc2VzIG1ha2Ug c2Vuc2U6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IGEpIHNjYWxpbmcgbGltaXRlZCByYW5nZSB0 byBmdWxsIHJhbmdlIHdpdGggZGl0aGVyaW5nIGFwcGxpZWQgd2hlbgo+ID4geW91Cj4gPiA+ID4g bmVlZAo+ID4gPiA+ID4gPiB0byBvdXRwdXQgZnVsbHJhbmdlCj4gPiA+ID4gPiA+IGIpIGFscmVh ZHkgaGF2aW5nIGxpbWl0ZWQgcmFuZ2UgYW5kIG91dHB1dHRpbmcgdGhhdCB3aXRob3V0IGFueQo+ ID4gZnVydGhlcgo+ID4gPiA+ID4gPiB0b3VjaGluZyBieSB0aGUgZHJpdmVyCj4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+IFVzZSBjYXNlIGEpIGlzIGFscmVhZHkgcG9zc2libGUuIFVzZWNhc2UgYikg d2lsbCBiZSBwb3NzaWJsZSB3aXRoCj4gPiB0aGUKPiA+ID4gPiA+ID4gYXR0YWNoZWQgcGF0Y2gu IEl0IGlzIGEgcG9zc2liaWxpdHkgdG8gZ2V0IExpbWl0ZWQgUmFuZ2Ugb24gc2NyZWVuCj4gPiBp bgo+ID4gPiA+ID4gPiBwZXJmZWN0IHF1YWxpdHkgaW4gMmsxNS4KPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gRm9yIHRoZSBmdXR1cmUgYSB1c2Vyc3BhY2UgYXBpIHRvIHByb3ZpZGUgaW5mbyBmcmFt ZXMgYW5kIHNvIG9uIGluCj4gPiBhCj4gPiA+ID4gPiA+IGdlbmVyaWMgd2F5IHNob3VsZCBiZSBj b25zaWRlcmVkIGJ1dCB1bnRpbCB3ZSBoYXZlIHRoaXMgSSBiZXQgd2UKPiA+IGhhdmUgMgo+ID4g PiA+ID4gPiB5ZWFycyB0byBnby4gVGhpcyBzb2x1dGlvbiBhbHNvIHdvcmtzIG9uIFgxMSAod2l0 aG91dCB3YXlsYW5kKSBhbmQKPiA+IGlzCj4gPiA+ID4gPiA+IHVzZWZ1bCBmb3IgZXhpc3Rpbmcg YXBwbGljYXRpb25zLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGFua3MgbXVjaCBmb3IgY29u c2lkZXJhdGlvbi4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+IEZyb20g ZGVhYTlkNzMwYzA4YWVmZWZlMzY3MWQwNzNkOTNkOTcwYmIzOWEzMSBNb24gU2VwIDE3IDAwOjAw OjAwCj4gPiAyMDAxCj4gPiA+ID4gPiA+IEZyb206IGZyaXRzY2ggPHBldGVyLmZydWVoYmVyZ2Vy QGdtYWlsLmNvbT4KPiA+ID4gPiA+ID4gRGF0ZTogU3VuLCAyOSBOb3YgMjAxNSAxNjozODoxNCAr MDEwMAo+ID4gPiA+ID4gPiBTdWJqZWN0OiBbUEFUQ0hdIEludGVsOiBJbXBsZW1lbnQgVmlkZW8g Q29sb3IgUmFuZ2UKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gLS0tCj4gPiA+ID4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMSArCj4gPiA+ID4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgNCArKy0tCj4gPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgOCArKysrKysrKwo+ID4gPiA+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgMTcgKysrKysrKysr KysrKysrLS0KPiA+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vZGVzLmMg ICB8ICAxICsKPiA+ID4gPiA+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gPiA+IGluZGV4IDk1YmIyN2QuLmU0NTM0NjEgMTAwNjQ0 Cj4gPiA+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiA+ID4gPiBA QCAtMzQ0OSw2ICszNDQ5LDcgQEAgaW50IGludGVsX2ZyZXFfb3Bjb2RlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlCj4gPiA+ID4gPiA+ICpkZXZfcHJpdiwgaW50IHZhbCk7Cj4gPiA+ID4gPiA+ICAj ZGVmaW5lIElOVEVMX0JST0FEQ0FTVF9SR0JfQVVUTyAwCj4gPiA+ID4gPiA+ICAjZGVmaW5lIElO VEVMX0JST0FEQ0FTVF9SR0JfRlVMTCAxCj4gPiA+ID4gPiA+ICAjZGVmaW5lIElOVEVMX0JST0FE Q0FTVF9SR0JfTElNSVRFRCAyCj4gPiA+ID4gPiA+ICsjZGVmaW5lIElOVEVMX0JST0FEQ0FTVF9S R0JfVklERU8gMwo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgc3RhdGljIGlubGluZSB1aW50MzJf dCBpOTE1X3ZnYWNudHJsX3JlZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiA+ID4gPiAg ewo+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gPiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPiA+ID4gPiA+IGluZGV4IDcxODYwZjguLmVhNDBkODEgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+ID4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiA+ID4gQEAgLTg2 MDUsNyArODYwNSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3NldF9waXBlX2NzYyhzdHJ1Y3QKPiA+ IGRybV9jcnRjCj4gPiA+ID4gKmNydGMpCj4gPiA+ID4gPiA+ICAgICogY29uc2lkZXJhdGlvbi4K PiA+ID4gPiA+ID4gICAgKi8KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gLSBpZiAoaW50ZWxfY3J0 Yy0+Y29uZmlnLT5saW1pdGVkX2NvbG9yX3JhbmdlKQo+ID4gPiA+ID4gPiArIGlmIChpbnRlbF9j cnRjLT5jb25maWctPmxpbWl0ZWRfY29sb3JfcmFuZ2UgJiYKPiA+ID4gPiA+ID4gIWludGVsX2Ny dGMtPmNvbmZpZy0+dmlkZW9fY29sb3JfcmFuZ2UpCj4gPiA+ID4gPiA+ICAgY29lZmYgPSAoKDIz NSAtIDE2KSAqICgxIDw8IDEyKSAvIDI1NSkgJiAweGZmODsgLyogMC54eHguLi4gKi8KPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gICAvKgo+ID4gPiA+ID4gPiBAQCAtODYyOSw3ICs4NjI5LDcgQEAg c3RhdGljIHZvaWQgaW50ZWxfc2V0X3BpcGVfY3NjKHN0cnVjdAo+ID4gZHJtX2NydGMKPiA+ID4g PiAqY3J0YykKPiA+ID4gPiA+ID4gICBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPiA2KSB7Cj4g PiA+ID4gPiA+ICAgdWludDE2X3QgcG9zdG9mZiA9IDA7Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ IC0gaWYgKGludGVsX2NydGMtPmNvbmZpZy0+bGltaXRlZF9jb2xvcl9yYW5nZSkKPiA+ID4gPiA+ ID4gKyBpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5saW1pdGVkX2NvbG9yX3JhbmdlICYmCj4gPiA+ ID4gPiA+ICFpbnRlbF9jcnRjLT5jb25maWctPnZpZGVvX2NvbG9yX3JhbmdlKQo+ID4gPiA+ID4g PiAgIHBvc3RvZmYgPSAoMTYgKiAoMSA8PCAxMikgLyAyNTUpICYgMHgxZmZmOwo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiAgIEk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9GRl9ISShwaXBlKSwgcG9z dG9mZik7Cj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g PiA+ID4gPiA+IGluZGV4IDA1OTg5MzIuLjY5NDAyNDMgMTAwNjQ0Cj4gPiA+ID4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gPiA+IEBAIC0zNzIsNiArMzcyLDEz IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKPiA+ID4gPiA+ID4gICAgKi8KPiA+ID4gPiA+ ID4gICBib29sIGxpbWl0ZWRfY29sb3JfcmFuZ2U7Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICsg LyoKPiA+ID4gPiA+ID4gKyAgKgo+ID4gPiA+ID4gPiArICAqIFVzZSByZWR1Y2VkL2xpbWl0ZWQv YnJvYWRjYXN0IHJnYiByYW5nZSB3aXRob3V0IGNvbXByZXNzaW5nLgo+ID4gPiA+ID4gPiArICAq Cj4gPiA+ID4gPiA+ICsgICovCj4gPiA+ID4gPiA+ICsgYm9vbCB2aWRlb19jb2xvcl9yYW5nZTsK PiA+ID4gPiA+Cj4gPiA+ID4gPiBJIHRoaW5rIHRoZSBuYW1lcyBhbmQgc2VtYW50aWNzIGFyZSBj b25mdXNpb24sIHJlc3VsdGluZyBpbgo+ID4gaGFyZC10by1yZWFkCj4gPiA+ID4gPiBpZiBjb25k aXRpb25zLiBXaGF0IGFib3V0Ogo+ID4gPiA+ID4KPiA+ID4gPiA+ICAgICAgIGJvb2wgbGltaXRf Y29sb3JfcmFuZ2U7IC8qIHNob3VsZCB3ZSBsaW1pdCBmcm9tIGZ1bGwtPjE2OjIzNSBpbgo+ID4g PiA+ID4gICAgICAgdGhlIGVuY29kZXIvY3NjPyAqLwo+ID4gPiA+Cj4gPiA+ID4gV2UgbWlnaHQg Y2FsbCB0aGlzIHNpbXBseSBhcyAiYWRqdXN0X2NvbG9yX3JhbmdlIiBvciBzb21ldGhpbmcgbGlr ZQo+ID4gPiA+IHRoYXQuIFRoZW4gaXQgd291bGQgYWxzbyB3b3JrIGZvciB0aGUgbGltaXRlZC0+ ZnVsbCBjb252ZXJzaW9uIGlmIHdlCj4gPiA+ID4gZXZlciBjb21lIHVwIHdpdGggc29tZSB1c2Ug Y2FzZSB0aGF0IHdvdWxkIG5lZWQgc3VjaCBhIHRoaW5nLiBBbHRob2d1aAo+ID4gPiA+IGl0IGRv ZXMgbWVhbiB3ZSdkIGhhdmUgdG8gY2hlY2sgYm90aCBmbGFncyB3aGVuIGRlY2lkaW5nIGhvdyB0 byBwcm9ncmFtCj4gPiA+ID4gdGhlIHBvcnQvcGlwZWNvbmYgcmFuZ2UgYml0L3BpcGUgY3NjLgo+ ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gICAgICAgYm9vbCBsaW1pdGVkX2NvbG9yX3Jhbmdl X291dHB1dDsgLyogc2V0IHRoZSBpbmZvZnJhbWUgb3Igbm90Pwo+ID4gKi8KPiA+ID4gPiA+Cj4g PiA+ID4gPiBOYW1lcyBhcmVuJ3QgZ3JlYXQgeWV0IEkgdGhpbmssIGNvZmZlZSdzIG5vdCB5ZXQg d29ya2luZyA7LSkKPiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGFua3MsIERhbmllbAo+ID4gPiA+ID4K PiA+ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiAgIC8qIERQIGhhcyBhIGJ1bmNoIG9mIHNwZWNpYWwg Y2FzZSB1bmZvcnR1bmF0ZWx5LCBzbyBtYXJrIHRoZSBwaXBlCj4gPiA+ID4gPiA+ICAgICogYWNj b3JkaW5nbHkuICovCj4gPiA+ID4gPiA+ICAgYm9vbCBoYXNfZHBfZW5jb2RlcjsKPiA+ID4gPiA+ ID4gQEAgLTY4Miw2ICs2ODksNyBAQCBzdHJ1Y3QgaW50ZWxfaGRtaSB7Cj4gPiA+ID4gPiA+ICAg aW50IGRkY19idXM7Cj4gPiA+ID4gPiA+ICAgYm9vbCBsaW1pdGVkX2NvbG9yX3JhbmdlOwo+ID4g PiA+ID4gPiAgIGJvb2wgY29sb3JfcmFuZ2VfYXV0bzsKPiA+ID4gPiA+ID4gKyBib29sIGNvbG9y X3JhbmdlX3ZpZGVvOwo+ID4gPiA+ID4gPiAgIGJvb2wgaGFzX2hkbWlfc2luazsKPiA+ID4gPiA+ ID4gICBib29sIGhhc19hdWRpbzsKPiA+ID4gPiA+ID4gICBlbnVtIGhkbWlfZm9yY2VfYXVkaW8g Zm9yY2VfYXVkaW87Cj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMKPiA+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKPiA+ID4gPiA+ID4gaW5kZXggOWVhZmExOS4uZGM3ODc2MCAxMDA2NDQKPiA+ID4gPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiA+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ID4gPiA+ID4gPiBAQCAtNDY0 LDcgKzQ2NCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoCj4g PiBzdHJ1Y3QKPiA+ID4gPiA+ID4gZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ID4gPiA+ICAg fQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgIGlmIChpbnRlbF9oZG1pLT5yZ2JfcXVhbnRfcmFu Z2Vfc2VsZWN0YWJsZSkgewo+ID4gPiA+ID4gPiAtIGlmIChpbnRlbF9jcnRjLT5jb25maWctPmxp bWl0ZWRfY29sb3JfcmFuZ2UpCj4gPiA+ID4gPiA+ICsgaWYgKGludGVsX2NydGMtPmNvbmZpZy0+ bGltaXRlZF9jb2xvcl9yYW5nZSB8fAo+ID4gPiA+ID4gPiArICAgICBpbnRlbF9jcnRjLT5jb25m aWctPnZpZGVvX2NvbG9yX3JhbmdlKQo+ID4gPiA+ID4gPiAgIGZyYW1lLmF2aS5xdWFudGl6YXRp b25fcmFuZ2UgPQo+ID4gPiA+ID4gPiAgIEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0xJTUlURUQ7 Cj4gPiA+ID4gPiA+ICAgZWxzZQo+ID4gPiA+ID4gPiBAQCAtMTI2Niw2ICsxMjY3LDggQEAgYm9v bCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdAo+ID4gPiA+IGludGVsX2VuY29kZXIK PiA+ID4gPiA+ID4gKmVuY29kZXIsCj4gPiA+ID4gPiA+ICAgcGlwZV9jb25maWctPmxpbWl0ZWRf Y29sb3JfcmFuZ2UgPQo+ID4gPiA+ID4gPiAgIGludGVsX2hkbWktPmxpbWl0ZWRfY29sb3JfcmFu Z2U7Cj4gPiA+ID4gPiA+ICAgfQo+ID4gPiA+ID4gPiArIGlmIChpbnRlbF9oZG1pLT5jb2xvcl9y YW5nZV92aWRlbykKPiA+ID4gPiA+ID4gKyAgICAgICAgICAgICAgIHBpcGVfY29uZmlnLT52aWRl b19jb2xvcl9yYW5nZSA9IHRydWU7Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgaWYgKGFkanVz dGVkX21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspIHsKPiA+ID4gPiA+ID4gICBw aXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciA9IDI7Cj4gPiA+ID4gPiA+IEBAIC0xNDg1LDI1 ICsxNDg4LDM1IEBAIGludGVsX2hkbWlfc2V0X3Byb3BlcnR5KHN0cnVjdAo+ID4gZHJtX2Nvbm5l Y3Rvcgo+ID4gPiA+ID4gPiAqY29ubmVjdG9yLAo+ID4gPiA+ID4gPiAgIGlmIChwcm9wZXJ0eSA9 PSBkZXZfcHJpdi0+YnJvYWRjYXN0X3JnYl9wcm9wZXJ0eSkgewo+ID4gPiA+ID4gPiAgIGJvb2wg b2xkX2F1dG8gPSBpbnRlbF9oZG1pLT5jb2xvcl9yYW5nZV9hdXRvOwo+ID4gPiA+ID4gPiAgIGJv b2wgb2xkX3JhbmdlID0gaW50ZWxfaGRtaS0+bGltaXRlZF9jb2xvcl9yYW5nZTsKPiA+ID4gPiA+ ID4gKyBib29sIG9sZF9yYW5nZV92aWRlbyA9IGludGVsX2hkbWktPmNvbG9yX3JhbmdlX3ZpZGVv Owo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgIHN3aXRjaCAodmFsKSB7Cj4gPiA+ID4gPiA+ICAg Y2FzZSBJTlRFTF9CUk9BRENBU1RfUkdCX0FVVE86Cj4gPiA+ID4gPiA+ICAgaW50ZWxfaGRtaS0+ Y29sb3JfcmFuZ2VfYXV0byA9IHRydWU7Cj4gPiA+ID4gPiA+ICsgaW50ZWxfaGRtaS0+Y29sb3Jf cmFuZ2VfdmlkZW8gPSBmYWxzZTsKPiA+ID4gPiA+ID4gICBicmVhazsKPiA+ID4gPiA+ID4gICBj YXNlIElOVEVMX0JST0FEQ0FTVF9SR0JfRlVMTDoKPiA+ID4gPiA+ID4gICBpbnRlbF9oZG1pLT5j b2xvcl9yYW5nZV9hdXRvID0gZmFsc2U7Cj4gPiA+ID4gPiA+ICAgaW50ZWxfaGRtaS0+bGltaXRl ZF9jb2xvcl9yYW5nZSA9IGZhbHNlOwo+ID4gPiA+ID4gPiArIGludGVsX2hkbWktPmNvbG9yX3Jh bmdlX3ZpZGVvID0gZmFsc2U7Cj4gPiA+ID4gPiA+ICAgYnJlYWs7Cj4gPiA+ID4gPiA+ICAgY2Fz ZSBJTlRFTF9CUk9BRENBU1RfUkdCX0xJTUlURUQ6Cj4gPiA+ID4gPiA+ICAgaW50ZWxfaGRtaS0+ Y29sb3JfcmFuZ2VfYXV0byA9IGZhbHNlOwo+ID4gPiA+ID4gPiAgIGludGVsX2hkbWktPmxpbWl0 ZWRfY29sb3JfcmFuZ2UgPSB0cnVlOwo+ID4gPiA+ID4gPiArIGludGVsX2hkbWktPmNvbG9yX3Jh bmdlX3ZpZGVvID0gZmFsc2U7Cj4gPiA+ID4gPiA+ICsgYnJlYWs7Cj4gPiA+ID4gPiA+ICsgY2Fz ZSBJTlRFTF9CUk9BRENBU1RfUkdCX1ZJREVPOgo+ID4gPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgaW50ZWxfaGRtaS0+Y29sb3JfcmFuZ2VfYXV0byA9IGZhbHNlOwo+ID4gPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxfaGRtaS0+bGltaXRlZF9jb2xvcl9yYW5n ZSA9IHRydWU7Cj4gPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICBpbnRlbF9oZG1p LT5jb2xvcl9yYW5nZV92aWRlbyA9IHRydWU7Cj4gPiA+ID4gPiA+ICAgYnJlYWs7Cj4gPiA+ID4g PiA+ICAgZGVmYXVsdDoKPiA+ID4gPiA+ID4gICByZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiA+ID4g ICB9Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICAgaWYgKG9sZF9hdXRvID09IGludGVsX2hkbWkt PmNvbG9yX3JhbmdlX2F1dG8gJiYKPiA+ID4gPiA+ID4gLSAgICAgb2xkX3JhbmdlID09IGludGVs X2hkbWktPmxpbWl0ZWRfY29sb3JfcmFuZ2UpCj4gPiA+ID4gPiA+ICsgICAgIG9sZF9yYW5nZSA9 PSBpbnRlbF9oZG1pLT5saW1pdGVkX2NvbG9yX3JhbmdlICYmCj4gPiA+ID4gPiA+ICsgICAgIG9s ZF9yYW5nZV92aWRlbyA9PSBpbnRlbF9oZG1pLT5jb2xvcl9yYW5nZV92aWRlbykKPiA+ID4gPiA+ ID4gICByZXR1cm4gMDsKPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gICBnb3RvIGRvbmU7Cj4gPiA+ ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5jCj4g PiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9kZXMuYwo+ID4gPiA+ID4g PiBpbmRleCAzOGE0YzhjLi5jNDk2ODFhIDEwMDY0NAo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9tb2Rlcy5jCj4gPiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX21vZGVzLmMKPiA+ID4gPiA+ID4gQEAgLTEwMyw2ICsxMDMsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcm9wX2VudW1fbGlzdAo+ID4gPiA+ID4gPiBicm9hZGNh c3RfcmdiX25hbWVzW10gPSB7Cj4gPiA+ID4gPiA+ICAgeyBJTlRFTF9CUk9BRENBU1RfUkdCX0FV VE8sICJBdXRvbWF0aWMiIH0sCj4gPiA+ID4gPiA+ICAgeyBJTlRFTF9CUk9BRENBU1RfUkdCX0ZV TEwsICJGdWxsIiB9LAo+ID4gPiA+ID4gPiAgIHsgSU5URUxfQlJPQURDQVNUX1JHQl9MSU1JVEVE LCAiTGltaXRlZCAxNjoyMzUiIH0sCj4gPiA+ID4gPiA+ICsgeyBJTlRFTF9CUk9BRENBU1RfUkdC X1ZJREVPLCAiVmlkZW8gMTY6MjM1IHBhc3MtdGhyb3VnaCIgfSwKPiA+ID4gPiA+ID4gIH07Cj4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICB2b2lkCj4gPiA+ID4gPiA+IC0tCj4gPiA+ID4gPiA+IDIu NS4wCj4gPiA+ID4gPgo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gPiA+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+ ID4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiA+ID4gaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiA+ ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gRGFuaWVsIFZldHRlcgo+ID4gPiA+ ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiA+ID4gPiBodHRwOi8v YmxvZy5mZndsbC5jaAo+ID4gPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiA+ID4gPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gPiA+ IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiA+IGh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+ID4gPgo+ID4gPiA+ IC0tCj4gPiA+ID4gVmlsbGUgU3lyasOkbMOkCj4gPiA+ID4gSW50ZWwgT1RDCj4gPiA+ID4KPiA+ Cj4gPiAtLQo+ID4gVmlsbGUgU3lyasOkbMOkCj4gPiBJbnRlbCBPVEMKPiA+CgotLSAKVmlsbGUg U3lyasOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK