From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mailout1.samsung.com ([203.254.224.24]:57744 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752544Ab2JBF7W (ORCPT ); Tue, 2 Oct 2012 01:59:22 -0400 Received: from epcpsbge8.samsung.com (epcpsbge8 [203.254.230.18]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MB9006OL4MU9XA0@mailout1.samsung.com> for linux-media@vger.kernel.org; Tue, 02 Oct 2012 14:59:20 +0900 (KST) Date: Tue, 02 Oct 2012 05:59:20 +0000 (GMT) From: Arun Kumar K Subject: Re: [PATCH v8 2/6] [media] v4l: Add control definitions for new H264 encoder features To: Hans Verkuil Cc: "linux-media@vger.kernel.org" , Kamil Debski , Jeongtae Park , Jang-Hyuck Kim , peter Oh , NAVEEN KRISHNA CHATRADHI , Marek Szyprowski , Sylwester Nawrocki , "kmpark@infradead.org" , SUNIL JOSHI Reply-to: arun.kk@samsung.com MIME-version: 1.0 Content-transfer-encoding: base64 Content-type: text/plain; charset=windows-1252 MIME-version: 1.0 Message-id: <5965908.229971349157559733.JavaMail.weblogic@epml10> Sender: linux-media-owner@vger.kernel.org List-ID: SGkgSGFucywNClRoYW5rIHlvdSBmb3IgdGhlIHJldmlldy4NCldpbGwgbWFrZSBhbGwgdGhlIHN1 Z2dlc3RlZCBjaGFuZ2VzIGFuZCBwb3N0IHVwZGF0ZWQgcGF0Y2guDQoNClJlZ2FyZHMNCkFydW4N Cg0KLS0tLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tLS0NClNlbmRlciA6IEhhbnMgVmVya3Vp bDxodmVya3VpbEB4czRhbGwubmw+IA0KRGF0ZSAgIDogT2N0IDAxLCAyMDEyIDE5OjU3IChHTVQr MDU6MzApDQpUaXRsZSAgOiBSZTogW1BBVENIIHY4IDIvNl0gW21lZGlhXSB2NGw6IEFkZCBjb250 cm9sIGRlZmluaXRpb25zIGZvciBuZXcgSDI2NA0KIGVuY29kZXIgZmVhdHVyZXMNCg0KSGkgQXJ1 biwNCg0KSSd2ZSBnb3QgYSBidW5jaCBvZiBjb21tZW50cyBiZWxvdywgYWxsIHByZXR0eSBtdWNo IHNtYWxsIHN0dWZmLi4uDQoNCk9uIFR1ZSBPY3RvYmVyIDIgMjAxMiAwMDowNDo1NSBBcnVuIEt1 bWFyIEsgd3JvdGU6DQo+IE5ldyBjb250cm9scyBhcmUgYWRkZWQgZm9yIHN1cHBvcnRpbmcgSDI2 NCBlbmNvZGluZyBmZWF0dXJlcyBsaWtlDQo+IC0gTVZDIGZyYW1lIHBhY2tpbmcNCj4gLSBGbGV4 aWJsZSBtYWNyb2Jsb2NrIG9yZGVyaW5nDQo+IC0gQXJiaXRyYXJ5IHNsaWNlIG9yZGVyaW5nDQo+ IC0gSGllcmFyY2hpYWwgY29kaW5nDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKZW9uZ3RhZSBQYXJr IDxqdHAucGFya0BzYW1zdW5nLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTogTmF2ZWVuIEtyaXNobmEg Q2hhdHJhZGhpIDxjaC5uYXZlZW5Ac2Ftc3VuZy5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEFydW4g S3VtYXIgSyA8YXJ1bi5ra0BzYW1zdW5nLmNvbT4NCj4gLS0tDQo+ICBEb2N1bWVudGF0aW9uL0Rv Y0Jvb2svbWVkaWEvdjRsL2NvbnRyb2xzLnhtbCB8ICAyNjggKysrKysrKysrKysrKysrKysrKysr KysrKy0NCj4gIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYyAgICAgICAgIHwg ICA0MiArKysrDQo+ICBpbmNsdWRlL2xpbnV4L3Y0bDItY29udHJvbHMuaCAgICAgICAgICAgICAg ICB8ICAgNDEgKysrKw0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAzNTAgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL0RvY0Jvb2svbWVk aWEvdjRsL2NvbnRyb2xzLnhtbCBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9tZWRpYS92NGwvY29u dHJvbHMueG1sDQo+IGluZGV4IDI3MmE1ZjcuLmNlMmNmZDMgMTAwNjQ0DQo+IC0tLSBhL0RvY3Vt ZW50YXRpb24vRG9jQm9vay9tZWRpYS92NGwvY29udHJvbHMueG1sDQo+ICsrKyBiL0RvY3VtZW50 YXRpb24vRG9jQm9vay9tZWRpYS92NGwvY29udHJvbHMueG1sDQo+IEBAIC0xNTg2LDcgKzE1ODYs NiBAQCBmcmFtZSBjb3VudGVyIG9mIHRoZSBmcmFtZSB0aGF0IGlzIGN1cnJlbnRseSBkaXNwbGF5 ZWQgKGRlY29kZWQpLiBUaGlzIHZhbHVlIGlzDQo+ICB0aGUgZGVjb2RlciBpcyBzdGFydGVkLjwv ZW50cnk+DQo+ICAJICAgICAgPC9yb3c+DQo+ICANCj4gLQ0KPiAgCSAgICAgIDxyb3c+PGVudHJ5 PjwvZW50cnk+PC9yb3c+DQo+ICAJICAgICAgPHJvdz4NCj4gIAkJPGVudHJ5IHNwYW5uYW1lPSJp ZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdfVklERU9fREVDT0RFUl9TTElDRV9JTlRFUkZBQ0U8 L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+IEBAIC0yMjcwLDYgKzIyNjksMTQgQEAgQXBwbGlj YWJsZSB0byB0aGUgTVBFRzEsIE1QRUcyLCBNUEVHNCBlbmNvZGVycy48L2VudHJ5Pg0KPiAgCSAg ICAgIDwvcm93Pg0KPiAgDQo+ICAJICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48L3Jvdz4NCj4g KwkgICAgICA8cm93IGlkPSJ2NGwyLW1wZWctdmlkZW8tdmJ2LWRlbGF5Ij4NCj4gKwkJPGVudHJ5 IHNwYW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdfVklERU9fVkJWX0RFTEFZPC9j b25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiArCQk8ZW50cnk+aW50ZWdlcjwvZW50cnk+DQo+ICsJ ICAgICAgPC9yb3c+PHJvdz48ZW50cnkgc3Bhbm5hbWU9ImRlc2NyIj5TZXRzIHRoZSBpbml0aWFs IGRlbGF5IGluIG1pbGxpc2Vjb25kcyBmb3INCj4gK1ZCViBidWZmZXIgY29udHJvbC48L2VudHJ5 Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArDQo+ICsJICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48 L3Jvdz4NCj4gIAkgICAgICA8cm93Pg0KPiAgCQk8ZW50cnkgc3Bhbm5hbWU9ImlkIj48Y29uc3Rh bnQ+VjRMMl9DSURfTVBFR19WSURFT19IMjY0X0NQQl9TSVpFPC9jb25zdGFudD4mbmJzcDs8L2Vu dHJ5Pg0KPiAgCQk8ZW50cnk+aW50ZWdlcjwvZW50cnk+DQo+IEBAIC0yMzM0LDYgKzIzNDEsMjY1 IEBAIEFwcGxpY2FibGUgdG8gdGhlIE1QRUc0IGRlY29kZXIuPC9lbnRyeT4NCj4gIAkgICAgICA8 L3Jvdz48cm93PjxlbnRyeSBzcGFubmFtZT0iZGVzY3IiPnZvcF90aW1lX2luY3JlbWVudCB2YWx1 ZSBmb3IgTVBFRzQuIEFwcGxpY2FibGUgdG8gdGhlIE1QRUc0IGVuY29kZXIuPC9lbnRyeT4NCj4g IAkgICAgICA8L3Jvdz4NCj4gIA0KPiArCSAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PC9yb3c+ DQo+ICsJICAgICAgPHJvdz4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0 TDJfQ0lEX01QRUdfVklERU9fSDI2NF9TRUlfRlJBTUVfUEFDS0lORzwvY29uc3RhbnQ+Jm5ic3A7 PC9lbnRyeT4NCj4gKwkJPGVudHJ5PmJvb2xlYW48L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0K PiArCSAgICAgIDxyb3c+PGVudHJ5IHNwYW5uYW1lPSJkZXNjciI+RW5hYmxlIGdlbmVyYXRpb24g b2YgZnJhbWUgcGFja2luZyBzdXBwbGVtZW50YWwgZW5oYW5jZW1lbnQgaW5mb3JtYXRpb24gaW4g dGhlIGVuY29kZWQgYml0c3RyZWFtLg0KPiArVGhlIGZyYW1lIHBhY2tpbmcgU0VJIG1lc3NhZ2Ug Y29udGFpbnMgdGhlIGFycmFuZ2VtZW50IG9mIEwgYW5kIFIgcGxhbmVzIGZvciAzRCB2aWV3aW5n LiBBcHBsaWNhYmxlIHRvIHRoZSBIMjY0IGVuY29kZXIuPC9lbnRyeT4NCj4gKwkgICAgICA8L3Jv dz4NCj4gKw0KPiArCSAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PC9yb3c+DQo+ICsJICAgICAg PHJvdz4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdf VklERU9fSDI2NF9TRUlfRlBfQ1VSUkVOVF9GUkFNRV8wPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5 Pg0KPiArCQk8ZW50cnk+Ym9vbGVhbjwvZW50cnk+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsJICAg ICAgPHJvdz48ZW50cnkgc3Bhbm5hbWU9ImRlc2NyIj5TZXRzIGN1cnJlbnQgZnJhbWUgYXMgZnJh bWUwIGluIGZyYW1lIHBhY2tpbmcgU0VJLg0KPiArQXBwbGljYWJsZSB0byB0aGUgSDI2NCBlbmNv ZGVyLjwvZW50cnk+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsNCj4gKwkgICAgICA8cm93PjxlbnRy eT48L2VudHJ5Pjwvcm93Pg0KPiArCSAgICAgIDxyb3cgaWQ9InY0bDItbXBlZy12aWRlby1oMjY0 LXNlaS1mcC1hcnJhbmdlbWVudC10eXBlIj4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJpZCI+PGNv bnN0YW50PlY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRTwv Y29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJPGVudHJ5PmVudW0mbmJzcDt2NGwyX21wZWdf dmlkZW9faDI2NF9zZWlfZnBfYXJyYW5nZW1lbnRfdHlwZTwvZW50cnk+DQo+ICsJICAgICAgPC9y b3c+DQo+ICsJICAgICAgPHJvdz48ZW50cnkgc3Bhbm5hbWU9ImRlc2NyIj5GcmFtZSBwYWNraW5n IGFycmFuZ2VtZW50IHR5cGUgZm9yIEgyNjQgU0VJLg0KPiArQXBwbGljYWJsZSB0byB0aGUgSDI2 NCBlbmNvZGVyLg0KPiArUG9zc2libGUgdmFsdWVzIGFyZTo8L2VudHJ5Pg0KPiArCSAgICAgIDwv cm93Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRyeXRibCBzcGFubmFtZT0iZGVzY3IiIGNv bHM9IjIiPg0KPiArCQkgIDx0Ym9keSB2YWxpZ249InRvcCI+DQo+ICsJCSAgICA8cm93Pg0KPiAr CQkgICAgICA8ZW50cnk+PGNvbnN0YW50PlY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJB TkdFTUVOVF9UWVBFX0NIRUtFUkJPQVJEPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiArCQkg ICAgICA8ZW50cnk+UGl4ZWxzIGFyZSBhbHRlcm5hdGl2ZWx5IGZyb20gTCBhbmQgUi48L2VudHJ5 Pg0KPiArCQkgICAgPC9yb3c+DQo+ICsJCSAgICA8cm93Pg0KPiArCQkgICAgICA8ZW50cnk+PGNv bnN0YW50PlY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX0NPTFVN TjwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PkwgYW5kIFIgYXJl IGludGVybGFjZWQgYnkgY29sdW1uLjwvZW50cnk+DQo+ICsJCSAgICA8L3Jvdz4NCj4gKwkJICAg IDxyb3c+DQo+ICsJCSAgICAgIDxlbnRyeT48Y29uc3RhbnQ+VjRMMl9NUEVHX1ZJREVPX0gyNjRf U0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEVfUk9XPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiAr CQkgICAgICA8ZW50cnk+TCBhbmQgUiBhcmUgaW50ZXJsYWNlZCBieSByb3cuPC9lbnRyeT4NCj4g KwkJICAgIDwvcm93Pg0KPiArCQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVudHJ5Pjxjb25zdGFu dD5WNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9TSURFX0JZX1NJ REU8L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+ICsJCSAgICAgIDxlbnRyeT5MIGlzIG9uIHRo ZSBsZWZ0LCBSIG9uIHRoZSByaWdodC48L2VudHJ5Pg0KPiArCQkgICAgPC9yb3c+DQo+ICsJCSAg ICA8cm93Pg0KPiArCQkgICAgICA8ZW50cnk+PGNvbnN0YW50PlY0TDJfTVBFR19WSURFT19IMjY0 X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFX1RPUF9CT1RUT008L2NvbnN0YW50PiZuYnNwOzwvZW50 cnk+DQo+ICsJCSAgICAgIDxlbnRyeT5MIGlzIG9uIHRvcCwgUiBvbiBib3R0b20uPC9lbnRyeT4N Cj4gKwkJICAgIDwvcm93Pg0KPiArCQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVudHJ5Pjxjb25z dGFudD5WNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9URU1QT1JB TDwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5Pk9uZSB2aWV3IHBl ciBmcmFtZS48L2VudHJ5Pg0KPiArCQkgICAgPC9yb3c+DQo+ICsJCSAgPC90Ym9keT4NCj4gKwkJ PC9lbnRyeXRibD4NCj4gKwkgICAgICA8L3Jvdz4NCj4gKw0KPiArCSAgICAgIDxyb3c+PGVudHJ5 PjwvZW50cnk+PC9yb3c+DQo+ICsJICAgICAgPHJvdz4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJp ZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU88L2NvbnN0YW50PiZuYnNw OzwvZW50cnk+DQo+ICsJCTxlbnRyeT5ib29sZWFuPC9lbnRyeT4NCj4gKwkgICAgICA8L3Jvdz4N Cj4gKwkgICAgICA8cm93PjxlbnRyeSBzcGFubmFtZT0iZGVzY3IiPkVuYWJsZXMgZmxleGlibGUg bWFjcm9ibG9jayBvcmRlcmluZyBpbiB0aGUgZW5jb2RlZCBiaXRzdHJlYW0uIEl0IGlzIGEgdGVj aG5pcXVlDQo+ICt1c2VkIGZvciByZXN0cnVjdHVyaW5nIHRoZSBvcmRlcmluZyBvZiBtYWNyb2Js b2NrcyBpbiBwaWN0dXJlcy4gQXBwbGljYWJsZSB0byB0aGUgSDI2NCBlbmNvZGVyLjwvZW50cnk+ DQo+ICsJICAgICAgPC9yb3c+DQo+ICsNCj4gKwkgICAgICA8cm93PjxlbnRyeT48L2VudHJ5Pjwv cm93Pg0KPiArCSAgICAgIDxyb3cgaWQ9InY0bDItbXBlZy12aWRlby1oMjY0LWZtby1tYXAtdHlw ZSI+DQo+ICsJCTxlbnRyeSBzcGFubmFtZT0iaWQiPjxjb25zdGFudD5WNEwyX0NJRF9NUEVHX1ZJ REVPX0gyNjRfRk1PX01BUF9UWVBFPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiArCQk8ZW50 cnk+ZW51bSZuYnNwO3Y0bDJfbXBlZ192aWRlb19oMjY0X2Ztb19tYXBfdHlwZTwvZW50cnk+DQo+ ICsJICAgICAgPC9yb3c+DQo+ICsJICAgICAgPHJvdz48ZW50cnkgc3Bhbm5hbWU9ImRlc2NyIj5X aGVuIHVzaW5nIEZNTywgdGhlIG1hcCB0eXBlIGRpdmlkZXMgdGhlIGltYWdlIGluIGRpZmZlcmVu dCBzY2FuIHBhdHRlcm5zIG9mIG1hY3JvYmxvY2tzLg0KPiArQXBwbGljYWJsZSB0byB0aGUgSDI2 NCBlbmNvZGVyLg0KPiArUG9zc2libGUgdmFsdWVzIGFyZTo8L2VudHJ5Pg0KPiArCSAgICAgIDwv cm93Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRyeXRibCBzcGFubmFtZT0iZGVzY3IiIGNv bHM9IjIiPg0KPiArCQkgIDx0Ym9keSB2YWxpZ249InRvcCI+DQo+ICsJCSAgICA8cm93Pg0KPiAr CQkgICAgICA8ZW50cnk+PGNvbnN0YW50PlY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQ RV9JTlRFUkxFQVZFRF9TTElDRVM8L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+ICsJCSAgICAg IDxlbnRyeT5TbGljZXMgYXJlIGludGVybGVhdmVkIG9uZSBhZnRlciBvdGhlciB3aXRoIG1hY3Jv YmxvY2tzIGluIHJ1biBsZW5ndGggb3JkZXIuPC9lbnRyeT4NCj4gKwkJICAgIDwvcm93Pg0KPiAr CQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVudHJ5Pjxjb25zdGFudD5WNEwyX01QRUdfVklERU9f SDI2NF9GTU9fTUFQX1RZUEVfU0NBVFRFUkVEX1NMSUNFUzwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRy eT4NCj4gKwkJICAgICAgPGVudHJ5PlNjYXR0ZXJzIHRoZSBtYWNyb2Jsb2NrcyBiYXNlZCBvbiBh IG1hdGhlbWF0aWNhbCBmdW5jdGlvbiBrbm93biB0byBib3RoIGVuY29kZXIgYW5kIGRlY29kZXIu PC9lbnRyeT4NCj4gKwkJICAgIDwvcm93Pg0KPiArCQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVu dHJ5Pjxjb25zdGFudD5WNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfRk9SRUdST1VO RF9XSVRIX0xFRlRfT1ZFUjwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVu dHJ5Pk1hY3JvYmxvY2tzIGFycmFuZ2VkIGluIHJlY3Rhbmd1bGFyIGFyZWFzIG9yIHJlZ2lvbnMg b2YgaW50ZXJlc3QuPC9lbnRyeT4NCj4gKwkJICAgIDwvcm93Pg0KPiArCQkgICAgPHJvdz4NCj4g KwkJICAgICAgPGVudHJ5Pjxjb25zdGFudD5WNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZ UEVfQk9YX09VVDwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlNs aWNlIGdyb3VwcyBncm93IGluIGEgY3ljbGljIHdheSBmcm9tIGNlbnRyZSB0byBvdXR3YXJkcy48 L2VudHJ5Pg0KPiArCQkgICAgPC9yb3c+DQo+ICsJCSAgICA8cm93Pg0KPiArCQkgICAgICA8ZW50 cnk+PGNvbnN0YW50PlY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9SQVNURVJfU0NB TjwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlNsaWNlIGdyb3Vw cyBncm93IGluIHJhc3RlciBzY2FuIHBhdHRlcm4gZnJvbSBsZWZ0IHRvIHJpZ2h0LjwvZW50cnk+ DQo+ICsJCSAgICA8L3Jvdz4NCj4gKwkJICAgIDxyb3c+DQo+ICsJCSAgICAgIDxlbnRyeT48Y29u c3RhbnQ+VjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1dJUEVfU0NBTjwvY29uc3Rh bnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlNsaWNlIGdyb3VwcyBncm93IGlu IHdpcGUgc2NhbiBwYXR0ZXJuIGZyb20gdG9wIHRvIGJvdHRvbS48L2VudHJ5Pg0KPiArCQkgICAg PC9yb3c+DQo+ICsJCSAgICA8cm93Pg0KPiArCQkgICAgICA8ZW50cnk+PGNvbnN0YW50PlY0TDJf TVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9FWFBMSUNJVDwvY29uc3RhbnQ+Jm5ic3A7PC9l bnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlVzZXIgZGVmaW5lZCBtYXAgdHlwZS48L2VudHJ5Pg0K PiArCQkgICAgPC9yb3c+DQo+ICsJCSAgPC90Ym9keT4NCj4gKwkJPC9lbnRyeXRibD4NCj4gKwkg ICAgICA8L3Jvdz4NCj4gKw0KPiArCSAgICAgIDxyb3c+PGVudHJ5PjwvZW50cnk+PC9yb3c+DQo+ ICsJICAgICAgPHJvdz4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0TDJf Q0lEX01QRUdfVklERU9fSDI2NF9GTU9fU0xJQ0VfR1JPVVA8L2NvbnN0YW50PiZuYnNwOzwvZW50 cnk+DQo+ICsJCTxlbnRyeT5pbnRlZ2VyPC9lbnRyeT4NCj4gKwkgICAgICA8L3Jvdz4NCj4gKwkg ICAgICA8cm93PjxlbnRyeSBzcGFubmFtZT0iZGVzY3IiPk51bWJlciBvZiBzbGljZSBncm91cHMg aW4gRk1PLg0KPiArQXBwbGljYWJsZSB0byB0aGUgSDI2NCBlbmNvZGVyLjwvZW50cnk+DQo+ICsJ ICAgICAgPC9yb3c+DQo+ICsNCj4gKwkgICAgICA8cm93PjxlbnRyeT48L2VudHJ5Pjwvcm93Pg0K PiArCSAgICAgIDxyb3cgaWQ9InY0bDItbXBlZy12aWRlby1oMjY0LWZtby1jaGFuZ2UtZGlyZWN0 aW9uIj4NCj4gKwkJPGVudHJ5IHNwYW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdf VklERU9fSDI2NF9GTU9fQ0hBTkdFX0RJUkVDVElPTjwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4N Cj4gKwkJPGVudHJ5PmVudW0mbmJzcDt2NGwyX21wZWdfdmlkZW9faDI2NF9mbW9fY2hhbmdlX2Rp cjwvZW50cnk+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsJICAgICAgPHJvdz48ZW50cnkgc3Bhbm5h bWU9ImRlc2NyIj5TcGVjaWZpZXMgYSBkaXJlY3Rpb24gb2YgdGhlIHNsaWNlIGdyb3VwIGNoYW5n ZSBmb3IgcmFzdGVyIGFuZCB3aXBlIG1hcHMuDQo+ICtBcHBsaWNhYmxlIHRvIHRoZSBIMjY0IGVu Y29kZXIuDQo+ICtQb3NzaWJsZSB2YWx1ZXMgYXJlOjwvZW50cnk+DQo+ICsJICAgICAgPC9yb3c+ DQo+ICsJICAgICAgPHJvdz4NCj4gKwkJPGVudHJ5dGJsIHNwYW5uYW1lPSJkZXNjciIgY29scz0i MiI+DQo+ICsJCSAgPHRib2R5IHZhbGlnbj0idG9wIj4NCj4gKwkJICAgIDxyb3c+DQo+ICsJCSAg ICAgIDxlbnRyeT48Y29uc3RhbnQ+VjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX0NIQU5HRV9ESVJf UklHSFQ8L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+ICsJCSAgICAgIDxlbnRyeT5SYXN0ZXIg c2NhbiBvciB3aXBlIHJpZ2h0LjwvZW50cnk+DQo+ICsJCSAgICA8L3Jvdz4NCj4gKwkJICAgIDxy b3c+DQo+ICsJCSAgICAgIDxlbnRyeT48Y29uc3RhbnQ+VjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1P X0NIQU5HRV9ESVJfTEVGVDwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJICAgICAgPGVu dHJ5PlJldmVyc2UgcmFzdGVyIHNjYW4gb3Igd2lwZSBsZWZ0LjwvZW50cnk+DQo+ICsJCSAgICA8 L3Jvdz4NCj4gKwkJICA8L3Rib2R5Pg0KPiArCQk8L2VudHJ5dGJsPg0KPiArCSAgICAgIDwvcm93 Pg0KPiArDQo+ICsJICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48L3Jvdz4NCj4gKwkgICAgICA8 cm93Pg0KPiArCQk8ZW50cnkgc3Bhbm5hbWU9ImlkIj48Y29uc3RhbnQ+VjRMMl9DSURfTVBFR19W SURFT19IMjY0X0ZNT19DSEFOR0VfUkFURTwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJ PGVudHJ5PmludGVnZXI8L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArCSAgICAgIDxyb3c+ PGVudHJ5IHNwYW5uYW1lPSJkZXNjciI+U3BlY2lmaWVzIHRoZSBzaXplIG9mIHRoZSBmaXJzdCBz bGljZSBncm91cCBmb3IgcmFzdGVyIGFuZCB3aXBlIG1hcC4NCj4gK0FwcGxpY2FibGUgdG8gdGhl IEgyNjQgZW5jb2Rlci48L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArDQo+ICsJICAgICAg PHJvdz48ZW50cnk+PC9lbnRyeT48L3Jvdz4NCj4gKwkgICAgICA8cm93Pg0KPiArCQk8ZW50cnkg c3Bhbm5hbWU9ImlkIj48Y29uc3RhbnQ+VjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZNT19SVU5f TEVOR1RIPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiArCQk8ZW50cnk+aW50ZWdlcjwvZW50 cnk+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsJICAgICAgPHJvdz48ZW50cnkgc3Bhbm5hbWU9ImRl c2NyIj5TcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb25zZWN1dGl2ZSBtYWNyb2Jsb2NrcyBmb3Ig dGhlIGludGVybGVhdmVkIG1hcC4NCj4gK0FwcGxpY2FibGUgdG8gdGhlIEgyNjQgZW5jb2Rlci48 L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArDQo+ICsJICAgICAgPHJvdz48ZW50cnk+PC9l bnRyeT48L3Jvdz4NCj4gKwkgICAgICA8cm93Pg0KPiArCQk8ZW50cnkgc3Bhbm5hbWU9ImlkIj48 Y29uc3RhbnQ+VjRMMl9DSURfTVBFR19WSURFT19IMjY0X0FTTzwvY29uc3RhbnQ+Jm5ic3A7PC9l bnRyeT4NCj4gKwkJPGVudHJ5PmJvb2xlYW48L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiAr CSAgICAgIDxyb3c+PGVudHJ5IHNwYW5uYW1lPSJkZXNjciI+RW5hYmxlcyBhcmJpdHJhcnkgc2xp Y2Ugb3JkZXJpbmcgaW4gZW5jb2RlZCBiaXRzdHJlYW0uDQo+ICtBcHBsaWNhYmxlIHRvIHRoZSBI MjY0IGVuY29kZXIuPC9lbnRyeT4NCj4gKwkgICAgICA8L3Jvdz4NCj4gKw0KPiArCSAgICAgIDxy b3c+PGVudHJ5PjwvZW50cnk+PC9yb3c+DQo+ICsJICAgICAgPHJvdz4NCj4gKwkJPGVudHJ5IHNw YW5uYW1lPSJpZCI+PGNvbnN0YW50PlY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9BU09fU0xJQ0Vf T1JERVI8L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+ICsJCTxlbnRyeT5pbnRlZ2VyPC9lbnRy eT4NCj4gKwkgICAgICA8L3Jvdz48cm93PjxlbnRyeSBzcGFubmFtZT0iZGVzY3IiPlNwZWNpZmll cyB0aGUgc2xpY2Ugb3JkZXIgaW4gQVNPLiBBcHBsaWNhYmxlIHRvIHRoZSBIMjY0IGVuY29kZXIu DQo+ICtUaGUgc3VwcGxpZWQgMzItYml0IGludGVnZXIgaXMgaW50ZXJwcmV0ZWQgYXMgZm9sbG93 cyAoYml0DQo+ICswID0gbGVhc3Qgc2lnbmlmaWNhbnQgYml0KTo8L2VudHJ5Pg0KPiArCSAgICAg IDwvcm93Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRyeXRibCBzcGFubmFtZT0iZGVzY3Ii IGNvbHM9IjIiPg0KPiArCQkgIDx0Ym9keSB2YWxpZ249InRvcCI+DQo+ICsJCSAgICA8cm93Pg0K PiArCQkgICAgICA8ZW50cnk+Qml0IDA6MTU8L2VudHJ5Pg0KPiArCQkgICAgICA8ZW50cnk+U2xp Y2UgSUQ8L2VudHJ5Pg0KPiArCQkgICAgPC9yb3c+DQo+ICsJCSAgICA8cm93Pg0KPiArCQkgICAg ICA8ZW50cnk+Qml0IDE2OjMyPC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlNsaWNlIHBvc2l0 aW9uIG9yIG9yZGVyPC9lbnRyeT4NCj4gKwkJICAgIDwvcm93Pg0KPiArCQkgIDwvdGJvZHk+DQo+ ICsJCTwvZW50cnl0Ymw+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsNCj4gKwkgICAgICA8cm93Pjxl bnRyeT48L2VudHJ5Pjwvcm93Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRyeSBzcGFubmFt ZT0iaWQiPjxjb25zdGFudD5WNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NP RElORzwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJPGVudHJ5PmJvb2xlYW48L2VudHJ5 Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArCSAgICAgIDxyb3c+PGVudHJ5IHNwYW5uYW1lPSJkZXNj ciI+RW5hYmxlcyBIMjY0IGhpZXJhcmNoaWFsIGNvZGluZy4NCg0KaGllcmFyY2hpYWwgLT4gaGll cmFyY2hpY2FsDQoNClRoaXMgc2FtZSB0eXBvIGlzIG1hZGUgaW4gcXVpdGUgYSBmZXcgcGxhY2Vz LCBzbyBwbGVhc2UgdG8gYSBjYXNlLWluc2Vuc2l0aXZlDQpzZWFyY2ggZm9yIHRoaXMuDQoNCj4g K0FwcGxpY2FibGUgdG8gdGhlIEgyNjQgZW5jb2Rlci48L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93 Pg0KPiArDQo+ICsJICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48L3Jvdz4NCj4gKwkgICAgICA8 cm93IGlkPSJ2NGwyLW1wZWctdmlkZW8taDI2NC1oaWVyYXJjaGlhbC1jb2RpbmctdHlwZSI+DQo+ ICsJCTxlbnRyeSBzcGFubmFtZT0iaWQiPjxjb25zdGFudD5WNEwyX0NJRF9NUEVHX1ZJREVPX0gy NjRfSElFUkFSQ0hJQ0FMX0NPRElOR19UWVBFPC9jb25zdGFudD4mbmJzcDs8L2VudHJ5Pg0KPiAr CQk8ZW50cnk+ZW51bSZuYnNwO3Y0bDJfbXBlZ192aWRlb19oMjY0X2hpZXJhcmNoaWNhbF9jb2Rp bmdfdHlwZTwvZW50cnk+DQo+ICsJICAgICAgPC9yb3c+DQo+ICsJICAgICAgPHJvdz48ZW50cnkg c3Bhbm5hbWU9ImRlc2NyIj5TcGVjaWZpZXMgdGhlIGhpZXJhcmNoaWFsIGNvZGluZyB0eXBlLg0K PiArQXBwbGljYWJsZSB0byB0aGUgSDI2NCBlbmNvZGVyLg0KPiArUG9zc2libGUgdmFsdWVzIGFy ZTo8L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRy eXRibCBzcGFubmFtZT0iZGVzY3IiIGNvbHM9IjIiPg0KPiArCQkgIDx0Ym9keSB2YWxpZ249InRv cCI+DQo+ICsJCSAgICA8cm93Pg0KPiArCQkgICAgICA8ZW50cnk+PGNvbnN0YW50PlY0TDJfTVBF R19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9DT0RJTkdfQjwvY29uc3RhbnQ+Jm5ic3A7PC9lbnRy eT4NCj4gKwkJICAgICAgPGVudHJ5PkhpZXJhcmNoaWFsIEIgY29kaW5nLjwvZW50cnk+DQo+ICsJ CSAgICA8L3Jvdz4NCj4gKwkJICAgIDxyb3c+DQo+ICsJCSAgICAgIDxlbnRyeT48Y29uc3RhbnQ+ VjRMMl9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NPRElOR19QPC9jb25zdGFudD4mbmJz cDs8L2VudHJ5Pg0KPiArCQkgICAgICA8ZW50cnk+SGllcmFyY2hpYWwgUCBjb2RpbmcuPC9lbnRy eT4NCj4gKwkJICAgIDwvcm93Pg0KPiArCQkgIDwvdGJvZHk+DQo+ICsJCTwvZW50cnl0Ymw+DQo+ ICsJICAgICAgPC9yb3c+DQo+ICsNCj4gKwkgICAgICA8cm93PjxlbnRyeT48L2VudHJ5Pjwvcm93 Pg0KPiArCSAgICAgIDxyb3c+DQo+ICsJCTxlbnRyeSBzcGFubmFtZT0iaWQiPjxjb25zdGFudD5W NEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NPRElOR19MQVlFUjwvY29uc3Rh bnQ+Jm5ic3A7PC9lbnRyeT4NCj4gKwkJPGVudHJ5PmludGVnZXI8L2VudHJ5Pg0KPiArCSAgICAg IDwvcm93Pg0KPiArCSAgICAgIDxyb3c+PGVudHJ5IHNwYW5uYW1lPSJkZXNjciI+U3BlY2lmaWVz IHRoZSBudW1iZXIgb2YgaGllcmFyY2hpYWwgY29kaW5nIGxheWVycy4NCj4gK0FwcGxpY2FibGUg dG8gdGhlIEgyNjQgZW5jb2Rlci48L2VudHJ5Pg0KPiArCSAgICAgIDwvcm93Pg0KPiArDQo+ICsJ ICAgICAgPHJvdz48ZW50cnk+PC9lbnRyeT48L3Jvdz4NCj4gKwkgICAgICA8cm93Pg0KPiArCQk8 ZW50cnkgc3Bhbm5hbWU9ImlkIj48Y29uc3RhbnQ+VjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJ RVJBUkNISUNBTF9DT0RJTkdfTEFZRVJfUVA8L2NvbnN0YW50PiZuYnNwOzwvZW50cnk+DQo+ICsJ CTxlbnRyeT5pbnRlZ2VyPC9lbnRyeT4NCj4gKwkgICAgICA8L3Jvdz48cm93PjxlbnRyeSBzcGFu bmFtZT0iZGVzY3IiPlNwZWNpZmllcyBhIHVzZXIgZGVmaW5lZCBRUCBmb3IgZWFjaCBsYXllci4g QXBwbGljYWJsZSB0byB0aGUgSDI2NCBlbmNvZGVyLg0KPiArVGhlIHN1cHBsaWVkIDMyLWJpdCBp bnRlZ2VyIGlzIGludGVycHJldGVkIGFzIGZvbGxvd3MgKGJpdA0KPiArMCA9IGxlYXN0IHNpZ25p ZmljYW50IGJpdCk6PC9lbnRyeT4NCj4gKwkgICAgICA8L3Jvdz4NCj4gKwkgICAgICA8cm93Pg0K PiArCQk8ZW50cnl0Ymwgc3Bhbm5hbWU9ImRlc2NyIiBjb2xzPSIyIj4NCj4gKwkJICA8dGJvZHkg dmFsaWduPSJ0b3AiPg0KPiArCQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVudHJ5PkJpdCAwOjE1 PC9lbnRyeT4NCj4gKwkJICAgICAgPGVudHJ5PlFQIHZhbHVlPC9lbnRyeT4NCj4gKwkJICAgIDwv cm93Pg0KPiArCQkgICAgPHJvdz4NCj4gKwkJICAgICAgPGVudHJ5PkJpdCAxNjozMjwvZW50cnk+ DQo+ICsJCSAgICAgIDxlbnRyeT5MYXllciBudW1iZXI8L2VudHJ5Pg0KPiArCQkgICAgPC9yb3c+ DQo+ICsJCSAgPC90Ym9keT4NCj4gKwkJPC9lbnRyeXRibD4NCj4gKwkgICAgICA8L3Jvdz4NCj4g Kw0KPiAgCSAgICA8L3Rib2R5Pg0KPiAgCSAgPC90Z3JvdXA+DQo+ICAJPC90YWJsZT4NCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYyBiL2RyaXZlcnMv bWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYw0KPiBpbmRleCBmNDAwMDM1Li5hNzUxOGNiIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMNCj4gKysr IGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJscy5jDQo+IEBAIC0zODQsNiArMzg0 LDI1IEBAIGNvbnN0IGNoYXIgKiBjb25zdCAqdjRsMl9jdHJsX2dldF9tZW51KHUzMiBpZCkNCj4g IAkJIkV4dGVuZGVkIFNBUiIsDQo+ICAJCU5VTEwsDQo+ICAJfTsNCj4gKwlzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGgyNjRfZnBfYXJyYW5nZW1lbnRfdHlwZVtdID0gew0KPiArCQkiQ2hlY2tl cmJvYXJkIiwNCj4gKwkJIkNvbHVtbiIsDQo+ICsJCSJSb3ciLA0KPiArCQkiU2lkZSBieSBzaWRl IiwNCg0KIlNpZGUgYnkgU2lkZSINCg0KPiArCQkiVG9wIEJvdHRvbSIsDQo+ICsJCSJUZW1wb3Jh bCIsDQo+ICsJCU5VTEwsDQo+ICsJfTsNCj4gKwlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGgy NjRfZm1vX21hcF90eXBlW10gPSB7DQo+ICsJCSJJbnRlcmxlYXZlZCBTbGljZXMiLA0KPiArCQki U2NhdHRlcmVkIFNsaWNlcyIsDQo+ICsJCSJGb3JlZ3JvdW5kIFdpdGggTGVmdG92ZXIiLA0KDQpX aXRoIC0+IHdpdGgNCg0KSSBjYW4ndCBoZWxwIHRoZSB3ZWlyZCBjYXBpdGFsaXphdGlvbiBydWxl cyBpbiBFbmdsaXNoIHcuci50LiB0aXRsZXMgOi0pDQoNCj4gKwkJIkJveCBPdXQiLA0KPiArCQki UmFzdGVyIFNjYW4iLA0KPiArCQkiV2lwZSBTY2FuIiwNCj4gKwkJIkV4cGxpY2l0IiwNCj4gKwkJ TlVMTCwNCj4gKwl9Ow0KPiAgCXN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXBlZ19tcGVnNF9s ZXZlbFtdID0gew0KPiAgCQkiMCIsDQo+ICAJCSIwYiIsDQo+IEBAIC01MDgsNiArNTI3LDEwIEBA IGNvbnN0IGNoYXIgKiBjb25zdCAqdjRsMl9jdHJsX2dldF9tZW51KHUzMiBpZCkNCj4gIAkJcmV0 dXJuIGgyNjRfcHJvZmlsZTsNCj4gIAljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9WVUlf U0FSX0lEQzoNCj4gIAkJcmV0dXJuIHZ1aV9zYXJfaWRjOw0KPiArCWNhc2UgVjRMMl9DSURfTVBF R19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBFOg0KPiArCQlyZXR1cm4gaDI2NF9m cF9hcnJhbmdlbWVudF90eXBlOw0KPiArCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZN T19NQVBfVFlQRToNCj4gKwkJcmV0dXJuIGgyNjRfZm1vX21hcF90eXBlOw0KPiAgCWNhc2UgVjRM Ml9DSURfTVBFR19WSURFT19NUEVHNF9MRVZFTDoNCj4gIAkJcmV0dXJuIG1wZWdfbXBlZzRfbGV2 ZWw7DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X1BST0ZJTEU6DQo+IEBAIC02 NDMsNiArNjY2LDIyIEBAIGNvbnN0IGNoYXIgKnY0bDJfY3RybF9nZXRfbmFtZSh1MzIgaWQpDQo+ ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfVlVJX0VYVF9TQVJfV0lEVEg6CXJldHVy biAiSG9yaXpvbnRhbCBTaXplIG9mIFNBUiI7DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVP X0gyNjRfVlVJX1NBUl9FTkFCTEU6CQlyZXR1cm4gIkFzcGVjdCBSYXRpbyBWVUkgRW5hYmxlIjsN Cj4gIAljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQzoJCXJldHVybiAi VlVJIEFzcGVjdCBSYXRpbyBJREMiOw0KPiArCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IMjY0 X1NFSV9GUkFNRV9QQUNLSU5HOglyZXR1cm4gIkgyNjQgRW5hYmxlIEZyYW1lIFBhY2tpbmcgU0VJ IjsNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQ1VSUkVOVF9GUkFN RV8wOglyZXR1cm4gIkgyNjQgU2V0IEN1cnJlbnQgRnJhbWUgYXMgRnJhbWUwIjsNCj4gKwljYXNl IFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRToJcmV0dXJu ICJIMjY0IEZyYW1lIFBhY2tpbmcgQXJyYW5nZW1lbnQgVHlwZSI7DQo+ICsJY2FzZSBWNEwyX0NJ RF9NUEVHX1ZJREVPX0gyNjRfRk1POgkJCXJldHVybiAiSDI2NCBGbGV4aWJsZSBNYWNyb2Jsb2Nr IE9yZGVyaW5nIjsNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZ UEU6CQlyZXR1cm4gIkgyNjQgTWFwIFR5cGUgZm9yIEZNTyI7DQo+ICsJY2FzZSBWNEwyX0NJRF9N UEVHX1ZJREVPX0gyNjRfRk1PX1NMSUNFX0dST1VQOgkJcmV0dXJuICJIMjY0IEZNTyBOdW1iZXIg b2YgU2xpY2UgR3JvdXBzIjsNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9GTU9f Q0hBTkdFX0RJUkVDVElPTjoJcmV0dXJuICJIMjY0IEZNTyBEaXJlY3Rpb24gb2YgdGhlIFNsaWNl IEdyb3VwIENoYW5nZSI7DQo+ICsJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX0NI QU5HRV9SQVRFOgkJcmV0dXJuICJIMjY0IEZNTyBTaXplIG9mIHRoZSBGaXJzdCBTbGljZSBHcm91 cCI7DQo+ICsJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX1JVTl9MRU5HVEg6CQly ZXR1cm4gIkgyNjQgRk1PIE51bWJlciBvZiBDb25zZWN1dGl2ZSBNQnMiOw0KPiArCWNhc2UgVjRM Ml9DSURfTVBFR19WSURFT19IMjY0X0FTTzoJCQlyZXR1cm4gIkgyNjQgQXJiaXRyYXJ5IFNsaWNl IE9yZGVyaW5nIjsNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9BU09fU0xJQ0Vf T1JERVI6CQlyZXR1cm4gIkgyNjQgQVNPIFNsaWNlIE9yZGVyIjsNCj4gKwljYXNlIFY0TDJfQ0lE X01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HOglyZXR1cm4gIkVuYWJsZSBIMjY0 IEhpZXJhcmNoaWFsIENvZGluZyI7DQo+ICsJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRf SElFUkFSQ0hJQ0FMX0NPRElOR19UWVBFOglyZXR1cm4gIkgyNjQgSGllcmFyY2hpYWwgQ29kaW5n IFR5cGUiOw0KPiArCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNISUNBTF9D T0RJTkdfTEFZRVI6cmV0dXJuICJIMjY0IE51bWJlciBvZiBIaWVyYXJjaGlhbCBDb2RpbmcgTGF5 ZXJzIjsNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09E SU5HX0xBWUVSX1FQOg0KPiArCQkJCQkJCQlyZXR1cm4gIkgyNjQgU2V0IFFQIFZhbHVlIGZvciBI aWVyYXJjaGlhbCBDb2RpbmcgTGF5ZXJzIjsNCg0KTm90ZSB0aGF0IHRoZSBzdHJpbmcgY2FuIG9u bHkgYmUgMzIgY2hhcnMgbG9uZyAoaW5jbHVkaW5nIHRoZSB0ZXJtaW5hdGluZyB6ZXJvKSwNCnNv IHF1aXRlIGEgZmV3IG9mIHRoZXNlIHN0cmluZ3MgYXJlIHRvbyBsb25nLiBUaGUgY29udHJvbCBm cmFtZXdvcmsgd2lsbCBqdXN0DQpjdXQgb2ZmIHRoZSBzdHJpbmcuDQoNCj4gIAljYXNlIFY0TDJf Q0lEX01QRUdfVklERU9fTVBFRzRfSV9GUkFNRV9RUDoJCXJldHVybiAiTVBFRzQgSS1GcmFtZSBR UCBWYWx1ZSI7DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0X1BfRlJBTUVfUVA6 CQlyZXR1cm4gIk1QRUc0IFAtRnJhbWUgUVAgVmFsdWUiOw0KPiAgCWNhc2UgVjRMMl9DSURfTVBF R19WSURFT19NUEVHNF9CX0ZSQU1FX1FQOgkJcmV0dXJuICJNUEVHNCBCLUZyYW1lIFFQIFZhbHVl IjsNCj4gQEAgLTY1Nyw2ICs2OTYsNyBAQCBjb25zdCBjaGFyICp2NGwyX2N0cmxfZ2V0X25hbWUo dTMyIGlkKQ0KPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19WQlZfU0laRToJCQlyZXR1cm4g IlZCViBCdWZmZXIgU2l6ZSI7DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0RFQ19QVFM6 CQkJcmV0dXJuICJWaWRlbyBEZWNvZGVyIFBUUyI7DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJ REVPX0RFQ19GUkFNRToJCQlyZXR1cm4gIlZpZGVvIERlY29kZXIgRnJhbWUgQ291bnQiOw0KPiAr CWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19WQlZfREVMQVk6CQkJcmV0dXJuICJJbml0aWFsIERl bGF5IGZvciBWQlYgQnVmZmVyIENvbnRyb2wiOw0KPiAgDQo+ICAJLyogQ0FNRVJBIGNvbnRyb2xz ICovDQo+ICAJLyogS2VlcCB0aGUgb3JkZXIgb2YgdGhlICdjYXNlJ3MgdGhlIHNhbWUgYXMgaW4g dmlkZW9kZXYyLmghICovDQo+IEBAIC04NTMsNiArODkzLDggQEAgdm9pZCB2NGwyX2N0cmxfZmls bCh1MzIgaWQsIGNvbnN0IGNoYXIgKipuYW1lLCBlbnVtIHY0bDJfY3RybF90eXBlICp0eXBlLA0K PiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0xPT1BfRklMVEVSX01PREU6DQo+ICAJ Y2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfUFJPRklMRToNCj4gIAljYXNlIFY0TDJfQ0lE X01QRUdfVklERU9fSDI2NF9WVUlfU0FSX0lEQzoNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklE RU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRToNCj4gKwljYXNlIFY0TDJfQ0lEX01QRUdf VklERU9fSDI2NF9GTU9fTUFQX1RZUEU6DQo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01Q RUc0X0xFVkVMOg0KPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9QUk9GSUxFOg0K PiAgCWNhc2UgVjRMMl9DSURfSlBFR19DSFJPTUFfU1VCU0FNUExJTkc6DQo+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L3Y0bDItY29udHJvbHMuaCBiL2luY2x1ZGUvbGludXgvdjRsMi1jb250 cm9scy5oDQo+IGluZGV4IDQyMWQyNGMuLjg2ZTc5YWYgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUv bGludXgvdjRsMi1jb250cm9scy5oDQo+ICsrKyBiL2luY2x1ZGUvbGludXgvdjRsMi1jb250cm9s cy5oDQo+IEBAIC0zNDksNiArMzQ5LDcgQEAgZW51bSB2NGwyX21wZWdfdmlkZW9fbXVsdGlfc2xp Y2VfbW9kZSB7DQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fVkJWX1NJWkUJCQkoVjRM Ml9DSURfTVBFR19CQVNFKzIyMikNCj4gICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19ERUNf UFRTCQkJKFY0TDJfQ0lEX01QRUdfQkFTRSsyMjMpDQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdf VklERU9fREVDX0ZSQU1FCQkJKFY0TDJfQ0lEX01QRUdfQkFTRSsyMjQpDQo+ICsjZGVmaW5lIFY0 TDJfQ0lEX01QRUdfVklERU9fVkJWX0RFTEFZCQkJKFY0TDJfQ0lEX01QRUdfQkFTRSsyMjUpDQo+ ICANCj4gICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjYzX0lfRlJBTUVfUVAJCShWNEwy X0NJRF9NUEVHX0JBU0UrMzAwKQ0KPiAgI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjNf UF9GUkFNRV9RUAkJKFY0TDJfQ0lEX01QRUdfQkFTRSszMDEpDQo+IEBAIC00MzksNiArNDQwLDQ2 IEBAIGVudW0gdjRsMl9tcGVnX3ZpZGVvX2gyNjRfdnVpX3Nhcl9pZGMgew0KPiAgCVY0TDJfTVBF R19WSURFT19IMjY0X1ZVSV9TQVJfSURDXzJ4MQkJPSAxNiwNCj4gIAlWNEwyX01QRUdfVklERU9f SDI2NF9WVUlfU0FSX0lEQ19FWFRFTkRFRAk9IDE3LA0KPiAgfTsNCj4gKyNkZWZpbmUgVjRMMl9D SURfTVBFR19WSURFT19IMjY0X1NFSV9GUkFNRV9QQUNLSU5HCQkoVjRMMl9DSURfTVBFR19CQVNF KzM2OCkNCj4gKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X1NFSV9GUF9DVVJSRU5U X0ZSQU1FXzAJCShWNEwyX0NJRF9NUEVHX0JBU0UrMzY5KQ0KPiArI2RlZmluZSBWNEwyX0NJRF9N UEVHX1ZJREVPX0gyNjRfU0VJX0ZQX0FSUkFOR0VNRU5UX1RZUEUJKFY0TDJfQ0lEX01QRUdfQkFT RSszNzApDQo+ICtlbnVtIHY0bDJfbXBlZ192aWRlb19oMjY0X3NlaV9mcF9hcnJhbmdlbWVudF90 eXBlIHsNCj4gKwlWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9D SEVLRVJCT0FSRAk9IDAsDQoNClR5cG86IENIRUtFUiAtPiBDSEVDS0VSDQoNCj4gKwlWNEwyX01Q RUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9DT0xVTU4JCT0gMSwNCj4gKwlW NEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9ST1cJCT0gMiwNCj4g KwlWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5HRU1FTlRfVFlQRV9TSURFX0JZX1NJ REUJPSAzLA0KPiArCVY0TDJfTVBFR19WSURFT19IMjY0X1NFSV9GUF9BUlJBTkdFTUVOVF9UWVBF X1RPUF9CT1RUT00JCT0gNCwNCj4gKwlWNEwyX01QRUdfVklERU9fSDI2NF9TRUlfRlBfQVJSQU5H RU1FTlRfVFlQRV9URU1QT1JBTAkJPSA1LA0KPiArfTsNCj4gKyNkZWZpbmUgVjRMMl9DSURfTVBF R19WSURFT19IMjY0X0ZNTwkJCShWNEwyX0NJRF9NUEVHX0JBU0UrMzcxKQ0KPiArI2RlZmluZSBW NEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFCQkoVjRMMl9DSURfTVBFR19CQVNF KzM3MikNCj4gK2VudW0gdjRsMl9tcGVnX3ZpZGVvX2gyNjRfZm1vX21hcF90eXBlIHsNCj4gKwlW NEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfSU5URVJMRUFWRURfU0xJQ0VTCQk9IDAs DQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1NDQVRURVJFRF9TTElDRVMJ CT0gMSwNCj4gKwlWNEwyX01QRUdfVklERU9fSDI2NF9GTU9fTUFQX1RZUEVfRk9SRUdST1VORF9X SVRIX0xFRlRfT1ZFUgk9IDIsDQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBF X0JPWF9PVVQJCQk9IDMsDQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX1JB U1RFUl9TQ0FOCQkJPSA0LA0KPiArCVY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19NQVBfVFlQRV9X SVBFX1NDQU4JCQk9IDUsDQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX01BUF9UWVBFX0VY UExJQ0lUCQkJPSA2LA0KPiArfTsNCj4gKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0 X0ZNT19TTElDRV9HUk9VUAkoVjRMMl9DSURfTVBFR19CQVNFKzM3MykNCj4gKyNkZWZpbmUgVjRM Ml9DSURfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfRElSRUNUSU9OCShWNEwyX0NJRF9NUEVH X0JBU0UrMzc0KQ0KPiArZW51bSB2NGwyX21wZWdfdmlkZW9faDI2NF9mbW9fY2hhbmdlX2RpciB7 DQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfRk1PX0NIQU5HRV9ESVJfUklHSFQJPSAwLA0KPiAr CVY0TDJfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfRElSX0xFRlQJPSAxLA0KPiArfTsNCj4g KyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZNT19DSEFOR0VfUkFURQkoVjRMMl9D SURfTVBFR19CQVNFKzM3NSkNCj4gKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0ZN T19SVU5fTEVOR1RICQkoVjRMMl9DSURfTVBFR19CQVNFKzM3NikNCj4gKyNkZWZpbmUgVjRMMl9D SURfTVBFR19WSURFT19IMjY0X0FTTwkJCShWNEwyX0NJRF9NUEVHX0JBU0UrMzc3KQ0KPiArI2Rl ZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfQVNPX1NMSUNFX09SREVSCShWNEwyX0NJRF9N UEVHX0JBU0UrMzc4KQ0KPiArI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0gyNjRfSElFUkFS Q0hJQ0FMX0NPRElORwkJKFY0TDJfQ0lEX01QRUdfQkFTRSszNzkpDQo+ICsjZGVmaW5lIFY0TDJf Q0lEX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX1RZUEUJKFY0TDJfQ0lEX01Q RUdfQkFTRSszODApDQo+ICtlbnVtIHY0bDJfbXBlZ192aWRlb19oMjY0X2hpZXJhcmNoaWNhbF9j b2RpbmdfdHlwZSB7DQo+ICsJVjRMMl9NUEVHX1ZJREVPX0gyNjRfSElFUkFSQ0hJQ0FMX0NPRElO R19CCT0gMCwNCj4gKwlWNEwyX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX1AJ PSAxLA0KPiArfTsNCj4gKyNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IMjY0X0hJRVJBUkNI SUNBTF9DT0RJTkdfTEFZRVIJKFY0TDJfQ0lEX01QRUdfQkFTRSszODEpDQo+ICsjZGVmaW5lIFY0 TDJfQ0lEX01QRUdfVklERU9fSDI2NF9ISUVSQVJDSElDQUxfQ09ESU5HX0xBWUVSX1FQCShWNEwy X0NJRF9NUEVHX0JBU0UrMzgyKQ0KPiAgI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX01QRUc0 X0lfRlJBTUVfUVAJKFY0TDJfQ0lEX01QRUdfQkFTRSs0MDApDQo+ICAjZGVmaW5lIFY0TDJfQ0lE X01QRUdfVklERU9fTVBFRzRfUF9GUkFNRV9RUAkoVjRMMl9DSURfTVBFR19CQVNFKzQwMSkNCj4g ICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19NUEVHNF9CX0ZSQU1FX1FQCShWNEwyX0NJRF9N UEVHX0JBU0UrNDAyKQ0KPiANCg0KUmVnYXJkcywNCg0KCUhhbnMNCjxwPiZuYnNwOzwvcD48cD4m bmJzcDs8L3A+