From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 5/7] drm/i915: Update kerneldoc for intel_dpll_mgr.c Date: Wed, 19 Oct 2016 15:03:04 +0300 Message-ID: <1476878584.4385.3.camel@gmail.com> References: <1475584337-8900-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1475584337-8900-6-git-send-email-ander.conselvan.de.oliveira@intel.com> <20161013134644.GT20761@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x243.google.com (mail-pf0-x243.google.com [IPv6:2607:f8b0:400e:c00::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id F3A746E8E7 for ; Wed, 19 Oct 2016 12:03:10 +0000 (UTC) Received: by mail-pf0-x243.google.com with SMTP id 128so2343821pfz.1 for ; Wed, 19 Oct 2016 05:03:10 -0700 (PDT) In-Reply-To: <20161013134644.GT20761@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE2LTEwLTEzIGF0IDE1OjQ2ICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+ IE9uIFR1ZSwgT2N0IDA0LCAyMDE2IGF0IDAzOjMyOjE1UE0gKzAzMDAsIEFuZGVyIENvbnNlbHZh biBkZSBPbGl2ZWlyYSB3cm90ZToKPiA+IAo+ID4gVGhlIGRvY3VtZW50YXRpb24gZm9yIG1vc3Qg b2YgdGhlIG5vbi1zdGF0aWMgbWVtYmVycyBhbmQgc3RydWN0cyB3ZXJlCj4gPiBtaXNzaW5nLiBG aXggdGhhdC4KPiA+IAo+ID4gdjI6IEZpeCB0eXBvcyAoRHVyZ2EpCj4gPiAKPiA+IHYzOiBSZWJh c2UuCj4gPiDCoMKgwqDCoEZpeCBtYWtlIGRvY3Mgd2FybmluZ3MuCj4gPiDCoMKgwqDCoERvY3Vt ZW50IG1vcmUuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2 ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGUKPiA+IGwuY29tPgo+IEFzIG1l bnRpb25lZCBpbiBhbiBlYXJsaWVyIHBhdGNoLCBJIHRoaW5rIHdlIHNob3VsZCBhbHNvIG1vdmUK PiBpbnRlbF9hdG9taWNfZ2V0X3NoYXJlZF9kcGxsX3N0YXRlIGZyb20gaW50ZWxfYXRvbWljLmMg aW50bwo+IGludGVsX2RwbGxfbWdyLmMuIEdyb3VwaW5nIGZ1bmN0aW9ucyBieSB0aGUgZGF0YSBz dHJ1Y3R1cmVzIHRoZXkgdG91Y2gKPiBtYWtlcyBpbW8gbXVjaCBtb3JlIHNlbnNlLCB0aGFuIGdy b3VwaW5nIHRoZW0gYnkgdG9waWMuIFRoYXQgd2F5IGFsbCB0aGUKPiBkcGxsIHN0dWZmIGlzIGlu IG9uZSBwbGFjZS4KPiAKPiA+IAo+ID4gLS0tCj4gPiDCoERvY3VtZW50YXRpb24vZ3B1L2k5MTUu cnN0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfMKgwqAxMiArKysKPiA+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyB8wqDCoDkwICsrKysrKysrKysrKysrKysrKy0tCj4g PiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmggfCAxNTUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLQo+ID4gLS0tCj4gPiDCoDMgZmlsZXMgY2hhbmdlZCwgMjM3 IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvRG9j dW1lbnRhdGlvbi9ncHUvaTkxNS5yc3QgYi9Eb2N1bWVudGF0aW9uL2dwdS9pOTE1LnJzdAo+ID4g aW5kZXggODdhYWZmYy4uYzE5ZTQzNyAxMDA2NDQKPiA+IC0tLSBhL0RvY3VtZW50YXRpb24vZ3B1 L2k5MTUucnN0Cj4gPiArKysgYi9Eb2N1bWVudGF0aW9uL2dwdS9pOTE1LnJzdAo+ID4gQEAgLTIw NCw2ICsyMDQsMTggQEAgVmlkZW8gQklPUyBUYWJsZSAoVkJUKQo+ID4gwqAuLiBrZXJuZWwtZG9j OjogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmJ0X2RlZnMuaAo+ID4gwqDCoMKgwqA6aW50 ZXJuYWw6Cj4gPiDCoAo+ID4gK0Rpc3BsYXkgUExMcwo+ID4gKy0tLS0tLS0tLS0tLQo+ID4gKwo+ ID4gKy4uIGtlcm5lbC1kb2M6OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5j Cj4gPiArwqDCoMKgOmRvYzogRGlzcGxheSBQTExzCj4gPiArCj4gPiArLi4ga2VybmVsLWRvYzo6 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKPiA+ICvCoMKgwqA6aW50ZXJu YWw6Cj4gPiArCj4gPiArLi4ga2VybmVsLWRvYzo6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmgKPiA+ICvCoMKgwqA6aW50ZXJuYWw6Cj4gPiArCj4gPiDCoE1lbW9yeSBNYW5h Z2VtZW50IGFuZCBDb21tYW5kIFN1Ym1pc3Npb24KPiA+IMKgPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQo+ID4gwqAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMKPiA+IGluZGV4IDk0NDY0NDYuLjhjNGVmYTkgMTAwNjQ0Cj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiBAQCAtMjMsNiArMjMsMjUgQEAKPiA+IMKg Cj4gPiDCoCNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiA+IMKgCj4gPiArLyoqCj4gPiArICogRE9D OiBEaXNwbGF5IFBMTHMKPiA+ICsgKgo+ID4gKyAqIERpc3BsYXkgUExMcyB1c2VkIGZvciBkcml2 aW5nIG91dHB1dHMgdmFyeSBieSBwbGF0Zm9ybS4gV2hpbGUgc29tZSBoYXZlCj4gPiArICogcGVy LXBpcGUgb3IgcGVyLWVuY29kZXIgZGVkaWNhdGVkIFBMTHMsIG90aGVycyBhbGxvdyB0aGUgdXNl IG9mIGFueSBQTEwKPiA+ICsgKiBmcm9tIGEgcG9vbC4gSW4gdGhlIGxhdHRlciBzY2VuYXJpbywg aXQgaXMgcG9zc2libGUgdGhhdCBtdWx0aXBsZSBwaXBlcwo+ID4gKyAqIHNoYXJlIGEgUExMIGlm IHRoZWlyIGNvbmZpZ3VyYXRpb25zIG1hdGNoLgo+ID4gKyAqCj4gPiArICogVGhpcyBmaWxlIHBy b3ZpZGVzIGFuIGFic3RyYWN0aW9uIG92ZXIgZGlzcGxheSBQTExzLiBUaGUgZnVuY3Rpb24KPiA+ ICsgKiBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KCkgaW5pdGlhbGl6ZXMgdGhlIFBMTHMgZm9yIHRo ZSBnaXZlbgo+ID4gcGxhdGZvcm0uwqDCoFRoZQo+ID4gKyAqIHVzZXJzIG9mIGEgUExMIGFyZSB0 cmFja2VkIGFuZCB0aGF0IHRyYWNraW5nIGlzIGludGVncmF0ZWQgd2l0aCB0aGUKPiA+IGF0b21p Ywo+ID4gKyAqIG1vZGVzdCBpbnRlcmZhY2UuIER1cmluZyBhbiBhdG9taWMgb3BlcmF0aW9uLCBh IFBMTCBjYW4gYmUgcmVxdWVzdGVkIGZvcgo+ID4gYQo+ID4gKyAqIGdpdmVuIGNydGMgYW5kIGVu Y29kZXIgY29uZmlndXJhdGlvbiBieSBjYWxsaW5nIGludGVsX2dldF9zaGFyZWRfZHBsbCgpCj4g PiBhbmQKPiBzL2NydGMvQ1JUQy8gZm9yIGNvbnNpc3RlbmN5IChhYmJyZXZpYXRpb25zIGFyZSBh bGwgdXBlcmNhc2UpLCBwbHMgZG8gdGhhdAo+IG9uIHRoZSBlbnRpcmUgZG9jLgo+IAo+ID4gCj4g PiArICogYSBwcmV2aW91c2x5IHVzZWQgUExMIGNhbiBiZSByZWxlYXNlZCB3aXRoIGludGVsX3Jl bGVhc2Vfc2hhcmVkX2RwbGwoKS4KPiA+ICsgKiBDaGFuZ2VzIHRvIHRoZSB1c2VycyBhcmUgZmly c3Qgc3RhZ2VkIGluIHRoZSBhdG9taWMgc3RhdGUsIGFuZCB0aGVuIG1hZGUKPiA+ICsgKiBlZmZl Y3RpdmUgYnkgY2FsbGluZyBpbnRlbF9zaGFyZWRfZHBsbF9zd2FwX3N0YXRlKCkgZHVyaW5nIHRo ZSBhdG9taWMKPiA+ICsgKiBjb21taXQgcGhhc2UuCj4gPiArICovCj4gPiArCj4gPiDCoHN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbCAqCj4gPiDCoHNrbF9maW5kX2xpbmtfcGxsKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IGNsb2NrKQo+ID4gwqB7Cj4gPiBAQCAtNjEsNiAr ODAsMTQgQEAgc2tsX2ZpbmRfbGlua19wbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBpbnQKPiA+IGNsb2NrKQo+ID4gwqAJcmV0dXJuIHBsbDsKPiA+IMKgfQo+ID4gwqAKPiA+ ICsvKioKPiA+ICsgKiBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfYnlfaWQgLSBnZXQgYSBEUExMIGdp dmVuIGl0cyBpZAo+ID4gKyAqIEBkZXZfcHJpdjogaTkxNSBkZXZpY2UgaW5zdGFuY2UKPiA+ICsg KiBAaWQ6IHBsbCBpZAo+ID4gKyAqCj4gPiArICogUmV0dXJuczoKPiA+ICsgKiBBIHBvaW50ZXIg dG8gdGhlIERQTEwgd2l0aCBAaWQKPiA+ICsgKi8KPiA+IMKgc3RydWN0IGludGVsX3NoYXJlZF9k cGxsICoKPiA+IMKgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+IMKgCQkJwqDCoMKgwqBlbnVtIGludGVsX2RwbGxfaWQgaWQp Cj4gPiBAQCAtNjgsNiArOTUsMTQgQEAgaW50ZWxfZ2V0X3NoYXJlZF9kcGxsX2J5X2lkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYsCj4gPiDCoAlyZXR1cm4gJmRldl9wcml2 LT5zaGFyZWRfZHBsbHNbaWRdOwo+ID4gwqB9Cj4gPiDCoAo+ID4gKy8qKgo+ID4gKyAqIGludGVs X2dldF9zaGFyZWRfZHBsbF9pZCAtIGdldCB0aGUgaWQgb2YgYSBEUExMCj4gPiArICogQGRldl9w cml2OiBpOTE1IGRldmljZSBpbnN0YW5jZQo+ID4gKyAqIEBwbGw6IHRoZSBEUExMCj4gPiArICoK PiA+ICsgKiBSZXR1cm5zOgo+ID4gKyAqIFRoZSBpZCBvZiBAcGxsCj4gPiArICovCj4gPiDCoGVu dW0gaW50ZWxfZHBsbF9pZAo+ID4gwqBpbnRlbF9nZXRfc2hhcmVkX2RwbGxfaWQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gwqAJCQnCoHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsKQo+ID4gQEAgLTk2LDYgKzEzMSwxMyBAQCB2b2lkIGFzc2VydF9zaGFyZWRfZHBs bChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gKmRldl9wcml2LAo+ID4gwqAJCQlwbGwtPm5h bWUsIG9ub2ZmKHN0YXRlKSwgb25vZmYoY3VyX3N0YXRlKSk7Cj4gPiDCoH0KPiA+IMKgCj4gPiAr LyoqCj4gPiArICogaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbCAtIGNhbGwgYSBkcGxsJ3MgcHJl cGFyZSBob29rCj4gPiArICogQGNydGM6IGNydGMgd2hpY2ggaGFzIGEgc2hhcmVkIGRwbGwKPiA+ ICsgKgo+ID4gKyAqIFRoaXMgY2FsbHMgdGhlIFBMTCdzIHByZXBhcmUgaG9vayBpZiBpdCBoYXMg b25lIGFuZCBpZiB0aGUgUExMIGlzIG5vdAo+ID4gKyAqIGFscmVhZHkgZW5hYmxlZC4gVGhlIHBy ZXBhcmUgaG9vayBpcyBwbGF0Zm9ybSBzcGVjaWZpYy4KPiA+ICsgKi8KPiA+IMKgdm9pZCBpbnRl bF9wcmVwYXJlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ID4gwqB7Cj4g PiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gPiBAQCAtMTE4 LDEyICsxNjAsMTAgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRl bF9jcnRjCj4gPiAqY3J0YykKPiA+IMKgfQo+ID4gwqAKPiA+IMKgLyoqCj4gPiAtICogaW50ZWxf ZW5hYmxlX3NoYXJlZF9kcGxsIC0gZW5hYmxlIFBDSCBQTEwKPiA+IC0gKiBAZGV2X3ByaXY6IGk5 MTUgcHJpdmF0ZSBzdHJ1Y3R1cmUKPiA+IC0gKiBAcGlwZTogcGlwZSBQTEwgdG8gZW5hYmxlCj4g PiArICogaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsIC0gZW5hYmxlIGEgY3J0YydzIHNoYXJlZCBE UExMCj4gPiArICogQGNydGM6IGNydGMgd2hpY2ggaGFzIGEgc2hhcmVkIERQTEwKPiA+IMKgICoK PiA+IC0gKiBUaGUgUENIIFBMTCBuZWVkcyB0byBiZSBlbmFibGVkIGJlZm9yZSB0aGUgUENIIHRy YW5zY29kZXIsIHNpbmNlIGl0Cj4gPiAtICogZHJpdmVzIHRoZSB0cmFuc2NvZGVyIGNsb2NrLgo+ ID4gKyAqIEVuYWJsZSB0aGUgc2hhcmVkIERQTEwgdXNlZCBieSBAY3J0Yy4KPiA+IMKgICovCj4g PiDCoHZvaWQgaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRj KQo+ID4gwqB7Cj4gPiBAQCAtMTY0LDYgKzIwNCwxMiBAQCBvdXQ6Cj4gPiDCoAltdXRleF91bmxv Y2soJmRldl9wcml2LT5kcGxsX2xvY2spOwo+ID4gwqB9Cj4gPiDCoAo+ID4gKy8qKgo+ID4gKyAq IGludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwgLSBkaXNhYmxlIGEgY3J0YydzIHNoYXJlZCBEUExM Cj4gPiArICogQGNydGM6IGNydGMgd2hpY2ggaGFzIGEgc2hhcmVkIERQTEwKPiA+ICsgKgo+ID4g KyAqIERpc2FibGUgdGhlIHNoYXJlZCBEUExMIHVzZWQgYnkgQGNydGMuCj4gPiArICovCj4gPiDC oHZvaWQgaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK PiA+IMKgewo+ID4gwqAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ ID4gQEAgLTI2Niw2ICszMTIsMTYgQEAgaW50ZWxfcmVmZXJlbmNlX3NoYXJlZF9kcGxsKHN0cnVj dCBpbnRlbF9zaGFyZWRfZHBsbAo+ID4gKnBsbCwKPiA+IMKgCXNoYXJlZF9kcGxsW3BsbC0+aWRd LmNydGNfbWFzayB8PSAxIDw8IGNydGMtPnBpcGU7Cj4gPiDCoH0KPiA+IMKgCj4gPiArLyoqCj4g PiArICogaW50ZWxfc2hhcmVkX2RwbGxfc3dhcF9zdGF0ZSAtIG1ha2UgYXRvbWljIERQTEwgY29u ZmlndXJhdGlvbiBlZmZlY3RpdmUKPiA+ICsgKiBAc3RhdGU6IGF0b21pYyBzdGF0ZQo+ID4gKyAq Cj4gPiArICogVGhpcyBpcyB0aGUgZHBsbCB2ZXJzaW9uIG9mIGRybV9hdG9taWNfaGVscGVyX3N3 YXBfc3RhdGUoKSBzaW5jZSB0aGUKPiA+ICsgKiBoZWxwZXIgZG9lcyBub3QgaGFuZGxlIGRyaXZl ci1zcGVjaWZpYyBnbG9iYWwgc3RhdGUuCj4gPiArICoKPiA+ICsgKiBOb3RlIHRoYXQgdGhpcyBk b2Vzbid0IGFjdHVhbGx5IHN3YXAgc3RhdGVzLCB0aGUgZHBsbCBjb25maWd1dGF0aW9uIGluCj4g PiArICogQHN0YXRlIGlzIGxlZnQgdW5jaGFuZ2VkLgo+IEhtLCB3aGF0IGRvIHlvdSBtZWFuIHdp dGggdGhhdD8gSSBndWVzcyB5b3UgbWVhbiB0aGF0IGl0IG9ubHkgcHV0cyB0aGUKPiBzdGF0ZSBm cm9tIGRybV9hdG9taWNfc3RhdGUgaW50byBkZXZfcHJpdiwgYW5kIG5vdCB0aGUgb3RoZXIgd2F5 IHJvdW5kLgo+IFRiaCB0aGF0J3MgYSBiaXQgdW5leHBlY3RlZCAoeWVzIGF0bSB3ZSBkb24ndCBo YXZlIGEgcmVhc29uIGZvciB0aGF0KSwgc28KPiBpbnN0ZWFkIG9mIGRvY3VtZW50aW5nIHRoaXMg b2RkaXR5IEknZCBqdXN0IGZpeCBpdC4gQW5kIHRoZW4gbWF5YmUgbWVudGlvbgo+IHRoYXQgIkZv ciBjb25zaXN0ZW5jeSB3aXRoIGF0b21pYyBoZWxwZXJzIHRoaXMgYWxzbyBwdXRzIHRoZSBjdXJy ZW50IHN0YXRlCj4gaW50byBAc3RhdGUsIGkuZS4gaXQgZG9lcyBhIGNvbXBsZXRlIHN3YXAsIGV2 ZW4gdGhvdWdoIHJpZ2h0IG5vdyB0aGF0J3MKPiBub3QgbmVlZGVkLiIKPiAKPiA+IAo+ID4gKyAq Lwo+ID4gwqB2b2lkIGludGVsX3NoYXJlZF9kcGxsX3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQo+ID4gwqB7Cj4gPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ID4gQEAgLTE4MjIsNiArMTg3OCwxMiBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RwbGxfbWdyIGJ4dF9wbGxfbWdyID0gewo+ID4g wqAJLmdldF9kcGxsID0gYnh0X2dldF9kcGxsLAo+ID4gwqB9Owo+ID4gwqAKPiA+ICsvKioKPiA+ ICsgKiBpbnRlbF9zaGFyZWRfZHBsbF9pbml0IC0gSW5pdGlhbGl6ZSBzaGFyZWQgRFBMTHMKPiA+ ICsgKiBAZGV2OiBkcm0gZGV2aWNlCj4gPiArICoKPiA+ICsgKiBJbml0aWFsaXplIHNoYXJlZCBE UExMcyBmb3IgQGRldi4KPiA+ICsgKi8KPiA+IMKgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiDCoHsKPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiA+IEBAIC0xODY1LDYgKzE5MjcsMjEg QEAgdm9pZCBpbnRlbF9zaGFyZWRfZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g PiDCoAkJaW50ZWxfZGRpX3BsbF9pbml0KGRldik7Cj4gPiDCoH0KPiA+IMKgCj4gPiArLyoqCj4g PiArICogaW50ZWxfZ2V0X3NoYXJlZF9kcGxsIC0gZ2V0IGEgc2hhcmVkIERQTEwgZm9yIGNydGMg YW5kIGVuY29kZXIKPiA+IGNvbWJpbmF0aW9uCj4gPiArICogQGNydGM6IGNydGMKPiA+ICsgKiBA Y3J0Y19zdGF0ZTogYXRvbWljIHN0YXRlIGZvciBAY3J0Ywo+ID4gKyAqIEBlbmNvZGVyOiBlbmNv ZGVyCj4gPiArICoKPiA+ICsgKiBGaW5kIGFuIGFwcHJvcHJpYXRlIERQTEwgZm9yIHRoZSBnaXZl biBjcnRjIGFuZCBlbmNvZGVyIGNvbWJpbmF0aW9uLiBBCj4gPiArICogcmVmZXJlbmNlIGZyb20g dGhlIEBjcnRjIHRvIHRoZSByZXR1cm5lZCBwbGwgaXMgcmVnaXN0ZXJlZCBpbiB0aGUgYXRvbWlj Cj4gPiArICogc3RhdGUuIFRoYXQgY29uZmlndXJhdGlvbiBpcyBtYWRlIGVmZmVjdGl2ZSBieSBj YWxsaW5nCj4gPiArICogaW50ZWxfc2hhcmVkX2RwbGxfc3dhcF9zdGF0ZSgpLiBUaGUgcmVmZXJl bmNlIHNob3VsZCBiZSByZWxlYXNlZCBieQo+ID4gY2FsbGluZwo+ID4gKyAqIGludGVsX3JlbGVh c2Vfc2hhcmVkX2RwbGwoKS4KPiA+ICsgKgo+ID4gKyAqIFJldHVybnM6Cj4gPiArICogQSBzaGFy ZWQgRFBMTCB0byBiZSB1c2VkIGJ5IEBjcnRjIGFuZCBAZW5jb2RlciB3aXRoIHRoZSBnaXZlbgo+ ID4gQGNydGNfc3RhdGUuCj4gPiArICovCj4gPiDCoHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAq Cj4gPiDCoGludGVsX2dldF9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ IMKgCQnCoMKgwqDCoMKgwqBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ IEBAIC0xODg1LDYgKzE5NjIsOSBAQCBpbnRlbF9nZXRfc2hhcmVkX2RwbGwoc3RydWN0IGludGVs X2NydGMgKmNydGMsCj4gPiDCoCAqIEBjcnRjOiBjcnRjCj4gPiDCoCAqIEBzdGF0ZTogYXRvbWlj IHN0YXRlCj4gPiDCoCAqCj4gPiArICogVGhpcyBmdW5jdGlvbiByZWxlYXNlcyB0aGUgcmVmZXJl bmNlIGZyb20gQGNydGMgdG8gQGRwbGwgZnJvbSB0aGUKPiA+ICsgKiBhdG9taWMgQHN0YXRlLiBU aGUgbmV3IGNvbmZpZ3VyYXRpb24gaXMgbWFkZSBlZmZlY3RpdmUgYnkgY2FsbGluZwo+ID4gKyAq IGludGVsX3NoYXJlZF9kcGxsX3N3YXBfc3RhdGUoKS4KPiA+IMKgICovCj4gPiDCoHZvaWQgaW50 ZWxfcmVsZWFzZV9zaGFyZWRfZHBsbChzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKmRwbGwsCj4g PiDCoAkJCcKgwqDCoMKgwqDCoMKgc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oCj4gPiBpbmRleCA5YTdkYjY1Li40MGYxYTZm IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaAo+ID4gQEAgLTQw LDMyICs0MCw3MiBAQCBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKPiA+IMKgc3RydWN0IGludGVsX3No YXJlZF9kcGxsOwo+ID4gwqBzdHJ1Y3QgaW50ZWxfZHBsbF9tZ3I7Cj4gPiDCoAo+ID4gKy8qKgo+ ID4gKyAqIGVudW0gaW50ZWxfZHBsbF9pZCAtIHBvc3NpYmxlIERQTEwgaWRzCj4gPiArICoKPiA+ ICsgKiBFbnVtZXJhdGlvbiBvZiBwb3NzaWJsZSBJRHMgZm9yIGEgRFBMTC4gUmVhbCBzaGFyZWQg ZHBsbCBpZHMgbXVzdCBiZSA+PQo+ID4gMC4KPiA+ICsgKi8KPiA+IMKgZW51bSBpbnRlbF9kcGxs X2lkIHsKPiA+IC0JRFBMTF9JRF9QUklWQVRFID0gLTEsIC8qIG5vbi1zaGFyZWQgZHBsbCBpbiB1 c2UgKi8KPiA+IC0JLyogcmVhbCBzaGFyZWQgZHBsbCBpZHMgbXVzdCBiZSA+PSAwICovCj4gPiAr CS8qKgo+ID4gKwnCoCogQERQTExfSURfUFJJVkFURTogbm9uLXNoYXJlZCBkcGxsIGluIHVzZQo+ ID4gKwnCoCovCj4gPiArCURQTExfSURfUFJJVkFURSA9IC0xLAo+ID4gKwo+ID4gKwkvKioKPiA+ ICsJwqAqIEBEUExMX0lEX1BDSF9QTExfQTogRFBMTCBBIGluIElMSywgU05CIGFuZCBJVkIKPiA+ ICsJwqAqLwo+ID4gwqAJRFBMTF9JRF9QQ0hfUExMX0EgPSAwLAo+ID4gKwkvKioKPiA+ICsJwqAq IEBEUExMX0lEX1BDSF9QTExfQjogRFBMTCBCIGluIElMSywgU05CIGFuZCBJVkIKPiA+ICsJwqAq Lwo+ID4gwqAJRFBMTF9JRF9QQ0hfUExMX0IgPSAxLAo+ID4gLQkvKiBoc3cvYmR3ICovCj4gPiAr Cj4gPiArCj4gPiArCS8qKgo+ID4gKwnCoCogQERQTExfSURfV1JQTEwxOiBIU1cgYW5kIEJEVyBX UlBMTDEKPiA+ICsJwqAqLwo+ID4gwqAJRFBMTF9JRF9XUlBMTDEgPSAwLAo+ID4gKwkvKioKPiA+ ICsJwqAqIEBEUExMX0lEX1dSUExMMjogSFNXIGFuZCBCRFcgV1JQTEwyCj4gPiArCcKgKi8KPiA+ IMKgCURQTExfSURfV1JQTEwyID0gMSwKPiA+ICsJLyoqCj4gPiArCcKgKiBARFBMTF9JRF9TUExM OiBIU1cgYW5kIEJEVyBTUExMCj4gPiArCcKgKi8KPiA+IMKgCURQTExfSURfU1BMTCA9IDIsCj4g PiArCS8qKgo+ID4gKwnCoCogQERQTExfSURfTENQTExfODEwOiBIU1cgYW5kIEJEVyAwLjgxIEdI eiBMQ1BMTAo+ID4gKwnCoCovCj4gPiDCoAlEUExMX0lEX0xDUExMXzgxMCA9IDMsCj4gPiArCS8q Kgo+ID4gKwnCoCogQERQTExfSURfTENQTExfMTM1MDogSFNXIGFuZCBCRFcgMS4zNSBHSHogTENQ TEwKPiA+ICsJwqAqLwo+ID4gwqAJRFBMTF9JRF9MQ1BMTF8xMzUwID0gNCwKPiA+ICsJLyoqCj4g PiArCcKgKiBARFBMTF9JRF9MQ1BMTF8yNzAwOiBIU1cgYW5kIEJEVyAyLjcgR0h6IExDUExMCj4g PiArCcKgKi8KPiA+IMKgCURQTExfSURfTENQTExfMjcwMCA9IDUsCj4gPiDCoAo+ID4gLQkvKiBz a2wgKi8KPiA+ICsKPiA+ICsJLyoqCj4gPiArCcKgKiBARFBMTF9JRF9TS0xfRFBMTDA6IFNLTCBh bmQgbGF0ZXIgRFBMTDAKPiA+ICsJwqAqLwo+ID4gwqAJRFBMTF9JRF9TS0xfRFBMTDAgPSAwLAo+ ID4gKwkvKioKPiA+ICsJwqAqIEBEUExMX0lEX1NLTF9EUExMMTogU0tMIGFuZCBsYXRlciBEUExM MQo+ID4gKwnCoCovCj4gPiDCoAlEUExMX0lEX1NLTF9EUExMMSA9IDEsCj4gPiArCS8qKgo+ID4g KwnCoCogQERQTExfSURfU0tMX0RQTEwyOiBTS0wgYW5kIGxhdGVyIERQTEwyCj4gPiArCcKgKi8K PiA+IMKgCURQTExfSURfU0tMX0RQTEwyID0gMiwKPiA+ICsJLyoqCj4gPiArCcKgKiBARFBMTF9J RF9TS0xfRFBMTDM6IFNLTCBhbmQgbGF0ZXIgRFBMTDMKPiA+ICsJwqAqLwo+ID4gwqAJRFBMTF9J RF9TS0xfRFBMTDMgPSAzLAo+ID4gwqB9Owo+ID4gwqAjZGVmaW5lIEk5MTVfTlVNX1BMTFMgNgo+ ID4gwqAKPiA+IC0vKiogSW5mb3JtIHRoZSBzdGF0ZSBjaGVja2VyIHRoYXQgdGhlIERQTEwgaXMg a2VwdCBlbmFibGVkIGV2ZW4gaWYgbm90Cj4gPiAtICogaW4gdXNlIGJ5IGFueSBjcnRjLgo+ID4g LSAqLwo+ID4gLSNkZWZpbmUgSU5URUxfRFBMTF9BTFdBWVNfT04JKDEgPDwgMCkKPiA+IC0KPiA+ IMKgc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgewo+ID4gwqAJLyogaTl4eCwgcGNoIHBsbHMg Ki8KPiA+IMKgCXVpbnQzMl90IGRwbGw7Cj4gPiBAQCAtOTMsMzkgKzEzMywxMjQgQEAgc3RydWN0 IGludGVsX2RwbGxfaHdfc3RhdGUgewo+ID4gwqAJCcKgcGNzZHcxMjsKPiA+IMKgfTsKPiA+IMKg Cj4gPiArLyoqCj4gPiArICogc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX3N0YXRlIC0gaG9sZCB0 aGUgRFBMTCBhdG9taWMgc3RhdGUKPiA+ICsgKgo+ID4gKyAqIFRoaXMgc3RydWN0dXJlIGhvbGRz IGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhlIERQTEwsIHRoYXQgY2FuIHJlcHJlc2VudAo+ID4gKyAq IGVpdGhlciBpdHMgY3VycmVudCBzdGF0ZSBvciBhIGRlc2lyZWQgZnVydHVyZSBzdGF0ZSB3aGlj aCB3b3VsZCBiZQo+ID4gKyAqIGFwcGxpZWQgYnkgYW4gYXRvbWljIG1vZGUgc2V0Lgo+IEkgdGhp bmsgaXQnZCBiZSBnb29kIHRvIHJlZmVyZW5jZSB3aGVyZSB3ZSBzdG9yZSBwb2ludGVycyB0byB0 aGF0LCBpLmUuCj4gd2hlcmUgaW4gaW50ZWxfYXRvbWljX3N0YXRlIGFuZCBpbnRlbF9zaGFyZWRf ZHBsbCBpdCBzaXRzLiBCZXN0IGlmIHlvdSBkbyB0aGF0Cj4gdXNpbmcgdGhlIHN0cnVjdCAmaW50 ZWxfYXRvbWljX3N0YXRlIHJlZmVyZW5jZSBzdHlsZSAoc28gdGhhdCBpdCBiZWNvbWVzIGEKPiBo eXBlcmxpbmsgb25jZSB0aGF0J3MgZG9jdW1lbnRlZCkuCj4gCj4gQWxzbyBsaW5rcyB0byB0aGUg bWFpbiBmdW5jdGlvbnMgdXNlZCB0byBtYW5hZ2UgdGhpcyB3b3VsZCBiZSBnb29kIEkKPiB0aGlu aywgaS5lLiByZWxlYXNlIGFuZCBnZXQuCj4gCj4gPiAKPiA+ICsgKi8KPiA+IMKgc3RydWN0IGlu dGVsX3NoYXJlZF9kcGxsX3N0YXRlIHsKPiA+IC0JdW5zaWduZWQgY3J0Y19tYXNrOyAvKiBtYXNr IG9mIENSVENzIHNoYXJpbmcgdGhpcyBQTEwgKi8KPiA+ICsJLyoqCj4gPiArCcKgKiBAY3J0Y19t YXNrOiBtYXNrIG9mIGNydGMgdXNpbmcgdGhpcyBEUExMLCBhY3RpdmUgb3Igbm90Cj4gcy9jcnRj L0NSVENzLwo+IAo+ID4gCj4gPiArCcKgKi8KPiA+ICsJdW5zaWduZWQgY3J0Y19tYXNrOwo+ID4g Kwo+ID4gKwkvKioKPiA+ICsJwqAqIEBod19zdGF0ZTogaGFyZHdhcmUgY29uZmlndXJhdGlvbiBm b3IgdGhlIERQTEwuCj4gIi4uLiBzdG9yZWQgaW4gc3RydWN0ICZpbnRlbF9kcGxsX2h3X3N0YXRl LiIgLSBJIGxvdmUgbXkgaHlwZXJsaW5rcyA7LSkKCkknbGwgYWRkIHRoYXQsIGJ1dCBJIHRoaW5r IGl0J3Mgc2lsbHkuIFRoZSB0eXBlIG9mIHRoZSBmaWVsZCBpcyBzdHJ1Y3QKaW50ZWxfZHBsbF9o d19zdGF0ZSwgc28gSSB0aGluayBpdCB3b3VsZCBiZSBtb3JlIG5hdHVyYWwgaWYgdGhlIGRvY3Vt ZW50YXRpb24KdG9vbCB3b3VsZCBhZGQgdGhhdCBsaW5rIGF1dG9tYXRpY2FsbHkuCgoKPiA+IAo+ ID4gKwnCoCovCj4gPiDCoAlzdHJ1Y3QgaW50ZWxfZHBsbF9od19zdGF0ZSBod19zdGF0ZTsKPiA+ IMKgfTsKPiA+IMKgCj4gPiArLyoqCj4gPiArICogc3RydWN0IGludGVsX3NoYXJlZF9kcGxsX2Z1 bmNzIC0gcGxhdGZvcm0gc3BlY2lmaWMgaG9va3MgZm9yIG1hbmFnaW5nCj4gPiBEUExMcwo+ID4g KyAqLwo+ID4gwqBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfZnVuY3Mgewo+ID4gLQkvKiBUaGUg bW9kZV9zZXQgaG9vayBpcyBvcHRpb25hbCBhbmQgc2hvdWxkIGJlIHVzZWQgdG9nZXRoZXIgd2l0 aAo+ID4gdGhlCj4gPiAtCcKgKiBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxsIGZ1bmN0aW9uLiAq Lwo+ID4gKwkvKioKPiA+ICsJwqAqIEBwcmVwYXJlOgo+ID4gKwnCoCoKPiA+ICsJwqAqIE9wdGlv bmFsIGhvb2sgdG8gcGVyZm9ybSBvcGVyYXRpb25zIHByaW9yIHRvIGVuYWJsaW5nIHRoZSBQTEwu Cj4gPiArCcKgKiBDYWxsZWQgZnJvbSBpbnRlbF9wcmVwYXJlX3NoYXJlZF9kcGxsKCkgZnVuY3Rp b24uCj4gTWlzc2luZyB0aGUgbGFuZ3VhZ2UgYWJvdXQgImlmIHRoZSBwbGwgaXMgbm90IGFscmVh ZHkgZW5hYmxlZC4iCj4gCj4gPiAKPiA+ICsJwqAqLwo+ID4gwqAJdm9pZCAoKnByZXBhcmUpKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+IMKgCQkJwqBzdHJ1Y3QgaW50ZWxf c2hhcmVkX2RwbGwgKnBsbCk7Cj4gPiArCj4gPiArCS8qKgo+ID4gKwnCoCogQGVuYWJsZToKPiA+ ICsJwqAqCj4gPiArCcKgKiBIb29rIGZvciBlbmFibGluZyB0aGUgcGxsLCBjYWxsZWQgZnJvbQo+ ID4gaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKCkKPiA+ICsJwqAqIGlmIHRoZSBwbGwgaXMgbm90 IGFscmVhZHkgZW5hYmxlZC4KPiA+ICsJwqAqLwo+ID4gwqAJdm9pZCAoKmVuYWJsZSkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gwqAJCcKgwqDCoMKgwqDCoMKgc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsICpwbGwpOwo+ID4gKwo+ID4gKwkvKioKPiA+ICsJwqAqIEBkaXNh YmxlOgo+ID4gKwnCoCoKPiA+ICsJwqAqIEhvb2sgZm9yIGRpc2FibGluZyB0aGUgcGxsLCBjYWxs ZWQgZnJvbQo+ID4gaW50ZWxfZGlzYWJsZV9zaGFyZWRfZHBsbCgpCj4gPiArCcKgKiBvbmx5IHdo ZW4gaXQgaXMgc2FmZSB0byBkaXNhYmxlIHRoZSBwbGwsIGkuZS4sIHRoZXJlIGFyZSBubyBtb3Jl Cj4gPiArCcKgKiB0cmFja2VkIHVzZXJzIGZvciBpdC4KPiA+ICsJwqAqLwo+ID4gwqAJdm9pZCAo KmRpc2FibGUpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+IMKgCQkJc3Ry dWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwpOwo+ID4gKwo+ID4gKwkvKioKPiA+ICsJwqAqIEBn ZXRfaHdfc3RhdGU6Cj4gPiArCcKgKgo+ID4gKwnCoCogSG9vayBmb3IgcmVhZGluZyB0aGUgdmFs dWVzIGN1cnJlbnRseSBwcm9ncmFtbWVkIHRvIHRoZSBEUExMCj4gPiArCcKgKiByZWdpc3RlcnMu IFRoaXMgaXMgdXNlZCBmb3IgaW5pdGlhbCBodyBzdGF0ZSByZWFkb3V0IGFuZCBzdGF0ZQo+ID4g KwnCoCogdmVyaWZpY2F0aW9uIGFmdGVyIGEgbW9kZSBzZXQuCj4gPiArCcKgKi8KPiA+IMKgCWJv b2wgKCpnZXRfaHdfc3RhdGUpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ IMKgCQkJwqDCoMKgwqDCoHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsLAo+ID4gwqAJCQnC oMKgwqDCoMKgc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgKmh3X3N0YXRlKTsKPiA+IMKgfTsK PiA+IMKgCj4gPiArLyoqCj4gPiArICogc3RydWN0IGludGVsX3NoYXJlZF9kcGxsIC0gZGlzcGxh eSBQTEwgd2l0aCB0cmFja2VkIHN0YXRlIGFuZCB1c2Vycwo+ID4gKyAqLwo+ID4gwqBzdHJ1Y3Qg aW50ZWxfc2hhcmVkX2RwbGwgewo+ID4gKwkvKioKPiA+ICsJwqAqIEBzdGF0ZToKPiA+ICsJwqAq Cj4gPiArCcKgKiBTdG9yZSB0aGUgc3RhdGUgZm9yIHRoZSBwbGwsIGluY2x1ZGluZyB0aGUgaXRz IGh3IHN0YXRlCj4gPiArCcKgKiBhbmQgY3J0Y3MgdXNpbmcgaXQuCj4gPiArCcKgKi8KPiA+IMKg CXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbF9zdGF0ZSBzdGF0ZTsKPiA+IMKgCj4gPiAtCXVuc2ln bmVkIGFjdGl2ZV9tYXNrOyAvKiBtYXNrIG9mIGFjdGl2ZSBDUlRDcyAoaS5lLiBEUE1TIG9uKSAq Lwo+ID4gLQlib29sIG9uOyAvKiBpcyB0aGUgUExMIGFjdHVhbGx5IGFjdGl2ZT8gRGlzYWJsZWQg ZHVyaW5nIG1vZGVzZXQgKi8KPiA+ICsJLyoqCj4gPiArCcKgKiBAYWN0aXZlX21hc2s6IG1hc2sg b2YgYWN0aXZlIENSVENzIChpLmUuIERQTVMgb24pIHVzaW5nIHRoaXMKPiA+IERQTEwKPiA+ICsJ wqAqLwo+ID4gKwl1bnNpZ25lZCBhY3RpdmVfbWFzazsKPiA+ICsKPiA+ICsJLyoqCj4gPiArCcKg KiBAb246IGlzIHRoZSBQTEwgYWN0dWFsbHkgYWN0aXZlPyBEaXNhYmxlZCBkdXJpbmcgbW9kZXNl dAo+ID4gKwnCoCovCj4gPiArCWJvb2wgb247Cj4gPiArCj4gPiArCS8qKgo+ID4gKwnCoCogQG5h bWU6IERQTEwgbmFtZTsgdXNlZCBmb3IgbG9nZ2luZwo+ID4gKwnCoCovCj4gPiDCoAljb25zdCBj aGFyICpuYW1lOwo+ID4gLQkvKiBzaG91bGQgbWF0Y2ggdGhlIGluZGV4IGluIHRoZSBkZXZfcHJp di0+c2hhcmVkX2RwbGxzIGFycmF5ICovCj4gPiArCj4gPiArCS8qKgo+ID4gKwnCoCogQGlkOiB1 bmlxdWUgaW5kZW50aWZpZXIgZm9yIHRoaXMgRFBMTDsgc2hvdWxkIG1hdGNoIHRoZSBpbmRleCBp bgo+ID4gdGhlCj4gPiArCcKgKiBkZXZfcHJpdi0+c2hhcmVkX2RwbGxzIGFycmF5Cj4gPiArCcKg Ki8KPiA+IMKgCWVudW0gaW50ZWxfZHBsbF9pZCBpZDsKPiA+IMKgCj4gPiArCS8qKgo+ID4gKwnC oCogQGZ1bmNzOiBwbGF0Zm9ybSBzcGVjaWZpYyBob29rcwo+ID4gKwnCoCovCj4gPiDCoAlzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGxfZnVuY3MgZnVuY3M7Cj4gPiDCoAo+ID4gKwkvKioKPiA+ICsJ wqAqIEBmbGFnczoKPiA+ICsJwqAqCj4gPiArCcKgKiBhY2NlcHRlZCBmbGFnczogSU5URUxfRFBM TF9BTFdBWVNfT04KPiBIbSwgSSd2ZSBzdGFydGVkIHRvIGp1c3QgZG9jdW1lbnQgZmxhZ3MgaW4t bGluZSBhcyBhbiBlbnVtZXJhdGlvbiwgdG8ga2VlcAo+IHRoaW5ncyB0aWdodGx5IGdyb3VwZWQu IEFuZCB0aGVuIGFsc28gcGxhY2UgdGhlICNkZWZpbmUgcmlnaHQgaW4gZnJvbnQgb2YKPiB0aGUg a2VybmVsLWRvYyBmb3IgQGZsYWdzLiBTZWUgZS5nLiBAZmxhZ3MgaW4gZHJtX3Byb3BlcnR5Lmgg Zm9yIGEgcmVhbGx5Cj4gbG9uZyBleGFtcGxlIG9mIHRoYXQgKGJ1dCB0aGVyZSB0aGUgZmxhZ3Mg YXJlIGluIGFuIHVhYmkgaGVhZGVyLCBzbyBhIGJpdAo+IHNwZWNpYWwpLgoKTGlrZSB0aGlzPwoK c3RydWN0IGludGVsX3NoYXJlZF9kcGxsIHsKCi4uLgoKI2RlZmluZSBJTlRFTF9EUExMX0FMV0FZ U19PTsKgwqDCoMKgKDEgPDwgMCkKwqDCoMKgwqDCoMKgwqDCoC8qKgrCoMKgwqDCoMKgwqDCoMKg wqAqIEBmbGFnczoKwqDCoMKgwqDCoMKgwqDCoMKgKgrCoMKgwqDCoMKgwqDCoMKgwqAqIElOVEVM X0RQTExfQUxXQVlTX09OCsKgwqDCoMKgwqDCoMKgwqDCoCrCoMKgwqDCoMKgSW5mb3JtIHRoZSBz dGF0ZSBjaGVja2VyIHRoYXQgdGhlIERQTEwgaXMga2VwdCBlbmFibGVkIGV2ZW4gaWYKwqDCoMKg wqDCoMKgwqDCoMKgKsKgwqDCoMKgwqBub3QgaW4gdXNlIGJ5IGFueSBDUlRDLgrCoMKgwqDCoMKg wqDCoMKgwqAqLwrCoMKgwqDCoMKgwqDCoMKgdWludDMyX3QgZmxhZ3M7Cn07CgoKQW5kZXIKCj4g Cj4gV2l0aCB0aGUgbml0cGlja3MgYWRkcmVzc2VkIHNvbWVob3c6Cj4gCj4gUmV2aWV3ZWQtYnk6 IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gCj4gPiAKPiA+ICsJwqAq Lwo+ID4gwqAJdWludDMyX3QgZmxhZ3M7Cj4gPiDCoH07Cj4gPiDCoAo+ID4gKy8qKgo+ID4gKyAq IElOVEVMX0RQTExfQUxXQVlTX09OCj4gPiArICoKPiA+ICsgKiBJbmZvcm0gdGhlIHN0YXRlIGNo ZWNrZXIgdGhhdCB0aGUgRFBMTCBpcyBrZXB0IGVuYWJsZWQgZXZlbiBpZiBub3QKPiA+ICsgKiBp biB1c2UgYnkgYW55IGNydGMuCj4gPiArICovCj4gPiArI2RlZmluZSBJTlRFTF9EUExMX0FMV0FZ U19PTgkoMSA8PCAwKQo+ID4gKwo+ID4gKwo+ID4gwqAjZGVmaW5lIFNLTF9EUExMMCAwCj4gPiDC oCNkZWZpbmUgU0tMX0RQTEwxIDEKPiA+IMKgI2RlZmluZSBTS0xfRFBMTDIgMgo+ID4gLS3CoAo+ ID4gMi41LjUKPiA+IAo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=