From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v2 07/23] drm/dsc: Define Display Stream Compression PPS infoframe Date: Thu, 23 Aug 2018 13:08:14 -0700 Message-ID: <20180823200813.GB3015@intel.com> References: <1533071239-28815-1-git-send-email-manasi.d.navare@intel.com> <1533071239-28815-8-git-send-email-manasi.d.navare@intel.com> <83F5C7385F545743AD4FB2A62F75B07347F42421@ORSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <83F5C7385F545743AD4FB2A62F75B07347F42421@ORSMSX108.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: "Srivatsa, Anusha" Cc: "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Singh, Gaurav K" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBBdWcgMTcsIDIwMTggYXQgMTI6MzE6NTFQTSAtMDcwMCwgU3JpdmF0c2EsIEFudXNo YSB3cm90ZToKPiBUaGlzIHBhdGNoIG5lZWRzIHRvIG5vdyBpbmNvcnBvcmF0ZSB0aGUgbmV3bHkg YWRkZWQgc2xpY2Vfcm93X3Blcl9mcmFtZSBwYXJhbWV0ZXIgaW4gUFBTXzE2LgoKTm9wZSwgdGhl IHNsaWNlX3Jvd19wZXJfZnJhbWUgYW5kIHNsaWNlX3Blcl9saW5lIGFyZSBvbmx5IHJlcXVpcmVk IHRvIGNvbmZpZ3VyZSBQUFMKb24gdGhlIHNvdXJjZSBzaWRlLiBUaGV5IGFyZSBub3QgRFNDIHNw ZWMgcmVsYXRlZCBQUFMgcGFyYW1ldGVycy4KCk1hbmFzaQoKPiAKPiBBbnVzaGEgCj4gCj4gPi0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPkZyb206IE5hdmFyZSwgTWFuYXNpIEQKPiA+U2Vu dDogVHVlc2RheSwgSnVseSAzMSwgMjAxOCAyOjA3IFBNCj4gPlRvOiBpbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPkNjOiBOYXZhcmUsIE1hbmFzaSBEIDxtYW5hc2kuZC5uYXZhcmVA aW50ZWwuY29tPjsgU2luZ2gsIEdhdXJhdiBLCj4gPjxnYXVyYXYuay5zaW5naEBpbnRlbC5jb20+ OyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBKYW5pIE5pa3VsYQo+ID48amFuaS5u aWt1bGFAbGludXguaW50ZWwuY29tPjsgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Owo+ID5Tcml2YXRzYSwgQW51c2hhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwu Y29tPjsgSGFycnkgV2VudGxhbmQKPiA+PGhhcnJ5LndlbnRsYW5kQGFtZC5jb20+Cj4gPlN1Ympl Y3Q6IFtQQVRDSCB2MiAwNy8yM10gZHJtL2RzYzogRGVmaW5lIERpc3BsYXkgU3RyZWFtIENvbXBy ZXNzaW9uIFBQUwo+ID5pbmZvZnJhbWUKPiA+Cj4gPlRoaXMgcGF0Y2ggZGVmaW5lcyBhIG5ldyBo ZWFkZXIgZmlsZSBmb3IgYWxsIHRoZSBEU0MgMS4yIHN0cnVjdHVyZXMgYW5kIGNyZWF0ZXMgYQo+ ID5zdHJ1Y3R1cmUgZm9yIFBQUyBpbmZvZnJhbWUgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlbmQg cGljdHVyZSBwYXJhbWV0ZXIgc2V0Cj4gPnNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgZGlzcGxh eSBzdHJlYW0gY29tcHJlc3Npb24uCj4gPkFsbCB0aGUgUFBTIGluZm9mcmFtZSBzeW50YXggZWxl bWVudHMgYXJlIHRha2VuIGZyb20gRFNDIDEuMiBzcGVjaWZpY2F0aW9uIGZyb20KPiA+VkVTQS4K PiA+Cj4gPkNjOiBHYXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+ID5D YzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID5DYzogSmFuaSBOaWt1bGEgPGph bmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Q2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+ID5DYzogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3Jp dmF0c2FAaW50ZWwuY29tPgo+ID5DYzogSGFycnkgV2VudGxhbmQgPGhhcnJ5LndlbnRsYW5kQGFt ZC5jb20+Cj4gPlNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBp bnRlbC5jb20+Cj4gPi0tLQo+ID4gaW5jbHVkZS9kcm0vZHJtX2RzYy5oIHwgMzY1Cj4gPisrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAxIGZpbGUg Y2hhbmdlZCwgMzY1IGluc2VydGlvbnMoKykKPiA+IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L2RybS9kcm1fZHNjLmgKPiA+Cj4gPmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgg Yi9pbmNsdWRlL2RybS9kcm1fZHNjLmggbmV3IGZpbGUgbW9kZQo+ID4xMDA2NDQgaW5kZXggMDAw MDAwMC4uNjc4ZThlNgo+ID4tLS0gL2Rldi9udWxsCj4gPisrKyBiL2luY2x1ZGUvZHJtL2RybV9k c2MuaAo+ID5AQCAtMCwwICsxLDM2NSBAQAo+ID4rLyoKPiA+KyAqIENvcHlyaWdodCAoQykgMjAx OCBJbnRlbCBDb3JwLgo+ID4rICoKPiA+KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uCj4gPitvYnRhaW5pbmcgYQo+ID4rICogY29w eSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRo ZQo+ID4rIlNvZnR3YXJlIiksCj4gPisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dAo+ID4rbGltaXRhdGlvbgo+ID4rICogdGhl IHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUs Cj4gPitzdWJsaWNlbnNlLAo+ID4rICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2Fy ZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20KPiA+K3RoZQo+ID4rICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKPiA+KyAqCj4gPisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSBzaGFsbCBiZQo+ID4raW5jbHVkZWQgaW4KPiA+KyAqIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgo+ID4rICoKPiA+KyAqIFRI RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL SU5ELAo+ID4rRVhQUkVTUyBPUgo+ID4rICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgo+ID4rTUVSQ0hBTlRBQklMSVRZLAo+ID4rICogRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5P Cj4gPkVWRU5UCj4gPitTSEFMTAo+ID4rICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVU SE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLAo+ID4rREFNQUdFUyBPUgo+ID4rICogT1RI RVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUgo+ ID4rT1RIRVJXSVNFLAo+ID4rICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUKPiA+VVNFCj4gPitPUgo+ID4rICogT1RIRVIgREVB TElOR1MgSU4gVEhFIFNPRlRXQVJFLgo+ID4rICoKPiA+KyAqIEF1dGhvcnM6Cj4gPisgKiBNYW5h c2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPiAgKi8KPiA+Kwo+ID4rI2lmbmRl ZiBEUk1fRFNDX0hfCj4gPisjZGVmaW5lIERSTV9EU0NfSF8KPiA+Kwo+ID4rI2luY2x1ZGUgPGRy bS9kcm1fZHBfaGVscGVyLmg+Cj4gPisKPiA+Ky8qIFZFU0EgRGlzcGxheSBTdHJlYW0gQ29tcHJl c3Npb24gRFNDIDEuMiBjb25zdGFudHMgKi8KPiA+KyNkZWZpbmUgRFNDX05VTV9CVUZfUkFOR0VT CTE1Cj4gPisKPiA+Ky8qKgo+ID4rICogc3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3NldCAtIFJl cHJlc2VudHMgMTI4IGJ5dGVzIG9mIFBpY3R1cmUKPiA+K1BhcmFtZXRlciBTZXQKPiA+KyAqCj4g PisgKiBUaGUgVkVTQSBEU0Mgc3RhbmRhcmQgZGVmaW5lcyBwaWN0dXJlIHBhcmFtZXRlciBzZXQg KFBQUykgd2hpY2gKPiA+K2Rpc3BsYXkKPiA+KyAqIHN0cmVhbSBjb21wcmVzc2lvbiBlbmNvZGVy cyBtdXN0IGNvbW11bmljYXRlIHRvIGRlY29kZXJzLgo+ID4rICogVGhlIFBQUyBpcyBlbmNhcHN1 bGF0ZWQgaW4gMTI4IGJ5dGVzIChQUFMgMCB0aHJvdWdoIFBQUyAxMjcpLiBUaGUKPiA+K2ZpZWxk cyBpbgo+ID4rICogdGhpcyBzdHJ1Y3R1cmUgYXJlIGFzIHBlciBUYWJsZSA0LjEgaW4gVmVzYSBE U0Mgc3BlY2lmaWNhdGlvbiB2MS4xL3YxLjIuCj4gPisgKiBUaGUgUFBTIGZpZWxkcyB0aGF0IHNw YW4gb3ZlciBtb3JlIHRoYW4gYSBieXRlIHNob3VsZCBiZSBzdG9yZWQgaW4KPiA+K0JpZyBFbmRp YW4KPiA+KyAqIGZvcm1hdC4KPiA+KyAqLwo+ID4rc3RydWN0IHBpY3R1cmVfcGFyYW1ldGVyX3Nl dCB7Cj4gPisJLyoqCj4gPisJICogQGRzY192ZXJzaW9uOgo+ID4rCSAqIFBQUzBbMzowXSAtIGRz Y192ZXJzaW9uX21pbm9yOiBDb250YWlucyBNaW5vciB2ZXJzaW9uIG9mIERTQwo+ID4rCSAqIFBQ UzBbNzo0XSAtIGRzY192ZXJzaW9uX21ham9yOiBDb250YWlucyBtYWpvciB2ZXJzaW9uIG9mIERT Qwo+ID4rCSAqLwo+ID4rCXU4IGRzY192ZXJzaW9uOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNfaWRl bnRpZmllcjoKPiA+KwkgKiBQUFMxWzc6MF0gLSBBcHBsaWNhdGlvbiBzcGVjaWZpYyBpZGVudGlm aWVyIHRoYXQgY2FuIGJlCj4gPisJICogdXNlZCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gZGlm ZmVyZW50IFBQUyB0YWJsZXMuCj4gPisJICovCj4gPisJdTggcHBzX2lkZW50aWZpZXI7Cj4gPisJ LyoqCj4gPisJICogQHBwc19yZXNlcnZlZDoKPiA+KwkgKiBQUFMyWzc6MF0tIFJFU0VSVkVEIEJ5 dGUKPiA+KwkgKi8KPiA+Kwl1OCBwcHNfcmVzZXJ2ZWQ7Cj4gPisJLyoqCj4gPisJICogQHBwc18z Ogo+ID4rCSAqIFBQUzNbMzowXSAtIGxpbmVidWZfZGVwdGg6IENvbnRhaW5zIGxpbmVidWZmZXIg Yml0IGRlcHRoIHVzZWQgdG8KPiA+KwkgKiBnZW5lcmF0ZSB0aGUgYml0c3RyZWFtLiAoMHgwIC0g MTYgYml0cyBmb3IgRFNDIDEuMiwgMHg4IC0gOCBiaXRzLAo+ID4rCSAqIDB4QSAtIDEwIGJpdHMs IDB4QiAtIDExIGJpdHMsIDB4QyAtIDEyIGJpdHMsIDB4RCAtIDEzIGJpdHMsCj4gPisJICogMHhF IC0gMTQgYml0cyBmb3IgRFNDMS4yLCAweEYgLSAxNCBiaXRzIGZvciBEU0MgMS4yLgo+ID4rCSAq IFBQUzNbNzo0XSAtIGJpdHNfcGVyX2NvbXBvbmVudDogQml0cyBwZXIgY29tcG9uZW50IGZvciB0 aGUgb3JpZ2luYWwKPiA+KwkgKiBwaXhlbHMgb2YgdGhlIGVuY29kZWQgcGljdHVyZS4KPiA+Kwkg KiAweDAgPSAxNmJwYyAoYWxsb3dlZCBvbmx5IHdoZW4gZHNjX3ZlcnNpb25fbWlub3IgPSAweDIp Cj4gPisJICogMHg4ID0gOGJwYywgMHhBID0gMTBicGMsIDB4QyA9IDEyYnBjLCAweEUgPSAxNGJw YyAoYWxzbwo+ID4rCSAqIGFsbG93ZWQgb25seSB3aGVuIGRzY19taW5vcl92ZXJzaW9uID0gMHgy KQo+ID4rCSAqLwo+ID4rCXU4IHBwc18zOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNfNDoKPiA+Kwkg KiBQUFM0WzE6MF0gLVRoZXNlIGFyZSB0aGUgbW9zdCBzaWduaWZpY2FudCAyIGJpdHMgb2YKPiA+ KwkgKiBjb21wcmVzc2VkIEJQUCBiaXRzX3Blcl9waXhlbFs5OjBdIHN5bnRheCBlbGVtZW50Lgo+ ID4rCSAqIFBQUzRbMl0gLSB2YnJfZW5hYmxlOiAwID0gVkJSIGRpc2FibGVkLCAxID0gVkJSIGVu YWJsZWQKPiA+KwkgKiBQUFM0WzNdIC0gc2ltcGxlXzQyMjogSW5kaWNhdGVzIGlmIGRlY29kZXIg ZHJvcHMgc2FtcGxlcyB0bwo+ID4rCSAqIHJlY29uc3RydWN0IHRoZSA0OjI6MiBwaWN0dXJlLgo+ ID4rCSAqIFBQUzRbNF0gLSBDb252ZXJ0X3JnYjogSW5kaWNhdGVzIGlmIERTQyBjb2xvciBzcGFj ZSBjb252ZXJzaW9uIGlzCj4gPisJICogYWN0aXZlLgo+ID4rCSAqIFBQUzRbNV0gLSBibG9ia19w cmVkX2VuYWJsZTogSW5kaWNhdGVzIGlmIEJQIGlzIHVzZWQgdG8gY29kZSBhbnkKPiA+KwkgKiBn cm91cHMgaW4gcGljdHVyZQo+ID4rCSAqIFBQUzRbNzo2XSAtIFJlc2V2ZWQgYml0cwo+ID4rCSAq Lwo+ID4rCXU4IHBwc180Owo+ID4rCS8qKgo+ID4rCSAqIEBiaXRzX3Blcl9waXhlbF9sb3c6Cj4g PisJICogUFBTNVs3OjBdIC0gVGhpcyBpbmRpY2F0ZXMgdGhlIGxvd2VyIHNpZ25pZmljYW50IDgg Yml0cyBvZgo+ID4rCSAqIHRoZSBjb21wcmVzc2VkIEJQUCBiaXRzX3Blcl9waXhlbFs5OjBdIGVs ZW1lbnQuCj4gPisJICovCj4gPisJdTggYml0c19wZXJfcGl4ZWxfbG93Owo+ID4rCS8qKgo+ID4r CSAqIEBwaWNfaGVpZ2h0Ogo+ID4rCSAqIFBQUzZbNzowXSwgUFBTN1s3OjBdIC1waWNfaGVpZ2h0 OiBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBwaXhlbCByb3dzCj4gPisJICogd2l0aGluIHRoZSBy YXN0ZXIuCj4gPisJICovCj4gPisJX19iZTE2IHBpY19oZWlnaHQ7Cj4gPisJLyoqCj4gPisJICog QHBpY193aWR0aDoKPiA+KwkgKiBQUFM4Wzc6MF0sIFBQUzlbNzowXSAtIHBpY193aWR0aDogTnVt YmVyIG9mIHBpeGVsIGNvbHVtbnMgd2l0aGluCj4gPisJICogdGhlIHJhc3Rlci4KPiA+KwkgKi8K PiA+KwlfX2JlMTYgcGljX3dpZHRoOwo+ID4rCS8qKgo+ID4rCSAqIEBzbGljZV9oZWlnaHQ6Cj4g PisJICogUFBTMTBbNzowXSwgUFBTMTFbNzowXSAtIFNsaWNlIGhlaWdodCBpbiB1bml0cyBvZiBw aXhlbHMuCj4gPisJICovCj4gPisJX19iZTE2IHNsaWNlX2hlaWdodDsKPiA+KwkvKioKPiA+Kwkg KiBAc2xpY2Vfd2lkdGg6Cj4gPisJICogUFBTMTJbNzowXSwgUFBTMTNbNzowXSAtIFNsaWNlIHdp ZHRoIGluIHRlcm1zIG9mIHBpeGVscy4KPiA+KwkgKi8KPiA+KwlfX2JlMTYgc2xpY2Vfd2lkdGg7 Cj4gPisJLyoqCj4gPisJICogQGNodW5rX3NpemU6Cj4gPisJICogUFBTMTRbNzowXSwgUFBTMTVb NzowXSAtIFNpemUgaW4gdW5pdHMgb2YgYnl0ZXMgb2YgdGhlIGNodW5rcwo+ID4rCSAqIHRoYXQg YXJlIHVzZWQgZm9yIHNsaWNlIG11bHRpcGxleGluZy4KPiA+KwkgKi8KPiA+KwlfX2JlMTYgY2h1 bmtfc2l6ZTsKPiA+KwkvKioKPiA+KwkgKiBAaW5pdGlhbF94bWl0X2RlbGF5X2hpZ2g6Cj4gPisJ ICogUFBTMTZbMTowXSAtIE1vc3QgU2lnbmlmaWNhbnQgdHdvIGJpdHMgb2YgaW5pdGlhbCB0cmFu c21pc3Npb24gZGVsYXkuCj4gPisJICogSXQgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgcGl4ZWwg dGltZXMgdGhhdCB0aGUgZW5jb2RlciB3YWl0cyBiZWZvcmUKPiA+KwkgKiB0cmFuc21pdHRpbmcg ZGF0YSBmcm9tIGl0cyByYXRlIGJ1ZmZlci4KPiA+KwkgKiBQUFMxNls3OjJdIC0gUmVzZXJ2ZWQK PiA+KwkgKi8KPiA+Kwl1OCBpbml0aWFsX3htaXRfZGVsYXlfaGlnaDsKPiA+KwkvKioKPiA+Kwkg KiBAaW5pdGlhbF94bWl0X2RlbGF5X2xvdzoKPiA+KwkgKiBQUFMxN1s3OjBdIC0gTGVhc3Qgc2ln bmlmaWNhbnQgOCBiaXRzIG9mIGluaXRpYWwgdHJhbnNtaXNzaW9uIGRlbGF5Lgo+ID4rCSAqLwo+ ID4rCXU4IGluaXRpYWxfeG1pdF9kZWxheV9sb3c7Cj4gPisJLyoqCj4gPisJICogQGluaXRpYWxf ZGVjX2RlbGF5Ogo+ID4rCSAqCj4gPisJICogUFBTMThbNzowXSwgUFBTMTlbNzowXSAtIEluaXRp YWwgZGVjb2RpbmcgZGVsYXkgd2hpY2ggaXMgdGhlIG51bWJlcgo+ID4rCSAqIG9mIHBpeGVsIHRp bWVzIHRoYXQgdGhlIGRlY29kZXIgYWNjdW11bGF0ZXMgZGF0YSBpbiBpdHMgcmF0ZSBidWZmZXIK PiA+KwkgKiBiZWZvcmUgc3RhcnRpbmcgdG8gZGVjb2RlIGFuZCBvdXRwdXQgcGl4ZWxzLgo+ID4r CSAqLwo+ID4rCV9fYmUxNiBpbml0aWFsX2RlY19kZWxheTsKPiA+KwkvKioKPiA+KwkgKiBAcHBz MjBfcmVzZXJ2ZWQ6Cj4gPisJICoKPiA+KwkgKiBQUFMyMFs3OjBdIC0gUmVzZXJ2ZWQKPiA+Kwkg Ki8KPiA+Kwl1OCBwcHMyMF9yZXNlcnZlZDsKPiA+KwkvKioKPiA+KwkgKiBAaW5pdGlhbF9zY2Fs ZV92YWx1ZToKPiA+KwkgKiBQUFMyMVs1OjBdIC0gSW5pdGlhbCByY1hmb3JtU2NhbGUgZmFjdG9y IHVzZWQgYXQgYmVnaW5uaW5nCj4gPisJICogb2YgYSBzbGljZS4KPiA+KwkgKiBQUFMyMVs3OjZd IC0gUmVzZXJ2ZWQKPiA+KwkgKi8KPiA+Kwl1OCBpbml0aWFsX3NjYWxlX3ZhbHVlOwo+ID4rCS8q Kgo+ID4rCSAqIEBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWw6Cj4gPisJICogUFBTMjJbNzowXSwg UFBTMjNbNzowXSAtIE51bWJlciBvZiBncm91cCB0aW1lcyBiZXR3ZWVuIGluY3JlbWVudGluZwo+ ID4rCSAqIHRoZSByY1hmb3JtU2NhbGUgZmFjdG9yIGF0IGVuZCBvZiBhIHNsaWNlLgo+ID4rCSAq Lwo+ID4rCV9fYmUxNiBzY2FsZV9pbmNyZW1lbnRfaW50ZXJ2YWw7Cj4gPisJLyoqCj4gPisJICog QHNjYWxlX2RlY3JlbWVudF9pbnRlcnZhbF9oaWdoOgo+ID4rCSAqIFBQUzI0WzM6MF0gLSBIaWdo ZXIgNCBiaXRzIGluZGljYXRpbmcgbnVtYmVyIG9mIGdyb3VwIHRpbWVzIGJldHdlZW4KPiA+Kwkg KiBkZWNyZW1lbnRpbmcgdGhlIHJjWGZvcm1TY2FsZSBmYWN0b3IgYXQgYmVnaW5uaW5nIG9mIGEg c2xpY2UuCj4gPisJICogUFBTMjRbNzo0XSAtIFJlc2VydmVkCj4gPisJICovCj4gPisJdTggc2Nh bGVfZGVjcmVtZW50X2ludGVydmFsX2hpZ2g7Cj4gPisJLyoqCj4gPisJICogQHNjYWxlX2RlY3Jl bWVudF9pbnRlcnZhbF9sb3c6Cj4gPisJICogUFBTMjVbNzowXSAtIExvd2VyIDggYml0cyBvZiBz Y2FsZSBkZWNyZW1lbnQgaW50ZXJ2YWwKPiA+KwkgKi8KPiA+Kwl1OCBzY2FsZV9kZWNyZW1lbnRf aW50ZXJ2YWxfbG93Owo+ID4rCS8qKgo+ID4rCSAqIEBwcHMyNl9yZXNlcnZlZDoKPiA+KwkgKiBQ UFMyNls3OjBdCj4gPisJICovCj4gPisJdTggcHBzMjZfcmVzZXJ2ZWQ7Cj4gPisJLyoqCj4gPisJ ICogQGZpcnN0X2xpbmVfYnBnX29mZnNldDoKPiA+KwkgKiBQUFMyN1s0OjBdIC0gTnVtYmVyIG9m IGFkZGl0aW9uYWwgYml0cyB0aGF0IGFyZSBhbGxvY2F0ZWQKPiA+KwkgKiBmb3IgZWFjaCBncm91 cCBvbiBmaXJzdCBsaW5lIG9mIGEgc2xpY2UuCj4gPisJICogUFBTMjdbNzo1XSAtIFJlc2VydmVk Cj4gPisJICovCj4gPisJdTggZmlyc3RfbGluZV9icGdfb2Zmc2V0Owo+ID4rCS8qKgo+ID4rCSAq IEBuZmxfYnBnX29mZnNldDoKPiA+KwkgKiBQUFMyOFs3OjBdLCBQUFMyOVs3OjBdIC0gTnVtYmVy IG9mIGJpdHMgaW5jbHVkaW5nIGZyYWMgYml0cwo+ID4rCSAqIGRlYWxsb2NhdGVkIGZvciBlYWNo IGdyb3VwIGZvciBncm91cHMgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUgb2Ygc2xpY2UuCj4gPisJICov Cj4gPisJX19iZTE2IG5mbF9icGdfb2Zmc2V0Owo+ID4rCS8qKgo+ID4rCSAqIEBzbGljZV9icGdf b2Zmc2V0Ogo+ID4rCSAqIFBQUzMwLCBQUFMzMVs3OjBdIC0gTnVtYmVyIG9mIGJpdHMgdGhhdCBh cmUgZGVhbGxvY2F0ZWQgZm9yIGVhY2gKPiA+KwkgKiBncm91cCB0byBlbmZvcmNlIHRoZSBzbGlj ZSBjb25zdHJhaW50Lgo+ID4rCSAqLwo+ID4rCV9fYmUxNiBzbGljZV9icGdfb2Zmc2V0Owo+ID4r CS8qKgo+ID4rCSAqIEBpbml0aWFsX29mZnNldDoKPiA+KwkgKiBQUFMzMiwzM1s3OjBdIC0gSW5p dGlhbCB2YWx1ZSBmb3IgcmNYZm9ybU9mZnNldAo+ID4rCSAqLwo+ID4rCV9fYmUxNiBpbml0aWFs X29mZnNldDsKPiA+KwkvKioKPiA+KwkgKiBAZmluYWxfb2Zmc2V0Ogo+ID4rCSAqIFBQUzM0LDM1 Wzc6MF0gLSBNYXhpbXVtIGVuZC1vZi1zbGljZSB2YWx1ZSBmb3IgcmNYZm9ybU9mZnNldAo+ID4r CSAqLwo+ID4rCV9fYmUxNiBmaW5hbF9vZmZzZXQ7Cj4gPisJLyoqCj4gPisJICogQGZsYXRuZXNz X21pbl9xcDoKPiA+KwkgKiBQUFMzNls0OjBdIC0gTWluaW11bSBRUCBhdCB3aGljaCBmbGF0bmVz cyBpcyBzaWduYWxlZCBhbmQKPiA+KwkgKiBmbGF0bmVzcyBRUCBhZGp1c3RtZW50IGlzIG1hZGUu Cj4gPisJICogUFBTMzZbNzo1XSAtIFJlc2VydmVkCj4gPisJICovCj4gPisJdTggZmxhdG5lc3Nf bWluX3FwOwo+ID4rCS8qKgo+ID4rCSAqIEBmbGF0bmVzc19tYXhfcXA6Cj4gPisJICogUFBTMzdb NDowXSAtIE1heCBRUCBhdCB3aGljaCBmbGF0bmVzcyBpcyBzaWduYWxsZWQgYW5kCj4gPisJICog dGhlIGZsYXRuZXNzIGFkanVzdG1lbnQgaXMgbWFkZS4KPiA+KwkgKiBQUFMzN1s3OjVdIC0gUmVz ZXJ2ZWQKPiA+KwkgKi8KPiA+Kwl1OCBmbGF0bmVzc19tYXhfcXA7Cj4gPisJLyoqCj4gPisJICog QHJjX21vZGVsX3NpemU6Cj4gPisJICogUFBTMzgsMzlbNzowXSAtIE51bWJlciBvZiBiaXRzIHdp dGhpbiBSQyBNb2RlbC4KPiA+KwkgKi8KPiA+KwlfX2JlMTYgcmNfbW9kZWxfc2l6ZTsKPiA+Kwkv KioKPiA+KwkgKiBAcmNfZWRnZV9mYWN0b3I6Cj4gPisJICogUFBTNDBbMzowXSAtIFJhdGlvIG9m IGN1cnJlbnQgYWN0aXZpdHkgdnMsIHByZXZpb3VzCj4gPisJICogYWN0aXZpdHkgdG8gZGV0ZXJt aW5lIHByZXNlbmNlIG9mIGVkZ2UuCj4gPisJICogUFBTNDBbNzo0XSAtIFJlc2VydmVkCj4gPisJ ICovCj4gPisJdTggcmNfZWRnZV9mYWN0b3I7Cj4gPisJLyoqCj4gPisJICogQHJjX3F1YW50X2lu Y3JfbGltaXQwOgo+ID4rCSAqIFBQUzQxWzQ6MF0gLSBRUCB0aHJlc2hvbGQgdXNlZCBpbiBzaG9y dCB0ZXJtIFJDCj4gPisJICogUFBTNDFbNzo1XSAtIFJlc2VydmVkCj4gPisJICovCj4gPisJdTgg cmNfcXVhbnRfaW5jcl9saW1pdDA7Cj4gPisJLyoqCj4gPisJICogQHJjX3F1YW50X2luY3JfbGlt aXQxOgo+ID4rCSAqIFBQUzQyWzQ6MF0gLSBRUCB0aHJlc2hvbGQgdXNlZCBpbiBzaG9ydCB0ZXJt IFJDCj4gPisJICogUFBTNDJbNzo1XSAtIFJlc2VydmVkCj4gPisJICovCj4gPisJdTggcmNfcXVh bnRfaW5jcl9saW1pdDE7Cj4gPisJLyoqCj4gPisJICogQHJjX3RndF9vZmZzZXQ6Cj4gPisJICog UFBTNDNbMzowXSAtIExvd2VyIGVuZCBvZiB0aGUgdmFyaWFiaWxpdHkgcmFuZ2UgYXJvdW5kIHRo ZSB0YXJnZXQKPiA+KwkgKiBiaXRzIHBlciBncm91cCB0aGF0IGlzIGFsbG93ZWQgYnkgc2hvcnQg dGVybSBSQy4KPiA+KwkgKiBQUFM0M1s3OjRdLSBVcHBlciBlbmQgb2YgdGhlIHZhcmlhYmlsaXR5 IHJhbmdlIGFyb3VuZCB0aGUgdGFyZ2V0Cj4gPisJICogYml0cyBwZXIgZ3JvdXAgdGhhdCBpIGFs bG93ZWQgYnkgc2hvcnQgdGVybSByYy4KPiA+KwkgKi8KPiA+Kwl1OCByY190Z3Rfb2Zmc2V0Owo+ ID4rCS8qKgo+ID4rCSAqIEByY19idWZfdGhyZXNoOgo+ID4rCSAqIFBQUzQ0Wzc6MF0gLSBQUFM1 N1s3OjBdIC0gU3BlY2lmaWVzIHRoZSB0aHJlc2hvbGRzIGluIFJDIG1vZGVsIGZvcgo+ID4rCSAq IHRoZSAxNSByYW5nZXMgZGVmaW5lZCBieSAxNCB0aHJlc2hvbGRzLgo+ID4rCSAqLwo+ID4rCXU4 IHJjX2J1Zl90aHJlc2hbRFNDX05VTV9CVUZfUkFOR0VTIC0gMV07Cj4gPisJLyoqCj4gPisJICog QHJjX3JhbmdlX3BhcmFtZXRlcnM6Cj4gPisJICogUFBTNThbNzowXSAtIFBQUzg3Wzc6MF0KPiA+ KwkgKiBQYXJhbWV0ZXJzIHRoYXQgY29ycmVzcG9uZCB0byBlYWNoIG9mIHRoZSAxNSByYW5nZXMu Cj4gPisJICovCj4gPisJX19iZTE2IHJjX3JhbmdlX3BhcmFtZXRlcnNbRFNDX05VTV9CVUZfUkFO R0VTXTsKPiA+KwkvKioKPiA+KwkgKiBAbmF0aXZlXzQyMl80MjA6Cj4gPisJICogUFBTODhbMF0g LSAwID0gTmF0aXZlIDQ6MjoyIG5vdCB1c2VkCj4gPisJICogMSA9IE5hdGl2ZSA0OjI6MiB1c2Vk Cj4gPisJICogUFBTODhbMV0gLSAwID0gTmF0aXZlIDQ6MjowIG5vdCB1c2UKPiA+KwkgKiAxID0g TmF0aXZlIDQ6MjowIHVzZWQKPiA+KwkgKiBQUFM4OFs3OjJdIC0gUmVzZXJ2ZWQgNiBiaXRzCj4g PisJICovCj4gPisJdTggbmF0aXZlXzQyMl80MjA7Cj4gPisJLyoqCj4gPisJICogQHNlY29uZF9s aW5lX2JwZ19vZmZzZXQ6Cj4gPisJICogUFBTODlbNDowXSAtIEFkZGl0aW9uYWwgYml0cy9ncm91 cCBidWRnZXQgZm9yIHRoZQo+ID4rCSAqIHNlY29uZCBsaW5lIG9mIGEgc2xpY2UgaW4gTmF0aXZl IDQ6MjowIG1vZGUuCj4gPisJICogU2V0IHRvIDAgaWYgRFNDIG1pbm9yIHZlcnNpb24gaXMgMSBv ciBuYXRpdmU0MjAgaXMgMC4KPiA+KwkgKiBQUFM4OVs3OjVdIC0gUmVzZXJ2ZWQKPiA+KwkgKi8K PiA+Kwl1OCBzZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+ID4rCS8qKgo+ID4rCSAqIEBuc2xfYnBn X29mZnNldDoKPiA+KwkgKiBQUFM5MFs3OjBdLCBQUFM5MVs3OjBdIC0gTnVtYmVyIG9mIGJpdHMg dGhhdCBhcmUgZGVhbGxvY2F0ZWQKPiA+KwkgKiBmb3IgZWFjaCBncm91cCB0aGF0IGlzIG5vdCBp biB0aGUgc2Vjb25kIGxpbmUgb2YgYSBzbGljZS4KPiA+KwkgKi8KPiA+KwlfX2JlMTYgbnNsX2Jw Z19vZmZzZXQ7Cj4gPisJLyoqCj4gPisJICogQHNlY29uZF9saW5lX29mZnNldF9hZGo6Cj4gPisJ ICogUFBTOTJbNzowXSwgUFBTOTNbNzowXSAtIFVzZWQgYXMgb2Zmc2V0IGFkanVzdG1lbnQgZm9y IHRoZSBzZWNvbmQKPiA+KwkgKiBsaW5lIGluIE5hdGl2ZSA0OjI6MCBtb2RlLgo+ID4rCSAqLwo+ ID4rCV9fYmUxNiBzZWNvbmRfbGluZV9vZmZzZXRfYWRqOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNf bG9uZ185NF9yZXNlcnZlZDoKPiA+KwkgKiBQUFMgOTQsIDk1LCA5NiwgOTcgLSBSZXNlcnZlZAo+ ID4rCSAqLwo+ID4rCXUzMiBwcHNfbG9uZ185NF9yZXNlcnZlZDsKPiA+KwkvKioKPiA+KwkgKiBA cHBzX2xvbmdfOThfcmVzZXJ2ZWQ6Cj4gPisJICogUFBTIDk4LCA5OSwgMTAwLCAxMDEgLSBSZXNl cnZlZAo+ID4rCSAqLwo+ID4rCXUzMiBwcHNfbG9uZ185OF9yZXNlcnZlZDsKPiA+KwkvKioKPiA+ KwkgKiBAcHBzX2xvbmdfMTAyX3Jlc2VydmVkOgo+ID4rCSAqIFBQUyAxMDIsIDEwMywgMTA0LCAx MDUgLSBSZXNlcnZlZAo+ID4rCSAqLwo+ID4rCXUzMiBwcHNfbG9uZ18xMDJfcmVzZXJ2ZWQ7Cj4g PisJLyoqCj4gPisJICogQHBwc19sb25nXzEwNl9yZXNlcnZlZDoKPiA+KwkgKiBQUFMgMTA2LCAx MDcsIDEwOCwgMTA5IC0gcmVzZXJ2ZWQKPiA+KwkgKi8KPiA+Kwl1MzIgcHBzX2xvbmdfMTA2X3Jl c2VydmVkOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNfbG9uZ18xMTBfcmVzZXJ2ZWQ6Cj4gPisJICog UFBTIDExMCwgMTExLCAxMTIsIDExMyAtIHJlc2VydmVkCj4gPisJICovCj4gPisJdTMyIHBwc19s b25nXzExMF9yZXNlcnZlZDsKPiA+KwkvKioKPiA+KwkgKiBAcHBzX2xvbmdfMTE0X3Jlc2VydmVk Ogo+ID4rCSAqIFBQUyAxMTQgLSAxMTcgLSByZXNlcnZlZAo+ID4rCSAqLwo+ID4rCXUzMiBwcHNf bG9uZ18xMTRfcmVzZXJ2ZWQ7Cj4gPisJLyoqCj4gPisJICogQHBwc19sb25nXzExOF9yZXNlcnZl ZDoKPiA+KwkgKiBQUFMgMTE4IC0gMTIxIC0gcmVzZXJ2ZWQKPiA+KwkgKi8KPiA+Kwl1MzIgcHBz X2xvbmdfMTE4X3Jlc2VydmVkOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNfbG9uZ18xMjJfcmVzZXJ2 ZWQ6Cj4gPisJICogUFBTIDEyMi0gMTI1IC0gcmVzZXJ2ZWQKPiA+KwkgKi8KPiA+Kwl1MzIgcHBz X2xvbmdfMTIyX3Jlc2VydmVkOwo+ID4rCS8qKgo+ID4rCSAqIEBwcHNfc2hvcnRfMTI2X3Jlc2Vy dmVkOgo+ID4rCSAqIFBQUyAxMjYsIDEyNyAtIHJlc2VydmVkCj4gPisJICovCj4gPisJX19iZTE2 IHBwc19zaG9ydF8xMjZfcmVzZXJ2ZWQ7Cj4gPit9Owo+ID4rCj4gPisvKioKPiA+KyAqIHN0cnVj dCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgLSBEU0MgaW5mb2ZyYW1lIGNhcnJ5aW5nIHRoZSBQaWN0 dXJlCj4gPitQYXJhbWV0ZXIKPiA+KyAqIFNldCBNZXRhZGF0YQo+ID4rICoKPiA+KyAqIFRoaXMg c3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIERTQyBQUFMgaW5mb2ZyYW1lIHJlcXVpcmVkIHRvIHNl bmQgdGhlCj4gPitQaWN0dXJlCj4gPisgKiBQYXJhbWV0ZXIgU2V0IG1ldGFkYXRhIHJlcXVpcmVk IGJlZm9yZSBlbmFibGluZyBWRVNBIERpc3BsYXkgU3RyZWFtCj4gPisgKiBDb21wcmVzc2lvbi4g VGhpcyBpcyBiYXNlZCBvbiB0aGUgRFAgU2Vjb25kYXJ5IERhdGEgUGFja2V0IHN0cnVjdHVyZQo+ ID4rYW5kCj4gPisgKiBjb21wcmlzZXMgb2YgU0RQIEhlYWRlciBhcyBkZWZpbmVkIGluIGRybV9k cF9oZWxwZXIuaCBhbmQgUFBTIHBheWxvYWQuCj4gPisgKgo+ID4rICogQHBwc19oZWFkZXI6Cj4g PisgKgo+ID4rICogSGVhZGVyIGZvciBQUFMgYXMgcGVyIERQIFNEUCBoZWFkZXIgZm9ybWF0Cj4g PisgKgo+ID4rICogQHBwc19wYXlsb2FkOgo+ID4rICoKPiA+KyAqIFBQUyBwYXlsb2FkIGZpZWxk cyBhcyBwZXIgRFNDIHNwZWNpZmljYXRpb24gVGFibGUgNC0xICAqLyBzdHJ1Y3QKPiA+K2RybV9k c2NfcHBzX2luZm9mcmFtZSB7Cj4gPisJc3RydWN0IGRwX3NkcF9oZWFkZXIgcHBzX2hlYWRlcjsK PiA+KwlzdHJ1Y3QgcGljdHVyZV9wYXJhbWV0ZXJfc2V0IHBwc19wYXlsb2FkOyB9IF9fcGFja2Vk Owo+ID4rCj4gPisjZW5kaWYgLyogX0RSTV9EU0NfSF8gKi8KPiA+LS0KPiA+Mi43LjQKPiAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==