From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Engestrom Subject: Re: [PATCH 03/15] drm/kms-core: Use recommened kerneldoc for struct member refs Date: Wed, 25 Jan 2017 13:52:41 +0000 Message-ID: <20170125135241.vulkjzreyfikyd22@imgtec.com> References: <20170125062657.19270-1-daniel.vetter@ffwll.ch> <20170125062657.19270-4-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170125062657.19270-4-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gV2VkbmVzZGF5LCAyMDE3LTAxLTI1IDA3OjI2OjQ1ICswMTAwLCBEYW5pZWwgVmV0dGVyIHdy b3RlOgo+IEkganVzdCBsZWFybmVkIHRoYXQgJnN0cnVjdF9uYW1lLm1lbWJlcl9uYW1lIHdvcmtz IGFuZCBsb29rcyBwcmV0dHkKPiBldmVuLiBJdCBkb2Vzbid0ICh5ZXQpIGxpbmsgdG8gdGhlIG1l bWJlciBkaXJlY3RseSB0aG91Z2gsIHdoaWNoIHdvdWxkCj4gYmUgcmVhbGx5IGdvb2QgZm9yIGJp ZyBzdHJ1Y3R1cmVzIG9yIHZmdW5jIHRhYmxlcyAod2hlcmUgdGhlCj4gcGVyLW1lbWJlciBrZXJu ZWxkb2MgdGVuZHMgdG8gYmUgbG9uZykuCj4gCj4gQWxzbyBzb21lIG1pbm9yIGRyaXZlLWJ5IHBv bGlzaCB3aGVyZSBpdCBtYWtlcyBzZW5zZSwgSSByZWFkIGEgbG90Cj4gb2YgZG9jcyAuLi4KPiAK PiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gU2lnbmVkLW9mZi1ieTogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMgICAgICAgIHwgNzEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2JsZW5kLmMgICAgICAgICB8IDExICsr Ky0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jICAgICB8IDEyICsrKy0tLS0K PiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgICAgICAgICAgfCAgNyArKy0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fZHVtYl9idWZmZXJzLmMgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZW5jb2Rlci5jICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9lbmNv ZGVyX3NsYXZlLmMgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMg ICB8IDEwICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jICB8IDEw ICsrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgICAgICAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvcGVydHkuYyAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9k cm0vZHJtX2F0b21pYy5oICAgICAgICAgICAgfCAgNiArKy0tCj4gIGluY2x1ZGUvZHJtL2RybV9j b2xvcl9tZ210LmggICAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rvci5o ICAgICAgICAgfCA0MCArKysrKysrKysrLS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2Ny dGMuaCAgICAgICAgICAgICAgfCAyOSArKysrKysrLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJt X2ZyYW1lYnVmZmVyLmggICAgICAgfCAxNSArKysrLS0tLQo+ICBpbmNsdWRlL2RybS9kcm1fbW9k ZV9jb25maWcuaCAgICAgICB8IDEyICsrKy0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVfb2Jq ZWN0LmggICAgICAgfCAxMyArKysrLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2su aCAgICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggICAgICAgICAgICAgfCAx OCArKysrKy0tLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9wcm9wZXJ0eS5oICAgICAgICAgIHwgIDgg KystLS0KPiAgMjEgZmlsZXMgY2hhbmdlZCwgMTQxIGluc2VydGlvbnMoKyksIDEzNyBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCA3MjMzOTJmYzk4YzguLjk2YzgxYTYx YTU0MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IEBAIC0xOTUsOCArMTk1LDggQEAgRVhQT1JU X1NZTUJPTChkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfY2xlYXIpOwo+ICAgKiBhbGwgbG9ja3Mu IFNvIHNvbWVvbmUgZWxzZSBjb3VsZCBzbmVhayBpbiBhbmQgY2hhbmdlIHRoZSBjdXJyZW50IG1v ZGVzZXQKPiAgICogY29uZmlndXJhdGlvbi4gV2hpY2ggbWVhbnMgdGhhdCBhbGwgdGhlIHN0YXRl IGFzc2VtYmxlZCBpbiBAc3RhdGUgaXMgbm8KPiAgICogbG9uZ2VyIGFuIGF0b21pYyB1cGRhdGUg dG8gdGhlIGN1cnJlbnQgc3RhdGUsIGJ1dCB0byBzb21lIGFyYml0cmFyeSBlYXJsaWVyCj4gLSAq IHN0YXRlLiBXaGljaCBjb3VsZCBicmVhayBhc3N1bXB0aW9ucyB0aGUgZHJpdmVyJ3MgLT5hdG9t aWNfY2hlY2sgbGlrZWx5Cj4gLSAqIHJlbGllcyBvbi4KPiArICogc3RhdGUuIFdoaWNoIGNvdWxk IGJyZWFrIGFzc3VtcHRpb25zIHRoZSBkcml2ZXIncwo+ICsgKiAmZHJtX21vZGVfY29uZmlnX2Z1 bmNzLmF0b21pY19jaGVjayBsaWtlbHkgcmVsaWVzIG9uLgo+ICAgKgo+ICAgKiBIZW5jZSB3ZSBt dXN0IGNsZWFyIGFsbCBjYWNoZWQgc3RhdGUgYW5kIGNvbXBsZXRlbHkgc3RhcnQgb3ZlciwgdXNp bmcgdGhpcwo+ICAgKiBmdW5jdGlvbi4KPiBAQCAtNDU2LDExICs0NTYsMTAgQEAgZHJtX2F0b21p Y19yZXBsYWNlX3Byb3BlcnR5X2Jsb2JfZnJvbV9pZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g ICAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIHNldAo+ICAgKiBAdmFsOiB0aGUgbmV3IHBy b3BlcnR5IHZhbHVlCj4gICAqCj4gLSAqIFVzZSB0aGlzIGluc3RlYWQgb2YgY2FsbGluZyBjcnRj LT5hdG9taWNfc2V0X3Byb3BlcnR5IGRpcmVjdGx5Lgo+IC0gKiBUaGlzIGZ1bmN0aW9uIGhhbmRs ZXMgZ2VuZXJpYy9jb3JlIHByb3BlcnRpZXMgYW5kIGNhbGxzIG91dCB0bwo+IC0gKiBkcml2ZXIn cyAtPmF0b21pY19zZXRfcHJvcGVydHkoKSBmb3IgZHJpdmVyIHByb3BlcnRpZXMuICBUbyBlbnN1 cmUKPiAtICogY29uc2lzdGVudCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24g cmF0aGVyIHRoYW4gdGhlCj4gLSAqIGRyaXZlciBob29rIGRpcmVjdGx5Lgo+ICsgKiBUaGlzIGZ1 bmN0aW9uIGhhbmRsZXMgZ2VuZXJpYy9jb3JlIHByb3BlcnRpZXMgYW5kIGNhbGxzIG91dCB0byBk cml2ZXIncwo+ICsgKiAmZHJtX2NydGNfZnVuY3MuYXRvbWljX3NldF9wcm9wZXJ0eSBmb3IgZHJp dmVyIHByb3BlcnRpZXMuIFRvIGVuc3VyZQo+ICsgKiBjb25zaXN0ZW50IGJlaGF2aW9yIHlvdSBt dXN0IGNhbGwgdGhpcyBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgZHJpdmVyIGhvb2sKPiArICog ZGlyZWN0bHkuCj4gICAqCj4gICAqIFJFVFVSTlM6Cj4gICAqIFplcm8gb24gc3VjY2VzcywgZXJy b3IgY29kZSBvbiBmYWlsdXJlCj4gQEAgLTUzMiwxMCArNTMxLDEwIEBAIEVYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eSk7Cj4gICAqIEBwcm9wZXJ0eTogdGhlIHByb3Bl cnR5IHRvIHNldAo+ICAgKiBAdmFsOiByZXR1cm4gbG9jYXRpb24gZm9yIHRoZSBwcm9wZXJ0eSB2 YWx1ZQo+ICAgKgo+IC0gKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgZ2VuZXJpYy9jb3JlIHByb3Bl cnRpZXMgYW5kIGNhbGxzIG91dCB0bwo+IC0gKiBkcml2ZXIncyAtPmF0b21pY19nZXRfcHJvcGVy dHkoKSBmb3IgZHJpdmVyIHByb3BlcnRpZXMuICBUbyBlbnN1cmUKPiAtICogY29uc2lzdGVudCBi ZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlCj4gLSAq IGRyaXZlciBob29rIGRpcmVjdGx5Lgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgZ2VuZXJp Yy9jb3JlIHByb3BlcnRpZXMgYW5kIGNhbGxzIG91dCB0byBkcml2ZXIncwo+ICsgKiAmZHJtX2Ny dGNfZnVuY3MuYXRvbWljX2dldF9wcm9wZXJ0eSBmb3IgZHJpdmVyIHByb3BlcnRpZXMuIFRvIGVu c3VyZQo+ICsgKiBjb25zaXN0ZW50IGJlaGF2aW9yIHlvdSBtdXN0IGNhbGwgdGhpcyBmdW5jdGlv biByYXRoZXIgdGhhbiB0aGUgZHJpdmVyIGhvb2sKPiArICogZGlyZWN0bHkuCj4gICAqCj4gICAq IFJFVFVSTlM6Cj4gICAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4g QEAgLTcxNiwxMSArNzE1LDEwIEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19nZXRfcGxhbmVf c3RhdGUpOwo+ICAgKiBAcHJvcGVydHk6IHRoZSBwcm9wZXJ0eSB0byBzZXQKPiAgICogQHZhbDog dGhlIG5ldyBwcm9wZXJ0eSB2YWx1ZQo+ICAgKgo+IC0gKiBVc2UgdGhpcyBpbnN0ZWFkIG9mIGNh bGxpbmcgcGxhbmUtPmF0b21pY19zZXRfcHJvcGVydHkgZGlyZWN0bHkuCj4gLSAqIFRoaXMgZnVu Y3Rpb24gaGFuZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvCj4g LSAqIGRyaXZlcidzIC0+YXRvbWljX3NldF9wcm9wZXJ0eSgpIGZvciBkcml2ZXIgcHJvcGVydGll cy4gIFRvIGVuc3VyZQo+IC0gKiBjb25zaXN0ZW50IGJlaGF2aW9yIHlvdSBtdXN0IGNhbGwgdGhp cyBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUKPiAtICogZHJpdmVyIGhvb2sgZGlyZWN0bHkuCj4g KyAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2Fs bHMgb3V0IHRvIGRyaXZlcidzCj4gKyAqICZkcm1fcGxhbmVfZnVuY3MuYXRvbWljX3NldF9wcm9w ZXJ0eSBmb3IgZHJpdmVyIHByb3BlcnRpZXMuICBUbyBlbnN1cmUKPiArICogY29uc2lzdGVudCBi ZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRyaXZl ciBob29rCj4gKyAqIGRpcmVjdGx5Lgo+ICAgKgo+ICAgKiBSRVRVUk5TOgo+ICAgKiBaZXJvIG9u IHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZQo+IEBAIC03OTEsMTAgKzc4OSwxMCBAQCBF WFBPUlRfU1lNQk9MKGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KTsKPiAgICogQHByb3Bl cnR5OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gICAqIEB2YWw6IHJldHVybiBsb2NhdGlvbiBmb3Ig dGhlIHByb3BlcnR5IHZhbHVlCj4gICAqCj4gLSAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBnZW5l cmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvCj4gLSAqIGRyaXZlcidzIC0+YXRv bWljX2dldF9wcm9wZXJ0eSgpIGZvciBkcml2ZXIgcHJvcGVydGllcy4gIFRvIGVuc3VyZQo+IC0g KiBjb25zaXN0ZW50IGJlaGF2aW9yIHlvdSBtdXN0IGNhbGwgdGhpcyBmdW5jdGlvbiByYXRoZXIg dGhhbiB0aGUKPiAtICogZHJpdmVyIGhvb2sgZGlyZWN0bHkuCj4gKyAqIFRoaXMgZnVuY3Rpb24g aGFuZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvIGRyaXZlcidz Cj4gKyAqICZkcm1fcGxhbmVfZnVuY3MuYXRvbWljX2dldF9wcm9wZXJ0eSBmb3IgZHJpdmVyIHBy b3BlcnRpZXMuICBUbyBlbnN1cmUKPiArICogY29uc2lzdGVudCBiZWhhdmlvciB5b3UgbXVzdCBj YWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRyaXZlciBob29rCj4gKyAqIGRpcmVj dGx5Lgo+ICAgKgo+ICAgKiBSRVRVUk5TOgo+ICAgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNv ZGUgb24gZmFpbHVyZQo+IEBAIC0xMDU3LDExICsxMDU1LDEwIEBAIEVYUE9SVF9TWU1CT0woZHJt X2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKTsKPiAgICogQHByb3BlcnR5OiB0aGUgcHJvcGVy dHkgdG8gc2V0Cj4gICAqIEB2YWw6IHRoZSBuZXcgcHJvcGVydHkgdmFsdWUKPiAgICoKPiAtICog VXNlIHRoaXMgaW5zdGVhZCBvZiBjYWxsaW5nIGNvbm5lY3Rvci0+YXRvbWljX3NldF9wcm9wZXJ0 eSBkaXJlY3RseS4KPiAtICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIGdlbmVyaWMvY29yZSBwcm9w ZXJ0aWVzIGFuZCBjYWxscyBvdXQgdG8KPiAtICogZHJpdmVyJ3MgLT5hdG9taWNfc2V0X3Byb3Bl cnR5KCkgZm9yIGRyaXZlciBwcm9wZXJ0aWVzLiAgVG8gZW5zdXJlCj4gLSAqIGNvbnNpc3RlbnQg YmVoYXZpb3IgeW91IG11c3QgY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZQo+IC0g KiBkcml2ZXIgaG9vayBkaXJlY3RseS4KPiArICogVGhpcyBmdW5jdGlvbiBoYW5kbGVzIGdlbmVy aWMvY29yZSBwcm9wZXJ0aWVzIGFuZCBjYWxscyBvdXQgdG8gZHJpdmVyJ3MKPiArICogJmRybV9j b25uZWN0b3JfZnVuY3MuYXRvbWljX3NldF9wcm9wZXJ0eSBmb3IgZHJpdmVyIHByb3BlcnRpZXMu ICBUbyBlbnN1cmUKPiArICogY29uc2lzdGVudCBiZWhhdmlvciB5b3UgbXVzdCBjYWxsIHRoaXMg ZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGRyaXZlciBob29rCj4gKyAqIGRpcmVjdGx5Lgo+ICAg Kgo+ICAgKiBSRVRVUk5TOgo+ICAgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFp bHVyZQo+IEBAIC0xMTM2LDEwICsxMTMzLDEwIEBAIHN0YXRpYyB2b2lkIGRybV9hdG9taWNfY29u bmVjdG9yX3ByaW50X3N0YXRlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiAgICogQHByb3BlcnR5 OiB0aGUgcHJvcGVydHkgdG8gc2V0Cj4gICAqIEB2YWw6IHJldHVybiBsb2NhdGlvbiBmb3IgdGhl IHByb3BlcnR5IHZhbHVlCj4gICAqCj4gLSAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBnZW5lcmlj L2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvCj4gLSAqIGRyaXZlcidzIC0+YXRvbWlj X2dldF9wcm9wZXJ0eSgpIGZvciBkcml2ZXIgcHJvcGVydGllcy4gIFRvIGVuc3VyZQo+IC0gKiBj b25zaXN0ZW50IGJlaGF2aW9yIHlvdSBtdXN0IGNhbGwgdGhpcyBmdW5jdGlvbiByYXRoZXIgdGhh biB0aGUKPiAtICogZHJpdmVyIGhvb2sgZGlyZWN0bHkuCj4gKyAqIFRoaXMgZnVuY3Rpb24gaGFu ZGxlcyBnZW5lcmljL2NvcmUgcHJvcGVydGllcyBhbmQgY2FsbHMgb3V0IHRvIGRyaXZlcidzCj4g KyAqICZkcm1fY29ubmVjdG9yX2Z1bmNzLmF0b21pY19nZXRfcHJvcGVydHkgZm9yIGRyaXZlciBw cm9wZXJ0aWVzLiAgVG8gZW5zdXJlCj4gKyAqIGNvbnNpc3RlbnQgYmVoYXZpb3IgeW91IG11c3Qg Y2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBkcml2ZXIgaG9vawo+ICsgKiBkaXJl Y3RseS4KPiAgICoKPiAgICogUkVUVVJOUzoKPiAgICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBj b2RlIG9uIGZhaWx1cmUKPiBAQCAtMTMxNiw4ICsxMzEzLDggQEAgRVhQT1JUX1NZTUJPTChkcm1f YXRvbWljX3NldF9mYl9mb3JfcGxhbmUpOwo+ICAgKiBhbGwgZHJvcGUgdGhlIHJlZmVyZW5jZSB0 byB0aGUgZmVuY2UgYXMgd2Ugbm90IHN0b3JpbmcgaXQKClRoZSBzZW50ZW5jZSBhYm92ZSBjb3Vs ZCBiZSByZXdyaXR0ZW4gYXM6CgkiSXQgd2lsbCBkcm9wIGFsbCByZWZlcmVuY2UgdG8gdGhlIGZl bmNlIGFzIHdlIGFyZSBub3Qgc3RvcmluZyBpdAoJYW55d2hlcmUuIgoKPiAgICogYW55d2hlcmUu Cj4gICAqCj4gLSAqIE90aGVyd2lzZSwgaWYgcGxhbmVfc3RhdGUtPmZlbmNlIGlzIG5vdCBzZXQg dGhpcyBmdW5jdGlvbiB3ZQo+IC0gKiBqdXN0IHNldCBpdCB3aXRoIHRoZSByZWNlaXZlZCBpbXBs aWN0IGZlbmNlLgo+ICsgKiBPdGhlcndpc2UsIGlmICZkcm1fcGxhbmVfc3RhdGUuZmVuY2UgaXMg bm90IHNldCB0aGlzIGZ1bmN0aW9uIHdlIGp1c3Qgc2V0IGl0Cj4gKyAqIHdpdGggdGhlIHJlY2Vp dmVkIGltcGxpY3QgZmVuY2UuCgoiaW1wbGljaXQiCgo+ICAgKi8KPiAgdm9pZAo+ICBkcm1fYXRv bWljX3NldF9mZW5jZV9mb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVfc3Rh dGUsCj4gQEAgLTE2MTYsNyArMTYxMyw3IEBAIGludCBkcm1fYXRvbWljX2NvbW1pdChzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jb21t aXQpOwo+ICAKPiAgLyoqCj4gLSAqIGRybV9hdG9taWNfbm9uYmxvY2tpbmdfY29tbWl0IC0gYXRv bWljJm5vbmJsb2NraW5nIGNvbmZpZ3VyYXRpb24gY29tbWl0Cj4gKyAqIGRybV9hdG9taWNfbm9u YmxvY2tpbmdfY29tbWl0IC0gYXRvbWljIG5vbmJsb2NraW5nIGNvbW1pdAo+ICAgKiBAc3RhdGU6 IGF0b21pYyBjb25maWd1cmF0aW9uIHRvIGNoZWNrCj4gICAqCj4gICAqIE5vdGUgdGhhdCB0aGlz IGZ1bmN0aW9uIGNhbiByZXR1cm4gLUVERUFETEsgaWYgdGhlIGRyaXZlciBuZWVkZWQgdG8gYWNx dWlyZQo+IEBAIC0xODI5LDEwICsxODI2LDEwIEBAIHN0YXRpYyBpbnQgYXRvbWljX3NldF9wcm9w KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgICogQHBsYW5lX21hc2s6IHBsYW5l IG1hc2sgZm9yIHBsYW5lcyB0aGF0IHdlcmUgdXBkYXRlZC4KPiAgICogQHJldDogcmV0dXJuIHZh bHVlLCBjYW4gYmUgLUVERUFETEsgZm9yIGEgcmV0cnkuCj4gICAqCj4gLSAqIEJlZm9yZSBkb2lu ZyBhbiB1cGRhdGUgcGxhbmUtPm9sZF9mYiBpcyBzZXQgdG8gcGxhbmUtPmZiLAo+IC0gKiBidXQg YmVmb3JlIGRyb3BwaW5nIHRoZSBsb2NrcyBvbGRfZmIgbmVlZHMgdG8gYmUgc2V0IHRvIE5VTEwK PiAtICogYW5kIHBsYW5lLT5mYiB1cGRhdGVkLiBUaGlzIGlzIGEgY29tbW9uIG9wZXJhdGlvbiBm b3IgZWFjaAo+IC0gKiBhdG9taWMgdXBkYXRlLCBzbyB0aGlzIGNhbGwgaXMgc3BsaXQgb2ZmIGFz IGEgaGVscGVyLgo+ICsgKiBCZWZvcmUgZG9pbmcgYW4gdXBkYXRlICZkcm1fcGxhbmUub2xkX2Zi IGlzIHNldCB0byAmZHJtX3BsYW5lLmZiLCBidXQgYmVmb3JlCj4gKyAqIGRyb3BwaW5nIHRoZSBs b2NrcyBvbGRfZmIgbmVlZHMgdG8gYmUgc2V0IHRvIE5VTEwgYW5kIHBsYW5lLT5mYiB1cGRhdGVk LiBUaGlzCj4gKyAqIGlzIGEgY29tbW9uIG9wZXJhdGlvbiBmb3IgZWFjaCBhdG9taWMgdXBkYXRl LCBzbyB0aGlzIGNhbGwgaXMgc3BsaXQgb2ZmIGFzIGEKPiArICogaGVscGVyLgo+ICAgKi8KPiAg dm9pZCBkcm1fYXRvbWljX2NsZWFuX29sZF9mYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJ CQkgICAgIHVuc2lnbmVkIHBsYW5lX21hc2ssCj4gQEAgLTE4NzMsNyArMTg3MCw3IEBAIEVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19jbGVhbl9vbGRfZmIpOwo+ICAgKiBBcyBhIGNvbnRyYXN0LCB3 aXRoIGltcGxpY2l0IGZlbmNpbmcgdGhlIGtlcm5lbCBrZWVwcyB0cmFjayBvZiBhbnkKPiAgICog b25nb2luZyByZW5kZXJpbmcsIGFuZCBhdXRvbWF0aWNhbGx5IGVuc3VyZXMgdGhhdCB0aGUgYXRv bWljIHVwZGF0ZSB3YWl0cwo+ICAgKiBmb3IgYW55IHBlbmRpbmcgcmVuZGVyaW5nIHRvIGNvbXBs ZXRlLiBGb3Igc2hhcmVkIGJ1ZmZlcnMgcmVwcmVzZW50ZWQgd2l0aAo+IC0gKiBhICZzdHJ1Y3Qg ZG1hX2J1ZiB0aGlzIGlzIHRyYWNrZWQgaW4gJnJlc2VydmF0aW9uX29iamVjdCBzdHJ1Y3R1cmVz Lgo+ICsgKiBhICZzdHJ1Y3QgZG1hX2J1ZiB0aGlzIGlzIHRyYWNrZWQgaW4gJnN0cnVjdCByZXNl cnZhdGlvbl9vYmplY3QuCj4gICAqIEltcGxpY2l0IHN5bmNpbmcgaXMgaG93IExpbnV4IHRyYWRp dGlvbmFsbHkgd29ya2VkIChlLmcuIERSSTIvMyBvbiBYLm9yZyksCj4gICAqIHdoZXJlYXMgZXhw bGljaXQgZmVuY2luZyBpcyB3aGF0IEFuZHJvaWQgd2FudHMuCj4gICAqCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQu Ywo+IGluZGV4IDFmMjQxMmM3Y2NmZC4uNjY1YWFmYzZhZDY4IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fYmxlbmQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYmxlbmQu Ywo+IEBAIC00MCw5ICs0MCw4IEBACj4gICAqIHN1Yi1waXhlbCBhY2N1cmFjeSwgd2hpY2ggaXMg c2NhbGVkIHVwIHRvIGEgcGl4ZWwtYWxpZ25lZCBkZXN0aW5hdGlvbgo+ICAgKiByZWN0YW5nbGUg aW4gdGhlIHZpc2libGUgYXJlYSBvZiBhICZkcm1fY3J0Yy4gVGhlIHZpc2libGUgYXJlYSBvZiBh IENSVEMgaXMKPiAgICogZGVmaW5lZCBieSB0aGUgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgdmlz aWJsZSBwaXhlbHMgKHN0b3JlZCBpbiBAaGRpc3BsYXkKPiAtICogYW5kIEB2ZGlzcGxheSkgb2Yg dGhlIHJlcXVlc3RlZCBtb2RlIChzdG9yZWQgaW4gQG1vZGUgaW4gdGhlCj4gLSAqICZkcm1fY3J0 Y19zdGF0ZSkuIFRoZXNlIHR3byByZWN0YW5nbGVzIGFyZSBib3RoIHN0b3JlZCBpbiB0aGUKPiAt ICogJmRybV9wbGFuZV9zdGF0ZS4KPiArICogYW5kIEB2ZGlzcGxheSkgb2YgdGhlIHJlcXVlc3Rl ZCBtb2RlIChzdG9yZWQgaW4gJmRybV9jcnRjX3N0YXRlLm1vZGUpLiBUaGVzZQo+ICsgKiB0d28g cmVjdGFuZ2xlcyBhcmUgYm90aCBzdG9yZWQgaW4gdGhlICZkcm1fcGxhbmVfc3RhdGUuCj4gICAq Cj4gICAqIEZvciB0aGUgYXRvbWljIGlvY3RsIHRoZSBmb2xsb3dpbmcgc3RhbmRhcmQgKGF0b21p YykgcHJvcGVydGllcyBvbiB0aGUgcGxhbmUgb2JqZWN0Cj4gICAqIGVuY29kZSB0aGUgYmFzaWMg cGxhbmUgY29tcG9zaXRpb24gbW9kZWw6Cj4gQEAgLTIxNSw3ICsyMTQsNyBAQCBFWFBPUlRfU1lN Qk9MKGRybV9yb3RhdGlvbl9zaW1wbGlmeSk7Cj4gICAqIGZvciBpdCBpbiBkcm0gY29yZS4gRHJp dmVycyBjYW4gdGhlbiBhdHRhY2ggdGhpcyBwcm9wZXJ0eSB0byBwbGFuZXMgdG8gZW5hYmxlCj4g ICAqIHN1cHBvcnQgZm9yIGNvbmZpZ3VyYWJsZSBwbGFuZXMgYXJyYW5nZW1lbnQgZHVyaW5nIGJs ZW5kaW5nIG9wZXJhdGlvbi4KPiAgICogT25jZSBtdXRhYmxlIHpwb3MgcHJvcGVydHkgaGFzIGJl ZW4gZW5hYmxlZCwgdGhlIERSTSBjb3JlIHdpbGwgYXV0b21hdGljYWxseQo+IC0gKiBjYWxjdWxh dGUgZHJtX3BsYW5lX3N0YXRlLT5ub3JtYWxpemVkX3pwb3MgdmFsdWVzLiBVc3VhbGx5IG1pbiBz aG91bGQgYmUgc2V0Cj4gKyAqIGNhbGN1bGF0ZSAmZHJtX3BsYW5lX3N0YXRlLm5vcm1hbGl6ZWRf enBvcyB2YWx1ZXMuIFVzdWFsbHkgbWluIHNob3VsZCBiZSBzZXQKPiAgICogdG8gMCBhbmQgbWF4 IHRvIG1heGltYWwgbnVtYmVyIG9mIHBsYW5lcyBmb3IgZ2l2ZW4gY3J0YyAtIDEuCj4gICAqCj4g ICAqIElmIHpwb3Mgb2Ygc29tZSBwbGFuZXMgY2Fubm90IGJlIGNoYW5nZWQgKGxpa2UgZml4ZWQg YmFja2dyb3VuZCBvcgo+IEBAIC0zNjcsOCArMzY2LDggQEAgc3RhdGljIGludCBkcm1fYXRvbWlj X2hlbHBlcl9jcnRjX25vcm1hbGl6ZV96cG9zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgICog Rm9yIGV2ZXJ5IENSVEMgdGhpcyBmdW5jdGlvbiBjaGVja3MgbmV3IHN0YXRlcyBvZiBhbGwgcGxh bmVzIGFzc2lnbmVkIHRvCj4gICAqIGl0IGFuZCBjYWxjdWxhdGVzIG5vcm1hbGl6ZWQgenBvcyB2 YWx1ZSBmb3IgdGhlc2UgcGxhbmVzLiBQbGFuZXMgYXJlIGNvbXBhcmVkCj4gICAqIGZpcnN0IGJ5 IHRoZWlyIHpwb3MgdmFsdWVzLCB0aGVuIGJ5IHBsYW5lIGlkIChpZiB6cG9zIGlzIGVxdWFsKS4g VGhlIHBsYW5lCj4gLSAqIHdpdGggbG93ZXN0IHpwb3MgdmFsdWUgaXMgYXQgdGhlIGJvdHRvbS4g VGhlIHBsYW5lX3N0YXRlLT5ub3JtYWxpemVkX3pwb3MgaXMKPiAtICogdGhlbiBmaWxsZWQgd2l0 aCB1bmlxdWUgdmFsdWVzIGZyb20gMCB0byBudW1iZXIgb2YgYWN0aXZlIHBsYW5lcyBpbiBjcnRj Cj4gKyAqIHdpdGggbG93ZXN0IHpwb3MgdmFsdWUgaXMgYXQgdGhlIGJvdHRvbS4gVGhlICZkcm1f cGxhbmVfc3RhdGUubm9ybWFsaXplZF96cG9zCj4gKyAqIGlzIHRoZW4gZmlsbGVkIHdpdGggdW5p cXVlIHZhbHVlcyBmcm9tIDAgdG8gbnVtYmVyIG9mIGFjdGl2ZSBwbGFuZXMgaW4gY3J0Ywo+ICAg KiBtaW51cyBvbmUuCj4gICAqCj4gICAqIFJFVFVSTlMKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMK PiBpbmRleCA3OTllZGQwZDMwOGUuLmRkNzIwZDRjYjRmNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25u ZWN0b3IuYwo+IEBAIC0zOCw4ICszOCw4IEBACj4gICAqIEhlbmNlIHRoZXkgYXJlIHJlZmVyZW5j ZS1jb3VudGVkIHVzaW5nIGRybV9jb25uZWN0b3JfcmVmZXJlbmNlKCkgYW5kCj4gICAqIGRybV9j b25uZWN0b3JfdW5yZWZlcmVuY2UoKS4KPiAgICoKPiAtICogS01TIGRyaXZlciBtdXN0IGNyZWF0 ZSwgaW5pdGlhbGl6ZSwgcmVnaXN0ZXIgYW5kIGF0dGFjaCBhdCBhIHN0cnVjdAo+IC0gKiAmZHJt X2Nvbm5lY3RvciBmb3IgZWFjaCBzdWNoIHNpbmsuIFRoZSBpbnN0YW5jZSBpcyBjcmVhdGVkIGFz IG90aGVyIEtNUwo+ICsgKiBLTVMgZHJpdmVyIG11c3QgY3JlYXRlLCBpbml0aWFsaXplLCByZWdp c3RlciBhbmQgYXR0YWNoIGF0IGEgJnN0cnVjdAo+ICsgKiBkcm1fY29ubmVjdG9yIGZvciBlYWNo IHN1Y2ggc2luay4gVGhlIGluc3RhbmNlIGlzIGNyZWF0ZWQgYXMgb3RoZXIgS01TCj4gICAqIG9i amVjdHMgYW5kIGluaXRpYWxpemVkIGJ5IHNldHRpbmcgdGhlIGZvbGxvd2luZyBmaWVsZHMuCj4g ICAqCj4gICAqIFRoZSBjb25uZWN0b3IgaXMgdGhlbiByZWdpc3RlcmVkIHdpdGggYSBjYWxsIHRv IGRybV9jb25uZWN0b3JfaW5pdCgpIHdpdGggYQo+IEBAIC00OSw3ICs0OSw3IEBACj4gICAqIENv bm5lY3RvcnMgbXVzdCBiZSBhdHRhY2hlZCB0byBhbiBlbmNvZGVyIHRvIGJlIHVzZWQuIEZvciBk ZXZpY2VzIHRoYXQgbWFwCj4gICAqIGNvbm5lY3RvcnMgdG8gZW5jb2RlcnMgMToxLCB0aGUgY29u bmVjdG9yIHNob3VsZCBiZSBhdHRhY2hlZCBhdAo+ICAgKiBpbml0aWFsaXphdGlvbiB0aW1lIHdp dGggYSBjYWxsIHRvIGRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpLiBUaGUKPiAt ICogZHJpdmVyIG11c3QgYWxzbyBzZXQgdGhlICZzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBlbmNvZGVy IGZpZWxkIHRvIHBvaW50IHRvIHRoZQo+ICsgKiBkcml2ZXIgbXVzdCBhbHNvIHNldCB0aGUgJmRy bV9jb25uZWN0b3IuZW5jb2RlciBmaWVsZCB0byBwb2ludCB0byB0aGUKPiAgICogYXR0YWNoZWQg ZW5jb2Rlci4KPiAgICoKPiAgICogRm9yIGNvbm5lY3RvcnMgd2hpY2ggYXJlIG5vdCBmaXhlZCAo bGlrZSBidWlsdC1pbiBwYW5lbHMpIHRoZSBkcml2ZXIgbmVlZHMgdG8KPiBAQCAtNDk3LDcgKzQ5 Nyw3IEBAIHN0YXRpYyBzdHJ1Y3QgbG9ja2RlcF9tYXAgY29ubmVjdG9yX2xpc3RfaXRlcl9kZXBf bWFwID0gewo+ICAgKiBAZGV2OiBEUk0gZGV2aWNlCj4gICAqIEBpdGVyOiBjb25uZWN0b3JfbGlz dCBpdGVyYXRvcgo+ICAgKgo+IC0gKiBTZXRzIEBpdGVyIHVwIHRvIHdhbGsgdGhlIGNvbm5lY3Rv ciBsaXN0IGluICZkcm1fbW9kZV9jb25maWcgb2YgQGRldi4gQGl0ZXIKPiArICogU2V0cyBAaXRl ciB1cCB0byB3YWxrIHRoZSAmZHJtX21vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0IG9mIEBkZXYu IEBpdGVyCj4gICAqIG11c3QgYWx3YXlzIGJlIGNsZWFuZWQgdXAgYWdhaW4gYnkgY2FsbGluZyBk cm1fY29ubmVjdG9yX2xpc3RfaXRlcl9wdXQoKS4KPiAgICogSXRlcmF0aW9uIGl0c2VsZiBoYXBw ZW5zIHVzaW5nIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX25leHQoKSBvcgo+ICAgKiBkcm1fZm9y X2VhY2hfY29ubmVjdG9yX2l0ZXIoKS4KPiBAQCAtNjk2LDggKzY5Niw4IEBAIERSTV9FTlVNX05B TUVfRk4oZHJtX2dldF90dl9zdWJjb25uZWN0b3JfbmFtZSwKPiAgICogCWRyaXZlcnMgdGhpcyBp cyBvbmx5IHByb3ZpZGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5n Cj4gICAqIAlkcml2ZXJzLCBpdCByZW1hcHMgdG8gY29udHJvbGxpbmcgdGhlICJBQ1RJVkUiIHBy b3BlcnR5IG9uIHRoZSBDUlRDIHRoZQo+ICAgKiAJY29ubmVjdG9yIGlzIGxpbmtlZCB0by4gRHJp dmVycyBzaG91bGQgbmV2ZXIgc2V0IHRoaXMgcHJvcGVydHkgZGlyZWN0bHksCj4gLSAqIAlpdCBp cyBoYW5kbGVkIGJ5IHRoZSBEUk0gY29yZSBieSBjYWxsaW5nIHRoZSAtPmRwbXMoKSBjYWxsYmFj ayBpbgo+IC0gKiAJJmRybV9jb25uZWN0b3JfZnVuY3MuIEF0b21pYyBkcml2ZXJzIHNob3VsZCBp bXBsZW1lbnQgdGhpcyBob29rIHVzaW5nCj4gKyAqIAlpdCBpcyBoYW5kbGVkIGJ5IHRoZSBEUk0g Y29yZSBieSBjYWxsaW5nIHRoZSAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5kcG1zCj4gKyAqIAljYWxs YmFjay4gQXRvbWljIGRyaXZlcnMgc2hvdWxkIGltcGxlbWVudCB0aGlzIGhvb2sgdXNpbmcKPiAg ICogCWRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zKCkuIFRoaXMgaXMgdGhlIG9ubHkg cHJvcGVydHkgc3RhbmRhcmQKPiAgICogCWNvbm5lY3RvciBwcm9wZXJ0eSB0aGF0IHVzZXJzcGFj ZSBjYW4gY2hhbmdlLgo+ICAgKiBQQVRIOgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4gaW5kZXggYmQzYzhiMjQz NDQ3Li5jZWE3YTdlZmE0M2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IEBAIC00MTUsMTEgKzQxNSwx MiBAQCBpbnQgZHJtX21vZGVfZ2V0Y3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB9Cj4g IAo+ICAvKioKPiAtICogZHJtX21vZGVfc2V0X2NvbmZpZ19pbnRlcm5hbCAtIGhlbHBlciB0byBj YWxsIC0+c2V0X2NvbmZpZwo+ICsgKiBkcm1fbW9kZV9zZXRfY29uZmlnX2ludGVybmFsIC0gaGVs cGVyIHRvIGNhbGwgJmRybV9tb2RlX2NvbmZpZ19mdW5jcy5zZXRfY29uZmlnCj4gICAqIEBzZXQ6 IG1vZGVzZXQgY29uZmlnIHRvIHNldAo+ICAgKgo+IC0gKiBUaGlzIGlzIGEgbGl0dGxlIGhlbHBl ciB0byB3cmFwIGludGVybmFsIGNhbGxzIHRvIHRoZSAtPnNldF9jb25maWcgZHJpdmVyCj4gLSAq IGludGVyZmFjZS4gVGhlIG9ubHkgdGhpbmcgaXQgYWRkcyBpcyBjb3JyZWN0IHJlZmNvdW50aW5n IGRhbmNlLgo+ICsgKiBUaGlzIGlzIGEgbGl0dGxlIGhlbHBlciB0byB3cmFwIGludGVybmFsIGNh bGxzIHRvIHRoZQo+ICsgKiAmZHJtX21vZGVfY29uZmlnX2Z1bmNzLnNldF9jb25maWcgZHJpdmVy IGludGVyZmFjZS4gVGhlIG9ubHkgdGhpbmcgaXQgYWRkcyBpcwo+ICsgKiBjb3JyZWN0IHJlZmNv dW50aW5nIGRhbmNlLgo+ICAgKgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBaZXJvIG9uIHN1Y2Nlc3Ms IG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fZHVtYl9idWZmZXJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2R1bWJfYnVmZmVycy5j Cj4gaW5kZXggZTVjNjFjZGE0YWUzLi4xMDMwN2NjMTZkNzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9kdW1iX2J1ZmZlcnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHVtYl9idWZmZXJzLmMKPiBAQCAtNDIsOCArNDIsOCBAQAo+ICAgKiBjcmVhdGUgZHVtYiBidWZm ZXJzIHN1aXRhYmxlIGZvciBzY2Fub3V0LCB3aGljaCBjYW4gdGhlbiBiZSB1c2VkIHRvIGNyZWF0 ZQo+ICAgKiBLTVMgZnJhbWUgYnVmZmVycy4KPiAgICoKPiAtICogVG8gc3VwcG9ydCBkdW1iIG9i amVjdHMgZHJpdmVycyBtdXN0IGltcGxlbWVudCB0aGUgZHVtYl9jcmVhdGUsCj4gLSAqIGR1bWJf ZGVzdHJveSBhbmQgZHVtYl9tYXBfb2Zmc2V0IG9wZXJhdGlvbnMgZnJvbSAmc3RydWN0IGRybV9k cml2ZXIuIFNlZQo+ICsgKiBUbyBzdXBwb3J0IGR1bWIgb2JqZWN0cyBkcml2ZXJzIG11c3QgaW1w bGVtZW50IHRoZSAmZHJtX2RyaXZlci5kdW1iX2NyZWF0ZSwKPiArICogJmRybV9kcml2ZXIuZHVt Yl9kZXN0cm95IGFuZCAmZHJtX2RyaXZlci5kdW1iX21hcF9vZmZzZXQgb3BlcmF0aW9ucy4gU2Vl Cj4gICAqIHRoZXJlIGZvciBmdXJ0aGVyIGRldGFpbHMuCj4gICAqCj4gICAqIE5vdGUgdGhhdCBk dW1iIG9iamVjdHMgbWF5IG5vdCBiZSB1c2VkIGZvciBncHUgYWNjZWxlcmF0aW9uLCBhcyBoYXMg YmVlbgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VuY29kZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZW5jb2Rlci5jCj4gaW5kZXggNDg3Y2ZlMzk4OWU4Li4xMjk0NTA3MTNi YjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9lbmNvZGVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2VuY29kZXIuYwo+IEBAIC05OCw3ICs5OCw3IEBAIHZvaWQgZHJt X2VuY29kZXJfdW5yZWdpc3Rlcl9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgICoKPiAg ICogSW5pdGlhbGlzZXMgYSBwcmVhbGxvY2F0ZWQgZW5jb2Rlci4gRW5jb2RlciBzaG91bGQgYmUg c3ViY2xhc3NlZCBhcyBwYXJ0IG9mCj4gICAqIGRyaXZlciBlbmNvZGVyIG9iamVjdHMuIEF0IGRy aXZlciB1bmxvYWQgdGltZSBkcm1fZW5jb2Rlcl9jbGVhbnVwKCkgc2hvdWxkIGJlCj4gLSAqIGNh bGxlZCBmcm9tIHRoZSBkcml2ZXIncyBkZXN0cm95IGhvb2sgaW4gJmRybV9lbmNvZGVyX2Z1bmNz Lgo+ICsgKiBjYWxsZWQgZnJvbSB0aGUgZHJpdmVyJ3MgJmRybV9lbmNvZGVyX2Z1bmNzLmRlc3Ry b3kgaG9vay4KPiAgICoKPiAgICogUmV0dXJuczoKPiAgICogWmVybyBvbiBzdWNjZXNzLCBlcnJv ciBjb2RlIG9uIGZhaWx1cmUuCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5j b2Rlcl9zbGF2ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9lbmNvZGVyX3NsYXZlLmMKPiBpbmRl eCA0NDg0Nzg1Y2Q5YWMuLmNmODA0Mzg5ZjVlYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2VuY29kZXJfc2xhdmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZW5jb2Rl cl9zbGF2ZS5jCj4gQEAgLTQzLDcgKzQzLDcgQEAKPiAgICogJmRybV9lbmNvZGVyX3NsYXZlLiBU aGUgQHNsYXZlX2Z1bmNzIGZpZWxkIHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2l0aAo+ICAgKiB0aGUg aG9va3MgcHJvdmlkZWQgYnkgdGhlIHNsYXZlIGRyaXZlci4KPiAgICoKPiAtICogSWYgQGluZm8t PnBsYXRmb3JtX2RhdGEgaXMgbm9uLU5VTEwgaXQgd2lsbCBiZSB1c2VkIGFzIHRoZSBpbml0aWFs Cj4gKyAqIElmIEBpbmZvLnBsYXRmb3JtX2RhdGEgaXMgbm9uLU5VTEwgaXQgd2lsbCBiZSB1c2Vk IGFzIHRoZSBpbml0aWFsCj4gICAqIHNsYXZlIGNvbmZpZy4KPiAgICoKPiAgICogUmV0dXJucyAw IG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLCBpbiBwYXJ0aWN1bGFy LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiBpbmRleCA1ODhjY2MzYTIyMTguLmNhOWNm ZjA5Y2FkMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKPiBAQCAtNTgsOCArNTgs OCBAQAo+ICAgKiBmYmRldiBmcmFtZWJ1ZmZlciB3aGVuIHRoZSBzdHJ1Y3QgJnN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgaXMgZW1iZWRkZWQgaW50bwo+ICAgKiB0aGUgZmJkZXYgaGVscGVyIHN0cnVj dCkgZHJpdmVycyBjYW4gbWFudWFsbHkgY2xlYW4gdXAgYSBmcmFtZWJ1ZmZlciBhdAo+ICAgKiBt b2R1bGUgdW5sb2FkIHRpbWUgd2l0aCBkcm1fZnJhbWVidWZmZXJfdW5yZWdpc3Rlcl9wcml2YXRl KCkuIEJ1dCBkb2luZyB0aGlzCj4gLSAqIGlzIG5vdCByZWNvbW1lbmRlZCwgYW5kIGl0J3MgYmV0 dGVyIHRvIGhhdmUgYSBub3JtYWwgZnJlZS1zdGFuZGluZyBzdHJ1Y3QKPiAtICogJmRybV9mcmFt ZWJ1ZmZlci4KPiArICogaXMgbm90IHJlY29tbWVuZGVkLCBhbmQgaXQncyBiZXR0ZXIgdG8gaGF2 ZSBhIG5vcm1hbCBmcmVlLXN0YW5kaW5nICZzdHJ1Y3QKPiArICogZHJtX2ZyYW1lYnVmZmVyLgo+ ICAgKi8KPiAgCj4gIGludCBkcm1fZnJhbWVidWZmZXJfY2hlY2tfc3JjX2Nvb3Jkcyh1aW50MzJf dCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCj4gQEAgLTQ3MCw3ICs0NzAsNyBAQCBpbnQgZHJtX21v ZGVfZ2V0ZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICogdXNiIGRpc3BsYXktbGluaywg bWlwaSBtYW51YWwgdXBkYXRlIHBhbmVscyBvciBlZHAgcGFuZWwgc2VsZiByZWZyZXNoIG1vZGVz Lgo+ICAgKgo+ICAgKiBNb2Rlc2V0dGluZyBkcml2ZXJzIHdoaWNoIGFsd2F5cyB1cGRhdGUgdGhl IGZyb250YnVmZmVyIGRvIG5vdCBuZWVkIHRvCj4gLSAqIGltcGxlbWVudCB0aGUgY29ycmVzcG9u ZGluZyAtPmRpcnR5IGZyYW1lYnVmZmVyIGNhbGxiYWNrLgo+ICsgKiBpbXBsZW1lbnQgdGhlIGNv cnJlc3BvbmRpbmcgJmRybV9mcmFtZWJ1ZmZlcl9mdW5jcy5kaXJ0eSBjYWxsYmFjay4KPiAgICoK PiAgICogQ2FsbGVkIGJ5IHRoZSB1c2VyIHZpYSBpb2N0bC4KPiAgICoKPiBAQCAtNzA5LDggKzcw OSw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2ZyYW1lYnVmZmVyX3VucmVnaXN0ZXJfcHJpdmF0ZSk7 Cj4gICAqIEBmYjogZnJhbWVidWZmZXIgdG8gcmVtb3ZlCj4gICAqCj4gICAqIENsZWFudXAgZnJh bWVidWZmZXIuIFRoaXMgZnVuY3Rpb24gaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBmcm9tIHRoZSBk cml2ZXJzCj4gLSAqIC0+ZGVzdHJveSBjYWxsYmFjay4gSXQgY2FuIGFsc28gYmUgdXNlZCB0byBj bGVhbiB1cCBkcml2ZXIgcHJpdmF0ZQo+IC0gKiBmcmFtZWJ1ZmZlcnMgZW1iZWRkZWQgaW50byBh IGxhcmdlciBzdHJ1Y3R1cmUuCj4gKyAqICZkcm1fZnJhbWVidWZmZXJfZnVuY3MuZGVzdHJveSBj YWxsYmFjay4gSXQgY2FuIGFsc28gYmUgdXNlZCB0byBjbGVhbiB1cAo+ICsgKiBkcml2ZXIgcHJp dmF0ZSBmcmFtZWJ1ZmZlcnMgZW1iZWRkZWQgaW50byBhIGxhcmdlciBzdHJ1Y3R1cmUuCj4gICAq Cj4gICAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlbW92ZSB0aGUgZmIgZnJv bSBhY3RpdmUgdXN1YWdlIC0gaWYgaXQgaXMKCiJ1c2FnZSIKCj4gICAqIHN0aWxsIHVzZWQgYW55 d2hlcmUsIGhpbGFyaXR5IGNhbiBlbnN1ZSBzaW5jZSB1c2Vyc3BhY2UgY291bGQgY2FsbCBnZXRm YiBvbgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYwo+IGluZGV4IDM1NTFhZTMxZjE0My4u YmY2MGYyNjQ1ZTU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9s b2NrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jCj4gQEAgLTMz LDcgKzMzLDcgQEAKPiAgICogdG8gdXNlICZ3d19tdXRleCBhbmQgYWNxdWlyZS1jb250ZXh0cyB0 byBhdm9pZCBkZWFkbG9ja3MuICBCdXQgYmVjYXVzZQo+ICAgKiB0aGUgbG9ja2luZyBpcyBtb3Jl IGRpc3RyaWJ1dGVkIGFyb3VuZCB0aGUgZHJpdmVyIGNvZGUsIHdlIHdhbnQgYSBiaXQKPiAgICog b2YgZXh0cmEgdXRpbGl0eS90cmFja2luZyBvdXQgb2Ygb3VyIGFjcXVpcmUtY3R4LiAgVGhpcyBp cyBwcm92aWRlZAo+IC0gKiBieSBkcm1fbW9kZXNldF9sb2NrIC8gZHJtX21vZGVzZXRfYWNxdWly ZV9jdHguCj4gKyAqIGJ5ICZzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayBhbmQgJnN0cnVjdCBkcm1f bW9kZXNldF9hY3F1aXJlX2N0eC4KPiAgICoKPiAgICogRm9yIGJhc2ljIHByaW5jaXBsZXMgb2Yg Jnd3X211dGV4LCBzZWU6IERvY3VtZW50YXRpb24vbG9ja2luZy93dy1tdXRleC1kZXNpZ24udHh0 Cj4gICAqCj4gQEAgLTUzLDcgKzUzLDcgQEAKPiAgICogICAgIGRybV9tb2Rlc2V0X2FjcXVpcmVf ZmluaSgmY3R4KTsKPiAgICoKPiAgICogT24gdG9wIG9mIG9mIHRoZXNlIHBlci1vYmplY3QgbG9j a3MgdXNpbmcgJnd3X211dGV4IHRoZXJlJ3MgYWxzbyBhbiBvdmVyYWxsCj4gLSAqIGRldi0+bW9k ZV9jb25maWcubG9jaywgZm9yIHByb3RlY3RpbmcgZXZlcnl0aGluZyBlbHNlLiBNb3N0bHkgdGhp cyBtZWFucwo+ICsgKiAmZHJtX21vZGVfY29uZmlnLm11dGV4LCBmb3IgcHJvdGVjdGluZyBldmVy eXRoaW5nIGVsc2UuIE1vc3RseSB0aGlzIG1lYW5zCj4gICAqIHByb2JlIHN0YXRlIG9mIGNvbm5l Y3RvcnMsIGFuZCBwcmV2ZW50aW5nIGhvdHBsdWcgYWRkL3JlbW92YWwgb2YgY29ubmVjdG9ycy4K PiAgICoKPiAgICogRmluYWxseSB0aGVyZSdzIGEgYnVuY2ggb2YgZGVkaWNhdGVkIGxvY2tzIHRv IHByb3RlY3QgZHJtIGNvcmUgaW50ZXJuYWwKPiBAQCAtNzEsNyArNzEsNyBAQCBzdGF0aWMgREVG SU5FX1dXX0NMQVNTKGNydGNfd3dfY2xhc3MpOwo+ICAgKiBkcm1fbW9kZXNldF91bmxvY2tfYWxs KCkgZnVuY3Rpb24uCj4gICAqCj4gICAqIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4gSXQg YWxsb2NhdGVzIGEgbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0IGFuZAo+IC0gKiBzdG9yZXMgaXQg aW4gdGhlIERSTSBkZXZpY2UncyAtPm1vZGVfY29uZmlnLiBUaGlzIGZhY2lsaXRhdGUgY29udmVy c2lvbiBvZgo+ICsgKiBzdG9yZXMgaXQgaW4gJmRybV9kZXZpY2UubW9kZV9jb25maWcuIFRoaXMg ZmFjaWxpdGF0ZSBjb252ZXJzaW9uIG9mCj4gICAqIGV4aXN0aW5nIGNvZGUgYmVjYXVzZSBpdCBy ZW1vdmVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IGRlYWwgd2l0aCB0aGUKPiAgICogYWNxdWlzaXRp b24gY29udGV4dCwgYnV0IGl0IGlzIGFsc28gYnJpdHRsZSBiZWNhdXNlIHRoZSBjb250ZXh0IGlz IGdsb2JhbAo+ICAgKiBhbmQgY2FyZSBtdXN0IGJlIHRha2VuIG5vdCB0byBuZXN0IGNhbGxzLiBO ZXcgY29kZSBzaG91bGQgdXNlIHRoZQo+IEBAIC0xMjQsNyArMTI0LDcgQEAgRVhQT1JUX1NZTUJP TChkcm1fbW9kZXNldF9sb2NrX2FsbCk7Cj4gICAqIGRybV9tb2Rlc2V0X2xvY2tfYWxsKCkgZnVu Y3Rpb24uCj4gICAqCj4gICAqIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4gSXQgdXNlcyB0 aGUgbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0IHN0b3JlZAo+IC0gKiBpbiB0aGUgRFJNIGRldmlj ZSdzIC0+bW9kZV9jb25maWcuIFRoaXMgZmFjaWxpdGF0ZXMgY29udmVyc2lvbiBvZiBleGlzdGlu Zwo+ICsgKiBpbiAmZHJtX2RldmljZS5tb2RlX2NvbmZpZy4gVGhpcyBmYWNpbGl0YXRlcyBjb252 ZXJzaW9uIG9mIGV4aXN0aW5nCj4gICAqIGNvZGUgYmVjYXVzZSBpdCByZW1vdmVzIHRoZSBuZWVk IHRvIG1hbnVhbGx5IGRlYWwgd2l0aCB0aGUgYWNxdWlzaXRpb24KPiAgICogY29udGV4dCwgYnV0 IGl0IGlzIGFsc28gYnJpdHRsZSBiZWNhdXNlIHRoZSBjb250ZXh0IGlzIGdsb2JhbCBhbmQgY2Fy ZSBtdXN0Cj4gICAqIGJlIHRha2VuIG5vdCB0byBuZXN0IGNhbGxzLiBOZXcgY29kZSBzaG91bGQg cGFzcyB0aGUgYWNxdWlzaXRpb24gY29udGV4dAo+IEBAIC00NjgsNyArNDY4LDcgQEAgRVhQT1JU X1NZTUJPTChkcm1fbW9kZXNldF91bmxvY2spOwo+ICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFs bCBtb2Rlc2V0IGxvY2tzLCBzdWl0YWJsZSB3aGVyZSBhIG1vcmUgZmluZS1ncmFpbmVkCj4gICAq IHNjaGVtZSBpc24ndCAoeWV0KSBpbXBsZW1lbnRlZC4KPiAgICoKPiAtICogVW5saWtlIGRybV9t b2Rlc2V0X2xvY2tfYWxsKCksIGl0IGRvZXNuJ3QgdGFrZSB0aGUgZGV2LT5tb2RlX2NvbmZpZy5t dXRleAo+ICsgKiBVbmxpa2UgZHJtX21vZGVzZXRfbG9ja19hbGwoKSwgaXQgZG9lc24ndCB0YWtl IHRoZSAmZHJtX21vZGVfY29uZmlnLm11dGV4Cj4gICAqIHNpbmNlIHRoYXQgbG9jayBpc24ndCBy ZXF1aXJlZCBmb3IgbW9kZXNldCBzdGF0ZSBjaGFuZ2VzLiBDYWxsZXJzIHdoaWNoCj4gICAqIG5l ZWQgdG8gZ3JhYiB0aGF0IGxvY2sgdG9vIG5lZWQgdG8gZG8gc28gb3V0c2lkZSBvZiB0aGUgYWNx dWlyZSBjb250ZXh0Cj4gICAqIEBjdHguCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+IGluZGV4IGVlZDY2YmUx ODMyOS4uYzQ2NGZjNGE4NzRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxh bmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+IEBAIC00Miw3ICs0Miw3 IEBACj4gICAqCj4gICAqIEN1cnNvciBhbmQgb3ZlcmxheSBwbGFuZXMgYXJlIG9wdGlvbmFsLiBB bGwgZHJpdmVycyBzaG91bGQgcHJvdmlkZSBvbmUKPiAgICogcHJpbWFyeSBwbGFuZSBwZXIgQ1JU QyB0byBhdm9pZCBzdXJwcmlzaW5nIHVzZXJzcGFjZSB0b28gbXVjaC4gU2VlIGVudW0KPiAtICog JmRybV9wbGFuZV90eXBlIGZvciBhIG1vcmUgaW4tZGVwdGggZGlzY3Vzc2lvbiBvZiB0aGVzZSBz cGVjaWFsIHVhcGktcmVsZXZhbnQKPiArICogZHJtX3BsYW5lX3R5cGUgZm9yIGEgbW9yZSBpbi1k ZXB0aCBkaXNjdXNzaW9uIG9mIHRoZXNlIHNwZWNpYWwgdWFwaS1yZWxldmFudAo+ICAgKiBwbGFu ZSB0eXBlcy4gU3BlY2lhbCBwbGFuZXMgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGVpciBDUlRDIGJ5 IGNhbGxpbmcKPiAgICogZHJtX2NydGNfaW5pdF93aXRoX3BsYW5lcygpLgo+ICAgKgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb3BlcnR5LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3Byb3BlcnR5LmMKPiBpbmRleCAwZDBlNWRjMGVlMjMuLjBjYjJhMzlmZTA1OSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb3BlcnR5LmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3Byb3BlcnR5LmMKPiBAQCAtNDMsNyArNDMsNyBAQAo+ICAgKgo+ICAgKiBQcm9w ZXJ0eSB2YWx1ZXMgYXJlIG9ubHkgNjRiaXQuIFRvIHN1cHBvcnQgYmlnZ2VyIHBpbGVzIG9mIGRh dGEgKGxpa2UgZ2FtbWEKPiAgICogdGFibGVzLCBjb2xvciBjb3JyZWN0aW9uIG1hdHJpemVzIG9y IGxhcmdlIHN0cnVjdHVyZXMpIGEgcHJvcGVydHkgY2FuIGluc3RlYWQKCiJtYXRyaWNlcyIKCj4g LSAqIHBvaW50IGF0IGEgJmRybV9wcm9wZXJ0eV9ibG9iIHdpdGggdGhhdCBhZGRpdGlvbmFsIGRh dGEKPiArICogcG9pbnQgYXQgYSAmZHJtX3Byb3BlcnR5X2Jsb2Igd2l0aCB0aGF0IGFkZGl0aW9u YWwgZGF0YS4KPiAgICoKPiAgICogUHJvcGVydGllcyBhcmUgZGVmaW5lZCBieSB0aGVpciBzeW1i b2xpYyBuYW1lLCB1c2Vyc3BhY2UgbXVzdCBrZWVwIGEKPiAgICogcGVyLW9iamVjdCBtYXBwaW5n IGZyb20gdGhvc2UgbmFtZXMgdG8gdGhlIHByb3BlcnR5IElEIHVzZWQgaW4gdGhlIGF0b21pYwo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmggYi9pbmNsdWRlL2RybS9kcm1f YXRvbWljLmgKPiBpbmRleCBmMWNiMmIwOGFmYjUuLjA1MmFiMTYxYjIzOSAxMDA2NDQKPiAtLS0g YS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWlj LmgKPiBAQCAtMTIzLDcgKzEyMyw4IEBAIHN0cnVjdCBkcm1fY3J0Y19jb21taXQgewo+ICAJLyoq Cj4gIAkgKiBAY29tbWl0X2VudHJ5Ogo+ICAJICoKPiAtCSAqIEVudHJ5IG9uIHRoZSBwZXItQ1JU QyBjb21taXRfbGlzdC4gUHJvdGVjdGVkIGJ5IGNydGMtPmNvbW1pdF9sb2NrLgo+ICsJICogRW50 cnkgb24gdGhlIHBlci1DUlRDICZkcm1fY3J0Yy5jb21taXRfbGlzdC4gUHJvdGVjdGVkIGJ5Cj4g KwkgKiAkZHJtX2NydGMuY29tbWl0X2xvY2suCj4gIAkgKi8KPiAgCXN0cnVjdCBsaXN0X2hlYWQg Y29tbWl0X2VudHJ5Owo+ICAKPiBAQCAtNDI5LDcgKzQzMCw4IEBAIHZvaWQgZHJtX3N0YXRlX2R1 bXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcmludGVyICpwKTsKPiAgICoK PiAgICogRm9yIGV4YW1wbGUgaWYgdGhlIENSVEMgbW9kZSBoYXMgY2hhbmdlZCwgYW5kIHRoZSBo YXJkd2FyZSBpcyBhYmxlIHRvIGVuYWN0Cj4gICAqIHRoZSByZXF1ZXN0ZWQgbW9kZSBjaGFuZ2Ug d2l0aG91dCBnb2luZyB0aHJvdWdoIGEgZnVsbCBtb2Rlc2V0LCB0aGUgZHJpdmVyCj4gLSAqIHNo b3VsZCBjbGVhciBtb2RlX2NoYW5nZWQgZHVyaW5nIGl0cyAtPmF0b21pY19jaGVjay4KPiArICog c2hvdWxkIGNsZWFyIG1vZGVfY2hhbmdlZCBpbiBpdHMgJmRybV9tb2RlX2NvbmZpZ19mdW5jcy5h dG9taWNfY2hlY2sKPiArICogaW1wbGVtZW50YXRpb24uCj4gICAqLwo+ICBzdGF0aWMgaW5saW5l IGJvb2wKPiAgZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoY29uc3Qgc3RydWN0IGRybV9j cnRjX3N0YXRlICpzdGF0ZSkKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21n bXQuaCBiL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKPiBpbmRleCBjNzY3MjM4YWM5ZDUu LmQ5YzJmNjgwZjVhZSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29sb3JfbWdtdC5o Cj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaAo+IEBAIC0zNCw3ICszNCw3IEBA IGludCBkcm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiAgCQkJCSBpbnQgZ2FtbWFfc2l6ZSk7Cj4gIAo+ICAvKioKPiAtICogZHJtX2NvbG9yX2x1dF9l eHRyYWN0IC0gY2xhbXAmcm91bmQgTFVUIGVudHJpZXMKPiArICogZHJtX2NvbG9yX2x1dF9leHRy YWN0IC0gY2xhbXAgYW5kIHJvdW5kIExVVCBlbnRyaWVzCj4gICAqIEB1c2VyX2lucHV0OiBpbnB1 dCB2YWx1ZQo+ICAgKiBAYml0X3ByZWNpc2lvbjogbnVtYmVyIG9mIGJpdHMgdGhlIGh3IExVVCBz dXBwb3J0cwo+ICAgKgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgg Yi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBpbmRleCBkNDg5Y2MwMDNiN2UuLjRmN2Qz YjQ5OTk1YSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBAQCAtMzMxLDE1ICszMzEsMTUgQEAgc3Ry dWN0IGRybV9jb25uZWN0b3JfZnVuY3Mgewo+ICAJICoKPiAgCSAqIEVudHJ5IHBvaW50IGZvciBv dXRwdXQgZGV0ZWN0aW9uIGFuZCBiYXNpYyBtb2RlIHZhbGlkYXRpb24uIFRoZQo+ICAJICogZHJp dmVyIHNob3VsZCByZXByb2JlIHRoZSBvdXRwdXQgaWYgbmVlZGVkIChlLmcuIHdoZW4gaG90cGx1 Zwo+IC0JICogaGFuZGxpbmcgaXMgdW5yZWxpYWJsZSksIGFkZCBhbGwgZGV0ZWN0ZWQgbW9kZXMg dG8gY29ubmVjdG9yLT5tb2Rlcwo+ICsJICogaGFuZGxpbmcgaXMgdW5yZWxpYWJsZSksIGFkZCBh bGwgZGV0ZWN0ZWQgbW9kZXMgdG8gJmRybV9jb25uZWN0b3IubW9kZXMKPiAgCSAqIGFuZCBmaWx0 ZXIgb3V0IGFueSB0aGUgZGV2aWNlIGNhbid0IHN1cHBvcnQgaW4gYW55IGNvbmZpZ3VyYXRpb24u IEl0Cj4gIAkgKiBhbHNvIG5lZWRzIHRvIGZpbHRlciBvdXQgYW55IG1vZGVzIHdpZGVyIG9yIGhp Z2hlciB0aGFuIHRoZQo+ICAJICogcGFyYW1ldGVycyBtYXhfd2lkdGggYW5kIG1heF9oZWlnaHQg aW5kaWNhdGUuCj4gIAkgKgo+ICAJICogVGhlIGRyaXZlcnMgbXVzdCBhbHNvIHBydW5lIGFueSBt b2RlcyBubyBsb25nZXIgdmFsaWQgZnJvbQo+IC0JICogY29ubmVjdG9yLT5tb2Rlcy4gRnVydGhl cm1vcmUgaXQgbXVzdCB1cGRhdGUgY29ubmVjdG9yLT5zdGF0dXMgYW5kCj4gLQkgKiBjb25uZWN0 b3ItPmVkaWQuICBJZiBubyBFRElEIGhhcyBiZWVuIHJlY2VpdmVkIGZvciB0aGlzIG91dHB1dAo+ IC0JICogY29ubmVjdG9yLT5lZGlkIG11c3QgYmUgTlVMTC4KPiArCSAqICZkcm1fY29ubmVjdG9y Lm1vZGVzLiBGdXJ0aGVybW9yZSBpdCBtdXN0IHVwZGF0ZQo+ICsJICogJmRybV9jb25uZWN0b3Iu c3RhdHVzIGFuZCAmZHJtX2Nvbm5lY3Rvci5lZGlkLiAgSWYgbm8gRURJRCBoYXMgYmVlbgo+ICsJ ICogcmVjZWl2ZWQgZm9yIHRoaXMgb3V0cHV0IGNvbm5lY3Rvci0+ZWRpZCBtdXN0IGJlIE5VTEwu Cj4gIAkgKgo+ICAJICogRHJpdmVycyB1c2luZyB0aGUgcHJvYmUgaGVscGVycyBzaG91bGQgdXNl Cj4gIAkgKiBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMoKSBvcgo+IEBA IC0zNDgsNyArMzQ4LDcgQEAgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mgewo+ICAJICoKPiAg CSAqIFJFVFVSTlM6Cj4gIAkgKgo+IC0JICogVGhlIG51bWJlciBvZiBtb2RlcyBkZXRlY3RlZCBh bmQgZmlsbGVkIGludG8gY29ubmVjdG9yLT5tb2Rlcy4KPiArCSAqIFRoZSBudW1iZXIgb2YgbW9k ZXMgZGV0ZWN0ZWQgYW5kIGZpbGxlZCBpbnRvICZkcm1fY29ubmVjdG9yLm1vZGVzLgo+ICAJICov Cj4gIAlpbnQgKCpmaWxsX21vZGVzKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1 aW50MzJfdCBtYXhfd2lkdGgsIHVpbnQzMl90IG1heF9oZWlnaHQpOwo+ICAKPiBAQCAtMzgxLDcg KzM4MSw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHsKPiAgCSAqIGNvcmUgZHJtIGNv bm5lY3RvciBpbnRlcmZhY2VzLiBFdmVyeXRoaW5nIGFkZGVkIGZyb20gdGhpcyBjYWxsYmFjawo+ ICAJICogc2hvdWxkIGJlIHVucmVnaXN0ZXJlZCBpbiB0aGUgZWFybHlfdW5yZWdpc3RlciBjYWxs YmFjay4KPiAgCSAqCj4gLQkgKiBUaGlzIGlzIGNhbGxlZCB3aGlsZSBob2xkaW5nIGRybV9jb25u ZWN0b3ItPm11dGV4Lgo+ICsJICogVGhpcyBpcyBjYWxsZWQgd2hpbGUgaG9sZGluZyAmZHJtX2Nv bm5lY3Rvci5tdXRleC4KPiAgCSAqCj4gIAkgKiBSZXR1cm5zOgo+ICAJICoKPiBAQCAtMzk4LDcg KzM5OCw3IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHsKPiAgCSAqIGVhcmx5IGluIHRo ZSBkcml2ZXIgdW5sb2FkIHNlcXVlbmNlIHRvIGRpc2FibGUgdXNlcnNwYWNlIGFjY2Vzcwo+ICAJ ICogYmVmb3JlIGRhdGEgc3RydWN0dXJlcyBhcmUgdG9ybmRvd24uCj4gIAkgKgo+IC0JICogVGhp cyBpcyBjYWxsZWQgd2hpbGUgaG9sZGluZyBkcm1fY29ubmVjdG9yLT5tdXRleC4KPiArCSAqIFRo aXMgaXMgY2FsbGVkIHdoaWxlIGhvbGRpbmcgJmRybV9jb25uZWN0b3IubXV0ZXguCj4gIAkgKi8K PiAgCXZvaWQgKCplYXJseV91bnJlZ2lzdGVyKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKTsKPiAgCj4gQEAgLTQxOCw5ICs0MTgsOSBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5j cyB7Cj4gIAkgKiBEdXBsaWNhdGUgdGhlIGN1cnJlbnQgYXRvbWljIHN0YXRlIGZvciB0aGlzIGNv bm5lY3RvciBhbmQgcmV0dXJuIGl0Lgo+ICAJICogVGhlIGNvcmUgYW5kIGhlbHBlcnMgZ3VhcmFu dGVlIHRoYXQgYW55IGF0b21pYyBzdGF0ZSBkdXBsaWNhdGVkIHdpdGgKPiAgCSAqIHRoaXMgaG9v ayBhbmQgc3RpbGwgb3duZWQgYnkgdGhlIGNhbGxlciAoaS5lLiBub3QgdHJhbnNmZXJyZWQgdG8g dGhlCj4gLQkgKiBkcml2ZXIgYnkgY2FsbGluZyAtPmF0b21pY19jb21taXQoKSBmcm9tIHN0cnVj dAo+IC0JICogJmRybV9tb2RlX2NvbmZpZ19mdW5jcykgd2lsbCBiZSBjbGVhbmVkIHVwIGJ5IGNh bGxpbmcgdGhlCj4gLQkgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGUgaG9vayBpbiB0aGlzIHN0cnVj dHVyZS4KPiArCSAqIGRyaXZlciBieSBjYWxsaW5nICZkcm1fbW9kZV9jb25maWdfZnVuY3MuYXRv bWljX2NvbW1pdCkgd2lsbCBiZQo+ICsJICogY2xlYW5lZCB1cCBieSBjYWxsaW5nIHRoZSBAYXRv bWljX2Rlc3Ryb3lfc3RhdGUgaG9vayBpbiB0aGlzCj4gKwkgKiBzdHJ1Y3R1cmUuCj4gIAkgKgo+ ICAJICogQXRvbWljIGRyaXZlcnMgd2hpY2ggZG9uJ3Qgc3ViY2xhc3MgJnN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlIHNob3VsZCB1c2UKPiAgCSAqIGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rv cl9kdXBsaWNhdGVfc3RhdGUoKS4gRHJpdmVycyB0aGF0IHN1YmNsYXNzIHRoZQo+IEBAIC00Mjgs NyArNDI4LDcgQEAgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mgewo+ICAJICogX19kcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKCkgdG8gbWFrZSBzdXJlIHNoYXJl ZCBzdGF0ZSBpcwo+ICAJICogZHVwbGljYXRlZCBpbiBhIGNvbnNpc3RlbnQgZmFzaGlvbiBhY3Jv c3MgZHJpdmVycy4KPiAgCSAqCj4gLQkgKiBJdCBpcyBhbiBlcnJvciB0byBjYWxsIHRoaXMgaG9v ayBiZWZvcmUgY29ubmVjdG9yLT5zdGF0ZSBoYXMgYmVlbgo+ICsJICogSXQgaXMgYW4gZXJyb3Ig dG8gY2FsbCB0aGlzIGhvb2sgYmVmb3JlICZkcm1fY29ubmVjdG9yLnN0YXRlIGhhcyBiZWVuCj4g IAkgKiBpbml0aWFsaXplZCBjb3JyZWN0bHkuCj4gIAkgKgo+ICAJICogTk9URToKPiBAQCAtNjA5 LDggKzYwOSw4IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yIHsKPiAgCj4gIAkvKioKPiAgCSAqIEBt dXRleDogTG9jayBmb3IgZ2VuZXJhbCBjb25uZWN0b3Igc3RhdGUsIGJ1dCBjdXJyZW50bHkgb25s eSBwcm90ZWN0cwo+IC0JICogQHJlZ2lzdGVyZWQuIE1vc3Qgb2YgdGhlIGNvbm5lY3RvciBzdGF0 ZSBpcyBzdGlsbCBwcm90ZWN0ZWQgYnkgdGhlCj4gLQkgKiBtdXRleCBpbiAmZHJtX21vZGVfY29u ZmlnLgo+ICsJICogQHJlZ2lzdGVyZWQuIE1vc3Qgb2YgdGhlIGNvbm5lY3RvciBzdGF0ZSBpcyBz dGlsbCBwcm90ZWN0ZWQgYnkKPiArCSAqICZkcm1fbW9kZV9jb25maWcubXV0ZXguCj4gIAkgKi8K PiAgCXN0cnVjdCBtdXRleCBtdXRleDsKPiAgCj4gQEAgLTYzNiwxNCArNjM2LDE0IEBAIHN0cnVj dCBkcm1fY29ubmVjdG9yIHsKPiAgCS8qKgo+ICAJICogQG1vZGVzOgo+ICAJICogTW9kZXMgYXZh aWxhYmxlIG9uIHRoaXMgY29ubmVjdG9yIChmcm9tIGZpbGxfbW9kZXMoKSArIHVzZXIpLgo+IC0J ICogUHJvdGVjdGVkIGJ5IGRldi0+bW9kZV9jb25maWcubXV0ZXguCj4gKwkgKiBQcm90ZWN0ZWQg YnkgJmRybV9tb2RlX2NvbmZpZy5tdXRleC4KPiAgCSAqLwo+IC0Jc3RydWN0IGxpc3RfaGVhZCBt b2RlczsgLyogbGlzdCBvZiBtb2RlcyBvbiB0aGlzIGNvbm5lY3RvciAqLwo+ICsJc3RydWN0IGxp c3RfaGVhZCBtb2RlczsKPiAgCj4gIAkvKioKPiAgCSAqIEBzdGF0dXM6Cj4gIAkgKiBPbmUgb2Yg dGhlIGRybV9jb25uZWN0b3Jfc3RhdHVzIGVudW1zIChjb25uZWN0ZWQsIG5vdCwgb3IgdW5rbm93 bikuCj4gLQkgKiBQcm90ZWN0ZWQgYnkgZGV2LT5tb2RlX2NvbmZpZy5tdXRleC4KPiArCSAqIFBy b3RlY3RlZCBieSAmZHJtX21vZGVfY29uZmlnLm11dGV4Lgo+ICAJICovCj4gIAllbnVtIGRybV9j b25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKPiAgCj4gQEAgLTY1MSw3ICs2NTEsNyBAQCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciB7Cj4gIAkgKiBAcHJvYmVkX21vZGVzOgo+ICAJICogVGhlc2UgYXJlIG1v ZGVzIGFkZGVkIGJ5IHByb2Jpbmcgd2l0aCBEREMgb3IgdGhlIEJJT1MsIGJlZm9yZQo+ICAJICog ZmlsdGVyaW5nIGlzIGFwcGxpZWQuIFVzZWQgYnkgdGhlIHByb2JlIGhlbHBlcnMuUHJvdGVjdGVk IGJ5CgpzcGFjZSBiZWZvcmUgIlByb3RlY3RlZCIKCj4gLQkgKiBkZXYtPm1vZGVfY29uZmlnLm11 dGV4Lgo+ICsJICogJmRybV9tb2RlX2NvbmZpZy5tdXRleC4KPiAgCSAqLwo+ICAJc3RydWN0IGxp c3RfaGVhZCBwcm9iZWRfbW9kZXM7Cj4gIAo+IEBAIC02NTksMTAgKzY1OSwxMCBAQCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciB7Cj4gIAkgKiBAZGlzcGxheV9pbmZvOiBEaXNwbGF5IGluZm9ybWF0aW9u IGlzIGZpbGxlZCBmcm9tIEVESUQgaW5mb3JtYXRpb24KPiAgCSAqIHdoZW4gYSBkaXNwbGF5IGlz IGRldGVjdGVkLiBGb3Igbm9uIGhvdC1wbHVnZ2FibGUgZGlzcGxheXMgc3VjaCBhcwo+ICAJICog ZmxhdCBwYW5lbHMgaW4gZW1iZWRkZWQgc3lzdGVtcywgdGhlIGRyaXZlciBzaG91bGQgaW5pdGlh bGl6ZSB0aGUKPiAtCSAqIGRpc3BsYXlfaW5mby53aWR0aF9tbSBhbmQgZGlzcGxheV9pbmZvLmhl aWdodF9tbSBmaWVsZHMgd2l0aCB0aGUKPiAtCSAqIHBoeXNpY2FsIHNpemUgb2YgdGhlIGRpc3Bs YXkuCj4gKwkgKiAmZHJtX2Rpc3BsYXlfaW5mby53aWR0aF9tbSBhbmQgJmRybV9kaXNwbGF5X2lu Zm8uaGVpZ2h0X21tIGZpZWxkcwo+ICsJICogd2l0aCB0aGUgcGh5c2ljYWwgc2l6ZSBvZiB0aGUg ZGlzcGxheS4KPiAgCSAqCj4gLQkgKiBQcm90ZWN0ZWQgYnkgZGV2LT5tb2RlX2NvbmZpZy5tdXRl eC4KPiArCSAqIFByb3RlY3RlZCBieSAmZHJtX21vZGVfY29uZmlnLm11dGV4Lgo+ICAJICovCj4g IAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfaW5mbyBkaXNwbGF5X2luZm87Cj4gIAljb25zdCBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9mdW5jcyAqZnVuY3M7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9jcnRjLmggYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gaW5kZXggMDZjOTQzZDFlMDRjLi40 OTYzMjRkMzQxNmIgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaAo+ICsrKyBi L2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBAQCAtODEsOCArODEsOCBAQCBzdHJ1Y3QgZHJtX3Bs YW5lX2hlbHBlcl9mdW5jczsKPiAgICogQGVuYWJsZTogd2hldGhlciB0aGUgQ1JUQyBzaG91bGQg YmUgZW5hYmxlZCwgZ2F0ZXMgYWxsIG90aGVyIHN0YXRlCj4gICAqIEBhY3RpdmU6IHdoZXRoZXIg dGhlIENSVEMgaXMgYWN0aXZlbHkgZGlzcGxheWluZyAodXNlZCBmb3IgRFBNUykKPiAgICogQHBs YW5lc19jaGFuZ2VkOiBwbGFuZXMgb24gdGhpcyBjcnRjIGFyZSB1cGRhdGVkCj4gLSAqIEBtb2Rl X2NoYW5nZWQ6IGNydGNfc3RhdGUtPm1vZGUgb3IgY3J0Y19zdGF0ZS0+ZW5hYmxlIGhhcyBiZWVu IGNoYW5nZWQKPiAtICogQGFjdGl2ZV9jaGFuZ2VkOiBjcnRjX3N0YXRlLT5hY3RpdmUgaGFzIGJl ZW4gdG9nZ2xlZC4KPiArICogQG1vZGVfY2hhbmdlZDogQG1vZGUgb3IgQGVuYWJsZSBoYXMgYmVl biBjaGFuZ2VkCj4gKyAqIEBhY3RpdmVfY2hhbmdlZDogQGFjdGl2ZSBoYXMgYmVlbiB0b2dnbGVk Lgo+ICAgKiBAY29ubmVjdG9yc19jaGFuZ2VkOiBjb25uZWN0b3JzIHRvIHRoaXMgY3J0YyBoYXZl IGJlZW4gdXBkYXRlZAo+ICAgKiBAenBvc19jaGFuZ2VkOiB6cG9zIHZhbHVlcyBvZiBwbGFuZXMg b24gdGhpcyBjcnRjIGhhdmUgYmVlbiB1cGRhdGVkCj4gICAqIEBjb2xvcl9tZ210X2NoYW5nZWQ6 IGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydGllcyBoYXZlIGNoYW5nZWQgKGRlZ2FtbWEgb3IKPiBA QCAtMTAyLDkgKzEwMiwxMCBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jczsKPiAgICoK PiAgICogTm90ZSB0aGF0IHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIEBlbmFibGUgYW5kIEBhY3Rp dmUgaXMgcmF0aGVyIHN1YnRpbGU6Cj4gICAqIEZsaXBwaW5nIEBhY3RpdmUgd2hpbGUgQGVuYWJs ZSBpcyBzZXQgd2l0aG91dCBjaGFuZ2luZyBhbnl0aGluZyBlbHNlIG1heQo+IC0gKiBuZXZlciBy ZXR1cm4gaW4gYSBmYWlsdXJlIGZyb20gdGhlIC0+YXRvbWljX2NoZWNrIGNhbGxiYWNrLiBVc2Vy c3BhY2UgYXNzdW1lcwo+IC0gKiB0aGF0IGEgRFBNUyBPbiB3aWxsIGFsd2F5cyBzdWNjZWVkLiBJ biBvdGhlciB3b3JkczogQGVuYWJsZSBjb250cm9scyByZXNvdXJjZQo+IC0gKiBhc3NpZ25tZW50 LCBAYWN0aXZlIGNvbnRyb2xzIHRoZSBhY3R1YWwgaGFyZHdhcmUgc3RhdGUuCj4gKyAqIG5ldmVy IHJldHVybiBpbiBhIGZhaWx1cmUgZnJvbSB0aGUgJmRybV9tb2RlX2NvbmZpZ19mdW5jcy5hdG9t aWNfY2hlY2sKPiArICogY2FsbGJhY2suIFVzZXJzcGFjZSBhc3N1bWVzIHRoYXQgYSBEUE1TIE9u IHdpbGwgYWx3YXlzIHN1Y2NlZWQuIEluIG90aGVyCj4gKyAqIHdvcmRzOiBAZW5hYmxlIGNvbnRy b2xzIHJlc291cmNlIGFzc2lnbm1lbnQsIEBhY3RpdmUgY29udHJvbHMgdGhlIGFjdHVhbAo+ICsg KiBoYXJkd2FyZSBzdGF0ZS4KPiAgICoKPiAgICogVGhlIHRocmVlIGJvb2xlYW5zIGFjdGl2ZV9j aGFuZ2VkLCBjb25uZWN0b3JzX2NoYW5nZWQgYW5kIG1vZGVfY2hhbmdlZCBhcmUKPiAgICogaW50 ZW5kZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhIGZ1bGwgbW9kZXNldCBpcyBuZWVkZWQsIHJhdGhl ciB0aGFuIHN0cmljdGx5Cj4gQEAgLTM0Niw4ICszNDcsOCBAQCBzdHJ1Y3QgZHJtX2NydGNfZnVu Y3Mgewo+ICAJICogdGhyb3VnaCB0aGUgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DIGZsYWcpLiBX aGVuIGFuIGFwcGxpY2F0aW9uCj4gIAkgKiByZXF1ZXN0cyBhIHBhZ2UgZmxpcCB0aGUgRFJNIGNv cmUgdmVyaWZpZXMgdGhhdCB0aGUgbmV3IGZyYW1lIGJ1ZmZlcgo+ICAJICogaXMgbGFyZ2UgZW5v dWdoIHRvIGJlIHNjYW5uZWQgb3V0IGJ5IHRoZSBDUlRDIGluIHRoZSBjdXJyZW50bHkKPiAtCSAq IGNvbmZpZ3VyZWQgbW9kZSBhbmQgdGhlbiBjYWxscyB0aGUgQ1JUQyAtPnBhZ2VfZmxpcCgpIG9w ZXJhdGlvbiB3aXRoIGEKPiAtCSAqIHBvaW50ZXIgdG8gdGhlIG5ldyBmcmFtZSBidWZmZXIuCj4g KwkgKiBjb25maWd1cmVkIG1vZGUgYW5kIHRoZW4gY2FsbHMgdGhpcyBob29rIHdpdGggYSBwb2lu dGVyIHRvIHRoZSBuZXcKPiArCSAqIGZyYW1lIGJ1ZmZlci4KPiAgCSAqCj4gIAkgKiBUaGUgZHJp dmVyIG11c3Qgd2FpdCBmb3IgYW55IHBlbmRpbmcgcmVuZGVyaW5nIHRvIHRoZSBuZXcgZnJhbWVi dWZmZXIKPiAgCSAqIHRvIGNvbXBsZXRlIGJlZm9yZSBleGVjdXRpbmcgdGhlIGZsaXAuIEl0IHNo b3VsZCBhbHNvIHdhaXQgZm9yIGFueQo+IEBAIC0zODIsNyArMzgzLDcgQEAgc3RydWN0IGRybV9j cnRjX2Z1bmNzIHsKPiAgCSAqIFJFVFVSTlM6Cj4gIAkgKgo+ICAJICogMCBvbiBzdWNjZXNzIG9y IGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLiBOb3RlIHRoYXQgaWYgYQo+IC0JICog LT5wYWdlX2ZsaXAoKSBvcGVyYXRpb24gaXMgYWxyZWFkeSBwZW5kaW5nIHRoZSBjYWxsYmFjayBz aG91bGQgcmV0dXJuCj4gKwkgKiBwYWdlIGZsaXAgb3BlcmF0aW9uIGlzIGFscmVhZHkgcGVuZGlu ZyB0aGUgY2FsbGJhY2sgc2hvdWxkIHJldHVybgo+ICAJICogLUVCVVNZLiBQYWdlZmxpcHMgb24g YSBkaXNhYmxlZCBDUlRDIChlaXRoZXIgYnkgc2V0dGluZyBhIE5VTEwgbW9kZQo+ICAJICogb3Ig anVzdCBydW50aW1lIGRpc2FibGVkIHRocm91Z2ggRFBNUyByZXNwZWN0aXZlbHkgdGhlIG5ldyBh dG9taWMKPiAgCSAqICJBQ1RJVkUiIHN0YXRlKSBzaG91bGQgcmVzdWx0IGluIGFuIC1FSU5WQUwg ZXJyb3IgY29kZS4gTm90ZSB0aGF0Cj4gQEAgLTQzNiwxNyArNDM3LDE3IEBAIHN0cnVjdCBkcm1f Y3J0Y19mdW5jcyB7Cj4gIAkgKiBEdXBsaWNhdGUgdGhlIGN1cnJlbnQgYXRvbWljIHN0YXRlIGZv ciB0aGlzIENSVEMgYW5kIHJldHVybiBpdC4KPiAgCSAqIFRoZSBjb3JlIGFuZCBoZWxwZXJzIGd1 cmFudGVlIHRoYXQgYW55IGF0b21pYyBzdGF0ZSBkdXBsaWNhdGVkIHdpdGgKCiJndWFyYW50ZWUi Cgo+ICAJICogdGhpcyBob29rIGFuZCBzdGlsbCBvd25lZCBieSB0aGUgY2FsbGVyIChpLmUuIG5v dCB0cmFuc2ZlcnJlZCB0byB0aGUKPiAtCSAqIGRyaXZlciBieSBjYWxsaW5nIC0+YXRvbWljX2Nv bW1pdCgpIGZyb20gc3RydWN0Cj4gLQkgKiAmZHJtX21vZGVfY29uZmlnX2Z1bmNzKSB3aWxsIGJl IGNsZWFuZWQgdXAgYnkgY2FsbGluZyB0aGUKPiAtCSAqIEBhdG9taWNfZGVzdHJveV9zdGF0ZSBo b29rIGluIHRoaXMgc3RydWN0dXJlLgo+ICsJICogZHJpdmVyIGJ5IGNhbGxpbmcgJmRybV9tb2Rl X2NvbmZpZ19mdW5jcy5hdG9taWNfY29tbWl0KSB3aWxsIGJlCj4gKwkgKiBjbGVhbmVkIHVwIGJ5 IGNhbGxpbmcgdGhlIEBhdG9taWNfZGVzdHJveV9zdGF0ZSBob29rIGluIHRoaXMKPiArCSAqIHN0 cnVjdHVyZS4KPiAgCSAqCj4gLQkgKiBBdG9taWMgZHJpdmVycyB3aGljaCBkb24ndCBzdWJjbGFz cyAmc3RydWN0IGRybV9jcnRjIHNob3VsZCB1c2UKPiArCSAqIEF0b21pYyBkcml2ZXJzIHdoaWNo IGRvbid0IHN1YmNsYXNzICZzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgc2hvdWxkIHVzZQo+ICAJICog ZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoKS4gRHJpdmVycyB0aGF0IHN1 YmNsYXNzIHRoZQo+ICAJICogc3RhdGUgc3RydWN0dXJlIHRvIGV4dGVuZCBpdCB3aXRoIGRyaXZl ci1wcml2YXRlIHN0YXRlIHNob3VsZCB1c2UKPiAgCSAqIF9fZHJtX2F0b21pY19oZWxwZXJfY3J0 Y19kdXBsaWNhdGVfc3RhdGUoKSB0byBtYWtlIHN1cmUgc2hhcmVkIHN0YXRlIGlzCj4gIAkgKiBk dXBsaWNhdGVkIGluIGEgY29uc2lzdGVudCBmYXNoaW9uIGFjcm9zcyBkcml2ZXJzLgo+ICAJICoK PiAtCSAqIEl0IGlzIGFuIGVycm9yIHRvIGNhbGwgdGhpcyBob29rIGJlZm9yZSBjcnRjLT5zdGF0 ZSBoYXMgYmVlbgo+ICsJICogSXQgaXMgYW4gZXJyb3IgdG8gY2FsbCB0aGlzIGhvb2sgYmVmb3Jl ICZkcm1fY3J0Yy5zdGF0ZSBoYXMgYmVlbgo+ICAJICogaW5pdGlhbGl6ZWQgY29ycmVjdGx5Lgo+ ICAJICoKPiAgCSAqIE5PVEU6Cj4gQEAgLTY0MSw3ICs2NDIsNyBAQCBzdHJ1Y3QgZHJtX2NydGMg ewo+ICAJICogVGhpcyBwcm92aWRlcyBhIHJlYWQgbG9jayBmb3IgdGhlIG92ZXJhbGwgY3J0YyBz dGF0ZSAobW9kZSwgZHBtcwo+ICAJICogc3RhdGUsIC4uLikgYW5kIGEgd3JpdGUgbG9jayBmb3Ig ZXZlcnl0aGluZyB3aGljaCBjYW4gYmUgdXBkYXRlCj4gIAkgKiB3aXRob3V0IGEgZnVsbCBtb2Rl c2V0IChmYiwgY3Vyc29yIGRhdGEsIGNydGMgcHJvcGVydGllcyAuLi4pLiBGdWxsCj4gLQkgKiBt b2Rlc2V0IGFsc28gbmVlZCB0byBncmFiIGRldi0+bW9kZV9jb25maWcuY29ubmVjdGlvbl9tdXRl eC4KPiArCSAqIG1vZGVzZXQgYWxzbyBuZWVkIHRvIGdyYWIgJmRybV9tb2RlX2NvbmZpZy5jb25u ZWN0aW9uX211dGV4Lgo+ICAJICovCj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayBtdXRleDsK PiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oIGIvaW5jbHVk ZS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmgKPiBpbmRleCAwNDZjMzVlNTQwOTkuLjA0Yzc3ZWVlOWMy MCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZnJhbWVidWZmZXIuaAo+ICsrKyBiL2lu Y2x1ZGUvZHJtL2RybV9mcmFtZWJ1ZmZlci5oCj4gQEAgLTQwLDggKzQwLDggQEAgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlcl9mdW5jcyB7Cj4gIAkgKgo+ICAJICogQ2xlYW4gdXAgZnJhbWVidWZmZXIg cmVzb3VyY2VzLCBzcGVjaWZpY2FsbHkgYWxzbyB1bnJlZmVyZW5jZSB0aGUKPiAgCSAqIGJhY2tp bmcgc3RvcmFnZS4gVGhlIGNvcmUgZ3VhcmFudGVlcyB0byBjYWxsIHRoaXMgZnVuY3Rpb24gZm9y IGV2ZXJ5Cj4gLQkgKiBmcmFtZWJ1ZmZlciBzdWNjZXNzZnVsbHkgY3JlYXRlZCBieSAtPmZiX2Ny ZWF0ZSgpIGluCj4gLQkgKiAmZHJtX21vZGVfY29uZmlnX2Z1bmNzLiBEcml2ZXJzIG11c3QgYWxz byBjYWxsCj4gKwkgKiBmcmFtZWJ1ZmZlciBzdWNjZXNzZnVsbHkgY3JlYXRlZCBieSBjYWxsaW5n Cj4gKwkgKiAmZHJtX21vZGVfY29uZmlnX2Z1bmNzLmZiX2NyZWF0ZS4gRHJpdmVycyBtdXN0IGFs c28gY2FsbAo+ICAJICogZHJtX2ZyYW1lYnVmZmVyX2NsZWFudXAoKSB0byByZWxlYXNlIERSTSBj b3JlIHJlc291cmNlcyBmb3IgdGhpcwo+ICAJICogZnJhbWVidWZmZXIuCj4gIAkgKi8KPiBAQCAt MTEyLDggKzExMiw4IEBAIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgewo+ICAJICovCj4gIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2Owo+ICAJLyoqCj4gLQkgKiBAaGVhZDogUGxhY2Ugb24gdGhlIGRl di0+bW9kZV9jb25maWcuZmJfbGlzdCwgYWNjZXNzIHByb3RlY3RlZCBieQo+IC0JICogZGV2LT5t b2RlX2NvbmZpZy5mYl9sb2NrLgo+ICsJICogQGhlYWQ6IFBsYWNlIG9uIHRoZSAmZHJtX21vZGVf Y29uZmlnLmZiX2xpc3QsIGFjY2VzcyBwcm90ZWN0ZWQgYnkKPiArCSAqICZkcm1fbW9kZV9jb25m aWcuZmJfbG9jay4KPiAgCSAqLwo+ICAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+ICAKPiBAQCAt MTg3LDggKzE4Nyw3IEBAIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgewo+ICAJICovCj4gIAlpbnQg aG90X3k7Cj4gIAkvKioKPiAtCSAqIEBmaWxwX2hlYWQ6IFBsYWNlZCBvbiAmc3RydWN0IGRybV9m aWxlIGZicyBsaXN0X2hlYWQsIHByb3RlY3RlZCBieQo+IC0JICogZmJzX2xvY2sgaW4gdGhlIHNh bWUgc3RydWN0dXJlLgo+ICsJICogQGZpbHBfaGVhZDogUGxhY2VkIG9uICZkcm1fZmlsZS5mYnMs IHByb3RlY3RlZCBieSAmZHJtX2ZpbGUuZmJzX2xvY2suCj4gIAkgKi8KPiAgCXN0cnVjdCBsaXN0 X2hlYWQgZmlscF9oZWFkOwo+ICB9Owo+IEBAIC0yNjAsOCArMjU5LDggQEAgc3RhdGljIGlubGlu ZSB2b2lkIGRybV9mcmFtZWJ1ZmZlcl9hc3NpZ24oc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqKnAs Cj4gICAqIEBmYjogdGhlIGxvb3AgY3Vyc29yCj4gICAqIEBkZXY6IHRoZSBEUk0gZGV2aWNlCj4g ICAqCj4gLSAqIEl0ZXJhdGUgb3ZlciBhbGwgZnJhbWVidWZmZXJzIG9mIEBkZXYuIFVzZXIgbXVz dCBob2xkIHRoZSBmYl9sb2NrIGZyb20KPiAtICogJmRybV9tb2RlX2NvbmZpZy4KPiArICogSXRl cmF0ZSBvdmVyIGFsbCBmcmFtZWJ1ZmZlcnMgb2YgQGRldi4gVXNlciBtdXN0IGhvbGQKPiArICog JmRybV9tb2RlX2NvbmZpZy5mYl9sb2NrLgo+ICAgKi8KPiAgI2RlZmluZSBkcm1fZm9yX2VhY2hf ZmIoZmIsIGRldikgXAo+ICAJZm9yIChXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJihkZXYpLT5t b2RlX2NvbmZpZy5mYl9sb2NrKSksCQlcCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9t b2RlX2NvbmZpZy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKPiBpbmRleCBmZTIz MGYxNjFlZmMuLjI2ZmY0NmFiMjZmYiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9k ZV9jb25maWcuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2RlX2NvbmZpZy5oCj4gQEAgLTEz Miw4ICsxMzIsOCBAQCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIHsKPiAgCSAqICAgIHRo YXQgYmVmb3JlIGNhbGxpbmcgdGhpcyBob29rLgo+ICAJICoKPiAgCSAqIFNlZSB0aGUgZG9jdW1l bnRhdGlvbiBvZiBAYXRvbWljX2NvbW1pdCBmb3IgYW4gZXhoYXVzdGl2ZSBsaXN0IG9mCj4gLQkg KiBlcnJvciBjb25kaXRpb25zIHdoaWNoIGRvbid0IGhhdmUgdG8gYmUgY2hlY2tlZCBhdCB0aGUK PiAtCSAqIC0+YXRvbWljX2NoZWNrKCkgc3RhZ2U/Cj4gKwkgKiBlcnJvciBjb25kaXRpb25zIHdo aWNoIGRvbid0IGhhdmUgdG8gYmUgY2hlY2tlZCBhdCB0aGUgaW4gdGhpcwo+ICsJICogY2FsbGJh Y2suCj4gIAkgKgo+ICAJICogU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvciAmc3RydWN0IGRybV9h dG9taWNfc3RhdGUgZm9yIGhvdyBleGFjdGx5Cj4gIAkgKiBhbiBhdG9taWMgbW9kZXNldCB1cGRh dGUgaXMgZGVzY3JpYmVkLgo+IEBAIC0xOTgsMTAgKzE5OCwxMCBAQCBzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnX2Z1bmNzIHsKPiAgCSAqIGNvbXBsZXRlZC4gVGhlc2UgZXZlbnRzIGFyZSBwZXItQ1JU QyBhbmQgY2FuIGJlIGRpc3Rpbmd1aXNoZWQgYnkgdGhlCj4gIAkgKiBDUlRDIGluZGV4IHN1cHBs aWVkIGluICZkcm1fZXZlbnQgdG8gdXNlcnNwYWNlLgo+ICAJICoKPiAtCSAqIFRoZSBkcm0gY29y ZSB3aWxsIHN1cHBseSBhICZzdHJ1Y3QgZHJtX2V2ZW50IGluIHRoZSBldmVudAo+IC0JICogbWVt YmVyIG9mIGVhY2ggQ1JUQydzICZkcm1fY3J0Y19zdGF0ZSBzdHJ1Y3R1cmUuIFNlZSB0aGUKPiAt CSAqIGRvY3VtZW50YXRpb24gZm9yICZkcm1fY3J0Y19zdGF0ZSBmb3IgbW9yZSBkZXRhaWxzIGFi b3V0IHRoZSBwcmVjaXNlCj4gLQkgKiBzZW1hbnRpY3Mgb2YgdGhpcyBldmVudC4KPiArCSAqIFRo ZSBkcm0gY29yZSB3aWxsIHN1cHBseSBhICZzdHJ1Y3QgZHJtX2V2ZW50IGluIGVhY2ggQ1JUQydz Cj4gKwkgKiAmZHJtX2NydGNfc3RhdGUuZXZlbnQuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IK PiArCSAqICZkcm1fY3J0Y19zdGF0ZS5ldmVudCBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBw cmVjaXNlIHNlbWFudGljcyBvZgo+ICsJICogdGhpcyBldmVudC4KPiAgCSAqCj4gIAkgKiBOT1RF Ogo+ICAJICoKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfb2JqZWN0LmggYi9p bmNsdWRlL2RybS9kcm1fbW9kZV9vYmplY3QuaAo+IGluZGV4IDQzNDYwYjIxZDExMi4uMmMwMTdh ZGY2ZDc0IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9tb2RlX29iamVjdC5oCj4gKysr IGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfb2JqZWN0LmgKPiBAQCAtODYsMTAgKzg2LDE1IEBAIHN0 cnVjdCBkcm1fb2JqZWN0X3Byb3BlcnRpZXMgewo+ICAJICoKPiAgCSAqIE5vdGUgdGhhdCBhdG9t aWMgZHJpdmVycyBkbyBub3Qgc3RvcmUgbXV0YWJsZSBwcm9wZXJ0aWVzIGluIHRoaXMKPiAgCSAq IGFycmF5LCBidXQgb25seSB0aGUgZGVjb2RlZCB2YWx1ZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcg c3RhdGUKPiAtCSAqIHN0cnVjdHVyZS4gVGhlIGRlY29kaW5nIGlzIGRvbmUgdXNpbmcgdGhlIC0+ YXRvbWljX2dldF9wcm9wZXJ0eSBhbmQKPiAtCSAqIC0+YXRvbWljX3NldF9wcm9wZXJ0eSBob29r cyBvZiB0aGUgY29ycmVzcG9uZGluZyBvYmplY3QuIEhlbmNlIGF0b21pYwo+IC0JICogZHJpdmVy cyBzaG91bGQgbm90IHVzZSBkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZSgpIGFuZAo+IC0J ICogZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUoKSBvbiBtdXRhYmxlIG9iamVjdHMsIGku ZS4gdGhvc2UKPiArCSAqIHN0cnVjdHVyZS4gVGhlIGRlY29kaW5nIGlzIGRvbmUgdXNpbmcgdGhl ICZkcm1fY3J0Yy5hdG9taWNfZ2V0X3Byb3BlcnR5IGFuZAo+ICsJICogJmRybV9jcnRjLmF0b21p Y19zZXRfcHJvcGVydHkgaG9va3MgZm9yICZzdHJ1Y3QgZHJtX2NydGMuIEZvcgo+ICsJICogJnN0 cnVjdCBkcm1fcGxhbmUgdGhlIGhvb2tzIGFyZSAmZHJtX3BsYW5lX2Z1bmNzLmF0b21pY19nZXRf cHJvcGVydHkgYW5kCj4gKwkgKiAmZHJtX3BsYW5lX2Z1bmNzLmF0b21pY19zZXRfcHJvcGVydHku IEFuZCBmb3IgJnN0cnVjdCBkcm1fY29ubmVjdG9yCj4gKwkgKiB0aGUgaG9va3MgYXJlICZkcm1f Y29ubmVjdG9yX2Z1bmNzLmF0b21pY19nZXRfcHJvcGVydHkgYW5kCj4gKwkgKiAmZHJtX2Nvbm5l Y3Rvcl9mdW5jcy5hdG9taWNfc2V0X3Byb3BlcnR5IC4KPiArCSAqCj4gKwkgKiBIZW5jZSBhdG9t aWMgZHJpdmVycyBzaG91bGQgbm90IHVzZSBkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZSgp Cj4gKwkgKiBhbmQgZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUoKSBvbiBtdXRhYmxlIG9i amVjdHMsIGkuZS4gdGhvc2UKPiAgCSAqIHdpdGhvdXQgdGhlIERSTV9NT0RFX1BST1BfSU1NVVRB QkxFIGZsYWcgc2V0Lgo+ICAJICovCj4gIAl1aW50NjRfdCB2YWx1ZXNbRFJNX09CSkVDVF9NQVhf UFJPUEVSVFldOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgg Yi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgKPiBpbmRleCBkOTE4Y2U0NWVjMmMuLjk2 ZDM5ZmJkMTJjYSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgK PiArKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgKPiBAQCAtNjQsNyArNjQsNyBA QCBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggewo+ICAvKioKPiAgICogc3RydWN0IGRy bV9tb2Rlc2V0X2xvY2sgLSB1c2VkIGZvciBsb2NraW5nIG1vZGVzZXQgcmVzb3VyY2VzLgo+ICAg KiBAbXV0ZXg6IHJlc291cmNlIGxvY2tpbmcKPiAtICogQGhlYWQ6IHVzZWQgdG8gaG9sZCBpdCdz IHBsYWNlIG9uIHN0YXRlLT5sb2NrZWQgbGlzdCB3aGVuCj4gKyAqIEBoZWFkOiB1c2VkIHRvIGhv bGQgaXQncyBwbGFjZSBvbiAmZHJtX2F0b21pX3N0YXRlLmxvY2tlZCBsaXN0IHdoZW4KCiJpdHMi LCAiZHJtX2F0b21pY19zdGF0ZSIKCj4gICAqICAgIHBhcnQgb2YgYW4gYXRvbWljIHVwZGF0ZQo+ ICAgKgo+ICAgKiBVc2VkIGZvciBsb2NraW5nIENSVENzIGFuZCBvdGhlciBtb2Rlc2V0IHJlc291 cmNlcy4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmggYi9pbmNsdWRlL2Ry bS9kcm1fcGxhbmUuaAo+IGluZGV4IGUwNDliYzUyZmIwNy4uNTI1YTMzNDBjMWIyIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX3Bs YW5lLmgKPiBAQCAtMjQ5LDkgKzI0OSw5IEBAIHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mgewo+ICAJ ICogRHVwbGljYXRlIHRoZSBjdXJyZW50IGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBwbGFuZSBhbmQg cmV0dXJuIGl0Lgo+ICAJICogVGhlIGNvcmUgYW5kIGhlbHBlcnMgZ3VyYW50ZWUgdGhhdCBhbnkg YXRvbWljIHN0YXRlIGR1cGxpY2F0ZWQgd2l0aAoKImd1YXJhbnRlZSIKCj4gIAkgKiB0aGlzIGhv b2sgYW5kIHN0aWxsIG93bmVkIGJ5IHRoZSBjYWxsZXIgKGkuZS4gbm90IHRyYW5zZmVycmVkIHRv IHRoZQo+IC0JICogZHJpdmVyIGJ5IGNhbGxpbmcgLT5hdG9taWNfY29tbWl0KCkgZnJvbSBzdHJ1 Y3QKPiAtCSAqICZkcm1fbW9kZV9jb25maWdfZnVuY3MpIHdpbGwgYmUgY2xlYW5lZCB1cCBieSBj YWxsaW5nIHRoZQo+IC0JICogQGF0b21pY19kZXN0cm95X3N0YXRlIGhvb2sgaW4gdGhpcyBzdHJ1 Y3R1cmUuCj4gKwkgKiBkcml2ZXIgYnkgY2FsbGluZyAmZHJtX21vZGVfY29uZmlnX2Z1bmNzLmF0 b21pY19jb21taXQpIHdpbGwgYmUKPiArCSAqIGNsZWFuZWQgdXAgYnkgY2FsbGluZyB0aGUgQGF0 b21pY19kZXN0cm95X3N0YXRlIGhvb2sgaW4gdGhpcwo+ICsJICogc3RydWN0dXJlLgo+ICAJICoK PiAgCSAqIEF0b21pYyBkcml2ZXJzIHdoaWNoIGRvbid0IHN1YmNsYXNzICZzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlIHNob3VsZCB1c2UKPiAgCSAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxp Y2F0ZV9zdGF0ZSgpLiBEcml2ZXJzIHRoYXQgc3ViY2xhc3MgdGhlCj4gQEAgLTI1OSw3ICsyNTks NyBAQCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIHsKPiAgCSAqIF9fZHJtX2F0b21pY19oZWxwZXJf cGxhbmVfZHVwbGljYXRlX3N0YXRlKCkgdG8gbWFrZSBzdXJlIHNoYXJlZCBzdGF0ZSBpcwo+ICAJ ICogZHVwbGljYXRlZCBpbiBhIGNvbnNpc3RlbnQgZmFzaGlvbiBhY3Jvc3MgZHJpdmVycy4KPiAg CSAqCj4gLQkgKiBJdCBpcyBhbiBlcnJvciB0byBjYWxsIHRoaXMgaG9vayBiZWZvcmUgcGxhbmUt PnN0YXRlIGhhcyBiZWVuCj4gKwkgKiBJdCBpcyBhbiBlcnJvciB0byBjYWxsIHRoaXMgaG9vayBi ZWZvcmUgJmRybV9wbGFuZS5zdGF0ZSBoYXMgYmVlbgo+ICAJICogaW5pdGlhbGl6ZWQgY29ycmVj dGx5Lgo+ICAJICoKPiAgCSAqIE5PVEU6Cj4gQEAgLTQyMyw4ICs0MjMsOCBAQCBlbnVtIGRybV9w bGFuZV90eXBlIHsKPiAgCSAqCj4gIAkgKiBQcmltYXJ5IHBsYW5lcyByZXByZXNlbnQgYSAibWFp biIgcGxhbmUgZm9yIGEgQ1JUQy4gIFByaW1hcnkgcGxhbmVzCj4gIAkgKiBhcmUgdGhlIHBsYW5l cyBvcGVyYXRlZCB1cG9uIGJ5IENSVEMgbW9kZXNldHRpbmcgYW5kIGZsaXBwaW5nCj4gLQkgKiBv cGVyYXRpb25zIGRlc2NyaWJlZCBpbiB0aGUgcGFnZV9mbGlwIGFuZCBzZXRfY29uZmlnIGhvb2tz IGluIHN0cnVjdAo+IC0JICogJmRybV9jcnRjX2Z1bmNzLgo+ICsJICogb3BlcmF0aW9ucyBkZXNj cmliZWQgaW4gdGhlICZkcm1fY3J0Y19mdW5jcy5wYWdlX2ZsaXAgYW5kCj4gKwkgKiAmZHJtX2Ny dGNfZnVuY3Muc2V0X2NvbmZpZyBob29rcy4KPiAgCSAqLwo+ICAJRFJNX1BMQU5FX1RZUEVfUFJJ TUFSWSwKPiAgCj4gQEAgLTQ3MCw4ICs0NzAsOCBAQCBzdHJ1Y3QgZHJtX3BsYW5lIHsKPiAgCS8q Kgo+ICAJICogQG11dGV4Ogo+ICAJICoKPiAtCSAqIFByb3RlY3RzIG1vZGVzZXQgcGxhbmUgc3Rh dGUsIHRvZ2V0aGVyIHdpdGggdGhlIG11dGV4IG9mICZkcm1fY3J0Ywo+IC0JICogdGhpcyBwbGFu ZSBpcyBsaW5rZWQgdG8gKHdoZW4gYWN0aXZlLCBnZXR0aW5nIGFjdGl2ZWQgb3IgZ2V0dGluZwo+ ICsJICogUHJvdGVjdHMgbW9kZXNldCBwbGFuZSBzdGF0ZSwgdG9nZXRoZXIgd2l0aCB0aGUgJmRy bV9jcnRjLm11dGV4IG9mCj4gKwkgKiBDUlRDIHRoaXMgcGxhbmUgaXMgbGlua2VkIHRvICh3aGVu IGFjdGl2ZSwgZ2V0dGluZyBhY3RpdmVkIG9yIGdldHRpbmcKCiJhY3RpdmF0ZWQiCgo+ICAJICog ZGlzYWJsZWQpLgo+ICAJICovCj4gIAlzdHJ1Y3QgZHJtX21vZGVzZXRfbG9jayBtdXRleDsKPiBA QCAtNTgwLDcgKzU4MCw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9wbGFuZSAqZHJtX3Bs YW5lX2ZpbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICoKPiAgICogSXRlcmF0ZSBvdmVy IGFsbCBsZWdhY3kgcGxhbmVzIG9mIEBkZXYsIGV4Y2x1ZGluZyBwcmltYXJ5IGFuZCBjdXJzb3Ig cGxhbmVzLgo+ICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgaW1wbGVtZW50aW5nIHVzZXJzcGFjZSBh cGlzIHdoZW4gdXNlcnNwYWNlIGlzIG5vdAo+IC0gKiB1bml2ZXJzYWwgcGxhbmUgYXdhcmUuIFNl ZSBhbHNvIGVudW0gJmRybV9wbGFuZV90eXBlLgo+ICsgKiB1bml2ZXJzYWwgcGxhbmUgYXdhcmUu IFNlZSBhbHNvICZlbnVtIGRybV9wbGFuZV90eXBlLgo+ICAgKi8KPiAgI2RlZmluZSBkcm1fZm9y X2VhY2hfbGVnYWN5X3BsYW5lKHBsYW5lLCBkZXYpIFwKPiAgCWxpc3RfZm9yX2VhY2hfZW50cnko cGxhbmUsICYoZGV2KS0+bW9kZV9jb25maWcucGxhbmVfbGlzdCwgaGVhZCkgXAo+IGRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fcHJvcGVydHkuaCBiL2luY2x1ZGUvZHJtL2RybV9wcm9wZXJ0 eS5oCj4gaW5kZXggNDNjNGI2YTIwNDZkLi5mNjZmZGI0NzU1MWMgMTAwNjQ0Cj4gLS0tIGEvaW5j bHVkZS9kcm0vZHJtX3Byb3BlcnR5LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fcHJvcGVydHku aAo+IEBAIC0zMCw3ICszMCw3IEBACj4gIC8qKgo+ICAgKiBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Vu dW0gLSBzeW1ib2xpYyB2YWx1ZXMgZm9yIGVudW1lcmF0aW9ucwo+ICAgKiBAdmFsdWU6IG51bWVy aWMgcHJvcGVydHkgdmFsdWUgZm9yIHRoaXMgZW51bSBlbnRyeQo+IC0gKiBAaGVhZDogbGlzdCBv ZiBlbnVtIHZhbHVlcywgbGlua2VkIHRvIGVudW1fbGlzdCBpbiAmZHJtX3Byb3BlcnR5Cj4gKyAq IEBoZWFkOiBsaXN0IG9mIGVudW0gdmFsdWVzLCBsaW5rZWQgdG8gJmRybV9wcm9wZXJ0eS5lbnVt X2xpc3QKPiAgICogQG5hbWU6IHN5bWJvbGljIG5hbWUgZm9yIHRoZSBlbnVtCj4gICAqCj4gICAq IEZvciBlbnVtZXJhdGlvbiBhbmQgYml0bWFzayBwcm9wZXJ0aWVzIHRoaXMgc3RydWN0dXJlIHN0 b3JlcyB0aGUgc3ltYm9saWMKPiBAQCAtMTkxLDkgKzE5MSw5IEBAIHN0cnVjdCBkcm1fcHJvcGVy dHkgewo+ICAgKiBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgLSBCbG9iIGRhdGEgZm9yICZkcm1f cHJvcGVydHkKPiAgICogQGJhc2U6IGJhc2UgS01TIG9iamVjdAo+ICAgKiBAZGV2OiBEUk0gZGV2 aWNlCj4gLSAqIEBoZWFkX2dsb2JhbDogZW50cnkgb24gdGhlIGdsb2JhbCBibG9iIGxpc3QgaW4g JmRybV9tb2RlX2NvbmZpZwo+IC0gKglwcm9wZXJ0eV9ibG9iX2xpc3QuCj4gLSAqIEBoZWFkX2Zp bGU6IGVudHJ5IG9uIHRoZSBwZXItZmlsZSBibG9iIGxpc3QgaW4gJmRybV9maWxlIGJsb2JzIGxp c3QuCj4gKyAqIEBoZWFkX2dsb2JhbDogZW50cnkgb24gdGhlIGdsb2JhbCBibG9iIGxpc3QgaW4K PiArICogCSZkcm1fbW9kZV9jb25maWcucHJvcGVydHlfYmxvYl9saXN0Lgo+ICsgKiBAaGVhZF9m aWxlOiBlbnRyeSBvbiB0aGUgcGVyLWZpbGUgYmxvYiBsaXN0IGluICZkcm1fZmlsZS5ibG9icyBs aXN0Lgo+ICAgKiBAbGVuZ3RoOiBzaXplIG9mIHRoZSBibG9iIGluIGJ5dGVzLCBpbnZhcmlhbnQg b3ZlciB0aGUgbGlmZXRpbWUgb2YgdGhlIG9iamVjdAo+ICAgKiBAZGF0YTogYWN0dWFsIGRhdGEs IGVtYmVkZGVkIGF0IHRoZSBlbmQgb2YgdGhpcyBzdHJ1Y3R1cmUKPiAgICoKPiAtLSAKPiAyLjEx LjAKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==