From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=ALL_TRUSTED,DKIM_ADSP_NXDOMAIN, NO_DNS_FOR_FROM autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id DC27E28820 for ; Sun, 7 Jul 2024 07:30:27 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============1847912179448103505==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Lenovo_X13s_support?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 07 Jul 2024 07:30:27 +0200 List-Id: Message-Id: <20240707053027.DC27E28820@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============1847912179448103505== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gW3hdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============1847912179448103505== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSAxMmY2MjAyMzhhNDMwZThhZTJlYjU2NDVkMTBmOGQ0Zjc2Y2UzODVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDE6MzAgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv M10gbGludXg2Ljg6IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoKLS0tCiBzcmNwa2dzL2xp bnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDg0ICstCiAuLi5kLWluLWtl cm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUxICsrKysrKysrKysrKysr KysrCiBzcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgICAy ICstCiAzIGZpbGVzIGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFk ZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9zcmNwa2dzL2xpbnV4Ni44 L2ZpbGVzL2FybTY0LWRvdGNvbmZpZwppbmRleCBjODNiNjFlNWZjYmUyZi4uODgzNzgzZmM1NjUz ZmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCisr KyBiL3NyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCkBAIC0xLDYgKzEsNiBA QAogIwogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJVC4KLSMgTGlu dXgvYXJtNjQgNi44LjkgS2VybmVsIENvbmZpZ3VyYXRpb24KKyMgTGludXgvYXJtNjQgNi44LjEy IEtlcm5lbCBDb25maWd1cmF0aW9uCiAjCiBDT05GSUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0 LWxpbnV4LW11c2wtZ2NjIChHQ0MpIDEzLjIuMCIKIENPTkZJR19DQ19JU19HQ0M9eQpAQCAtMTgs NyArMTgsNyBAQCBDT05GSUdfQ0NfSEFTX0FTTV9HT1RPX1RJRURfT1VUUFVUPXkKIENPTkZJR19H Q0NfQVNNX0dPVE9fT1VUUFVUX1dPUktBUk9VTkQ9eQogQ09ORklHX0NDX0hBU19BU01fSU5MSU5F PXkKIENPTkZJR19DQ19IQVNfTk9fUFJPRklMRV9GTl9BVFRSPXkKLUNPTkZJR19QQUhPTEVfVkVS U0lPTj0xMjYKK0NPTkZJR19QQUhPTEVfVkVSU0lPTj0xMjcKIENPTkZJR19JUlFfV09SSz15CiBD T05GSUdfQlVJTERUSU1FX1RBQkxFX1NPUlQ9eQogQ09ORklHX1RIUkVBRF9JTkZPX0lOX1RBU0s9 eQpAQCAtMjksNyArMjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CiBDT05GSUdf SU5JVF9FTlZfQVJHX0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RFU1QgaXMgbm90IHNldAog IyBDT05GSUdfV0VSUk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZFUlNJT049Il8xIgorQ09O RklHX0xPQ0FMVkVSU0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qg c2V0CiBDT05GSUdfQlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRfSU5JVD0iIgpAQCAtNTk2 LDcgKzU5Niw3IEBAIENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklHX0RQTV9XQVRDSERPR19U SU1FT1VUPTYwCiBDT05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlM9eQot IyBDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90IHNldAorQ09ORklHX1dR X1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlNfU0xF RVA9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05GSUdfQ1BVX1BNPXkKQEAg LTIzNjksNyArMjM2OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJR19SRUdNQVA9eQogQ09O RklHX1JFR01BUF9JMkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09ORklHX1JFR01BUF9TUE1J PW0KK0NPTkZJR19SRUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cxPW0KIENPTkZJR19SRUdN QVBfTU1JTz15CiBDT05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDM3LDcgKzI0MzcsNyBAQCBDT05G SUdfQVJNX1NDTUlfVFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01QTElBTkNFPXkKIENPTkZJ R19BUk1fU0NNSV9QT1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBTeXN0ZW0gQ29udHJvbCBh bmQgTWFuYWdlbWVudCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklHX0FSTV9TQ1BJX1BST1RP Q09MPW0KK0NPTkZJR19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdfQVJNX1NERV9JTlRFUkZB Q0U9eQogQ09ORklHX0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1JSUQ9eQpAQCAtMjQ5Myw3 ICsyNDkzLDggQEAgQ09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJR19RQ09NX1NDTT15CiAj IENPTkZJR19RQ09NX1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMgbm90IHNldAotIyBDT05G SUdfUUNPTV9RU0VFQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FTRUVDT009eQorQ09ORklH X1FDT01fUVNFRUNPTV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxjb21tIGZpcm13YXJlIGRy aXZlcnMKIAogQ09ORklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MDQsNyArNDkwNSw3IEBAIENP TkZJR19YSUxMWVVTQj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJX0kyQ19PUFJFR0lPTj15 CiBDT05GSUdfSTJDX0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09NUEFUIGlzIG5vdCBzZXQK K0NPTkZJR19JMkNfQ09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1tCiBDT05GSUdfSTJDX01V WD1tCiAKQEAgLTUxMzMsNyArNTEzNCw3IEBAIENPTkZJR19TUElfU0xBVkU9eQogQ09ORklHX1NQ SV9TTEFWRV9USU1FPW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NPTlRST0w9bQogQ09ORklH X1NQSV9EWU5BTUlDPXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1JPXkKIENPTkZJR19TUE1J X0hJU0kzNjcwPW0KIENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBDT05GSUdfU1BNSV9NVEtf UE1JRj1tCkBAIC01MzA0LDcgKzUzMDUsNyBAQCBDT05GSUdfUElOQ1RSTF9TQTg3NzVQPW0KIENP TkZJR19QSU5DVFJMX1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcyODA9bQogQ09ORklHX1BJ TkNUUkxfU0M4MTgwWD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1tCitDT05GSUdfUElOQ1RS TF9TQzgyODBYUD15CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBub3Qgc2V0CiBDT05GSUdf UElOQ1RSTF9TRE02NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0KQEAgLTUzMjIsNyArNTMy Myw3IEBAIENPTkZJR19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElOQ1RSTF9TTTg1NTA9bQog IyBDT05GSUdfUElOQ1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05GSUdfUElOQ1RSTF9YMUU4 MDEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz1tCitDT05GSUdf UElOQ1RSTF9RQ09NX1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9RQ09NX1NTQklfUE1JQz1t CiBDT05GSUdfUElOQ1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElOQ1RSTF9TQzcyODBfTFBB U1NfTFBJIGlzIG5vdCBzZXQKQEAgLTU5MTEsMTIgKzU5MTIsMTMgQEAgQ09ORklHX1RIRVJNQUxf T0Y9eQogQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKICMgQ09ORklHX1RI RVJNQUxfREVGQVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19USEVSTUFM X0RFRkFVTFRfR09WX1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfVEhFUk1BTF9ERUZB VUxUX0dPVl9QT1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1BTF9ERUZB VUxUX0dPVl9CQU5HX0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJNQUxfR09WX0ZBSVJfU0hB UkU9eQogQ09ORklHX1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05GSUdfVEhFUk1BTF9HT1Zf QkFOR19CQU5HPXkKIENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKLSMgQ09ORklHX1RI RVJNQUxfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTF9HT1Zf UE9XRVJfQUxMT0NBVE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBDT05GSUdfQ1BVX0ZSRVFf VEhFUk1BTD15CiAjIENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5vdCBzZXQKQEAgLTU5NzQs NyArNTk3Niw3IEBAIENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0KICMKIENPTkZJR19RQ09N X1RTRU5TPW0KIENPTkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENPTkZJR19RQ09NX1NQTUlf VEVNUF9BTEFSTSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RFTVBfQUxBUk09bQogQ09O RklHX1FDT01fTE1IPW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwgZHJpdmVycwogCkBAIC02 MDEyLDcgKzYwMTQsNyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0KIENPTkZJR19aSUlSQVZF X1dBVENIRE9HPW0KIENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4Q1BMRF9XQVRDSERPRz1t Ci0jIENPTkZJR19BUk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAorQ09ORklHX0FSTV9TUDgw NV9XQVRDSERPRz15CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQogQ09ORklHX0FSTUFEQV8z N1hYX1dBVENIRE9HPW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0KQEAgLTYwMjUsNyArNjAy Nyw3IEBAIENPTkZJR19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dEVD1tCiBDT05GSUdfSU1Y N1VMUF9XRFQ9bQogQ09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09ORklHX1FDT01fV0RUIGlz IG5vdCBzZXQKK0NPTkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05fR1hCQl9XQVRDSERPRz1t CiBDT05GSUdfTUVTT05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVLX1dBVENIRE9HPW0KQEAg LTkzMjUsNyArOTMyNyw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9bQogQ09ORklHX1NDU0lf VUZTSENEX1BMQVRGT1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BMQVRGT1JNPW0KICMgQ09O RklHX1NDU0lfVUZTX0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1VG U19RQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0KIENPTkZJR19TQ1NJX1VG U19NRURJQVRFSz1tCiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05GSUdfU0NTSV9VRlNfRVhZ Tk9TPW0KQEAgLTEwMzQ0LDcgKzEwMzQ2LDcgQEAgQ09ORklHX1FDTV9HQ0NfMjI5MD1tCiBDT05G SUdfUUNTX0dDQ180MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQogQ09ORklHX1NDX0NBTUND XzcyODA9bQotIyBDT05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19D QU1DQ184MjgwWFA9bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENPTkZJR19TQ19ESVNQQ0Nf NzI4MD1tCiBDT05GSUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDM1Niw5ICsxMDM1OCw5IEBA IENPTkZJR19TQ19HQ0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184MjgwWFA9bQogQ09ORklHX1ND X0dQVUNDXzcxODA9bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBDT05GSUdfU0NfR1BVQ0Nf ODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQ QVNTQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBpcyBub3Qgc2V0CitDT05G SUdfU0NfTFBBU1NDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MTgwPW0KIENP TkZJR19TQ19MUEFTU19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfTVNTXzcxODA9bQpAQCAtMTA0 MTYsNyArMTA0MTgsNyBAQCBDT05GSUdfU01fVENTUkNDXzg1NTA9bQogIyBDT05GSUdfU01fVENT UkNDXzg2NTAgaXMgbm90IHNldAogQ09ORklHX1NNX1ZJREVPQ0NfODE1MD1tCiBDT05GSUdfU01f VklERU9DQ184MjUwPW0KLSMgQ09ORklHX1NNX1ZJREVPQ0NfODM1MCBpcyBub3Qgc2V0CitDT05G SUdfU01fVklERU9DQ184MzUwPW0KICMgQ09ORklHX1NNX1ZJREVPQ0NfODU1MCBpcyBub3Qgc2V0 CiBDT05GSUdfU1BNSV9QTUlDX0NMS0RJVj1tCiBDT05GSUdfUUNPTV9IRlBMTD1tCkBAIC0xMDQ5 NCw3ICsxMDQ5Niw3IEBAIENPTkZJR19USU1FUl9JTVhfU1lTX0NUUj15CiAjIGVuZCBvZiBDbG9j ayBTb3VyY2UgZHJpdmVycwogCiBDT05GSUdfTUFJTEJPWD15Ci0jIENPTkZJR19BUk1fTUhVIGlz IG5vdCBzZXQKK0NPTkZJR19BUk1fTUhVPXkKIENPTkZJR19BUk1fTUhVX1YyPW0KIENPTkZJR19J TVhfTUJPWD1tCiBDT05GSUdfUExBVEZPUk1fTUhVPW0KQEAgLTEwNTM2LDggKzEwNTM4LDggQEAg Q09ORklHX0lPTU1VX0lPX1BHVEFCTEVfREFSVD15CiAKICMgQ09ORklHX0lPTU1VX0RFQlVHRlMg aXMgbm90IHNldAogIyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfU1RSSUNUIGlzIG5vdCBzZXQK LSMgQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX0xBWlkgaXMgbm90IHNldAotQ09ORklHX0lPTU1V X0RFRkFVTFRfUEFTU1RIUk9VR0g9eQorQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX0xBWlk9eQor IyBDT05GSUdfSU9NTVVfREVGQVVMVF9QQVNTVEhST1VHSCBpcyBub3Qgc2V0CiBDT05GSUdfT0Zf SU9NTVU9eQogQ09ORklHX0lPTU1VX0RNQT15CiBDT05GSUdfSU9NTVVfU1ZBPXkKQEAgLTEwNjk1 LDcgKzEwNjk3LDkgQEAgQ09ORklHX1FDT01fTExDQz1tCiBDT05GSUdfUUNPTV9LUllPX0wyX0FD Q0VTU09SUz15CiBDT05GSUdfUUNPTV9NRFRfTE9BREVSPW0KIENPTkZJR19RQ09NX09DTUVNPW0K K0NPTkZJR19RQ09NX1BEX01BUFBFUj1tCiBDT05GSUdfUUNPTV9QRFJfSEVMUEVSUz1tCitDT05G SUdfUUNPTV9QRFJfTVNHPW0KICMgQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRyBpcyBu b3Qgc2V0CiBDT05GSUdfUUNPTV9QTUlDX0dMSU5LPW0KIENPTkZJR19RQ09NX1FNSV9IRUxQRVJT PW0KQEAgLTExOTI3LDcgKzExOTMxLDM4IEBAIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1NPW0K IENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1OPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1R PW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1QPW0KLSMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTT15CitDT05GSUdfSU5URVJD T05ORUNUX1FDT01fQkNNX1ZPVEVSPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5 MTYgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkzOSBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBzZXQKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX09TTV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ00yMjkwIGlz IG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBub3Qgc2V0Cisj IENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9S UE1IPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90IHNldAorIyBD T05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNP TV9TQzgxODBYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgyODBYUD15 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NETTg0NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg1 NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU002MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODE1 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgyNTAgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX1NNODQ1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9TTTg1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004 NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1gxRTgwMTAwIGlzIG5v dCBzZXQKIENPTkZJR19JTlRFUkNPTk5FQ1RfU0FNU1VORz15CiBDT05GSUdfSU5URVJDT05ORUNU X0VYWU5PUz1tCiBDT05GSUdfSU5URVJDT05ORUNUX0NMSz1tCkBAIC0xMjQyOSw2ICsxMjQ2NCw3 IEBAIENPTkZJR19DUllQVE9fQUxHQVBJPXkKIENPTkZJR19DUllQVE9fQUxHQVBJMj15CiBDT05G SUdfQ1JZUFRPX0FFQUQ9eQogQ09ORklHX0NSWVBUT19BRUFEMj15CitDT05GSUdfQ1JZUFRPX1NJ Rz15CiBDT05GSUdfQ1JZUFRPX1NJRzI9eQogQ09ORklHX0NSWVBUT19TS0NJUEhFUj15CiBDT05G SUdfQ1JZUFRPX1NLQ0lQSEVSMj15CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L3BhdGNo ZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gg Yi9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBw ZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwMDAuLjc5NGFjMmYyZDc3ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saW51 eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0 aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTk1MSBAQAoraHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9y Zy9wcm9qZWN0L2xpbnV4LWFybS1tc20vY292ZXIvMjAyNDA2MjItcWNvbS1wZC1tYXBwZXItdjkt MC1hODRlZTM1OTFjOGVAbGluYXJvLm9yZy8KKworYWNjZXB0ZWQgdXBzdHJlYW0sIGV4cGVjdGVk IG1haW5saW5lIGluIDYuMTEKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlz aGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MCArMDMwMAor U3ViamVjdDogW1BBVENIIHY5IDEvNV0gc29jOiBxY29tOiBwZHI6IHByb3RlY3QgbG9jYXRvcl9h ZGRyIHdpdGggdGhlIG1haW4KKyBtdXRleAorCitJZiB0aGUgc2VydmljZSBsb2NhdG9yIHNlcnZl ciBpcyByZXN0YXJ0ZWQgZmFzdCBlbm91Z2gsIHRoZSBQRFIgY2FuCityZXdyaXRlIGxvY2F0b3Jf YWRkciBmaWVsZHMgY29uY3VycmVudGx5LiBQcm90ZWN0IHRoZW0gYnkgcGxhY2luZworbW9kaWZp Y2F0aW9uIG9mIHRob3NlIGZpZWxkcyB1bmRlciB0aGUgbWFpbiBwZHItPmxvY2suCisKK0ZpeGVz OiBmYmU2MzliNDRhODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBS ZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJv bmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pl d3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxl eGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292 IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxx dWljX2NsZXdAcXVpY2luYy5jb20+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZh Y2UuYyB8IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5j IGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IGExYjZhNDA4MWRlYS4u NzZhNjJjMmVjYzU4IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNl LmMKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNzYsMTIgKzc2 LDEyIEBAIHN0YXRpYyBpbnQgcGRyX2xvY2F0b3JfbmV3X3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRs ZSAqcW1pLAorIAkJCQkJICAgICAgbG9jYXRvcl9oZGwpOworIAlzdHJ1Y3QgcGRyX3NlcnZpY2Ug KnBkczsKKyAKKysJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJLyogQ3JlYXRlIGEgbG9jYWwg Y2xpZW50IHBvcnQgZm9yIFFNSSBjb21tdW5pY2F0aW9uICovCisgCXBkci0+bG9jYXRvcl9hZGRy LnNxX2ZhbWlseSA9IEFGX1FJUENSVFI7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSBz dmMtPm5vZGU7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX3BvcnQgPSBzdmMtPnBvcnQ7CisgCist CW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9pbml0X2NvbXBsZXRlID0g dHJ1ZTsKKyAJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorQEAgLTEwNCwxMCArMTA0LDEw IEBAIHN0YXRpYyB2b2lkIHBkcl9sb2NhdG9yX2RlbF9zZXJ2ZXIoc3RydWN0IHFtaV9oYW5kbGUg KnFtaSwKKyAKKyAJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRf Y29tcGxldGUgPSBmYWxzZTsKKy0JbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorIAlwZHIt PmxvY2F0b3JfYWRkci5zcV9ub2RlID0gMDsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9 IDA7CisrCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyB9CisgCisgc3RhdGljIGNvbnN0IHN0 cnVjdCBxbWlfb3BzIHBkcl9sb2NhdG9yX29wcyA9IHsKK0BAIC0zNjUsMTIgKzM2NSwxNCBAQCBz dGF0aWMgaW50IHBkcl9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcSAqcmVxLAorIAlpZiAocmV0IDwgMCkKKyAJCXJldHVybiByZXQ7CisgCisrCW11dGV4 X2xvY2soJnBkci0+bG9jayk7CisgCXJldCA9IHFtaV9zZW5kX3JlcXVlc3QoJnBkci0+bG9jYXRv cl9oZGwsCisgCQkJICAgICAgICZwZHItPmxvY2F0b3JfYWRkciwKKyAJCQkgICAgICAgJnR4biwg U0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRLAorIAkJCSAgICAgICBTRVJWUkVHX0dFVF9ET01B SU5fTElTVF9SRVFfTUFYX0xFTiwKKyAJCQkgICAgICAgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVxX2VpLAorIAkJCSAgICAgICByZXEpOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7Cisg CWlmIChyZXQgPCAwKSB7CisgCQlxbWlfdHhuX2NhbmNlbCgmdHhuKTsKKyAJCXJldHVybiByZXQ7 CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4K K0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDEgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2 OSAyLzVdIHNvYzogcWNvbTogcGRyOiBmaXggcGFyc2luZyBvZiBkb21haW5zIGxpc3RzCisKK1do aWxlIHBhcnNpbmcgdGhlIGRvbWFpbnMgbGlzdCwgc3RhcnQgb2Zmc2V0cyBmcm9tIDAgcmF0aGVy IHRoYW4gZnJvbQorZG9tYWluc19yZWFkLiBUaGUgZG9tYWluc19yZWFkIGlzIGVxdWFsIHRvIHRo ZSB0b3RhbCBjb3VudCBvZiB0aGUKK2RvbWFpbnMgd2UgaGF2ZSBzZWVuLCB3aGlsZSB0aGUgZG9t YWlucyBsaXN0IGluIHRoZSBtZXNzYWdlIHN0YXJ0cyBmcm9tCitvZmZzZXQgMC4KKworRml4ZXM6 IGZiZTYzOWI0NGE4MiAoInNvYzogcWNvbTogSW50cm9kdWNlIFByb3RlY3Rpb24gRG9tYWluIFJl c3RhcnQgaGVscGVycyIpCitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2Fs aS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJr ZXRvcy5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+ CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAj IG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5i YXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFj ZS5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigt KQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2 ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworaW5kZXggNzZhNjJjMmVjYzU4Li4yMTYxNjZl OThmYWUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysr IGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK0BAIC00MTcsNyArNDE3LDcgQEAg c3RhdGljIGludCBwZHJfbG9jYXRlX3NlcnZpY2Uoc3RydWN0IHBkcl9oYW5kbGUgKnBkciwgc3Ry dWN0IHBkcl9zZXJ2aWNlICpwZHMpCisgCQlpZiAocmV0IDwgMCkKKyAJCQlnb3RvIG91dDsKKyAK Ky0JCWZvciAoaSA9IGRvbWFpbnNfcmVhZDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsr KSB7CisrCQlmb3IgKGkgPSAwOyBpIDwgcmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKyAJ CQllbnRyeSA9ICZyZXNwLT5kb21haW5fbGlzdFtpXTsKKyAKKyAJCQlpZiAoc3RybmxlbihlbnRy eS0+bmFtZSwgc2l6ZW9mKGVudHJ5LT5uYW1lKSkgPT0gc2l6ZW9mKGVudHJ5LT5uYW1lKSkKKwor RnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0 ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MiArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDMv NV0gc29jOiBxY29tOiBwZHI6IGV4dHJhY3QgUERSIG1lc3NhZ2UgbWFyc2hhbGxpbmcKKyBkYXRh CisKK1RoZSBpbi1rZXJuZWwgUEQgbWFwcGVyIGlzIGdvaW5nIHRvIHVzZSBzYW1lIG1lc3NhZ2Ug c3RydWN0dXJlcyBhcyB0aGUKK1FDT01fUERSX0hFTFBFUlMgbW9kdWxlLiBFeHRyYWN0IG1lc3Nh Z2UgbWFyc2hhbGxpbmcgZGF0YSB0byBzZXBhcmF0ZQorbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQg YnkgYm90aCBQRFIgaGVscGVycyBhbmQgYnkgUEQgbWFwcGVyLgorCitSZXZpZXdlZC1ieTogQnJ5 YW4gTydEb25vZ2h1ZSA8YnJ5YW4ub2Rvbm9naHVlQGxpbmFyby5vcmc+CitUZXN0ZWQtYnk6IFN0 ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5u ZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJt c3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25l ZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4K Ky0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAgfCAgIDQgKworIGRyaXZlcnMv c29jL3Fjb20vTWFrZWZpbGUgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fjb20vcGRyX2lu dGVybmFsLmggfCAzMDYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBk cml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jIHwgMzE5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRpb25zKCsp LCAyOTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25m aWcgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4uOTU5NzNj NmI4MjhmIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2 ZXJzL3NvYy9xY29tL0tjb25maWcKK0BAIC03NSw4ICs3NSwxMiBAQCBjb25maWcgUUNPTV9PQ01F TQorIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FN SV9IRUxQRVJTCisrCXNlbGVjdCBRQ09NX1BEUl9NU0cKKyAJZGVwZW5kcyBvbiBORVQKKyAKKytj b25maWcgUUNPTV9QRFJfTVNHCisrCXRyaXN0YXRlCisrCisgY29uZmlnIFFDT01fUE1JQ19QRENI QVJHRVJfVUxPRworIAl0cmlzdGF0ZSAiUXVhbGNvbW0gUE1JQyBQRENoYXJnZXIgVUxPRyBkcml2 ZXIiCisgCWRlcGVuZHMgb24gUlBNU0cKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL01h a2VmaWxlIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQoraW5kZXggY2EwYmVjZTBkZmZmLi4z MTEwYWMzMjg4YmMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCisrKysg Yi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklH X1FDT01fR1NCSSkJKz0JcWNvbV9nc2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVS KQkrPSBtZHRfbG9hZGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubwor IG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKytvYmot JChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19R Q09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmsubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNf R0xJTkspCSs9IHBtaWNfZ2xpbmtfYWx0bW9kZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19Q RENIQVJHRVJfVUxPRykJKz0gcG1pY19wZGNoYXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0IGEvZHJp dmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVy bmFsLmgKK2luZGV4IDAzYzI4MmI3ZjE3ZS4uN2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0tIGEvZHJp dmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJf aW50ZXJuYWwuaAorQEAgLTI4LDgzICsyOCwxMiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9l bnRyeSB7CisgCXUzMiBpbnN0YW5jZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CistCXsKKy0JCS5kYXRh X3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05B TUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJ CQkgICBuYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVE XzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9j YXRpb25fZW50cnksCistCQkJCQkgICBpbnN0YW5jZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAor LQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGFf dmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9C WVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1MzIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9 IDAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlv bl9lbnRyeSwKKy0JCQkJCSAgIHNlcnZpY2VfZGF0YSksCistCX0sCistCXt9CistfTsKKy0KKyBz dHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX25hbWVb U0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlkOworIAl1 MzIgZG9tYWluX29mZnNldDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFN RV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVx LAorLQkJCQkJICAgc2VydmljZV9uYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlk KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwK Ky0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMy KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEw LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3JlcSwKKy0JCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorLQl9LAorLQl7fQorLX07Cist Cisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jl c3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitAQCAtMTE2 LDI2NCArNDUsNDkgQEAgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlz dHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSBkb21haW5fbGlzdFtTRVJWUkVHX0RPTUFJTl9M SVNUX0xFTkdUSF07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3As CistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVf djAxX2VpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwK Ky0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAor LQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9kb21haW5zX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAg ICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJ CQkgICB0b3RhbF9kb21haW5zKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgxMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKy0J fSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5l bGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3Jlc3AsCistCQkJCQkgICBkYl9yZXZfY291bnQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF92 YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKy0J CS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCist CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVzcCwKKy0JCQkJCSAgIGRvbWFpbl9saXN0X2xlbiksCistCX0sCistCXsKKy0JCS5kYXRh X3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RP TUFJTl9MSVNUX0xFTkdUSCwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2Vy dnJlZ19sb2NhdGlvbl9lbnRyeSksCistCQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlz dCksCistCQkuZWlfYXJyYXkgICAgICA9IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWksCistCX0s CistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEgewor IAl1OCBlbmFibGU7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAx XTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBR TUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIGVuYWJsZSksCistCX0s CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAg ICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVn aXN0ZXJfbGlzdGVuZXJfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30K Ky19OworLQorIHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AgeworIAlzdHJ1 Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IGN1cnJfc3RhdGVfdmFsaWQ7Cisg CWVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlIGN1cnJfc3RhdGU7CisgfTsKKyAKKy1zdGF0aWMg Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNw X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxl bV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZf dHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlf YXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRh dGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0J CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJy X3N0YXRlX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05F RF80X0JZVEVfRU5VTSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJ CQkJICAgY3Vycl9zdGF0ZSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19y ZXN0YXJ0X3BkX3JlcSB7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEgg KyAxXTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X3Jlc3RhcnRfcGRfcmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9T VFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0J CS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX3Bh dGgpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNw IHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCistc3RhdGlj IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW10g PSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9u c2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19yZXN0YXJ0X3BkX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0g cW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNl cnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQgeworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBj dXJyX3N0YXRlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07 CisgCXUxNiB0cmFuc2FjdGlvbl9pZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJ ICAgY3Vycl9zdGF0ZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJ TkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5l bGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBzZXJ2aWNlX3Bh dGgpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRF LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4 MDMsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91 cGRhdGVkX2luZCwKKy0JCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19Owor LQorIHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VS VlJFR19OQU1FX0xFTkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1z dGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtd ID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X3NldF9hY2tfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9 IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICB0cmFuc2Fj dGlvbl9pZCksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jl c3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKy1zdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9 IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAg ICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25z ZV90eXBlX3YwMSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X3NldF9hY2tfcmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAgID0gcW1p X3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CisrZXh0ZXJuIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKytleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2Vp W107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2Vy dnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW107CisrZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXTsK KytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jl c3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0 ZV91cGRhdGVkX2luZF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9p bmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZHJfbXNnLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLjliNDZm NDJhYTE0NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9t c2cuYworQEAgLTAsMCArMSwzMTkgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMAorKy8qCisrICogQ29weXJpZ2h0IChDKSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLgorKyAqLworKworKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4K KysjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRl cm5hbC5oIgorKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25f ZW50cnlfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJ CS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIG5hbWUpLAorKwl9LAorKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIGluc3Rh bmNlKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllU RSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAs CisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9l bnRyeSwKKysJCQkJCSAgIHNlcnZpY2VfZGF0YV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRh X3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9k YXRhKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jYXRp b25fZW50cnlfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisr CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBzZXJ2 aWNlX25hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcs CisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4 KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEw LAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3JlcSwKKysJCQkJCSAgIGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorKwl9LAorKwl7Cisr CQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAg ICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJ CQkJICAgZG9tYWluX29mZnNldCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQ TChzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisr CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSks CisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwK KysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNw b25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09Q VF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCisrCX0s CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxl bV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWlucyksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudF92 YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZ VEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgxMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZGJfcmV2X2NvdW50KSwKKysJfSwKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9t YWluX2xpc3RfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFU QV9MRU4sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDEyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorKwl9LAorKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0g U0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo c3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkpLAorKwkJLmFycmF5X3R5cGUJPSBWQVJfTEVO X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAg ZG9tYWluX2xpc3QpLAorKwkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5 X2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFibGUpLAor Kwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAg ICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisr CXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jl cV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9s aXN0ZW5lcl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJV Q1QsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgcmVz cCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAg ICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisr CQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5l cl9yZXNwLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRf U1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWkpOworKworK2NvbnN0 IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9 IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNo YXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4 MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0 X3BkX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBP UlRfU1lNQk9MX0dQTChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdID0geworKwl7Cisr CQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAx KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAy LAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9w ZF9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25z ZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZy ZWdfcmVzdGFydF9wZF9yZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vycl9zdGF0 ZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxl bV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5 cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwK KysJCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1C T0xfR1BMKHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWkpOworKworK2NvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFN RV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJ CSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9V TlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90 eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3NldF9hY2tfcmVxLAorKwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAorKwl7 fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3JlcV9laSk7CisrCisr Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAg ICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90 eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Nl dF9hY2tfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jl c3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwo c2VydnJlZ19zZXRfYWNrX3Jlc3BfZWkpOworKworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKytN T0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRh dGEiKTsKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8u b3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MyArMDMwMAorU3ViamVjdDogW1BB VENIIHY5IDQvNV0gc29jOiBxY29tOiBhZGQgcGQtbWFwcGVyIGltcGxlbWVudGF0aW9uCisKK0V4 aXN0aW5nIHVzZXJzcGFjZSBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgaW1wbGVtZW50YXRpb24g aGFzIHNldmVyYWwKK2lzc3VlLiBJdCBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIENPTkZJR19FWFRS QV9GSVJNV0FSRSwgaXQgZG9lc24ndAorcmVyZWFkIEpTT04gZmlsZXMgaWYgZmlybXdhcmUgbG9j YXRpb24gaXMgY2hhbmdlZCAob3IgaWYgZmlybXdhcmUgd2FzCitub3QgYXZhaWxhYmxlIGF0IHRo ZSB0aW1lIHBkLW1hcHBlciB3YXMgc3RhcnRlZCBidXQgdGhlIGNvcnJlc3BvbmRpbmcKK2RpcmVj dG9yeSBpcyBtb3VudGVkIGxhdGVyKSwgZXRjLgorCitQcm92aWRlIGluLWtlcm5lbCBzZXJ2aWNl IGltcGxlbWVudGluZyBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwaW5nCityZXF1aXJlZCB0byB3b3Jr IHdpdGggc2V2ZXJhbCBzZXJ2aWNlcywgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSBEU1AKK2Zp cm13YXJlLgorCitUaGlzIG1vZHVsZSBpcyBsb2FkZWQgYXV0b21hdGljYWxseSBieSB0aGUgcmVt b3RlcHJvYyBkcml2ZXJzIHdoZW4KK25lY2Vzc2FyeSB2aWEgdGhlIHN5bWJvbCBkZXBlbmRlbmN5 LiBJdCB1c2VzIGEgcm9vdCBub2RlIHRvIG1hdGNoIGEKK3Byb3RlY3Rpb24gZG9tYWlucyBtYXAg Zm9yIGEgcGFydGljdWxhciBib2FyZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvCitpbXBsZW1lbnQg aXQgYXMgYSAnZHJpdmVyJyBhcyB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGRldmljZS4KKwor VGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5 OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorUmV2aWV3 ZWQtYnk6IENocmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBOZWls IEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitT aWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5v cmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgICAgfCAgMTEgKworIGRy aXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgICAgICAgICB8ICAgMSArCisgZHJpdmVycy9zb2MvcWNv bS9wZHJfaW50ZXJuYWwuaCAgIHwgIDE0ICsKKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFw cGVyLmMgfCA2NzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBkcml2 ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jICAgfCAgMzQgKysKKyA1IGZpbGVzIGNoYW5nZWQs IDczNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25m aWcgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcKK2luZGV4IDk1OTczYzZiODI4Zi4uMGEyZjJi ZmQ3ODYzIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2 ZXJzL3NvYy9xY29tL0tjb25maWcKK0BAIC03Miw2ICs3MiwxNyBAQCBjb25maWcgUUNPTV9PQ01F TQorIAkgIHJlcXVpcmVtZW50cy4gVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBieSB0aGUgR1BVLCBj YW1lcmEvdmlkZW8sIGFuZAorIAkgIGF1ZGlvIGNvbXBvbmVudHMgb24gc29tZSBTbmFwZHJhZ29u IFNvQ3MuCisgCisrY29uZmlnIFFDT01fUERfTUFQUEVSCisrCXRyaXN0YXRlICJRdWFsY29tbSBQ cm90ZWN0aW9uIERvbWFpbiBNYXBwZXIiCisrCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCWRl cGVuZHMgb24gTkVUICYmIFFSVFIKKysJZGVmYXVsdCBRQ09NX1JQUk9DX0NPTU1PTgorKwloZWxw CisrCSAgVGhlIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciBtYXBzIHJlZ2lzdGVyZWQgc2Vydmlj ZXMgdG8gdGhlIGRvbWFpbnMKKysJICBhbmQgaW5zdGFuY2VzIGhhbmRsZWQgYnkgdGhlIHJlbW90 ZSBEU1BzLiBUaGlzIGlzIGEga2VybmVsLXNwYWNlCisrCSAgaW1wbGVtZW50YXRpb24gb2YgdGhl IHNlcnZpY2UuIEl0IGlzIGEgc2ltcGxlciBhbHRlcm5hdGl2ZSB0byB0aGUKKysJICB1c2Vyc3Bh Y2UgZGFlbW9uLgorKworIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNl bGVjdCBRQ09NX1FNSV9IRUxQRVJTCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9NYWtl ZmlsZSBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IDMxMTBhYzMyODhiYy4uZDM1 NjBmODYxMDg1IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorKysrIGIv ZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorQEAgLTcsNiArNyw3IEBAIG9iai0kKENPTkZJR19R Q09NX0NPTU1BTkRfREIpICs9IGNtZC1kYi5vCisgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0J cWNvbV9nc2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVy Lm8KKyBvYmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworK29iai0kKENPTkZJR19R Q09NX1BEX01BUFBFUikJKz0gcWNvbV9wZF9tYXBwZXIubworIG9iai0kKENPTkZJR19RQ09NX1BE Ul9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfTVNH KQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBt aWNfZ2xpbmsubworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgg Yi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitpbmRleCA3ZTViYjVhOTUyNzUuLjhk MTdmN2ZiNzllNyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgK KysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK0BAIC0xMyw2ICsxMyw4IEBA CisgI2RlZmluZSBTRVJWUkVHX1NFVF9BQ0tfUkVRCQkJCTB4MjMKKyAjZGVmaW5lIFNFUlZSRUdf UkVTVEFSVF9QRF9SRVEJCQkJMHgyNAorIAorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZSX1JFUQkJ CQkweDI0CisrCisgI2RlZmluZSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSAkJCTMyCisgI2Rl ZmluZSBTRVJWUkVHX1JFU1RBUlRfUERfUkVRX01BWF9MRU4JCQk2NworICNkZWZpbmUgU0VSVlJF R19SRUdJU1RFUl9MSVNURU5FUl9SRVFfTEVOCQk3MQorQEAgLTIwLDYgKzIyLDcgQEAKKyAjZGVm aW5lIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUV9NQVhfTEVOCQk3NAorICNkZWZpbmUgU0VS VlJFR19TVEFURV9VUERBVEVEX0lORF9NQVhfTEVOCQk3OQorICNkZWZpbmUgU0VSVlJFR19HRVRf RE9NQUlOX0xJU1RfUkVTUF9NQVhfTEVOCQkyMzg5CisrI2RlZmluZSBTRVJWUkVHX0xPQ19QRlJf UkVTUF9NQVhfTEVOCQkJMTAKKyAKKyBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7Cisg CWNoYXIgbmFtZVtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CitAQCAtNzksNiArODIsMTUgQEAg c3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBl X3YwMSByZXNwOworIH07CisgCisrc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEgeworKwljaGFy IHNlcnZpY2VbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworKwljaGFyIHJlYXNvblsyNTddOwor K307CisrCisrc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHsKKysJc3RydWN0IHFtaV9yZXNw b25zZV90eXBlX3YwMSByc3A7CisrfTsKKysKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3Qg cW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXTsKKyBleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9l aVtdOworQEAgLTg5LDUgKzEwMSw3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW107CisgZXh0ZXJuIGNvbnN0 IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXTsKKyBleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXTsKKytl eHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtd OworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVz cF9laVtdOworIAorICNlbmRpZgorZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZF9tYXBwZXIuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYworbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwMC4uZWNiNjRmMDY1MjdmCistLS0gL2Rldi9u dWxsCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK0BAIC0wLDAgKzEs Njc2IEBACisrLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorKy8qCisr ICogUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gbWFwcGVyCisrICoKKysgKiBDb3B5cmlnaHQg KGMpIDIwMjMgTGluYXJvIEx0ZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5 X2J1cy5oPgorKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKysjaW5jbHVkZSA8bGludXgvbW9k X2RldmljZXRhYmxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxs aW51eC9vZi5oPgorKyNpbmNsdWRlIDxsaW51eC9yZWZjb3VudC5oPgorKyNpbmNsdWRlIDxsaW51 eC9zb2MvcWNvbS9xbWkuaD4KKysKKysjaW5jbHVkZSAicGRyX2ludGVybmFsLmgiCisrCisrI2Rl ZmluZSBTRVJWUkVHX1FNSV9WRVJTSU9OIDB4MTAxCisrI2RlZmluZSBTRVJWUkVHX1FNSV9JTlNU QU5DRSAwCisrCisrI2RlZmluZSBUTVNfU0VSVlJFR19TRVJWSUNFICJ0bXMvc2VydnJlZyIKKysK KytzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgeworKwljb25zdCBjaGFyICpkb21haW47Cisr CXUzMiBpbnN0YW5jZV9pZDsKKysJLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisrCWNvbnN0 IGNoYXIgKiBzZXJ2aWNlc1tdOworK307CisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbiB7Cisr CXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKysJY29uc3QgY2hhciAqbmFtZTsKKysJdTMyIGluc3Rh bmNlX2lkOworK307CisrCisrc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgeworKwlzdHJ1Y3QgbGlz dF9oZWFkIGxpc3Q7CisrCXN0cnVjdCBsaXN0X2hlYWQgZG9tYWluczsKKysJY29uc3QgY2hhciAq bmFtZTsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9kYXRhIHsKKysJcmVmY291bnRfdCByZWZj bnQ7CisrCXN0cnVjdCBxbWlfaGFuZGxlIGhhbmRsZTsKKysJc3RydWN0IGxpc3RfaGVhZCBzZXJ2 aWNlczsKKyt9OworKworK3N0YXRpYyBERUZJTkVfTVVURVgocWNvbV9wZG1fbXV0ZXgpOyAvKiBw cm90ZWN0cyBfX3Fjb21fcGRtX2RhdGEgKi8KKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEg Kl9fcWNvbV9wZG1fZGF0YTsKKysKKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnFj b21fcGRtX2ZpbmQoc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCQkgICAgICBjb25z dCBjaGFyICpuYW1lKQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7Cisr CisrCWxpc3RfZm9yX2VhY2hfZW50cnkoc2VydmljZSwgJmRhdGEtPnNlcnZpY2VzLCBsaXN0KSB7 CisrCQlpZiAoIXN0cmNtcChzZXJ2aWNlLT5uYW1lLCBuYW1lKSkKKysJCQlyZXR1cm4gc2Vydmlj ZTsKKysJfQorKworKwlyZXR1cm4gTlVMTDsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9h ZGRfc2VydmljZV9kb21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCSAgICAg ICBjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsCisrCQkJCSAgICAgICBjb25zdCBjaGFyICpkb21h aW5fbmFtZSwKKysJCQkJICAgICAgIHUzMiBpbnN0YW5jZV9pZCkKKyt7CisrCXN0cnVjdCBxY29t X3BkbV9zZXJ2aWNlICpzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47 CisrCisrCXNlcnZpY2UgPSBxY29tX3BkbV9maW5kKGRhdGEsIHNlcnZpY2VfbmFtZSk7CisrCWlm IChzZXJ2aWNlKSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRv bWFpbnMsIGxpc3QpIHsKKysJCQlpZiAoIXN0cmNtcChkb21haW4tPm5hbWUsIGRvbWFpbl9uYW1l KSkKKysJCQkJcmV0dXJuIC1FQlVTWTsKKysJCX0KKysJfSBlbHNlIHsKKysJCXNlcnZpY2UgPSBr emFsbG9jKHNpemVvZigqc2VydmljZSksIEdGUF9LRVJORUwpOworKwkJaWYgKCFzZXJ2aWNlKQor KwkJCXJldHVybiAtRU5PTUVNOworKworKwkJSU5JVF9MSVNUX0hFQUQoJnNlcnZpY2UtPmRvbWFp bnMpOworKwkJc2VydmljZS0+bmFtZSA9IHNlcnZpY2VfbmFtZTsKKysKKysJCWxpc3RfYWRkX3Rh aWwoJnNlcnZpY2UtPmxpc3QsICZkYXRhLT5zZXJ2aWNlcyk7CisrCX0KKysKKysJZG9tYWluID0g a3phbGxvYyhzaXplb2YoKmRvbWFpbiksIEdGUF9LRVJORUwpOworKwlpZiAoIWRvbWFpbikgewor KwkJaWYgKGxpc3RfZW1wdHkoJnNlcnZpY2UtPmRvbWFpbnMpKSB7CisrCQkJbGlzdF9kZWwoJnNl cnZpY2UtPmxpc3QpOworKwkJCWtmcmVlKHNlcnZpY2UpOworKwkJfQorKworKwkJcmV0dXJuIC1F Tk9NRU07CisrCX0KKysKKysJZG9tYWluLT5uYW1lID0gZG9tYWluX25hbWU7CisrCWRvbWFpbi0+ aW5zdGFuY2VfaWQgPSBpbnN0YW5jZV9pZDsKKysJbGlzdF9hZGRfdGFpbCgmZG9tYWluLT5saXN0 LCAmc2VydmljZS0+ZG9tYWlucyk7CisrCisrCXJldHVybiAwOworK30KKysKKytzdGF0aWMgaW50 IHFjb21fcGRtX2FkZF9kb21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJICAg ICAgIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqZG9tYWluKQorK3sKKysJaW50 IHJldDsKKysJaW50IGk7CisrCisrCXJldCA9IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihk YXRhLAorKwkJCQkJICBUTVNfU0VSVlJFR19TRVJWSUNFLAorKwkJCQkJICBkb21haW4tPmRvbWFp biwKKysJCQkJCSAgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4g cmV0OworKworKwlmb3IgKGkgPSAwOyBkb21haW4tPnNlcnZpY2VzW2ldOyBpKyspIHsKKysJCXJl dCA9IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJCSAgZG9tYWluLT5z ZXJ2aWNlc1tpXSwKKysJCQkJCQkgIGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJCSAgZG9tYWluLT5p bnN0YW5jZV9pZCk7CisrCQlpZiAocmV0KQorKwkJCXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0 dXJuIDA7CisrCisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2ZyZWVfZG9tYWlucyhzdHJ1 Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpz ZXJ2aWNlLCAqdHNlcnZpY2U7CisrCXN0cnVjdCBxY29tX3BkbV9kb21haW4gKmRvbWFpbiwgKnRk b21haW47CisrCisrCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzZXJ2aWNlLCB0c2VydmljZSwg JmRhdGEtPnNlcnZpY2VzLCBsaXN0KSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZG9t YWluLCB0ZG9tYWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWxpc3RfZGVsKCZk b21haW4tPmxpc3QpOworKwkJCWtmcmVlKGRvbWFpbik7CisrCQl9CisrCisrCQlsaXN0X2RlbCgm c2VydmljZS0+bGlzdCk7CisrCQlrZnJlZShzZXJ2aWNlKTsKKysJfQorK30KKysKKytzdGF0aWMg dm9pZCBxY29tX3BkbV9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKysJ CQkJICAgICBzdHJ1Y3Qgc29ja2FkZHJfcXJ0ciAqc3EsCisrCQkJCSAgICAgc3RydWN0IHFtaV90 eG4gKnR4biwKKysJCQkJICAgICBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJc3RydWN0IHFj b21fcGRtX2RhdGEgKmRhdGEgPSBjb250YWluZXJfb2YocW1pLCBzdHJ1Y3QgcWNvbV9wZG1fZGF0 YSwgaGFuZGxlKTsKKysJY29uc3Qgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAq cmVxID0gZGVjb2RlZDsKKysJc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgKnJz cDsKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCXUzMiBvZmZzZXQ7Cisr CWludCByZXQ7CisrCisrCXJzcCA9IGt6YWxsb2Moc2l6ZW9mKCpyc3ApLCBHRlBfS0VSTkVMKTsK KysJaWYgKCFyc3ApCisrCQlyZXR1cm47CisrCisrCW9mZnNldCA9IHJlcS0+ZG9tYWluX29mZnNl dF92YWxpZCA/IHJlcS0+ZG9tYWluX29mZnNldCA6IDA7CisrCisrCXJzcC0+cmVzcC5yZXN1bHQg PSBRTUlfUkVTVUxUX1NVQ0NFU1NfVjAxOworKwlyc3AtPnJlc3AuZXJyb3IgPSBRTUlfRVJSX05P TkVfVjAxOworKworKwlyc3AtPmRiX3Jldl9jb3VudF92YWxpZCA9IHRydWU7CisrCXJzcC0+ZGJf cmV2X2NvdW50ID0gMTsKKysKKysJcnNwLT50b3RhbF9kb21haW5zX3ZhbGlkID0gdHJ1ZTsKKysJ cnNwLT50b3RhbF9kb21haW5zID0gMDsKKysKKysJbXV0ZXhfbG9jaygmcWNvbV9wZG1fbXV0ZXgp OworKworKwlzZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCByZXEtPnNlcnZpY2VfbmFtZSk7 CisrCWlmIChzZXJ2aWNlKSB7CisrCQlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47Cisr CisrCQlyc3AtPmRvbWFpbl9saXN0X3ZhbGlkID0gdHJ1ZTsKKysJCXJzcC0+ZG9tYWluX2xpc3Rf bGVuID0gMDsKKysKKysJCWxpc3RfZm9yX2VhY2hfZW50cnkoZG9tYWluLCAmc2VydmljZS0+ZG9t YWlucywgbGlzdCkgeworKwkJCXUzMiBpID0gcnNwLT50b3RhbF9kb21haW5zKys7CisrCisrCQkJ aWYgKGkgPj0gb2Zmc2V0ICYmIGkgPCBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCkgeworKwkJ CQl1MzIgaiA9IHJzcC0+ZG9tYWluX2xpc3RfbGVuKys7CisrCisrCQkJCXN0cnNjcHkocnNwLT5k b21haW5fbGlzdFtqXS5uYW1lLCBkb21haW4tPm5hbWUsCisrCQkJCQlzaXplb2YocnNwLT5kb21h aW5fbGlzdFtpXS5uYW1lKSk7CisrCQkJCXJzcC0+ZG9tYWluX2xpc3Rbal0uaW5zdGFuY2UgPSBk b21haW4tPmluc3RhbmNlX2lkOworKworKwkJCQlwcl9kZWJ1ZygiUERNOiBmb3VuZCAlcyAvICVk XG4iLCBkb21haW4tPm5hbWUsCisrCQkJCQkgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCQkJfQor KwkJfQorKwl9CisrCisrCXByX2RlYnVnKCJQRE06IHNlcnZpY2UgJyVzJyBvZmZzZXQgJWQgcmV0 dXJuaW5nICVkIGRvbWFpbnMgKG9mICVkKVxuIiwgcmVxLT5zZXJ2aWNlX25hbWUsCisrCQkgcmVx LT5kb21haW5fb2Zmc2V0X3ZhbGlkID8gcmVxLT5kb21haW5fb2Zmc2V0IDogLTEsIHJzcC0+ZG9t YWluX2xpc3RfbGVuLCByc3AtPnRvdGFsX2RvbWFpbnMpOworKworKwlyZXQgPSBxbWlfc2VuZF9y ZXNwb25zZShxbWksIHNxLCB0eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKysJCQkJ U0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXNwX2VpLCByc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJFcnJvciBz ZW5kaW5nIHNlcnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworKworKwltdXRleF91bmxvY2so JnFjb21fcGRtX211dGV4KTsKKysKKysJa2ZyZWUocnNwKTsKKyt9CisrCisrc3RhdGljIHZvaWQg cWNvbV9wZG1fcGZyKHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisrCQkJIHN0cnVjdCBzb2NrYWRk cl9xcnRyICpzcSwKKysJCQkgc3RydWN0IHFtaV90eG4gKnR4biwKKysJCQkgY29uc3Qgdm9pZCAq ZGVjb2RlZCkKKyt7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxICpyZXEgPSBk ZWNvZGVkOworKwlzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AgcnNwID0ge307CisrCWludCBy ZXQ7CisrCisrCXByX3dhcm5fcmF0ZWxpbWl0ZWQoIlBETTogc2VydmljZSAnJXMnIGNyYXNoOiAn JXMnXG4iLCByZXEtPnNlcnZpY2UsIHJlcS0+cmVhc29uKTsKKysKKysJcnNwLnJzcC5yZXN1bHQg PSBRTUlfUkVTVUxUX1NVQ0NFU1NfVjAxOworKwlyc3AucnNwLmVycm9yID0gUU1JX0VSUl9OT05F X1YwMTsKKysKKysJcmV0ID0gcW1pX3NlbmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVH X0xPQ19QRlJfUkVRLAorKwkJCQlTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVOLAorKwkJCQlz ZXJ2cmVnX2xvY19wZnJfcmVzcF9laSwgJnJzcCk7CisrCWlmIChyZXQpCisrCQlwcl9lcnIoIkVy cm9yIHNlbmRpbmcgc2VydnJlZyByZXNwb25zZTogJWRcbiIsIHJldCk7CisrfQorKworK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcW1pX21zZ19oYW5kbGVyIHFjb21fcGRtX21zZ19oYW5kbGVyc1tdID0g eworKwl7CisrCQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfR0VU X0RPTUFJTl9MSVNUX1JFUSwKKysJCS5laSA9IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9l aSwKKysJCS5kZWNvZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcSksCisrCQkuZm4gPSBxY29tX3BkbV9nZXRfZG9tYWluX2xpc3QsCisrCX0sCisrCXsK KysJCS50eXBlID0gUU1JX1JFUVVFU1QsCisrCQkubXNnX2lkID0gU0VSVlJFR19MT0NfUEZSX1JF USwKKysJCS5laSA9IHNlcnZyZWdfbG9jX3Bmcl9yZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0g c2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX3Bm ciwKKysJfSwKKysJeyB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSBhZHNwX2F1ZGlvX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlv X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJhdnMvYXVk aW8iLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluX2RhdGEgYWRzcF9jaGFyZ2VyX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNw L2NoYXJnZXJfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxM IH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFk c3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3Rh bmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3Jvb3RfcGRfcGRyID0geworKwku ZG9tYWluID0gIm1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNl cnZpY2VzID0geworKwkJInRtcy9wZHJfZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3NlbnNvcl9w ZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQg PSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9hdWRpb19wZCA9IHsKKysJLmRv bWFpbiA9ICJtc20vYWRzcC9hdWRpb19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2 aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSBtc204OTk2X2Fkc3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRz cC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0s CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGNkc3Bf cm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vY2RzcC9yb290X3BkIiwKKysJLmluc3RhbmNl X2lkID0gNzYsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBzbHBpX3Jvb3RfcGQgPSB7CisrCS5kb21haW4g PSAibXNtL3NscGkvcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMg PSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu X2RhdGEgc2xwaV9zZW5zb3JfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3NscGkvc2Vuc29yX3Bk IiwKKysJLmluc3RhbmNlX2lkID0gOTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGQg PSB7CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAx ODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9wZF9ncHMgPSB7CisrCS5k b21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5z ZXJ2aWNlcyA9IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJTlVMTCwKKysJfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3Bk X2dwc19wZHIgPSB7CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFu Y2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJ InRtcy9wZHJfZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X21wc3Nfcm9vdF9wZCA9IHsKKysJ LmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDEwMCwKKysJ LnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhIG1wc3Nfd2xhbl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0v d2xhbl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImtl cm5lbC9lbGZfbG9hZGVyIiwKKysJCSJ3bGFuL2Z3IiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk2X2RvbWFp bnNbXSA9IHsKKysJJm1zbTg5OTZfYWRzcF9hdWRpb19wZCwKKysJJm1zbTg5OTZfYWRzcF9yb290 X3BkLAorKwkmbXNtODk5Nl9tcHNzX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk4X2RvbWFpbnNbXSA9IHsK KysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjbTIyOTBfZG9tYWluc1td ID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29y X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjczQwNF9k b21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRz cF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNz X3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRt X2RvbWFpbl9kYXRhICpzYzcxODBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJ JmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9n cHNfcGRyLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M3MjgwX2RvbWFpbnNbXSA9IHsKKysJJmFk c3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAor KwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3Bz X3BkciwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgKnNjODE4MHhfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFk c3Bfcm9vdF9wZCwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1w c3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0 aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzgyODB4cF9kb21haW5zW10g PSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hh cmdlcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTY2MF9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZj ZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEws CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02 NzBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJ JmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVM TCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNk bTg0NV9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAor KwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwkm c2xwaV9yb290X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0 aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTYxMTVfZG9tYWluc1tdID0g eworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3Bk LAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9w ZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu X2RhdGEgKnNtNjM1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9y b290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3ds YW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhICpzbTgxNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFk c3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZt cHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhICpzbTgyNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwK KysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJ JnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSAqc204MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9f cGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9y b290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlf c2Vuc29yX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqc204NTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwK KysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBxY29tX3BkbV9kb21haW5zW10gPSB7 CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDY0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29t cGF0aWJsZSA9ICJxY29tLGFwcTgwODQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGli bGUgPSAicWNvbSxhcHE4MDk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxtc204MjI2IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sbXNtODk3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLG1zbTg5OTYiLCAuZGF0YSA9IG1zbTg5OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLG1zbTg5OTgiLCAuZGF0YSA9IG1zbTg5OThfZG9tYWlucywgfSwKKysJeyAu Y29tcGF0aWJsZSA9ICJxY29tLHFjbTIyOTAiLCAuZGF0YSA9IHFjbTIyOTBfZG9tYWlucywgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHFjczQwNCIsIC5kYXRhID0gcWNzNDA0X2RvbWFpbnMs IH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzcxODAiLCAuZGF0YSA9IHNjNzE4MF9kb21h aW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MjgwIiwgLmRhdGEgPSBzYzcyODBf ZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODE4MHgiLCAuZGF0YSA9IHNj ODE4MHhfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODI4MHhwIiwgLmRh dGEgPSBzYzgyODB4cF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RhNjYw IiwgLmRhdGEgPSBzZG02NjBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNk bTY2MCIsIC5kYXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxzZG02NzAiLCAuZGF0YSA9IHNkbTY3MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0g InFjb20sc2RtODQ1IiwgLmRhdGEgPSBzZG04NDVfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJs ZSA9ICJxY29tLHNtNDI1MCIsIC5kYXRhID0gc202MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxzbTYxMTUiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5j b21wYXRpYmxlID0gInFjb20sc202MzUwIiwgLmRhdGEgPSBzbTYzNTBfZG9tYWlucywgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODE1MCIsIC5kYXRhID0gc204MTUwX2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgyNTAiLCAuZGF0YSA9IHNtODI1MF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MzUwIiwgLmRhdGEgPSBzbTgzNTBfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODQ1MCIsIC5kYXRhID0gc204MzUw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg1NTAiLCAuZGF0YSA9IHNt ODU1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NjUwIiwgLmRhdGEg PSBzbTg1NTBfZG9tYWlucywgfSwKKysJe30sCisrfTsKKysKKytzdGF0aWMgdm9pZCBxY29tX3Bk bV9zdG9wKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhKQorK3sKKysJcWNvbV9wZG1fZnJlZV9k b21haW5zKGRhdGEpOworKworKwkvKiBUaGUgc2VydmVyIGlzIHJlbW92ZWQgYXV0b21hdGljYWxs eSAqLworKwlxbWlfaGFuZGxlX3JlbGVhc2UoJmRhdGEtPmhhbmRsZSk7CisrCisrCWtmcmVlKGRh dGEpOworK30KKysKKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKnFjb21fcGRtX3N0YXJ0 KHZvaWQpCisreworKwljb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKiBjb25zdCAq ZG9tYWluczsKKysJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2g7CisrCXN0cnVjdCBx Y29tX3BkbV9kYXRhICpkYXRhOworKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3Q7CisrCWludCBy ZXQsIGk7CisrCisrCXJvb3QgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOworKwlpZiAoIXJv b3QpCisrCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysKKysJbWF0Y2ggPSBvZl9tYXRjaF9u b2RlKHFjb21fcGRtX2RvbWFpbnMsIHJvb3QpOworKwlvZl9ub2RlX3B1dChyb290KTsKKysJaWYg KCFtYXRjaCkgeworKwkJcHJfbm90aWNlKCJQRE06IG5vIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9y bSwgdXNlcnNwYWNlIGRhZW1vbiBtaWdodCBiZSByZXF1aXJlZC5cbiIpOworKwkJcmV0dXJuIEVS Ul9QVFIoLUVOT0RFVik7CisrCX0KKysKKysJZG9tYWlucyA9IG1hdGNoLT5kYXRhOworKwlpZiAo IWRvbWFpbnMpIHsKKysJCXByX2RlYnVnKCJQRE06IG5vIGRvbWFpbnNcbiIpOworKwkJcmV0dXJu IEVSUl9QVFIoLUVOT0RFVik7CisrCX0KKysKKysJZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKCpkYXRh KSwgR0ZQX0tFUk5FTCk7CisrCWlmICghZGF0YSkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0p OworKworKwlJTklUX0xJU1RfSEVBRCgmZGF0YS0+c2VydmljZXMpOworKworKwlyZXQgPSBxbWlf aGFuZGxlX2luaXQoJmRhdGEtPmhhbmRsZSwgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01B WF9MRU4sCisrCQkJICAgICAgTlVMTCwgcWNvbV9wZG1fbXNnX2hhbmRsZXJzKTsKKysJaWYgKHJl dCkgeworKwkJa2ZyZWUoZGF0YSk7CisrCQlyZXR1cm4gRVJSX1BUUihyZXQpOworKwl9CisrCisr CXJlZmNvdW50X3NldCgmZGF0YS0+cmVmY250LCAxKTsKKysKKysJZm9yIChpID0gMDsgZG9tYWlu c1tpXTsgaSsrKSB7CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfZG9tYWluKGRhdGEsIGRvbWFpbnNb aV0pOworKwkJaWYgKHJldCkKKysJCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldCA9IHFt aV9hZGRfc2VydmVyKCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfTE9DQVRPUl9TRVJWSUNFLAorKwkJ CSAgICAgU0VSVlJFR19RTUlfVkVSU0lPTiwgU0VSVlJFR19RTUlfSU5TVEFOQ0UpOworKwlpZiAo cmV0KSB7CisrCQlwcl9lcnIoIlBETTogZXJyb3IgYWRkaW5nIHNlcnZlciAlZFxuIiwgcmV0KTsK KysJCWdvdG8gZXJyX3N0b3A7CisrCX0KKysKKysJcmV0dXJuIGRhdGE7CisrCisrZXJyX3N0b3A6 CisrCXFjb21fcGRtX3N0b3AoZGF0YSk7CisrCisrCXJldHVybiBFUlJfUFRSKHJldCk7CisrfQor KworK3N0YXRpYyBpbnQgcWNvbV9wZG1fcHJvYmUoc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1 eGRldiwKKysJCQkgIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkICppZCkKKysKKyt7 CisrCXN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhOworKwlpbnQgcmV0ID0gMDsKKysKKysJbXV0 ZXhfbG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlpZiAoIV9fcWNvbV9wZG1fZGF0YSkgewor KwkJZGF0YSA9IHFjb21fcGRtX3N0YXJ0KCk7CisrCisrCQlpZiAoSVNfRVJSKGRhdGEpKQorKwkJ CXJldCA9IFBUUl9FUlIoZGF0YSk7CisrCQllbHNlCisrCQkJX19xY29tX3BkbV9kYXRhID0gZGF0 YTsKKysJfQorKworKwlhdXhpbGlhcnlfc2V0X2RydmRhdGEoYXV4ZGV2LCBfX3Fjb21fcGRtX2Rh dGEpOworKworKwltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJcmV0dXJuIHJl dDsKKyt9CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1fcmVtb3ZlKHN0cnVjdCBhdXhpbGlhcnlf ZGV2aWNlICphdXhkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysKKysJ ZGF0YSA9IGF1eGlsaWFyeV9nZXRfZHJ2ZGF0YShhdXhkZXYpOworKwlpZiAoIWRhdGEpCisrCQly ZXR1cm47CisrCisrCWlmIChyZWZjb3VudF9kZWNfYW5kX211dGV4X2xvY2soJmRhdGEtPnJlZmNu dCwgJnFjb21fcGRtX211dGV4KSkgeworKwkJX19xY29tX3BkbV9kYXRhID0gTlVMTDsKKysJCXFj b21fcGRtX3N0b3AoZGF0YSk7CisrCQltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysJ fQorK30KKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IGF1eGlsaWFyeV9kZXZpY2VfaWQgcWNvbV9w ZG1fdGFibGVbXSA9IHsKKysJeyAubmFtZSA9ICJxY29tX2NvbW1vbi5wZC1tYXBwZXIiIH0sCisr CXt9LAorK307CisrTU9EVUxFX0RFVklDRV9UQUJMRShhdXhpbGlhcnksIHFjb21fcGRtX3RhYmxl KTsKKysKKytzdGF0aWMgc3RydWN0IGF1eGlsaWFyeV9kcml2ZXIgcWNvbV9wZG1fZHJ2ID0gewor KwkubmFtZSA9ICJxY29tLXBkbS1tYXBwZXIiLAorKwkuaWRfdGFibGUgPSBxY29tX3BkbV90YWJs ZSwKKysJLnByb2JlID0gcWNvbV9wZG1fcHJvYmUsCisrCS5yZW1vdmUgPSBxY29tX3BkbV9yZW1v dmUsCisrfTsKKyttb2R1bGVfYXV4aWxpYXJ5X2RyaXZlcihxY29tX3BkbV9kcnYpOworKworK01P RFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIik7Cisr TU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNv bV9wZHJfbXNnLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitpbmRleCA5YjQ2 ZjQyYWExNDYuLmJmM2U0YTQ3MTY1ZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcWNv bV9wZHJfbXNnLmMKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK0BAIC0z MTUsNSArMzE1LDM5IEBAIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fj a19yZXNwX2VpW10gPSB7CisgfTsKKyBFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3NldF9hY2tf cmVzcF9laSk7CisgCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZy X3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVt X2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4 MDEsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHNl cnZpY2UpCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1f bGVuID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9mKGNo YXIpLAorKwkJLmFycmF5X3R5cGUgPSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlID0gMHgw MiwKKysJCS5vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSwgcmVh c29uKQorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZy X3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZy X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJVQ1QsCisrCQkuZWxl bV9sZW4gPSAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZl9maWVsZChzdHJ1Y3Qgc2VydnJlZ19s b2NfcGZyX3Jlc3AsIHJzcCksCisrCQkudGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS5laV9hcnJheSA9 IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1C T0xfR1BMKHNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpKTsKKysKKyBNT0RVTEVfTElDRU5TRSgiR1BM Iik7CisgTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNz YWdlcyBkYXRhIik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZA bGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDQgKzAzMDAKK1N1Ympl Y3Q6IFtQQVRDSCB2OSA1LzVdIHJlbW90ZXByb2M6IHFjb206IGVuYWJsZSBpbi1rZXJuZWwgUEQg bWFwcGVyCisKK1JlcXVlc3QgaW4ta2VybmVsIHByb3RlY3Rpb24gZG9tYWluIG1hcHBlciB0byBi ZSBzdGFydGVkIGJlZm9yZSBzdGFydGluZworUXVhbGNvbW0gRFNQIGFuZCByZWxlYXNlIGl0IG9u Y2UgRFNQIGlzIHN0b3BwZWQuIE9uY2UgYWxsIERTUHMgYXJlCitzdG9wcGVkLCB0aGUgUEQgbWFw cGVyIHdpbGwgYmUgc3RvcHBlZCB0b28uCisKK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNf Y2xld0BxdWljaW5jLmNvbT4KK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBr YWxpLm9yZz4KK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFy by5vcmc+ICMgb24gU004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8 ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fY29tbW9uLmMgICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggICAgfCAxMCArKysrKworIGRyaXZl cnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X21zcy5jICB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2 NV9wYXMuYyAgfCAgMyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jIHwg IDMgKysKKyA2IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX2NvbW1vbi5jCitpbmRleCAwM2U1ZjVkNTMzZWIuLjhjODY4OGY5OWYwYSAxMDA2NDQKKy0t LSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCisrKysgYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9jb21tb24uYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSA8bGludXgv bm90aWZpZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy5oPgorICNpbmNsdWRlIDxs aW51eC9yZW1vdGVwcm9jL3Fjb21fcnByb2MuaD4KKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5 X2J1cy5oPgorICNpbmNsdWRlIDxsaW51eC9ycG1zZy9xY29tX2dsaW5rLmg+CisgI2luY2x1ZGUg PGxpbnV4L3JwbXNnL3Fjb21fc21kLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KK0BAIC0y NSw2ICsyNiw3IEBACisgI2RlZmluZSB0b19nbGlua19zdWJkZXYoZCkgY29udGFpbmVyX29mKGQs IHN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rLCBzdWJkZXYpCisgI2RlZmluZSB0b19zbWRfc3ViZGV2 KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYsIHN1YmRldikKKyAj ZGVmaW5lIHRvX3Nzcl9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9j X3Nzciwgc3ViZGV2KQorKyNkZWZpbmUgdG9fcGRtX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwg c3RydWN0IHFjb21fcnByb2NfcGRtLCBzdWJkZXYpCisgCisgI2RlZmluZSBNQVhfTlVNX09GX1NT ICAgICAgICAgICAxMAorICNkZWZpbmUgTUFYX1JFR0lPTl9OQU1FX0xFTkdUSCAgMTYKK0BAIC01 MTksNSArNTIxLDkwIEBAIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnByb2Mg KnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcikKKyB9CisgRVhQT1JUX1NZTUJPTF9H UEwocWNvbV9yZW1vdmVfc3NyX3N1YmRldik7CisgCisrc3RhdGljIHZvaWQgcGRtX2Rldl9yZWxl YXNlKHN0cnVjdCBkZXZpY2UgKmRldikKKyt7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICph ZGV2ID0gdG9fYXV4aWxpYXJ5X2RldihkZXYpOworKworKwlrZnJlZShhZGV2KTsKKyt9CisrCisr c3RhdGljIGludCBwZG1fbm90aWZ5X3ByZXBhcmUoc3RydWN0IHJwcm9jX3N1YmRldiAqc3ViZGV2 KQorK3sKKysJc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0b19wZG1fc3ViZGV2KHN1YmRl dik7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2OworKwlpbnQgcmV0OworKworKwlh ZGV2ID0ga3phbGxvYyhzaXplb2YoKmFkZXYpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFhZGV2KQor KwkJcmV0dXJuIC1FTk9NRU07CisrCisrCWFkZXYtPmRldi5wYXJlbnQgPSBwZG0tPmRldjsKKysJ YWRldi0+ZGV2LnJlbGVhc2UgPSBwZG1fZGV2X3JlbGVhc2U7CisrCWFkZXYtPm5hbWUgPSAicGQt bWFwcGVyIjsKKysJYWRldi0+aWQgPSBwZG0tPmluZGV4OworKworKwlyZXQgPSBhdXhpbGlhcnlf ZGV2aWNlX2luaXQoYWRldik7CisrCWlmIChyZXQpIHsKKysJCWtmcmVlKGFkZXYpOworKwkJcmV0 dXJuIHJldDsKKysJfQorKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2FkZChhZGV2KTsKKysJ aWYgKHJldCkgeworKwkJYXV4aWxpYXJ5X2RldmljZV91bmluaXQoYWRldik7CisrCQlyZXR1cm4g cmV0OworKwl9CisrCisrCXBkbS0+YWRldiA9IGFkZXY7CisrCisrCXJldHVybiAwOworK30KKysK KysKKytzdGF0aWMgdm9pZCBwZG1fbm90aWZ5X3VucHJlcGFyZShzdHJ1Y3QgcnByb2Nfc3ViZGV2 ICpzdWJkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSA9IHRvX3BkbV9zdWJk ZXYoc3ViZGV2KTsKKysKKysJaWYgKCFwZG0tPmFkZXYpCisrCQlyZXR1cm47CisrCisrCWF1eGls aWFyeV9kZXZpY2VfZGVsZXRlKHBkbS0+YWRldik7CisrCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0 KHBkbS0+YWRldik7CisrCXBkbS0+YWRldiA9IE5VTEw7CisrfQorKworKy8qKgorKyAqIHFjb21f YWRkX3BkbV9zdWJkZXYoKSAtIHJlZ2lzdGVyIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnBy b2M6CXJwcm9jIGhhbmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysg KiBSZWdpc3RlciBAcGRtIHNvIHRoYXQgUHJvdGVjdGlvbiBEZXZpY2UgbWFwcGVyIHNlcnZpY2Ug aXMgc3RhcnRlZCB3aGVuIHRoZQorKyAqIERTUCBpcyBzdGFydGVkIHRvby4KKysgKi8KKyt2b2lk IHFjb21fYWRkX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnBy b2NfcGRtICpwZG0pCisreworKwlwZG0tPmRldiA9ICZycHJvYy0+ZGV2OworKwlwZG0tPmluZGV4 ID0gcnByb2MtPmluZGV4OworKworKwlwZG0tPnN1YmRldi5wcmVwYXJlID0gcGRtX25vdGlmeV9w cmVwYXJlOworKwlwZG0tPnN1YmRldi51bnByZXBhcmUgPSBwZG1fbm90aWZ5X3VucHJlcGFyZTsK KysKKysJcnByb2NfYWRkX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JU X1NZTUJPTF9HUEwocWNvbV9hZGRfcGRtX3N1YmRldik7CisrCisrLyoqCisrICogcWNvbV9yZW1v dmVfcGRtX3N1YmRldigpIC0gcmVtb3ZlIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6 CXJwcm9jIGhhbmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBS ZW1vdmUgdGhlIFBEIE1hcHBlciBzdWJkZXZpY2UuCisrICovCisrdm9pZCBxY29tX3JlbW92ZV9w ZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRt KQorK3sKKysJcnByb2NfcmVtb3ZlX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9Cisr RVhQT1JUX1NZTUJPTF9HUEwocWNvbV9yZW1vdmVfcGRtX3N1YmRldik7CisrCisgTU9EVUxFX0RF U0NSSVBUSU9OKCJRdWFsY29tbSBSZW1vdGVwcm9jIGhlbHBlciBkcml2ZXIiKTsKKyBNT0RVTEVf TElDRU5TRSgiR1BMIHYyIik7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f Y29tbW9uLmggYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAoraW5kZXggOWVmNDQ0 OTA1MmE5Li5iMDdmYmFhMDkxYTAgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNv bV9jb21tb24uaAorKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK0BAIC0z NCw2ICszNCwxMyBAQCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgeworIAlzdHJ1Y3QgcWNvbV9zc3Jf c3Vic3lzdGVtICppbmZvOworIH07CisgCisrc3RydWN0IHFjb21fcnByb2NfcGRtIHsKKysJc3Ry dWN0IHJwcm9jX3N1YmRldiBzdWJkZXY7CisrCXN0cnVjdCBkZXZpY2UgKmRldjsKKysJaW50IGlu ZGV4OworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKyt9OworKworIHZvaWQgcWNv bV9taW5pZHVtcChzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1bnNpZ25lZCBpbnQgbWluaWR1bXBfaWQs CisgCQkJdm9pZCAoKnJwcm9jX2R1bXBmbl90KShzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJCQlz dHJ1Y3QgcnByb2NfZHVtcF9zZWdtZW50ICpzZWdtZW50LCB2b2lkICpkZXN0LCBzaXplX3Qgb2Zm c2V0LAorQEAgLTUyLDYgKzU5LDkgQEAgdm9pZCBxY29tX2FkZF9zc3Jfc3ViZGV2KHN0cnVjdCBy cHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyLAorIAkJCSBjb25zdCBjaGFy ICpzc3JfbmFtZSk7Cisgdm9pZCBxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAq cnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyKTsKKyAKKyt2b2lkIHFjb21fYWRkX3Bk bV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0p OworK3ZvaWQgcWNvbV9yZW1vdmVfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSk7CisrCisgI2lmIElTX0VOQUJMRUQoQ09ORklHX1FDT01f U1lTTU9OKQorIHN0cnVjdCBxY29tX3N5c21vbiAqcWNvbV9hZGRfc3lzbW9uX3N1YmRldihzdHJ1 Y3QgcnByb2MgKnJwcm9jLAorIAkJCQkJICAgY29uc3QgY2hhciAqbmFtZSwKK2RpZmYgLS1naXQg YS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyBiL2RyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX3E2djVfYWRzcC5jCitpbmRleCAxZDI0YzliNjU2YTguLjU3MmRjYjBmMDU1YiAxMDA2 NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCisrKysgYi9kcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworQEAgLTExMiw2ICsxMTIsNyBAQCBzdHJ1 Y3QgcWNvbV9hZHNwIHsKKyAJc3RydWN0IGRldl9wbV9kb21haW5fbGlzdCAqcGRfbGlzdDsKKyAK KyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9y cHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7 CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTcyNiw2ICs3MjcsNyBAQCBz dGF0aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJCWdv dG8gZGlzYWJsZV9wbTsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+ Z2xpbmtfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnBy b2MsICZhZHNwLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJmFk c3AtPnNzcl9zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9h ZGRfc3lzbW9uX3N1YmRldihycHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAor QEAgLTc1NSw2ICs3NTcsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3JlbW92ZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQorIAorIAlxY29tX3E2djVfZGVpbml0KCZhZHNwLT5xNnY1KTsKKyAJ cWNvbV9yZW1vdmVfZ2xpbmtfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2 KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnBkbV9zdWJk ZXYpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21f cmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJcWNv bV9ycHJvY19wZHNfZGV0YWNoKGFkc3ApOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX3E2djVfbXNzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCitp bmRleCAxNzc5ZmM4OTBlMTAuLjJhNDIyMTVjZThlMCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfbXNzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfbXNzLmMKK0BAIC0yMjgsNiArMjI4LDcgQEAgc3RydWN0IHE2djUgeworIAorIAlzdHJ1Y3Qg cWNvbV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRl diBzbWRfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3Ry dWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lz bW9uOworIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpiYW1fZG11eDsKK0BAIC0yMTAyLDYgKzIx MDMsNyBAQCBzdGF0aWMgaW50IHE2djVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKKyAJcXByb2MtPm1iYV9wZXJtID0gQklUKFFDT01fU0NNX1ZNSURfSExPUyk7CisgCXFjb21f YWRkX2dsaW5rX3N1YmRldihycHJvYywgJnFwcm9jLT5nbGlua19zdWJkZXYsICJtcHNzIik7Cisg CXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2MsICZxcHJvYy0+c21kX3N1YmRldik7CisrCXFjb21f YWRkX3BkbV9zdWJkZXYocnByb2MsICZxcHJvYy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nz cl9zdWJkZXYocnByb2MsICZxcHJvYy0+c3NyX3N1YmRldiwgIm1wc3MiKTsKKyAJcXByb2MtPnN5 c21vbiA9IHFjb21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsICJtb2RlbSIsIDB4MTIpOworIAlp ZiAoSVNfRVJSKHFwcm9jLT5zeXNtb24pKSB7CitAQCAtMjE0Myw2ICsyMTQ1LDcgQEAgc3RhdGlj IHZvaWQgcTZ2NV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNvbV9x NnY1X2RlaW5pdCgmcXByb2MtPnE2djUpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KHFw cm9jLT5zeXNtb24pOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNz cl9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9z dWJkZXYpOworIAlxY29tX3JlbW92ZV9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJk ZXYpOworIAlxY29tX3JlbW92ZV9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3Vi ZGV2KTsKKyAKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5j IGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYworaW5kZXggODQ1OGJjZmU5ZTE5 Li44OGU3Yjg0ZjIyM2MgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1 X3Bhcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCitAQCAtMTEx LDYgKzExMSw3IEBAIHN0cnVjdCBxY29tX2Fkc3AgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19n bGluayBnbGlua19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2 OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnBy b2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAg LTc3Nyw2ICs3NzgsNyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xp bmtfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2Ms ICZhZHNwLT5zbWRfc3ViZGV2KTsKKysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJmFkc3At PnBkbV9zdWJkZXYpOworIAlhZHNwLT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJw cm9jLAorIAkJCQkJICAgICAgZGVzYy0+c3lzbW9uX25hbWUsCisgCQkJCQkgICAgICBkZXNjLT5z c2N0bF9pZCk7CitAQCAtODExLDYgKzgxMyw3IEBAIHN0YXRpYyB2b2lkIGFkc3BfcmVtb3ZlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihh ZHNwLT5ycHJvYywgJmFkc3AtPmdsaW5rX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9z dWJkZXYoYWRzcC0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihhZHNwLT5ycHJv YywgJmFkc3AtPnNtZF9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3AtPnJw cm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+ cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJYWRzcF9wZHNfZGV0YWNoKGFkc3AsIGFkc3At PnByb3h5X3BkcywgYWRzcC0+cHJveHlfcGRfY291bnQpOworIAlkZXZpY2VfaW5pdF93YWtldXAo YWRzcC0+ZGV2LCBmYWxzZSk7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f cTZ2NV93Y3NzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworaW5kZXgg OTRmNjhjOTE5ZWU2Li5lOTEzZGFiYWU5OTIgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X3djc3MuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93 Y3NzLmMKK0BAIC0xNDgsNiArMTQ4LDcgQEAgc3RydWN0IHE2djVfd2NzcyB7CisgCWJvb2wgcmVx dWlyZXNfZm9yY2Vfc3RvcDsKKyAKKyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3Vi ZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21f cnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgfTsKKyAKK0BAIC0xMDUyLDYgKzEwNTMsNyBAQCBzdGF0 aWMgaW50IHE2djVfd2Nzc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAkJ cmV0dXJuIHJldDsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmd2Nzcy0+Z2xp bmtfc3ViZGV2LCAicTZ3Y3NzIik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZ3Y3Nz LT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJndjc3MtPnNzcl9z dWJkZXYsICJxNndjc3MiKTsKKyAKKyAJaWYgKGRlc2MtPnNzY3RsX2lkKQorQEAgLTEwNzQsNiAr MTA3Niw3IEBAIHN0YXRpYyB2b2lkIHE2djVfd2Nzc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKKyAJc3RydWN0IHE2djVfd2NzcyAqd2NzcyA9IHJwcm9jLT5wcml2OworIAor IAlxY29tX3E2djVfZGVpbml0KCZ3Y3NzLT5xNnY1KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRl dihycHJvYywgJndjc3MtPnBkbV9zdWJkZXYpOworIAlycHJvY19kZWwocnByb2MpOworIH0KKyAK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni44 L3RlbXBsYXRlCmluZGV4IDBkYjY4ZjA0YmI2ZTIzLi5mOWZmODFiM2Q2OGQ2MiAxMDA2NDQKLS0t IGEvc3JjcGtncy9saW51eDYuOC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGludXg2LjgnCiBwa2du YW1lPWxpbnV4Ni44CiB2ZXJzaW9uPTYuOC4xMgotcmV2aXNpb249MQorcmV2aXNpb249Mgogc2hv cnRfZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmllcyki CiBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i R1BMLTIuMC1vbmx5IgoKRnJvbSAyNjhkNDE0NDM3OWQ1MWEzNGI5MjRmMDFlNjg3ZWQ0ZjcyYzg3 ZjM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxh Y2V2aW9sZXR0ZS5uZXQ+CkRhdGU6IFR1ZSwgMjUgSnVuIDIwMjQgMTk6MzY6MTggLTA0MDAKU3Vi amVjdDogW1BBVENIIDIvM10gbGludXg2Ljk6IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoK LS0tCiBzcmNwa2dzL2xpbnV4Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDgz ICstCiAuLi5kLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUx ICsrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlICAgICAgICAgICAg ICAgICAgICAgfCAgICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwg MjQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOS9wYXRj aGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNo CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDYuOS9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9z cmNwa2dzL2xpbnV4Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZwppbmRleCBmMTdjMDVmNzFjZTEw My4uNzA0MjhkNmRjOGUyZTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJt NjQtZG90Y29uZmlnCisrKyBiL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29uZmln CkBAIC0yLDcgKzIsNyBAQAogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1Qg RURJVC4KICMgTGludXgvYXJtNjQgNi45LjcgS2VybmVsIENvbmZpZ3VyYXRpb24KICMKLUNPTkZJ R19DQ19WRVJTSU9OX1RFWFQ9ImFhcmNoNjQtbGludXgtbXVzbC1nY2MgKEdDQykgMTMuMi4wIgor Q09ORklHX0NDX1ZFUlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1nbnUtZ2NjIChHQ0MpIDEzLjIu MCIKIENPTkZJR19DQ19JU19HQ0M9eQogQ09ORklHX0dDQ19WRVJTSU9OPTEzMDIwMAogQ09ORklH X0NMQU5HX1ZFUlNJT049MApAQCAtMjksNyArMjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5f VEFTSz15CiBDT05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RF U1QgaXMgbm90IHNldAogIyBDT05GSUdfV0VSUk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZF UlNJT049Il8xIgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJ T05fQVVUTyBpcyBub3Qgc2V0CiBDT05GSUdfQlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRf SU5JVD0iIgpAQCAtNjAyLDcgKzYwMiw3IEBAIENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklH X0RQTV9XQVRDSERPR19USU1FT1VUPTYwCiBDT05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5F UklDX0RPTUFJTlM9eQotIyBDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90 IHNldAorQ09ORklHX1dRX1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5F UklDX0RPTUFJTlNfU0xFRVA9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05G SUdfQ1BVX1BNPXkKQEAgLTIzNzksNyArMjM3OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJ R19SRUdNQVA9eQogQ09ORklHX1JFR01BUF9JMkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09O RklHX1JFR01BUF9TUE1JPW0KK0NPTkZJR19SRUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cx PW0KIENPTkZJR19SRUdNQVBfTU1JTz15CiBDT05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDQ3LDcg KzI0NDcsNyBAQCBDT05GSUdfQVJNX1NDTUlfVFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01Q TElBTkNFPXkKIENPTkZJR19BUk1fU0NNSV9QT1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBT eXN0ZW0gQ29udHJvbCBhbmQgTWFuYWdlbWVudCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklH X0FSTV9TQ1BJX1BST1RPQ09MPW0KK0NPTkZJR19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdf QVJNX1NERV9JTlRFUkZBQ0U9eQogQ09ORklHX0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1J SUQ9eQpAQCAtMjUwMyw3ICsyNTAzLDggQEAgQ09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJ R19RQ09NX1NDTT15CiAjIENPTkZJR19RQ09NX1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMg bm90IHNldAotIyBDT05GSUdfUUNPTV9RU0VFQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FT RUVDT009eQorQ09ORklHX1FDT01fUVNFRUNPTV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxj b21tIGZpcm13YXJlIGRyaXZlcnMKIAogQ09ORklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MjEs NyArNDkyMiw3IEBAIENPTkZJR19YSUxMWVVTQj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJ X0kyQ19PUFJFR0lPTj15CiBDT05GSUdfSTJDX0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09N UEFUIGlzIG5vdCBzZXQKK0NPTkZJR19JMkNfQ09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1t CiBDT05GSUdfSTJDX01VWD1tCiAKQEAgLTUxNTAsNyArNTE1MSw3IEBAIENPTkZJR19TUElfU0xB VkU9eQogQ09ORklHX1NQSV9TTEFWRV9USU1FPW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NP TlRST0w9bQogQ09ORklHX1NQSV9EWU5BTUlDPXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1J PXkKIENPTkZJR19TUE1JX0hJU0kzNjcwPW0KIENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBD T05GSUdfU1BNSV9NVEtfUE1JRj1tCkBAIC01MzIzLDcgKzUzMjQsNyBAQCBDT05GSUdfUElOQ1RS TF9TQTg3NzVQPW0KIENPTkZJR19QSU5DVFJMX1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcy ODA9bQogQ09ORklHX1BJTkNUUkxfU0M4MTgwWD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1t CitDT05GSUdfUElOQ1RSTF9TQzgyODBYUD15CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBu b3Qgc2V0CiBDT05GSUdfUElOQ1RSTF9TRE02NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0K QEAgLTUzNDEsNyArNTM0Miw3IEBAIENPTkZJR19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElO Q1RSTF9TTTg1NTA9bQogIyBDT05GSUdfUElOQ1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05G SUdfUElOQ1RSTF9YMUU4MDEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlf UE1JQz1tCitDT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9R Q09NX1NTQklfUE1JQz1tCiBDT05GSUdfUElOQ1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElO Q1RSTF9TQzcyODBfTFBBU1NfTFBJIGlzIG5vdCBzZXQKQEAgLTU5MzgsMTIgKzU5MzksMTMgQEAg Q09ORklHX1RIRVJNQUxfT0Y9eQogQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNF PXkKICMgQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAj IENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05G SUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9QT1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05G SUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9CQU5HX0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJN QUxfR09WX0ZBSVJfU0hBUkU9eQogQ09ORklHX1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05G SUdfVEhFUk1BTF9HT1ZfQkFOR19CQU5HPXkKIENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNF PXkKLSMgQ09ORklHX1RIRVJNQUxfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05G SUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxMT0NBVE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBD T05GSUdfQ1BVX0ZSRVFfVEhFUk1BTD15CiAjIENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5v dCBzZXQKQEAgLTYwMDEsNyArNjAwMyw3IEBAIENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0K ICMKIENPTkZJR19RQ09NX1RTRU5TPW0KIENPTkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENP TkZJR19RQ09NX1NQTUlfVEVNUF9BTEFSTSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RF TVBfQUxBUk09bQogQ09ORklHX1FDT01fTE1IPW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwg ZHJpdmVycwogCkBAIC02MDQwLDcgKzYwNDIsNyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0K IENPTkZJR19aSUlSQVZFX1dBVENIRE9HPW0KIENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4 Q1BMRF9XQVRDSERPRz1tCi0jIENPTkZJR19BUk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAor Q09ORklHX0FSTV9TUDgwNV9XQVRDSERPRz15CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQog Q09ORklHX0FSTUFEQV8zN1hYX1dBVENIRE9HPW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0K QEAgLTYwNTMsNyArNjA1NSw3IEBAIENPTkZJR19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dE VD1tCiBDT05GSUdfSU1YN1VMUF9XRFQ9bQogQ09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09O RklHX1FDT01fV0RUIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05f R1hCQl9XQVRDSERPRz1tCiBDT05GSUdfTUVTT05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVL X1dBVENIRE9HPW0KQEAgLTkzNjgsNyArOTM3MCw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9 bQogQ09ORklHX1NDU0lfVUZTSENEX1BMQVRGT1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BM QVRGT1JNPW0KICMgQ09ORklHX1NDU0lfVUZTX0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0j IENPTkZJR19TQ1NJX1VGU19RQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0K IENPTkZJR19TQ1NJX1VGU19NRURJQVRFSz1tCiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05G SUdfU0NTSV9VRlNfRVhZTk9TPW0KQEAgLTEwMzkyLDcgKzEwMzk0LDcgQEAgQ09ORklHX1FDTV9H Q0NfMjI5MD1tCiBDT05GSUdfUUNTX0dDQ180MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQog Q09ORklHX1NDX0NBTUNDXzcyODA9bQotIyBDT05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBz ZXQKK0NPTkZJR19TQ19DQU1DQ184MjgwWFA9bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENP TkZJR19TQ19ESVNQQ0NfNzI4MD1tCiBDT05GSUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDQw NCw5ICsxMDQwNiw5IEBAIENPTkZJR19TQ19HQ0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184Mjgw WFA9bQogQ09ORklHX1NDX0dQVUNDXzcxODA9bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBD T05GSUdfU0NfR1BVQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9 bQogQ09ORklHX1NDX0xQQVNTQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBp cyBub3Qgc2V0CitDT05GSUdfU0NfTFBBU1NDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NP UkVDQ183MTgwPW0KIENPTkZJR19TQ19MUEFTU19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfVklE RU9DQ183MTgwPW0KQEAgLTEwNDYzLDcgKzEwNDY1LDcgQEAgQ09ORklHX1NNX1RDU1JDQ184NTUw PW0KICMgQ09ORklHX1NNX1RDU1JDQ184NjUwIGlzIG5vdCBzZXQKIENPTkZJR19TTV9WSURFT0ND XzgxNTA9bQogQ09ORklHX1NNX1ZJREVPQ0NfODI1MD1tCi0jIENPTkZJR19TTV9WSURFT0NDXzgz NTAgaXMgbm90IHNldAorQ09ORklHX1NNX1ZJREVPQ0NfODM1MD1tCiAjIENPTkZJR19TTV9WSURF T0NDXzg1NTAgaXMgbm90IHNldAogQ09ORklHX1NQTUlfUE1JQ19DTEtESVY9bQogQ09ORklHX1FD T01fSEZQTEw9bQpAQCAtMTA1NDEsNyArMTA1NDMsNyBAQCBDT05GSUdfVElNRVJfSU1YX1NZU19D VFI9eQogIyBlbmQgb2YgQ2xvY2sgU291cmNlIGRyaXZlcnMKIAogQ09ORklHX01BSUxCT1g9eQot IyBDT05GSUdfQVJNX01IVSBpcyBub3Qgc2V0CitDT05GSUdfQVJNX01IVT15CiBDT05GSUdfQVJN X01IVV9WMj1tCiBDT05GSUdfSU1YX01CT1g9bQogQ09ORklHX1BMQVRGT1JNX01IVT1tCkBAIC0x MDU4Myw4ICsxMDU4NSw4IEBAIENPTkZJR19JT01NVV9JT19QR1RBQkxFX0RBUlQ9eQogCiAjIENP TkZJR19JT01NVV9ERUJVR0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1B X1NUUklDVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9MQVpZIGlzIG5v dCBzZXQKLUNPTkZJR19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdIPXkKK0NPTkZJR19JT01NVV9E RUZBVUxUX0RNQV9MQVpZPXkKKyMgQ09ORklHX0lPTU1VX0RFRkFVTFRfUEFTU1RIUk9VR0ggaXMg bm90IHNldAogQ09ORklHX09GX0lPTU1VPXkKIENPTkZJR19JT01NVV9ETUE9eQogQ09ORklHX0lP TU1VX1NWQT15CkBAIC0xMDc0NCw3ICsxMDc0Niw5IEBAIENPTkZJR19RQ09NX0xMQ0M9bQogQ09O RklHX1FDT01fS1JZT19MMl9BQ0NFU1NPUlM9eQogQ09ORklHX1FDT01fTURUX0xPQURFUj1tCiBD T05GSUdfUUNPTV9PQ01FTT1tCitDT05GSUdfUUNPTV9QRF9NQVBQRVI9bQogQ09ORklHX1FDT01f UERSX0hFTFBFUlM9bQorQ09ORklHX1FDT01fUERSX01TRz1tCiAjIENPTkZJR19RQ09NX1BNSUNf UERDSEFSR0VSX1VMT0cgaXMgbm90IHNldAogQ09ORklHX1FDT01fUE1JQ19HTElOSz1tCiBDT05G SUdfUUNPTV9RTUlfSEVMUEVSUz1tCkBAIC0xMTk5MCw3ICsxMTk5NCw0MCBAQCBDT05GSUdfSU5U RVJDT05ORUNUX0lNWDhNTT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNTj1tCiBDT05GSUdf SU5URVJDT05ORUNUX0lNWDhNUT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNUD1tCi0jIENP TkZJR19JTlRFUkNPTk5FQ1RfUUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FD T009eQorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX0JDTV9WT1RFUj15CisjIENPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTV9NU004OTA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX01TTTg5MTYgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkz OSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBz ZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX09TTV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9R Q00yMjkwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBu b3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NP TkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9SUE1IPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90 IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNP Tk5FQ1RfUUNPTV9TQzgxODBYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9T QzgyODBYUD15CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NETTg0NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9TRFg1NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBp cyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0Cisj IENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5U RVJDT05ORUNUX1FDT01fU002MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NNNzE1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgxNTAg aXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MjUwIGlzIG5vdCBzZXQK KyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TTTg0NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU004NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODY1 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9YMUU4MDEwMCBpcyBub3Qg c2V0CiBDT05GSUdfSU5URVJDT05ORUNUX1NBTVNVTkc9eQogQ09ORklHX0lOVEVSQ09OTkVDVF9F WFlOT1M9bQogQ09ORklHX0lOVEVSQ09OTkVDVF9DTEs9bQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aW51eDYuOS9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVu dGF0aW9uLnBhdGNoIGIvc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1r ZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi43OTRhYzJmMmQ3N2Y5MgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbGludXg2LjkvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBl ci1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMCwwICsxLDE5NTEgQEAKK2h0dHBzOi8vcGF0Y2h3 b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1hcm0tbXNtL2NvdmVyLzIwMjQwNjIyLXFjb20t cGQtbWFwcGVyLXY5LTAtYTg0ZWUzNTkxYzhlQGxpbmFyby5vcmcvCisKK2FjY2VwdGVkIHVwc3Ry ZWFtLCBleHBlY3RlZCBtYWlubGluZSBpbiA2LjExCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3Yg PGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6 MDM6NDAgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAxLzVdIHNvYzogcWNvbTogcGRyOiBwcm90 ZWN0IGxvY2F0b3JfYWRkciB3aXRoIHRoZSBtYWluCisgbXV0ZXgKKworSWYgdGhlIHNlcnZpY2Ug bG9jYXRvciBzZXJ2ZXIgaXMgcmVzdGFydGVkIGZhc3QgZW5vdWdoLCB0aGUgUERSIGNhbgorcmV3 cml0ZSBsb2NhdG9yX2FkZHIgZmllbGRzIGNvbmN1cnJlbnRseS4gUHJvdGVjdCB0aGVtIGJ5IHBs YWNpbmcKK21vZGlmaWNhdGlvbiBvZiB0aG9zZSBmaWVsZHMgdW5kZXIgdGhlIG1haW4gcGRyLT5s b2NrLgorCitGaXhlczogZmJlNjM5YjQ0YTgyICgic29jOiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVj dGlvbiBEb21haW4gUmVzdGFydCBoZWxwZXJzIikKK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcg PG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFSRAorVGVzdGVkLWJ5OiBT dGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlu bmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorU2lnbmVkLW9mZi1ieTogRG1p dHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6 IENocmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorLS0tCisgZHJpdmVycy9zb2MvcWNv bS9wZHJfaW50ZXJmYWNlLmMgfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcmZhY2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitpbmRleCBh MWI2YTQwODFkZWEuLjc2YTYyYzJlY2M1OCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20v cGRyX2ludGVyZmFjZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYwor QEAgLTc2LDEyICs3NiwxMiBAQCBzdGF0aWMgaW50IHBkcl9sb2NhdG9yX25ld19zZXJ2ZXIoc3Ry dWN0IHFtaV9oYW5kbGUgKnFtaSwKKyAJCQkJCSAgICAgIGxvY2F0b3JfaGRsKTsKKyAJc3RydWN0 IHBkcl9zZXJ2aWNlICpwZHM7CisgCisrCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCS8qIENy ZWF0ZSBhIGxvY2FsIGNsaWVudCBwb3J0IGZvciBRTUkgY29tbXVuaWNhdGlvbiAqLworIAlwZHIt PmxvY2F0b3JfYWRkci5zcV9mYW1pbHkgPSBBRl9RSVBDUlRSOworIAlwZHItPmxvY2F0b3JfYWRk ci5zcV9ub2RlID0gc3ZjLT5ub2RlOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9wb3J0ID0gc3Zj LT5wb3J0OworIAorLQltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlwZHItPmxvY2F0b3JfaW5p dF9jb21wbGV0ZSA9IHRydWU7CisgCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKK0BAIC0x MDQsMTAgKzEwNCwxMCBAQCBzdGF0aWMgdm9pZCBwZHJfbG9jYXRvcl9kZWxfc2VydmVyKHN0cnVj dCBxbWlfaGFuZGxlICpxbWksCisgCisgCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCXBkci0+ bG9jYXRvcl9pbml0X2NvbXBsZXRlID0gZmFsc2U7CistCW11dGV4X3VubG9jaygmcGRyLT5sb2Nr KTsKKyAKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3Ffbm9kZSA9IDA7CisgCXBkci0+bG9jYXRvcl9h ZGRyLnNxX3BvcnQgPSAwOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgfQorIAorIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX29wcyBwZHJfbG9jYXRvcl9vcHMgPSB7CitAQCAtMzY1LDEy ICszNjUsMTQgQEAgc3RhdGljIGludCBwZHJfZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXEgKnJlcSwKKyAJaWYgKHJldCA8IDApCisgCQlyZXR1cm4gcmV0 OworIAorKwltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlyZXQgPSBxbWlfc2VuZF9yZXF1ZXN0 KCZwZHItPmxvY2F0b3JfaGRsLAorIAkJCSAgICAgICAmcGRyLT5sb2NhdG9yX2FkZHIsCisgCQkJ ICAgICAgICZ0eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKyAJCQkgICAgICAgU0VS VlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01BWF9MRU4sCisgCQkJICAgICAgIHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3JlcV9laSwKKyAJCQkgICAgICAgcmVxKTsKKysJbXV0ZXhfdW5sb2NrKCZw ZHItPmxvY2spOworIAlpZiAocmV0IDwgMCkgeworIAkJcW1pX3R4bl9jYW5jZWwoJnR4bik7Cisg CQlyZXR1cm4gcmV0OworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292 QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQxICswMzAwCitTdWJq ZWN0OiBbUEFUQ0ggdjkgMi81XSBzb2M6IHFjb206IHBkcjogZml4IHBhcnNpbmcgb2YgZG9tYWlu cyBsaXN0cworCitXaGlsZSBwYXJzaW5nIHRoZSBkb21haW5zIGxpc3QsIHN0YXJ0IG9mZnNldHMg ZnJvbSAwIHJhdGhlciB0aGFuIGZyb20KK2RvbWFpbnNfcmVhZC4gVGhlIGRvbWFpbnNfcmVhZCBp cyBlcXVhbCB0byB0aGUgdG90YWwgY291bnQgb2YgdGhlCitkb21haW5zIHdlIGhhdmUgc2Vlbiwg d2hpbGUgdGhlIGRvbWFpbnMgbGlzdCBpbiB0aGUgbWVzc2FnZSBzdGFydHMgZnJvbQorb2Zmc2V0 IDAuCisKK0ZpeGVzOiBmYmU2MzliNDRhODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0 aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdz a2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhl eW1pbkBwb3N0bWFya2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExldyA8cXVpY19jbGV3 QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdA bGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNo a292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29t L3Bkcl9pbnRlcmZhY2UuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVy ZmFjZS5jIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IDc2YTYyYzJl Y2M1OC4uMjE2MTY2ZTk4ZmFlIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJmYWNlLmMKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNDE3 LDcgKzQxNyw3IEBAIHN0YXRpYyBpbnQgcGRyX2xvY2F0ZV9zZXJ2aWNlKHN0cnVjdCBwZHJfaGFu ZGxlICpwZHIsIHN0cnVjdCBwZHJfc2VydmljZSAqcGRzKQorIAkJaWYgKHJldCA8IDApCisgCQkJ Z290byBvdXQ7CisgCistCQlmb3IgKGkgPSBkb21haW5zX3JlYWQ7IGkgPCByZXNwLT5kb21haW5f bGlzdF9sZW47IGkrKykgeworKwkJZm9yIChpID0gMDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xl bjsgaSsrKSB7CisgCQkJZW50cnkgPSAmcmVzcC0+ZG9tYWluX2xpc3RbaV07CisgCisgCQkJaWYg KHN0cm5sZW4oZW50cnktPm5hbWUsIHNpemVvZihlbnRyeS0+bmFtZSkpID09IHNpemVvZihlbnRy eS0+bmFtZSkpCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGlu YXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDIgKzAzMDAKK1N1YmplY3Q6 IFtQQVRDSCB2OSAzLzVdIHNvYzogcWNvbTogcGRyOiBleHRyYWN0IFBEUiBtZXNzYWdlIG1hcnNo YWxsaW5nCisgZGF0YQorCitUaGUgaW4ta2VybmVsIFBEIG1hcHBlciBpcyBnb2luZyB0byB1c2Ug c2FtZSBtZXNzYWdlIHN0cnVjdHVyZXMgYXMgdGhlCitRQ09NX1BEUl9IRUxQRVJTIG1vZHVsZS4g RXh0cmFjdCBtZXNzYWdlIG1hcnNoYWxsaW5nIGRhdGEgdG8gc2VwYXJhdGUKK21vZHVsZSB0aGF0 IGNhbiBiZSB1c2VkIGJ5IGJvdGggUERSIGhlbHBlcnMgYW5kIGJ5IFBEIG1hcHBlci4KKworUmV2 aWV3ZWQtYnk6IEJyeWFuIE8nRG9ub2dodWUgPGJyeWFuLm9kb25vZ2h1ZUBsaW5hcm8ub3JnPgor VGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5 OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorVGVzdGVk LWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1 NTAtUVJECitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292 QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgIHwgICA0 ICsKKyBkcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgIHwgICAxICsKKyBkcml2ZXJzL3Nv Yy9xY29tL3Bkcl9pbnRlcm5hbC5oIHwgMzA2ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyB8IDMxOSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAzMzQg aW5zZXJ0aW9ucygrKSwgMjk2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9LY29uZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA1YWYzM2Iw ZTM0NzAuLjk1OTczYzZiODI4ZiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZp ZworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzUsOCArNzUsMTIgQEAgY29u ZmlnIFFDT01fT0NNRU0KKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQorIAlz ZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworKwlzZWxlY3QgUUNPTV9QRFJfTVNHCisgCWRlcGVuZHMg b24gTkVUCisgCisrY29uZmlnIFFDT01fUERSX01TRworKwl0cmlzdGF0ZQorKworIGNvbmZpZyBR Q09NX1BNSUNfUERDSEFSR0VSX1VMT0cKKyAJdHJpc3RhdGUgIlF1YWxjb21tIFBNSUMgUERDaGFy Z2VyIFVMT0cgZHJpdmVyIgorIAlkZXBlbmRzIG9uIFJQTVNHCitkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zb2MvcWNvbS9NYWtlZmlsZSBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IGNh MGJlY2UwZGZmZi4uMzExMGFjMzI4OGJjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9N YWtlZmlsZQorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorQEAgLTgsNiArOCw3IEBA IG9iai0kKENPTkZJR19RQ09NX0dTQkkpCSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FD T01fTURUX0xPQURFUikJKz0gbWR0X2xvYWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0p CSs9IG9jbWVtLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfSEVMUEVSUykJKz0gcGRyX2ludGVy ZmFjZS5vCisrb2JqLSQoQ09ORklHX1FDT01fUERSX01TRykJKz0gcWNvbV9wZHJfbXNnLm8KKyBv YmotJChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rLm8KKyBvYmotJChDT05G SUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rX2FsdG1vZGUubworIG9iai0kKENPTkZJ R19RQ09NX1BNSUNfUERDSEFSR0VSX1VMT0cpCSs9IHBtaWNfcGRjaGFyZ2VyX3Vsb2cubworZGlm ZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJzL3NvYy9x Y29tL3Bkcl9pbnRlcm5hbC5oCitpbmRleCAwM2MyODJiN2YxN2UuLjdlNWJiNWE5NTI3NSAxMDA2 NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2RyaXZlcnMv c29jL3Fjb20vcGRyX2ludGVybmFsLmgKK0BAIC0yOCw4MyArMjgsMTIgQEAgc3RydWN0IHNlcnZy ZWdfbG9jYXRpb25fZW50cnkgeworIAl1MzIgaW5zdGFuY2U7CisgfTsKKyAKKy1zdGF0aWMgY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdID0gewor LQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAg ID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo Y2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0g MCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9u X2VudHJ5LAorLQkJCQkJICAgbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJ LnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgaW5zdGFuY2UpLAorLQl9LAorLQl7 CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVsZW1fbGVu ICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAg c2VydmljZV9kYXRhX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGEpLAorLQl9LAorLQl7 fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSB7CisgCWNoYXIg c2VydmljZV9uYW1lW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTggZG9tYWluX29mZnNl dF92YWxpZDsKKyAJdTMyIGRvbWFpbl9vZmZzZXQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW10gPSB7Cist CXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAg PSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihj aGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw eDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2Rv bWFpbl9saXN0X3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfbmFtZSksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgZG9tYWlu X29mZnNldF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJ R05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBl ICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0KSwKKy0JfSwK Ky0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwIHsKKyAJ c3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCB0b3RhbF9kb21haW5zX3Zh bGlkOworQEAgLTExNiwyNjQgKzQ1LDQ5IEBAIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwIHsKKyAJc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgZG9tYWluX2xpc3RbU0VS VlJFR19ET01BSU5fTElTVF9MRU5HVEhdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3Yw MSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgw MiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9IHFtaV9y ZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCist CX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQku ZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCist CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0J CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWlucyksCistCX0sCistCXsKKy0JCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MTEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRiX3Jldl9jb3Vu dF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8y X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHUxNiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgxMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50KSwKKy0JfSwKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0g MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAg ZG9tYWluX2xpc3RfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf REFUQV9MRU4sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf Z2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorLQl9LAor LQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAg ID0gU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkpLAorLQkJLmFycmF5X3R5cGUJPSBWQVJf TEVOX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJ ICAgZG9tYWluX2xpc3QpLAorLQkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2Vu dHJ5X2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlz dGVuZXJfcmVxIHsKKyAJdTggZW5hYmxlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05B TUVfTEVOR1RIICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCistCQkJCQkgICBl bmFibGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJ LmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCks CistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCBjdXJyX3N0 YXRlX3ZhbGlkOworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOworIH07 CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJf bGlzdGVuZXJfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS VUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKy0JCQkJCSAgIHJl c3ApLAorLQkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0s CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAg ICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAor LQkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlKSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVu ZXJfcmVzcCwKKy0JCQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7fQorLX07CistCisgc3Ry dWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEgeworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVH X05BTUVfTEVOR1RIICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xF TkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxLAorLQkJCQkJ ICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jl c3RhcnRfcGRfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyB9 OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRf cGRfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAor LQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1 Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlf YXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19Owor LQorIHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kIHsKKyAJZW51bSBzZXJ2cmVnX3Nl cnZpY2Vfc3RhdGUgY3Vycl9zdGF0ZTsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1F X0xFTkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0g eworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorLQkJ LmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCist CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVk X2luZCwKKy0JCQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdU SCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJ ICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VO U0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDAzLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCistCX0s CistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSB7CisgCWNoYXIgc2Vy dmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTE2IHRyYW5zYWN0aW9uX2lk OworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0 X2Fja19yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywK Ky0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0s CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxl bV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJ CQkJICAgdHJhbnNhY3Rpb25faWQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZy ZWdfc2V0X2Fja19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOwor IH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fj a19yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVj dCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJh eSAgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19OworK2V4 dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2Vp W107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW107CisrZXh0ZXJuIGNv bnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcF9l aVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRf cGRfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf cmVzdGFydF9wZF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVzcF9laVtdOworIAorICNlbmRpZgor ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2ZXJzL3Nv Yy9xY29tL3Fjb21fcGRyX21zZy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMDAwLi45YjQ2ZjQyYWExNDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fj b20vcWNvbV9wZHJfbXNnLmMKK0BAIC0wLDAgKzEsMzE5IEBACisrLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAKKysvKgorKyAqIENvcHlyaWdodCAoQykgMjAyMCBUaGUgTGludXgg Rm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGlu dXgvbW9kdWxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKworKyNpbmNs dWRlICJwZHJfaW50ZXJuYWwuaCIKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFN SV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBuYW1lKSwKKysJ fSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisr CQkJCQkgICBpbnN0YW5jZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9V TlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5 cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorKwl9LAor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJ CSAgIHNlcnZpY2VfZGF0YSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChz ZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9M RU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAor KwkJCQkJICAgc2VydmljZV9uYW1lKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwK KysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJ CS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwK KysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcSwKKysJCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorKwl9LAorKwl7fQorK307CisrRVhQ T1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpKTsKKysKKytjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW10g PSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9u c2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAg ICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnNf dmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9C WVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9 IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnMpLAorKwl9LAorKwl7Cisr CQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorKwkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBk Yl9yZXZfY291bnRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf VU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZf dHlwZSAgICAgICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudCksCisr CX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xl biAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwK KysJCQkJCSAgIGRvbWFpbl9saXN0X3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX0RBVEFfTEVOLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfbGVu KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVt X2xlbiAgICAgICA9IFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RILAorKwkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5KSwKKysJCS5hcnJheV90 eXBlCT0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVz cCwKKysJCQkJCSAgIGRvbWFpbl9saXN0KSwKKysJCS5laV9hcnJheSAgICAgID0gc2VydnJlZ19s b2NhdGlvbl9lbnRyeV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW10gPSB7CisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAg PSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorKwkJCQkJ ICAgZW5hYmxlKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywK KysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3Bh dGgpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwK KysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92 MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJ CS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0 ZW5lcl9yZXNwLAorKwkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCisrCX0sCisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNl X3N0YXRlKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVn aXN0ZXJfbGlzdGVuZXJfcmVzcCwKKysJCQkJCSAgIGN1cnJfc3RhdGUpLAorKwl9LAorKwl7fQor K307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2Vp KTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVx X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxl bV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5 cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfcmVzdGFydF9wZF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7 fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9laSk7Cisr CisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlb XSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xl biAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNw b25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3Jlc3RhcnRfcGRfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAg PSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorKwkJLmVsZW1fbGVuICAg ICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJ CSAgIGN1cnJfc3RhdGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS SU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgc2VydmljZV9w YXRoKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllU RSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTE2KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw eDAzLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVf dXBkYXRlZF9pbmQsCisrCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCisrCX0sCisrCXt9CisrfTsK KytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpKTsKKysKKytj b25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW10gPSB7Cisr CXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAg PSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw eDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fj a19yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJ CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHRyYW5zYWN0aW9uX2lk KSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0X2Fja19y ZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19y ZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQku ZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBx bWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9hcnJheSAg ICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9S VF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKysKKytNT0RVTEVfTElDRU5T RSgiR1BMIik7CisrTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFp biBtZXNzYWdlcyBkYXRhIik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5 c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDMgKzAzMDAK K1N1YmplY3Q6IFtQQVRDSCB2OSA0LzVdIHNvYzogcWNvbTogYWRkIHBkLW1hcHBlciBpbXBsZW1l bnRhdGlvbgorCitFeGlzdGluZyB1c2Vyc3BhY2UgcHJvdGVjdGlvbiBkb21haW4gbWFwcGVyIGlt cGxlbWVudGF0aW9uIGhhcyBzZXZlcmFsCitpc3N1ZS4gSXQgZG9lc24ndCBwbGF5IHdlbGwgd2l0 aCBDT05GSUdfRVhUUkFfRklSTVdBUkUsIGl0IGRvZXNuJ3QKK3JlcmVhZCBKU09OIGZpbGVzIGlm IGZpcm13YXJlIGxvY2F0aW9uIGlzIGNoYW5nZWQgKG9yIGlmIGZpcm13YXJlIHdhcworbm90IGF2 YWlsYWJsZSBhdCB0aGUgdGltZSBwZC1tYXBwZXIgd2FzIHN0YXJ0ZWQgYnV0IHRoZSBjb3JyZXNw b25kaW5nCitkaXJlY3RvcnkgaXMgbW91bnRlZCBsYXRlciksIGV0Yy4KKworUHJvdmlkZSBpbi1r ZXJuZWwgc2VydmljZSBpbXBsZW1lbnRpbmcgcHJvdGVjdGlvbiBkb21haW4gbWFwcGluZworcmVx dWlyZWQgdG8gd29yayB3aXRoIHNldmVyYWwgc2VydmljZXMsIHdoaWNoIGFyZSBwcm92aWRlZCBi eSB0aGUgRFNQCitmaXJtd2FyZS4KKworVGhpcyBtb2R1bGUgaXMgbG9hZGVkIGF1dG9tYXRpY2Fs bHkgYnkgdGhlIHJlbW90ZXByb2MgZHJpdmVycyB3aGVuCituZWNlc3NhcnkgdmlhIHRoZSBzeW1i b2wgZGVwZW5kZW5jeS4gSXQgdXNlcyBhIHJvb3Qgbm9kZSB0byBtYXRjaCBhCitwcm90ZWN0aW9u IGRvbWFpbnMgbWFwIGZvciBhIHBhcnRpY3VsYXIgYm9hcmQuIEl0IGlzIG5vdCBwb3NzaWJsZSB0 bworaW1wbGVtZW50IGl0IGFzIGEgJ2RyaXZlcicgYXMgdGhlcmUgaXMgbm8gY29ycmVzcG9uZGlu ZyBkZXZpY2UuCisKK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9y Zz4KK1Rlc3RlZC1ieTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9z Lm9yZz4KK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5jLmNvbT4KK1Rl c3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24g U004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlz aGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnICAgICAgICAg IHwgIDExICsKKyBkcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgICAgfCAgIDEgKworIGRy aXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggICB8ICAxNCArCisgZHJpdmVycy9zb2MvcWNv bS9xY29tX3BkX21hcHBlci5jIHwgNjc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyAgIHwgIDM0ICsrCisgNSBm aWxlcyBjaGFuZ2VkLCA3MzYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9LY29uZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA5NTk3M2M2 YjgyOGYuLjBhMmYyYmZkNzg2MyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZp ZworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzIsNiArNzIsMTcgQEAgY29u ZmlnIFFDT01fT0NNRU0KKyAJICByZXF1aXJlbWVudHMuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQg YnkgdGhlIEdQVSwgY2FtZXJhL3ZpZGVvLCBhbmQKKyAJICBhdWRpbyBjb21wb25lbnRzIG9uIHNv bWUgU25hcGRyYWdvbiBTb0NzLgorIAorK2NvbmZpZyBRQ09NX1BEX01BUFBFUgorKwl0cmlzdGF0 ZSAiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIgorKwlzZWxlY3QgUUNPTV9RTUlf SEVMUEVSUworKwlkZXBlbmRzIG9uIE5FVCAmJiBRUlRSCisrCWRlZmF1bHQgUUNPTV9SUFJPQ19D T01NT04KKysJaGVscAorKwkgIFRoZSBQcm90ZWN0aW9uIERvbWFpbiBNYXBwZXIgbWFwcyByZWdp c3RlcmVkIHNlcnZpY2VzIHRvIHRoZSBkb21haW5zCisrCSAgYW5kIGluc3RhbmNlcyBoYW5kbGVk IGJ5IHRoZSByZW1vdGUgRFNQcy4gVGhpcyBpcyBhIGtlcm5lbC1zcGFjZQorKwkgIGltcGxlbWVu dGF0aW9uIG9mIHRoZSBzZXJ2aWNlLiBJdCBpcyBhIHNpbXBsZXIgYWx0ZXJuYXRpdmUgdG8gdGhl CisrCSAgdXNlcnNwYWNlIGRhZW1vbi4KKysKKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0 cmlzdGF0ZQorIAlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworZGlmZiAtLWdpdCBhL2RyaXZlcnMv c29jL3Fjb20vTWFrZWZpbGUgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitpbmRleCAzMTEw YWMzMjg4YmMuLmQzNTYwZjg2MTA4NSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vTWFr ZWZpbGUKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK0BAIC03LDYgKzcsNyBAQCBv YmotJChDT05GSUdfUUNPTV9DT01NQU5EX0RCKSArPSBjbWQtZGIubworIG9iai0kKENPTkZJR19R Q09NX0dTQkkpCSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xPQURFUikJ Kz0gbWR0X2xvYWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVtLm8KKytv YmotJChDT05GSUdfUUNPTV9QRF9NQVBQRVIpCSs9IHFjb21fcGRfbWFwcGVyLm8KKyBvYmotJChD T05GSUdfUUNPTV9QRFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisgb2JqLSQoQ09ORklH X1FDT01fUERSX01TRykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlD X0dMSU5LKQkrPSBwbWljX2dsaW5rLm8KK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcm5hbC5oIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAoraW5kZXggN2U1 YmI1YTk1Mjc1Li44ZDE3ZjdmYjc5ZTcgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcm5hbC5oCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitAQCAt MTMsNiArMTMsOCBAQAorICNkZWZpbmUgU0VSVlJFR19TRVRfQUNLX1JFUQkJCQkweDIzCisgI2Rl ZmluZSBTRVJWUkVHX1JFU1RBUlRfUERfUkVRCQkJCTB4MjQKKyAKKysjZGVmaW5lIFNFUlZSRUdf TE9DX1BGUl9SRVEJCQkJMHgyNAorKworICNkZWZpbmUgU0VSVlJFR19ET01BSU5fTElTVF9MRU5H VEgJCQkzMgorICNkZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUV9NQVhfTEVOCQkJNjcKKyAj ZGVmaW5lIFNFUlZSRUdfUkVHSVNURVJfTElTVEVORVJfUkVRX0xFTgkJNzEKK0BAIC0yMCw2ICsy Miw3IEBACisgI2RlZmluZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTgkJNzQK KyAjZGVmaW5lIFNFUlZSRUdfU1RBVEVfVVBEQVRFRF9JTkRfTUFYX0xFTgkJNzkKKyAjZGVmaW5l IFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTgkJMjM4OQorKyNkZWZpbmUgU0VS VlJFR19MT0NfUEZSX1JFU1BfTUFYX0xFTgkJCTEwCisgCisgc3RydWN0IHNlcnZyZWdfbG9jYXRp b25fZW50cnkgeworIAljaGFyIG5hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworQEAgLTc5 LDYgKzgyLDE1IEBAIHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCB7CisgCXN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyB9OworIAorK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJf cmVxIHsKKysJY2hhciBzZXJ2aWNlW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKysJY2hhciBy ZWFzb25bMjU3XTsKKyt9OworKworK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCB7CisrCXN0 cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcnNwOworK307CisrCisgZXh0ZXJuIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKyBleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2Vp W107CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3BfZWlbXTsKK0BAIC04OSw1ICsxMDEsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKyBleHRlcm4gY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOwor IGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2Vp W107CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19y ZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9j X3Bmcl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19sb2NfcGZyX3Jlc3BfZWlbXTsKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3Nv Yy9xY29tL3Fjb21fcGRfbWFwcGVyLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVy LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLmVjYjY0ZjA2NTI3 ZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBlci5j CitAQCAtMCwwICsxLDY3NiBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9ubHkKKysvKgorKyAqIFF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1hcHBlcgorKyAqCisr ICogQ29weXJpZ2h0IChjKSAyMDIzIExpbmFybyBMdGQuCisrICovCisrCisrI2luY2x1ZGUgPGxp bnV4L2F1eGlsaWFyeV9idXMuaD4KKysjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisrI2luY2x1 ZGUgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4K KysjaW5jbHVkZSA8bGludXgvb2YuaD4KKysjaW5jbHVkZSA8bGludXgvcmVmY291bnQuaD4KKysj aW5jbHVkZSA8bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5h bC5oIgorKworKyNkZWZpbmUgU0VSVlJFR19RTUlfVkVSU0lPTiAweDEwMQorKyNkZWZpbmUgU0VS VlJFR19RTUlfSU5TVEFOQ0UgMAorKworKyNkZWZpbmUgVE1TX1NFUlZSRUdfU0VSVklDRSAidG1z L3NlcnZyZWciCisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHsKKysJY29uc3QgY2hh ciAqZG9tYWluOworKwl1MzIgaW5zdGFuY2VfaWQ7CisrCS8qIE5VTEwtdGVybWluYXRlZCBhcnJh eSAqLworKwljb25zdCBjaGFyICogc2VydmljZXNbXTsKKyt9OworKworK3N0cnVjdCBxY29tX3Bk bV9kb21haW4geworKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCWNvbnN0IGNoYXIgKm5hbWU7 CisrCXUzMiBpbnN0YW5jZV9pZDsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9zZXJ2aWNlIHsK KysJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworKwlzdHJ1Y3QgbGlzdF9oZWFkIGRvbWFpbnM7Cisr CWNvbnN0IGNoYXIgKm5hbWU7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1fZGF0YSB7CisrCXJl ZmNvdW50X3QgcmVmY250OworKwlzdHJ1Y3QgcW1pX2hhbmRsZSBoYW5kbGU7CisrCXN0cnVjdCBs aXN0X2hlYWQgc2VydmljZXM7CisrfTsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRt X211dGV4KTsgLyogcHJvdGVjdHMgX19xY29tX3BkbV9kYXRhICovCisrc3RhdGljIHN0cnVjdCBx Y29tX3BkbV9kYXRhICpfX3Fjb21fcGRtX2RhdGE7CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3Bk bV9zZXJ2aWNlICpxY29tX3BkbV9maW5kKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJ CQkJICAgICAgY29uc3QgY2hhciAqbmFtZSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNl ICpzZXJ2aWNlOworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNlcnZpY2UsICZkYXRhLT5zZXJ2 aWNlcywgbGlzdCkgeworKwkJaWYgKCFzdHJjbXAoc2VydmljZS0+bmFtZSwgbmFtZSkpCisrCQkJ cmV0dXJuIHNlcnZpY2U7CisrCX0KKysKKysJcmV0dXJuIE5VTEw7CisrfQorKworK3N0YXRpYyBp bnQgcWNvbV9wZG1fYWRkX3NlcnZpY2VfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRh LAorKwkJCQkgICAgICAgY29uc3QgY2hhciAqc2VydmljZV9uYW1lLAorKwkJCQkgICAgICAgY29u c3QgY2hhciAqZG9tYWluX25hbWUsCisrCQkJCSAgICAgICB1MzIgaW5zdGFuY2VfaWQpCisrewor KwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJc3RydWN0IHFjb21fcGRtX2Rv bWFpbiAqZG9tYWluOworKworKwlzZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCBzZXJ2aWNl X25hbWUpOworKwlpZiAoc2VydmljZSkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb21haW4s ICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJaWYgKCFzdHJjbXAoZG9tYWluLT5uYW1l LCBkb21haW5fbmFtZSkpCisrCQkJCXJldHVybiAtRUJVU1k7CisrCQl9CisrCX0gZWxzZSB7Cisr CQlzZXJ2aWNlID0ga3phbGxvYyhzaXplb2YoKnNlcnZpY2UpLCBHRlBfS0VSTkVMKTsKKysJCWlm ICghc2VydmljZSkKKysJCQlyZXR1cm4gLUVOT01FTTsKKysKKysJCUlOSVRfTElTVF9IRUFEKCZz ZXJ2aWNlLT5kb21haW5zKTsKKysJCXNlcnZpY2UtPm5hbWUgPSBzZXJ2aWNlX25hbWU7CisrCisr CQlsaXN0X2FkZF90YWlsKCZzZXJ2aWNlLT5saXN0LCAmZGF0YS0+c2VydmljZXMpOworKwl9Cisr CisrCWRvbWFpbiA9IGt6YWxsb2Moc2l6ZW9mKCpkb21haW4pLCBHRlBfS0VSTkVMKTsKKysJaWYg KCFkb21haW4pIHsKKysJCWlmIChsaXN0X2VtcHR5KCZzZXJ2aWNlLT5kb21haW5zKSkgeworKwkJ CWxpc3RfZGVsKCZzZXJ2aWNlLT5saXN0KTsKKysJCQlrZnJlZShzZXJ2aWNlKTsKKysJCX0KKysK KysJCXJldHVybiAtRU5PTUVNOworKwl9CisrCisrCWRvbWFpbi0+bmFtZSA9IGRvbWFpbl9uYW1l OworKwlkb21haW4tPmluc3RhbmNlX2lkID0gaW5zdGFuY2VfaWQ7CisrCWxpc3RfYWRkX3RhaWwo JmRvbWFpbi0+bGlzdCwgJnNlcnZpY2UtPmRvbWFpbnMpOworKworKwlyZXR1cm4gMDsKKyt9Cisr Cisrc3RhdGljIGludCBxY29tX3BkbV9hZGRfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpk YXRhLAorKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKmRvbWFp bikKKyt7CisrCWludCByZXQ7CisrCWludCBpOworKworKwlyZXQgPSBxY29tX3BkbV9hZGRfc2Vy dmljZV9kb21haW4oZGF0YSwKKysJCQkJCSAgVE1TX1NFUlZSRUdfU0VSVklDRSwKKysJCQkJCSAg ZG9tYWluLT5kb21haW4sCisrCQkJCQkgIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwlpZiAocmV0 KQorKwkJcmV0dXJuIHJldDsKKysKKysJZm9yIChpID0gMDsgZG9tYWluLT5zZXJ2aWNlc1tpXTsg aSsrKSB7CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oZGF0YSwKKysJCQkJ CQkgIGRvbWFpbi0+c2VydmljZXNbaV0sCisrCQkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJ CQkgIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwkJaWYgKHJldCkKKysJCQlyZXR1cm4gcmV0Owor Kwl9CisrCisrCXJldHVybiAwOworKworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9mcmVl X2RvbWFpbnMoc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEpCisreworKwlzdHJ1Y3QgcWNvbV9w ZG1fc2VydmljZSAqc2VydmljZSwgKnRzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu ICpkb21haW4sICp0ZG9tYWluOworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc2Vydmlj ZSwgdHNlcnZpY2UsICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkgeworKwkJbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKGRvbWFpbiwgdGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJ CQlsaXN0X2RlbCgmZG9tYWluLT5saXN0KTsKKysJCQlrZnJlZShkb21haW4pOworKwkJfQorKwor KwkJbGlzdF9kZWwoJnNlcnZpY2UtPmxpc3QpOworKwkJa2ZyZWUoc2VydmljZSk7CisrCX0KKyt9 CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBxbWlfaGFu ZGxlICpxbWksCisrCQkJCSAgICAgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCQkgICAg IHN0cnVjdCBxbWlfdHhuICp0eG4sCisrCQkJCSAgICAgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7 CisrCXN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKHFtaSwgc3RydWN0 IHFjb21fcGRtX2RhdGEsIGhhbmRsZSk7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXEgKnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwICpyc3A7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOworKwl1 MzIgb2Zmc2V0OworKwlpbnQgcmV0OworKworKwlyc3AgPSBremFsbG9jKHNpemVvZigqcnNwKSwg R0ZQX0tFUk5FTCk7CisrCWlmICghcnNwKQorKwkJcmV0dXJuOworKworKwlvZmZzZXQgPSByZXEt PmRvbWFpbl9vZmZzZXRfdmFsaWQgPyByZXEtPmRvbWFpbl9vZmZzZXQgOiAwOworKworKwlyc3At PnJlc3AucmVzdWx0ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLT5yZXNwLmVycm9y ID0gUU1JX0VSUl9OT05FX1YwMTsKKysKKysJcnNwLT5kYl9yZXZfY291bnRfdmFsaWQgPSB0cnVl OworKwlyc3AtPmRiX3Jldl9jb3VudCA9IDE7CisrCisrCXJzcC0+dG90YWxfZG9tYWluc192YWxp ZCA9IHRydWU7CisrCXJzcC0+dG90YWxfZG9tYWlucyA9IDA7CisrCisrCW11dGV4X2xvY2soJnFj b21fcGRtX211dGV4KTsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0YSwgcmVxLT5z ZXJ2aWNlX25hbWUpOworKwlpZiAoc2VydmljZSkgeworKwkJc3RydWN0IHFjb21fcGRtX2RvbWFp biAqZG9tYWluOworKworKwkJcnNwLT5kb21haW5fbGlzdF92YWxpZCA9IHRydWU7CisrCQlyc3At PmRvbWFpbl9saXN0X2xlbiA9IDA7CisrCisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwg JnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJCQl1MzIgaSA9IHJzcC0+dG90YWxfZG9tYWlu cysrOworKworKwkJCWlmIChpID49IG9mZnNldCAmJiBpIDwgU0VSVlJFR19ET01BSU5fTElTVF9M RU5HVEgpIHsKKysJCQkJdTMyIGogPSByc3AtPmRvbWFpbl9saXN0X2xlbisrOworKworKwkJCQlz dHJzY3B5KHJzcC0+ZG9tYWluX2xpc3Rbal0ubmFtZSwgZG9tYWluLT5uYW1lLAorKwkJCQkJc2l6 ZW9mKHJzcC0+ZG9tYWluX2xpc3RbaV0ubmFtZSkpOworKwkJCQlyc3AtPmRvbWFpbl9saXN0W2pd Lmluc3RhbmNlID0gZG9tYWluLT5pbnN0YW5jZV9pZDsKKysKKysJCQkJcHJfZGVidWcoIlBETTog Zm91bmQgJXMgLyAlZFxuIiwgZG9tYWluLT5uYW1lLAorKwkJCQkJIGRvbWFpbi0+aW5zdGFuY2Vf aWQpOworKwkJCX0KKysJCX0KKysJfQorKworKwlwcl9kZWJ1ZygiUERNOiBzZXJ2aWNlICclcycg b2Zmc2V0ICVkIHJldHVybmluZyAlZCBkb21haW5zIChvZiAlZClcbiIsIHJlcS0+c2VydmljZV9u YW1lLAorKwkJIHJlcS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJlcS0+ZG9tYWluX29mZnNldCA6 IC0xLCByc3AtPmRvbWFpbl9saXN0X2xlbiwgcnNwLT50b3RhbF9kb21haW5zKTsKKysKKysJcmV0 ID0gcW1pX3NlbmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0dFVF9ET01BSU5fTElT VF9SRVEsCisrCQkJCVNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTiwKKysJCQkJ c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laSwgcnNwKTsKKysJaWYgKHJldCkKKysJCXBy X2VycigiRXJyb3Igc2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxuIiwgcmV0KTsKKysKKysJ bXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCWtmcmVlKHJzcCk7CisrfQorKwor K3N0YXRpYyB2b2lkIHFjb21fcGRtX3BmcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCSBz dHJ1Y3Qgc29ja2FkZHJfcXJ0ciAqc3EsCisrCQkJIHN0cnVjdCBxbWlfdHhuICp0eG4sCisrCQkJ IGNvbnN0IHZvaWQgKmRlY29kZWQpCisreworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZy X3JlcSAqcmVxID0gZGVjb2RlZDsKKysJc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHJzcCA9 IHt9OworKwlpbnQgcmV0OworKworKwlwcl93YXJuX3JhdGVsaW1pdGVkKCJQRE06IHNlcnZpY2Ug JyVzJyBjcmFzaDogJyVzJ1xuIiwgcmVxLT5zZXJ2aWNlLCByZXEtPnJlYXNvbik7CisrCisrCXJz cC5yc3AucmVzdWx0ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLnJzcC5lcnJvciA9 IFFNSV9FUlJfTk9ORV9WMDE7CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3Es IHR4biwgU0VSVlJFR19MT0NfUEZSX1JFUSwKKysJCQkJU0VSVlJFR19MT0NfUEZSX1JFU1BfTUFY X0xFTiwKKysJCQkJc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWksICZyc3ApOworKwlpZiAocmV0KQor KwkJcHJfZXJyKCJFcnJvciBzZW5kaW5nIHNlcnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOwor K30KKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9tc2dfaGFuZGxlciBxY29tX3BkbV9tc2df aGFuZGxlcnNbXSA9IHsKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2dfaWQg PSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXEpLAorKwkJLmZuID0gcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0 LAorKwl9LAorKwl7CisrCQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZS RUdfTE9DX1BGUl9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2xvY19wZnJfcmVxX2VpLAorKwkJLmRl Y29kZWRfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSksCisrCQkuZm4g PSBxY29tX3BkbV9wZnIsCisrCX0sCisrCXsgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJt c20vYWRzcC9hdWRpb19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7 CisrCQkiYXZzL2F1ZGlvIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qg c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3BfY2hhcmdlcl9wZCA9IHsKKysJLmRvbWFp biA9ICJtc20vYWRzcC9jaGFyZ2VyX3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2 aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSBhZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3Bk X3BkciA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lk ID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwK KysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg YWRzcF9zZW5zb3JfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avc2Vuc29yX3BkIiwKKysJ Lmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X2Fkc3BfYXVkaW9f cGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQg PSA0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9hZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21h aW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNl cyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSBjZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Nkc3Avcm9vdF9wZCIs CisrCS5pbnN0YW5jZV9pZCA9IDc2LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9yb290X3BkID0g eworKwkuZG9tYWluID0gIm1zbS9zbHBpL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwK KysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhIHNscGlfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9z bHBpL3NlbnNvcl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5V TEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg bXBzc19yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmlu c3RhbmNlX2lkID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQlOVUxMLAorKwl9LAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGRf Z3BzID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lk ID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJCU5VTEws CisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh IG1wc3Nfcm9vdF9wZF9ncHNfcGRyID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3Bk IiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19z ZXJ2aWNlIiwKKysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9tcHNzX3Jv b3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2Vf aWQgPSAxMDAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3dsYW5fcGQgPSB7CisrCS5kb21haW4g PSAibXNtL21vZGVtL3dsYW5fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNl cyA9IHsKKysJCSJrZXJuZWwvZWxmX2xvYWRlciIsCisrCQkid2xhbi9mdyIsCisrCQlOVUxMLAor Kwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAq bXNtODk5Nl9kb21haW5zW10gPSB7CisrCSZtc204OTk2X2Fkc3BfYXVkaW9fcGQsCisrCSZtc204 OTk2X2Fkc3Bfcm9vdF9wZCwKKysJJm1zbTg5OTZfbXBzc19yb290X3BkLAorKwlOVUxMLAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5OF9k b21haW5zW10gPSB7CisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEws CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY20y MjkwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisr CSZhZHNwX3NlbnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQs CisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICpxY3M0MDRfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9v dF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290 X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0 cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M3MTgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3Bf YXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZt cHNzX3Jvb3RfcGRfZ3BzX3BkciwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzI4MF9kb21haW5z W10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3Bf Y2hhcmdlcl9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBz c19yb290X3BkX2dwc19wZHIsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0 IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzgxODB4X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVk aW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jv b3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAor K307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4Mjgw eHBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIs CisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NjBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vu c29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFu X3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSAqc2RtNjcwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNw X3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3ds YW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhICpzZG04NDVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFk c3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nf d2xhbl9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAor K307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc202MTE1 X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZh ZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisr CSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhICpzbTYzNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19w ZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3Bk LAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSAqc204MTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVk aW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3Rf cGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc204MjUwX2RvbWFpbnNbXSA9IHsKKysJJmFk c3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZzbHBp X3Jvb3RfcGQsCisrCSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODM1MF9kb21haW5zW10gPSB7Cisr CSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9w ZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZzbHBpX3Jvb3Rf cGQsCisrCSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODU1MF9kb21haW5zW10gPSB7CisrCSZhZHNw X2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRz cF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwlO VUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9wZG1f ZG9tYWluc1tdID0geworKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA2NCIsIC5kYXRhID0g TlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNzQiLCAuZGF0YSA9IE5VTEws IH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDg0IiwgLmRhdGEgPSBOVUxMLCB9LAor Kwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA5NiIsIC5kYXRhID0gbXNtODk5Nl9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODIyNiIsIC5kYXRhID0gTlVMTCwgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5NzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxtc204OTk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtc204OTk4IiwgLmRhdGEgPSBtc204OTk4X2RvbWFp bnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY20yMjkwIiwgLmRhdGEgPSBxY20yMjkw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY3M0MDQiLCAuZGF0YSA9IHFj czQwNF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MTgwIiwgLmRhdGEg PSBzYzcxODBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzI4MCIsIC5k YXRhID0gc2M3MjgwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgxODB4 IiwgLmRhdGEgPSBzYzgxODB4X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxz YzgyODB4cCIsIC5kYXRhID0gc2M4MjgweHBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLHNkYTY2MCIsIC5kYXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGli bGUgPSAicWNvbSxzZG02NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7IC5jb21w YXRpYmxlID0gInFjb20sc2RtNjcwIiwgLmRhdGEgPSBzZG02NzBfZG9tYWlucywgfSwKKysJeyAu Y29tcGF0aWJsZSA9ICJxY29tLHNkbTg0NSIsIC5kYXRhID0gc2RtODQ1X2RvbWFpbnMsIH0sCisr CXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTQyNTAiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9 LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc202MTE1IiwgLmRhdGEgPSBzbTYxMTVfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNjM1MCIsIC5kYXRhID0gc202MzUwX2Rv bWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgxNTAiLCAuZGF0YSA9IHNtODE1 MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MjUwIiwgLmRhdGEgPSBz bTgyNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODM1MCIsIC5kYXRh ID0gc204MzUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg0NTAiLCAu ZGF0YSA9IHNtODM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NTUw IiwgLmRhdGEgPSBzbTg1NTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNt ODY1MCIsIC5kYXRhID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXt9LAorK307CisrCisrc3RhdGlj IHZvaWQgcWNvbV9wZG1fc3RvcChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSkKKyt7CisrCXFj b21fcGRtX2ZyZWVfZG9tYWlucyhkYXRhKTsKKysKKysJLyogVGhlIHNlcnZlciBpcyByZW1vdmVk IGF1dG9tYXRpY2FsbHkgKi8KKysJcW1pX2hhbmRsZV9yZWxlYXNlKCZkYXRhLT5oYW5kbGUpOwor KworKwlrZnJlZShkYXRhKTsKKyt9CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRhICpx Y29tX3BkbV9zdGFydCh2b2lkKQorK3sKKysJY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICogY29uc3QgKmRvbWFpbnM7CisrCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNo OworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJc3RydWN0IGRldmljZV9ub2RlICpy b290OworKwlpbnQgcmV0LCBpOworKworKwlyb290ID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8i KTsKKysJaWYgKCFyb290KQorKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisrCisrCW1hdGNo ID0gb2ZfbWF0Y2hfbm9kZShxY29tX3BkbV9kb21haW5zLCByb290KTsKKysJb2Zfbm9kZV9wdXQo cm9vdCk7CisrCWlmICghbWF0Y2gpIHsKKysJCXByX25vdGljZSgiUERNOiBubyBzdXBwb3J0IGZv ciB0aGUgcGxhdGZvcm0sIHVzZXJzcGFjZSBkYWVtb24gbWlnaHQgYmUgcmVxdWlyZWQuXG4iKTsK KysJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRvbWFpbnMgPSBtYXRjaC0+ ZGF0YTsKKysJaWYgKCFkb21haW5zKSB7CisrCQlwcl9kZWJ1ZygiUERNOiBubyBkb21haW5zXG4i KTsKKysJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRhdGEgPSBremFsbG9j KHNpemVvZigqZGF0YSksIEdGUF9LRVJORUwpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm4gRVJS X1BUUigtRU5PTUVNKTsKKysKKysJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnNlcnZpY2VzKTsKKysK KysJcmV0ID0gcW1pX2hhbmRsZV9pbml0KCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfR0VUX0RPTUFJ Tl9MSVNUX1JFUV9NQVhfTEVOLAorKwkJCSAgICAgIE5VTEwsIHFjb21fcGRtX21zZ19oYW5kbGVy cyk7CisrCWlmIChyZXQpIHsKKysJCWtmcmVlKGRhdGEpOworKwkJcmV0dXJuIEVSUl9QVFIocmV0 KTsKKysJfQorKworKwlyZWZjb3VudF9zZXQoJmRhdGEtPnJlZmNudCwgMSk7CisrCisrCWZvciAo aSA9IDA7IGRvbWFpbnNbaV07IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX2RvbWFpbihk YXRhLCBkb21haW5zW2ldKTsKKysJCWlmIChyZXQpCisrCQkJZ290byBlcnJfc3RvcDsKKysJfQor KworKwlyZXQgPSBxbWlfYWRkX3NlcnZlcigmZGF0YS0+aGFuZGxlLCBTRVJWUkVHX0xPQ0FUT1Jf U0VSVklDRSwKKysJCQkgICAgIFNFUlZSRUdfUU1JX1ZFUlNJT04sIFNFUlZSRUdfUU1JX0lOU1RB TkNFKTsKKysJaWYgKHJldCkgeworKwkJcHJfZXJyKCJQRE06IGVycm9yIGFkZGluZyBzZXJ2ZXIg JWRcbiIsIHJldCk7CisrCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldHVybiBkYXRhOwor KworK2Vycl9zdG9wOgorKwlxY29tX3BkbV9zdG9wKGRhdGEpOworKworKwlyZXR1cm4gRVJSX1BU UihyZXQpOworK30KKysKKytzdGF0aWMgaW50IHFjb21fcGRtX3Byb2JlKHN0cnVjdCBhdXhpbGlh cnlfZGV2aWNlICphdXhkZXYsCisrCQkJICBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZV9p ZCAqaWQpCisrCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJaW50IHJldCA9 IDA7CisrCisrCW11dGV4X2xvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJaWYgKCFfX3Fjb21f cGRtX2RhdGEpIHsKKysJCWRhdGEgPSBxY29tX3BkbV9zdGFydCgpOworKworKwkJaWYgKElTX0VS UihkYXRhKSkKKysJCQlyZXQgPSBQVFJfRVJSKGRhdGEpOworKwkJZWxzZQorKwkJCV9fcWNvbV9w ZG1fZGF0YSA9IGRhdGE7CisrCX0KKysKKysJYXV4aWxpYXJ5X3NldF9kcnZkYXRhKGF1eGRldiwg X19xY29tX3BkbV9kYXRhKTsKKysKKysJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7Cisr CisrCXJldHVybiByZXQ7CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX3JlbW92ZShzdHJ1 Y3QgYXV4aWxpYXJ5X2RldmljZSAqYXV4ZGV2KQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEg KmRhdGE7CisrCisrCWRhdGEgPSBhdXhpbGlhcnlfZ2V0X2RydmRhdGEoYXV4ZGV2KTsKKysJaWYg KCFkYXRhKQorKwkJcmV0dXJuOworKworKwlpZiAocmVmY291bnRfZGVjX2FuZF9tdXRleF9sb2Nr KCZkYXRhLT5yZWZjbnQsICZxY29tX3BkbV9tdXRleCkpIHsKKysJCV9fcWNvbV9wZG1fZGF0YSA9 IE5VTEw7CisrCQlxY29tX3BkbV9zdG9wKGRhdGEpOworKwkJbXV0ZXhfdW5sb2NrKCZxY29tX3Bk bV9tdXRleCk7CisrCX0KKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2 aWNlX2lkIHFjb21fcGRtX3RhYmxlW10gPSB7CisrCXsgLm5hbWUgPSAicWNvbV9jb21tb24ucGQt bWFwcGVyIiB9LAorKwl7fSwKKyt9OworK01PRFVMRV9ERVZJQ0VfVEFCTEUoYXV4aWxpYXJ5LCBx Y29tX3BkbV90YWJsZSk7CisrCisrc3RhdGljIHN0cnVjdCBhdXhpbGlhcnlfZHJpdmVyIHFjb21f cGRtX2RydiA9IHsKKysJLm5hbWUgPSAicWNvbS1wZG0tbWFwcGVyIiwKKysJLmlkX3RhYmxlID0g cWNvbV9wZG1fdGFibGUsCisrCS5wcm9iZSA9IHFjb21fcGRtX3Byb2JlLAorKwkucmVtb3ZlID0g cWNvbV9wZG1fcmVtb3ZlLAorK307CisrbW9kdWxlX2F1eGlsaWFyeV9kcml2ZXIocWNvbV9wZG1f ZHJ2KTsKKysKKytNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWlu IE1hcHBlciIpOworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJz L3NvYy9xY29tL3Fjb21fcGRyX21zZy5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cu YworaW5kZXggOWI0NmY0MmFhMTQ2Li5iZjNlNGE0NzE2NWUgMTAwNjQ0CistLS0gYS9kcml2ZXJz L3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRy X21zZy5jCitAQCAtMzE1LDUgKzMxNSwzOSBAQCBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3NldF9hY2tfcmVzcF9laVtdID0geworIH07CisgRVhQT1JUX1NZTUJPTF9HUEwoc2Vy dnJlZ19zZXRfYWNrX3Jlc3BfZWkpOworIAorK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfbG9jX3Bmcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJJ TkcsCisrCQkuZWxlbV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3Np emUgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJSQVksCisrCQku dGx2X3R5cGUgPSAweDAxLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xv Y19wZnJfcmVxLCBzZXJ2aWNlKQorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklO RywKKysJCS5lbGVtX2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6 ZSA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50 bHZfdHlwZSA9IDB4MDIsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9j X3Bmcl9yZXEsIHJlYXNvbikKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNl cnZyZWdfbG9jX3Bmcl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfbG9jX3Bmcl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RS VUNULAorKwkJLmVsZW1fbGVuID0gMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2ZfZmllbGQoc3Ry dWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwLCByc3ApLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJ CS5vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisr CQkuZWlfYXJyYXkgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsK KytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2xvY19wZnJfcmVzcF9laSk7CisrCisgTU9EVUxF X0xJQ0VOU0UoIkdQTCIpOworIE1PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlv biBEb21haW4gbWVzc2FnZXMgZGF0YSIpOworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0 cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQ0 ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjkgNS81XSByZW1vdGVwcm9jOiBxY29tOiBlbmFibGUg aW4ta2VybmVsIFBEIG1hcHBlcgorCitSZXF1ZXN0IGluLWtlcm5lbCBwcm90ZWN0aW9uIGRvbWFp biBtYXBwZXIgdG8gYmUgc3RhcnRlZCBiZWZvcmUgc3RhcnRpbmcKK1F1YWxjb21tIERTUCBhbmQg cmVsZWFzZSBpdCBvbmNlIERTUCBpcyBzdG9wcGVkLiBPbmNlIGFsbCBEU1BzIGFyZQorc3RvcHBl ZCwgdGhlIFBEIG1hcHBlciB3aWxsIGJlIHN0b3BwZWQgdG9vLgorCitSZXZpZXdlZC1ieTogQ2hy aXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pl d3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFy bXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRy eSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMv cmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jICAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oICAgIHwgMTAg KysrKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyB8ICAzICsrCisgZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYyAgfCAgMyArKworIGRyaXZlcnMvcmVtb3Rl cHJvYy9xY29tX3E2djVfcGFzLmMgIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X3djc3MuYyB8ICAzICsrCisgNiBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKQor CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMgYi9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9jb21tb24uYworaW5kZXggMDNlNWY1ZDUzM2ViLi44Yzg2ODhmOTlm MGEgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYworKysrIGIv ZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMKK0BAIC0xMyw2ICsxMyw3IEBACisgI2lu Y2x1ZGUgPGxpbnV4L25vdGlmaWVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MuaD4K KyAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy9xY29tX3Jwcm9jLmg+CisrI2luY2x1ZGUgPGxp bnV4L2F1eGlsaWFyeV9idXMuaD4KKyAjaW5jbHVkZSA8bGludXgvcnBtc2cvcWNvbV9nbGluay5o PgorICNpbmNsdWRlIDxsaW51eC9ycG1zZy9xY29tX3NtZC5oPgorICNpbmNsdWRlIDxsaW51eC9z bGFiLmg+CitAQCAtMjUsNiArMjYsNyBAQAorICNkZWZpbmUgdG9fZ2xpbmtfc3ViZGV2KGQpIGNv bnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19nbGluaywgc3ViZGV2KQorICNkZWZpbmUg dG9fc21kX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2Nfc3ViZGV2 LCBzdWJkZXYpCisgI2RlZmluZSB0b19zc3Jfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1 Y3QgcWNvbV9ycHJvY19zc3IsIHN1YmRldikKKysjZGVmaW5lIHRvX3BkbV9zdWJkZXYoZCkgY29u dGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSwgc3ViZGV2KQorIAorICNkZWZpbmUg TUFYX05VTV9PRl9TUyAgICAgICAgICAgMTAKKyAjZGVmaW5lIE1BWF9SRUdJT05fTkFNRV9MRU5H VEggIDE2CitAQCAtNTE5LDUgKzUyMSw5MCBAQCB2b2lkIHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYo c3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3IpCisgfQorIEVY UE9SVF9TWU1CT0xfR1BMKHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYpOworIAorK3N0YXRpYyB2b2lk IHBkbV9kZXZfcmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCisreworKwlzdHJ1Y3QgYXV4aWxp YXJ5X2RldmljZSAqYWRldiA9IHRvX2F1eGlsaWFyeV9kZXYoZGV2KTsKKysKKysJa2ZyZWUoYWRl dik7CisrfQorKworK3N0YXRpYyBpbnQgcGRtX25vdGlmeV9wcmVwYXJlKHN0cnVjdCBycHJvY19z dWJkZXYgKnN1YmRldikKKyt7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtID0gdG9fcGRt X3N1YmRldihzdWJkZXYpOworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKysJaW50 IHJldDsKKysKKysJYWRldiA9IGt6YWxsb2Moc2l6ZW9mKCphZGV2KSwgR0ZQX0tFUk5FTCk7Cisr CWlmICghYWRldikKKysJCXJldHVybiAtRU5PTUVNOworKworKwlhZGV2LT5kZXYucGFyZW50ID0g cGRtLT5kZXY7CisrCWFkZXYtPmRldi5yZWxlYXNlID0gcGRtX2Rldl9yZWxlYXNlOworKwlhZGV2 LT5uYW1lID0gInBkLW1hcHBlciI7CisrCWFkZXYtPmlkID0gcGRtLT5pbmRleDsKKysKKysJcmV0 ID0gYXV4aWxpYXJ5X2RldmljZV9pbml0KGFkZXYpOworKwlpZiAocmV0KSB7CisrCQlrZnJlZShh ZGV2KTsKKysJCXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0ID0gYXV4aWxpYXJ5X2RldmljZV9h ZGQoYWRldik7CisrCWlmIChyZXQpIHsKKysJCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KGFkZXYp OworKwkJcmV0dXJuIHJldDsKKysJfQorKworKwlwZG0tPmFkZXYgPSBhZGV2OworKworKwlyZXR1 cm4gMDsKKyt9CisrCisrCisrc3RhdGljIHZvaWQgcGRtX25vdGlmeV91bnByZXBhcmUoc3RydWN0 IHJwcm9jX3N1YmRldiAqc3ViZGV2KQorK3sKKysJc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0g PSB0b19wZG1fc3ViZGV2KHN1YmRldik7CisrCisrCWlmICghcGRtLT5hZGV2KQorKwkJcmV0dXJu OworKworKwlhdXhpbGlhcnlfZGV2aWNlX2RlbGV0ZShwZG0tPmFkZXYpOworKwlhdXhpbGlhcnlf ZGV2aWNlX3VuaW5pdChwZG0tPmFkZXYpOworKwlwZG0tPmFkZXYgPSBOVUxMOworK30KKysKKysv KioKKysgKiBxY29tX2FkZF9wZG1fc3ViZGV2KCkgLSByZWdpc3RlciBQRCBNYXBwZXIgc3ViZGV2 aWNlCisrICogQHJwcm9jOglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhh bmRsZQorKyAqCisrICogUmVnaXN0ZXIgQHBkbSBzbyB0aGF0IFByb3RlY3Rpb24gRGV2aWNlIG1h cHBlciBzZXJ2aWNlIGlzIHN0YXJ0ZWQgd2hlbiB0aGUKKysgKiBEU1AgaXMgc3RhcnRlZCB0b28u CisrICovCisrdm9pZCBxY29tX2FkZF9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0 cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJcGRtLT5kZXYgPSAmcnByb2MtPmRldjsK KysJcGRtLT5pbmRleCA9IHJwcm9jLT5pbmRleDsKKysKKysJcGRtLT5zdWJkZXYucHJlcGFyZSA9 IHBkbV9ub3RpZnlfcHJlcGFyZTsKKysJcGRtLT5zdWJkZXYudW5wcmVwYXJlID0gcGRtX25vdGlm eV91bnByZXBhcmU7CisrCisrCXJwcm9jX2FkZF9zdWJkZXYocnByb2MsICZwZG0tPnN1YmRldik7 CisrfQorK0VYUE9SVF9TWU1CT0xfR1BMKHFjb21fYWRkX3BkbV9zdWJkZXYpOworKworKy8qKgor KyAqIHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoKSAtIHJlbW92ZSBQRCBNYXBwZXIgc3ViZGV2aWNl CisrICogQHJwcm9jOglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhhbmRs ZQorKyAqCisrICogUmVtb3ZlIHRoZSBQRCBNYXBwZXIgc3ViZGV2aWNlLgorKyAqLworK3ZvaWQg cWNvbV9yZW1vdmVfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9y cHJvY19wZG0gKnBkbSkKKyt7CisrCXJwcm9jX3JlbW92ZV9zdWJkZXYocnByb2MsICZwZG0tPnN1 YmRldik7CisrfQorK0VYUE9SVF9TWU1CT0xfR1BMKHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYpOwor KworIE1PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUmVtb3RlcHJvYyBoZWxwZXIgZHJpdmVy Iik7CisgTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX2NvbW1vbi5oIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgK K2luZGV4IDllZjQ0NDkwNTJhOS4uYjA3ZmJhYTA5MWEwIDEwMDY0NAorLS0tIGEvZHJpdmVycy9y ZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2Nv bW1vbi5oCitAQCAtMzQsNiArMzQsMTMgQEAgc3RydWN0IHFjb21fcnByb2Nfc3NyIHsKKyAJc3Ry dWN0IHFjb21fc3NyX3N1YnN5c3RlbSAqaW5mbzsKKyB9OworIAorK3N0cnVjdCBxY29tX3Jwcm9j X3BkbSB7CisrCXN0cnVjdCBycHJvY19zdWJkZXYgc3ViZGV2OworKwlzdHJ1Y3QgZGV2aWNlICpk ZXY7CisrCWludCBpbmRleDsKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFkZXY7CisrfTsK KysKKyB2b2lkIHFjb21fbWluaWR1bXAoc3RydWN0IHJwcm9jICpycHJvYywgdW5zaWduZWQgaW50 IG1pbmlkdW1wX2lkLAorIAkJCXZvaWQgKCpycHJvY19kdW1wZm5fdCkoc3RydWN0IHJwcm9jICpy cHJvYywKKyAJCQkJc3RydWN0IHJwcm9jX2R1bXBfc2VnbWVudCAqc2VnbWVudCwgdm9pZCAqZGVz dCwgc2l6ZV90IG9mZnNldCwKK0BAIC01Miw2ICs1OSw5IEBAIHZvaWQgcWNvbV9hZGRfc3NyX3N1 YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzciwKKyAJ CQkgY29uc3QgY2hhciAqc3NyX25hbWUpOworIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihz dHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcik7CisgCisrdm9p ZCBxY29tX2FkZF9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jw cm9jX3BkbSAqcGRtKTsKKyt2b2lkIHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9j ICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworKworICNpZiBJU19FTkFCTEVE KENPTkZJR19RQ09NX1NZU01PTikKKyBzdHJ1Y3QgcWNvbV9zeXNtb24gKnFjb21fYWRkX3N5c21v bl9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywKKyAJCQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUs CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgYi9kcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworaW5kZXggMWQyNGM5YjY1NmE4Li41NzJk Y2IwZjA1NWIgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3Au YworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK0BAIC0xMTIsNiAr MTEyLDcgQEAgc3RydWN0IHFjb21fYWRzcCB7CisgCXN0cnVjdCBkZXZfcG1fZG9tYWluX2xpc3Qg KnBkX2xpc3Q7CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKysJ c3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3Nz ciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5c21vbjsKKyAKK0BAIC03MjYs NiArNzI3LDcgQEAgc3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCisgCQlnb3RvIGRpc2FibGVfcG07CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihy cHJvYywgJmFkc3AtPmdsaW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworKwlxY29tX2FkZF9w ZG1fc3ViZGV2KHJwcm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJk ZXYocnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisgCWFkc3AtPnN5 c21vbiA9IHFjb21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsCisgCQkJCQkgICAgICBkZXNjLT5z eXNtb25fbmFtZSwKK0BAIC03NTUsNiArNzU3LDcgQEAgc3RhdGljIHZvaWQgYWRzcF9yZW1vdmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAKKyAJcWNvbV9xNnY1X2RlaW5pdCgmYWRz cC0+cTZ2NSk7CisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3At PmdsaW5rX3N1YmRldik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoYWRzcC0+cnByb2MsICZh ZHNwLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRldihhZHNwLT5zeXNt b24pOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+c3NyX3N1 YmRldik7CisgCXFjb21fcnByb2NfcGRzX2RldGFjaChhZHNwKTsKK2RpZmYgLS1naXQgYS9kcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f cTZ2NV9tc3MuYworaW5kZXggMTc3OWZjODkwZTEwLi4yYTQyMjE1Y2U4ZTAgMTAwNjQ0CistLS0g YS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCisrKysgYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9xNnY1X21zcy5jCitAQCAtMjI4LDYgKzIyOCw3IEBAIHN0cnVjdCBxNnY1IHsK KyAKKyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNv bV9ycHJvY19zdWJkZXYgc21kX3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9z dWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNv bV9zeXNtb24gKnN5c21vbjsKKyAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFtX2RtdXg7CitA QCAtMjEwMiw2ICsyMTAzLDcgQEAgc3RhdGljIGludCBxNnY1X3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCisgCXFwcm9jLT5tYmFfcGVybSA9IEJJVChRQ09NX1NDTV9WTUlEX0hM T1MpOworIAlxY29tX2FkZF9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2 LCAibXBzcyIpOworIAlxY29tX2FkZF9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJk ZXYpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOwor IAlxY29tX2FkZF9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYsICJtcHNzIik7 CisgCXFwcm9jLT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLCAibW9kZW0i LCAweDEyKTsKKyAJaWYgKElTX0VSUihxcHJvYy0+c3lzbW9uKSkgeworQEAgLTIxNDMsNiArMjE0 NSw3IEBAIHN0YXRpYyB2b2lkIHE2djVfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCisgCXFjb21fcTZ2NV9kZWluaXQoJnFwcm9jLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVfc3lz bW9uX3N1YmRldihxcHJvYy0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc3NyX3N1YmRldihycHJv YywgJnFwcm9jLT5zc3Jfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywg JnFwcm9jLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihycHJvYywgJnFw cm9jLT5zbWRfc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmcXBy b2MtPmdsaW5rX3N1YmRldik7CisgCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fcTZ2NV9wYXMuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKK2luZGV4 IDg0NThiY2ZlOWUxOS4uODhlN2I4NGYyMjNjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fcTZ2NV9wYXMuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9w YXMuYworQEAgLTExMSw2ICsxMTEsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNwIHsKKyAKKyAJc3RydWN0 IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zdWJk ZXYgc21kX3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0 cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5 c21vbjsKKyAKK0BAIC03NzcsNiArNzc4LDcgQEAgc3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJv YywgJmFkc3AtPmdsaW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworIAlxY29tX2FkZF9zbWRf c3ViZGV2KHJwcm9jLCAmYWRzcC0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYo cnByb2MsICZhZHNwLT5wZG1fc3ViZGV2KTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lz bW9uX3N1YmRldihycHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorIAkJCQkJ ICAgICAgZGVzYy0+c3NjdGxfaWQpOworQEAgLTgxMSw2ICs4MTMsNyBAQCBzdGF0aWMgdm9pZCBh ZHNwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlxY29tX3JlbW92ZV9n bGlua19zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5nbGlua19zdWJkZXYpOworIAlxY29tX3Jl bW92ZV9zeXNtb25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3NtZF9zdWJk ZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zbWRfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1 YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zc3Jf c3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldik7CisgCWFkc3BfcGRzX2RldGFj aChhZHNwLCBhZHNwLT5wcm94eV9wZHMsIGFkc3AtPnByb3h5X3BkX2NvdW50KTsKKyAJZGV2aWNl X2luaXRfd2FrZXVwKGFkc3AtPmRldiwgZmFsc2UpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93 Y3NzLmMKK2luZGV4IDk0ZjY4YzkxOWVlNi4uZTkxM2RhYmFlOTkyIDEwMDY0NAorLS0tIGEvZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX3E2djVfd2Nzcy5jCitAQCAtMTQ4LDYgKzE0OCw3IEBAIHN0cnVjdCBxNnY1X3djc3Mg eworIAlib29sIHJlcXVpcmVzX2ZvcmNlX3N0b3A7CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2ds aW5rIGdsaW5rX3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7Cisg CXN0cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIH07CisgCitAQCAtMTA1Miw2ICsx MDUzLDcgQEAgc3RhdGljIGludCBxNnY1X3djc3NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKKyAJCXJldHVybiByZXQ7CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJv YywgJndjc3MtPmdsaW5rX3N1YmRldiwgInE2d2NzcyIpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2 KHJwcm9jLCAmd2Nzcy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2Ms ICZ3Y3NzLT5zc3Jfc3ViZGV2LCAicTZ3Y3NzIik7CisgCisgCWlmIChkZXNjLT5zc2N0bF9pZCkK K0BAIC0xMDc0LDYgKzEwNzYsNyBAQCBzdGF0aWMgdm9pZCBxNnY1X3djc3NfcmVtb3ZlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXN0cnVjdCBxNnY1X3djc3MgKndjc3MgPSBycHJv Yy0+cHJpdjsKKyAKKyAJcWNvbV9xNnY1X2RlaW5pdCgmd2Nzcy0+cTZ2NSk7CisrCXFjb21fcmVt b3ZlX3BkbV9zdWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2KTsKKyAJcnByb2NfZGVsKHJw cm9jKTsKKyB9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlIGIvc3Jj cGtncy9saW51eDYuOS90ZW1wbGF0ZQppbmRleCA0OGQyNzlmYWE2NGM1My4uYTEwN2VkOGY2YjUz YjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9s aW51eDYuOS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xp bnV4Ni45JwogcGtnbmFtZT1saW51eDYuOQogdmVyc2lvbj02LjkuOAotcmV2aXNpb249MQorcmV2 aXNpb249Mgogc2hvcnRfZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24l Lip9IHNlcmllcykiCiBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+ IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5IgoKRnJvbSBkZTIyMTBiODQyYTFiZWZkMjk2YmUxMDdi ZmRjYjFkMzk5MDJmNDlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlh bXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6 NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDMvM10gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0xCgot LS0KIHNyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwgICAgICAgICAgICAgICAgICAgIHwgIDkgKysr KysrKysKIHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzIHwgIDEg Kwogc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5zaCAgICAgfCAgMiArKwog c3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMgfCAgMSArCiBzcmNw a2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZiAgICAgICAgICB8ICA2ICsrKysrKwogc3Jj cGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mICAgICAgfCAgNiArKysrKysKIHNy Y3BrZ3MveDEzcy1iYXNlL2ZpbGVzL3gxM3Mtc2V0dXAgICAgICAgICAgIHwgMTggKysrKysrKysr KysrKysrKwogc3JjcGtncy94MTNzLWJhc2UvZmlsZXMveDEzcy5kZWZhdWx0ICAgICAgICAgfCAg NyArKysrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8 IDIyICsrKysrKysrKysrKysrKysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFzZS9JTlNUQUxMCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNz LnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtbmV0LWFk ZHJlc3MucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9k cmFjdXQuY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL21r aW5pdGNwaW8uY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVz L3gxM3Mtc2V0dXAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy94 MTNzLmRlZmF1bHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0 ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwgYi9zcmNwa2dzL3gxM3Mt YmFzZS9JTlNUQUxMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi42 YzU4NmY3OTY5ZjA2ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RB TEwKQEAgLTAsMCArMSw5IEBACitjYXNlICIkQUNUSU9OIiBpbgorcG9zdCkKKwkjIGFzc2lnbiBh IHJhbmRvbSB3bGFuIGFuZCBibHVldG9vaCBNQUMgYWRkcmVzc2VzIHdpdGggdGhlIGNvcnJlY3Qg T1VJCisJIyBhcyB0aGUgZmlybXdhcmUgZG9lc24ndCBzdXBwb3J0IHNhdmluZyB0aGlzCisJc2Vk IC1pIC1lICJzLzpVVTpWVjpXVy8kKG9kIC1BbiAtTjMgLXQgeDEgL2Rldi91cmFuZG9tIHwgdHIg JyAnICc6JykvZyIgXAorCQktZSAicy86WFg6WVk6WlovJChvZCAtQW4gLU4zIC10IHgxIC9kZXYv dXJhbmRvbSB8IHRyICcgJyAnOicpL2ciIFwKKwkJZXRjL2RlZmF1bHQveDEzcworCTs7Citlc2Fj CmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy83Mi10b3VjaHNjcmVlbi5ydWxl cyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jMGExY2I2Mzc0OTY0MwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVz CkBAIC0wLDAgKzEgQEAKK0FDVElPTj09ImFkZCIgLCBSVU4rPSIvYmluL3NoIC1jICdlY2hvIDQt MDAxMCA+IC9zeXMvYnVzL2kyYy9kcml2ZXJzL2kyY19oaWRfb2YvYmluZCciCmRpZmYgLS1naXQg YS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoIGIvc3JjcGtncy94MTNz LWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwMC4uYTAyNzNlZmJiMDYzYzMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCkBAIC0wLDAgKzEsMiBAQAorbXNnICJT ZXR0aW5nIGJsdWV0b290aCBNQUMgYWRkcmVzcy4uLiIKKy91c3IvbGliZXhlYy94MTNzLXNldHVw IGJsdWV0b290aApkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvOTAtbmV0LWFk ZHJlc3MucnVsZXMgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRkcmVzcy5ydWxl cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uMWM1MGE0YTJlNDVl YTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRk cmVzcy5ydWxlcwpAQCAtMCwwICsxIEBACitBQ1RJT049PSJhZGQiLCBTVUJTWVNURU09PSJuZXQi LCBLRVJORUxTPT0iMDAwNjowMTowMC4wIiwgUlVOKz0iL3Vzci9saWJleGVjL3gxM3Mtc2V0dXAg d2xhbiAkbmFtZSIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2RyYWN1dC5j b25mIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNvbmYKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmEyNGFjZmEzZDBhMDZlCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNvbmYKQEAgLTAsMCArMSw2IEBA Citmb3JjZV9kcml2ZXJzKz0iIG52bWUgcGh5X3Fjb21fcW1wX3BjaWUgIgorIyBrZXlib2FyZAor Zm9yY2VfZHJpdmVycys9IiBpMmNfaGlkX29mIGkyY19xY29tX2dlbmkgIgorIyBkaXNwbGF5Citm b3JjZV9kcml2ZXJzKz0iIGxlZHNfcWNvbV9scGcgcHdtX2JsIHFydHIgcG1pY19nbGlua19hbHRt b2RlIGdwaW9fc2J1X211eCBwYW5lbF9lZHAgbXNtICIKK2ZvcmNlX2RyaXZlcnMrPSIgcGh5X3Fj b21fcW1wX2NvbWJvIHBpbmN0cmxfc2M4MjgweHAgZ3B1Y2Nfc2M4MjgweHAgZGlzcGNjX3NjODI4 MHhwIHBoeV9xY29tX2VkcCAiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9t a2luaXRjcGlvLmNvbmYgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmE0MjhlZWZiMjAxNmY5 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5j b25mCkBAIC0wLDAgKzEsNiBAQAorTU9EVUxFUys9KG52bWUgcGh5X3Fjb21fcW1wX3BjaWUpCisj IGtleWJvYXJkCitNT0RVTEVTKz0oaTJjX2hpZF9vZiBpMmNfcWNvbV9nZW5pKQorIyBkaXNwbGF5 CitNT0RVTEVTKz0obGVkc19xY29tX2xwZyBwd21fYmwgcXJ0ciBwbWljX2dsaW5rX2FsdG1vZGUg Z3Bpb19zYnVfbXV4IHBhbmVsX2VkcCBtc20KKyBwaHlfcWNvbV9xbXBfY29tYm8gcGluY3RybF9z YzgyODB4cCBncHVjY19zYzgyODB4cCBkaXNwY2Nfc2M4MjgweHAgcGh5X3Fjb21fZWRwKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMveDEzcy1zZXR1cCBiL3NyY3BrZ3MveDEz cy1iYXNlL2ZpbGVzL3gxM3Mtc2V0dXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwMDAuLmNlMDg3MmU4M2Q4ZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNz LWJhc2UvZmlsZXMveDEzcy1zZXR1cApAQCAtMCwwICsxLDE4IEBACisjIS9iaW4vc2gKKyMgeDEz cy1zZXR1cCB3bGFuIDxpbnRlcmZhY2U+CisjIHgxM3Mtc2V0dXAgYmx1ZXRvb3RoCisKK1sgLXIg L2V0Yy9kZWZhdWx0L3gxM3MgXSAmJiAuIC9ldGMvZGVmYXVsdC94MTNzCisKK2Nhc2UgIiQxIiBp bgord2xhbikKKwlpZiBbIC1uICIkV0xBTl9NQUMiIF0gJiYgY29tbWFuZCAtdiBpcCA+L2Rldi9u dWxsIDI+JjE7IHRoZW4KKwkJZXhlYyBpcCBsaW5rIHNldCBkZXYgIiQyIiBhZGRyZXNzICIkV0xB Tl9NQUMiCisJZmkKKwk7OworYmx1ZXRvb3RoKQorCWlmIFsgLW4gIiRCTFVFVE9PVEhfTUFDIiBd ICYmIGNvbW1hbmQgLXYgYnRtZ210ID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQlleGVjIGJ0bWdt dCAtLWluZGV4IDAgcHVibGljLWFkZHIgIiRCTFVFVE9PVEhfTUFDIgorCWZpCisJOzsKK2VzYWMK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL3gxM3MuZGVmYXVsdCBiL3NyY3Br Z3MveDEzcy1iYXNlL2ZpbGVzL3gxM3MuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwMC4uMTM1MGE2NWM3YjY5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3gxM3MtYmFzZS9maWxlcy94MTNzLmRlZmF1bHQKQEAgLTAsMCArMSw3IEBACisjIHRoZSBY MTNzJyB3bGFuIGFuZCBibHVldG9vdGggZmlybXdhcmUvaGFyZHdhcmUgZG8gbm90IHN1cHBvcnQK KyMgc3RvcmluZyB0aGVpciBkZWZhdWx0IE1BQyBhZGRyZXNzLCBzbyBpdCBtdXN0IGJlIHNldCBv biBib290CisjIGJ5IGRlZmF1bHQsIHRoZXNlIGFyZSBzZXQgdG8gYSByYW5kb20gTUFDIGFkZHJl c3Mgd2l0aCB0aGUKKyMgY29ycmVjdCB2ZW5kb3IgcHJlZml4IChPVUkpIG9mIEY0OkEwOjBELiBU aGVzZSBNQUMgYWRkcmVzc2VzCisjIGNhbiBhbHNvIGJlIGFzc2lnbmVkIG1hbnVhbGx5IGJ5IGVk aXRpbmcgdGhpcyBmaWxlLgorV0xBTl9NQUM9IkY0OkEwOjBEOlVVOlZWOldXIgorQkxVRVRPT1RI X01BQz0iRjQ6QTA6MEQ6WFg6WVk6WloiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS90 ZW1wbGF0ZSBiL3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4xN2RhNWVlMzg4Y2MzZAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCkBAIC0wLDAgKzEsMjIgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3gxM3MtYmFzZScKK3BrZ25hbWU9eDEzcy1iYXNlCit2ZXJzaW9uPTEKK3Jldmlz aW9uPTEKK2FyY2hzPSJhYXJjaDY0KiIKK2RlcGVuZHM9ImxpbnV4LW1haW5saW5lPj02LjggbGlu dXgtZmlybXdhcmUtcXVhbGNvbW0gYWxzYS11Y20tY29uZiIKK3Nob3J0X2Rlc2M9IlZvaWQgTGlu dXggVGhpbmtwYWQgWDEzcyBwbGF0Zm9ybSBwYWNrYWdlIgorbWFpbnRhaW5lcj0iY2xhc3NhYmJ5 YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PiIKK2xpY2Vuc2U9IlB1YmxpYyBEb21haW4iCito b21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZyIKK2NvbmZfZmlsZXM9Ii9ldGMvZGVm YXVsdC94MTNzIgorCitkb19pbnN0YWxsKCkgeworCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvNzIt dG91Y2hzY3JlZW4ucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDcyLXgxM3MtdG91Y2hz Y3JlZW4ucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkwLW5ldC1hZGRyZXNzLnJ1bGVz IDY0NCB1c3IvbGliL3VkZXYvcnVsZXMuZCA5MC14MTNzLW5ldC1hZGRyZXNzLnJ1bGVzCisJdmlu c3RhbGwgIiR7RklMRVNESVJ9Ii85MC1idC1hZGRyZXNzLnNoIDY0NCBldGMvcnVuaXQvY29yZS1z ZXJ2aWNlcyA5MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL2Ry YWN1dC5jb25mIDY0NCB1c3IvbGliL2RyYWN1dC9kcmFjdXQuY29uZi5kIHgxM3MuY29uZgorCXZp bnN0YWxsICIke0ZJTEVTRElSfSIveDEzcy1zZXR1cCA3NTUgdXNyL2xpYmV4ZWMKKwl2aW5zdGFs bCAiJHtGSUxFU0RJUn0iL3gxM3MuZGVmYXVsdCA2NDQgZXRjL2RlZmF1bHQgeDEzcworCSMgbm90 IGN1cnJlbnRseSB3b3JraW5nCisJIyB2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL21raW5pdGNwaW8u Y29uZiA2NDQgZXRjL21raW5pdGNwaW8uY29uZi5kIHgxM3MuY29uZgorfQo= --===============1847912179448103505==--