From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Daniel P. Berrange" Subject: [PATCH v6 2/4] hw: convert ps2 device to keycodemapdb Date: Tue, 12 Dec 2017 14:10:42 +0000 Message-ID: <20171212141044.2582-3-berrange@redhat.com> References: <20171212141044.2582-1-berrange@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOlGv-0004Zv-IX for xen-devel@lists.xenproject.org; Tue, 12 Dec 2017 14:11:01 +0000 In-Reply-To: <20171212141044.2582-1-berrange@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Stefano Stabellini , "Daniel P. Berrange" , Gerd Hoffmann , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini List-Id: xen-devel@lists.xenproject.org UmVwbGFjZSB0aGUgcWNvZGVfdG9fa2V5Y29kZV9zZXQxLCBxY29kZV90b19rZXljb2RlX3NldDIs CmFuZCBxY29kZV90b19rZXljb2RlX3NldDMgdGFibGVzIHdpdGggYXV0b21hdGljYWxseQpnZW5l cmF0ZWQgdGFibGVzLgoKTWlzc2luZyBlbnRyaWVzIGluIHFjb2RlX3RvX2tleWNvZGVfc2V0MSBu b3cgZml4ZWQ6CgogLSBRX0tFWV9DT0RFX1NZU1JRIC0+IDB4NTQKIC0gUV9LRVlfQ09ERV9QUklO VCAtPiAweDU0IChOQiBpZ25vcmVkIGR1ZSB0byBzcGVjaWFsIGNhc2UpCiAtIFFfS0VZX0NPREVf QUdBSU4gLT4gMHhlMDA1CiAtIFFfS0VZX0NPREVfUFJPUFMgLT4gMHhlMDA2CiAtIFFfS0VZX0NP REVfVU5ETyAtPiAweGUwMDcKIC0gUV9LRVlfQ09ERV9GUk9OVCAtPiAweGUwMGMKIC0gUV9LRVlf Q09ERV9DT1BZIC0+IDB4ZTA3OAogLSBRX0tFWV9DT0RFX09QRU4gLT4gMHg2NAogLSBRX0tFWV9D T0RFX1BBU1RFIC0+IDB4NjUKIC0gUV9LRVlfQ09ERV9DVVQgLT4gMHhlMDNjCiAtIFFfS0VZX0NP REVfTEYgLT4gMHg1YgogLSBRX0tFWV9DT0RFX0hFTFAgLT4gMHhlMDc1CiAtIFFfS0VZX0NPREVf Q09NUE9TRSAtPiAweGUwNWQKIC0gUV9LRVlfQ09ERV9QQVVTRSAtPiAweGUwNDYKIC0gUV9LRVlf Q09ERV9LUF9FUVVBTFMgLT4gMHg1OQoKQW5kIHNvbWUgbWlzdGFrZXMgY29ycmVjdGVkOgoKIC0g UV9LRVlfQ09ERV9ISVJBR0FOQSB3YXMgbWFwcGVkIHRvIDB4NzAgKEthdGFrYW5haGlyYWdhbmEp CiAgIGluc3RlYWQgb2Ygb2YgMHg3NyAoSGlyaWdhbmEpCiAtIFFfS0VZX0NPREVfTUVOVSB3YXMg aW5jb3JyZWN0bHkgbWFwcGVkIHRvIHRoZSBjb21wb3NlCiAgIHNjYW5jb2RlICgweGUwNWQpIGFu ZCBpcyBub3cgbWFwcGVkIHRvIDB4ZTAxZQogLSBRX0tFWV9DT0RFX0ZJTkQgd2FzIG1hcHBlZCB0 byAweGUwNjUgKFNlYXJjaCkgaW5zdGVhZAogICBvZiB0byAweGUwNDEgKEZpbmQpCiAtIFFfS0VZ X0NPREVfUE9XRVIsIFNMRUVQICYgV0FLRSBoYWQgMHgwZSBpbnN0ZWFkIG9mIDB4ZTAKICAgYXMg dGhlIHByZWZpeAoKTWlzc2luZyBlbnRyaWVzIGluIHFjb2RlX3RvX2tleWNvZGVfc2V0MiBub3cg Zml4ZWQ6CgogLSBRX0tFWV9DT0RFX1BSSU5UIC0+IDB4N2YgKE5CIGlnbm9yZWQgZHVlIHRvIHNw ZWNpYWwgY2FzZSkKIC0gUV9LRVlfQ09ERV9DT01QT1NFIC0+IDB4ZTAyZgogLSBRX0tFWV9DT0RF X1BBVVNFIC0+IDB4ZTA3NwogLSBRX0tFWV9DT0RFX0tQX0VRVUFMUyAtPiAweDBmCgpBbmQgc29t ZSBtaXN0YWtlcyBjb3JyZWN0ZWQ6CgogLSBRX0tFWV9DT0RFX0hJUkFHQU5BIHdhcyBtYXBwZWQg dG8gMHgxMyAoS2F0YWthbmFoaXJhZ2FuYSkKICAgaW5zdGVhZCBvZiBvZiAweDYyIChIaXJpZ2Fu YSkKIC0gUV9LRVlfQ09ERV9NRU5VIHdhcyBpbmNvcnJlY3RseSBtYXBwZWQgdG8gdGhlIGNvbXBv c2UKICAgc2NhbmNvZGUgKDB4ZTAyZikgYW5kIGlzIG5vdyBub3QgbWFwcGVkCiAtIFFfS0VZX0NP REVfRklORCB3YXMgbWFwcGVkIHRvIDB4ZTAxMCAoU2VhcmNoKSBhbmQgaXMgbm93CiAgIG5vdCBt YXBwZWQuCiAtIFFfS0VZX0NPREVfUE9XRVIsIFNMRUVQICYgV0FLRSBoYWQgMHgwZSBpbnN0ZWFk IG9mIDB4ZTAKICAgYXMgdGhlIHByZWZpeAoKTWlzc2luZyBlbnRyaWVzIGluIHFjb2RlX3RvX2tl eWNvZGVfc2V0MyBub3cgZml4ZWQ6CgogLSBRX0tFWV9DT0RFX0FTVEVSSVNLIC0+IDB4N2UKIC0g UV9LRVlfQ09ERV9TWVNSUSAtPiAweDU3CiAtIFFfS0VZX0NPREVfTEVTUyAtPiAweDEzCiAtIFFf S0VZX0NPREVfU1RPUCAtPiAweDBhCiAtIFFfS0VZX0NPREVfQUdBSU4gLT4gMHgwYgogLSBRX0tF WV9DT0RFX1BST1BTIC0+IDB4MGMKIC0gUV9LRVlfQ09ERV9VTkRPIC0+IDB4MTAKIC0gUV9LRVlf Q09ERV9DT1BZIC0+IDB4MTgKIC0gUV9LRVlfQ09ERV9PUEVOIC0+IDB4MjAKIC0gUV9LRVlfQ09E RV9QQVNURSAtPiAweDI4CiAtIFFfS0VZX0NPREVfRklORCAtPiAweDMwCiAtIFFfS0VZX0NPREVf Q1VUIC0+IDB4MzgKIC0gUV9LRVlfQ09ERV9IRUxQIC0+IDB4MDkKIC0gUV9LRVlfQ09ERV9DT01Q T1NFIC0+IDB4OGQKIC0gUV9LRVlfQ09ERV9BVURJT05FWFQgLT4gMHg5MwogLSBRX0tFWV9DT0RF X0FVRElPUFJFViAtPiAweDk0CiAtIFFfS0VZX0NPREVfQVVESU9TVE9QIC0+IDB4OTgKIC0gUV9L RVlfQ09ERV9BVURJT01VVEUgLT4gMHg5YwogLSBRX0tFWV9DT0RFX1ZPTFVNRVVQIC0+IDB4OTUK IC0gUV9LRVlfQ09ERV9WT0xVTUVET1dOIC0+IDB4OWQKIC0gUV9LRVlfQ09ERV9DQUxDVUxBVE9S IC0+IDB4YTMKIC0gUV9LRVlfQ09ERV9BQ19IT01FIC0+IDB4OTcKCkFuZCBzb21lIG1pc3Rha2Vz IGNvcnJlY3RlZDoKCiAtIFFfS0VZX0NPREVfTUVOVSB3YXMgaW5jb3JyZWN0bHkgbWFwcGVkIHRv IHRoZSBjb21wb3NlCiAgIHNjYW5jb2RlICgweDhkKSBhbmQgaXMgbm93IDB4OTEKClNpZ25lZC1v ZmYtYnk6IERhbmllbCBQLiBCZXJyYW5nZSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4KLS0tCiBNYWtl ZmlsZSAgICAgICAgICAgfCAgIDMgKwogaHcvaW5wdXQvcHMyLmMgICAgIHwgNDA2ICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL3Vp L2lucHV0LmggfCAgIDkgKysKIHVpL2lucHV0LWtleW1hcC5jICB8ICAgMyArCiA0IGZpbGVzIGNo YW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDM5OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9N YWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDVhYWZmNWZlMWUuLjFlNDIzN2ZkMmYgMTAwNjQ0Ci0t LSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0yMjcsNiArMjI3LDkgQEAgS0VZQ09ERU1B UF9DU1YgPSAkKFNSQ19QQVRIKS91aS9rZXljb2RlbWFwZGIvZGF0YS9rZXltYXBzLmNzdgogCiBL RVlDT0RFTUFQX0ZJTEVTID0gXAogCQkgdWkvaW5wdXQta2V5bWFwLWxpbnV4LXRvLXFjb2RlLmMg XAorCQkgdWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLWF0c2V0MS5jIFwKKwkJIHVpL2lucHV0LWtl eW1hcC1xY29kZS10by1hdHNldDIuYyBcCisJCSB1aS9pbnB1dC1rZXltYXAtcWNvZGUtdG8tYXRz ZXQzLmMgXAogCQkgdWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLWxpbnV4LmMgXAogCQkgdWkvaW5w dXQta2V5bWFwLXFjb2RlLXRvLXFudW0uYyBcCiAJCSB1aS9pbnB1dC1rZXltYXAtcW51bS10by1x Y29kZS5jIFwKZGlmZiAtLWdpdCBhL2h3L2lucHV0L3BzMi5jIGIvaHcvaW5wdXQvcHMyLmMKaW5k ZXggZjM4OGEyM2M4ZS4uOWVjYTZhNDM1NiAxMDA2NDQKLS0tIGEvaHcvaW5wdXQvcHMyLmMKKysr IGIvaHcvaW5wdXQvcHMyLmMKQEAgLTEyNCw0MDEgKzEyNCw2IEBAIHR5cGVkZWYgc3RydWN0IHsK ICAgICB1aW50OF90IG1vdXNlX2J1dHRvbnM7CiB9IFBTMk1vdXNlU3RhdGU7CiAKLS8qIFRhYmxl IHRvIGNvbnZlcnQgZnJvbSBRRU1VIGNvZGVzIHRvIHNjYW5jb2Rlcy4gICovCi1zdGF0aWMgY29u c3QgdWludDE2X3QgcWNvZGVfdG9fa2V5Y29kZV9zZXQxW1FfS0VZX0NPREVfX01BWF0gPSB7Ci0g ICAgWzAgLi4uIFFfS0VZX0NPREVfX01BWCAtIDFdID0gMCwKLQotICAgIFtRX0tFWV9DT0RFX0Fd ID0gMHgxZSwKLSAgICBbUV9LRVlfQ09ERV9CXSA9IDB4MzAsCi0gICAgW1FfS0VZX0NPREVfQ10g PSAweDJlLAotICAgIFtRX0tFWV9DT0RFX0RdID0gMHgyMCwKLSAgICBbUV9LRVlfQ09ERV9FXSA9 IDB4MTIsCi0gICAgW1FfS0VZX0NPREVfRl0gPSAweDIxLAotICAgIFtRX0tFWV9DT0RFX0ddID0g MHgyMiwKLSAgICBbUV9LRVlfQ09ERV9IXSA9IDB4MjMsCi0gICAgW1FfS0VZX0NPREVfSV0gPSAw eDE3LAotICAgIFtRX0tFWV9DT0RFX0pdID0gMHgyNCwKLSAgICBbUV9LRVlfQ09ERV9LXSA9IDB4 MjUsCi0gICAgW1FfS0VZX0NPREVfTF0gPSAweDI2LAotICAgIFtRX0tFWV9DT0RFX01dID0gMHgz MiwKLSAgICBbUV9LRVlfQ09ERV9OXSA9IDB4MzEsCi0gICAgW1FfS0VZX0NPREVfT10gPSAweDE4 LAotICAgIFtRX0tFWV9DT0RFX1BdID0gMHgxOSwKLSAgICBbUV9LRVlfQ09ERV9RXSA9IDB4MTAs Ci0gICAgW1FfS0VZX0NPREVfUl0gPSAweDEzLAotICAgIFtRX0tFWV9DT0RFX1NdID0gMHgxZiwK LSAgICBbUV9LRVlfQ09ERV9UXSA9IDB4MTQsCi0gICAgW1FfS0VZX0NPREVfVV0gPSAweDE2LAot ICAgIFtRX0tFWV9DT0RFX1ZdID0gMHgyZiwKLSAgICBbUV9LRVlfQ09ERV9XXSA9IDB4MTEsCi0g ICAgW1FfS0VZX0NPREVfWF0gPSAweDJkLAotICAgIFtRX0tFWV9DT0RFX1ldID0gMHgxNSwKLSAg ICBbUV9LRVlfQ09ERV9aXSA9IDB4MmMsCi0gICAgW1FfS0VZX0NPREVfMF0gPSAweDBiLAotICAg IFtRX0tFWV9DT0RFXzFdID0gMHgwMiwKLSAgICBbUV9LRVlfQ09ERV8yXSA9IDB4MDMsCi0gICAg W1FfS0VZX0NPREVfM10gPSAweDA0LAotICAgIFtRX0tFWV9DT0RFXzRdID0gMHgwNSwKLSAgICBb UV9LRVlfQ09ERV81XSA9IDB4MDYsCi0gICAgW1FfS0VZX0NPREVfNl0gPSAweDA3LAotICAgIFtR X0tFWV9DT0RFXzddID0gMHgwOCwKLSAgICBbUV9LRVlfQ09ERV84XSA9IDB4MDksCi0gICAgW1Ff S0VZX0NPREVfOV0gPSAweDBhLAotICAgIFtRX0tFWV9DT0RFX0dSQVZFX0FDQ0VOVF0gPSAweDI5 LAotICAgIFtRX0tFWV9DT0RFX01JTlVTXSA9IDB4MGMsCi0gICAgW1FfS0VZX0NPREVfRVFVQUxd ID0gMHgwZCwKLSAgICBbUV9LRVlfQ09ERV9CQUNLU0xBU0hdID0gMHgyYiwKLSAgICBbUV9LRVlf Q09ERV9CQUNLU1BBQ0VdID0gMHgwZSwKLSAgICBbUV9LRVlfQ09ERV9TUENdID0gMHgzOSwKLSAg ICBbUV9LRVlfQ09ERV9UQUJdID0gMHgwZiwKLSAgICBbUV9LRVlfQ09ERV9DQVBTX0xPQ0tdID0g MHgzYSwKLSAgICBbUV9LRVlfQ09ERV9TSElGVF0gPSAweDJhLAotICAgIFtRX0tFWV9DT0RFX0NU UkxdID0gMHgxZCwKLSAgICBbUV9LRVlfQ09ERV9NRVRBX0xdID0gMHhlMDViLAotICAgIFtRX0tF WV9DT0RFX0FMVF0gPSAweDM4LAotICAgIFtRX0tFWV9DT0RFX1NISUZUX1JdID0gMHgzNiwKLSAg ICBbUV9LRVlfQ09ERV9DVFJMX1JdID0gMHhlMDFkLAotICAgIFtRX0tFWV9DT0RFX01FVEFfUl0g PSAweGUwNWMsCi0gICAgW1FfS0VZX0NPREVfQUxUX1JdID0gMHhlMDM4LAotICAgIFtRX0tFWV9D T0RFX01FTlVdID0gMHhlMDVkLAotICAgIFtRX0tFWV9DT0RFX1JFVF0gPSAweDFjLAotICAgIFtR X0tFWV9DT0RFX0VTQ10gPSAweDAxLAotICAgIFtRX0tFWV9DT0RFX0YxXSA9IDB4M2IsCi0gICAg W1FfS0VZX0NPREVfRjJdID0gMHgzYywKLSAgICBbUV9LRVlfQ09ERV9GM10gPSAweDNkLAotICAg IFtRX0tFWV9DT0RFX0Y0XSA9IDB4M2UsCi0gICAgW1FfS0VZX0NPREVfRjVdID0gMHgzZiwKLSAg ICBbUV9LRVlfQ09ERV9GNl0gPSAweDQwLAotICAgIFtRX0tFWV9DT0RFX0Y3XSA9IDB4NDEsCi0g ICAgW1FfS0VZX0NPREVfRjhdID0gMHg0MiwKLSAgICBbUV9LRVlfQ09ERV9GOV0gPSAweDQzLAot ICAgIFtRX0tFWV9DT0RFX0YxMF0gPSAweDQ0LAotICAgIFtRX0tFWV9DT0RFX0YxMV0gPSAweDU3 LAotICAgIFtRX0tFWV9DT0RFX0YxMl0gPSAweDU4LAotICAgIC8qIHNwZWNpYWwgaGFuZGxpbmcg Zm9yIFFfS0VZX0NPREVfUFJJTlQgKi8KLSAgICBbUV9LRVlfQ09ERV9TQ1JPTExfTE9DS10gPSAw eDQ2LAotICAgIC8qIHNwZWNpYWwgaGFuZGxpbmcgZm9yIFFfS0VZX0NPREVfUEFVU0UgKi8KLSAg ICBbUV9LRVlfQ09ERV9CUkFDS0VUX0xFRlRdID0gMHgxYSwKLSAgICBbUV9LRVlfQ09ERV9JTlNF UlRdID0gMHhlMDUyLAotICAgIFtRX0tFWV9DT0RFX0hPTUVdID0gMHhlMDQ3LAotICAgIFtRX0tF WV9DT0RFX1BHVVBdID0gMHhlMDQ5LAotICAgIFtRX0tFWV9DT0RFX0RFTEVURV0gPSAweGUwNTMs Ci0gICAgW1FfS0VZX0NPREVfRU5EXSA9IDB4ZTA0ZiwKLSAgICBbUV9LRVlfQ09ERV9QR0ROXSA9 IDB4ZTA1MSwKLSAgICBbUV9LRVlfQ09ERV9VUF0gPSAweGUwNDgsCi0gICAgW1FfS0VZX0NPREVf TEVGVF0gPSAweGUwNGIsCi0gICAgW1FfS0VZX0NPREVfRE9XTl0gPSAweGUwNTAsCi0gICAgW1Ff S0VZX0NPREVfUklHSFRdID0gMHhlMDRkLAotICAgIFtRX0tFWV9DT0RFX05VTV9MT0NLXSA9IDB4 NDUsCi0gICAgW1FfS0VZX0NPREVfS1BfRElWSURFXSA9IDB4ZTAzNSwKLSAgICBbUV9LRVlfQ09E RV9LUF9NVUxUSVBMWV0gPSAweDM3LAotICAgIFtRX0tFWV9DT0RFX0tQX1NVQlRSQUNUXSA9IDB4 NGEsCi0gICAgW1FfS0VZX0NPREVfS1BfQUREXSA9IDB4NGUsCi0gICAgW1FfS0VZX0NPREVfS1Bf RU5URVJdID0gMHhlMDFjLAotICAgIFtRX0tFWV9DT0RFX0tQX0RFQ0lNQUxdID0gMHg1MywKLSAg ICBbUV9LRVlfQ09ERV9LUF8wXSA9IDB4NTIsCi0gICAgW1FfS0VZX0NPREVfS1BfMV0gPSAweDRm LAotICAgIFtRX0tFWV9DT0RFX0tQXzJdID0gMHg1MCwKLSAgICBbUV9LRVlfQ09ERV9LUF8zXSA9 IDB4NTEsCi0gICAgW1FfS0VZX0NPREVfS1BfNF0gPSAweDRiLAotICAgIFtRX0tFWV9DT0RFX0tQ XzVdID0gMHg0YywKLSAgICBbUV9LRVlfQ09ERV9LUF82XSA9IDB4NGQsCi0gICAgW1FfS0VZX0NP REVfS1BfN10gPSAweDQ3LAotICAgIFtRX0tFWV9DT0RFX0tQXzhdID0gMHg0OCwKLSAgICBbUV9L RVlfQ09ERV9LUF85XSA9IDB4NDksCi0gICAgW1FfS0VZX0NPREVfQlJBQ0tFVF9SSUdIVF0gPSAw eDFiLAotICAgIFtRX0tFWV9DT0RFX1NFTUlDT0xPTl0gPSAweDI3LAotICAgIFtRX0tFWV9DT0RF X0FQT1NUUk9QSEVdID0gMHgyOCwKLSAgICBbUV9LRVlfQ09ERV9DT01NQV0gPSAweDMzLAotICAg IFtRX0tFWV9DT0RFX0RPVF0gPSAweDM0LAotICAgIFtRX0tFWV9DT0RFX1NMQVNIXSA9IDB4MzUs Ci0KLSAgICBbUV9LRVlfQ09ERV9QT1dFUl0gPSAweDBlNWUsCi0gICAgW1FfS0VZX0NPREVfU0xF RVBdID0gMHgwZTVmLAotICAgIFtRX0tFWV9DT0RFX1dBS0VdID0gMHgwZTYzLAotCi0gICAgW1Ff S0VZX0NPREVfQVVESU9ORVhUXSA9IDB4ZTAxOSwKLSAgICBbUV9LRVlfQ09ERV9BVURJT1BSRVZd ID0gMHhlMDEwLAotICAgIFtRX0tFWV9DT0RFX0FVRElPU1RPUF0gPSAweGUwMjQsCi0gICAgW1Ff S0VZX0NPREVfQVVESU9QTEFZXSA9IDB4ZTAyMiwKLSAgICBbUV9LRVlfQ09ERV9BVURJT01VVEVd ID0gMHhlMDIwLAotICAgIFtRX0tFWV9DT0RFX1ZPTFVNRVVQXSA9IDB4ZTAzMCwKLSAgICBbUV9L RVlfQ09ERV9WT0xVTUVET1dOXSA9IDB4ZTAyZSwKLSAgICBbUV9LRVlfQ09ERV9NRURJQVNFTEVD VF0gPSAweGUwNmQsCi0gICAgW1FfS0VZX0NPREVfTUFJTF0gPSAweGUwNmMsCi0gICAgW1FfS0VZ X0NPREVfQ0FMQ1VMQVRPUl0gPSAweGUwMjEsCi0gICAgW1FfS0VZX0NPREVfQ09NUFVURVJdID0g MHhlMDZiLAotICAgIFtRX0tFWV9DT0RFX0ZJTkRdID0gMHhlMDY1LAotICAgIFtRX0tFWV9DT0RF X0FDX0hPTUVdID0gMHhlMDMyLAotICAgIFtRX0tFWV9DT0RFX0FDX0JBQ0tdID0gMHhlMDZhLAot ICAgIFtRX0tFWV9DT0RFX0FDX0ZPUldBUkRdID0gMHhlMDY5LAotICAgIFtRX0tFWV9DT0RFX1NU T1BdID0gMHhlMDY4LAotICAgIFtRX0tFWV9DT0RFX0FDX1JFRlJFU0hdID0gMHhlMDY3LAotICAg IFtRX0tFWV9DT0RFX0FDX0JPT0tNQVJLU10gPSAweGUwNjYsCi0KLSAgICBbUV9LRVlfQ09ERV9B U1RFUklTS10gPSAweDM3LAotICAgIFtRX0tFWV9DT0RFX0xFU1NdID0gMHg1NiwKLSAgICBbUV9L RVlfQ09ERV9ST10gPSAweDczLAotICAgIFtRX0tFWV9DT0RFX0hJUkFHQU5BXSA9IDB4NzAsCi0g ICAgW1FfS0VZX0NPREVfSEVOS0FOXSA9IDB4NzksCi0gICAgW1FfS0VZX0NPREVfWUVOXSA9IDB4 N2QsCi0gICAgW1FfS0VZX0NPREVfS1BfQ09NTUFdID0gMHg3ZSwKLX07Ci0KLXN0YXRpYyBjb25z dCB1aW50MTZfdCBxY29kZV90b19rZXljb2RlX3NldDJbUV9LRVlfQ09ERV9fTUFYXSA9IHsKLSAg ICBbMCAuLi4gUV9LRVlfQ09ERV9fTUFYIC0gMV0gPSAwLAotCi0gICAgW1FfS0VZX0NPREVfQV0g PSAweDFjLAotICAgIFtRX0tFWV9DT0RFX0JdID0gMHgzMiwKLSAgICBbUV9LRVlfQ09ERV9DXSA9 IDB4MjEsCi0gICAgW1FfS0VZX0NPREVfRF0gPSAweDIzLAotICAgIFtRX0tFWV9DT0RFX0VdID0g MHgyNCwKLSAgICBbUV9LRVlfQ09ERV9GXSA9IDB4MmIsCi0gICAgW1FfS0VZX0NPREVfR10gPSAw eDM0LAotICAgIFtRX0tFWV9DT0RFX0hdID0gMHgzMywKLSAgICBbUV9LRVlfQ09ERV9JXSA9IDB4 NDMsCi0gICAgW1FfS0VZX0NPREVfSl0gPSAweDNiLAotICAgIFtRX0tFWV9DT0RFX0tdID0gMHg0 MiwKLSAgICBbUV9LRVlfQ09ERV9MXSA9IDB4NGIsCi0gICAgW1FfS0VZX0NPREVfTV0gPSAweDNh LAotICAgIFtRX0tFWV9DT0RFX05dID0gMHgzMSwKLSAgICBbUV9LRVlfQ09ERV9PXSA9IDB4NDQs Ci0gICAgW1FfS0VZX0NPREVfUF0gPSAweDRkLAotICAgIFtRX0tFWV9DT0RFX1FdID0gMHgxNSwK LSAgICBbUV9LRVlfQ09ERV9SXSA9IDB4MmQsCi0gICAgW1FfS0VZX0NPREVfU10gPSAweDFiLAot ICAgIFtRX0tFWV9DT0RFX1RdID0gMHgyYywKLSAgICBbUV9LRVlfQ09ERV9VXSA9IDB4M2MsCi0g ICAgW1FfS0VZX0NPREVfVl0gPSAweDJhLAotICAgIFtRX0tFWV9DT0RFX1ddID0gMHgxZCwKLSAg ICBbUV9LRVlfQ09ERV9YXSA9IDB4MjIsCi0gICAgW1FfS0VZX0NPREVfWV0gPSAweDM1LAotICAg IFtRX0tFWV9DT0RFX1pdID0gMHgxYSwKLSAgICBbUV9LRVlfQ09ERV8wXSA9IDB4NDUsCi0gICAg W1FfS0VZX0NPREVfMV0gPSAweDE2LAotICAgIFtRX0tFWV9DT0RFXzJdID0gMHgxZSwKLSAgICBb UV9LRVlfQ09ERV8zXSA9IDB4MjYsCi0gICAgW1FfS0VZX0NPREVfNF0gPSAweDI1LAotICAgIFtR X0tFWV9DT0RFXzVdID0gMHgyZSwKLSAgICBbUV9LRVlfQ09ERV82XSA9IDB4MzYsCi0gICAgW1Ff S0VZX0NPREVfN10gPSAweDNkLAotICAgIFtRX0tFWV9DT0RFXzhdID0gMHgzZSwKLSAgICBbUV9L RVlfQ09ERV85XSA9IDB4NDYsCi0gICAgW1FfS0VZX0NPREVfR1JBVkVfQUNDRU5UXSA9IDB4MGUs Ci0gICAgW1FfS0VZX0NPREVfTUlOVVNdID0gMHg0ZSwKLSAgICBbUV9LRVlfQ09ERV9FUVVBTF0g PSAweDU1LAotICAgIFtRX0tFWV9DT0RFX0JBQ0tTTEFTSF0gPSAweDVkLAotICAgIFtRX0tFWV9D T0RFX0JBQ0tTUEFDRV0gPSAweDY2LAotICAgIFtRX0tFWV9DT0RFX1NQQ10gPSAweDI5LAotICAg IFtRX0tFWV9DT0RFX1RBQl0gPSAweDBkLAotICAgIFtRX0tFWV9DT0RFX0NBUFNfTE9DS10gPSAw eDU4LAotICAgIFtRX0tFWV9DT0RFX1NISUZUXSA9IDB4MTIsCi0gICAgW1FfS0VZX0NPREVfQ1RS TF0gPSAweDE0LAotICAgIFtRX0tFWV9DT0RFX01FVEFfTF0gPSAweGUwMWYsCi0gICAgW1FfS0VZ X0NPREVfQUxUXSA9IDB4MTEsCi0gICAgW1FfS0VZX0NPREVfU0hJRlRfUl0gPSAweDU5LAotICAg IFtRX0tFWV9DT0RFX0NUUkxfUl0gPSAweGUwMTQsCi0gICAgW1FfS0VZX0NPREVfTUVUQV9SXSA9 IDB4ZTAyNywKLSAgICBbUV9LRVlfQ09ERV9BTFRfUl0gPSAweGUwMTEsCi0gICAgW1FfS0VZX0NP REVfTUVOVV0gPSAweGUwMmYsCi0gICAgW1FfS0VZX0NPREVfUkVUXSA9IDB4NWEsCi0gICAgW1Ff S0VZX0NPREVfRVNDXSA9IDB4NzYsCi0gICAgW1FfS0VZX0NPREVfRjFdID0gMHgwNSwKLSAgICBb UV9LRVlfQ09ERV9GMl0gPSAweDA2LAotICAgIFtRX0tFWV9DT0RFX0YzXSA9IDB4MDQsCi0gICAg W1FfS0VZX0NPREVfRjRdID0gMHgwYywKLSAgICBbUV9LRVlfQ09ERV9GNV0gPSAweDAzLAotICAg IFtRX0tFWV9DT0RFX0Y2XSA9IDB4MGIsCi0gICAgW1FfS0VZX0NPREVfRjddID0gMHg4MywKLSAg ICBbUV9LRVlfQ09ERV9GOF0gPSAweDBhLAotICAgIFtRX0tFWV9DT0RFX0Y5XSA9IDB4MDEsCi0g ICAgW1FfS0VZX0NPREVfRjEwXSA9IDB4MDksCi0gICAgW1FfS0VZX0NPREVfRjExXSA9IDB4Nzgs Ci0gICAgW1FfS0VZX0NPREVfRjEyXSA9IDB4MDcsCi0gICAgLyogc3BlY2lhbCBoYW5kbGluZyBm b3IgUV9LRVlfQ09ERV9QUklOVCAqLwotICAgIFtRX0tFWV9DT0RFX1NDUk9MTF9MT0NLXSA9IDB4 N2UsCi0gICAgLyogc3BlY2lhbCBoYW5kbGluZyBmb3IgUV9LRVlfQ09ERV9QQVVTRSAqLwotICAg IFtRX0tFWV9DT0RFX0JSQUNLRVRfTEVGVF0gPSAweDU0LAotICAgIFtRX0tFWV9DT0RFX0lOU0VS VF0gPSAweGUwNzAsCi0gICAgW1FfS0VZX0NPREVfSE9NRV0gPSAweGUwNmMsCi0gICAgW1FfS0VZ X0NPREVfUEdVUF0gPSAweGUwN2QsCi0gICAgW1FfS0VZX0NPREVfREVMRVRFXSA9IDB4ZTA3MSwK LSAgICBbUV9LRVlfQ09ERV9FTkRdID0gMHhlMDY5LAotICAgIFtRX0tFWV9DT0RFX1BHRE5dID0g MHhlMDdhLAotICAgIFtRX0tFWV9DT0RFX1VQXSA9IDB4ZTA3NSwKLSAgICBbUV9LRVlfQ09ERV9M RUZUXSA9IDB4ZTA2YiwKLSAgICBbUV9LRVlfQ09ERV9ET1dOXSA9IDB4ZTA3MiwKLSAgICBbUV9L RVlfQ09ERV9SSUdIVF0gPSAweGUwNzQsCi0gICAgW1FfS0VZX0NPREVfTlVNX0xPQ0tdID0gMHg3 NywKLSAgICBbUV9LRVlfQ09ERV9LUF9ESVZJREVdID0gMHhlMDRhLAotICAgIFtRX0tFWV9DT0RF X0tQX01VTFRJUExZXSA9IDB4N2MsCi0gICAgW1FfS0VZX0NPREVfS1BfU1VCVFJBQ1RdID0gMHg3 YiwKLSAgICBbUV9LRVlfQ09ERV9LUF9BRERdID0gMHg3OSwKLSAgICBbUV9LRVlfQ09ERV9LUF9F TlRFUl0gPSAweGUwNWEsCi0gICAgW1FfS0VZX0NPREVfS1BfREVDSU1BTF0gPSAweDcxLAotICAg IFtRX0tFWV9DT0RFX0tQXzBdID0gMHg3MCwKLSAgICBbUV9LRVlfQ09ERV9LUF8xXSA9IDB4Njks Ci0gICAgW1FfS0VZX0NPREVfS1BfMl0gPSAweDcyLAotICAgIFtRX0tFWV9DT0RFX0tQXzNdID0g MHg3YSwKLSAgICBbUV9LRVlfQ09ERV9LUF80XSA9IDB4NmIsCi0gICAgW1FfS0VZX0NPREVfS1Bf NV0gPSAweDczLAotICAgIFtRX0tFWV9DT0RFX0tQXzZdID0gMHg3NCwKLSAgICBbUV9LRVlfQ09E RV9LUF83XSA9IDB4NmMsCi0gICAgW1FfS0VZX0NPREVfS1BfOF0gPSAweDc1LAotICAgIFtRX0tF WV9DT0RFX0tQXzldID0gMHg3ZCwKLSAgICBbUV9LRVlfQ09ERV9CUkFDS0VUX1JJR0hUXSA9IDB4 NWIsCi0gICAgW1FfS0VZX0NPREVfU0VNSUNPTE9OXSA9IDB4NGMsCi0gICAgW1FfS0VZX0NPREVf QVBPU1RST1BIRV0gPSAweDUyLAotICAgIFtRX0tFWV9DT0RFX0NPTU1BXSA9IDB4NDEsCi0gICAg W1FfS0VZX0NPREVfRE9UXSA9IDB4NDksCi0gICAgW1FfS0VZX0NPREVfU0xBU0hdID0gMHg0YSwK LQotICAgIFtRX0tFWV9DT0RFX1BPV0VSXSA9IDB4MGUzNywKLSAgICBbUV9LRVlfQ09ERV9TTEVF UF0gPSAweDBlM2YsCi0gICAgW1FfS0VZX0NPREVfV0FLRV0gPSAweDBlNWUsCi0KLSAgICBbUV9L RVlfQ09ERV9BVURJT05FWFRdID0gMHhlMDRkLAotICAgIFtRX0tFWV9DT0RFX0FVRElPUFJFVl0g PSAweGUwMTUsCi0gICAgW1FfS0VZX0NPREVfQVVESU9TVE9QXSA9IDB4ZTAzYiwKLSAgICBbUV9L RVlfQ09ERV9BVURJT1BMQVldID0gMHhlMDM0LAotICAgIFtRX0tFWV9DT0RFX0FVRElPTVVURV0g PSAweGUwMjMsCi0gICAgW1FfS0VZX0NPREVfVk9MVU1FVVBdID0gMHhlMDMyLAotICAgIFtRX0tF WV9DT0RFX1ZPTFVNRURPV05dID0gMHhlMDIxLAotICAgIFtRX0tFWV9DT0RFX01FRElBU0VMRUNU XSA9IDB4ZTA1MCwKLSAgICBbUV9LRVlfQ09ERV9NQUlMXSA9IDB4ZTA0OCwKLSAgICBbUV9LRVlf Q09ERV9DQUxDVUxBVE9SXSA9IDB4ZTAyYiwKLSAgICBbUV9LRVlfQ09ERV9DT01QVVRFUl0gPSAw eGUwNDAsCi0gICAgW1FfS0VZX0NPREVfRklORF0gPSAweGUwMTAsCi0gICAgW1FfS0VZX0NPREVf QUNfSE9NRV0gPSAweGUwM2EsCi0gICAgW1FfS0VZX0NPREVfQUNfQkFDS10gPSAweGUwMzgsCi0g ICAgW1FfS0VZX0NPREVfQUNfRk9SV0FSRF0gPSAweGUwMzAsCi0gICAgW1FfS0VZX0NPREVfU1RP UF0gPSAweGUwMjgsCi0gICAgW1FfS0VZX0NPREVfQUNfUkVGUkVTSF0gPSAweGUwMjAsCi0gICAg W1FfS0VZX0NPREVfQUNfQk9PS01BUktTXSA9IDB4ZTAxOCwKLQotICAgIFtRX0tFWV9DT0RFX0FT VEVSSVNLXSA9IDB4N2MsCi0gICAgW1FfS0VZX0NPREVfTEVTU10gPSAweDYxLAotICAgIFtRX0tF WV9DT0RFX1NZU1JRXSA9IDB4N2YsCi0gICAgW1FfS0VZX0NPREVfUk9dID0gMHg1MSwKLSAgICBb UV9LRVlfQ09ERV9ISVJBR0FOQV0gPSAweDEzLAotICAgIFtRX0tFWV9DT0RFX0hFTktBTl0gPSAw eDY0LAotICAgIFtRX0tFWV9DT0RFX1lFTl0gPSAweDZhLAotICAgIFtRX0tFWV9DT0RFX0tQX0NP TU1BXSA9IDB4NmQsCi19OwotCi1zdGF0aWMgY29uc3QgdWludDE2X3QgcWNvZGVfdG9fa2V5Y29k ZV9zZXQzW1FfS0VZX0NPREVfX01BWF0gPSB7Ci0gICAgWzAgLi4uIFFfS0VZX0NPREVfX01BWCAt IDFdID0gMCwKLQotICAgIFtRX0tFWV9DT0RFX0FdID0gMHgxYywKLSAgICBbUV9LRVlfQ09ERV9C XSA9IDB4MzIsCi0gICAgW1FfS0VZX0NPREVfQ10gPSAweDIxLAotICAgIFtRX0tFWV9DT0RFX0Rd ID0gMHgyMywKLSAgICBbUV9LRVlfQ09ERV9FXSA9IDB4MjQsCi0gICAgW1FfS0VZX0NPREVfRl0g PSAweDJiLAotICAgIFtRX0tFWV9DT0RFX0ddID0gMHgzNCwKLSAgICBbUV9LRVlfQ09ERV9IXSA9 IDB4MzMsCi0gICAgW1FfS0VZX0NPREVfSV0gPSAweDQzLAotICAgIFtRX0tFWV9DT0RFX0pdID0g MHgzYiwKLSAgICBbUV9LRVlfQ09ERV9LXSA9IDB4NDIsCi0gICAgW1FfS0VZX0NPREVfTF0gPSAw eDRiLAotICAgIFtRX0tFWV9DT0RFX01dID0gMHgzYSwKLSAgICBbUV9LRVlfQ09ERV9OXSA9IDB4 MzEsCi0gICAgW1FfS0VZX0NPREVfT10gPSAweDQ0LAotICAgIFtRX0tFWV9DT0RFX1BdID0gMHg0 ZCwKLSAgICBbUV9LRVlfQ09ERV9RXSA9IDB4MTUsCi0gICAgW1FfS0VZX0NPREVfUl0gPSAweDJk LAotICAgIFtRX0tFWV9DT0RFX1NdID0gMHgxYiwKLSAgICBbUV9LRVlfQ09ERV9UXSA9IDB4MmMs Ci0gICAgW1FfS0VZX0NPREVfVV0gPSAweDNjLAotICAgIFtRX0tFWV9DT0RFX1ZdID0gMHgyYSwK LSAgICBbUV9LRVlfQ09ERV9XXSA9IDB4MWQsCi0gICAgW1FfS0VZX0NPREVfWF0gPSAweDIyLAot ICAgIFtRX0tFWV9DT0RFX1ldID0gMHgzNSwKLSAgICBbUV9LRVlfQ09ERV9aXSA9IDB4MWEsCi0g ICAgW1FfS0VZX0NPREVfMF0gPSAweDQ1LAotICAgIFtRX0tFWV9DT0RFXzFdID0gMHgxNiwKLSAg ICBbUV9LRVlfQ09ERV8yXSA9IDB4MWUsCi0gICAgW1FfS0VZX0NPREVfM10gPSAweDI2LAotICAg IFtRX0tFWV9DT0RFXzRdID0gMHgyNSwKLSAgICBbUV9LRVlfQ09ERV81XSA9IDB4MmUsCi0gICAg W1FfS0VZX0NPREVfNl0gPSAweDM2LAotICAgIFtRX0tFWV9DT0RFXzddID0gMHgzZCwKLSAgICBb UV9LRVlfQ09ERV84XSA9IDB4M2UsCi0gICAgW1FfS0VZX0NPREVfOV0gPSAweDQ2LAotICAgIFtR X0tFWV9DT0RFX0dSQVZFX0FDQ0VOVF0gPSAweDBlLAotICAgIFtRX0tFWV9DT0RFX01JTlVTXSA9 IDB4NGUsCi0gICAgW1FfS0VZX0NPREVfRVFVQUxdID0gMHg1NSwKLSAgICBbUV9LRVlfQ09ERV9C QUNLU0xBU0hdID0gMHg1YywKLSAgICBbUV9LRVlfQ09ERV9CQUNLU1BBQ0VdID0gMHg2NiwKLSAg ICBbUV9LRVlfQ09ERV9TUENdID0gMHgyOSwKLSAgICBbUV9LRVlfQ09ERV9UQUJdID0gMHgwZCwK LSAgICBbUV9LRVlfQ09ERV9DQVBTX0xPQ0tdID0gMHgxNCwKLSAgICBbUV9LRVlfQ09ERV9TSElG VF0gPSAweDEyLAotICAgIFtRX0tFWV9DT0RFX0NUUkxdID0gMHgxMSwKLSAgICBbUV9LRVlfQ09E RV9NRVRBX0xdID0gMHg4YiwKLSAgICBbUV9LRVlfQ09ERV9BTFRdID0gMHgxOSwKLSAgICBbUV9L RVlfQ09ERV9TSElGVF9SXSA9IDB4NTksCi0gICAgW1FfS0VZX0NPREVfQ1RSTF9SXSA9IDB4NTgs Ci0gICAgW1FfS0VZX0NPREVfTUVUQV9SXSA9IDB4OGMsCi0gICAgW1FfS0VZX0NPREVfQUxUX1Jd ID0gMHgzOSwKLSAgICBbUV9LRVlfQ09ERV9NRU5VXSA9IDB4OGQsCi0gICAgW1FfS0VZX0NPREVf UkVUXSA9IDB4NWEsCi0gICAgW1FfS0VZX0NPREVfRVNDXSA9IDB4MDgsCi0gICAgW1FfS0VZX0NP REVfRjFdID0gMHgwNywKLSAgICBbUV9LRVlfQ09ERV9GMl0gPSAweDBmLAotICAgIFtRX0tFWV9D T0RFX0YzXSA9IDB4MTcsCi0gICAgW1FfS0VZX0NPREVfRjRdID0gMHgxZiwKLSAgICBbUV9LRVlf Q09ERV9GNV0gPSAweDI3LAotICAgIFtRX0tFWV9DT0RFX0Y2XSA9IDB4MmYsCi0gICAgW1FfS0VZ X0NPREVfRjddID0gMHgzNywKLSAgICBbUV9LRVlfQ09ERV9GOF0gPSAweDNmLAotICAgIFtRX0tF WV9DT0RFX0Y5XSA9IDB4NDcsCi0gICAgW1FfS0VZX0NPREVfRjEwXSA9IDB4NGYsCi0gICAgW1Ff S0VZX0NPREVfRjExXSA9IDB4NTYsCi0gICAgW1FfS0VZX0NPREVfRjEyXSA9IDB4NWUsCi0gICAg W1FfS0VZX0NPREVfUFJJTlRdID0gMHg1NywKLSAgICBbUV9LRVlfQ09ERV9TQ1JPTExfTE9DS10g PSAweDVmLAotICAgIFtRX0tFWV9DT0RFX1BBVVNFXSA9IDB4NjIsCi0gICAgW1FfS0VZX0NPREVf QlJBQ0tFVF9MRUZUXSA9IDB4NTQsCi0gICAgW1FfS0VZX0NPREVfSU5TRVJUXSA9IDB4NjcsCi0g ICAgW1FfS0VZX0NPREVfSE9NRV0gPSAweDZlLAotICAgIFtRX0tFWV9DT0RFX1BHVVBdID0gMHg2 ZiwKLSAgICBbUV9LRVlfQ09ERV9ERUxFVEVdID0gMHg2NCwKLSAgICBbUV9LRVlfQ09ERV9FTkRd ID0gMHg2NSwKLSAgICBbUV9LRVlfQ09ERV9QR0ROXSA9IDB4NmQsCi0gICAgW1FfS0VZX0NPREVf VVBdID0gMHg2MywKLSAgICBbUV9LRVlfQ09ERV9MRUZUXSA9IDB4NjEsCi0gICAgW1FfS0VZX0NP REVfRE9XTl0gPSAweDYwLAotICAgIFtRX0tFWV9DT0RFX1JJR0hUXSA9IDB4NmEsCi0gICAgW1Ff S0VZX0NPREVfTlVNX0xPQ0tdID0gMHg3NiwKLSAgICBbUV9LRVlfQ09ERV9LUF9ESVZJREVdID0g MHg0YSwKLSAgICBbUV9LRVlfQ09ERV9LUF9NVUxUSVBMWV0gPSAweDdlLAotICAgIFtRX0tFWV9D T0RFX0tQX1NVQlRSQUNUXSA9IDB4NGUsCi0gICAgW1FfS0VZX0NPREVfS1BfQUREXSA9IDB4N2Ms Ci0gICAgW1FfS0VZX0NPREVfS1BfRU5URVJdID0gMHg3OSwKLSAgICBbUV9LRVlfQ09ERV9LUF9E RUNJTUFMXSA9IDB4NzEsCi0gICAgW1FfS0VZX0NPREVfS1BfMF0gPSAweDcwLAotICAgIFtRX0tF WV9DT0RFX0tQXzFdID0gMHg2OSwKLSAgICBbUV9LRVlfQ09ERV9LUF8yXSA9IDB4NzIsCi0gICAg W1FfS0VZX0NPREVfS1BfM10gPSAweDdhLAotICAgIFtRX0tFWV9DT0RFX0tQXzRdID0gMHg2YiwK LSAgICBbUV9LRVlfQ09ERV9LUF81XSA9IDB4NzMsCi0gICAgW1FfS0VZX0NPREVfS1BfNl0gPSAw eDc0LAotICAgIFtRX0tFWV9DT0RFX0tQXzddID0gMHg2YywKLSAgICBbUV9LRVlfQ09ERV9LUF84 XSA9IDB4NzUsCi0gICAgW1FfS0VZX0NPREVfS1BfOV0gPSAweDdkLAotICAgIFtRX0tFWV9DT0RF X0JSQUNLRVRfUklHSFRdID0gMHg1YiwKLSAgICBbUV9LRVlfQ09ERV9TRU1JQ09MT05dID0gMHg0 YywKLSAgICBbUV9LRVlfQ09ERV9BUE9TVFJPUEhFXSA9IDB4NTIsCi0gICAgW1FfS0VZX0NPREVf Q09NTUFdID0gMHg0MSwKLSAgICBbUV9LRVlfQ09ERV9ET1RdID0gMHg0OSwKLSAgICBbUV9LRVlf Q09ERV9TTEFTSF0gPSAweDRhLAotCi0gICAgW1FfS0VZX0NPREVfSElSQUdBTkFdID0gMHg4NywK LSAgICBbUV9LRVlfQ09ERV9IRU5LQU5dID0gMHg4NiwKLSAgICBbUV9LRVlfQ09ERV9ZRU5dID0g MHg1ZCwKLX07Ci0KIHN0YXRpYyB1aW50OF90IHRyYW5zbGF0ZV90YWJsZVsyNTZdID0gewogICAg IDB4ZmYsIDB4NDMsIDB4NDEsIDB4M2YsIDB4M2QsIDB4M2IsIDB4M2MsIDB4NTgsCiAgICAgMHg2 NCwgMHg0NCwgMHg0MiwgMHg0MCwgMHgzZSwgMHgwZiwgMHgyOSwgMHg1OSwKQEAgLTYyNCw3ICsy MjksNyBAQCBzdGF0aWMgdm9pZCBwczJfa2V5Ym9hcmRfZXZlbnQoRGV2aWNlU3RhdGUgKmRldiwg UWVtdUNvbnNvbGUgKnNyYywKICAgICBQUzJLYmRTdGF0ZSAqcyA9IChQUzJLYmRTdGF0ZSAqKWRl djsKICAgICBJbnB1dEtleUV2ZW50ICprZXkgPSBldnQtPnUua2V5LmRhdGE7CiAgICAgaW50IHFj b2RlOwotICAgIHVpbnQxNl90IGtleWNvZGU7CisgICAgdWludDE2X3Qga2V5Y29kZSA9IDA7CiAg ICAgaW50IG1vZDsKIAogICAgIHFlbXVfc3lzdGVtX3dha2V1cF9yZXF1ZXN0KFFFTVVfV0FLRVVQ X1JFQVNPTl9PVEhFUik7CkBAIC03MDYsNyArMzExLDggQEAgc3RhdGljIHZvaWQgcHMyX2tleWJv YXJkX2V2ZW50KERldmljZVN0YXRlICpkZXYsIFFlbXVDb25zb2xlICpzcmMsCiAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAga2V5 Y29kZSA9IHFjb2RlX3RvX2tleWNvZGVfc2V0MVtxY29kZV07CisgICAgICAgICAgICBpZiAocWNv ZGUgPCBxZW11X2lucHV0X21hcF9xY29kZV90b19hdHNldDFfbGVuKQorICAgICAgICAgICAgICAg IGtleWNvZGUgPSBxZW11X2lucHV0X21hcF9xY29kZV90b19hdHNldDFbcWNvZGVdOwogICAgICAg ICAgICAgaWYgKGtleWNvZGUpIHsKICAgICAgICAgICAgICAgICBpZiAoa2V5Y29kZSAmIDB4ZmYw MCkgewogICAgICAgICAgICAgICAgICAgICBwczJfcHV0X2tleWNvZGUocywga2V5Y29kZSA+PiA4 KTsKQEAgLTc5OSw3ICs0MDUsOCBAQCBzdGF0aWMgdm9pZCBwczJfa2V5Ym9hcmRfZXZlbnQoRGV2 aWNlU3RhdGUgKmRldiwgUWVtdUNvbnNvbGUgKnNyYywKICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBrZXljb2RlID0gcWNvZGVf dG9fa2V5Y29kZV9zZXQyW3Fjb2RlXTsKKyAgICAgICAgICAgIGlmIChxY29kZSA8IHFlbXVfaW5w dXRfbWFwX3Fjb2RlX3RvX2F0c2V0Ml9sZW4pCisgICAgICAgICAgICAgICAga2V5Y29kZSA9IHFl bXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2F0c2V0MltxY29kZV07CiAgICAgICAgICAgICBpZiAoa2V5 Y29kZSkgewogICAgICAgICAgICAgICAgIGlmIChrZXljb2RlICYgMHhmZjAwKSB7CiAgICAgICAg ICAgICAgICAgICAgIHBzMl9wdXRfa2V5Y29kZShzLCBrZXljb2RlID4+IDgpOwpAQCAtODE0LDcg KzQyMSw4IEBAIHN0YXRpYyB2b2lkIHBzMl9rZXlib2FyZF9ldmVudChEZXZpY2VTdGF0ZSAqZGV2 LCBRZW11Q29uc29sZSAqc3JjLAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNl IGlmIChzLT5zY2FuY29kZV9zZXQgPT0gMykgewotICAgICAgICBrZXljb2RlID0gcWNvZGVfdG9f a2V5Y29kZV9zZXQzW3Fjb2RlXTsKKyAgICAgICAgaWYgKHFjb2RlIDwgcWVtdV9pbnB1dF9tYXBf cWNvZGVfdG9fYXRzZXQzX2xlbikKKyAgICAgICAgICAgIGtleWNvZGUgPSBxZW11X2lucHV0X21h cF9xY29kZV90b19hdHNldDNbcWNvZGVdOwogICAgICAgICBpZiAoa2V5Y29kZSkgewogICAgICAg ICAgICAgLyogRklYTUU6IGJyZWFrIGNvZGUgc2hvdWxkIGJlIGNvbmZpZ3VyZWQgb24gYSBrZXkg Ynkga2V5IGJhc2lzICovCiAgICAgICAgICAgICBpZiAoIWtleS0+ZG93bikgewpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91aS9pbnB1dC5oIGIvaW5jbHVkZS91aS9pbnB1dC5oCmluZGV4IDZmNTZkODY4 YzcuLjc2MjM1YmE5N2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWkvaW5wdXQuaAorKysgYi9pbmNs dWRlL3VpL2lucHV0LmgKQEAgLTcxLDYgKzcxLDE1IEBAIHZvaWQgcWVtdV9yZW1vdmVfbW91c2Vf bW9kZV9jaGFuZ2Vfbm90aWZpZXIoTm90aWZpZXIgKm5vdGlmeSk7CiBleHRlcm4gY29uc3QgZ3Vp bnQgcWVtdV9pbnB1dF9tYXBfbGludXhfdG9fcWNvZGVfbGVuOwogZXh0ZXJuIGNvbnN0IGd1aW50 MTYgcWVtdV9pbnB1dF9tYXBfbGludXhfdG9fcWNvZGVbXTsKIAorZXh0ZXJuIGNvbnN0IGd1aW50 IHFlbXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2F0c2V0MV9sZW47CitleHRlcm4gY29uc3QgZ3VpbnQx NiBxZW11X2lucHV0X21hcF9xY29kZV90b19hdHNldDFbXTsKKworZXh0ZXJuIGNvbnN0IGd1aW50 IHFlbXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2F0c2V0Ml9sZW47CitleHRlcm4gY29uc3QgZ3VpbnQx NiBxZW11X2lucHV0X21hcF9xY29kZV90b19hdHNldDJbXTsKKworZXh0ZXJuIGNvbnN0IGd1aW50 IHFlbXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2F0c2V0M19sZW47CitleHRlcm4gY29uc3QgZ3VpbnQx NiBxZW11X2lucHV0X21hcF9xY29kZV90b19hdHNldDNbXTsKKwogZXh0ZXJuIGNvbnN0IGd1aW50 IHFlbXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2xpbnV4X2xlbjsKIGV4dGVybiBjb25zdCBndWludDE2 IHFlbXVfaW5wdXRfbWFwX3Fjb2RlX3RvX2xpbnV4W107CiAKZGlmZiAtLWdpdCBhL3VpL2lucHV0 LWtleW1hcC5jIGIvdWkvaW5wdXQta2V5bWFwLmMKaW5kZXggNmU1NDNkNjUxZi4uZDkwZjZhMTZm NyAxMDA2NDQKLS0tIGEvdWkvaW5wdXQta2V5bWFwLmMKKysrIGIvdWkvaW5wdXQta2V5bWFwLmMK QEAgLTYsNiArNiw5IEBACiAjaW5jbHVkZSAic3RhbmRhcmQtaGVhZGVycy9saW51eC9pbnB1dC5o IgogCiAjaW5jbHVkZSAidWkvaW5wdXQta2V5bWFwLWxpbnV4LXRvLXFjb2RlLmMiCisjaW5jbHVk ZSAidWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLWF0c2V0MS5jIgorI2luY2x1ZGUgInVpL2lucHV0 LWtleW1hcC1xY29kZS10by1hdHNldDIuYyIKKyNpbmNsdWRlICJ1aS9pbnB1dC1rZXltYXAtcWNv ZGUtdG8tYXRzZXQzLmMiCiAjaW5jbHVkZSAidWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLWxpbnV4 LmMiCiAjaW5jbHVkZSAidWkvaW5wdXQta2V5bWFwLXFjb2RlLXRvLXFudW0uYyIKICNpbmNsdWRl ICJ1aS9pbnB1dC1rZXltYXAtcW51bS10by1xY29kZS5jIgotLSAKMi4xNC4zCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==