From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH v1 1/2] xen/kbdif: update protocol documentation Date: Fri, 20 Jan 2017 08:58:39 +0200 Message-ID: <3d4c8fac-d32a-1f25-9f8f-37a9f32db8cc@gmail.com> References: <1484817891-4883-1-git-send-email-andr2000@gmail.com> <1484817891-4883-2-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cUT9p-0006Gj-G6 for xen-devel@lists.xenproject.org; Fri, 20 Jan 2017 06:58:45 +0000 Received: by mail-wm0-f68.google.com with SMTP id c85so4410655wmi.1 for ; Thu, 19 Jan 2017 22:58:43 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: konrad.wilk@oracle.com, vlad.babchuk@gmail.com, andrii.anisov@gmail.com, olekstysh@gmail.com, al1img@gmail.com, xen-devel@lists.xenproject.org, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org T24gMDEvMTkvMjAxNyAwODo1NiBQTSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+IE9uIFRo dSwgMTkgSmFuIDIwMTcsIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+PiBGcm9tOiBP bGVrc2FuZHIgQW5kcnVzaGNoZW5rbyA8T2xla3NhbmRyX0FuZHJ1c2hjaGVua29AZXBhbS5jb20+ Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxPbGVrc2FuZHJf QW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4KPj4gLS0tCj4+ICAgeGVuL2luY2x1ZGUvcHVibGljL2lv L2tiZGlmLmggfCAyNDggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t Cj4+ICAgMSBmaWxlIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkK Pj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9rYmRpZi5oIGIveGVuL2lu Y2x1ZGUvcHVibGljL2lvL2tiZGlmLmgKPj4gaW5kZXggMmQyYWViZGQzZjI4Li5jMDBmYWEzYWY1 ZDIgMTAwNjQ0Cj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9rYmRpZi5oCj4+ICsrKyBi L3hlbi9pbmNsdWRlL3B1YmxpYy9pby9rYmRpZi5oCj4+IEBAIC0yNiw0NiArMjYsMjI2IEBACj4+ ICAgI2lmbmRlZiBfX1hFTl9QVUJMSUNfSU9fS0JESUZfSF9fCj4+ICAgI2RlZmluZSBfX1hFTl9Q VUJMSUNfSU9fS0JESUZfSF9fCj4+ICAgCj4+IC0vKiBJbiBldmVudHMgKGJhY2tlbmQgLT4gZnJv bnRlbmQpICovCj4+ICsvKgo+PiArICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4+ICsgKiAgICAgICAg ICAgICAgICAgICAgIEZlYXR1cmUgYW5kIFBhcmFtZXRlciBOZWdvdGlhdGlvbgo+PiArICoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCj4+ICsgKgo+PiArICogVGhlIHR3byBoYWx2ZXMgb2YgYSBwYXJhLXZp cnR1YWwgZHJpdmVyIHV0aWxpemUgbm9kZXMgd2l0aGluIHRoZQo+IHdpdGhpbiAiWGVuU3RvcmUi LCBkcm9wICJ0aGUiCj4KPiBBc2lkZSBmcm9tIHRoaXMgbWlub3IgdGhpczoKPgo+IFJldmlld2Vk LWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ClRoYW5rcywK d2l0aCB0aGlzIGNoYW5nZSBkb25lLCBjYW4gSSBwdXQgeW91ciBSZXZpZXdlZC1ieQppbnRvIHRo ZSBuZXh0IHZlcnNpb24gb2YgdGhpcyBwYXRjaD8KPgo+PiArICogWGVuU3RvcmUgdG8gY29tbXVu aWNhdGUgY2FwYWJpbGl0aWVzIGFuZCB0byBuZWdvdGlhdGUgb3BlcmF0aW5nIHBhcmFtZXRlcnMu Cj4+ICsgKiBUaGlzIHNlY3Rpb24gZW51bWVyYXRlcyB0aGVzZSBub2RlcyB3aGljaCByZXNpZGUg aW4gdGhlIHJlc3BlY3RpdmUgZnJvbnQgYW5kCj4+ICsgKiBiYWNrZW5kIHBvcnRpb25zIG9mIFhl blN0b3JlLCBmb2xsb3dpbmcgWGVuQnVzIGNvbnZlbnRpb24uCj4+ICsgKgo+PiArICogQWxsIGRh dGEgaW4gWGVuU3RvcmUgaXMgc3RvcmVkIGFzIHN0cmluZ3MuICBOb2RlcyBzcGVjaWZ5aW5nIG51 bWVyaWMKPj4gKyAqIHZhbHVlcyBhcmUgZW5jb2RlZCBpbiBkZWNpbWFsLiBJbnRlZ2VyIHZhbHVl IHJhbmdlcyBsaXN0ZWQgYmVsb3cgYXJlCj4+ICsgKiBleHByZXNzZWQgYXMgZml4ZWQgc2l6ZWQg aW50ZWdlciB0eXBlcyBjYXBhYmxlIG9mIHN0b3JpbmcgdGhlIGNvbnZlcnNpb24KPj4gKyAqIG9m IGEgcHJvcGVybHkgZm9ybWF0ZWQgbm9kZSBzdHJpbmcsIHdpdGhvdXQgbG9zcyBvZiBpbmZvcm1h dGlvbi4KPj4gKyAqCj4+ICsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gKyAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJhY2tlbmQgWGVuQnVzIE5vZGVzCj4+ICsgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKPj4gKyAqCj4+ICsgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRmVhdHVyZXMg c3VwcG9ydGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKyAqCj4+ICsgKiBDYXBh YmxlIGJhY2tlbmQgYWR2ZXJ0aXNlcyBzdXBwb3J0ZWQgZmVhdHVyZXMgYnkgcHVibGlzaGluZwo+ PiArICogY29ycmVzcG9uZGluZyBlbnRyaWVzIGluIFhlblN0b3JlIGFuZCBwdXRzIDEgYXMgdGhl IHZhbHVlIG9mIHRoZSBlbnRyeS4KPj4gKyAqIElmIGEgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVk IHRoZW4gMCBtdXN0IGJlIHNldCBvciBmZWF0dXJlIGVudHJ5IG9taXR0ZWQuCj4+ICsgKgo+PiAr ICogZmVhdHVyZS1hYnMtcG9pbnRlcgo+PiArICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+ Cj4+ICsgKgo+PiArICogICAgICBCYWNrZW5kcywgd2hpY2ggc3VwcG9ydCByZXBvcnRpbmcgb2Yg YWJzb2x1dGUgY29vcmRpbmF0ZXMgZm9yIHBvaW50ZXIKPj4gKyAqICAgICAgZGV2aWNlIHNob3Vs ZCBzZXQgdGhpcyB0byAxLgo+PiArICoKPj4gKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQ b2ludGVyIERldmljZSBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiArICoK Pj4gKyAqIHdpZHRoCj4+ICsgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KPj4gKyAqCj4+ ICsgKiAgICAgIE1heGltdW0gWCBjb29yZGluYXRlICh3aWR0aCkgdG8gYmUgdXNlZCBieSB0aGUg ZnJvbnRlbmQKPj4gKyAqICAgICAgd2hpbGUgcmVwb3J0aW5nIGlucHV0IGV2ZW50cywgcGl4ZWxz LCBbMDsgVUlOVDMyX01BWF0uCj4+ICsgKgo+PiArICogaGVpZ2h0Cj4+ICsgKiAgICAgIFZhbHVl czogICAgICAgICA8dWludD4KPj4gKyAqCj4+ICsgKiAgICAgIE1heGltdW0gWSBjb29yZGluYXRl IChoZWlnaHQpIHRvIGJlIHVzZWQgYnkgdGhlIGZyb250ZW5kCj4+ICsgKiAgICAgIHdoaWxlIHJl cG9ydGluZyBpbnB1dCBldmVudHMsIHBpeGVscywgWzA7IFVJTlQzMl9NQVhdLgo+PiArICoKPj4g KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgo+PiArICogICAgICAgICAgICAgICAgICAgICAgICAgICAg RnJvbnRlbmQgWGVuQnVzIE5vZGVzCj4+ICsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gKyAqCj4+ ICsgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGZWF0dXJlIHJlcXVlc3QgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKyAqCj4+ICsgKiBDYXBhYmxlIGZyb250ZW5kIHJl cXVlc3RzIGZlYXR1cmVzIGZyb20gYmFja2VuZCB2aWEgc2V0dGluZyBjb3JyZXNwb25kaW5nCj4+ ICsgKiBlbnRyaWVzIHRvIDEgaW4gWGVuU3RvcmUuIFJlcXVlc3RzIGZvciBmZWF0dXJlcyBub3Qg YWR2ZXJ0aXNlZCBhcyBzdXBwb3J0ZWQKPj4gKyAqIGJ5IHRoZSBiYWNrZW5kIGhhdmUgbm8gZWZm ZWN0Lgo+PiArICoKPj4gKyAqIHJlcXVlc3QtYWJzLXBvaW50ZXIKPj4gKyAqICAgICAgVmFsdWVz OiAgICAgICAgIDx1aW50Pgo+PiArICoKPj4gKyAqICAgICAgUmVxdWVzdCBiYWNrZW5kIHRvIHJl cG9ydCBhYnNvbHV0ZSBwb2ludGVyIGNvb3JkaW5hdGVzCj4+ICsgKiAgICAgIChYRU5LQkRfVFlQ RV9QT1MpIGluc3RlYWQgb2YgcmVsYXRpdmUgb25lcyAoWEVOS0JEX1RZUEVfTU9USU9OKS4KPj4g KyAqCj4+ICsgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlcXVlc3QgVHJhbnNwb3J0IFBhcmFt ZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gKyAqCj4+ICsgKiBldmVudC1jaGFubmVs Cj4+ICsgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KPj4gKyAqCj4+ICsgKiAgICAgIFRo ZSBpZGVudGlmaWVyIG9mIHRoZSBYZW4gZXZlbnQgY2hhbm5lbCB1c2VkIHRvIHNpZ25hbCBhY3Rp dml0eQo+PiArICogICAgICBpbiB0aGUgcmluZyBidWZmZXIuCj4+ICsgKgo+PiArICogcGFnZS1n cmVmCj4+ICsgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KPj4gKyAqCj4+ICsgKiAgICAg IFRoZSBYZW4gZ3JhbnQgcmVmZXJlbmNlIGdyYW50aW5nIHBlcm1pc3Npb24gZm9yIHRoZSBiYWNr ZW5kIHRvIG1hcAo+PiArICogICAgICBhIHNvbGUgcGFnZSBpbiBhIHNpbmdsZSBwYWdlIHNpemVk IGV2ZW50IHJpbmcgYnVmZmVyLgo+PiArICoKPj4gKyAqIHBhZ2UtcmVmCj4+ICsgKiAgICAgIFZh bHVlczogICAgICAgICA8dWludD4KPj4gKyAqCj4+ICsgKiAgICAgIE9CU09MRVRFLCBub3QgcmVj b21tZW5kZWQgZm9yIHVzZS4KPj4gKyAqICAgICAgUEZOIG9mIHRoZSBzaGFyZWQgcGFnZS4KPj4g KyAqLwo+PiAgIAo+PiAgIC8qCj4+IC0gKiBGcm9udGVuZHMgc2hvdWxkIGlnbm9yZSB1bmtub3du IGluIGV2ZW50cy4KPj4gKyAqIEVWRU5UIENPREVTLgo+PiAgICAqLwo+PiAgIAo+PiAtLyogUG9p bnRlciBtb3ZlbWVudCBldmVudCAqLwo+PiAtI2RlZmluZSBYRU5LQkRfVFlQRV9NT1RJT04gIDEK Pj4gLS8qIEV2ZW50IHR5cGUgMiBjdXJyZW50bHkgbm90IHVzZWQgKi8KPj4gLS8qIEtleSBldmVu dCAoaW5jbHVkZXMgcG9pbnRlciBidXR0b25zKSAqLwo+PiAtI2RlZmluZSBYRU5LQkRfVFlQRV9L RVkgICAgIDMKPj4gKyNkZWZpbmUgWEVOS0JEX1RZUEVfTU9USU9OICAgICAgICAgICAgIDEKPj4g KyNkZWZpbmUgWEVOS0JEX1RZUEVfUkVTRVJWRUQgICAgICAgICAgIDIKPj4gKyNkZWZpbmUgWEVO S0JEX1RZUEVfS0VZICAgICAgICAgICAgICAgIDMKPj4gKyNkZWZpbmUgWEVOS0JEX1RZUEVfUE9T ICAgICAgICAgICAgICAgIDQKPj4gKwo+PiAgIC8qCj4+IC0gKiBQb2ludGVyIHBvc2l0aW9uIGV2 ZW50Cj4+IC0gKiBDYXBhYmxlIGJhY2tlbmQgc2V0cyBmZWF0dXJlLWFicy1wb2ludGVyIGluIHhl bnN0b3JlLgo+PiAtICogRnJvbnRlbmQgcmVxdWVzdHMgb3QgaW5zdGVhZCBvZiBYRU5LQkRfVFlQ RV9NT1RJT04gYnkgc2V0dGluZwo+PiAtICogcmVxdWVzdC1hYnMtdXBkYXRlIGluIHhlbnN0b3Jl Lgo+PiArICogQ09OU1RBTlRTLCBYRU5TVE9SRSBGSUVMRCBBTkQgUEFUSCBOQU1FIFNUUklOR1Ms IEhFTFBFUlMuCj4+ICsgKi8KPj4gKwo+PiArI2RlZmluZSBYRU5LQkRfRFJJVkVSX05BTUUgICAg ICAgICAgICAgInZrYmQiCj4+ICsKPj4gKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX0ZFQVRfQUJTX1BP SU5URVIgICJmZWF0dXJlLWFicy1wb2ludGVyIgo+PiArI2RlZmluZSBYRU5LQkRfRklFTERfUkVR X0FCU19QT0lOVEVSICAgInJlcXVlc3QtYWJzLXBvaW50ZXIiCj4+ICsjZGVmaW5lIFhFTktCRF9G SUVMRF9SSU5HX0dSRUYgICAgICAgICAicGFnZS1ncmVmIgo+PiArI2RlZmluZSBYRU5LQkRfRklF TERfRVZUX0NIQU5ORUwgICAgICAgImV2ZW50LWNoYW5uZWwiCj4+ICsjZGVmaW5lIFhFTktCRF9G SUVMRF9XSURUSCAgICAgICAgICAgICAid2lkdGgiCj4+ICsjZGVmaW5lIFhFTktCRF9GSUVMRF9I RUlHSFQgICAgICAgICAgICAiaGVpZ2h0Igo+PiArCj4+ICsvKiBPQlNPTEVURSwgbm90IHJlY29t bWVuZGVkIGZvciB1c2UgKi8KPj4gKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX1JJTkdfUkVGICAgICAg ICAgICJwYWdlLXJlZiIKPj4gKwo+PiArLyoKPj4gKyAqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+PiAr ICogRGVzY3JpcHRpb24gb2YgdGhlIHByb3RvY29sIGJldHdlZW4gZnJvbnRlbmQgYW5kIGJhY2tl bmQgZHJpdmVyLgo+PiArICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4+ICsgKgo+PiArICogVGhlIHR3 byBoYWx2ZXMgb2YgYSBQYXJhLXZpcnR1YWwgZHJpdmVyIGNvbW11bmljYXRlIHdpdGgKPj4gKyAq IGVhY2ggb3RoZXIgdXNpbmcgYSBzaGFyZWQgcGFnZSBhbmQgYW4gZXZlbnQgY2hhbm5lbC4KPj4g KyAqIFNoYXJlZCBwYWdlIGNvbnRhaW5zIGEgcmluZyB3aXRoIGV2ZW50IHN0cnVjdHVyZXMuCj4+ ICsgKgo+PiArICogQWxsIHJlc2VydmVkIGZpZWxkcyBpbiB0aGUgc3RydWN0dXJlcyBiZWxvdyBt dXN0IGJlIDAuCj4+ICsgKgo+PiArICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4+ICsgKiAgICAgICAg ICAgICAgICAgICAgICAgICAgIEJhY2tlbmQgdG8gZnJvbnRlbmQgZXZlbnRzCj4+ICsgKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKPj4gKyAqCj4+ICsgKiBGcm9udGVuZHMgc2hvdWxkIGlnbm9yZSB1bmtu b3duIGluIGV2ZW50cy4KPj4gKyAqIEFsbCBldmVudCBwYWNrZXRzIGhhdmUgdGhlIHNhbWUgbGVu Z3RoICg0MCBvY3RldHMpCj4+ICsgKiBBbGwgZXZlbnQgcGFja2V0cyBoYXZlIGNvbW1vbiBoZWFk ZXI6Cj4+ICsgKgo+PiArICogICAgICAgICAgMCAgICAgICAgIG9jdGV0Cj4+ICsgKiArLS0tLS0t LS0tLS0tLS0tLS0rCj4+ICsgKiB8ICAgICAgIHR5cGUgICAgICB8Cj4+ICsgKiArLS0tLS0tLS0t LS0tLS0tLS0rCj4+ICsgKiB0eXBlIC0gdWludDhfdCwgZXZlbnQgY29kZSwgWEVOS0JEX1RZUEVf Pz8/Cj4+ICsgKgo+PiArICoKPj4gKyAqIFBvaW50ZXIgcmVsYXRpdmUgbW92ZW1lbnQgZXZlbnQK Pj4gKyAqICAgICAgICAgMCAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAyICAgICAg ICAgICAgICAgMyAgICAgICAgb2N0ZXQKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAgX1RZ UEVfTU9USU9OICB8ICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAg ICAgICB8IDQKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZWxfeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDgKPj4gKyAq ICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tKwo+PiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxf eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyCj4+ICsgKiArLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsK Pj4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsX3ogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxNgo+PiArICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCj4+ICsgKiB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMjAKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98Cj4+ICsgKiAr LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSsKPj4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVk ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAo+PiArICogKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCj4+ ICsgKgo+PiArICogcmVsX3ggLSBpbnQzMl90LCByZWxhdGl2ZSBYIG1vdGlvbgo+PiArICogcmVs X3kgLSBpbnQzMl90LCByZWxhdGl2ZSBZIG1vdGlvbgo+PiArICogcmVsX3ogLSBpbnQzMl90LCBy ZWxhdGl2ZSBaIG1vdGlvbiAod2hlZWwpCj4+ICAgICovCj4+IC0jZGVmaW5lIFhFTktCRF9UWVBF X1BPUyAgICAgNAo+PiAgIAo+PiAgIHN0cnVjdCB4ZW5rYmRfbW90aW9uCj4+ICAgewo+PiAtICAg IHVpbnQ4X3QgdHlwZTsgICAgICAgIC8qIFhFTktCRF9UWVBFX01PVElPTiAqLwo+PiAtICAgIGlu dDMyX3QgcmVsX3g7ICAgICAgIC8qIHJlbGF0aXZlIFggbW90aW9uICovCj4+IC0gICAgaW50MzJf dCByZWxfeTsgICAgICAgLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KPj4gLSAgICBpbnQzMl90IHJl bF96OyAgICAgICAvKiByZWxhdGl2ZSBaIG1vdGlvbiAod2hlZWwpICovCj4+ICsgICAgdWludDhf dCB0eXBlOwo+PiArICAgIGludDMyX3QgcmVsX3g7Cj4+ICsgICAgaW50MzJfdCByZWxfeTsKPj4g KyAgICBpbnQzMl90IHJlbF96Owo+PiAgIH07Cj4+ICAgCj4+ICsvKgo+PiArICogS2V5IGV2ZW50 IChpbmNsdWRlcyBwb2ludGVyIGJ1dHRvbnMpCj4+ICsgKiAgICAgICAgIDAgICAgICAgICAgICAg ICAgMSAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgIDMgICAgICAgIG9jdGV0Cj4+ICsg KiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSsKPj4gKyAqIHwgIF9UWVBFX0tFWSAgICAgfCAgICAgcHJlc3NlZCAgICB8 ICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgfCA0Cj4+ICsgKiArLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsK Pj4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXljb2RlICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCA4Cj4+ICsgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKPj4gKyAqIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMgo+PiArICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCj4+ICsgKiB8L1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL3wKPj4gKyAqICst LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tKwo+PiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQwCj4+ICsgKiArLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKPj4g KyAqCj4+ICsgKiBwcmVzc2VkIC0gdWludDhfdCwgMSBpZiBwcmVzc2VkOyAwIG90aGVyd2lzZQo+ PiArICoga2V5Y29kZSAtIHVpbnQzMl90LCBLRVlfKiBmcm9tIGxpbnV4L2lucHV0LmgKPj4gKyAq Lwo+PiArCj4+ICAgc3RydWN0IHhlbmtiZF9rZXkKPj4gICB7Cj4+IC0gICAgdWludDhfdCB0eXBl OyAgICAgICAgIC8qIFhFTktCRF9UWVBFX0tFWSAqLwo+PiAtICAgIHVpbnQ4X3QgcHJlc3NlZDsg ICAgICAvKiAxIGlmIHByZXNzZWQ7IDAgb3RoZXJ3aXNlICovCj4+IC0gICAgdWludDMyX3Qga2V5 Y29kZTsgICAgIC8qIEtFWV8qIGZyb20gbGludXgvaW5wdXQuaCAqLwo+PiArICAgIHVpbnQ4X3Qg dHlwZTsKPj4gKyAgICB1aW50OF90IHByZXNzZWQ7Cj4+ICsgICAgdWludDMyX3Qga2V5Y29kZTsK Pj4gICB9Owo+PiAgIAo+PiArLyoKPj4gKyAqIFBvaW50ZXIgYWJzb2x1dGUgcG9zaXRpb24gZXZl bnQKPj4gKyAqICAgICAgICAgMCAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAyICAg ICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAg X1RZUEVfUE9TICAgICB8ICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAg ICAgICAgICB8IDQKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBhYnNfeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDgKPj4g KyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh YnNfeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyCj4+ICsgKiArLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LSsKPj4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsX3ogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAxNgo+PiArICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCj4+ICsgKiB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMjAKPj4gKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98Cj4+ICsg KiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLSsKPj4gKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2Vy dmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAo+PiArICogKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r Cj4+ICsgKgo+PiArICogYWJzX3ggLSBpbnQzMl90LCBhYnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBG QiBwaXhlbHMpCj4+ICsgKiBhYnNfeSAtIGludDMyX3QsIGFic29sdXRlIFkgcG9zaXRpb24gKGlu IEZCIHBpeGVscykKPj4gKyAqIHJlbF96IC0gaW50MzJfdCwgcmVsYXRpdmUgWiBtb3Rpb24gKHdo ZWVsKQo+PiArICovCj4+ICsKPj4gICBzdHJ1Y3QgeGVua2JkX3Bvc2l0aW9uCj4+ICAgewo+PiAt ICAgIHVpbnQ4X3QgdHlwZTsgICAgICAgIC8qIFhFTktCRF9UWVBFX1BPUyAqLwo+PiAtICAgIGlu dDMyX3QgYWJzX3g7ICAgICAgIC8qIGFic29sdXRlIFggcG9zaXRpb24gKGluIEZCIHBpeGVscykg Ki8KPj4gLSAgICBpbnQzMl90IGFic195OyAgICAgICAvKiBhYnNvbHV0ZSBZIHBvc2l0aW9uIChp biBGQiBwaXhlbHMpICovCj4+IC0gICAgaW50MzJfdCByZWxfejsgICAgICAgLyogcmVsYXRpdmUg WiBtb3Rpb24gKHdoZWVsKSAqLwo+PiArICAgIHVpbnQ4X3QgdHlwZTsKPj4gKyAgICBpbnQzMl90 IGFic194Owo+PiArICAgIGludDMyX3QgYWJzX3k7Cj4+ICsgICAgaW50MzJfdCByZWxfejsKPj4g ICB9Owo+PiAgIAo+PiAgICNkZWZpbmUgWEVOS0JEX0lOX0VWRU5UX1NJWkUgNDAKPj4gQEAgLTc5 LDEyICsyNTksMjIgQEAgdW5pb24geGVua2JkX2luX2V2ZW50Cj4+ICAgICAgIGNoYXIgcGFkW1hF TktCRF9JTl9FVkVOVF9TSVpFXTsKPj4gICB9Owo+PiAgIAo+PiAtLyogT3V0IGV2ZW50cyAoZnJv bnRlbmQgLT4gYmFja2VuZCkgKi8KPj4gLQo+PiAgIC8qCj4+ICsgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKPj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250ZW5kIHRvIGJhY2tlbmQg ZXZlbnRzCj4+ICsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gKyAqCj4+ICAgICogT3V0IGV2ZW50 cyBtYXkgYmUgc2VudCBvbmx5IHdoZW4gcmVxdWVzdGVkIGJ5IGJhY2tlbmQsIGFuZCByZWNlaXB0 Cj4+ICAgICogb2YgYW4gdW5rbm93biBvdXQgZXZlbnQgaXMgYW4gZXJyb3IuCj4+ICAgICogTm8g b3V0IGV2ZW50cyBjdXJyZW50bHkgZGVmaW5lZC4KPj4gKwo+PiArICogQWxsIGV2ZW50IHBhY2tl dHMgaGF2ZSB0aGUgc2FtZSBsZW5ndGggKDQwIG9jdGV0cykKPj4gKyAqIEFsbCBldmVudCBwYWNr ZXRzIGhhdmUgY29tbW9uIGhlYWRlcjoKPj4gKyAqICAgICAgICAgIDAgICAgICAgICBvY3RldAo+ PiArICogKy0tLS0tLS0tLS0tLS0tLS0tKwo+PiArICogfCAgICAgICB0eXBlICAgICAgfAo+PiAr ICogKy0tLS0tLS0tLS0tLS0tLS0tKwo+PiArICogdHlwZSAtIHVpbnQ4X3QsIGV2ZW50IGNvZGUK Pj4gICAgKi8KPj4gICAKPj4gICAjZGVmaW5lIFhFTktCRF9PVVRfRVZFTlRfU0laRSA0MAo+PiBA QCAtOTUsNyArMjg1LDExIEBAIHVuaW9uIHhlbmtiZF9vdXRfZXZlbnQKPj4gICAgICAgY2hhciBw YWRbWEVOS0JEX09VVF9FVkVOVF9TSVpFXTsKPj4gICB9Owo+PiAgIAo+PiAtLyogc2hhcmVkIHBh Z2UgKi8KPj4gKy8qCj4+ICsgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4gKyAqICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFNoYXJlZCBwYWdlCj4+ICsgKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4g KyAqLwo+PiAgIAo+PiAgICNkZWZpbmUgWEVOS0JEX0lOX1JJTkdfU0laRSAyMDQ4Cj4+ICAgI2Rl ZmluZSBYRU5LQkRfSU5fUklOR19MRU4gKFhFTktCRF9JTl9SSU5HX1NJWkUgLyBYRU5LQkRfSU5f RVZFTlRfU0laRSkKPj4gQEAgLTExOSw3ICszMTMsNyBAQCBzdHJ1Y3QgeGVua2JkX3BhZ2UKPj4g ICAgICAgdWludDMyX3Qgb3V0X2NvbnMsIG91dF9wcm9kOwo+PiAgIH07Cj4+ICAgCj4+IC0jZW5k aWYKPj4gKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNfSU9fS0JESUZfSF9fICovCj4+ICAgCj4+ICAg LyoKPj4gICAgKiBMb2NhbCB2YXJpYWJsZXM6Cj4+IC0tIAo+PiAyLjcuNAo+PgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=