From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 26/28] drm: Move drm_display_mode an related docs into kerneldoc Date: Mon, 7 Dec 2015 15:39:28 +0200 Message-ID: <20151207133928.GF4437@intel.com> References: <1449218769-16577-1-git-send-email-daniel.vetter@ffwll.ch> <1449218769-16577-27-git-send-email-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: <1449218769-16577-27-git-send-email-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: intel-gfx@lists.freedesktop.org T24gRnJpLCBEZWMgMDQsIDIwMTUgYXQgMDk6NDY6MDdBTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBUaGlzIHdhcyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9kZXNldCBoZWxwZXIg aG9va3MsIHdoZXJlIGl0IGlzIGEKPiBiaXQgbWlzcGxhY2VkLgo+IAo+IHYyOiBSZWluZGVudCB0 aGUgZHJtX21vZGVfc3RhdHVzIGVudW0sIGluc3BpcmVkIGJ5IFZpbGxlLgo+IAo+IENjOiB2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbQo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IC0tLQo+ICBEb2N1bWVudGF0aW9uL0RvY0Jvb2sv Z3B1LnRtcGwgfCAxOTIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9tb2Rlcy5jICAgIHwgICAzICstCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlcy5oICAgICAg ICB8IDM0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICAzIGZp bGVzIGNoYW5nZWQsIDI5NyBpbnNlcnRpb25zKCspLCAyNDAgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCBiL0RvY3VtZW50YXRpb24v RG9jQm9vay9ncHUudG1wbAo+IGluZGV4IDUzMTJmNWEwNTc5OC4uODZlNWIxMmE0OWJhIDEwMDY0 NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbAo+ICsrKyBiL0RvY3VtZW50 YXRpb24vRG9jQm9vay9ncHUudG1wbAo+IEBAIC0xNzU4LDE5OCArMTc1OCw2IEBAIHZvaWQgaW50 ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgICAgICAgICAgICAgPGZ1bmN0 aW9uPmRybV9hZGRfZWRpZF9tb2RlczwvZnVuY3Rpb24+IG1hbnVhbGx5IGluIHRoYXQgY2FzZS4K PiAgICAgICAgICAgIDwvcGFyYT4KPiAgICAgICAgICAgIDxwYXJhPgo+IC0gICAgICAgICAgICBX aGVuIGFkZGluZyBtb2RlcyBtYW51YWxseSB0aGUgZHJpdmVyIGNyZWF0ZXMgZWFjaCBtb2RlIHdp dGggYSBjYWxsIHRvCj4gLSAgICAgICAgICAgIDxmdW5jdGlvbj5kcm1fbW9kZV9jcmVhdGU8L2Z1 bmN0aW9uPiBhbmQgbXVzdCBmaWxsIHRoZSBmb2xsb3dpbmcgZmllbGRzLgo+IC0gICAgICAgICAg ICA8aXRlbWl6ZWRsaXN0Pgo+IC0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KPiAtICAgICAgICAg ICAgICAgIDxzeW5vcHNpcz5fX3UzMiB0eXBlOzwvc3lub3BzaXM+Cj4gLSAgICAgICAgICAgICAg ICA8cGFyYT4KPiAtICAgICAgICAgICAgICAgICAgTW9kZSB0eXBlIGJpdG1hc2ssIGEgY29tYmlu YXRpb24gb2YKPiAtICAgICAgICAgICAgICAgICAgPHZhcmlhYmxlbGlzdD4KPiAtICAgICAgICAg ICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+ RFJNX01PREVfVFlQRV9CVUlMVElOPC90ZXJtPgo+IC0gICAgICAgICAgICAgICAgICAgICAgPGxp c3RpdGVtPjxwYXJhPm5vdCB1c2VkPzwvcGFyYT48L2xpc3RpdGVtPgo+IC0gICAgICAgICAgICAg ICAgICAgIDwvdmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50 cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9UWVBFX0NMT0NLX0M8 L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+bm90IHVzZWQ/ PC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+ Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAg ICAgICAgIDx0ZXJtPkRSTV9NT0RFX1RZUEVfQ1JUQ19DPC90ZXJtPgo+IC0gICAgICAgICAgICAg ICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPm5vdCB1c2VkPzwvcGFyYT48L2xpc3RpdGVtPgo+IC0g ICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAg IDx2YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT4KPiAtICAgICAg ICBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCAtIFRoZSBwcmVmZXJyZWQgbW9kZSBmb3IgdGhlIGNv bm5lY3Rvcgo+IC0gICAgICAgICAgICAgICAgICAgICAgPC90ZXJtPgo+IC0gICAgICAgICAgICAg ICAgICAgICAgPGxpc3RpdGVtPgo+IC0gICAgICAgICAgICAgICAgICAgICAgICA8cGFyYT5ub3Qg dXNlZD88L3BhcmE+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8L2xpc3RpdGVtPgo+IC0gICAg ICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgIDx2 YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9UWVBF X0RFRkFVTFQ8L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+ bm90IHVzZWQ/PC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgPC92YXJs aXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KPiAtICAgICAg ICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX1RZUEVfVVNFUkRFRjwvdGVybT4KPiAtICAg ICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5ub3QgdXNlZD88L3BhcmE+PC9saXN0 aXRlbT4KPiAtICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KPiAtICAgICAgICAg ICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+ RFJNX01PREVfVFlQRV9EUklWRVI8L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlz dGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPgo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgIFRoZSBtb2RlIGhhcyBiZWVuIGNyZWF0ZWQgYnkgdGhlIGRyaXZlciAoYXMg b3Bwb3NlZCB0bwo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHVzZXItY3JlYXRlZCBt b2RlcykuCj4gLSAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KPiAtICAgICAgICAgICAg ICAgICAgICAgIDwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50 cnk+Cj4gLSAgICAgICAgICAgICAgICAgIDwvdmFyaWFibGVsaXN0Pgo+IC0gICAgICAgICAgICAg ICAgICBEcml2ZXJzIG11c3Qgc2V0IHRoZSBEUk1fTU9ERV9UWVBFX0RSSVZFUiBiaXQgZm9yIGFs bCBtb2RlcyB0aGV5Cj4gLSAgICAgICAgICAgICAgICAgIGNyZWF0ZSwgYW5kIHNldCB0aGUgRFJN X01PREVfVFlQRV9QUkVGRVJSRUQgYml0IGZvciB0aGUgcHJlZmVycmVkCj4gLSAgICAgICAgICAg ICAgICAgIG1vZGUuCj4gLSAgICAgICAgICAgICAgICA8L3BhcmE+Cj4gLSAgICAgICAgICAgICAg PC9saXN0aXRlbT4KPiAtICAgICAgICAgICAgICA8bGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAg ICA8c3lub3BzaXM+X191MzIgY2xvY2s7PC9zeW5vcHNpcz4KPiAtICAgICAgICAgICAgICAgIDxw YXJhPlBpeGVsIGNsb2NrIGZyZXF1ZW5jeSBpbiBrSHogdW5pdDwvcGFyYT4KPiAtICAgICAgICAg ICAgICA8L2xpc3RpdGVtPgo+IC0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KPiAtICAgICAgICAg ICAgICAgIDxzeW5vcHNpcz5fX3UxNiBoZGlzcGxheSwgaHN5bmNfc3RhcnQsIGhzeW5jX2VuZCwg aHRvdGFsOwo+IC0gICAgX191MTYgdmRpc3BsYXksIHZzeW5jX3N0YXJ0LCB2c3luY19lbmQsIHZ0 b3RhbDs8L3N5bm9wc2lzPgo+IC0gICAgICAgICAgICAgICAgPHBhcmE+SG9yaXpvbnRhbCBhbmQg dmVydGljYWwgdGltaW5nIGluZm9ybWF0aW9uPC9wYXJhPgo+IC0gICAgICAgICAgICAgICAgPHNj cmVlbj48IVtDREFUQVsKPiAtICAgICAgICAgICAgIEFjdGl2ZSAgICAgICAgICAgICAgICAgRnJv bnQgICAgICAgICAgIFN5bmMgICAgICAgICAgIEJhY2sKPiAtICAgICAgICAgICAgIFJlZ2lvbiAg ICAgICAgICAgICAgICAgUG9yY2ggICAgICAgICAgICAgICAgICAgICAgICAgIFBvcmNoCj4gLSAg ICA8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+PC0tLS0tLS0tLS0tLS0tLS0+PC0tLS0tLS0tLS0t LS0+PC0tLS0tLS0tLS0tLS0tPgo+IC0KPiAtICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vL3wK PiAtICAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vIHwKPiAtICAgIC8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8gIHwuLi4uLi4uLi4uLi4uLi4uLi4gICAgICAgICAgICAgICAuLi4uLi4uLi4uLi4uLi4u Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19fX19f X19fX19fX19fCj4gLQo+IC0gICAgPC0tLS0tIFtodl1kaXNwbGF5IC0tLS0tPgo+IC0gICAgPC0t LS0tLS0tLS0tLS0gW2h2XXN5bmNfc3RhcnQgLS0tLS0tLS0tLS0tPgo+IC0gICAgPC0tLS0tLS0t LS0tLS0tLS0tLS0tLSBbaHZdc3luY19lbmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tPgo+IC0gICAg PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFtodl10b3RhbCAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLT4KPiAtXV0+PC9zY3JlZW4+Cj4gLSAgICAgICAgICAgICAgPC9saXN0 aXRlbT4KPiAtICAgICAgICAgICAgICA8bGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICA8c3lu b3BzaXM+X191MTYgaHNrZXc7Cj4gLSAgICBfX3UxNiB2c2Nhbjs8L3N5bm9wc2lzPgo+IC0gICAg ICAgICAgICAgICAgPHBhcmE+VW5rbm93bjwvcGFyYT4KPiAtICAgICAgICAgICAgICA8L2xpc3Rp dGVtPgo+IC0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KPiAtICAgICAgICAgICAgICAgIDxzeW5v cHNpcz5fX3UzMiBmbGFnczs8L3N5bm9wc2lzPgo+IC0gICAgICAgICAgICAgICAgPHBhcmE+Cj4g LSAgICAgICAgICAgICAgICAgIE1vZGUgZmxhZ3MsIGEgY29tYmluYXRpb24gb2YKPiAtICAgICAg ICAgICAgICAgICAgPHZhcmlhYmxlbGlzdD4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFybGlz dGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19QSFNZ TkM8L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Cj4gLSAg ICAgICAgICAgICAgICAgICAgICAgIEhvcml6b250YWwgc3luYyBpcyBhY3RpdmUgaGlnaAo+IC0g ICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAg ICAgICAgPC92YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRy eT4KPiAtICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfTkhTWU5DPC90 ZXJtPgo+IC0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+IC0gICAgICAg ICAgICAgICAgICAgICAgICBIb3Jpem9udGFsIHN5bmMgaXMgYWN0aXZlIGxvdwo+IC0gICAgICAg ICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAg PC92YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KPiAt ICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfUFZTWU5DPC90ZXJtPgo+ IC0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+IC0gICAgICAgICAgICAg ICAgICAgICAgICBWZXJ0aWNhbCBzeW5jIGlzIGFjdGl2ZSBoaWdoCj4gLSAgICAgICAgICAgICAg ICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KPiAtICAgICAgICAgICAgICAgICAgICA8L3Zhcmxp c3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgo+IC0gICAgICAg ICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19OVlNZTkM8L3Rlcm0+Cj4gLSAgICAg ICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Cj4gLSAgICAgICAgICAgICAgICAgICAg ICAgIFZlcnRpY2FsIHN5bmMgaXMgYWN0aXZlIGxvdwo+IC0gICAgICAgICAgICAgICAgICAgICAg PC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+ Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAg ICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfSU5URVJMQUNFPC90ZXJtPgo+IC0gICAgICAgICAg ICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+IC0gICAgICAgICAgICAgICAgICAgICAgICBN b2RlIGlzIGludGVybGFjZWQKPiAtICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3Rp dGVtPgo+IC0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pgo+IC0gICAgICAgICAg ICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8dGVybT5E Uk1fTU9ERV9GTEFHX0RCTFNDQU48L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlz dGl0ZW0+PHBhcmE+Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgIE1vZGUgdXNlcyBkb3VibGVz Y2FuCj4gLSAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KPiAtICAgICAg ICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFy bGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19D U1lOQzwvdGVybT4KPiAtICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KPiAt ICAgICAgICAgICAgICAgICAgICAgICAgTW9kZSB1c2VzIGNvbXBvc2l0ZSBzeW5jCj4gLSAgICAg ICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KPiAtICAgICAgICAgICAgICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgo+ IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19QQ1NZTkM8L3Rlcm0+ Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Cj4gLSAgICAgICAgICAg ICAgICAgICAgICAgIENvbXBvc2l0ZSBzeW5jIGlzIGFjdGl2ZSBoaWdoCj4gLSAgICAgICAgICAg ICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KPiAtICAgICAgICAgICAgICAgICAgICA8L3Zh cmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFybGlzdGVudHJ5Pgo+IC0gICAg ICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19OQ1NZTkM8L3Rlcm0+Cj4gLSAg ICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Cj4gLSAgICAgICAgICAgICAgICAg ICAgICAgIENvbXBvc2l0ZSBzeW5jIGlzIGFjdGl2ZSBsb3cKPiAtICAgICAgICAgICAgICAgICAg ICAgIDwvcGFyYT48L2xpc3RpdGVtPgo+IC0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVu dHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAg ICAgICAgICAgICA8dGVybT5EUk1fTU9ERV9GTEFHX0hTS0VXPC90ZXJtPgo+IC0gICAgICAgICAg ICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+IC0gICAgICAgICAgICAgICAgICAgICAgICBo c2tldyBwcm92aWRlZCAobm90IHVzZWQ/KQo+IC0gICAgICAgICAgICAgICAgICAgICAgPC9wYXJh PjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgICAgICAgICAgPC92YXJsaXN0ZW50cnk+Cj4gLSAg ICAgICAgICAgICAgICAgICAgPHZhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICAg IDx0ZXJtPkRSTV9NT0RFX0ZMQUdfQkNBU1Q8L3Rlcm0+Cj4gLSAgICAgICAgICAgICAgICAgICAg ICA8bGlzdGl0ZW0+PHBhcmE+Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgIG5vdCB1c2VkPwo+ IC0gICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAg ICAgICAgICAgPC92YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAgICAgPHZhcmxpc3Rl bnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICAgIDx0ZXJtPkRSTV9NT0RFX0ZMQUdfUElYTVVY PC90ZXJtPgo+IC0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+IC0gICAg ICAgICAgICAgICAgICAgICAgICBub3QgdXNlZD8KPiAtICAgICAgICAgICAgICAgICAgICAgIDwv cGFyYT48L2xpc3RpdGVtPgo+IC0gICAgICAgICAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5Pgo+ IC0gICAgICAgICAgICAgICAgICAgIDx2YXJsaXN0ZW50cnk+Cj4gLSAgICAgICAgICAgICAgICAg ICAgICA8dGVybT5EUk1fTU9ERV9GTEFHX0RCTENMSzwvdGVybT4KPiAtICAgICAgICAgICAgICAg ICAgICAgIDxsaXN0aXRlbT48cGFyYT4KPiAtICAgICAgICAgICAgICAgICAgICAgICAgbm90IHVz ZWQ/Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KPiAtICAgICAg ICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KPiAtICAgICAgICAgICAgICAgICAgICA8dmFy bGlzdGVudHJ5Pgo+IC0gICAgICAgICAgICAgICAgICAgICAgPHRlcm0+RFJNX01PREVfRkxBR19D TEtESVYyPC90ZXJtPgo+IC0gICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgo+ IC0gICAgICAgICAgICAgICAgICAgICAgICA/Cj4gLSAgICAgICAgICAgICAgICAgICAgICA8L3Bh cmE+PC9saXN0aXRlbT4KPiAtICAgICAgICAgICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KPiAt ICAgICAgICAgICAgICAgICAgPC92YXJpYWJsZWxpc3Q+Cj4gLSAgICAgICAgICAgICAgICA8L3Bh cmE+Cj4gLSAgICAgICAgICAgICAgICA8cGFyYT4KPiAtICAgICAgICAgICAgICAgICAgTm90ZSB0 aGF0IG1vZGVzIG1hcmtlZCB3aXRoIHRoZSBJTlRFUkxBQ0Ugb3IgREJMU0NBTiBmbGFncyB3aWxs IGJlCj4gLSAgICAgICAgICAgICAgICAgIGZpbHRlcmVkIG91dCBieQo+IC0gICAgICAgICAgICAg ICAgICA8ZnVuY3Rpb24+ZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzPC9m dW5jdGlvbj4gaWYKPiAtICAgICAgICAgICAgICAgICAgdGhlIGNvbm5lY3RvcidzIDxzdHJ1Y3Rm aWVsZD5pbnRlcmxhY2VfYWxsb3dlZDwvc3RydWN0ZmllbGQ+IG9yCj4gLSAgICAgICAgICAgICAg ICAgIDxzdHJ1Y3RmaWVsZD5kb3VibGVzY2FuX2FsbG93ZWQ8L3N0cnVjdGZpZWxkPiBmaWVsZCBp cyBzZXQgdG8gMC4KPiAtICAgICAgICAgICAgICAgIDwvcGFyYT4KPiAtICAgICAgICAgICAgICA8 L2xpc3RpdGVtPgo+IC0gICAgICAgICAgICAgIDxsaXN0aXRlbT4KPiAtICAgICAgICAgICAgICAg IDxzeW5vcHNpcz5jaGFyIG5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU5dOzwvc3lub3BzaXM+Cj4g LSAgICAgICAgICAgICAgICA8cGFyYT4KPiAtICAgICAgICAgICAgICAgICAgTW9kZSBuYW1lLiBU aGUgZHJpdmVyIG11c3QgY2FsbAo+IC0gICAgICAgICAgICAgICAgICA8ZnVuY3Rpb24+ZHJtX21v ZGVfc2V0X25hbWU8L2Z1bmN0aW9uPiB0byBmaWxsIHRoZSBtb2RlIG5hbWUgZnJvbQo+IC0gICAg ICAgICAgICAgICAgICA8c3RydWN0ZmllbGQ+aGRpc3BsYXk8L3N0cnVjdGZpZWxkPiwKPiAtICAg ICAgICAgICAgICAgICAgPHN0cnVjdGZpZWxkPnZkaXNwbGF5PC9zdHJ1Y3RmaWVsZD4gYW5kIGlu dGVybGFjZSBmbGFnIGFmdGVyCj4gLSAgICAgICAgICAgICAgICAgIGZpbGxpbmcgdGhlIGNvcnJl c3BvbmRpbmcgZmllbGRzLgo+IC0gICAgICAgICAgICAgICAgPC9wYXJhPgo+IC0gICAgICAgICAg ICAgIDwvbGlzdGl0ZW0+Cj4gLSAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0Pgo+IC0gICAgICAg ICAgPC9wYXJhPgo+IC0gICAgICAgICAgPHBhcmE+Cj4gICAgICAgICAgICAgIFRoZSA8c3RydWN0 ZmllbGQ+dnJlZnJlc2g8L3N0cnVjdGZpZWxkPiB2YWx1ZSBpcyBjb21wdXRlZCBieQo+ICAgICAg ICAgICAgICA8ZnVuY3Rpb24+ZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVz PC9mdW5jdGlvbj4uCj4gICAgICAgICAgICA8L3BhcmE+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fbW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+IGluZGV4 IDVmNzliOTMzNGEzOC4uMDQxMTM4ZjVhY2M5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fbW9kZXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+IEBAIC03 MDgsNyArNzA4LDggQEAgdm9pZCBkcm1fbW9kZV9zZXRfbmFtZShzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSkKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9tb2RlX3NldF9uYW1lKTsKPiAg Cj4gLS8qKiBkcm1fbW9kZV9oc3luYyAtIGdldCB0aGUgaHN5bmMgb2YgYSBtb2RlCj4gKy8qKgo+ ICsgKiBkcm1fbW9kZV9oc3luYyAtIGdldCB0aGUgaHN5bmMgb2YgYSBtb2RlCj4gICAqIEBtb2Rl OiBtb2RlCj4gICAqCj4gICAqIFJldHVybnM6Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9tb2Rlcy5oIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmgKPiBpbmRleCBmOTExNWFlZTQzZjQu LmNkM2M0MjI1NmFiOCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fbW9kZXMuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCj4gQEAgLTM1LDQ2ICszNSw5MSBAQAo+ICAgKiBz dHJ1Y3R1cmVzKS4KPiAgICovCj4gIAo+ICsvKioKPiArICogZW51bSBkcm1fbW9kZV9zdGF0dXMg LSBoYXJkd2FyZSBzdXBwb3J0IHN0YXR1cyBvZiBhIG1vZGUKPiArICogQE1PREVfT0s6IE1vZGUg T0sKPiArICogQE1PREVfSFNZTkM6IGhzeW5jIG91dCBvZiByYW5nZQo+ICsgKiBATU9ERV9WU1lO QzogdnN5bmMgb3V0IG9mIHJhbmdlCj4gKyAqIEBNT0RFX0hfSUxMRUdBTDogbW9kZSBoYXMgaWxs ZWdhbCBob3Jpem9udGFsIHRpbWluZ3MKPiArICogQE1PREVfVl9JTExFR0FMOiBtb2RlIGhhcyBp bGxlZ2FsIGhvcml6b250YWwgdGltaW5ncwo+ICsgKiBATU9ERV9CQURfV0lEVEg6IHJlcXVpcmVz IGFuIHVuc3VwcG9ydGVkIGxpbmVwaXRjaAo+ICsgKiBATU9ERV9OT01PREU6IG5vIG1vZGUgd2l0 aCBhIG1hdGNoaW5nIG5hbWUKPiArICogQE1PREVfTk9fSU5URVJMQUNFOiBpbnRlcmxhY2VkIG1v ZGUgbm90IHN1cHBvcnRlZAo+ICsgKiBATU9ERV9OT19EQkxFU0NBTjogZG91Ymxlc2NhbiBtb2Rl IG5vdCBzdXBwb3J0ZWQKPiArICogQE1PREVfTk9fVlNDQU46IG11bHRpc2NhbiBtb2RlIG5vdCBz dXBwb3J0ZWQKPiArICogQE1PREVfTUVNOiBpbnN1ZmZpY2llbnQgdmlkZW8gbWVtb3J5Cj4gKyAq IEBNT0RFX1ZJUlRVQUxfWDogbW9kZSB3aWR0aCB0b28gbGFyZ2UgZm9yIHNwZWNpZmllZCB2aXJ0 dWFsIHNpemUKPiArICogQE1PREVfVklSVFVBTF9ZOiBtb2RlIGhlaWdodCB0b28gbGFyZ2UgZm9y IHNwZWNpZmllZCB2aXJ0dWFsIHNpemUKPiArICogQE1PREVfTUVNX1ZJUlQ6IGluc3VmZmljaWVu dCB2aWRlbyBtZW1vcnkgZ2l2ZW4gdmlydHVhbCBzaXplCj4gKyAqIEBNT0RFX05PQ0xPQ0s6IG5v IGZpeGVkIGNsb2NrIGF2YWlsYWJsZQo+ICsgKiBATU9ERV9DTE9DS19ISUdIOiBjbG9jayByZXF1 aXJlZCBpcyB0b28gaGlnaAo+ICsgKiBATU9ERV9DTE9DS19MT1c6IGNsb2NrIHJlcXVpcmVkIGlz IHRvbyBsb3cKPiArICogQE1PREVfQ0xPQ0tfUkFOR0U6IGNsb2NrL21vZGUgaXNuJ3QgaW4gYSBD bG9ja1JhbmdlCj4gKyAqIEBNT0RFX0JBRF9IVkFMVUU6IGhvcml6b250YWwgdGltaW5nIHdhcyBv dXQgb2YgcmFuZ2UKPiArICogQE1PREVfQkFEX1ZWQUxVRTogdmVydGljYWwgdGltaW5nIHdhcyBv dXQgb2YgcmFuZ2UKPiArICogQE1PREVfQkFEX1ZTQ0FOOiBWU2NhbiB2YWx1ZSBvdXQgb2YgcmFu Z2UKPiArICogQE1PREVfSFNZTkNfTkFSUk9XOiBob3Jpem9udGFsIHN5bmMgdG9vIG5hcnJvdwo+ ICsgKiBATU9ERV9IU1lOQ19XSURFOiBob3Jpem9udGFsIHN5bmMgdG9vIHdpZGUKPiArICogQE1P REVfSEJMQU5LX05BUlJPVzogaG9yaXpvbnRhbCBibGFua2luZyB0b28gbmFycm93Cj4gKyAqIEBN T0RFX0hCTEFOS19XSURFOiBob3Jpem9udGFsIGJsYW5raW5nIHRvbyB3aWRlCj4gKyAqIEBNT0RF X1ZTWU5DX05BUlJPVzogdmVydGljYWwgc3luYyB0b28gbmFycm93Cj4gKyAqIEBNT0RFX1ZTWU5D X1dJREU6IHZlcnRpY2FsIHN5bmMgdG9vIHdpZGUKPiArICogQE1PREVfVkJMQU5LX05BUlJPVzog dmVydGljYWwgYmxhbmtpbmcgdG9vIG5hcnJvdwo+ICsgKiBATU9ERV9WQkxBTktfV0lERTogdmVy dGljYWwgYmxhbmtpbmcgdG9vIHdpZGUKPiArICogQE1PREVfUEFORUw6IGV4Y2VlZHMgcGFuZWwg ZGltZW5zaW9ucwo+ICsgKiBATU9ERV9JTlRFUkxBQ0VfV0lEVEg6IHdpZHRoIHRvbyBsYXJnZSBm b3IgaW50ZXJsYWNlZCBtb2RlCj4gKyAqIEBNT0RFX09ORV9XSURUSDogb25seSBvbmUgd2lkdGgg aXMgc3VwcG9ydGVkCj4gKyAqIEBNT0RFX09ORV9IRUlHSFQ6IG9ubHkgb25lIGhlaWdodCBpcyBz dXBwb3J0ZWQKPiArICogQE1PREVfT05FX1NJWkU6IG9ubHkgb25lIHJlc29sdXRpb24gaXMgc3Vw cG9ydGVkCj4gKyAqIEBNT0RFX05PX1JFRFVDRUQ6IG1vbml0b3IgZG9lc24ndCBhY2NlcHQgcmVk dWNlZCBibGFua2luZwo+ICsgKiBATU9ERV9OT19TVEVSRU86IHN0ZXJlbyBtb2RlcyBub3Qgc3Vw cG9ydGVkCj4gKyAqIEBNT0RFX1VOVkVSSUZJRUQ6IG1vZGUgbmVlZHMgdG8gcmV2ZXJpZmllZAo+ ICsgKiBATU9ERV9CQUQ6IHVuc3BlY2lmaWVkIHJlYXNvbgo+ICsgKiBATU9ERV9FUlJPUjogZXJy b3IgY29uZGl0aW9uCj4gKyAqCj4gKyAqIFRoaXMgZW51bSBpcyB1c2VkIHRvIGZpbHRlciBvdXQg bW9kZXMgbm90IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyL2hhcmR3YXJlCj4gKyAqIGNvbWJpbmF0 aW9uLgo+ICsgKi8KPiAgZW51bSBkcm1fbW9kZV9zdGF0dXMgewo+IC0gICAgTU9ERV9PSwk9IDAs CS8qIE1vZGUgT0sgKi8KPiAtICAgIE1PREVfSFNZTkMsCQkvKiBoc3luYyBvdXQgb2YgcmFuZ2Ug Ki8KPiAtICAgIE1PREVfVlNZTkMsCQkvKiB2c3luYyBvdXQgb2YgcmFuZ2UgKi8KPiAtICAgIE1P REVfSF9JTExFR0FMLAkvKiBtb2RlIGhhcyBpbGxlZ2FsIGhvcml6b250YWwgdGltaW5ncyAqLwo+ IC0gICAgTU9ERV9WX0lMTEVHQUwsCS8qIG1vZGUgaGFzIGlsbGVnYWwgaG9yaXpvbnRhbCB0aW1p bmdzICovCj4gLSAgICBNT0RFX0JBRF9XSURUSCwJLyogcmVxdWlyZXMgYW4gdW5zdXBwb3J0ZWQg bGluZXBpdGNoICovCj4gLSAgICBNT0RFX05PTU9ERSwJLyogbm8gbW9kZSB3aXRoIGEgbWF0Y2hp bmcgbmFtZSAqLwo+IC0gICAgTU9ERV9OT19JTlRFUkxBQ0UsCS8qIGludGVybGFjZWQgbW9kZSBu b3Qgc3VwcG9ydGVkICovCj4gLSAgICBNT0RFX05PX0RCTEVTQ0FOLAkvKiBkb3VibGVzY2FuIG1v ZGUgbm90IHN1cHBvcnRlZCAqLwo+IC0gICAgTU9ERV9OT19WU0NBTiwJLyogbXVsdGlzY2FuIG1v ZGUgbm90IHN1cHBvcnRlZCAqLwo+IC0gICAgTU9ERV9NRU0sCQkvKiBpbnN1ZmZpY2llbnQgdmlk ZW8gbWVtb3J5ICovCj4gLSAgICBNT0RFX1ZJUlRVQUxfWCwJLyogbW9kZSB3aWR0aCB0b28gbGFy Z2UgZm9yIHNwZWNpZmllZCB2aXJ0dWFsIHNpemUgKi8KPiAtICAgIE1PREVfVklSVFVBTF9ZLAkv KiBtb2RlIGhlaWdodCB0b28gbGFyZ2UgZm9yIHNwZWNpZmllZCB2aXJ0dWFsIHNpemUgKi8KPiAt ICAgIE1PREVfTUVNX1ZJUlQsCS8qIGluc3VmZmljaWVudCB2aWRlbyBtZW1vcnkgZ2l2ZW4gdmly dHVhbCBzaXplICovCj4gLSAgICBNT0RFX05PQ0xPQ0ssCS8qIG5vIGZpeGVkIGNsb2NrIGF2YWls YWJsZSAqLwo+IC0gICAgTU9ERV9DTE9DS19ISUdILAkvKiBjbG9jayByZXF1aXJlZCBpcyB0b28g aGlnaCAqLwo+IC0gICAgTU9ERV9DTE9DS19MT1csCS8qIGNsb2NrIHJlcXVpcmVkIGlzIHRvbyBs b3cgKi8KPiAtICAgIE1PREVfQ0xPQ0tfUkFOR0UsCS8qIGNsb2NrL21vZGUgaXNuJ3QgaW4gYSBD bG9ja1JhbmdlICovCj4gLSAgICBNT0RFX0JBRF9IVkFMVUUsCS8qIGhvcml6b250YWwgdGltaW5n IHdhcyBvdXQgb2YgcmFuZ2UgKi8KPiAtICAgIE1PREVfQkFEX1ZWQUxVRSwJLyogdmVydGljYWwg dGltaW5nIHdhcyBvdXQgb2YgcmFuZ2UgKi8KPiAtICAgIE1PREVfQkFEX1ZTQ0FOLAkvKiBWU2Nh biB2YWx1ZSBvdXQgb2YgcmFuZ2UgKi8KPiAtICAgIE1PREVfSFNZTkNfTkFSUk9XLAkvKiBob3Jp em9udGFsIHN5bmMgdG9vIG5hcnJvdyAqLwo+IC0gICAgTU9ERV9IU1lOQ19XSURFLAkvKiBob3Jp em9udGFsIHN5bmMgdG9vIHdpZGUgKi8KPiAtICAgIE1PREVfSEJMQU5LX05BUlJPVywJLyogaG9y aXpvbnRhbCBibGFua2luZyB0b28gbmFycm93ICovCj4gLSAgICBNT0RFX0hCTEFOS19XSURFLAkv KiBob3Jpem9udGFsIGJsYW5raW5nIHRvbyB3aWRlICovCj4gLSAgICBNT0RFX1ZTWU5DX05BUlJP VywJLyogdmVydGljYWwgc3luYyB0b28gbmFycm93ICovCj4gLSAgICBNT0RFX1ZTWU5DX1dJREUs CS8qIHZlcnRpY2FsIHN5bmMgdG9vIHdpZGUgKi8KPiAtICAgIE1PREVfVkJMQU5LX05BUlJPVywJ LyogdmVydGljYWwgYmxhbmtpbmcgdG9vIG5hcnJvdyAqLwo+IC0gICAgTU9ERV9WQkxBTktfV0lE RSwJLyogdmVydGljYWwgYmxhbmtpbmcgdG9vIHdpZGUgKi8KPiAtICAgIE1PREVfUEFORUwsICAg ICAgICAgLyogZXhjZWVkcyBwYW5lbCBkaW1lbnNpb25zICovCj4gLSAgICBNT0RFX0lOVEVSTEFD RV9XSURUSCwgLyogd2lkdGggdG9vIGxhcmdlIGZvciBpbnRlcmxhY2VkIG1vZGUgKi8KPiAtICAg IE1PREVfT05FX1dJRFRILCAgICAgLyogb25seSBvbmUgd2lkdGggaXMgc3VwcG9ydGVkICovCj4g LSAgICBNT0RFX09ORV9IRUlHSFQsICAgIC8qIG9ubHkgb25lIGhlaWdodCBpcyBzdXBwb3J0ZWQg Ki8KPiAtICAgIE1PREVfT05FX1NJWkUsICAgICAgLyogb25seSBvbmUgcmVzb2x1dGlvbiBpcyBz dXBwb3J0ZWQgKi8KPiAtICAgIE1PREVfTk9fUkVEVUNFRCwgICAgLyogbW9uaXRvciBkb2Vzbid0 IGFjY2VwdCByZWR1Y2VkIGJsYW5raW5nICovCj4gLSAgICBNT0RFX05PX1NURVJFTywJLyogc3Rl cmVvIG1vZGVzIG5vdCBzdXBwb3J0ZWQgKi8KPiAtICAgIE1PREVfVU5WRVJJRklFRCA9IC0zLCAv KiBtb2RlIG5lZWRzIHRvIHJldmVyaWZpZWQgKi8KPiAtICAgIE1PREVfQkFEID0gLTIsCS8qIHVu c3BlY2lmaWVkIHJlYXNvbiAqLwo+IC0gICAgTU9ERV9FUlJPUgk9IC0xCS8qIGVycm9yIGNvbmRp dGlvbiAqLwo+ICsJTU9ERV9PSwk9IDAsCiAgICAgICAgICAgICAgICAgXgpTdHJheSB0YWIuCgo+ ICsJTU9ERV9IU1lOQywKPiArCU1PREVfVlNZTkMsCj4gKwlNT0RFX0hfSUxMRUdBTCwKPiArCU1P REVfVl9JTExFR0FMLAo+ICsJTU9ERV9CQURfV0lEVEgsCj4gKwlNT0RFX05PTU9ERSwKPiArCU1P REVfTk9fSU5URVJMQUNFLAo+ICsJTU9ERV9OT19EQkxFU0NBTiwKPiArCU1PREVfTk9fVlNDQU4s Cj4gKwlNT0RFX01FTSwKPiArCU1PREVfVklSVFVBTF9YLAo+ICsJTU9ERV9WSVJUVUFMX1ksCj4g KwlNT0RFX01FTV9WSVJULAo+ICsJTU9ERV9OT0NMT0NLLAo+ICsJTU9ERV9DTE9DS19ISUdILAo+ ICsJTU9ERV9DTE9DS19MT1csCj4gKwlNT0RFX0NMT0NLX1JBTkdFLAo+ICsJTU9ERV9CQURfSFZB TFVFLAo+ICsJTU9ERV9CQURfVlZBTFVFLAo+ICsJTU9ERV9CQURfVlNDQU4sCj4gKwlNT0RFX0hT WU5DX05BUlJPVywKPiArCU1PREVfSFNZTkNfV0lERSwKPiArCU1PREVfSEJMQU5LX05BUlJPVywK PiArCU1PREVfSEJMQU5LX1dJREUsCj4gKwlNT0RFX1ZTWU5DX05BUlJPVywKPiArCU1PREVfVlNZ TkNfV0lERSwKPiArCU1PREVfVkJMQU5LX05BUlJPVywKPiArCU1PREVfVkJMQU5LX1dJREUsCj4g KwlNT0RFX1BBTkVMLAo+ICsJTU9ERV9JTlRFUkxBQ0VfV0lEVEgsCj4gKwlNT0RFX09ORV9XSURU SCwKPiArCU1PREVfT05FX0hFSUdIVCwKPiArCU1PREVfT05FX1NJWkUsCj4gKwlNT0RFX05PX1JF RFVDRUQsCj4gKwlNT0RFX05PX1NURVJFTywKPiArCU1PREVfVU5WRVJJRklFRCA9IC0zLAo+ICsJ TU9ERV9CQUQgPSAtMiwKPiArCU1PREVfRVJST1IJPSAtMQogICAgICAgICAgICAgICAgICBeCmFu ZCBoZXJlIHRvbwoKPiAgfTsKPiAgCj4gICNkZWZpbmUgRFJNX01PREVfVFlQRV9DTE9DS19DUlRD X0MgKERSTV9NT0RFX1RZUEVfQ0xPQ0tfQyB8IFwKPiBAQCAtOTYsMTcgKzE0MSwxMjQgQEAgZW51 bSBkcm1fbW9kZV9zdGF0dXMgewo+ICAKPiAgI2RlZmluZSBEUk1fTU9ERV9GTEFHXzNEX01BWAlE Uk1fTU9ERV9GTEFHXzNEX1NJREVfQllfU0lERV9IQUxGCj4gIAo+ICsvKioKPiArICogc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgLSBEUk0ga2VybmVsLWludGVybmFsIGRpc3BsYXkgbW9kZSBzdHJ1 Y3R1cmUKPiArICogQGhkaXNwbGF5OiBob3Jpem9udGFsIGRpc3BsYXkgc2l6ZQo+ICsgKiBAaHN5 bmNfc3RhcnQ6IGhvcml6b250YWwgc3luYyBzdGFydAo+ICsgKiBAaHN5bmNfZW5kOiBob3Jpem9u dGFsIHN5bmMgZW5kCj4gKyAqIEBodG90YWw6IGhvcml6b250YWwgdG90YWwgc2l6ZQo+ICsgKiBA aHNrZXc6IGhvcml6b250YWwgc2tldz8hCj4gKyAqIEB2ZGlzcGxheTogdmVydGljYWwgZGlzcGxh eSBzaXplCj4gKyAqIEB2c3luY19zdGFydDogdmVydGljYWwgc3luYyBzdGFydAo+ICsgKiBAdnN5 bmNfZW5kOiB2ZXJ0aWNhbCBzeW5jIGVuZAo+ICsgKiBAdnRvdGFsOiB2ZXJ0aWNhbCB0b3RhbCBz aXplCj4gKyAqIEB2c2NhbjogdmVydGljYWwgc2Nhbj8hCj4gKyAqIEBjcnRjX2hkaXNwbGF5OiBo YXJkd2FyZSBtb2RlaG9yaXpvbnRhbCBkaXNwbGF5IHNpemUKPiArICogQGNydGNfaHN5bmNfc3Rh cnQ6IGhhcmR3YXJlIG1vZGVob3Jpem9udGFsIHN5bmMgc3RhcnQKPiArICogQGNydGNfaHN5bmNf ZW5kOiBoYXJkd2FyZSBtb2RlaG9yaXpvbnRhbCBzeW5jIGVuZAo+ICsgKiBAY3J0Y19odG90YWw6 IGhhcmR3YXJlIG1vZGVob3Jpem9udGFsIHRvdGFsIHNpemUKPiArICogQGNydGNfaHNrZXc6IGhh cmR3YXJlIG1vZGVob3Jpem9udGFsIHNrZXc/IQo+ICsgKiBAY3J0Y192ZGlzcGxheTogaGFyZHdh cmUgbW9kZXZlcnRpY2FsIGRpc3BsYXkgc2l6ZQo+ICsgKiBAY3J0Y192c3luY19zdGFydDogaGFy ZHdhcmUgbW9kZXZlcnRpY2FsIHN5bmMgc3RhcnQKPiArICogQGNydGNfdnN5bmNfZW5kOiBoYXJk d2FyZSBtb2RldmVydGljYWwgc3luYyBlbmQKPiArICogQGNydGNfdnRvdGFsOiBoYXJkd2FyZSBt b2RldmVydGljYWwgdG90YWwgc2l6ZQo+ICsgKiBAY3J0Y192c2NhbjogaGFyZHdhcmUgbW9kZXZl cnRpY2FsIHNjYW4/IQo+ICsgKgo+ICsgKiBUaGUgaG9yaXpvbnRhbCBhbiB2ZXJ0aWNhbCB0aW1p bmdzIGFyZSBkZWZpbmVkIHBlciB0aGUgZm9sbG93aW5nIGRpYWdyYW06Cj4gKyAqCj4gKyAqCj4g KyAqICAgICAgICAgICAgICAgQWN0aXZlICAgICAgICAgICAgICAgICBGcm9udCAgICAgICAgICAg U3luYyAgICAgICAgICAgQmFjawo+ICsgKiAgICAgICAgICAgICAgUmVnaW9uICAgICAgICAgICAg ICAgICBQb3JjaCAgICAgICAgICAgICAgICAgICAgICAgICAgUG9yY2gKPiArICogICAgIDwtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLT48LS0tLS0tLS0tLS0tLS0tLT48LS0tLS0tLS0tLS0tLT48LS0t LS0tLS0tLS0tLS0+Cj4gKyAqCj4gKyAqICAgICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy98Cj4g KyAqICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyB8Cj4gKyAqICAgICAvLy8vLy8vLy8vLy8v Ly8vLy8vLy8vICB8Li4uLi4uLi4uLi4uLi4uLi4uICAgICAgICAgICAgICAgLi4uLi4uLi4uLi4u Li4uLgo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9fX19fX19fX19fX19fXwo+ICsgKgo+ICsgKiAgICAgPC0tLS0tIFtodl1kaXNwbGF5IC0tLS0t Pgo+ICsgKiAgICAgPC0tLS0tLS0tLS0tLS0gW2h2XXN5bmNfc3RhcnQgLS0tLS0tLS0tLS0tPgo+ ICsgKiAgICAgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLSBbaHZdc3luY19lbmQgLS0tLS0tLS0tLS0t LS0tLS0tLS0tPgo+ICsgKiAgICAgPC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFto dl10b3RhbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4qCj4gKyAqCj4gKyAqIFRoaXMg c3RydWN0dXJlIGNvbnRhaW5zIHR3byBjb3BpZXMgb2YgdGltaW5ncy4gRmlyc3QgYXJlIHRoZSBw bGFpbiB0aW1pbmdzLAo+ICsgKiB3aGljaCBzcGVjaWZ5IHRoZSBsb2dpY2FsIG1vZGUsIGFzIGl0 IHdvdWxkIGJlIGZvciBhIHByb2dyZXNzaXZlIDE6MSBzY2Fub3V0Cj4gKyAqIGF0IHRoZSByZWZy ZXNoIHJhdGUgdXNlcnNwYWNlIGNhbiBvYnNlcnZlIHRocm91Z2ggdmJsYW5rIHRpbWVzdGFtcHMu IFRoZW4KPiArICogdGhlcmUncyB0aGUgaGFyZHdhcmUgdGltaW5ncywgd2hpY2ggYXJlIGNvcnJl Y3RlZCBmb3IgaW50ZXJsYWNpbmcsCj4gKyAqIGRvdWJsZS1jbG9ja2luZyBhbmQgc2ltaWxhciB0 aGluZ3MuIFRoZXkgYXJlIHByb3ZpZGVkIGFzIGEgY29udmllbmNlLCBhbmQgY2FuCj4gKyAqIGJl IGFwcHJvcHJpYXRlbHkgY29tcHV0ZWQgdXNpbmcgZHJtX21vZGVfc2V0X2NydGNpbmZvKCkuCj4g KyAqLwo+ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSB7Cj4gLQkvKiBIZWFkZXIgKi8KPiArCS8q Kgo+ICsJICogQGhlYWQ6Cj4gKwkgKgo+ICsJICogc3RydWN0IGxpc3RfaGVhZCBmb3IgbW9kZSBs aXN0cy4KPiArCSAqLwo+ICAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+ICsKPiArCS8qKgo+ICsJ ICogQGJhc2U6Cj4gKwkgKgo+ICsJICogQSBkaXNwbGF5IG1vZGUgaXMgYSBub3JtYWwgbW9kZXNl dCBvYmplY3QsIHBvc3NpYmx5IGluY2x1ZGluZyBwdWJsaWMKPiArCSAqIHVzZXJzcGFjZSBpZC4K PiArCSAqCj4gKwkgKiBGSVhNRToKPiArCSAqCj4gKwkgKiBUaGlzIGNhbiBwcm9iYWJseSBiZSBy ZW1vdmVkIHNpbmNlIHRoZSBlbnRpcmUgY29uY2VwdCBvZiB1c2Vyc3BhY2UKPiArCSAqIG1hbmFn aW5nIG1vZGVzIGV4cGxpY2l0bHkgaGFzbid0IGV2ZXIgbGFuZGVkIGluIHVwc3RyZWFtIGtlcm5l bCBtb2RlCj4gKwkgKiBzZXR0aW5nIHN1cHBvcnQuCj4gKwkgKi8KPiAgCXN0cnVjdCBkcm1fbW9k ZV9vYmplY3QgYmFzZTsKPiAgCj4gKwkvKioKPiArCSAqIEBuYW1lOgo+ICsJICoKPiArCSAqIEh1 bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIG1vZGUsIGZpbGxlZCBvdXQgd2l0aCBkcm1fbW9kZV9z ZXRfbmFtZSgpLgo+ICsJICovCj4gIAljaGFyIG5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU5dOwo+ ICAKPiArCS8qKgo+ICsJICogQHN0YXR1czoKPiArCSAqCj4gKwkgKiBTdGF0dXMgb2YgdGhlIG1v ZGUsIHVzZWQgdG8gZmlsdGVyIG91dCBtb2RlcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZQo+ICsJICog aGFyZHdhcmUuIFNlZSBlbnVtICZkcm1fbW9kZV9zdGF0dXMuCj4gKwkgKi8KPiAgCWVudW0gZHJt X21vZGVfc3RhdHVzIHN0YXR1czsKPiArCj4gKwkvKioKPiArCSAqIEB0eXBlOgo+ICsJICoKPiAr CSAqIEEgYml0bWFzayBvZiBmbGFncywgbW9zdGx5IGFib3V0IHRoZSBzb3VyY2Ugb2YgYSBtb2Rl LiBQb3NzaWJsZSBmbGFncwo+ICsJICogYXJlOgo+ICsJICoKPiArCSAqICAtIERSTV9NT0RFX1RZ UEVfQlVJTFRJTjogTWVhbnQgZm9yIGhhcmQtY29kZWQgbW9kZXMsIGVmZmVjdGl2ZWx5Cj4gKwkg KiAgICB1bnVzZWQuCj4gKwkgKiAgLSBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRDogUHJlZmVycmVk IG1vZGUsIHVzdWFsbHkgdGhlIG5hdGl2ZQo+ICsJICogICAgcmVzb2x1dGlvbiBvZiBhbiBMQ0Qg cGFuZWwuIFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBwcmVmZXJyZWQKPiArCSAqICAgIG1vZGUg cGVyIGNvbm5lY3RvciBhdCBhbnkgZ2l2ZW4gdGltZS4KPiArCSAqICAtIERSTV9NT0RFX1RZUEVf RFJJVkVSOiBNb2RlIGNyZWF0ZWQgYnkgdGhlIGRyaXZlciwgd2hpY2ggaXMgYWxsIG9mCj4gKwkg KiAgICB0aGVtIHJlYWxseS4gRHJpdmVycyBtdXN0IHNldCB0aGlzIGJpdCBmb3IgYWxsIG1vZGVz IHRoZXkgY3JlYXRlCj4gKwkgKiAgICBhbmQgZXhwb3NlIHRvIHVzZXJzcGFjZS4KPiArCSAqCj4g KwkgKiBQbHVzIGEgYmlnIGxpc3Qgb2YgZmxhZ3Mgd2hpY2ggc2hvdWxkbid0IGJlIHVzZWQgYXQg YWxsLCBidXQgYXJlCj4gKwkgKiBzdGlsbCBhcm91bmQgc2luY2UgdGhlc2UgZmxhZ3MgYXJlIGFs c28gdXNlZCBpbiB0aGUgdXNlcnNwYWNlIEFCSToKPiArCSAqCj4gKwkgKiAgLSBEUk1fTU9ERV9U WVBFX0RFRkFVTFQ6IEFnYWluIGEgbGVmdG92ZXIsIHVzZQo+ICsJICogICAgRFJNX01PREVfVFlQ RV9QUkVGRVJSRUQgaW5zdGVhZC4KPiArCSAqICAtIERSTV9NT0RFX1RZUEVfQ0xPQ0tfQyBhbmQg RFJNX01PREVfVFlQRV9DUlRDX0M6IERlZmluZSBsZWZ0b3ZlcnMKPiArCSAqICAgIHdoaWNoIGFy ZSBzdHVjayBhcm91bmQgZm9yIGh5c3RlcmljYWwgcmFpc2lucyBvbmx5LiBObyBvbmUgaGFzIGFu Cj4gKwkgKiAgICBpZGVhIHdoYXQgdGhleSB3aGVyZSBtZWFudCBmb3IuIERvbid0IHVzZS4KPiAr CSAqICAtIERSTV9NT0RFX1RZUEVfVVNFUkRFRjogTW9kZSBkZWZpbmVkIGJ5IHVzZXJzcGFjZSwg YWdhaW4gYSB2ZXN0aWdlCj4gKwkgKiAgICBmcm9tIG9sZGVyIGttcyBkZXNpZ25zIHdoZXJlIHVz ZXJzcGFjZSBoYWQgdG8gZmlyc3QgYWRkIGEgY3VzdG9tCj4gKwkgKiAgICBtb2RlIHRvIHRoZSBr ZXJuZWwncyBtb2RlIGxpc3QgYmVmb3JlIGl0IGNvdWxkIHVzZSBpdC4gRG9uJ3QgdXNlLgo+ICsJ ICovCj4gIAl1bnNpZ25lZCBpbnQgdHlwZTsKPiAgCj4gLQkvKiBQcm9wb3NlZCBtb2RlIHZhbHVl cyAqLwo+ICsJLyoqCj4gKwkgKiBAY2xvY2s6Cj4gKwkgKgo+ICsJICogUGl4ZWwgY2xvY2sgaW4g a0h6Lgo+ICsJICovCj4gIAlpbnQgY2xvY2s7CQkvKiBpbiBrSHogKi8KPiAgCWludCBoZGlzcGxh eTsKPiAgCWludCBoc3luY19zdGFydDsKPiBAQCAtMTE4LDE0ICsyNzAsNzQgQEAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgewo+ICAJaW50IHZzeW5jX2VuZDsKPiAgCWludCB2dG90YWw7Cj4gIAlp bnQgdnNjYW47Cj4gKwkvKioKPiArCSAqIEBmbGFnczoKPiArCSAqCj4gKwkgKiBTeW5jIGFuZCB0 aW1pbmcgZmxhZ3M6Cj4gKwkgKgo+ICsJICogIC0gRFJNX01PREVfRkxBR19QSFNZTkM6IGhvcml6 b250YWwgc3luYyBpcyBhY3RpdmUgaGlnaC4KPiArCSAqICAtIERSTV9NT0RFX0ZMQUdfTkhTWU5D OiBob3Jpem9udGFsIHN5bmMgaXMgYWN0aXZlIGxvdy4KPiArCSAqICAtIERSTV9NT0RFX0ZMQUdf UFZTWU5DOiB2ZXJ0aWNhbCBzeW5jIGlzIGFjdGl2ZSBoaWdoLgo+ICsJICogIC0gRFJNX01PREVf RkxBR19OVlNZTkM6IHZlcnRpY2FsIHN5bmMgaXMgYWN0aXZlIGxvdy4KPiArCSAqICAtIERSTV9N T0RFX0ZMQUdfSU5URVJMQUNFOiBtb2RlIGlzIGludGVybGFjZWQuCj4gKwkgKiAgLSBEUk1fTU9E RV9GTEFHX0RCTFNDQU46IG1vZGUgdXNlcyBkb3VibGVzY2FuLgo+ICsJICogIC0gRFJNX01PREVf RkxBR19DU1lOQzogbW9kZSB1c2VzIGNvbXBvc2l0ZSBzeW5jLgo+ICsJICogIC0gRFJNX01PREVf RkxBR19QQ1NZTkM6IGNvbXBvc2l0ZSBzeW5jIGlzIGFjdGl2ZSBoaWdoLgo+ICsJICogIC0gRFJN X01PREVfRkxBR19OQ1NZTkM6IGNvbXBvc2l0ZSBzeW5jIGlzIGFjdGl2ZSBsb3cuCj4gKwkgKiAg LSBEUk1fTU9ERV9GTEFHX0hTS0VXOiBoc2tldyBwcm92aWRlZCAobm90IHVzZWQ/KS4KPiArCSAq ICAtIERSTV9NT0RFX0ZMQUdfQkNBU1Q6IG5vdCB1c2VkPwo+ICsJICogIC0gRFJNX01PREVfRkxB R19QSVhNVVg6IG5vdCB1c2VkPwo+ICsJICogIC0gRFJNX01PREVfRkxBR19EQkxDTEs6IGRvdWJs ZS1jbG9ja2VkIG1vZGUuCj4gKwkgKiAgLSBEUk1fTU9ERV9GTEFHX0NMS0RJVjI6IGhhbGYtY2xv Y2tlZCBtb2RlLgoKUmFuZG9tIHJhbnQ6IEhvdyBJIHdpc2ggd2UgZGlkbid0IGhhdmUgaGF2ZSBi dW5jaCBvZiB0aGVzZSBmbGFncy4KTm8gcmVhbCByZWFzb24gd2h5IHVzZXJzcGFjZSBzaG91bGQg aGF2ZSB0byBrbm93IGhvdyB0aGUgcGl4ZWxzCmdldCBjbG9ja2VkIG91dCBldGMuIEJ1dCBjYW4n dCBjaGFuZ2UgdGhhdCBub3cuCgo+ICsJICoKPiArCSAqIEFkZGl0aW9uYWxseSB0aGVyZSdzIGZs YWdzIHRvIHNwZWNpZnkgaG93IDNEIG1vZGVzIGFyZSBwYWNrZWQ6Cj4gKwkgKgo+ICsJICogIC0g RFJNX01PREVfRkxBR18zRF9OT05FOiBub3JtYWwsIG5vbi0zRCBtb2RlLgo+ICsJICogIC0gRFJN X01PREVfRkxBR18zRF9GUkFNRV9QQUNLSU5HOiAyIGZ1bGwgZnJhbWVzIGZvciBsZWZ0IGFuZCBy aWdodC4KPiArCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfRklFTERfQUxURVJOQVRJVkU6IGludGVy bGVhdmVkIGxpa2UgZmllbGRzLgo+ICsJICogIC0gRFJNX01PREVfRkxBR18zRF9MSU5FX0FMVEVS TkFUSVZFOiBpbnRlcmxlYXZlZCBsaW5lcy4KPiArCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfU0lE RV9CWV9TSURFX0ZVTEw6IHNpZGUtYnktc2lkZSBmdWxsIGZyYW1lcy4KPiArCSAqICAtIERSTV9N T0RFX0ZMQUdfM0RfTF9ERVBUSDoJPwo+ICsJICogIC0gRFJNX01PREVfRkxBR18zRF9MX0RFUFRI X0dGWF9HRlhfREVQVEg6ID8KPiArCSAqICAtIERSTV9NT0RFX0ZMQUdfM0RfVE9QX0FORF9CT1RU T006IGZyYW1lIHNwbGl0IGludG8gdG9wIGFuZCBib3R0b20KPiArCSAqICAgIHBhcnRzLgo+ICsJ ICogIC0gRFJNX01PREVfRkxBR18zRF9TSURFX0JZX1NJREVfSEFMRjogZnJhbWUgc3BsaXQgaW50 byBsZWZ0IGFuZAo+ICsJICogICAgcmlnaHQgcGFydHMuCgpJIHRoaW5rIHRoZXNlIGVpdGhlciBu ZWVkIGEgcHJvcGVyIGV4cGxhbmF0aW9uIChpZS4gc29tZSBkaWFncmFtcyBwcm9iYWJseSksCm9y IHdlIGp1c3QgYWRkIGEgc3BlYyByZWZlcmVuY2UgaGVyZS4gQ2FuIGJlIGRvbmUgbGF0ZXIgb25j ZSB3ZSBmaWd1cmUKb3V0IHdoaWNoIHdheSB3ZSB3YW50IHRvIGdvLgoKQW55d2F5LCBwYXRjaCBs b29rcyBtb3N0bHkgT0ssIHNvClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgoKPiArCSAqLwo+ICAJdW5zaWduZWQgaW50IGZsYWdzOwo+ ICAKPiAtCS8qIEFkZHJlc3NhYmxlIGltYWdlIHNpemUgKG1heSBiZSAwIGZvciBwcm9qZWN0b3Jz LCBldGMuKSAqLwo+ICsJLyoqCj4gKwkgKiBAd2lkdGhfbW06Cj4gKwkgKgo+ICsJICogQWRkcmVz c2FibGUgc2l6ZSBvZiB0aGUgb3V0cHV0IGluIG1tLCBwcm9qZWN0b3JzIHNob3VsZCBzZXQgdGhp cyB0bwo+ICsJICogMC4KPiArCSAqLwo+ICAJaW50IHdpZHRoX21tOwo+ICsKPiArCS8qKgo+ICsJ ICogQGhlaWdodF9tbToKPiArCSAqCj4gKwkgKiBBZGRyZXNzYWJsZSBzaXplIG9mIHRoZSBvdXRw dXQgaW4gbW0sIHByb2plY3RvcnMgc2hvdWxkIHNldCB0aGlzIHRvCj4gKwkgKiAwLgo+ICsJICov Cj4gIAlpbnQgaGVpZ2h0X21tOwo+ICAKPiAtCS8qIEFjdHVhbCBtb2RlIHdlIGdpdmUgdG8gaHcg Ki8KPiAtCWludCBjcnRjX2Nsb2NrOwkJLyogaW4gS0h6ICovCj4gKwkvKioKPiArCSAqIEBjcnRj X2Nsb2NrOgo+ICsJICoKPiArCSAqIEFjdHVhbCBwaXhlbCBvciBkb3QgY2xvY2sgaW4gdGhlIGhh cmR3YXJlLiBUaGlzIGRpZmZlcnMgZnJvbSB0aGUKPiArCSAqIGxvZ2ljYWwgQGNsb2NrIHdoZW4g ZS5nLiB1c2luZyBpbnRlcmxhY2luZywgZG91YmxlLWNsb2NraW5nLCBzdGVyZW8KPiArCSAqIG1v ZGVzIG9yIG90aGVyIGZhbmN5IHN0dWZmIHRoYXQgY2hhbmdlcyB0aGUgdGltaW5ncyBhbmQgc2ln bmFscwo+ICsJICogYWN0dWFsbHkgc2VudCBvdmVyIHRoZSB3aXJlLgo+ICsJICoKPiArCSAqIFRo aXMgaXMgYWdhaW4gaW4ga0h6Lgo+ICsJICoKPiArCSAqIE5vdGUgdGhhdCB3aXRoIGRpZ2l0YWwg b3V0cHV0cyBsaWtlIEhETUkgb3IgRFAgdGhlcmUncyB1c3VhbGx5IGEKPiArCSAqIG1hc3NpdmUg Y29uZnVzaW9uIGJldHdlZW4gdGhlIGRvdCBjbG9jayBhbmQgdGhlIHNpZ25hbCBjbG9jayBhdCB0 aGUKPiArCSAqIGJpdCBlbmNvZGluZyBsZXZlbC4gRXNwZWNpYWxseSB3aGVuIGEgOGIvMTBiIGVu Y29kaW5nIGlzIHVzZWQgYW5kIHRoZQo+ICsJICogZGlmZmVyZW5jZXMgaXMgZXhhY3RseSBhIGZh Y3RvciBvZiAxMC4KPiArCSAqLwo+ICsJaW50IGNydGNfY2xvY2s7Cj4gIAlpbnQgY3J0Y19oZGlz cGxheTsKPiAgCWludCBjcnRjX2hibGFua19zdGFydDsKPiAgCWludCBjcnRjX2hibGFua19lbmQ7 Cj4gQEAgLTE0MCwxMiArMzUyLDQ4IEBAIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIHsKPiAgCWlu dCBjcnRjX3ZzeW5jX2VuZDsKPiAgCWludCBjcnRjX3Z0b3RhbDsKPiAgCj4gLQkvKiBEcml2ZXIg cHJpdmF0ZSBtb2RlIGluZm8gKi8KPiArCS8qKgo+ICsJICogQHByaXZhdGU6Cj4gKwkgKgo+ICsJ ICogUG9pbnRlciBmb3IgZHJpdmVyIHByaXZhdGUgZGF0YS4gVGhpcyBjYW4gb25seSBiZSB1c2Vk IGZvciBtb2RlCj4gKwkgKiBvYmplY3RzIHBhc3NlZCB0byBkcml2ZXJzIGluIG1vZGVzZXQgb3Bl cmF0aW9ucy4gSXQgc2hvdWxkbid0IGJlIHVzZWQKPiArCSAqIGJ5IGF0b21pYyBkcml2ZXJzIHNp bmNlIHRoZXkgY2FuIHN0b3JlIGFueSBhZGRpdGlvbmFsIGRhdGEgYnkKPiArCSAqIHN1YmNsYXNz aW5nIHN0YXRlIHN0cnVjdHVyZXMuCj4gKwkgKi8KPiAgCWludCAqcHJpdmF0ZTsKPiArCj4gKwkv KioKPiArCSAqIEBwcml2YXRlX2ZsYWdzOgo+ICsJICoKPiArCSAqIFNpbWlsYXIgdG8gQHByaXZh dGUsIGJ1dCBqdXN0IGFuIGludGVnZXIuCj4gKwkgKi8KPiAgCWludCBwcml2YXRlX2ZsYWdzOwo+ ICAKPiAtCWludCB2cmVmcmVzaDsJCS8qIGluIEh6ICovCj4gLQlpbnQgaHN5bmM7CQkvKiBpbiBr SHogKi8KPiArCS8qKgo+ICsJICogQHZyZWZyZXNoOgo+ICsJICoKPiArCSAqIFZlcnRpY2FsIHJl ZnJlc2ggcmF0ZSwgZm9yIGRlYnVnIG91dHB1dCBpbiBodW1hbiByZWFkYWJsZSBmb3JtLiBOb3QK PiArCSAqIHVzZWQgaW4gYSBmdW5jdGlvbmFsIHdheS4KPiArCSAqCj4gKwkgKiBUaGlzIHZhbHVl IGlzIGluIEh6Lgo+ICsJICovCj4gKwlpbnQgdnJlZnJlc2g7Cj4gKwo+ICsJLyoqCj4gKwkgKiBA aHN5bmM6Cj4gKwkgKgo+ICsJICogSG9yaXpvbnRhbCByZWZyZXNoIHJhdGUsIGZvciBkZWJ1ZyBv dXRwdXQgaW4gaHVtYW4gcmVhZGFibGUgZm9ybS4gTm90Cj4gKwkgKiB1c2VkIGluIGEgZnVuY3Rp b25hbCB3YXkuCj4gKwkgKgo+ICsJICogVGhpcyB2YWx1ZSBpcyBpbiBrSHouCj4gKwkgKi8KPiAr CWludCBoc3luYzsKPiArCj4gKwkvKioKPiArCSAqIEBwaWN0dXJlX2FzcGVjdF9yYXRpbzoKPiAr CSAqCj4gKwkgKiBGaWxlZCBmb3Igc2V0dGluZyB0aGUgSERNSSBwaWN0dXJlIGFzcGVjdCByYXRp byBvZiBhIG1vZGUuCj4gKwkgKi8KPiAgCWVudW0gaGRtaV9waWN0dXJlX2FzcGVjdCBwaWN0dXJl X2FzcGVjdF9yYXRpbzsKPiAgfTsKPiAgCj4gLS0gCj4gMi41LjEKCi0tIApWaWxsZSBTeXJqw6Rs w6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==