From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3D2E6C2D0EF for ; Fri, 17 Apr 2020 17:51:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F3A4520780 for ; Fri, 17 Apr 2020 17:51:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730008AbgDQRvC (ORCPT ); Fri, 17 Apr 2020 13:51:02 -0400 Received: from shards.monkeyblade.net ([23.128.96.9]:38388 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729980AbgDQRvC (ORCPT ); Fri, 17 Apr 2020 13:51:02 -0400 Received: from localhost (unknown [IPv6:2601:601:9f00:477::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 4919012810865 for ; Fri, 17 Apr 2020 10:51:01 -0700 (PDT) Date: Fri, 17 Apr 2020 10:51:00 -0700 (PDT) Message-Id: <20200417.105100.821338189941807731.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller X-Mailer: Mew version 6.8 on Emacs 26.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Fri_Apr_17_10_51_00_2020_322)--" Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 17 Apr 2020 10:51:02 -0700 (PDT) Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org ----Next_Part(Fri_Apr_17_10_51_00_2020_322)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v5.5 and v5.6 -stable, respectively. Thank you! ----Next_Part(Fri_Apr_17_10_51_00_2020_322)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_55.mbox" RnJvbSA4MjJjZmY3YWYyNDlhOWJlYWRhYTU2MTk1MTg4YTczNzdmMWU3NTViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5QGxp bnV0cm9uaXguZGU+CkRhdGU6IFRodSwgMTYgQXByIDIwMjAgMTc6NTc6NDAgKzAyMDAKU3ViamVj dDogW1BBVENIIDAxLzE5XSBhbWQteGdiZTogVXNlIF9fbmFwaV9zY2hlZHVsZSgpIGluIEJIIGNv bnRleHQKClsgVXBzdHJlYW0gY29tbWl0IGQ1MTg2OTFjYmQzYmUzZGFlMjE4ZTA1Y2NhM2YzZmM5 YjJmMWFhNzcgXQoKVGhlIGRyaXZlciB1c2VzIF9fbmFwaV9zY2hlZHVsZV9pcnFvZmYoKSB3aGlj aCBpcyBmaW5lIGFzIGxvbmcgYXMgaXQgaXMKaW52b2tlZCB3aXRoIGRpc2FibGVkIGludGVycnVw dHMgYnkgZXZlcnlib2R5LiBTaW5jZSB0aGUgY29tbWl0Cm1lbnRpb25lZCBiZWxvdyB0aGUgZHJp dmVyIG1heSBpbnZva2UgeGdiZV9pc3JfdGFzaygpIGluIHRhc2tsZXQvc29mdGlycQpjb250ZXh0 LiBUaGlzIG1heSBsZWFkIHRvIGxpc3QgY29ycnVwdGlvbiBpZiBhbm90aGVyIGRyaXZlciB1c2Vz Cl9fbmFwaV9zY2hlZHVsZV9pcnFvZmYoKSBpbiBJUlEgY29udGV4dC4KClVzZSBfX25hcGlfc2No ZWR1bGUoKSB3aGljaCBzYWZlIHRvIHVzZSBmcm9tIElSUSBhbmQgc29mdGlycSBjb250ZXh0LgoK Rml4ZXM6IDg1Yjg1Yzg1MzQwMWQgKCJhbWQteGdiZTogUmUtaXNzdWUgaW50ZXJydXB0IGlmIGlu dGVycnVwdCBzdGF0dXMgbm90IGNsZWFyZWQiKQpTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5k cnplaiBTaWV3aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+CkFja2VkLWJ5OiBUb20gTGVuZGFj a3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPgpDYzogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVu ZGFja3lAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtZHJ2LmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1kcnYuYwppbmRleCA5OGY4ZjIwMzMxNTQu LjNiZDIwZjc2NTEyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUv eGdiZS1kcnYuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5j CkBAIC01MTQsNyArNTE0LDcgQEAgc3RhdGljIHZvaWQgeGdiZV9pc3JfdGFzayh1bnNpZ25lZCBs b25nIGRhdGEpCiAJCQkJeGdiZV9kaXNhYmxlX3J4X3R4X2ludHMocGRhdGEpOwogCiAJCQkJLyog VHVybiBvbiBwb2xsaW5nICovCi0JCQkJX19uYXBpX3NjaGVkdWxlX2lycW9mZigmcGRhdGEtPm5h cGkpOworCQkJCV9fbmFwaV9zY2hlZHVsZSgmcGRhdGEtPm5hcGkpOwogCQkJfQogCQl9IGVsc2Ug ewogCQkJLyogRG9uJ3QgY2xlYXIgUngvVHggc3RhdHVzIGlmIGRvaW5nIHBlciBjaGFubmVsIERN QQotLSAKMi4yMC4xCgoKRnJvbSAxZTRlMjFhODkwNThiMjFlNzkwN2JiOGI2OTFjMjI3NGFjMWQy ZjgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYWVoZWUgWW9vIDxhcDQyMDA3M0Bn bWFpbC5jb20+CkRhdGU6IFR1ZSwgNyBBcHIgMjAyMCAxMzoyMzoyMSArMDAwMApTdWJqZWN0OiBb UEFUQ0ggMDIvMTldIGhzcjogY2hlY2sgcHJvdG9jb2wgdmVyc2lvbiBpbiBoc3JfbmV3bGluaygp CgpbIFVwc3RyZWFtIGNvbW1pdCA0ZmFhYjhjNDQ2ZGVmNzY2N2FkZjFmNzIyNDU2YzJmNGMzMDQw NjljIF0KCkluIHRoZSBjdXJyZW50IGhzciBjb2RlLCBvbmx5IDAgYW5kIDEgcHJvdG9jb2wgdmVy c2lvbnMgYXJlIHZhbGlkLgpCdXQgY3VycmVudCBoc3IgY29kZSBkb2Vzbid0IGNoZWNrIHRoZSB2 ZXJzaW9uLCB3aGljaCBpcyByZWNlaXZlZCBieQp1c2Vyc3BhY2UuCgpUZXN0IGNvbW1hbmRzOgog ICAgaXAgbGluayBhZGQgZHVtbXkwIHR5cGUgZHVtbXkKICAgIGlwIGxpbmsgYWRkIGR1bW15MSB0 eXBlIGR1bW15CiAgICBpcCBsaW5rIGFkZCBoc3IwIHR5cGUgaHNyIHNsYXZlMSBkdW1teTAgc2xh dmUyIGR1bW15MSB2ZXJzaW9uIDQKCkluIHRoZSB0ZXN0IGNvbW1hbmRzLCB2ZXJzaW9uIDQgaXMg aW52YWxpZC4KU28sIHRoZSBjb21tYW5kIHNob3VsZCBiZSBmYWlsZWQuCgpBZnRlciB0aGlzIHBh dGNoLCBmb2xsb3dpbmcgZXJyb3Igd2lsbCBvY2N1ci4KIkVycm9yOiBoc3I6IE9ubHkgdmVyc2lv bnMgMC4uMSBhcmUgc3VwcG9ydGVkLiIKCkZpeGVzOiBlZTFjMjc5NzcyODQgKCJuZXQvaHNyOiBB ZGRlZCBzdXBwb3J0IGZvciBIU1IgdjEiKQpTaWduZWQtb2ZmLWJ5OiBUYWVoZWUgWW9vIDxhcDQy MDA3M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaHNyL2hzcl9uZXRsaW5rLmMgfCAxMCArKysrKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9oc3IvaHNyX25ldGxpbmsuYyBiL25ldC9oc3IvaHNyX25ldGxpbmsuYwppbmRleCBm YWUyMWM4NjNiMWYuLjU1YzBiMmU4NzJhNSAxMDA2NDQKLS0tIGEvbmV0L2hzci9oc3JfbmV0bGlu ay5jCisrKyBiL25ldC9oc3IvaHNyX25ldGxpbmsuYwpAQCAtNjEsMTAgKzYxLDE2IEBAIHN0YXRp YyBpbnQgaHNyX25ld2xpbmsoc3RydWN0IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwKIAllbHNlCiAJCW11bHRpY2FzdF9zcGVjID0gbmxhX2dldF91OChkYXRhW0lGTEFfSFNS X01VTFRJQ0FTVF9TUEVDXSk7CiAKLQlpZiAoIWRhdGFbSUZMQV9IU1JfVkVSU0lPTl0pCisJaWYg KCFkYXRhW0lGTEFfSFNSX1ZFUlNJT05dKSB7CiAJCWhzcl92ZXJzaW9uID0gMDsKLQllbHNlCisJ fSBlbHNlIHsKIAkJaHNyX3ZlcnNpb24gPSBubGFfZ2V0X3U4KGRhdGFbSUZMQV9IU1JfVkVSU0lP Tl0pOworCQlpZiAoaHNyX3ZlcnNpb24gPiAxKSB7CisJCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0 YWNrLAorCQkJCQkgICAiT25seSB2ZXJzaW9ucyAwLi4xIGFyZSBzdXBwb3J0ZWQiKTsKKwkJCXJl dHVybiAtRUlOVkFMOworCQl9CisJfQogCiAJcmV0dXJuIGhzcl9kZXZfZmluYWxpemUoZGV2LCBs aW5rLCBtdWx0aWNhc3Rfc3BlYywgaHNyX3ZlcnNpb24pOwogfQotLSAKMi4yMC4xCgoKRnJvbSAx ZjM1YjhkYjhmMWNlZWNhM2NhZTEwOTViM2JiNTdlZjA2ZWYxNDZkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWljaGFlbD0yMFdlaT1DMz05Rj89IDxtaWNoYWVsLndl aXNzQGFpc2VjLmZyYXVuaG9mZXIuZGU+CkRhdGU6IFR1ZSwgNyBBcHIgMjAyMCAxMzoxMTo0OCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMTldIGwydHA6IEFsbG93IG1hbmFnZW1lbnQgb2YgdHVu bmVscyBhbmQgc2Vzc2lvbiBpbiB1c2VyCiBuYW1lc3BhY2UKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDJhYmUwNTIzNGYyZTg5MjcyOGMzODgxNjk2 MzFlNGI5OWYzNTRjODYgXQoKQ3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgTDJUUHYzIHR1bm5l bHMgYW5kIHNlc3Npb24gdGhyb3VnaCBuZXRsaW5rCnJlcXVpcmVzIENBUF9ORVRfQURNSU4uIEhv d2V2ZXIsIGEgcHJvY2VzcyB3aXRoIENBUF9ORVRfQURNSU4gaW4gYQpub24taW5pdGlhbCB1c2Vy IG5hbWVzcGFjZSBnZXRzIGFuIEVQRVJNIGR1ZSB0byB0aGUgdXNlIG9mIHRoZQpnZW5ldGxpbmsg R0VOTF9BRE1JTl9QRVJNIGZsYWcuIFRodXMsIG1hbmFnZW1lbnQgb2YgTDJUUCBWUE5zIGluc2lk ZQphbiB1bnByaXZpbGVnZWQgY29udGFpbmVyIHdvbid0IHdvcmsuCgpXZSByZXBsYWNlZCB0aGUg R0VOTF9BRE1JTl9QRVJNIGJ5IHRoZSBHRU5MX1VOU19BRE1JTl9QRVJNIGZsYWcKc2ltaWxhciB0 byBvdGhlciBuZXR3b3JrIG1vZHVsZXMgd2hpY2ggYWxzbyBoYWQgdGhpcyBwcm9ibGVtLCBlLmcu LApvcGVudnN3aXRjaCAoY29tbWl0IDRhOTI2MDJhYTFjZCAib3BlbnZzd2l0Y2g6IGFsbG93IG1h bmFnZW1lbnQgZnJvbQppbnNpZGUgdXNlciBuYW1lc3BhY2VzIikgYW5kIG5sODAyMTEgKGNvbW1p dCA1NjE3YzZjZDZmODQ0ICJubDgwMjExOgpBbGxvdyBwcml2aWxlZ2VkIG9wZXJhdGlvbnMgZnJv bSB1c2VyIG5hbWVzcGFjZXMiKS4KCkkgdGVzdGVkIHRoaXMgaW4gdGhlIGNvbnRhaW5lciBydW50 aW1lIHRydXN0bTMgKHRydXN0bTMuZ2l0aHViLmlvKQphbmQgd2FzIGFibGUgdG8gY3JlYXRlIGwy dHAgdHVubmVscyBhbmQgc2Vzc2lvbnMgaW4gdW5wcml2aWxpZ2VkCih1c2VyIG5hbWVzcGFjZWQp IGNvbnRhaW5lcnMgdXNpbmcgYSBwcml2YXRlIG5ldHdvcmsgbmFtZXNwYWNlLgpGb3Igb3RoZXIg cnVudGltZXMgc3VjaCBhcyBkb2NrZXIgb3IgbHhjIHRoaXMgc2hvdWxkIHdvcmssIHRvby4KClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgV2Vpw58gPG1pY2hhZWwud2Vpc3NAYWlzZWMuZnJhdW5ob2Zl ci5kZT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9sMnRwL2wydHBfbmV0bGluay5jIHwgMTYgKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9uZXQvbDJ0cC9sMnRwX25ldGxpbmsuYyBiL25ldC9sMnRwL2wydHBfbmV0bGluay5jCmluZGV4 IGY1YTliZGM0OTgwYy4uZWJiMzgxYzNmMWI5IDEwMDY0NAotLS0gYS9uZXQvbDJ0cC9sMnRwX25l dGxpbmsuYworKysgYi9uZXQvbDJ0cC9sMnRwX25ldGxpbmsuYwpAQCAtOTIwLDUxICs5MjAsNTEg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX29wcyBsMnRwX25sX29wc1tdID0gewogCQkuY21k ID0gTDJUUF9DTURfVFVOTkVMX0NSRUFURSwKIAkJLnZhbGlkYXRlID0gR0VOTF9ET05UX1ZBTElE QVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLAogCQkuZG9pdCA9IGwydHBfbmxf Y21kX3R1bm5lbF9jcmVhdGUsCi0JCS5mbGFncyA9IEdFTkxfQURNSU5fUEVSTSwKKwkJLmZsYWdz ID0gR0VOTF9VTlNfQURNSU5fUEVSTSwKIAl9LAogCXsKIAkJLmNtZCA9IEwyVFBfQ01EX1RVTk5F TF9ERUxFVEUsCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5M X0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF90dW5uZWxfZGVsZXRl LAotCQkuZmxhZ3MgPSBHRU5MX0FETUlOX1BFUk0sCisJCS5mbGFncyA9IEdFTkxfVU5TX0FETUlO X1BFUk0sCiAJfSwKIAl7CiAJCS5jbWQgPSBMMlRQX0NNRF9UVU5ORUxfTU9ESUZZLAogCQkudmFs aWRhdGUgPSBHRU5MX0RPTlRfVkFMSURBVEVfU1RSSUNUIHwgR0VOTF9ET05UX1ZBTElEQVRFX0RV TVAsCiAJCS5kb2l0ID0gbDJ0cF9ubF9jbWRfdHVubmVsX21vZGlmeSwKLQkJLmZsYWdzID0gR0VO TF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewog CQkuY21kID0gTDJUUF9DTURfVFVOTkVMX0dFVCwKIAkJLnZhbGlkYXRlID0gR0VOTF9ET05UX1ZB TElEQVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLAogCQkuZG9pdCA9IGwydHBf bmxfY21kX3R1bm5lbF9nZXQsCiAJCS5kdW1waXQgPSBsMnRwX25sX2NtZF90dW5uZWxfZHVtcCwK LQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9Q RVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9DUkVBVEUsCiAJCS52YWxp ZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVN UCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNzaW9uX2NyZWF0ZSwKLQkJLmZsYWdzID0gR0VO TF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewog CQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9ERUxFVEUsCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9O VF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBs MnRwX25sX2NtZF9zZXNzaW9uX2RlbGV0ZSwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAor CQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9D TURfU0VTU0lPTl9NT0RJRlksCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJ Q1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNz aW9uX21vZGlmeSwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5M X1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9HRVQs CiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFM SURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNzaW9uX2dldCwKIAkJLmR1bXBp dCA9IGwydHBfbmxfY21kX3Nlc3Npb25fZHVtcCwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJN LAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiB9OwogCi0tIAoyLjIwLjEK CgpGcm9tIDEyMDc2ZGIwYmYyODIyYTNjYTU5YzhkOGU4NzY3MDY1YjBiMGZkMmEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IERFTkcgUWluZ2ZhbmcgPGRxZmV4dEBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgMTQgQXByIDIwMjAgMTQ6MzQ6MDggKzA4MDAKU3ViamVjdDogW1BBVENIIDA0LzE5 XSBuZXQ6IGRzYTogbXQ3NTMwOiBmaXggdGFnZ2VkIGZyYW1lcyBwYXNzLXRocm91Z2ggaW4KIFZM QU4tdW5hd2FyZSBtb2RlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3Ry ZWFtIGNvbW1pdCBlMDQ1MTI0ZTkzOTk1ZmUwMWU0MmVkNTMwMDAzZGRiYTVkNTVkYjRmIF0KCklu IFZMQU4tdW5hd2FyZSBtb2RlLCB0aGUgRWdyZXNzIFRhZyAoRUdfVEFHKSBmaWVsZCBpbiBQb3J0 IFZMQU4KQ29udHJvbCByZWdpc3RlciBtdXN0IGJlIHNldCB0byBDb25zaXN0ZW50IHRvIGxldCB0 YWdnZWQgZnJhbWVzIHBhc3MKdGhyb3VnaCBhcyBpcywgb3RoZXJ3aXNlIHRoZWlyIHRhZ3Mgd2ls bCBiZSBzdHJpcHBlZC4KCkZpeGVzOiA4MzE2M2Y3ZGNhNTYgKCJuZXQ6IGRzYTogbWVkaWF0ZWs6 IGFkZCBWTEFOIHN1cHBvcnQgZm9yIE1UNzUzMCIpClNpZ25lZC1vZmYtYnk6IERFTkcgUWluZ2Zh bmcgPGRxZmV4dEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZh aW5lbGxpQGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBSZW7DqSB2YW4gRG9yc3QgPG9wZW5zb3VyY2VA dmRvcnN0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyB8IDE4ICsrKysrKysrKysrKy0t LS0tLQogZHJpdmVycy9uZXQvZHNhL210NzUzMC5oIHwgIDcgKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAxOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCA5MzZi OWI2NWFjY2EuLjQ0ZGVhNjVkODExNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL210NzUz MC5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwpAQCAtODU3LDggKzg1Nyw5IEBAIG10 NzUzMF9wb3J0X3NldF92bGFuX3VuYXdhcmUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9y dCkKIAkgKi8KIAltdDc1MzBfcm13KHByaXYsIE1UNzUzMF9QQ1JfUChwb3J0KSwgUENSX1BPUlRf VkxBTl9NQVNLLAogCQkgICBNVDc1MzBfUE9SVF9NQVRSSVhfTU9ERSk7Ci0JbXQ3NTMwX3Jtdyhw cml2LCBNVDc1MzBfUFZDX1AocG9ydCksIFZMQU5fQVRUUl9NQVNLLAotCQkgICBWTEFOX0FUVFIo TVQ3NTMwX1ZMQU5fVFJBTlNQQVJFTlQpKTsKKwltdDc1MzBfcm13KHByaXYsIE1UNzUzMF9QVkNf UChwb3J0KSwgVkxBTl9BVFRSX01BU0sgfCBQVkNfRUdfVEFHX01BU0ssCisJCSAgIFZMQU5fQVRU UihNVDc1MzBfVkxBTl9UUkFOU1BBUkVOVCkgfAorCQkgICBQVkNfRUdfVEFHKE1UNzUzMF9WTEFO X0VHX0NPTlNJU1RFTlQpKTsKIAogCWZvciAoaSA9IDA7IGkgPCBNVDc1MzBfTlVNX1BPUlRTOyBp KyspIHsKIAkJaWYgKGRzYV9pc191c2VyX3BvcnQoZHMsIGkpICYmCkBAIC04NzQsOCArODc1LDgg QEAgbXQ3NTMwX3BvcnRfc2V0X3ZsYW5fdW5hd2FyZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGlu dCBwb3J0KQogCWlmIChhbGxfdXNlcl9wb3J0c19yZW1vdmVkKSB7CiAJCW10NzUzMF93cml0ZShw cml2LCBNVDc1MzBfUENSX1AoTVQ3NTMwX0NQVV9QT1JUKSwKIAkJCSAgICAgUENSX01BVFJJWChk c2FfdXNlcl9wb3J0cyhwcml2LT5kcykpKTsKLQkJbXQ3NTMwX3dyaXRlKHByaXYsIE1UNzUzMF9Q VkNfUChNVDc1MzBfQ1BVX1BPUlQpLAotCQkJICAgICBQT1JUX1NQRUNfVEFHKTsKKwkJbXQ3NTMw X3dyaXRlKHByaXYsIE1UNzUzMF9QVkNfUChNVDc1MzBfQ1BVX1BPUlQpLCBQT1JUX1NQRUNfVEFH CisJCQkgICAgIHwgUFZDX0VHX1RBRyhNVDc1MzBfVkxBTl9FR19DT05TSVNURU5UKSk7CiAJfQog fQogCkBAIC05MDEsOCArOTAyLDkgQEAgbXQ3NTMwX3BvcnRfc2V0X3ZsYW5fYXdhcmUoc3RydWN0 IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCkKIAkvKiBTZXQgdGhlIHBvcnQgYXMgYSB1c2VyIHBv cnQgd2hpY2ggaXMgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgVklECiAJICogZnJvbSBpbmNvbWlu ZyBwYWNrZXRzIGJlZm9yZSBmZXRjaGluZyBlbnRyeSB3aXRoaW4gdGhlIFZMQU4gdGFibGUuCiAJ ICovCi0JbXQ3NTMwX3Jtdyhwcml2LCBNVDc1MzBfUFZDX1AocG9ydCksIFZMQU5fQVRUUl9NQVNL LAotCQkgICBWTEFOX0FUVFIoTVQ3NTMwX1ZMQU5fVVNFUikpOworCW10NzUzMF9ybXcocHJpdiwg TVQ3NTMwX1BWQ19QKHBvcnQpLCBWTEFOX0FUVFJfTUFTSyB8IFBWQ19FR19UQUdfTUFTSywKKwkJ ICAgVkxBTl9BVFRSKE1UNzUzMF9WTEFOX1VTRVIpIHwKKwkJICAgUFZDX0VHX1RBRyhNVDc1MzBf VkxBTl9FR19ESVNBQkxFRCkpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTMzMiw2ICsxMzM0LDEw IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpCiAJCQltdDc1MzBfY3B1X3Bv cnRfZW5hYmxlKHByaXYsIGkpOwogCQllbHNlCiAJCQltdDc1MzBfcG9ydF9kaXNhYmxlKGRzLCBp KTsKKworCQkvKiBFbmFibGUgY29uc2lzdGVudCBlZ3Jlc3MgdGFnICovCisJCW10NzUzMF9ybXco cHJpdiwgTVQ3NTMwX1BWQ19QKGkpLCBQVkNfRUdfVEFHX01BU0ssCisJCQkgICBQVkNfRUdfVEFH KE1UNzUzMF9WTEFOX0VHX0NPTlNJU1RFTlQpKTsKIAl9CiAKIAkvKiBTZXR1cCBwb3J0IDUgKi8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaCBiL2RyaXZlcnMvbmV0L2RzYS9t dDc1MzAuaAppbmRleCBjY2I5ZGE4Y2FkMGQuLjlhNzY5YzZiNzcwMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZHNhL210NzUzMC5oCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaApAQCAt MTY3LDkgKzE2NywxNiBAQCBlbnVtIG10NzUzMF9wb3J0X21vZGUgewogLyogUmVnaXN0ZXIgZm9y IHBvcnQgdmxhbiBjb250cm9sICovCiAjZGVmaW5lIE1UNzUzMF9QVkNfUCh4KQkJCSgweDIwMTAg KyAoKHgpICogMHgxMDApKQogI2RlZmluZSAgUE9SVF9TUEVDX1RBRwkJCUJJVCg1KQorI2RlZmlu ZSAgUFZDX0VHX1RBRyh4KQkJCSgoKHgpICYgMHg3KSA8PCA4KQorI2RlZmluZSAgUFZDX0VHX1RB R19NQVNLCQlQVkNfRUdfVEFHKDcpCiAjZGVmaW5lICBWTEFOX0FUVFIoeCkJCQkoKCh4KSAmIDB4 MykgPDwgNikKICNkZWZpbmUgIFZMQU5fQVRUUl9NQVNLCQkJVkxBTl9BVFRSKDMpCiAKK2VudW0g bXQ3NTMwX3ZsYW5fcG9ydF9lZ190YWcgeworCU1UNzUzMF9WTEFOX0VHX0RJU0FCTEVEID0gMCwK KwlNVDc1MzBfVkxBTl9FR19DT05TSVNURU5UID0gMSwKK307CisKIGVudW0gbXQ3NTMwX3ZsYW5f cG9ydF9hdHRyIHsKIAlNVDc1MzBfVkxBTl9VU0VSID0gMCwKIAlNVDc1MzBfVkxBTl9UUkFOU1BB UkVOVCA9IDMsCi0tIAoyLjIwLjEKCgpGcm9tIDhkZGYyYmZhOWNjNmFlNTAzOWM2MTllYTFiZWM4 OWQ3MGQ2ZDQ1ODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRhcmFzIENob3JueWkg PHRhcmFzLmNob3JueWlAcGx2aXNpb24uZXU+CkRhdGU6IFRodSwgOSBBcHIgMjAyMCAyMDoyNToy NCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMTldIG5ldDogaXB2NDogZGV2aW5ldDogRml4IGNy YXNoIHdoZW4gYWRkL2RlbCBtdWx0aWNhc3QgSVAKIHdpdGggYXV0b2pvaW4KClsgVXBzdHJlYW0g Y29tbWl0IDY5MGNjODYzMjFlYjliY2VlMzcxNzEwMjUyNzQyZmIxNmZlOTY4MjQgXQoKV2hlbiBD T05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQgYW5kIG11bHRpY2FzdCBpcCBpcyBhZGRlZCB0 byB0aGUgZGV2aWNlCndpdGggYXV0b2pvaW4gZmxhZyBvciB3aGVuIG11bHRpY2FzdCBpcCBpcyBk ZWxldGVkIGtlcm5lbCB3aWxsIGNyYXNoLgoKc3RlcHMgdG8gcmVwcm9kdWNlOgoKaXAgYWRkciBh ZGQgMjI0LjAuMC4wLzMyIGRldiBldGgwCmlwIGFkZHIgZGVsIDIyNC4wLjAuMC8zMiBkZXYgZXRo MAoKb3IKCmlwIGFkZHIgYWRkIDIyNC4wLjAuMC8zMiBkZXYgZXRoMCBhdXRvam9pbgoKVW5hYmxl IHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IHZpcnR1YWwgYWRk cmVzcyAwMDAwMDAwMDAwMDAwMDg4CiBwYyA6IF9yYXdfd3JpdGVfbG9ja19pcnFzYXZlKzB4MWUw LzB4MmFjCiBsciA6IGxvY2tfc29ja19uZXN0ZWQrMHgxYy8weDYwCiBDYWxsIHRyYWNlOgogIF9y YXdfd3JpdGVfbG9ja19pcnFzYXZlKzB4MWUwLzB4MmFjCiAgbG9ja19zb2NrX25lc3RlZCsweDFj LzB4NjAKICBpcF9tY19jb25maWcuaXNyYS4yOCsweDUwLzB4ZTAKICBpbmV0X3J0bV9kZWxhZGRy KzB4MWE4LzB4MWYwCiAgcnRuZXRsaW5rX3Jjdl9tc2crMHgxMjAvMHgzNTAKICBuZXRsaW5rX3Jj dl9za2IrMHg1OC8weDEyMAogIHJ0bmV0bGlua19yY3YrMHgxNC8weDIwCiAgbmV0bGlua191bmlj YXN0KzB4MWI4LzB4MjcwCiAgbmV0bGlua19zZW5kbXNnKzB4MWEwLzB4M2IwCiAgX19fX3N5c19z ZW5kbXNnKzB4MjQ4LzB4MjkwCiAgX19fc3lzX3NlbmRtc2crMHg4MC8weGMwCiAgX19zeXNfc2Vu ZG1zZysweDY4LzB4YzAKICBfX2FybTY0X3N5c19zZW5kbXNnKzB4MjAvMHgzMAogIGVsMF9zdmNf Y29tbW9uLmNvbnN0cHJvcC4yKzB4ODgvMHgxNTAKICBkb19lbDBfc3ZjKzB4MjAvMHg4MAogZWww X3N5bmNfaGFuZGxlcisweDExOC8weDE5MAogIGVsMF9zeW5jKzB4MTQwLzB4MTgwCgpGaXhlczog OTNhNzE0ZDZiNTNkICgibXVsdGljYXN0OiBFeHRlbmQgaXAgYWRkcmVzcyBjb21tYW5kIHRvIGVu YWJsZSBtdWx0aWNhc3QgZ3JvdXAgam9pbi9sZWF2ZSBvbiIpClNpZ25lZC1vZmYtYnk6IFRhcmFz IENob3JueWkgPHRhcmFzLmNob3JueWlAcGx2aXNpb24uZXU+ClNpZ25lZC1vZmYtYnk6IFZhZHlt IEtvY2hhbiA8dmFkeW0ua29jaGFuQHBsdmlzaW9uLmV1PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZGV2aW5ldC5jIHwg MTMgKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZp bmV0LmMKaW5kZXggZTQ2MzJiZDIwMjZkLi40NThkYzZlYjVhNjggMTAwNjQ0Ci0tLSBhL25ldC9p cHY0L2RldmluZXQuYworKysgYi9uZXQvaXB2NC9kZXZpbmV0LmMKQEAgLTYxNCwxMiArNjE0LDE1 IEBAIHN0cnVjdCBpbl9pZmFkZHIgKmluZXRfaWZhX2J5cHJlZml4KHN0cnVjdCBpbl9kZXZpY2Ug KmluX2RldiwgX19iZTMyIHByZWZpeCwKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGludCBp cF9tY19jb25maWcoc3RydWN0IHNvY2sgKnNrLCBib29sIGpvaW4sIGNvbnN0IHN0cnVjdCBpbl9p ZmFkZHIgKmlmYSkKK3N0YXRpYyBpbnQgaXBfbWNfYXV0b2pvaW5fY29uZmlnKHN0cnVjdCBuZXQg Km5ldCwgYm9vbCBqb2luLAorCQkJCSBjb25zdCBzdHJ1Y3QgaW5faWZhZGRyICppZmEpCiB7Cisj aWYgZGVmaW5lZChDT05GSUdfSVBfTVVMVElDQVNUKQogCXN0cnVjdCBpcF9tcmVxbiBtcmVxID0g ewogCQkuaW1yX211bHRpYWRkci5zX2FkZHIgPSBpZmEtPmlmYV9hZGRyZXNzLAogCQkuaW1yX2lm aW5kZXggPSBpZmEtPmlmYV9kZXYtPmRldi0+aWZpbmRleCwKIAl9OworCXN0cnVjdCBzb2NrICpz ayA9IG5ldC0+aXB2NC5tY19hdXRvam9pbl9zazsKIAlpbnQgcmV0OwogCiAJQVNTRVJUX1JUTkwo KTsKQEAgLTYzMiw2ICs2MzUsOSBAQCBzdGF0aWMgaW50IGlwX21jX2NvbmZpZyhzdHJ1Y3Qgc29j ayAqc2ssIGJvb2wgam9pbiwgY29uc3Qgc3RydWN0IGluX2lmYWRkciAqaWZhKQogCXJlbGVhc2Vf c29jayhzayk7CiAKIAlyZXR1cm4gcmV0OworI2Vsc2UKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cisj ZW5kaWYKIH0KIAogc3RhdGljIGludCBpbmV0X3J0bV9kZWxhZGRyKHN0cnVjdCBza19idWZmICpz a2IsIHN0cnVjdCBubG1zZ2hkciAqbmxoLApAQCAtNjc1LDcgKzY4MSw3IEBAIHN0YXRpYyBpbnQg aW5ldF9ydG1fZGVsYWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5s aCwKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChpcHY0X2lzX211bHRpY2FzdChpZmEtPmlmYV9hZGRy ZXNzKSkKLQkJCWlwX21jX2NvbmZpZyhuZXQtPmlwdjQubWNfYXV0b2pvaW5fc2ssIGZhbHNlLCBp ZmEpOworCQkJaXBfbWNfYXV0b2pvaW5fY29uZmlnKG5ldCwgZmFsc2UsIGlmYSk7CiAJCV9faW5l dF9kZWxfaWZhKGluX2RldiwgaWZhcCwgMSwgbmxoLCBORVRMSU5LX0NCKHNrYikucG9ydGlkKTsK IAkJcmV0dXJuIDA7CiAJfQpAQCAtOTQwLDggKzk0Niw3IEBAIHN0YXRpYyBpbnQgaW5ldF9ydG1f bmV3YWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAkJICov CiAJCXNldF9pZmFfbGlmZXRpbWUoaWZhLCB2YWxpZF9sZnQsIHByZWZlcmVkX2xmdCk7CiAJCWlm IChpZmEtPmlmYV9mbGFncyAmIElGQV9GX01DQVVUT0pPSU4pIHsKLQkJCWludCByZXQgPSBpcF9t Y19jb25maWcobmV0LT5pcHY0Lm1jX2F1dG9qb2luX3NrLAotCQkJCQkgICAgICAgdHJ1ZSwgaWZh KTsKKwkJCWludCByZXQgPSBpcF9tY19hdXRvam9pbl9jb25maWcobmV0LCB0cnVlLCBpZmEpOwog CiAJCQlpZiAocmV0IDwgMCkgewogCQkJCWluZXRfZnJlZV9pZmEoaWZhKTsKLS0gCjIuMjAuMQoK CkZyb20gMjgzMjU3OTUxYjRkYmY2MTIyYmNhYWVhNzE5MTBlZDU1Y2VjZjkzZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogVGltIFN0YWxsYXJkIDxjb2RlQHRpbXN0YWxsYXJkLm1lLnVr PgpEYXRlOiBGcmksIDMgQXByIDIwMjAgMjE6MjY6MjEgKzAxMDAKU3ViamVjdDogW1BBVENIIDA2 LzE5XSBuZXQ6IGlwdjY6IGRvIG5vdCBjb25zaWRlciByb3V0ZXMgdmlhIGdhdGV3YXlzIGZvcgog YW55Y2FzdCBhZGRyZXNzIGNoZWNrCgpbIFVwc3RyZWFtIGNvbW1pdCAwM2UyYTk4NGI2MTY1NjIx ZjI4N2ZhZGY1ZjRiNWNkOGI1OGRjYWJhIF0KClRoZSBiZWhhdmlvdXIgZm9yIHdoYXQgaXMgY29u c2lkZXJlZCBhbiBhbnljYXN0IGFkZHJlc3MgY2hhbmdlZCBpbgpjb21taXQgNDVlNGZkMjY2ODNj ICgiaXB2NjogT25seSBjcmVhdGUgUlRGX0NBQ0hFIHJvdXRlcyBhZnRlcgplbmNvdW50ZXJpbmcg cG10dSBleGNlcHRpb24iKS4gVGhpcyBub3cgY29uc2lkZXJzIHRoZSBmaXJzdAphZGRyZXNzIGlu IGEgc3VibmV0IHdoZXJlIHRoZXJlIGlzIGEgcm91dGUgdmlhIGEgZ2F0ZXdheQp0byBiZSBhbiBh bnljYXN0IGFkZHJlc3MuCgpUaGlzIGJyZWFrcyBwYXRoIE1UVSBkaXNjb3ZlcnkgYW5kIHRyYWNl cm91dGVzIHdoZW4gYSBob3N0IGluIGEKcmVtb3RlIG5ldHdvcmsgdXNlcyB0aGUgYWRkcmVzcyBh dCB0aGUgc3RhcnQgb2YgYSBwcmVmaXgKKGVnIDI2MDA6OiBhZHZlcnRpc2VkIGFzIDI2MDA6Oi80 OCBpbiB0aGUgREZaKSBhcyBJQ01QIGVycm9ycwp3aWxsIG5vdCBiZSBzZW50IHRvIGFueWNhc3Qg YWRkcmVzc2VzLgoKVGhpcyBwYXRjaCBleGNsdWRlcyBhbnkgcm91dGVzIHdpdGggYSBnYXRld2F5 LCBvciB2aWEgcG9pbnQgdG8KcG9pbnQgbGlua3MsIGxpa2UgdGhlIGJlaGF2aW91ciBwcmV2aW91 c2x5IGZyb20KcnQ2X2lzX2d3X29yX25vbmV4dGhvcCBpbiBuZXQvaXB2Ni9yb3V0ZS5jLgoKVGhp cyBjYW4gYmUgdGVzdGVkIHdpdGg6CmlwIGxpbmsgYWRkIHYxIHR5cGUgdmV0aCBwZWVyIG5hbWUg djIKaXAgbmV0bnMgYWRkIHRlc3QKaXAgbmV0bnMgZXhlYyB0ZXN0IGlwIGxpbmsgc2V0IGxvIHVw CmlwIGxpbmsgc2V0IHYyIG5ldG5zIHRlc3QKaXAgbGluayBzZXQgdjEgdXAKaXAgbmV0bnMgZXhl YyB0ZXN0IGlwIGxpbmsgc2V0IHYyIHVwCmlwIGFkZHIgYWRkIDIwMDE6ZGI4OjoxLzY0IGRldiB2 MSBub2RhZAppcCBhZGRyIGFkZCAyMDAxOmRiODoxMDA6OiBkZXYgbG8gbm9kYWQKaXAgbmV0bnMg ZXhlYyB0ZXN0IGlwIGFkZHIgYWRkIDIwMDE6ZGI4OjoyLzY0IGRldiB2MiBub2RhZAppcCBuZXRu cyBleGVjIHRlc3QgaXAgcm91dGUgYWRkIHVucmVhY2hhYmxlIDIwMDE6ZGI4OjE6OjEKaXAgbmV0 bnMgZXhlYyB0ZXN0IGlwIHJvdXRlIGFkZCAyMDAxOmRiODoxMDA6Oi82NCB2aWEgMjAwMTpkYjg6 OjEKaXAgbmV0bnMgZXhlYyB0ZXN0IHN5c2N0bCBuZXQuaXB2Ni5jb25mLmFsbC5mb3J3YXJkaW5n PTEKaXAgcm91dGUgYWRkIDIwMDE6ZGI4OjE6OjEgdmlhIDIwMDE6ZGI4OjoyCnBpbmcgLUkgMjAw MTpkYjg6OjEgMjAwMTpkYjg6MTo6MSAtYzEKcGluZyAtSSAyMDAxOmRiODoxMDA6OiAyMDAxOmRi ODoxOjoxIC1jMQppcCBhZGRyIGRlbGV0ZSAyMDAxOmRiODoxMDA6OiBkZXYgbG8KaXAgbmV0bnMg ZGVsZXRlIHRlc3QKCkN1cnJlbnRseSB0aGUgZmlyc3QgcGluZyB3aWxsIGdldCBiYWNrIGEgZGVz dGluYXRpb24gdW5yZWFjaGFibGUgSUNNUAplcnJvciwgYnV0IHRoZSBzZWNvbmQgd2lsbCBuZXZl ciBnZXQgYSByZXNwb25zZSwgd2l0aCAiaWNtcDZfc2VuZDoKYWNhc3Qgc291cmNlIiBsb2dnZWQu IEFmdGVyIHRoaXMgcGF0Y2gsIGJvdGggZ2V0IGRlc3RpbmF0aW9uCnVucmVhY2hhYmxlIElDTVAg cmVwbGllcy4KCkZpeGVzOiA0NWU0ZmQyNjY4M2MgKCJpcHY2OiBPbmx5IGNyZWF0ZSBSVEZfQ0FD SEUgcm91dGVzIGFmdGVyIGVuY291bnRlcmluZyBwbXR1IGV4Y2VwdGlvbiIpClNpZ25lZC1vZmYt Ynk6IFRpbSBTdGFsbGFyZCA8Y29kZUB0aW1zdGFsbGFyZC5tZS51az4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2lw Nl9yb3V0ZS5oIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1n aXQgYS9pbmNsdWRlL25ldC9pcDZfcm91dGUuaCBiL2luY2x1ZGUvbmV0L2lwNl9yb3V0ZS5oCmlu ZGV4IGI2OWMxNmNiYmY3MS4uMmQwZDkxMDcwMjY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9p cDZfcm91dGUuaAorKysgYi9pbmNsdWRlL25ldC9pcDZfcm91dGUuaApAQCAtMjU0LDYgKzI1NCw3 IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpcHY2X2FueWNhc3RfZGVzdGluYXRpb24oY29uc3Qgc3Ry dWN0IGRzdF9lbnRyeSAqZHN0LAogCiAJcmV0dXJuIHJ0LT5ydDZpX2ZsYWdzICYgUlRGX0FOWUNB U1QgfHwKIAkJKHJ0LT5ydDZpX2RzdC5wbGVuIDwgMTI3ICYmCisJCSAhKHJ0LT5ydDZpX2ZsYWdz ICYgKFJURl9HQVRFV0FZIHwgUlRGX05PTkVYVEhPUCkpICYmCiAJCSBpcHY2X2FkZHJfZXF1YWwo JnJ0LT5ydDZpX2RzdC5hZGRyLCBkYWRkcikpOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIDE2OWM2 YzkxYzc5YTRkMDliZThlYTcwZGEwZWYzOGUzYTY4MGExMWQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEF0c3VzaGkgTmVtb3RvIDxhdHN1c2hpLm5lbW90b0Bzb3JkLmNvLmpwPgpEYXRl OiBGcmksIDEwIEFwciAyMDIwIDEyOjE2OjE2ICswOTAwClN1YmplY3Q6IFtQQVRDSCAwNy8xOV0g bmV0OiBwaHk6IG1pY3JlbDogdXNlIGdlbnBoeV9yZWFkX3N0YXR1cyBmb3IgS1NaOTEzMQoKWyBV cHN0cmVhbSBjb21taXQgNjhkYWMzZWI1MGJlMzI5NTdhZTZlMWU2ZGE5MjgxYTNiN2M2NjU4YiBd CgpLU1o5MTMxIHdpbGwgbm90IHdvcmsgd2l0aCBzb21lIHN3aXRjaGVzIGR1ZSB0byB3b3JrYXJv dW5kIGZvciBLU1o5MDMxCmludHJvZHVjZWQgaW4gY29tbWl0IGQyZmQ3MTliY2IwZTgzY2IzOWNm ZWUyMmVlODAwZjk4YTU2ZWNlYjMKKCJuZXQvcGh5OiBtaWNyZWw6IEFkZCB3b3JrYXJvdW5kIGZv ciBiYWQgYXV0b25lZyIpLgpVc2UgZ2VucGh5X3JlYWRfc3RhdHVzIGluc3RlYWQgb2YgZGVkaWNh dGVkIGtzejkwMzFfcmVhZF9zdGF0dXMuCgpGaXhlczogYmZmNWI0YjM3MzcyICgibmV0OiBwaHk6 IG1pY3JlbDogYWRkIE1pY3JvY2hpcCBLU1o5MTMxIGluaXRpYWwgZHJpdmVyIikKU2lnbmVkLW9m Zi1ieTogQXRzdXNoaSBOZW1vdG8gPGF0c3VzaGkubmVtb3RvQHNvcmQuY28uanA+ClNpZ25lZC1v ZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJz L25ldC9waHkvbWljcmVsLmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMgYi9k cml2ZXJzL25ldC9waHkvbWljcmVsLmMKaW5kZXggNTFiNjRmMDg3NzE3Li42NjNjNjhlZDZlZjkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BoeS9taWNyZWwuYworKysgYi9kcml2ZXJzL25ldC9w aHkvbWljcmVsLmMKQEAgLTExNTQsNyArMTE1NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGh5X2RyaXZl ciBrc3BoeV9kcml2ZXJbXSA9IHsKIAkuZHJpdmVyX2RhdGEJPSAma3N6OTAyMV90eXBlLAogCS5w cm9iZQkJPSBrc3pwaHlfcHJvYmUsCiAJLmNvbmZpZ19pbml0CT0ga3N6OTEzMV9jb25maWdfaW5p dCwKLQkucmVhZF9zdGF0dXMJPSBrc3o5MDMxX3JlYWRfc3RhdHVzLAorCS5yZWFkX3N0YXR1cwk9 IGdlbnBoeV9yZWFkX3N0YXR1cywKIAkuYWNrX2ludGVycnVwdAk9IGtzenBoeV9hY2tfaW50ZXJy dXB0LAogCS5jb25maWdfaW50cgk9IGtzenBoeV9jb25maWdfaW50ciwKIAkuZ2V0X3NzZXRfY291 bnQgPSBrc3pwaHlfZ2V0X3NzZXRfY291bnQsCi0tIAoyLjIwLjEKCgpGcm9tIDIxNGVmYzdkM2Fm ODMzYTRhNDAwNWMwMzVhNDZmZDc5MDdmM2YwYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFdhbmcgV2VuaHUgPHdlbmh1LndhbmdAdml2by5jb20+CkRhdGU6IFdlZCwgOCBBcHIgMjAy MCAxOTo1Mzo1MyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTldIG5ldDogcXJ0cjogc2VuZCBt c2dzIGZyb20gbG9jYWwgb2Ygc2FtZSBpZCBhcyBicm9hZGNhc3QKClsgVXBzdHJlYW0gY29tbWl0 IDZkYmYwMmFjZWY2OWIwNzQyYzIzODU3NDU4M2IzMDY4YWZiZDIyN2MgXQoKSWYgdGhlIGxvY2Fs IG5vZGUgaWQocXJ0cl9sb2NhbF9uaWQpIGlzIG5vdCBtb2RpZmllZCBhZnRlciBpdHMKaW5pdGlh bGl6YXRpb24sIGl0IGVxdWFscyB0byB0aGUgYnJvYWRjYXN0IG5vZGUgaWQoUVJUUl9OT0RFX0JD QVNUKS4KU28gdGhlIG1lc3NhZ2VzIGZyb20gbG9jYWwgbm9kZSBzaG91bGQgbm90IGJlIHRha2Vu IGFzIGJyb2FkY2FzdAphbmQga2VlcCB0aGUgcHJvY2VzcyBnb2luZyB0byBzZW5kIHRoZW0gb3V0 IGFueXdheS4KClRoZSBkZWZpbml0aW9ucyBhcmUgYXMgZm9sbG93OgpzdGF0aWMgdW5zaWduZWQg aW50IHFydHJfbG9jYWxfbmlkID0gTlVNQV9OT19OT0RFOwoKRml4ZXM6IGZkZjVmZDM5NzU2NiAo Im5ldDogcXJ0cjogQnJvYWRjYXN0IG1lc3NhZ2VzIG9ubHkgZnJvbSBjb250cm9sIHBvcnQiKQpT aWduZWQtb2ZmLWJ5OiBXYW5nIFdlbmh1IDx3ZW5odS53YW5nQHZpdm8uY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3FydHIv cXJ0ci5jIHwgNyArKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL25ldC9xcnRyL3FydHIuYyBiL25ldC9xcnRyL3FydHIu YwppbmRleCAzZDI0ZDQ1YmU1ZjQuLjkzMGY0OGEyMDU0NiAxMDA2NDQKLS0tIGEvbmV0L3FydHIv cXJ0ci5jCisrKyBiL25ldC9xcnRyL3FydHIuYwpAQCAtNzYzLDIwICs3NjMsMjEgQEAgc3RhdGlj IGludCBxcnRyX3NlbmRtc2coc3RydWN0IHNvY2tldCAqc29jaywgc3RydWN0IG1zZ2hkciAqbXNn LCBzaXplX3QgbGVuKQogCiAJbm9kZSA9IE5VTEw7CiAJaWYgKGFkZHItPnNxX25vZGUgPT0gUVJU Ul9OT0RFX0JDQVNUKSB7Ci0JCWVucXVldWVfZm4gPSBxcnRyX2JjYXN0X2VucXVldWU7Ci0JCWlm IChhZGRyLT5zcV9wb3J0ICE9IFFSVFJfUE9SVF9DVFJMKSB7CisJCWlmIChhZGRyLT5zcV9wb3J0 ICE9IFFSVFJfUE9SVF9DVFJMICYmCisJCSAgICBxcnRyX2xvY2FsX25pZCAhPSBRUlRSX05PREVf QkNBU1QpIHsKIAkJCXJlbGVhc2Vfc29jayhzayk7CiAJCQlyZXR1cm4gLUVOT1RDT05OOwogCQl9 CisJCWVucXVldWVfZm4gPSBxcnRyX2JjYXN0X2VucXVldWU7CiAJfSBlbHNlIGlmIChhZGRyLT5z cV9ub2RlID09IGlwYy0+dXMuc3Ffbm9kZSkgewogCQllbnF1ZXVlX2ZuID0gcXJ0cl9sb2NhbF9l bnF1ZXVlOwogCX0gZWxzZSB7Ci0JCWVucXVldWVfZm4gPSBxcnRyX25vZGVfZW5xdWV1ZTsKIAkJ bm9kZSA9IHFydHJfbm9kZV9sb29rdXAoYWRkci0+c3Ffbm9kZSk7CiAJCWlmICghbm9kZSkgewog CQkJcmVsZWFzZV9zb2NrKHNrKTsKIAkJCXJldHVybiAtRUNPTk5SRVNFVDsKIAkJfQorCQllbnF1 ZXVlX2ZuID0gcXJ0cl9ub2RlX2VucXVldWU7CiAJfQogCiAJcGxlbiA9IChsZW4gKyAzKSAmIH4z OwotLSAKMi4yMC4xCgoKRnJvbSAzNjIyNmQyY2ViYzYzNjYzNzk3MjE0ZmIzNDA2YzI2ZDMwZTNm MTI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtobGVibmlrb3Yg PGtobGVibmlrb3ZAeWFuZGV4LXRlYW0ucnU+CkRhdGU6IE1vbiwgNiBBcHIgMjAyMCAxNDozOToz MiArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTldIG5ldDogcmV2ZXJ0IGRlZmF1bHQgTkFQSSBw b2xsIHRpbWVvdXQgdG8gMiBqaWZmaWVzCgpbIFVwc3RyZWFtIGNvbW1pdCBhNDgzNzk4MGZkOWZh NGM3MGE4MjFkMTE4MzE2OTg5MDFiYWVmNTZiIF0KCkZvciBIWiA8IDEwMDAgdGltZW91dCAyMDAw dXMgcm91bmRzIHVwIHRvIDEgamlmZnkgYnV0IGV4cGlyZXMgcmFuZG9tbHkKYmVjYXVzZSBuZXh0 IHRpbWVyIGludGVycnVwdCBjb3VsZCBjb21lIHNob3J0bHkgYWZ0ZXIgc3RhcnRpbmcgc29mdGly cS4KCkZvciBjb21tb25seSB1c2VkIENPTkZJR19IWj0xMDAwIG5vdGhpbmcgY2hhbmdlcy4KCkZp eGVzOiA3YWNmOGExZThhMjggKCJSZXBsYWNlIDIgamlmZmllcyB3aXRoIHN5c2N0bCBuZXRkZXZf YnVkZ2V0X3VzZWNzIHRvIGVuYWJsZSBzb2Z0aXJxIHR1bmluZyIpClJlcG9ydGVkLWJ5OiBEbWl0 cnkgWWFrdW5pbiA8emVpbEB5YW5kZXgtdGVhbS5ydT4KU2lnbmVkLW9mZi1ieTogS29uc3RhbnRp biBLaGxlYm5pa292IDxraGxlYm5pa292QHlhbmRleC10ZWFtLnJ1PgpTaWduZWQtb2ZmLWJ5OiBE YXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2NvcmUvZGV2LmMg fCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggOWQzZmRk YmM3MDM3Li5mYzg0NTkzMTZjM2QgMTAwNjQ0Ci0tLSBhL25ldC9jb3JlL2Rldi5jCisrKyBiL25l dC9jb3JlL2Rldi5jCkBAIC00MDkwLDcgKzQwOTAsOCBAQCBFWFBPUlRfU1lNQk9MKG5ldGRldl9t YXhfYmFja2xvZyk7CiAKIGludCBuZXRkZXZfdHN0YW1wX3ByZXF1ZXVlIF9fcmVhZF9tb3N0bHkg PSAxOwogaW50IG5ldGRldl9idWRnZXQgX19yZWFkX21vc3RseSA9IDMwMDsKLXVuc2lnbmVkIGlu dCBfX3JlYWRfbW9zdGx5IG5ldGRldl9idWRnZXRfdXNlY3MgPSAyMDAwOworLyogTXVzdCBiZSBh dCBsZWFzdCAyIGppZmZlcyB0byBndWFyYW50ZWUgMSBqaWZmeSB0aW1lb3V0ICovCit1bnNpZ25l ZCBpbnQgX19yZWFkX21vc3RseSBuZXRkZXZfYnVkZ2V0X3VzZWNzID0gMiAqIFVTRUNfUEVSX1NF QyAvIEhaOwogaW50IHdlaWdodF9wIF9fcmVhZF9tb3N0bHkgPSA2NDsgICAgICAgICAgIC8qIG9s ZCBiYWNrbG9nIHdlaWdodCAqLwogaW50IGRldl93ZWlnaHRfcnhfYmlhcyBfX3JlYWRfbW9zdGx5 ID0gMTsgIC8qIGJpYXMgZm9yIGJhY2tsb2cgd2VpZ2h0ICovCiBpbnQgZGV2X3dlaWdodF90eF9i aWFzIF9fcmVhZF9tb3N0bHkgPSAxOyAgLyogYmlhcyBmb3Igb3V0cHV0X3F1ZXVlIHF1b3RhICov Ci0tIAoyLjIwLjEKCgpGcm9tIDBmODg4NjA1NDVlYzNmNjgwNWU2ZTliN2MxN2I0NDg5NTIzODRl N2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEdpbGJlcnRvIEJlcnRpbiA8bWVAamli aS5pbz4KRGF0ZTogRnJpLCAxMCBBcHIgMjAyMCAxODoyMDo1OSArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMTAvMTldIG5ldDogdHVuOiByZWNvcmQgUlggcXVldWUgaW4gc2tiIGJlZm9yZQogZG9feGRw X2dlbmVyaWMoKQoKWyBVcHN0cmVhbSBjb21taXQgM2ZlMjYwZTAwY2QwYmYwYmU4NTNjNDhmY2Mx ZTE5ODUzZGY2MTViYiBdCgpUaGlzIGFsbG93cyBuZXRpZl9yZWNlaXZlX2dlbmVyaWNfeGRwKCkg dG8gY29ycmVjdGx5IGRldGVybWluZSB0aGUgUlgKcXVldWUgZnJvbSB3aGljaCB0aGUgc2tiIGlz IGNvbWluZywgc28gdGhhdCB0aGUgY29udGV4dCBwYXNzZWQgdG8gdGhlClhEUCBwcm9ncmFtIHdp bGwgY29udGFpbiB0aGUgY29ycmVjdCBSWCBxdWV1ZSBpbmRleC4KClNpZ25lZC1vZmYtYnk6IEdp bGJlcnRvIEJlcnRpbiA8bWVAamliaS5pbz4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVy IDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L3R1bi5jIHwgMyArKy0KIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC90dW4uYyBiL2RyaXZlcnMvbmV0L3R1bi5jCmluZGV4IDZkMzMxN2Q4Njhk Mi4uNzg3NDA0NmE1N2RkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC90dW4uYworKysgYi9kcml2 ZXJzL25ldC90dW4uYwpAQCAtMTkyNSw2ICsxOTI1LDcgQEAgc3RhdGljIHNzaXplX3QgdHVuX2dl dF91c2VyKHN0cnVjdCB0dW5fc3RydWN0ICp0dW4sIHN0cnVjdCB0dW5fZmlsZSAqdGZpbGUsCiAK IAlza2JfcmVzZXRfbmV0d29ya19oZWFkZXIoc2tiKTsKIAlza2JfcHJvYmVfdHJhbnNwb3J0X2hl YWRlcihza2IpOworCXNrYl9yZWNvcmRfcnhfcXVldWUoc2tiLCB0ZmlsZS0+cXVldWVfaW5kZXgp OwogCiAJaWYgKHNrYl94ZHApIHsKIAkJc3RydWN0IGJwZl9wcm9nICp4ZHBfcHJvZzsKQEAgLTI0 OTgsNiArMjQ5OSw3IEBAIHN0YXRpYyBpbnQgdHVuX3hkcF9vbmUoc3RydWN0IHR1bl9zdHJ1Y3Qg KnR1biwKIAlza2ItPnByb3RvY29sID0gZXRoX3R5cGVfdHJhbnMoc2tiLCB0dW4tPmRldik7CiAJ c2tiX3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CiAJc2tiX3Byb2JlX3RyYW5zcG9ydF9oZWFk ZXIoc2tiKTsKKwlza2JfcmVjb3JkX3J4X3F1ZXVlKHNrYiwgdGZpbGUtPnF1ZXVlX2luZGV4KTsK IAogCWlmIChza2JfeGRwKSB7CiAJCWVyciA9IGRvX3hkcF9nZW5lcmljKHhkcF9wcm9nLCBza2Ip OwpAQCAtMjUwOSw3ICsyNTExLDYgQEAgc3RhdGljIGludCB0dW5feGRwX29uZShzdHJ1Y3QgdHVu X3N0cnVjdCAqdHVuLAogCSAgICAhdGZpbGUtPmRldGFjaGVkKQogCQlyeGhhc2ggPSBfX3NrYl9n ZXRfaGFzaF9zeW1tZXRyaWMoc2tiKTsKIAotCXNrYl9yZWNvcmRfcnhfcXVldWUoc2tiLCB0Zmls ZS0+cXVldWVfaW5kZXgpOwogCW5ldGlmX3JlY2VpdmVfc2tiKHNrYik7CiAKIAkvKiBObyBuZWVk IGZvciBnZXRfY3B1X3B0cigpIGhlcmUgc2luY2UgdGhpcyBmdW5jdGlvbiBpcwotLSAKMi4yMC4x CgoKRnJvbSAwN2M0MjM5NjllM2I5NGJmNWNkZGFmYmQ0ZmFjM2U0NmViMDEzNTUzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UmVuPUMzPUE5PTIwdmFuPTIwRG9yc3Q/ PSA8b3BlbnNvdXJjZUB2ZG9yc3QuY29tPgpEYXRlOiBNb24sIDYgQXByIDIwMjAgMDU6NDI6NTMg KzA4MDAKU3ViamVjdDogW1BBVENIIDExLzE5XSBuZXQ6IGRzYTogbXQ3NTMwOiBtb3ZlIG10NzYy MyBzZXR0aW5ncyBvdXQgb2ZmIHRoZQogbXQ3NTMwCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpbIFVwc3RyZWFtIGNvbW1pdCA4NGQyZjdiNzA4YzM3NGExNWEyYWJlMDkyYTc0ZTBl NDdkMDE4Mjg2IF0KCk1vdmluZyBtdDc2MjMgbG9naWMgb3V0IG9mZiBtdDc1MzAsIGlzIHJlcXVp cmVkIHRvIG1ha2UgaGFyZHdhcmUgc2V0dGluZwpjb25zaXN0ZW50IGFmdGVyIHdlIGludHJvZHVj ZSBwaHlsaW5rIHRvIG10ayBkcml2ZXIuCgpGaXhlczogY2EzNjZkNmM4ODliICgibmV0OiBkc2E6 IG10NzUzMDogQ29udmVydCB0byBQSFlMSU5LIEFQSSIpClJldmlld2VkLWJ5OiBTZWFuIFdhbmcg PHNlYW4ud2FuZ0BtZWRpYXRlay5jb20+ClRlc3RlZC1ieTogU2VhbiBXYW5nIDxzZWFuLndhbmdA bWVkaWF0ZWsuY29tPgpTaWduZWQtb2ZmLWJ5OiBSZW7DqSB2YW4gRG9yc3QgPG9wZW5zb3VyY2VA dmRvcnN0LmNvbT4KVGVzdGVkLWJ5OiBGcmFuayBXdW5kZXJsaWNoIDxmcmFuay13QHB1YmxpYy1m aWxlcy5kZT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQu bmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyB8IDg1IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaCB8IDEwIC0t LS0tCiAyIGZpbGVzIGNoYW5nZWQsIDk1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCA0NGRl YTY1ZDgxMTcuLjljZjVkYTg5ZGJiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL210NzUz MC5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwpAQCAtNjYsNTggKzY2LDYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBtdDc1MzBfbWliX2Rlc2MgbXQ3NTMwX21pYltdID0gewogCU1JQl9E RVNDKDEsIDB4YjgsICJSeEFybERyb3AiKSwKIH07CiAKLXN0YXRpYyBpbnQKLW10NzYyM190cmdt aWlfd3JpdGUoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCAgdTMyIHJlZywgdTMyIHZhbCkKLXsK LQlpbnQgcmV0OwotCi0JcmV0ID0gIHJlZ21hcF93cml0ZShwcml2LT5ldGhlcm5ldCwgVFJHTUlJ X0JBU0UocmVnKSwgdmFsKTsKLQlpZiAocmV0IDwgMCkKLQkJZGV2X2Vycihwcml2LT5kZXYsCi0J CQkiZmFpbGVkIHRvIHByaXYgd3JpdGUgcmVnaXN0ZXJcbiIpOwotCXJldHVybiByZXQ7Ci19Ci0K LXN0YXRpYyB1MzIKLW10NzYyM190cmdtaWlfcmVhZChzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYs IHUzMiByZWcpCi17Ci0JaW50IHJldDsKLQl1MzIgdmFsOwotCi0JcmV0ID0gcmVnbWFwX3JlYWQo cHJpdi0+ZXRoZXJuZXQsIFRSR01JSV9CQVNFKHJlZyksICZ2YWwpOwotCWlmIChyZXQgPCAwKSB7 Ci0JCWRldl9lcnIocHJpdi0+ZGV2LAotCQkJImZhaWxlZCB0byBwcml2IHJlYWQgcmVnaXN0ZXJc biIpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCXJldHVybiB2YWw7Ci19Ci0KLXN0YXRpYyB2b2lk Ci1tdDc2MjNfdHJnbWlpX3JtdyhzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYsIHUzMiByZWcsCi0J CSAgdTMyIG1hc2ssIHUzMiBzZXQpCi17Ci0JdTMyIHZhbDsKLQotCXZhbCA9IG10NzYyM190cmdt aWlfcmVhZChwcml2LCByZWcpOwotCXZhbCAmPSB+bWFzazsKLQl2YWwgfD0gc2V0OwotCW10NzYy M190cmdtaWlfd3JpdGUocHJpdiwgcmVnLCB2YWwpOwotfQotCi1zdGF0aWMgdm9pZAotbXQ3NjIz X3RyZ21paV9zZXQoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MzIgcmVnLCB1MzIgdmFsKQot ewotCW10NzYyM190cmdtaWlfcm13KHByaXYsIHJlZywgMCwgdmFsKTsKLX0KLQotc3RhdGljIHZv aWQKLW10NzYyM190cmdtaWlfY2xlYXIoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MzIgcmVn LCB1MzIgdmFsKQotewotCW10NzYyM190cmdtaWlfcm13KHByaXYsIHJlZywgdmFsLCAwKTsKLX0K LQogc3RhdGljIGludAogY29yZV9yZWFkX21tZF9pbmRpcmVjdChzdHJ1Y3QgbXQ3NTMwX3ByaXYg KnByaXYsIGludCBwcnRhZCwgaW50IGRldmFkKQogewpAQCAtNTMwLDI3ICs0NzgsNiBAQCBtdDc1 MzBfcGFkX2Nsa19zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBtb2RlKQogCQlmb3Ig KGkgPSAwIDsgaSA8IE5VTV9UUkdNSUlfQ1RSTDsgaSsrKQogCQkJbXQ3NTMwX3Jtdyhwcml2LCBN VDc1MzBfVFJHTUlJX1JEKGkpLAogCQkJCSAgIFJEX1RBUF9NQVNLLCBSRF9UQVAoMTYpKTsKLQll bHNlCi0JCWlmIChwcml2LT5pZCAhPSBJRF9NVDc2MjEpCi0JCQltdDc2MjNfdHJnbWlpX3NldChw cml2LCBHU1dfSU5URl9NT0RFLAotCQkJCQkgIElOVEZfTU9ERV9UUkdNSUkpOwotCi0JcmV0dXJu IDA7Ci19Ci0KLXN0YXRpYyBpbnQKLW10NzYyM19wYWRfY2xrX3NldHVwKHN0cnVjdCBkc2Ffc3dp dGNoICpkcykKLXsKLQlzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYgPSBkcy0+cHJpdjsKLQlpbnQg aTsKLQotCWZvciAoaSA9IDAgOyBpIDwgTlVNX1RSR01JSV9DVFJMOyBpKyspCi0JCW10NzYyM190 cmdtaWlfd3JpdGUocHJpdiwgR1NXX1RSR01JSV9URF9PRFQoaSksCi0JCQkJICAgIFREX0RNX0RS VlAoOCkgfCBURF9ETV9EUlZOKDgpKTsKLQotCW10NzYyM190cmdtaWlfc2V0KHByaXYsIEdTV19U UkdNSUlfUkNLX0NUUkwsIFJYX1JTVCB8IFJYQ19EUVNJU0VMKTsKLQltdDc2MjNfdHJnbWlpX2Ns ZWFyKHByaXYsIEdTV19UUkdNSUlfUkNLX0NUUkwsIFJYX1JTVCk7Ci0KIAlyZXR1cm4gMDsKIH0K IApAQCAtMTI1NywxMCArMTE4NCw2IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAq ZHMpCiAJZG4gPSBkc2FfdG9fcG9ydChkcywgTVQ3NTMwX0NQVV9QT1JUKS0+bWFzdGVyLT5kZXYu b2Zfbm9kZS0+cGFyZW50OwogCiAJaWYgKHByaXYtPmlkID09IElEX01UNzUzMCkgewotCQlwcml2 LT5ldGhlcm5ldCA9IHN5c2Nvbl9ub2RlX3RvX3JlZ21hcChkbik7Ci0JCWlmIChJU19FUlIocHJp di0+ZXRoZXJuZXQpKQotCQkJcmV0dXJuIFBUUl9FUlIocHJpdi0+ZXRoZXJuZXQpOwotCiAJCXJl Z3VsYXRvcl9zZXRfdm9sdGFnZShwcml2LT5jb3JlX3B3ciwgMTAwMDAwMCwgMTAwMDAwMCk7CiAJ CXJldCA9IHJlZ3VsYXRvcl9lbmFibGUocHJpdi0+Y29yZV9wd3IpOwogCQlpZiAocmV0IDwgMCkg ewpAQCAtMTQyNiwxNCArMTM0OSw2IEBAIHN0YXRpYyB2b2lkIG10NzUzMF9waHlsaW5rX21hY19j b25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwKIAkJLyogU2V0dXAgVFggY2ly Y3VpdCBpbmNsdWluZyByZWxldmFudCBQQUQgYW5kIGRyaXZpbmcgKi8KIAkJbXQ3NTMwX3BhZF9j bGtfc2V0dXAoZHMsIHN0YXRlLT5pbnRlcmZhY2UpOwogCi0JCWlmIChwcml2LT5pZCA9PSBJRF9N VDc1MzApIHsKLQkJCS8qIFNldHVwIFJYIGNpcmN1aXQsIHJlbGV2YW50IFBBRCBhbmQgZHJpdmlu ZyBvbiB0aGUKLQkJCSAqIGhvc3Qgd2hpY2ggbXVzdCBiZSBwbGFjZWQgYWZ0ZXIgdGhlIHNldHVw IG9uIHRoZQotCQkJICogZGV2aWNlIHNpZGUgaXMgYWxsIGZpbmlzaGVkLgotCQkJICovCi0JCQlt dDc2MjNfcGFkX2Nsa19zZXR1cChkcyk7Ci0JCX0KLQogCQlwcml2LT5wNl9pbnRlcmZhY2UgPSBz dGF0ZS0+aW50ZXJmYWNlOwogCQlicmVhazsKIAlkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvZHNhL210NzUzMC5oIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5oCmluZGV4IDlhNzY5 YzZiNzcwMC4uNzU2MTQwYjdkZmQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9kc2EvbXQ3NTMw LmgKKysrIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5oCkBAIC0yNzUsNyArMjc1LDYgQEAgZW51 bSBtdDc1MzBfdmxhbl9wb3J0X2F0dHIgewogCiAvKiBSZWdpc3RlcnMgZm9yIFRSR01JSSBvbiB0 aGUgYm90aCBzaWRlICovCiAjZGVmaW5lIE1UNzUzMF9UUkdNSUlfUkNLX0NUUkwJCTB4N2EwMAot I2RlZmluZSBHU1dfVFJHTUlJX1JDS19DVFJMCQkweDMwMAogI2RlZmluZSAgUlhfUlNUCQkJCUJJ VCgzMSkKICNkZWZpbmUgIFJYQ19EUVNJU0VMCQkJQklUKDMwKQogI2RlZmluZSAgRFFTSTFfVEFQ X01BU0sJCQkoMHg3ZiA8PCA4KQpAQCAtMjg0LDMxICsyODMsMjQgQEAgZW51bSBtdDc1MzBfdmxh bl9wb3J0X2F0dHIgewogI2RlZmluZSAgRFFTSTBfVEFQKHgpCQkJKCh4KSAmIDB4N2YpCiAKICNk ZWZpbmUgTVQ3NTMwX1RSR01JSV9SQ0tfUlRUCQkweDdhMDQKLSNkZWZpbmUgR1NXX1RSR01JSV9S Q0tfUlRUCQkweDMwNAogI2RlZmluZSAgRFFTMV9HQVRFCQkJQklUKDMxKQogI2RlZmluZSAgRFFT MF9HQVRFCQkJQklUKDMwKQogCiAjZGVmaW5lIE1UNzUzMF9UUkdNSUlfUkQoeCkJCSgweDdhMTAg KyAoeCkgKiA4KQotI2RlZmluZSBHU1dfVFJHTUlJX1JEKHgpCQkoMHgzMTAgKyAoeCkgKiA4KQog I2RlZmluZSAgQlNMSVBfRU4JCQlCSVQoMzEpCiAjZGVmaW5lICBFREdFX0NISwkJCUJJVCgzMCkK ICNkZWZpbmUgIFJEX1RBUF9NQVNLCQkJMHg3ZgogI2RlZmluZSAgUkRfVEFQKHgpCQkJKCh4KSAm IDB4N2YpCiAKLSNkZWZpbmUgR1NXX1RSR01JSV9UWENUUkwJCTB4MzQwCiAjZGVmaW5lIE1UNzUz MF9UUkdNSUlfVFhDVFJMCQkweDdhNDAKICNkZWZpbmUgIFRSQUlOX1RYRU4JCQlCSVQoMzEpCiAj ZGVmaW5lICBUWENfSU5WCQkJQklUKDMwKQogI2RlZmluZSAgVFhfUlNUCQkJCUJJVCgyOCkKIAog I2RlZmluZSBNVDc1MzBfVFJHTUlJX1REX09EVChpKQkJKDB4N2E1NCArIDggKiAoaSkpCi0jZGVm aW5lIEdTV19UUkdNSUlfVERfT0RUKGkpCQkoMHgzNTQgKyA4ICogKGkpKQogI2RlZmluZSAgVERf RE1fRFJWUCh4KQkJCSgoeCkgJiAweGYpCiAjZGVmaW5lICBURF9ETV9EUlZOKHgpCQkJKCgoeCkg JiAweGYpIDw8IDQpCiAKLSNkZWZpbmUgR1NXX0lOVEZfTU9ERQkJCTB4MzkwCi0jZGVmaW5lICBJ TlRGX01PREVfVFJHTUlJCQlCSVQoMSkKLQogI2RlZmluZSBNVDc1MzBfVFJHTUlJX1RDS19DVFJM CQkweDdhNzgKICNkZWZpbmUgIFRDS19UQVAoeCkJCQkoKCh4KSAmIDB4ZikgPDwgOCkKIApAQCAt NDQxLDcgKzQzMyw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpwNV9pbnRmX21vZGVzKHVuc2lnbmVk IGludCBwNV9pbnRlcmZhY2UpCiAgKiBAZHM6CQkJVGhlIHBvaW50ZXIgdG8gdGhlIGRzYSBjb3Jl IHN0cnVjdHVyZQogICogQGJ1czoJCVRoZSBidXMgdXNlZCBmb3IgdGhlIGRldmljZSBhbmQgYnVp bHQtaW4gUEhZCiAgKiBAcnN0YzoJCVRoZSBwb2ludGVyIHRvIHJlc2V0IGNvbnRyb2wgdXNlZCBi eSBNQ00KLSAqIEBldGhlcm5ldDoJCVRoZSByZWdtYXAgdXNlZCBmb3IgYWNjZXNzIFRSR01JSS1i YXNlZCByZWdpc3RlcnMKICAqIEBjb3JlX3B3cjoJCVRoZSBwb3dlciBzdXBwbGllZCBpbnRvIHRo ZSBjb3JlCiAgKiBAaW9fcHdyOgkJVGhlIHBvd2VyIHN1cHBsaWVkIGludG8gdGhlIEkvTwogICog QHJlc2V0OgkJVGhlIGRlc2NyaXB0b3IgZm9yIEdQSU8gbGluZSB0aWVkIHRvIGl0cyByZXNldCBw aW4KQEAgLTQ1OCw3ICs0NDksNiBAQCBzdHJ1Y3QgbXQ3NTMwX3ByaXYgewogCXN0cnVjdCBkc2Ff c3dpdGNoCSpkczsKIAlzdHJ1Y3QgbWlpX2J1cwkJKmJ1czsKIAlzdHJ1Y3QgcmVzZXRfY29udHJv bAkqcnN0YzsKLQlzdHJ1Y3QgcmVnbWFwCQkqZXRoZXJuZXQ7CiAJc3RydWN0IHJlZ3VsYXRvcgkq Y29yZV9wd3I7CiAJc3RydWN0IHJlZ3VsYXRvcgkqaW9fcHdyOwogCXN0cnVjdCBncGlvX2Rlc2MJ KnJlc2V0OwotLSAKMi4yMC4xCgoKRnJvbSBjNzQxM2IzN2Y0NjIyZDQzNjZjMjViNDdiODJiOTdh ODM4NWJhNTk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/UmVuPUMz PUE5PTIwdmFuPTIwRG9yc3Q/PSA8b3BlbnNvdXJjZUB2ZG9yc3QuY29tPgpEYXRlOiBNb24sIDYg QXByIDIwMjAgMDU6NDI6NTQgKzA4MDAKU3ViamVjdDogW1BBVENIIDEyLzE5XSBuZXQ6IGV0aGVy bmV0OiBtZWRpYXRlazogbW92ZSBtdDc2MjMgc2V0dGluZ3Mgb3V0IG9mZgogdGhlIG10NzUzMApN SU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKWyBVcHN0cmVhbSBjb21taXQgYTVkNzU1 MzgyOTViMDZiYzZhZGUxYjlkYTA3YjliZWU1N2QxYzY3NyBdCgpNb3ZpbmcgbXQ3NjIzIGxvZ2lj IG91dCBvZmYgbXQ3NTMwLCBpcyByZXF1aXJlZCB0byBtYWtlIGhhcmR3YXJlIHNldHRpbmcKY29u c2lzdGVudCBhZnRlciB3ZSBpbnRyb2R1Y2UgcGh5bGluayB0byBtdGsgZHJpdmVyLgoKRml4ZXM6 IGI4ZmM5ZjMwODIxZSAoIm5ldDogZXRoZXJuZXQ6IG1lZGlhdGVrOiBBZGQgYmFzaWMgUEhZTElO SyBzdXBwb3J0IikKUmV2aWV3ZWQtYnk6IFNlYW4gV2FuZyA8c2Vhbi53YW5nQG1lZGlhdGVrLmNv bT4KVGVzdGVkLWJ5OiBTZWFuIFdhbmcgPHNlYW4ud2FuZ0BtZWRpYXRlay5jb20+ClNpZ25lZC1v ZmYtYnk6IFJlbsOpIHZhbiBEb3JzdCA8b3BlbnNvdXJjZUB2ZG9yc3QuY29tPgpTaWduZWQtb2Zm LWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVkaWF0ZWsvbXRrX2V0aF9zb2MuYyB8IDI0ICsrKysrKysrKysrKysrKysr KysrLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVkaWF0ZWsvbXRrX2V0aF9zb2MuaCB8ICA4ICsr KysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lZGlhdGVrL210a19ldGhfc29jLmMg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9tdGtfZXRoX3NvYy5jCmluZGV4IDUyN2Fk MmFhZGNjYS4uZWMwMzViZWY5OGI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWRpYXRlay9tdGtfZXRoX3NvYy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lZGlhdGVr L210a19ldGhfc29jLmMKQEAgLTY1LDYgKzY1LDE3IEBAIHUzMiBtdGtfcjMyKHN0cnVjdCBtdGtf ZXRoICpldGgsIHVuc2lnbmVkIHJlZykKIAlyZXR1cm4gX19yYXdfcmVhZGwoZXRoLT5iYXNlICsg cmVnKTsKIH0KIAordTMyIG10a19tMzIoc3RydWN0IG10a19ldGggKmV0aCwgdTMyIG1hc2ssIHUz MiBzZXQsIHVuc2lnbmVkIHJlZykKK3sKKwl1MzIgdmFsOworCisJdmFsID0gbXRrX3IzMihldGgs IHJlZyk7CisJdmFsICY9IH5tYXNrOworCXZhbCB8PSBzZXQ7CisJbXRrX3czMihldGgsIHZhbCwg cmVnKTsKKwlyZXR1cm4gcmVnOworfQorCiBzdGF0aWMgaW50IG10a19tZGlvX2J1c3lfd2FpdChz dHJ1Y3QgbXRrX2V0aCAqZXRoKQogewogCXVuc2lnbmVkIGxvbmcgdF9zdGFydCA9IGppZmZpZXM7 CkBAIC0xOTMsNyArMjA0LDcgQEAgc3RhdGljIHZvaWQgbXRrX21hY19jb25maWcoc3RydWN0IHBo eWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGludCBtb2RlLAogCXN0cnVjdCBtdGtfbWFj ICptYWMgPSBjb250YWluZXJfb2YoY29uZmlnLCBzdHJ1Y3QgbXRrX21hYywKIAkJCQkJICAgcGh5 bGlua19jb25maWcpOwogCXN0cnVjdCBtdGtfZXRoICpldGggPSBtYWMtPmh3OwotCXUzMiBtY3Jf Y3VyLCBtY3JfbmV3LCBzaWQ7CisJdTMyIG1jcl9jdXIsIG1jcl9uZXcsIHNpZCwgaTsKIAlpbnQg dmFsLCBnZV9tb2RlLCBlcnI7CiAKIAkvKiBNVDc2eDggaGFzIG5vIGhhcmR3YXJlIHNldHRpbmdz IGJldHdlZW4gZm9yIHRoZSBNQUMgKi8KQEAgLTI1NSw2ICsyNjYsMTcgQEAgc3RhdGljIHZvaWQg bXRrX21hY19jb25maWcoc3RydWN0IHBoeWxpbmtfY29uZmlnICpjb25maWcsIHVuc2lnbmVkIGlu dCBtb2RlLAogCQkJCSAgICBQSFlfSU5URVJGQUNFX01PREVfVFJHTUlJKQogCQkJCQltdGtfZ21h YzBfcmdtaWlfYWRqdXN0KG1hYy0+aHcsCiAJCQkJCQkJICAgICAgIHN0YXRlLT5zcGVlZCk7CisK KwkJCQkvKiBtdDc2MjNfcGFkX2Nsa19zZXR1cCAqLworCQkJCWZvciAoaSA9IDAgOyBpIDwgTlVN X1RSR01JSV9DVFJMOyBpKyspCisJCQkJCW10a193MzIobWFjLT5odywKKwkJCQkJCVREX0RNX0RS VlAoOCkgfCBURF9ETV9EUlZOKDgpLAorCQkJCQkJVFJHTUlJX1REX09EVChpKSk7CisKKwkJCQkv KiBBc3NlcnQvcmVsZWFzZSBNVDc2MjMgUlhDIHJlc2V0ICovCisJCQkJbXRrX20zMihtYWMtPmh3 LCAwLCBSWENfUlNUIHwgUlhDX0RRU0lTRUwsCisJCQkJCVRSR01JSV9SQ0tfQ1RSTCk7CisJCQkJ bXRrX20zMihtYWMtPmh3LCBSWENfUlNULCAwLCBUUkdNSUlfUkNLX0NUUkwpOwogCQkJfQogCQl9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lZGlhdGVrL210a19ldGhfc29j LmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9tdGtfZXRoX3NvYy5oCmluZGV4IDg1 ODMwZmUxNGExYi4uNDU0Y2ZjZDQ2NWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9tZWRpYXRlay9tdGtfZXRoX3NvYy5oCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lZGlh dGVrL210a19ldGhfc29jLmgKQEAgLTM1MiwxMCArMzUyLDEzIEBACiAjZGVmaW5lIERRU0kwKHgp CQkoKHggPDwgMCkgJiBHRU5NQVNLKDYsIDApKQogI2RlZmluZSBEUVNJMSh4KQkJKCh4IDw8IDgp ICYgR0VOTUFTSygxNCwgOCkpCiAjZGVmaW5lIFJYQ1RMX0RNV1RMQVQoeCkJKCh4IDw8IDE2KSAm IEdFTk1BU0soMTgsIDE2KSkKKyNkZWZpbmUgUlhDX1JTVAkJCUJJVCgzMSkKICNkZWZpbmUgUlhD X0RRU0lTRUwJCUJJVCgzMCkKICNkZWZpbmUgUkNLX0NUUkxfUkdNSUlfMTAwMAkoUlhDX0RRU0lT RUwgfCBSWENUTF9ETVdUTEFUKDIpIHwgRFFTSTEoMTYpKQogI2RlZmluZSBSQ0tfQ1RSTF9SR01J SV8xMF8xMDAJUlhDVExfRE1XVExBVCgyKQogCisjZGVmaW5lIE5VTV9UUkdNSUlfQ1RSTAkJNQor CiAvKiBUUkdNSUkgUlhDIGNvbnRyb2wgcmVnaXN0ZXIgKi8KICNkZWZpbmUgVFJHTUlJX1RDS19D VFJMCQkweDEwMzQwCiAjZGVmaW5lIFRYQ1RMX0RNV1RMQVQoeCkJKCh4IDw8IDE2KSAmIEdFTk1B U0soMTgsIDE2KSkKQEAgLTM2Myw2ICszNjYsMTEgQEAKICNkZWZpbmUgVENLX0NUUkxfUkdNSUlf MTAwMAlUWENUTF9ETVdUTEFUKDIpCiAjZGVmaW5lIFRDS19DVFJMX1JHTUlJXzEwXzEwMAkoVFhD X0lOViB8IFRYQ1RMX0RNV1RMQVQoMikpCiAKKy8qIFRSR01JSSBUWCBEcml2ZSBTdHJlbmd0aCAq LworI2RlZmluZSBUUkdNSUlfVERfT0RUKGkpCSgweDEwMzU0ICsgOCAqIChpKSkKKyNkZWZpbmUg IFREX0RNX0RSVlAoeCkJCSgoeCkgJiAweGYpCisjZGVmaW5lICBURF9ETV9EUlZOKHgpCQkoKCh4 KSAmIDB4ZikgPDwgNCkKKwogLyogVFJHTUlJIEludGVyZmFjZSBtb2RlIHJlZ2lzdGVyICovCiAj ZGVmaW5lIElOVEZfTU9ERQkJMHgxMDM5MAogI2RlZmluZSBUUkdNSUlfSU5URl9ESVMJCUJJVCgw KQotLSAKMi4yMC4xCgoKRnJvbSBkMTEyMDMzZjcyYzc0M2JiMzEwZTAxYjA4YTJiOTM4NWUyYzJi MGM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNb3NoZSBTaGVtZXNoIDxtb3NoZUBt ZWxsYW5veC5jb20+CkRhdGU6IE1vbiwgMzAgTWFyIDIwMjAgMTA6MjE6NDkgKzAzMDAKU3ViamVj dDogW1BBVENIIDEzLzE5XSBuZXQvbWx4NTogRml4IGZyZXF1ZW50IGlvcmVhZCBQQ0kgYWNjZXNz IGR1cmluZwogcmVjb3ZlcnkKClsgVXBzdHJlYW0gY29tbWl0IDhjNzAyYTUzYmIwYTc5YmZhMjAz YmEyMWVmMWNhYmE0MzY3M2M1YjcgXQoKSGlnaCBmcmVxdWVuY3kgb2YgUENJIGlvcmVhZCBjYWxs cyBkdXJpbmcgcmVjb3ZlcnkgZmxvdyBtYXkgY2F1c2UgdGhlCmZvbGxvd2luZyB0cmFjZSBvbiBw b3dlcnBjOgoKWyAyNDguNjcwMjg4XSBFRUg6IDIxMDAwMDAgcmVhZHMgaWdub3JlZCBmb3IgcmVj b3ZlcmluZyBkZXZpY2UgYXQKbG9jYXRpb249U2xvdDEgZHJpdmVyPW1seDVfY29yZSBwY2kgYWRk cj0wMDAwOjAxOjAwLjEKWyAyNDguNjcwMzMxXSBFRUg6IE1pZ2h0IGJlIGluZmluaXRlIGxvb3Ag aW4gbWx4NV9jb3JlIGRyaXZlcgpbIDI0OC42NzAzNjFdIENQVTogMiBQSUQ6IDM1MjQ3IENvbW06 IGt3b3JrZXIvdTE5MjoxMSBLZHVtcDogbG9hZGVkClRhaW50ZWQ6IEcgT0UgLS0tLS0tLS0tLS0t IDQuMTQuMC0xMTUuMTQuMS5lbDdhLnBwYzY0bGUgIzEKWyAyNDguNjcwNDI1XSBXb3JrcXVldWU6 IG1seDVfaGVhbHRoMDAwMDowMTowMC4xIGhlYWx0aF9yZWNvdmVyX3dvcmsKW21seDVfY29yZV0K WyAyNDguNjcwNDcxXSBDYWxsIFRyYWNlOgpbIDI0OC42NzA0OTJdIFtjMDAwMjAzOTFjMTFiOTYw XSBbYzAwMDAwMDAwMGMyMTdhY10gZHVtcF9zdGFjaysweGIwLzB4ZjQKKHVucmVsaWFibGUpClsg MjQ4LjY3MDU0OF0gW2MwMDAyMDM5MWMxMWI5YTBdIFtjMDAwMDAwMDAwMDQ1ODE4XQplZWhfY2hl Y2tfZmFpbHVyZSsweDVjOC8weDYzMApbIDI0OC42NzA2MzFdIFtjMDAwMjAzOTFjMTFiYTUwXSBb YzAwMDAwMDAwMDY4ZmNlNF0KaW9yZWFkMzJiZSsweDExNC8weDFjMApbIDI0OC42NzA2OTJdIFtj MDAwMjAzOTFjMTFiYWMwXSBbYzAwODAwMDAwZGQ4YjQwMF0KbWx4NV9lcnJvcl9zd19yZXNldCsw eDE2MC8weDUxMCBbbWx4NV9jb3JlXQpbIDI0OC42NzA3NTJdIFtjMDAwMjAzOTFjMTFiYjYwXSBb YzAwODAwMDAwZGQ3NTgyNF0KbWx4NV9kaXNhYmxlX2RldmljZSsweDM0LzB4MWQwIFttbHg1X2Nv cmVdClsgMjQ4LjY3MDgyMl0gW2MwMDAyMDM5MWMxMWJiZTBdIFtjMDA4MDAwMDBkZDhhZmZjXQpo ZWFsdGhfcmVjb3Zlcl93b3JrKzB4MTFjLzB4M2MwIFttbHg1X2NvcmVdClsgMjQ4LjY3MDg5MV0g W2MwMDAyMDM5MWMxMWJjODBdIFtjMDAwMDAwMDAwMTY0ZmNjXQpwcm9jZXNzX29uZV93b3JrKzB4 MWJjLzB4NWYwClsgMjQ4LjY3MDk1NV0gW2MwMDAyMDM5MWMxMWJkMjBdIFtjMDAwMDAwMDAwMTY3 ZjhjXQp3b3JrZXJfdGhyZWFkKzB4YWMvMHg2YjAKWyAyNDguNjcxMDE1XSBbYzAwMDIwMzkxYzEx YmRjMF0gW2MwMDAwMDAwMDAxNzE2MThdIGt0aHJlYWQrMHgxNjgvMHgxYjAKWyAyNDguNjcxMDY3 XSBbYzAwMDIwMzkxYzExYmUzMF0gW2MwMDAwMDAwMDAwMGI2NWNdCnJldF9mcm9tX2tlcm5lbF90 aHJlYWQrMHg1Yy8weDgwCgpSZWR1Y2UgdGhlIFBDSSBpb3JlYWQgZnJlcXVlbmN5IGR1cmluZyBy ZWNvdmVyeSBieSB1c2luZyBtc2xlZXAoKQppbnN0ZWFkIG9mIGNvbmRfcmVzY2hlZCgpCgpGaXhl czogM2U1YjcyYWMyZjI5ICgibmV0L21seDU6IElzc3VlIFNXIHJlc2V0IG9uIEZXIGFzc2VydCIp ClNpZ25lZC1vZmYtYnk6IE1vc2hlIFNoZW1lc2ggPG1vc2hlQG1lbGxhbm94LmNvbT4KUmV2aWV3 ZWQtYnk6IEZlcmFzIERhb3VkIDxmZXJhc2RhQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTog U2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQs IDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jCmluZGV4IGQ5ZjRlOGM1OWMxZi4uNjhlN2Vm N2NhNTJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvaGVhbHRoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2hlYWx0aC5jCkBAIC0yNDMsNyArMjQzLDcgQEAgdm9pZCBtbHg1X2Vycm9yX3N3X3Jlc2V0KHN0 cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpCiAJCWlmIChtbHg1X2dldF9uaWNfc3RhdGUoZGV2KSA9 PSBNTFg1X05JQ19JRkNfRElTQUJMRUQpCiAJCQlicmVhazsKIAotCQljb25kX3Jlc2NoZWQoKTsK KwkJbXNsZWVwKDIwKTsKIAl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmQpKTsKIAog CWlmIChtbHg1X2dldF9uaWNfc3RhdGUoZGV2KSAhPSBNTFg1X05JQ19JRkNfRElTQUJMRUQpIHsK LS0gCjIuMjAuMQoKCkZyb20gYmVjNzRlNThkMWY1MTllZTc4NGYwYWE2Njk3NjUwOGJiYmZjNjdl YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogRXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVA bWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDI0IE1hciAyMDIwIDE1OjA0OjI2ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAxNC8xOV0gbmV0L21seDVlOiBBZGQgbWlzc2luZyByZWxlYXNlIGZpcm13YXJl IGNhbGwKClsgVXBzdHJlYW0gY29tbWl0IGQxOTk4N2NjZjU3NTAxODk0ZmRkOGZhZGMyZTU1ZTRh M2RkNTcyMzkgXQoKT25jZSBkcml2ZXIgZmluaXNoZXMgZmxhc2hpbmcgdGhlIGZpcm13YXJlIGlt YWdlLCBpdCBzaG91bGQgcmVsZWFzZSBpdC4KCkZpeGVzOiA5YzhiY2EyNjM3YjggKCJtbHg1OiBN b3ZlIGZpcm13YXJlIGZsYXNoIGltcGxlbWVudGF0aW9uIHRvIGRldmxpbmsiKQpTaWduZWQtb2Zm LWJ5OiBFcmFuIEJlbiBFbGlzaGEgPGVyYW5iZUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBB eWEgTGV2aW4gPGF5YWxAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVl ZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZGV2bGluay5jIHwgNSArKysrLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9kZXZsaW5rLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZGV2bGluay5jCmluZGV4IGFjMTA4ZjFlNWJkNi4uMTg0YzNlYWVmYmNi IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2 bGluay5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kZXZs aW5rLmMKQEAgLTIzLDcgKzIzLDEwIEBAIHN0YXRpYyBpbnQgbWx4NV9kZXZsaW5rX2ZsYXNoX3Vw ZGF0ZShzdHJ1Y3QgZGV2bGluayAqZGV2bGluaywKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwog Ci0JcmV0dXJuIG1seDVfZmlybXdhcmVfZmxhc2goZGV2LCBmdywgZXh0YWNrKTsKKwllcnIgPSBt bHg1X2Zpcm13YXJlX2ZsYXNoKGRldiwgZncsIGV4dGFjayk7CisJcmVsZWFzZV9maXJtd2FyZShm dyk7CisKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdTggbWx4NV9md192ZXJfbWFqb3IodTMy IHZlcnNpb24pCi0tIAoyLjIwLjEKCgpGcm9tIDJkNmQ0ZWQ4MzJhMDUyM2EwZTMxYzYxZjQ4Nzc2 OWU4ZTYxOGQzZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IERteXRybyBMaW5raW4g PGRtaXRyb2xpbkBtZWxsYW5veC5jb20+CkRhdGU6IFdlZCwgMSBBcHIgMjAyMCAxNDo0MToyNyAr MDMwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMTldIG5ldC9tbHg1ZTogRml4IG5lc3RfbGV2ZWwgZm9y IHZsYW4gcG9wIGFjdGlvbgoKWyBVcHN0cmVhbSBjb21taXQgNzBmNDc4Y2EwODVkZWVjNGQ2YzFm MTg3Zjc3M2Y1ODI3ZGRjZTdlOCBdCgpDdXJyZW50IHZhbHVlIG9mIG5lc3RfbGV2ZWwsIGFzc2ln bmVkIGZyb20gbmV0X2RldmljZSBsb3dlcl9sZXZlbCB2YWx1ZSwKZG9lcyBub3QgcmVmbGVjdCB0 aGUgYWN0dWFsIG51bWJlciBvZiB2bGFuIGhlYWRlcnMsIG5lZWRlZCB0byBwb3AuCkZvciBleC4s IGlmIHdlIGhhdmUgdW50YWdnZWQgaW5ncmVzcyB0cmFmZmljIHNlbmRlZCBvdmVyIHZsYW4gZGV2 aWNlcywKaW5zdGVhZCBvZiBvbmUgcG9wIGFjdGlvbiwgZHJpdmVyIHdpbGwgcGVyZm9ybSB0d28g cG9wIGFjdGlvbnMuClRvIGZpeCB0aGF0LCBjYWxjdWxhdGUgbmVzdF9sZXZlbCBhcyBkaWZmZXJl bmNlIGJldHdlZW4gdmxhbiBkZXZpY2UgYW5kCnBhcmVudCBkZXZpY2UgbG93ZXJfbGV2ZWxzLgoK Rml4ZXM6IGYzYjBhMThiYjZjYiAoIm5ldDogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlcyBh bmQgY2FsbGJhY2siKQpTaWduZWQtb2ZmLWJ5OiBEbXl0cm8gTGlua2luIDxkbWl0cm9saW5AbWVs bGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPgpT aWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYyB8IDUgKysrLS0K IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fdGMuYwppbmRleCBkNGJh ZDJhNDQ0ZTIuLmY1YmNhZjdkNWQ5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2VuX3RjLmMKQEAgLTMyMjEsMTIgKzMyMjEsMTMgQEAgc3RhdGljIGlu dCBhZGRfdmxhbl9wb3BfYWN0aW9uKHN0cnVjdCBtbHg1ZV9wcml2ICpwcml2LAogCQkJICAgICAg IHN0cnVjdCBtbHg1X2Vzd19mbG93X2F0dHIgKmF0dHIsCiAJCQkgICAgICAgdTMyICphY3Rpb24p CiB7Ci0JaW50IG5lc3RfbGV2ZWwgPSBhdHRyLT5wYXJzZV9hdHRyLT5maWx0ZXJfZGV2LT5sb3dl cl9sZXZlbDsKIAlzdHJ1Y3QgZmxvd19hY3Rpb25fZW50cnkgdmxhbl9hY3QgPSB7CiAJCS5pZCA9 IEZMT1dfQUNUSU9OX1ZMQU5fUE9QLAogCX07Ci0JaW50IGVyciA9IDA7CisJaW50IG5lc3RfbGV2 ZWwsIGVyciA9IDA7CiAKKwluZXN0X2xldmVsID0gYXR0ci0+cGFyc2VfYXR0ci0+ZmlsdGVyX2Rl di0+bG93ZXJfbGV2ZWwgLQorCQkJCQkJcHJpdi0+bmV0ZGV2LT5sb3dlcl9sZXZlbDsKIAl3aGls ZSAobmVzdF9sZXZlbC0tKSB7CiAJCWVyciA9IHBhcnNlX3RjX3ZsYW5fYWN0aW9uKHByaXYsICZ2 bGFuX2FjdCwgYXR0ciwgYWN0aW9uKTsKIAkJaWYgKGVycikKLS0gCjIuMjAuMQoKCkZyb20gMTZj OWQ2ZTZhZmQwYTY3MjVhMDBiZDg2MzExZWNiN2M3ZmRmZDIzNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogUGFyYXYgUGFuZGl0IDxwYXJhdkBtZWxsYW5veC5jb20+CkRhdGU6IEZyaSwg MyBBcHIgMjAyMCAwMzo1NzozMCAtMDUwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMTldIG5ldC9tbHg1 ZTogRml4IHBmbnVtIGluIGRldmxpbmsgcG9ydCBhdHRyaWJ1dGUKClsgVXBzdHJlYW0gY29tbWl0 IDc0ODJkOWNiNWI5NzRiN2FkMWE1OGZhODcxNGY3YThjMDViNWQyNzggXQoKQ2l0ZWQgcGF0Y2gg bWlzc2VkIHRvIGV4dHJhY3QgUENJIHBmIG51bWJlciBhY2N1cmF0ZWx5IGZvciBQRiBhbmQgVkYK cG9ydCBmbGF2b3VyLiBJdCBjb25zaWRlcmVkIFBDSSBkZXZpY2UgKyBmdW5jdGlvbiBudW1iZXIu CkR1ZSB0byB0aGlzLCBkZXZpY2UgaGF2aW5nIG5vbiB6ZXJvIGRldmljZSBudW1iZXIgc2hvd24g bGFyZ2UgcGZudW0uCgpIZW5jZSwgdXNlIG9ubHkgUENJIGZ1bmN0aW9uIG51bWJlcjsgdG8gYXZv aWQgc2ltaWxhciBlcnJvcnMsIGRlcml2ZQpwZm51bSBvbmUgdGltZSBmb3IgYWxsIHBvcnQgZmxh dm91cnMuCgpGaXhlczogZjYwZjMxNWQzMzllICgibmV0L21seDVlOiBSZWdpc3RlciBkZXZsaW5r IHBvcnRzIGZvciBwaHlzaWNhbCBsaW5rLCBQQ0kgUEYsIFZGcyIpClJldmlld2VkLWJ5OiBKaXJp IFBpcmtvIDxqaXJpQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogUGFyYXYgUGFuZGl0IDxw YXJhdkBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1A bWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lbl9yZXAuYyB8IDkgKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbl9yZXAuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21s eDUvY29yZS9lbl9yZXAuYwppbmRleCBmMTc1Y2IyNGJiNjcuLmY0ZDk2MzQ0MDIyZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3JlcC5jCisr KyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yZXAuYwpAQCAt MTg1NCwyOSArMTg1NCwzMCBAQCBzdGF0aWMgaW50IHJlZ2lzdGVyX2RldmxpbmtfcG9ydChzdHJ1 Y3QgbWx4NV9jb3JlX2RldiAqZGV2LAogCXN0cnVjdCBtbHg1X2Vzd2l0Y2hfcmVwICpyZXAgPSBy cHJpdi0+cmVwOwogCXN0cnVjdCBuZXRkZXZfcGh5c19pdGVtX2lkIHBwaWQgPSB7fTsKIAl1bnNp Z25lZCBpbnQgZGxfcG9ydF9pbmRleCA9IDA7CisJdTE2IHBmbnVtOwogCiAJaWYgKCFpc19kZXZs aW5rX3BvcnRfc3VwcG9ydGVkKGRldiwgcnByaXYpKQogCQlyZXR1cm4gMDsKIAogCW1seDVlX3Jl cF9nZXRfcG9ydF9wYXJlbnRfaWQocnByaXYtPm5ldGRldiwgJnBwaWQpOworCXBmbnVtID0gUENJ X0ZVTkMoZGV2LT5wZGV2LT5kZXZmbik7CiAKIAlpZiAocmVwLT52cG9ydCA9PSBNTFg1X1ZQT1JU X1VQTElOSykgewogCQlkZXZsaW5rX3BvcnRfYXR0cnNfc2V0KCZycHJpdi0+ZGxfcG9ydCwKIAkJ CQkgICAgICAgREVWTElOS19QT1JUX0ZMQVZPVVJfUEhZU0lDQUwsCi0JCQkJICAgICAgIFBDSV9G VU5DKGRldi0+cGRldi0+ZGV2Zm4pLCBmYWxzZSwgMCwKKwkJCQkgICAgICAgcGZudW0sIGZhbHNl LCAwLAogCQkJCSAgICAgICAmcHBpZC5pZFswXSwgcHBpZC5pZF9sZW4pOwogCQlkbF9wb3J0X2lu ZGV4ID0gdnBvcnRfdG9fZGV2bGlua19wb3J0X2luZGV4KGRldiwgcmVwLT52cG9ydCk7CiAJfSBl bHNlIGlmIChyZXAtPnZwb3J0ID09IE1MWDVfVlBPUlRfUEYpIHsKIAkJZGV2bGlua19wb3J0X2F0 dHJzX3BjaV9wZl9zZXQoJnJwcml2LT5kbF9wb3J0LAogCQkJCQkgICAgICAmcHBpZC5pZFswXSwg cHBpZC5pZF9sZW4sCi0JCQkJCSAgICAgIGRldi0+cGRldi0+ZGV2Zm4pOworCQkJCQkgICAgICBw Zm51bSk7CiAJCWRsX3BvcnRfaW5kZXggPSByZXAtPnZwb3J0OwogCX0gZWxzZSBpZiAobWx4NV9l c3dpdGNoX2lzX3ZmX3Zwb3J0KGRldi0+cHJpdi5lc3dpdGNoLAogCQkJCQkgICAgcnByaXYtPnJl cC0+dnBvcnQpKSB7CiAJCWRldmxpbmtfcG9ydF9hdHRyc19wY2lfdmZfc2V0KCZycHJpdi0+ZGxf cG9ydCwKIAkJCQkJICAgICAgJnBwaWQuaWRbMF0sIHBwaWQuaWRfbGVuLAotCQkJCQkgICAgICBk ZXYtPnBkZXYtPmRldmZuLAotCQkJCQkgICAgICByZXAtPnZwb3J0IC0gMSk7CisJCQkJCSAgICAg IHBmbnVtLCByZXAtPnZwb3J0IC0gMSk7CiAJCWRsX3BvcnRfaW5kZXggPSB2cG9ydF90b19kZXZs aW5rX3BvcnRfaW5kZXgoZGV2LCByZXAtPnZwb3J0KTsKIAl9CiAKLS0gCjIuMjAuMQoKCkZyb20g ZWE1NjNkZGJmZDk4YjQxYzBmNjg2NmY4NzkzZWE4MjEzOWZkOWJiZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogVGltIFN0YWxsYXJkIDxjb2RlQHRpbXN0YWxsYXJkLm1lLnVrPgpEYXRl OiBGcmksIDMgQXByIDIwMjAgMjE6MjI6NTcgKzAxMDAKU3ViamVjdDogW1BBVENIIDE3LzE5XSBu ZXQ6IGljbXA2OiBkbyBub3Qgc2VsZWN0IHNhZGRyIGZyb20gaWlmIHdoZW4gcm91dGUgaGFzCiBw cmVmc3JjIHNldAoKWyBVcHN0cmVhbSBjb21taXQgYjkzY2ZiOWNkM2FmM2FkYzliYTQ4NTRmMTc4 ZDUzMDBmNzU0NGQzZSBdCgpTaW5jZSBjb21taXQgZmFjNmZjZTliZGI1ICgibmV0OiBpY21wNjog cHJvdmlkZSBpbnB1dCBhZGRyZXNzIGZvcgp0cmFjZXJvdXRlNiIpIElDTVB2NiBlcnJvcnMgaGF2 ZSBzb3VyY2UgYWRkcmVzc2VzIGZyb20gdGhlIGluZ3Jlc3MKaW50ZXJmYWNlLiBIb3dldmVyLCB0 aGlzIG92ZXJyaWRlcyB3aGVuIHNvdXJjZSBhZGRyZXNzIHNlbGVjdGlvbiBpcwppbmZsdWVuY2Vk IGJ5IHNldHRpbmcgcHJlZmVycmVkIHNvdXJjZSBhZGRyZXNzZXMgb24gcm91dGVzLgoKVGhpcyBj YW4gcmVzdWx0IGluIElDTVAgZXJyb3JzIGJlaW5nIGxvc3QgdG8gdXBzdHJlYW0gQkNQMzggZmls dGVycwp3aGVuIHRoZSB3cm9uZyBzb3VyY2UgYWRkcmVzc2VzIGFyZSB1c2VkLCBicmVha2luZyBw YXRoIE1UVSBkaXNjb3ZlcnkKYW5kIHRyYWNlcm91dGUuCgpUaGlzIHBhdGNoIHNldHMgdGhlIG1v ZGlmaWVkIHNvdXJjZSBhZGRyZXNzIHNlbGVjdGlvbiB0byBvbmx5IHRha2UgcGxhY2UKd2hlbiB0 aGUgcm91dGUgdXNlZCBoYXMgbm8gcHJlZnNyYyBzZXQuCgpJdCBjYW4gYmUgdGVzdGVkIHdpdGg6 CgppcCBsaW5rIGFkZCB2MSB0eXBlIHZldGggcGVlciBuYW1lIHYyCmlwIG5ldG5zIGFkZCB0ZXN0 CmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCBsaW5rIHNldCBsbyB1cAppcCBsaW5rIHNldCB2MiBuZXRu cyB0ZXN0CmlwIGxpbmsgc2V0IHYxIHVwCmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCBsaW5rIHNldCB2 MiB1cAppcCBhZGRyIGFkZCAyMDAxOmRiODo6MS82NCBkZXYgdjEgbm9kYWQKaXAgYWRkciBhZGQg MjAwMTpkYjg6OjMgZGV2IHYxIG5vZGFkCmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCBhZGRyIGFkZCAy MDAxOmRiODo6Mi82NCBkZXYgdjIgbm9kYWQKaXAgbmV0bnMgZXhlYyB0ZXN0IGlwIHJvdXRlIGFk ZCB1bnJlYWNoYWJsZSAyMDAxOmRiODoxOjoxCmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCBhZGRyIGFk ZCAyMDAxOmRiODoxMDA6OjEgZGV2IGxvCmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCByb3V0ZSBhZGQg MjAwMTpkYjg6OjEgZGV2IHYyIHNyYyAyMDAxOmRiODoxMDA6OjEKaXAgcm91dGUgYWRkIDIwMDE6 ZGI4OjEwMDA6OjEgdmlhIDIwMDE6ZGI4OjoyCnRyYWNlcm91dGU2IC1zIDIwMDE6ZGI4OjoxIDIw MDE6ZGI4OjEwMDA6OjEKdHJhY2Vyb3V0ZTYgLXMgMjAwMTpkYjg6OjMgMjAwMTpkYjg6MTAwMDo6 MQppcCBuZXRucyBkZWxldGUgdGVzdAoKT3V0cHV0IGJlZm9yZToKJCB0cmFjZXJvdXRlNiAtcyAy MDAxOmRiODo6MSAyMDAxOmRiODoxMDAwOjoxCnRyYWNlcm91dGUgdG8gMjAwMTpkYjg6MTAwMDo6 MSAoMjAwMTpkYjg6MTAwMDo6MSksIDMwIGhvcHMgbWF4LCA4MCBieXRlIHBhY2tldHMKIDEgIDIw MDE6ZGI4OjoyICgyMDAxOmRiODo6MikgIDAuODQzIG1zICFOICAwLjM5NiBtcyAhTiAgMC4yNTcg bXMgIU4KJCB0cmFjZXJvdXRlNiAtcyAyMDAxOmRiODo6MyAyMDAxOmRiODoxMDAwOjoxCnRyYWNl cm91dGUgdG8gMjAwMTpkYjg6MTAwMDo6MSAoMjAwMTpkYjg6MTAwMDo6MSksIDMwIGhvcHMgbWF4 LCA4MCBieXRlIHBhY2tldHMKIDEgIDIwMDE6ZGI4OjoyICgyMDAxOmRiODo6MikgIDAuNzcyIG1z ICFOICAwLjI1NyBtcyAhTiAgMC4zNTcgbXMgIU4KCkFmdGVyOgokIHRyYWNlcm91dGU2IC1zIDIw MDE6ZGI4OjoxIDIwMDE6ZGI4OjEwMDA6OjEKdHJhY2Vyb3V0ZSB0byAyMDAxOmRiODoxMDAwOjox ICgyMDAxOmRiODoxMDAwOjoxKSwgMzAgaG9wcyBtYXgsIDgwIGJ5dGUgcGFja2V0cwogMSAgMjAw MTpkYjg6MTAwOjoxICgyMDAxOmRiODoxMDA6OjEpICA4Ljg4NSBtcyAhTiAgMC4zMTAgbXMgIU4g IDAuMTc0IG1zICFOCiQgdHJhY2Vyb3V0ZTYgLXMgMjAwMTpkYjg6OjMgMjAwMTpkYjg6MTAwMDo6 MQp0cmFjZXJvdXRlIHRvIDIwMDE6ZGI4OjEwMDA6OjEgKDIwMDE6ZGI4OjEwMDA6OjEpLCAzMCBo b3BzIG1heCwgODAgYnl0ZSBwYWNrZXRzCiAxICAyMDAxOmRiODo6MiAoMjAwMTpkYjg6OjIpICAx LjQwMyBtcyAhTiAgMC4yMDUgbXMgIU4gIDAuMzEzIG1zICFOCgpGaXhlczogZmFjNmZjZTliZGI1 ICgibmV0OiBpY21wNjogcHJvdmlkZSBpbnB1dCBhZGRyZXNzIGZvciB0cmFjZXJvdXRlNiIpClNp Z25lZC1vZmYtYnk6IFRpbSBTdGFsbGFyZCA8Y29kZUB0aW1zdGFsbGFyZC5tZS51az4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY2L2ljbXAuYyB8IDIxICsrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDIw IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9pY21w LmMgYi9uZXQvaXB2Ni9pY21wLmMKaW5kZXggZWY0MDhhNTA5MGEyLi5jOTUwNGVjNmE4ZDggMTAw NjQ0Ci0tLSBhL25ldC9pcHY2L2ljbXAuYworKysgYi9uZXQvaXB2Ni9pY21wLmMKQEAgLTIyOSw2 ICsyMjksMjUgQEAgc3RhdGljIGJvb2wgaWNtcHY2X3hybGltX2FsbG93KHN0cnVjdCBzb2NrICpz aywgdTggdHlwZSwKIAlyZXR1cm4gcmVzOwogfQogCitzdGF0aWMgYm9vbCBpY21wdjZfcnRfaGFz X3ByZWZzcmMoc3RydWN0IHNvY2sgKnNrLCB1OCB0eXBlLAorCQkJCSAgc3RydWN0IGZsb3dpNiAq Zmw2KQoreworCXN0cnVjdCBuZXQgKm5ldCA9IHNvY2tfbmV0KHNrKTsKKwlzdHJ1Y3QgZHN0X2Vu dHJ5ICpkc3Q7CisJYm9vbCByZXMgPSBmYWxzZTsKKworCWRzdCA9IGlwNl9yb3V0ZV9vdXRwdXQo bmV0LCBzaywgZmw2KTsKKwlpZiAoIWRzdC0+ZXJyb3IpIHsKKwkJc3RydWN0IHJ0Nl9pbmZvICpy dCA9IChzdHJ1Y3QgcnQ2X2luZm8gKilkc3Q7CisJCXN0cnVjdCBpbjZfYWRkciBwcmVmc3JjOwor CisJCXJ0Nl9nZXRfcHJlZnNyYyhydCwgJnByZWZzcmMpOworCQlyZXMgPSAhaXB2Nl9hZGRyX2Fu eSgmcHJlZnNyYyk7CisJfQorCWRzdF9yZWxlYXNlKGRzdCk7CisJcmV0dXJuIHJlczsKK30KKwog LyoKICAqCWFuIGlubGluZSBoZWxwZXIgZm9yIHRoZSAic2ltcGxlIiBpZiBzdGF0ZW1lbnQgYmVs b3cKICAqCWNoZWNrcyBpZiBwYXJhbWV0ZXIgcHJvYmxlbSByZXBvcnQgaXMgY2F1c2VkIGJ5IGFu CkBAIC01MjcsNyArNTQ2LDcgQEAgc3RhdGljIHZvaWQgaWNtcDZfc2VuZChzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLCB1OCB0eXBlLCB1OCBjb2RlLCBfX3UzMiBpbmZvLAogCQlzYWRkciA9IGZvcmNlX3Nh ZGRyOwogCWlmIChzYWRkcikgewogCQlmbDYuc2FkZHIgPSAqc2FkZHI7Ci0JfSBlbHNlIHsKKwl9 IGVsc2UgaWYgKCFpY21wdjZfcnRfaGFzX3ByZWZzcmMoc2ssIHR5cGUsICZmbDYpKSB7CiAJCS8q IHNlbGVjdCBhIG1vcmUgbWVhbmluZ2Z1bCBzYWRkciBmcm9tIGlucHV0IGlmICovCiAJCXN0cnVj dCBuZXRfZGV2aWNlICppbl9uZXRkZXY7CiAKLS0gCjIuMjAuMQoKCkZyb20gZjZiNDFlYjZlZDhl MTMwZjU0MjJhNDk3ZmE1ZmQzODJkMTQwYmVkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogVmxhZGltaXIgT2x0ZWFuIDx2bGFkaW1pci5vbHRlYW5AbnhwLmNvbT4KRGF0ZTogVHVlLCAx NCBBcHIgMjAyMCAyMjozNjoxNSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMTldIG5ldDogbXNj Yzogb2NlbG90OiBmaXggdW50YWdnZWQgcGFja2V0IGRyb3BzIHdoZW4KIGVuc2xhdmluZyB0byB2 bGFuIGF3YXJlIGJyaWRnZQoKWyBVcHN0cmVhbSBjb21taXQgODdiMGY5ODNmNjZmMjM3NjI5MjEx MjlmZDM1OTY2ZWRkYzNmMmRhZSBdCgpUbyByZWhhc2ggYSBwcmV2aW91cyBleHBsYW5hdGlvbiBn aXZlbiBpbiBjb21taXQgMWM0NGNlNTYwYjRkICgibmV0Ogptc2NjOiBvY2Vsb3Q6IGZpeCB2bGFu X2ZpbHRlcmluZyB3aGVuIGVuc2xhdmluZyB0byBicmlkZ2UgYmVmb3JlIGxpbmsgaXMKdXAiKSwg dGhlIHN3aXRjaCBkcml2ZXIgb3BlcmF0ZXMgdGhlIGluIGEgbW9kZSB3aGVyZSBhIHNpbmdsZSBW TEFOIGNhbgpiZSB0cmFuc21pdHRlZCBhcyB1bnRhZ2dlZCBvbiBhIHBhcnRpY3VsYXIgZWdyZXNz IHBvcnQuIFRoYXQgaXMgdGhlCiJuYXRpdmUgVkxBTiBvbiB0cnVuayBwb3J0IiB1c2UgY2FzZS4K ClRoZSBjb25maWd1cmF0aW9uIGZvciB0aGlzIG5hdGl2ZSBWTEFOIGlzIGRyaXZlbiBpbiAyIHdh eXM6CiAtIFNldCB0aGUgZWdyZXNzIHBvcnQgcmV3cml0ZXIgdG8gc3RyaXAgdGhlIFZMQU4gdGFn IGZvciB0aGUgbmF0aXZlCiAgIFZJRCAoYXMgaXQgaXMgZWdyZXNzLXVudGFnZ2VkLCBhZnRlciBh bGwpLgogLSBDb25maWd1cmUgdGhlIGluZ3Jlc3MgcG9ydCB0byBkcm9wIHVudGFnZ2VkIGFuZCBw cmlvcml0eS10YWdnZWQKICAgdHJhZmZpYywgaWYgdGhlcmUgaXMgbm8gbmF0aXZlIFZMQU4uIFRo ZSBpbnRlbnRpb24gb2YgdGhpcyBzZXR0aW5nIGlzCiAgIHRoYXQgYSB0cnVuayBwb3J0IHdpdGgg bm8gbmF0aXZlIFZMQU4gc2hvdWxkIG5vdCBhY2NlcHQgdW50YWdnZWQKICAgdHJhZmZpYy4KClNp bmNlIGJvdGggb2YgdGhlIGFib3ZlIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgbmF0aXZlIFZMQU4g c2hvdWxkIG9ubHkKYmUgZG9uZSBpZiBWTEFOIGF3YXJlbmVzcyBpcyByZXF1ZXN0ZWQsIHRoZXkg YXJlIGFjdHVhbGx5IGRvbmUgZnJvbSB0aGUKb2NlbG90X3BvcnRfdmxhbl9maWx0ZXJpbmcgZnVu Y3Rpb24sIGFmdGVyIHRoZSBiYXNpYyBwcm9jZWR1cmUgb2YKdG9nZ2xpbmcgdGhlIFZMQU4gYXdh cmVuZXNzIGZsYWcgb2YgdGhlIHBvcnQuCgpCdXQgdGhlcmUncyBhIHByb2JsZW0gd2l0aCB0aGF0 IHNpbXBsaXN0aWMgYXBwcm9hY2g6IHdlIGFyZSB0cnlpbmcgdG8KanVnZ2xlIHdpdGggMiBpbmRl cGVuZGVudCB2YXJpYWJsZXMgZnJvbSBhIHNpbmdsZSBmdW5jdGlvbjoKIC0gTmF0aXZlIFZMQU4g b2YgdGhlIHBvcnQgLSBpdHMgdmFsdWUgaXMgaGVsZCBpbiBwb3J0LT52aWQuCiAtIFZMQU4gYXdh cmVuZXNzIHN0YXRlIG9mIHRoZSBwb3J0IC0gY3VycmVudGx5IHRoZXJlIGFyZSBzb21lIGlzc3Vl cwogICBoZXJlLCBtb3JlIG9uIHRoYXQgbGF0ZXIqLgpUaGUgYWN0dWFsIHByb2JsZW0gY2FuIGJl IHNlZW4gd2hlbiBlbnNsYXZpbmcgdGhlIHN3aXRjaCBwb3J0cyB0byBhIFZMQU4KZmlsdGVyaW5n IGJyaWRnZToKIDAuIFRoZSBkcml2ZXIgY29uZmlndXJlcyBhIHB2aWQgb2YgemVybyBmb3IgZWFj aCBwb3J0LCB3aGVuIGluCiAgICBzdGFuZGFsb25lIG1vZGUuIFdoaWxlIHRoZSBicmlkZ2UgY29u ZmlndXJlcyBhIGRlZmF1bHRfcHZpZCBvZiAxIGZvcgogICAgZWFjaCBwb3J0IHRoYXQgZ2V0cyBh ZGRlZCBhcyBhIHNsYXZlIHRvIGl0LgogMS4gVGhlIGJyaWRnZSBjYWxscyBvY2Vsb3RfcG9ydF92 bGFuX2ZpbHRlcmluZyB3aXRoIHZsYW5fYXdhcmU9dHJ1ZS4KICAgIFRoZSBWTEFOLWZpbHRlcmlu Zy1kZXBlbmRlbnQgcG9ydGlvbiBvZiB0aGUgbmF0aXZlIFZMQU4KICAgIGNvbmZpZ3VyYXRpb24g aXMgZG9uZSwgY29uc2lkZXJpbmcgdGhhdCB0aGUgbmF0aXZlIFZMQU4gaXMgMC4KIDIuIFRoZSBi cmlkZ2UgY2FsbHMgb2NlbG90X3ZsYW5fYWRkIHdpdGggdmlkPTEsIHB2aWQ9dHJ1ZSwKICAgIHVu dGFnZ2VkPXRydWUuIFRoZSBuYXRpdmUgVkxBTiBjaGFuZ2VzIHRvIDEgKGNoYW5nZSB3aGljaCBn ZXRzCiAgICBwcm9wYWdhdGVkIHRvIGhhcmR3YXJlKS4KIDMuID8/PyAtIG5vYm9keSBjYWxscyBv Y2Vsb3RfcG9ydF92bGFuX2ZpbHRlcmluZyBhZ2FpbiwgdG8gcmVhcHBseSB0aGUKICAgIFZMQU4t ZmlsdGVyaW5nLWRlcGVuZGVudCBwb3J0aW9uIG9mIHRoZSBuYXRpdmUgVkxBTiBjb25maWd1cmF0 aW9uLAogICAgZm9yIHRoZSBuZXcgbmF0aXZlIFZMQU4gb2YgMS4gT25lIGNhbiBub3RpY2UgdGhh dCBhZnRlciB0b2dnbGluZyAiaXAKICAgIGxpbmsgc2V0IGRldiBicjAgdHlwZSBicmlkZ2Ugdmxh bl9maWx0ZXJpbmcgMCAmJiBpcCBsaW5rIHNldCBkZXYgYnIwCiAgICB0eXBlIGJyaWRnZSB2bGFu X2ZpbHRlcmluZyAxIiwgdGhlIG5ldyBuYXRpdmUgVkxBTiBmaW5hbGx5IG1ha2VzIGl0CiAgICB0 aHJvdWdoIGFuZCB1bnRhZ2dlZCB0cmFmZmljIGZpbmFsbHkgc3RhcnRzIGZsb3dpbmcgYWdhaW4u IEJ1dAogICAgb2J2aW91c2x5IHRoYXQgc2hvdWxkbid0IGJlIG5lZWRlZC4KClNvIGl0IGlzIGNs ZWFyIHRoYXQgMiBpbmRlcGVuZGVudCB2YXJpYWJsZXMgbmVlZCB0byBib3RoIHJlLXRyaWdnZXIg dGhlCm5hdGl2ZSBWTEFOIGNvbmZpZ3VyYXRpb24uIFNvIHdlIGludHJvZHVjZSB0aGUgc2Vjb25k IHZhcmlhYmxlIGFzCm9jZWxvdF9wb3J0LT52bGFuX2F3YXJlLgoKKkFjdHVhbGx5IGJvdGggdGhl IERTQSBGZWxpeCBkcml2ZXIgYW5kIHRoZSBPY2Vsb3QgZHJpdmVyIGFscmVhZHkgaGFkCmVhY2gg aXRzIG93biB2YXJpYWJsZToKIC0gT2NlbG90OiBvY2Vsb3RfcG9ydF9wcml2YXRlLT52bGFuX2F3 YXJlCiAtIEZlbGl4OiBkc2FfcG9ydC0+dmxhbl9maWx0ZXJpbmcKYnV0IHRoZSBjb21tb24gT2Nl bG90IGxpYnJhcnkgbmVlZHMgdG8gd29yayB3aXRoIGEgc2luZ2xlLCBjb21tb24sCnZhcmlhYmxl LCBzbyB0aGVyZSBpcyBzb21lIHJlZmFjdG9yaW5nIGRvbmUgdG8gbW92ZSB0aGUgdmxhbl9hd2Fy ZQpwcm9wZXJ0eSBmcm9tIHRoZSBwcml2YXRlIHN0cnVjdHVyZSBpbnRvIHRoZSBjb21tb24gb2Nl bG90X3BvcnQKc3RydWN0dXJlLgoKRml4ZXM6IDk3YmI2OWUxZTM2ZSAoIm5ldDogbXNjYzogb2Nl bG90OiBicmVhayBhcGFydCBvY2Vsb3Rfdmxhbl9wb3J0X2FwcGx5IikKU2lnbmVkLW9mZi1ieTog VmxhZGltaXIgT2x0ZWFuIDx2bGFkaW1pci5vbHRlYW5AbnhwLmNvbT4KUmV2aWV3ZWQtYnk6IEhv cmF0aXUgVnVsdHVyIDxob3JhdGl1LnZ1bHR1ckBtaWNyb2NoaXAuY29tPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv ZHNhL29jZWxvdC9mZWxpeC5jICAgICB8ICA1ICstCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tc2Nj L29jZWxvdC5jIHwgODQgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tc2NjL29jZWxvdC5oIHwgIDIgLQogaW5jbHVkZS9zb2MvbXNjYy9vY2Vsb3Qu aCAgICAgICAgICB8ICA0ICstCiA0IGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDQ4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9vY2Vsb3QvZmVsaXgu YyBiL2RyaXZlcnMvbmV0L2RzYS9vY2Vsb3QvZmVsaXguYwppbmRleCBiN2Y5MjQ2NDgxNWQuLjA3 YmEzZWRhM2M2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL29jZWxvdC9mZWxpeC5jCisr KyBiL2RyaXZlcnMvbmV0L2RzYS9vY2Vsb3QvZmVsaXguYwpAQCAtNDYsMTEgKzQ2LDggQEAgc3Rh dGljIGludCBmZWxpeF9mZGJfYWRkKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCiAJ CQkgY29uc3QgdW5zaWduZWQgY2hhciAqYWRkciwgdTE2IHZpZCkKIHsKIAlzdHJ1Y3Qgb2NlbG90 ICpvY2Vsb3QgPSBkcy0+cHJpdjsKLQlib29sIHZsYW5fYXdhcmU7CiAKLQl2bGFuX2F3YXJlID0g ZHNhX3BvcnRfaXNfdmxhbl9maWx0ZXJpbmcoZHNhX3RvX3BvcnQoZHMsIHBvcnQpKTsKLQotCXJl dHVybiBvY2Vsb3RfZmRiX2FkZChvY2Vsb3QsIHBvcnQsIGFkZHIsIHZpZCwgdmxhbl9hd2FyZSk7 CisJcmV0dXJuIG9jZWxvdF9mZGJfYWRkKG9jZWxvdCwgcG9ydCwgYWRkciwgdmlkKTsKIH0KIAog c3RhdGljIGludCBmZWxpeF9mZGJfZGVsKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQs CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tc2NjL29jZWxvdC5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vsb3QuYwppbmRleCA4OGMwNDY0YTU0ZTIuLjlmNmZlODgw Yjk1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vsb3QuYworKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tc2NjL29jZWxvdC5jCkBAIC0xODMsNDQgKzE4Myw0NyBA QCBzdGF0aWMgdm9pZCBvY2Vsb3Rfdmxhbl9tb2RlKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50 IHBvcnQsCiAJb2NlbG90X3dyaXRlKG9jZWxvdCwgdmFsLCBBTkFfVkxBTk1BU0spOwogfQogCi12 b2lkIG9jZWxvdF9wb3J0X3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50 IHBvcnQsCi0JCQkJYm9vbCB2bGFuX2F3YXJlKQorc3RhdGljIGludCBvY2Vsb3RfcG9ydF9zZXRf bmF0aXZlX3ZsYW4oc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQgcG9ydCwKKwkJCQkgICAgICAg dTE2IHZpZCkKIHsKIAlzdHJ1Y3Qgb2NlbG90X3BvcnQgKm9jZWxvdF9wb3J0ID0gb2NlbG90LT5w b3J0c1twb3J0XTsKLQl1MzIgdmFsOworCXUzMiB2YWwgPSAwOwogCi0JaWYgKHZsYW5fYXdhcmUp Ci0JCXZhbCA9IEFOQV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5fQVdBUkVfRU5BIHwKLQkJICAgICAgQU5B X1BPUlRfVkxBTl9DRkdfVkxBTl9QT1BfQ05UKDEpOwotCWVsc2UKLQkJdmFsID0gMDsKLQlvY2Vs b3Rfcm13X2dpeChvY2Vsb3QsIHZhbCwKLQkJICAgICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5f QVdBUkVfRU5BIHwKLQkJICAgICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5fUE9QX0NOVF9NLAot CQkgICAgICAgQU5BX1BPUlRfVkxBTl9DRkcsIHBvcnQpOworCWlmIChvY2Vsb3RfcG9ydC0+dmlk ICE9IHZpZCkgeworCQkvKiBBbHdheXMgcGVybWl0IGRlbGV0aW5nIHRoZSBuYXRpdmUgVkxBTiAo dmlkID0gMCkgKi8KKwkJaWYgKG9jZWxvdF9wb3J0LT52aWQgJiYgdmlkKSB7CisJCQlkZXZfZXJy KG9jZWxvdC0+ZGV2LAorCQkJCSJQb3J0IGFscmVhZHkgaGFzIGEgbmF0aXZlIFZMQU46ICVkXG4i LAorCQkJCW9jZWxvdF9wb3J0LT52aWQpOworCQkJcmV0dXJuIC1FQlVTWTsKKwkJfQorCQlvY2Vs b3RfcG9ydC0+dmlkID0gdmlkOworCX0KKworCW9jZWxvdF9ybXdfZ2l4KG9jZWxvdCwgUkVXX1BP UlRfVkxBTl9DRkdfUE9SVF9WSUQodmlkKSwKKwkJICAgICAgIFJFV19QT1JUX1ZMQU5fQ0ZHX1BP UlRfVklEX00sCisJCSAgICAgICBSRVdfUE9SVF9WTEFOX0NGRywgcG9ydCk7CiAKLQlpZiAodmxh bl9hd2FyZSAmJiAhb2NlbG90X3BvcnQtPnZpZCkKKwlpZiAob2NlbG90X3BvcnQtPnZsYW5fYXdh cmUgJiYgIW9jZWxvdF9wb3J0LT52aWQpCiAJCS8qIElmIHBvcnQgaXMgdmxhbi1hd2FyZSBhbmQg dGFnZ2VkLCBkcm9wIHVudGFnZ2VkIGFuZCBwcmlvcml0eQogCQkgKiB0YWdnZWQgZnJhbWVzLgog CQkgKi8KIAkJdmFsID0gQU5BX1BPUlRfRFJPUF9DRkdfRFJPUF9VTlRBR0dFRF9FTkEgfAogCQkg ICAgICBBTkFfUE9SVF9EUk9QX0NGR19EUk9QX1BSSU9fU19UQUdHRURfRU5BIHwKIAkJICAgICAg QU5BX1BPUlRfRFJPUF9DRkdfRFJPUF9QUklPX0NfVEFHR0VEX0VOQTsKLQllbHNlCi0JCXZhbCA9 IDA7CiAJb2NlbG90X3Jtd19naXgob2NlbG90LCB2YWwsCiAJCSAgICAgICBBTkFfUE9SVF9EUk9Q X0NGR19EUk9QX1VOVEFHR0VEX0VOQSB8CiAJCSAgICAgICBBTkFfUE9SVF9EUk9QX0NGR19EUk9Q X1BSSU9fU19UQUdHRURfRU5BIHwKIAkJICAgICAgIEFOQV9QT1JUX0RST1BfQ0ZHX0RST1BfUFJJ T19DX1RBR0dFRF9FTkEsCiAJCSAgICAgICBBTkFfUE9SVF9EUk9QX0NGRywgcG9ydCk7CiAKLQlp ZiAodmxhbl9hd2FyZSkgeworCWlmIChvY2Vsb3RfcG9ydC0+dmxhbl9hd2FyZSkgewogCQlpZiAo b2NlbG90X3BvcnQtPnZpZCkKIAkJCS8qIFRhZyBhbGwgZnJhbWVzIGV4Y2VwdCB3aGVuIFZJRCA9 PSBERUZBVUxUX1ZMQU4gKi8KLQkJCXZhbCB8PSBSRVdfVEFHX0NGR19UQUdfQ0ZHKDEpOworCQkJ dmFsID0gUkVXX1RBR19DRkdfVEFHX0NGRygxKTsKIAkJZWxzZQogCQkJLyogVGFnIGFsbCBmcmFt ZXMgKi8KLQkJCXZhbCB8PSBSRVdfVEFHX0NGR19UQUdfQ0ZHKDMpOworCQkJdmFsID0gUkVXX1RB R19DRkdfVEFHX0NGRygzKTsKIAl9IGVsc2UgewogCQkvKiBQb3J0IHRhZ2dpbmcgZGlzYWJsZWQu ICovCiAJCXZhbCA9IFJFV19UQUdfQ0ZHX1RBR19DRkcoMCk7CkBAIC0yMjgsMzEgKzIzMSwzMSBA QCB2b2lkIG9jZWxvdF9wb3J0X3ZsYW5fZmlsdGVyaW5nKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwg aW50IHBvcnQsCiAJb2NlbG90X3Jtd19naXgob2NlbG90LCB2YWwsCiAJCSAgICAgICBSRVdfVEFH X0NGR19UQUdfQ0ZHX00sCiAJCSAgICAgICBSRVdfVEFHX0NGRywgcG9ydCk7CisKKwlyZXR1cm4g MDsKIH0KLUVYUE9SVF9TWU1CT0wob2NlbG90X3BvcnRfdmxhbl9maWx0ZXJpbmcpOwogCi1zdGF0 aWMgaW50IG9jZWxvdF9wb3J0X3NldF9uYXRpdmVfdmxhbihzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3Qs IGludCBwb3J0LAotCQkJCSAgICAgICB1MTYgdmlkKQordm9pZCBvY2Vsb3RfcG9ydF92bGFuX2Zp bHRlcmluZyhzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0LAorCQkJCWJvb2wgdmxhbl9h d2FyZSkKIHsKIAlzdHJ1Y3Qgb2NlbG90X3BvcnQgKm9jZWxvdF9wb3J0ID0gb2NlbG90LT5wb3J0 c1twb3J0XTsKKwl1MzIgdmFsOwogCi0JaWYgKG9jZWxvdF9wb3J0LT52aWQgIT0gdmlkKSB7Ci0J CS8qIEFsd2F5cyBwZXJtaXQgZGVsZXRpbmcgdGhlIG5hdGl2ZSBWTEFOICh2aWQgPSAwKSAqLwot CQlpZiAob2NlbG90X3BvcnQtPnZpZCAmJiB2aWQpIHsKLQkJCWRldl9lcnIob2NlbG90LT5kZXYs Ci0JCQkJIlBvcnQgYWxyZWFkeSBoYXMgYSBuYXRpdmUgVkxBTjogJWRcbiIsCi0JCQkJb2NlbG90 X3BvcnQtPnZpZCk7Ci0JCQlyZXR1cm4gLUVCVVNZOwotCQl9Ci0JCW9jZWxvdF9wb3J0LT52aWQg PSB2aWQ7Ci0JfQorCW9jZWxvdF9wb3J0LT52bGFuX2F3YXJlID0gdmxhbl9hd2FyZTsKIAotCW9j ZWxvdF9ybXdfZ2l4KG9jZWxvdCwgUkVXX1BPUlRfVkxBTl9DRkdfUE9SVF9WSUQodmlkKSwKLQkJ ICAgICAgIFJFV19QT1JUX1ZMQU5fQ0ZHX1BPUlRfVklEX00sCi0JCSAgICAgICBSRVdfUE9SVF9W TEFOX0NGRywgcG9ydCk7CisJaWYgKHZsYW5fYXdhcmUpCisJCXZhbCA9IEFOQV9QT1JUX1ZMQU5f Q0ZHX1ZMQU5fQVdBUkVfRU5BIHwKKwkJICAgICAgQU5BX1BPUlRfVkxBTl9DRkdfVkxBTl9QT1Bf Q05UKDEpOworCWVsc2UKKwkJdmFsID0gMDsKKwlvY2Vsb3Rfcm13X2dpeChvY2Vsb3QsIHZhbCwK KwkJICAgICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5fQVdBUkVfRU5BIHwKKwkJICAgICAgIEFO QV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5fUE9QX0NOVF9NLAorCQkgICAgICAgQU5BX1BPUlRfVkxBTl9D RkcsIHBvcnQpOwogCi0JcmV0dXJuIDA7CisJb2NlbG90X3BvcnRfc2V0X25hdGl2ZV92bGFuKG9j ZWxvdCwgcG9ydCwgb2NlbG90X3BvcnQtPnZpZCk7CiB9CitFWFBPUlRfU1lNQk9MKG9jZWxvdF9w b3J0X3ZsYW5fZmlsdGVyaW5nKTsKIAogLyogRGVmYXVsdCB2bGFuIHRvIGNsYXNpZnkgZm9yIHVu dGFnZ2VkIGZyYW1lcyAobWF5IGJlIHplcm8pICovCiBzdGF0aWMgdm9pZCBvY2Vsb3RfcG9ydF9z ZXRfcHZpZChzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0LCB1MTYgcHZpZCkKQEAgLTg1 NywxMiArODYwLDEyIEBAIHN0YXRpYyB2b2lkIG9jZWxvdF9nZXRfc3RhdHM2NChzdHJ1Y3QgbmV0 X2RldmljZSAqZGV2LAogfQogCiBpbnQgb2NlbG90X2ZkYl9hZGQoc3RydWN0IG9jZWxvdCAqb2Nl bG90LCBpbnQgcG9ydCwKLQkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqYWRkciwgdTE2IHZpZCwg Ym9vbCB2bGFuX2F3YXJlKQorCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICphZGRyLCB1MTYgdmlk KQogewogCXN0cnVjdCBvY2Vsb3RfcG9ydCAqb2NlbG90X3BvcnQgPSBvY2Vsb3QtPnBvcnRzW3Bv cnRdOwogCiAJaWYgKCF2aWQpIHsKLQkJaWYgKCF2bGFuX2F3YXJlKQorCQlpZiAoIW9jZWxvdF9w b3J0LT52bGFuX2F3YXJlKQogCQkJLyogSWYgdGhlIGJyaWRnZSBpcyBub3QgVkxBTiBhd2FyZSBh bmQgbm8gVklEIHdhcwogCQkJICogcHJvdmlkZWQsIHNldCBpdCB0byBwdmlkIHRvIGVuc3VyZSB0 aGUgTUFDIGVudHJ5CiAJCQkgKiBtYXRjaGVzIGluY29taW5nIHVudGFnZ2VkIHBhY2tldHMKQEAg LTg4OSw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IG9jZWxvdF9wb3J0X2ZkYl9hZGQoc3RydWN0IG5k bXNnICpuZG0sIHN0cnVjdCBubGF0dHIgKnRiW10sCiAJc3RydWN0IG9jZWxvdCAqb2NlbG90ID0g cHJpdi0+cG9ydC5vY2Vsb3Q7CiAJaW50IHBvcnQgPSBwcml2LT5jaGlwX3BvcnQ7CiAKLQlyZXR1 cm4gb2NlbG90X2ZkYl9hZGQob2NlbG90LCBwb3J0LCBhZGRyLCB2aWQsIHByaXYtPnZsYW5fYXdh cmUpOworCXJldHVybiBvY2Vsb3RfZmRiX2FkZChvY2Vsb3QsIHBvcnQsIGFkZHIsIHZpZCk7CiB9 CiAKIGludCBvY2Vsb3RfZmRiX2RlbChzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0LApA QCAtMTQ4OCw4ICsxNDkxLDggQEAgc3RhdGljIGludCBvY2Vsb3RfcG9ydF9hdHRyX3NldChzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2LAogCQlvY2Vsb3RfcG9ydF9hdHRyX2FnZWluZ19zZXQob2NlbG90 LCBwb3J0LCBhdHRyLT51LmFnZWluZ190aW1lKTsKIAkJYnJlYWs7CiAJY2FzZSBTV0lUQ0hERVZf QVRUUl9JRF9CUklER0VfVkxBTl9GSUxURVJJTkc6Ci0JCXByaXYtPnZsYW5fYXdhcmUgPSBhdHRy LT51LnZsYW5fZmlsdGVyaW5nOwotCQlvY2Vsb3RfcG9ydF92bGFuX2ZpbHRlcmluZyhvY2Vsb3Qs IHBvcnQsIHByaXYtPnZsYW5fYXdhcmUpOworCQlvY2Vsb3RfcG9ydF92bGFuX2ZpbHRlcmluZyhv Y2Vsb3QsIHBvcnQsCisJCQkJCSAgIGF0dHItPnUudmxhbl9maWx0ZXJpbmcpOwogCQlicmVhazsK IAljYXNlIFNXSVRDSERFVl9BVFRSX0lEX0JSSURHRV9NQ19ESVNBQkxFRDoKIAkJb2NlbG90X3Bv cnRfYXR0cl9tY19zZXQob2NlbG90LCBwb3J0LCAhYXR0ci0+dS5tY19kaXNhYmxlZCk7CkBAIC0x ODYwLDcgKzE4NjMsNiBAQCBzdGF0aWMgaW50IG9jZWxvdF9uZXRkZXZpY2VfcG9ydF9ldmVudChz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LAogCQkJfSBlbHNlIHsKIAkJCQllcnIgPSBvY2Vsb3RfcG9y dF9icmlkZ2VfbGVhdmUob2NlbG90LCBwb3J0LAogCQkJCQkJCSAgICAgICBpbmZvLT51cHBlcl9k ZXYpOwotCQkJCXByaXYtPnZsYW5fYXdhcmUgPSBmYWxzZTsKIAkJCX0KIAkJfQogCQlpZiAobmV0 aWZfaXNfbGFnX21hc3RlcihpbmZvLT51cHBlcl9kZXYpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tc2NjL29jZWxvdC5oIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbXNjYy9v Y2Vsb3QuaAppbmRleCBjMjU5MTE0YzQ4ZmQuLjJmZjA5ZGUzNGIwZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vsb3QuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5l dC9tc2NjL29jZWxvdC5oCkBAIC02Niw4ICs2Niw2IEBAIHN0cnVjdCBvY2Vsb3RfcG9ydF9wcml2 YXRlIHsKIAlzdHJ1Y3QgcGh5X2RldmljZSAqcGh5OwogCXU4IGNoaXBfcG9ydDsKIAotCXU4IHZs YW5fYXdhcmU7Ci0KIAlwaHlfaW50ZXJmYWNlX3QgcGh5X21vZGU7CiAJc3RydWN0IHBoeSAqc2Vy ZGVzOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NvYy9tc2NjL29jZWxvdC5oIGIvaW5jbHVkZS9z b2MvbXNjYy9vY2Vsb3QuaAppbmRleCA2NGNiYmJlNzRhMzYuLmE2OTliMjRiMDhkZSAxMDA2NDQK LS0tIGEvaW5jbHVkZS9zb2MvbXNjYy9vY2Vsb3QuaAorKysgYi9pbmNsdWRlL3NvYy9tc2NjL29j ZWxvdC5oCkBAIC00MTEsNiArNDExLDggQEAgc3RydWN0IG9jZWxvdF9wb3J0IHsKIAogCXZvaWQg X19pb21lbQkJCSpyZWdzOwogCisJYm9vbAkJCQl2bGFuX2F3YXJlOworCiAJLyogSW5ncmVzcyBk ZWZhdWx0IFZMQU4gKHB2aWQpICovCiAJdTE2CQkJCXB2aWQ7CiAKQEAgLTUyNyw3ICs1MjksNyBA QCBpbnQgb2NlbG90X3BvcnRfYnJpZGdlX2xlYXZlKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50 IHBvcnQsCiBpbnQgb2NlbG90X2ZkYl9kdW1wKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50IHBv cnQsCiAJCSAgICBkc2FfZmRiX2R1bXBfY2JfdCAqY2IsIHZvaWQgKmRhdGEpOwogaW50IG9jZWxv dF9mZGJfYWRkKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50IHBvcnQsCi0JCSAgIGNvbnN0IHVu c2lnbmVkIGNoYXIgKmFkZHIsIHUxNiB2aWQsIGJvb2wgdmxhbl9hd2FyZSk7CisJCSAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKmFkZHIsIHUxNiB2aWQpOwogaW50IG9jZWxvdF9mZGJfZGVsKHN0cnVj dCBvY2Vsb3QgKm9jZWxvdCwgaW50IHBvcnQsCiAJCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFk ZHIsIHUxNiB2aWQpOwogaW50IG9jZWxvdF92bGFuX2FkZChzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3Qs IGludCBwb3J0LCB1MTYgdmlkLCBib29sIHB2aWQsCi0tIAoyLjIwLjEKCgpGcm9tIDM3NGZlMDg0 MDVhMDYzNDMwNjFlMjMyMjJiMzAxOTEyODljYjdhMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEZsb3JpYW4gRmFpbmVsbGkgPGYuZmFpbmVsbGlAZ21haWwuY29tPgpEYXRlOiBUdWUs IDE0IEFwciAyMDIwIDE1OjM5OjUyIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8xOV0gbmV0OiBz dG1tYWM6IGR3bWFjLXN1bnhpOiBQcm92aWRlIFRYIGFuZCBSWCBmaWZvIHNpemVzCgpbIFVwc3Ry ZWFtIGNvbW1pdCA4MDZmZDE4OGNlMmE0ZjhiNTg3ZTgzZTczYzQ3OGU2NDg0ZmJmYTU1IF0KCkFm dGVyIGNvbW1pdCBiZmNiODEzMjAzZTYxOWE4OTYwYTgxOWJmNTMzYWQyYTEwOGQ4MTA1ICgibmV0 OiBkc2E6CmNvbmZpZ3VyZSB0aGUgTVRVIGZvciBzd2l0Y2ggcG9ydHMiKSBteSBMYW1vYm8gUjEg cGxhdGZvcm0gd2hpY2ggdXNlcwphbiBhbGx3aW5uZXIsc3VuN2ktYTIwLWdtYWMgY29tcGF0aWJs ZSBFdGhlcm5ldCBNQUMgc3RhcnRlZCB0byBmYWlsCmJ5IHJlamVjdGluZyBhIE1UVSBvZiAxNTM2 LiBUaGUgcmVhc29uIGZvciB0aGF0IGlzIHRoYXQgdGhlIERNQQpjYXBhYmlsaXRpZXMgYXJlIG5v dCByZWFkYWJsZSBvbiB0aGlzIHZlcnNpb24gb2YgdGhlIElQLCBhbmQgdGhlcmUKaXMgYWxzbyBu byAndHgtZmlmby1kZXB0aCcgcHJvcGVydHkgYmVpbmcgcHJvdmlkZWQgaW4gRGV2aWNlIFRyZWUu IFRoZQpwcm9wZXJ0eSBpcyBkb2N1bWVudGVkIGFzIG9wdGlvbmFsLCBhbmQgaXMgbm90IHByb3Zp ZGVkLgoKQ2hlbi1ZdSBpbmRpY2F0ZWQgdGhhdCB0aGUgRklGTyBzaXplcyBhcmUgNEtCIGZvciBU WCBhbmQgMTZLQiBmb3IgUlgsIHNvCnByb3ZpZGUgdGhlc2UgdmFsdWVzIHRocm91Z2ggcGxhdGZv cm0gZGF0YSBhcyBhbiBpbW1lZGlhdGUgZml4IHVudGlsCnZhcmlvdXMgRGV2aWNlIFRyZWUgc291 cmNlcyBnZXQgdXBkYXRlZCBhY2NvcmRpbmdseS4KCkZpeGVzOiBlYWY0ZmFjNDc4MDcgKCJuZXQ6 IHN0bW1hYzogRG8gbm90IGFjY2VwdCBpbnZhbGlkIE1UVSB2YWx1ZXMiKQpTdWdnZXN0ZWQtYnk6 IENoZW4tWXUgVHNhaSA8d2Vuc0Bjc2llLm9yZz4KU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBGYWlu ZWxsaSA8Zi5mYWluZWxsaUBnbWFpbC5jb20+CkFja2VkLWJ5OiBDaGVuLVl1IFRzYWkgPHdlbnNA Y3NpZS5vcmc+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54 aS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMgYi9kcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jCmluZGV4IDdkNDA3 NjBlOWJhOC4uMGUxY2EyY2JhM2M3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9z dG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0 bWljcm8vc3RtbWFjL2R3bWFjLXN1bnhpLmMKQEAgLTE1MCw2ICsxNTAsOCBAQCBzdGF0aWMgaW50 IHN1bjdpX2dtYWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlwbGF0X2Rh dC0+aW5pdCA9IHN1bjdpX2dtYWNfaW5pdDsKIAlwbGF0X2RhdC0+ZXhpdCA9IHN1bjdpX2dtYWNf ZXhpdDsKIAlwbGF0X2RhdC0+Zml4X21hY19zcGVlZCA9IHN1bjdpX2ZpeF9zcGVlZDsKKwlwbGF0 X2RhdC0+dHhfZmlmb19zaXplID0gNDA5NjsKKwlwbGF0X2RhdC0+cnhfZmlmb19zaXplID0gMTYz ODQ7CiAKIAlyZXQgPSBzdW43aV9nbWFjX2luaXQocGRldiwgcGxhdF9kYXQtPmJzcF9wcml2KTsK IAlpZiAocmV0KQotLSAKMi4yMC4xCgo= ----Next_Part(Fri_Apr_17_10_51_00_2020_322)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_56.mbox" RnJvbSBlNDk0ODc1YzM5YTM4OTQwOTgwYmQzZGRkMzBiNzI5YTY1MTJmYzY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxiaWdlYXN5QGxp bnV0cm9uaXguZGU+CkRhdGU6IFRodSwgMTYgQXByIDIwMjAgMTc6NTc6NDAgKzAyMDAKU3ViamVj dDogW1BBVENIIDAxLzIxXSBhbWQteGdiZTogVXNlIF9fbmFwaV9zY2hlZHVsZSgpIGluIEJIIGNv bnRleHQKClsgVXBzdHJlYW0gY29tbWl0IGQ1MTg2OTFjYmQzYmUzZGFlMjE4ZTA1Y2NhM2YzZmM5 YjJmMWFhNzcgXQoKVGhlIGRyaXZlciB1c2VzIF9fbmFwaV9zY2hlZHVsZV9pcnFvZmYoKSB3aGlj aCBpcyBmaW5lIGFzIGxvbmcgYXMgaXQgaXMKaW52b2tlZCB3aXRoIGRpc2FibGVkIGludGVycnVw dHMgYnkgZXZlcnlib2R5LiBTaW5jZSB0aGUgY29tbWl0Cm1lbnRpb25lZCBiZWxvdyB0aGUgZHJp dmVyIG1heSBpbnZva2UgeGdiZV9pc3JfdGFzaygpIGluIHRhc2tsZXQvc29mdGlycQpjb250ZXh0 LiBUaGlzIG1heSBsZWFkIHRvIGxpc3QgY29ycnVwdGlvbiBpZiBhbm90aGVyIGRyaXZlciB1c2Vz Cl9fbmFwaV9zY2hlZHVsZV9pcnFvZmYoKSBpbiBJUlEgY29udGV4dC4KClVzZSBfX25hcGlfc2No ZWR1bGUoKSB3aGljaCBzYWZlIHRvIHVzZSBmcm9tIElSUSBhbmQgc29mdGlycSBjb250ZXh0LgoK Rml4ZXM6IDg1Yjg1Yzg1MzQwMWQgKCJhbWQteGdiZTogUmUtaXNzdWUgaW50ZXJydXB0IGlmIGlu dGVycnVwdCBzdGF0dXMgbm90IGNsZWFyZWQiKQpTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gQW5k cnplaiBTaWV3aW9yIDxiaWdlYXN5QGxpbnV0cm9uaXguZGU+CkFja2VkLWJ5OiBUb20gTGVuZGFj a3kgPHRob21hcy5sZW5kYWNreUBhbWQuY29tPgpDYzogVG9tIExlbmRhY2t5IDx0aG9tYXMubGVu ZGFja3lAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC94Z2JlL3hnYmUtZHJ2LmMg fCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUveGdiZS1kcnYuYwppbmRleCBiNzFmOWIwNGE1MWUu LmE4NzI2NGY5NWYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvYW1kL3hnYmUv eGdiZS1kcnYuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9hbWQveGdiZS94Z2JlLWRydi5j CkBAIC01MTQsNyArNTE0LDcgQEAgc3RhdGljIHZvaWQgeGdiZV9pc3JfdGFzayh1bnNpZ25lZCBs b25nIGRhdGEpCiAJCQkJeGdiZV9kaXNhYmxlX3J4X3R4X2ludHMocGRhdGEpOwogCiAJCQkJLyog VHVybiBvbiBwb2xsaW5nICovCi0JCQkJX19uYXBpX3NjaGVkdWxlX2lycW9mZigmcGRhdGEtPm5h cGkpOworCQkJCV9fbmFwaV9zY2hlZHVsZSgmcGRhdGEtPm5hcGkpOwogCQkJfQogCQl9IGVsc2Ug ewogCQkJLyogRG9uJ3QgY2xlYXIgUngvVHggc3RhdHVzIGlmIGRvaW5nIHBlciBjaGFubmVsIERN QQotLSAKMi4yMC4xCgoKRnJvbSBiNWM5MjY1NzliNTE3OTQyNzY4NzU3OGRkYmQ1MTRlODBlYzcz MjQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUYWVoZWUgWW9vIDxhcDQyMDA3M0Bn bWFpbC5jb20+CkRhdGU6IFR1ZSwgNyBBcHIgMjAyMCAxMzoyMzoyMSArMDAwMApTdWJqZWN0OiBb UEFUQ0ggMDIvMjFdIGhzcjogY2hlY2sgcHJvdG9jb2wgdmVyc2lvbiBpbiBoc3JfbmV3bGluaygp CgpbIFVwc3RyZWFtIGNvbW1pdCA0ZmFhYjhjNDQ2ZGVmNzY2N2FkZjFmNzIyNDU2YzJmNGMzMDQw NjljIF0KCkluIHRoZSBjdXJyZW50IGhzciBjb2RlLCBvbmx5IDAgYW5kIDEgcHJvdG9jb2wgdmVy c2lvbnMgYXJlIHZhbGlkLgpCdXQgY3VycmVudCBoc3IgY29kZSBkb2Vzbid0IGNoZWNrIHRoZSB2 ZXJzaW9uLCB3aGljaCBpcyByZWNlaXZlZCBieQp1c2Vyc3BhY2UuCgpUZXN0IGNvbW1hbmRzOgog ICAgaXAgbGluayBhZGQgZHVtbXkwIHR5cGUgZHVtbXkKICAgIGlwIGxpbmsgYWRkIGR1bW15MSB0 eXBlIGR1bW15CiAgICBpcCBsaW5rIGFkZCBoc3IwIHR5cGUgaHNyIHNsYXZlMSBkdW1teTAgc2xh dmUyIGR1bW15MSB2ZXJzaW9uIDQKCkluIHRoZSB0ZXN0IGNvbW1hbmRzLCB2ZXJzaW9uIDQgaXMg aW52YWxpZC4KU28sIHRoZSBjb21tYW5kIHNob3VsZCBiZSBmYWlsZWQuCgpBZnRlciB0aGlzIHBh dGNoLCBmb2xsb3dpbmcgZXJyb3Igd2lsbCBvY2N1ci4KIkVycm9yOiBoc3I6IE9ubHkgdmVyc2lv bnMgMC4uMSBhcmUgc3VwcG9ydGVkLiIKCkZpeGVzOiBlZTFjMjc5NzcyODQgKCJuZXQvaHNyOiBB ZGRlZCBzdXBwb3J0IGZvciBIU1IgdjEiKQpTaWduZWQtb2ZmLWJ5OiBUYWVoZWUgWW9vIDxhcDQy MDA3M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2 ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaHNyL2hzcl9uZXRsaW5rLmMgfCAxMCArKysrKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL25ldC9oc3IvaHNyX25ldGxpbmsuYyBiL25ldC9oc3IvaHNyX25ldGxpbmsuYwppbmRleCBm YWUyMWM4NjNiMWYuLjU1YzBiMmU4NzJhNSAxMDA2NDQKLS0tIGEvbmV0L2hzci9oc3JfbmV0bGlu ay5jCisrKyBiL25ldC9oc3IvaHNyX25ldGxpbmsuYwpAQCAtNjEsMTAgKzYxLDE2IEBAIHN0YXRp YyBpbnQgaHNyX25ld2xpbmsoc3RydWN0IG5ldCAqc3JjX25ldCwgc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwKIAllbHNlCiAJCW11bHRpY2FzdF9zcGVjID0gbmxhX2dldF91OChkYXRhW0lGTEFfSFNS X01VTFRJQ0FTVF9TUEVDXSk7CiAKLQlpZiAoIWRhdGFbSUZMQV9IU1JfVkVSU0lPTl0pCisJaWYg KCFkYXRhW0lGTEFfSFNSX1ZFUlNJT05dKSB7CiAJCWhzcl92ZXJzaW9uID0gMDsKLQllbHNlCisJ fSBlbHNlIHsKIAkJaHNyX3ZlcnNpb24gPSBubGFfZ2V0X3U4KGRhdGFbSUZMQV9IU1JfVkVSU0lP Tl0pOworCQlpZiAoaHNyX3ZlcnNpb24gPiAxKSB7CisJCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0 YWNrLAorCQkJCQkgICAiT25seSB2ZXJzaW9ucyAwLi4xIGFyZSBzdXBwb3J0ZWQiKTsKKwkJCXJl dHVybiAtRUlOVkFMOworCQl9CisJfQogCiAJcmV0dXJuIGhzcl9kZXZfZmluYWxpemUoZGV2LCBs aW5rLCBtdWx0aWNhc3Rfc3BlYywgaHNyX3ZlcnNpb24pOwogfQotLSAKMi4yMC4xCgoKRnJvbSA5 MThkMjJhMjllY2I2MmFmMDJiZGRkZTdjMGYxNTk0YzZmMjQ4OGVjIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/TWljaGFlbD0yMFdlaT1DMz05Rj89IDxtaWNoYWVsLndl aXNzQGFpc2VjLmZyYXVuaG9mZXIuZGU+CkRhdGU6IFR1ZSwgNyBBcHIgMjAyMCAxMzoxMTo0OCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjFdIGwydHA6IEFsbG93IG1hbmFnZW1lbnQgb2YgdHVu bmVscyBhbmQgc2Vzc2lvbiBpbiB1c2VyCiBuYW1lc3BhY2UKTUlNRS1WZXJzaW9uOiAxLjAKQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5j b2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IDJhYmUwNTIzNGYyZTg5MjcyOGMzODgxNjk2 MzFlNGI5OWYzNTRjODYgXQoKQ3JlYXRpb24gYW5kIG1hbmFnZW1lbnQgb2YgTDJUUHYzIHR1bm5l bHMgYW5kIHNlc3Npb24gdGhyb3VnaCBuZXRsaW5rCnJlcXVpcmVzIENBUF9ORVRfQURNSU4uIEhv d2V2ZXIsIGEgcHJvY2VzcyB3aXRoIENBUF9ORVRfQURNSU4gaW4gYQpub24taW5pdGlhbCB1c2Vy IG5hbWVzcGFjZSBnZXRzIGFuIEVQRVJNIGR1ZSB0byB0aGUgdXNlIG9mIHRoZQpnZW5ldGxpbmsg R0VOTF9BRE1JTl9QRVJNIGZsYWcuIFRodXMsIG1hbmFnZW1lbnQgb2YgTDJUUCBWUE5zIGluc2lk ZQphbiB1bnByaXZpbGVnZWQgY29udGFpbmVyIHdvbid0IHdvcmsuCgpXZSByZXBsYWNlZCB0aGUg R0VOTF9BRE1JTl9QRVJNIGJ5IHRoZSBHRU5MX1VOU19BRE1JTl9QRVJNIGZsYWcKc2ltaWxhciB0 byBvdGhlciBuZXR3b3JrIG1vZHVsZXMgd2hpY2ggYWxzbyBoYWQgdGhpcyBwcm9ibGVtLCBlLmcu LApvcGVudnN3aXRjaCAoY29tbWl0IDRhOTI2MDJhYTFjZCAib3BlbnZzd2l0Y2g6IGFsbG93IG1h bmFnZW1lbnQgZnJvbQppbnNpZGUgdXNlciBuYW1lc3BhY2VzIikgYW5kIG5sODAyMTEgKGNvbW1p dCA1NjE3YzZjZDZmODQ0ICJubDgwMjExOgpBbGxvdyBwcml2aWxlZ2VkIG9wZXJhdGlvbnMgZnJv bSB1c2VyIG5hbWVzcGFjZXMiKS4KCkkgdGVzdGVkIHRoaXMgaW4gdGhlIGNvbnRhaW5lciBydW50 aW1lIHRydXN0bTMgKHRydXN0bTMuZ2l0aHViLmlvKQphbmQgd2FzIGFibGUgdG8gY3JlYXRlIGwy dHAgdHVubmVscyBhbmQgc2Vzc2lvbnMgaW4gdW5wcml2aWxpZ2VkCih1c2VyIG5hbWVzcGFjZWQp IGNvbnRhaW5lcnMgdXNpbmcgYSBwcml2YXRlIG5ldHdvcmsgbmFtZXNwYWNlLgpGb3Igb3RoZXIg cnVudGltZXMgc3VjaCBhcyBkb2NrZXIgb3IgbHhjIHRoaXMgc2hvdWxkIHdvcmssIHRvby4KClNp Z25lZC1vZmYtYnk6IE1pY2hhZWwgV2Vpw58gPG1pY2hhZWwud2Vpc3NAYWlzZWMuZnJhdW5ob2Zl ci5kZT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0 PgotLS0KIG5ldC9sMnRwL2wydHBfbmV0bGluay5jIHwgMTYgKysrKysrKystLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9uZXQvbDJ0cC9sMnRwX25ldGxpbmsuYyBiL25ldC9sMnRwL2wydHBfbmV0bGluay5jCmluZGV4 IGY1YTliZGM0OTgwYy4uZWJiMzgxYzNmMWI5IDEwMDY0NAotLS0gYS9uZXQvbDJ0cC9sMnRwX25l dGxpbmsuYworKysgYi9uZXQvbDJ0cC9sMnRwX25ldGxpbmsuYwpAQCAtOTIwLDUxICs5MjAsNTEg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5sX29wcyBsMnRwX25sX29wc1tdID0gewogCQkuY21k ID0gTDJUUF9DTURfVFVOTkVMX0NSRUFURSwKIAkJLnZhbGlkYXRlID0gR0VOTF9ET05UX1ZBTElE QVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLAogCQkuZG9pdCA9IGwydHBfbmxf Y21kX3R1bm5lbF9jcmVhdGUsCi0JCS5mbGFncyA9IEdFTkxfQURNSU5fUEVSTSwKKwkJLmZsYWdz ID0gR0VOTF9VTlNfQURNSU5fUEVSTSwKIAl9LAogCXsKIAkJLmNtZCA9IEwyVFBfQ01EX1RVTk5F TF9ERUxFVEUsCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5M X0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF90dW5uZWxfZGVsZXRl LAotCQkuZmxhZ3MgPSBHRU5MX0FETUlOX1BFUk0sCisJCS5mbGFncyA9IEdFTkxfVU5TX0FETUlO X1BFUk0sCiAJfSwKIAl7CiAJCS5jbWQgPSBMMlRQX0NNRF9UVU5ORUxfTU9ESUZZLAogCQkudmFs aWRhdGUgPSBHRU5MX0RPTlRfVkFMSURBVEVfU1RSSUNUIHwgR0VOTF9ET05UX1ZBTElEQVRFX0RV TVAsCiAJCS5kb2l0ID0gbDJ0cF9ubF9jbWRfdHVubmVsX21vZGlmeSwKLQkJLmZsYWdzID0gR0VO TF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewog CQkuY21kID0gTDJUUF9DTURfVFVOTkVMX0dFVCwKIAkJLnZhbGlkYXRlID0gR0VOTF9ET05UX1ZB TElEQVRFX1NUUklDVCB8IEdFTkxfRE9OVF9WQUxJREFURV9EVU1QLAogCQkuZG9pdCA9IGwydHBf bmxfY21kX3R1bm5lbF9nZXQsCiAJCS5kdW1waXQgPSBsMnRwX25sX2NtZF90dW5uZWxfZHVtcCwK LQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9Q RVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9DUkVBVEUsCiAJCS52YWxp ZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVN UCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNzaW9uX2NyZWF0ZSwKLQkJLmZsYWdzID0gR0VO TF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewog CQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9ERUxFVEUsCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9O VF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBs MnRwX25sX2NtZF9zZXNzaW9uX2RlbGV0ZSwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAor CQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9D TURfU0VTU0lPTl9NT0RJRlksCiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJ Q1QgfCBHRU5MX0RPTlRfVkFMSURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNz aW9uX21vZGlmeSwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJNLAorCQkuZmxhZ3MgPSBHRU5M X1VOU19BRE1JTl9QRVJNLAogCX0sCiAJewogCQkuY21kID0gTDJUUF9DTURfU0VTU0lPTl9HRVQs CiAJCS52YWxpZGF0ZSA9IEdFTkxfRE9OVF9WQUxJREFURV9TVFJJQ1QgfCBHRU5MX0RPTlRfVkFM SURBVEVfRFVNUCwKIAkJLmRvaXQgPSBsMnRwX25sX2NtZF9zZXNzaW9uX2dldCwKIAkJLmR1bXBp dCA9IGwydHBfbmxfY21kX3Nlc3Npb25fZHVtcCwKLQkJLmZsYWdzID0gR0VOTF9BRE1JTl9QRVJN LAorCQkuZmxhZ3MgPSBHRU5MX1VOU19BRE1JTl9QRVJNLAogCX0sCiB9OwogCi0tIAoyLjIwLjEK CgpGcm9tIDIyNzc1ZmI5NTgwMzY2NTY4NGFiMDg0M2E5OGE4MzA2YjU4NjEzM2UgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IERFTkcgUWluZ2ZhbmcgPGRxZmV4dEBnbWFpbC5jb20+CkRh dGU6IFR1ZSwgMTQgQXByIDIwMjAgMTQ6MzQ6MDggKzA4MDAKU3ViamVjdDogW1BBVENIIDA0LzIx XSBuZXQ6IGRzYTogbXQ3NTMwOiBmaXggdGFnZ2VkIGZyYW1lcyBwYXNzLXRocm91Z2ggaW4KIFZM QU4tdW5hd2FyZSBtb2RlCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFp bjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgpbIFVwc3Ry ZWFtIGNvbW1pdCBlMDQ1MTI0ZTkzOTk1ZmUwMWU0MmVkNTMwMDAzZGRiYTVkNTVkYjRmIF0KCklu IFZMQU4tdW5hd2FyZSBtb2RlLCB0aGUgRWdyZXNzIFRhZyAoRUdfVEFHKSBmaWVsZCBpbiBQb3J0 IFZMQU4KQ29udHJvbCByZWdpc3RlciBtdXN0IGJlIHNldCB0byBDb25zaXN0ZW50IHRvIGxldCB0 YWdnZWQgZnJhbWVzIHBhc3MKdGhyb3VnaCBhcyBpcywgb3RoZXJ3aXNlIHRoZWlyIHRhZ3Mgd2ls bCBiZSBzdHJpcHBlZC4KCkZpeGVzOiA4MzE2M2Y3ZGNhNTYgKCJuZXQ6IGRzYTogbWVkaWF0ZWs6 IGFkZCBWTEFOIHN1cHBvcnQgZm9yIE1UNzUzMCIpClNpZ25lZC1vZmYtYnk6IERFTkcgUWluZ2Zh bmcgPGRxZmV4dEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZh aW5lbGxpQGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBSZW7DqSB2YW4gRG9yc3QgPG9wZW5zb3VyY2VA dmRvcnN0LmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYyB8IDE4ICsrKysrKysrKysrKy0t LS0tLQogZHJpdmVycy9uZXQvZHNhL210NzUzMC5oIHwgIDcgKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAxOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L2RzYS9tdDc1MzAuYyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwppbmRleCA5YjBk ZTI4NTJjNjkuLmVhYjE5ZmMxOTI3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL210NzUz MC5jCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwpAQCAtODU3LDggKzg1Nyw5IEBAIG10 NzUzMF9wb3J0X3NldF92bGFuX3VuYXdhcmUoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9y dCkKIAkgKi8KIAltdDc1MzBfcm13KHByaXYsIE1UNzUzMF9QQ1JfUChwb3J0KSwgUENSX1BPUlRf VkxBTl9NQVNLLAogCQkgICBNVDc1MzBfUE9SVF9NQVRSSVhfTU9ERSk7Ci0JbXQ3NTMwX3Jtdyhw cml2LCBNVDc1MzBfUFZDX1AocG9ydCksIFZMQU5fQVRUUl9NQVNLLAotCQkgICBWTEFOX0FUVFIo TVQ3NTMwX1ZMQU5fVFJBTlNQQVJFTlQpKTsKKwltdDc1MzBfcm13KHByaXYsIE1UNzUzMF9QVkNf UChwb3J0KSwgVkxBTl9BVFRSX01BU0sgfCBQVkNfRUdfVEFHX01BU0ssCisJCSAgIFZMQU5fQVRU UihNVDc1MzBfVkxBTl9UUkFOU1BBUkVOVCkgfAorCQkgICBQVkNfRUdfVEFHKE1UNzUzMF9WTEFO X0VHX0NPTlNJU1RFTlQpKTsKIAogCWZvciAoaSA9IDA7IGkgPCBNVDc1MzBfTlVNX1BPUlRTOyBp KyspIHsKIAkJaWYgKGRzYV9pc191c2VyX3BvcnQoZHMsIGkpICYmCkBAIC04NzQsOCArODc1LDgg QEAgbXQ3NTMwX3BvcnRfc2V0X3ZsYW5fdW5hd2FyZShzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGlu dCBwb3J0KQogCWlmIChhbGxfdXNlcl9wb3J0c19yZW1vdmVkKSB7CiAJCW10NzUzMF93cml0ZShw cml2LCBNVDc1MzBfUENSX1AoTVQ3NTMwX0NQVV9QT1JUKSwKIAkJCSAgICAgUENSX01BVFJJWChk c2FfdXNlcl9wb3J0cyhwcml2LT5kcykpKTsKLQkJbXQ3NTMwX3dyaXRlKHByaXYsIE1UNzUzMF9Q VkNfUChNVDc1MzBfQ1BVX1BPUlQpLAotCQkJICAgICBQT1JUX1NQRUNfVEFHKTsKKwkJbXQ3NTMw X3dyaXRlKHByaXYsIE1UNzUzMF9QVkNfUChNVDc1MzBfQ1BVX1BPUlQpLCBQT1JUX1NQRUNfVEFH CisJCQkgICAgIHwgUFZDX0VHX1RBRyhNVDc1MzBfVkxBTl9FR19DT05TSVNURU5UKSk7CiAJfQog fQogCkBAIC05MDEsOCArOTAyLDkgQEAgbXQ3NTMwX3BvcnRfc2V0X3ZsYW5fYXdhcmUoc3RydWN0 IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCkKIAkvKiBTZXQgdGhlIHBvcnQgYXMgYSB1c2VyIHBv cnQgd2hpY2ggaXMgdG8gYmUgYWJsZSB0byByZWNvZ25pemUgVklECiAJICogZnJvbSBpbmNvbWlu ZyBwYWNrZXRzIGJlZm9yZSBmZXRjaGluZyBlbnRyeSB3aXRoaW4gdGhlIFZMQU4gdGFibGUuCiAJ ICovCi0JbXQ3NTMwX3Jtdyhwcml2LCBNVDc1MzBfUFZDX1AocG9ydCksIFZMQU5fQVRUUl9NQVNL LAotCQkgICBWTEFOX0FUVFIoTVQ3NTMwX1ZMQU5fVVNFUikpOworCW10NzUzMF9ybXcocHJpdiwg TVQ3NTMwX1BWQ19QKHBvcnQpLCBWTEFOX0FUVFJfTUFTSyB8IFBWQ19FR19UQUdfTUFTSywKKwkJ ICAgVkxBTl9BVFRSKE1UNzUzMF9WTEFOX1VTRVIpIHwKKwkJICAgUFZDX0VHX1RBRyhNVDc1MzBf VkxBTl9FR19ESVNBQkxFRCkpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMTMzMyw2ICsxMzM1LDEw IEBAIG10NzUzMF9zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMpCiAJCQltdDc1MzBfY3B1X3Bv cnRfZW5hYmxlKHByaXYsIGkpOwogCQllbHNlCiAJCQltdDc1MzBfcG9ydF9kaXNhYmxlKGRzLCBp KTsKKworCQkvKiBFbmFibGUgY29uc2lzdGVudCBlZ3Jlc3MgdGFnICovCisJCW10NzUzMF9ybXco cHJpdiwgTVQ3NTMwX1BWQ19QKGkpLCBQVkNfRUdfVEFHX01BU0ssCisJCQkgICBQVkNfRUdfVEFH KE1UNzUzMF9WTEFOX0VHX0NPTlNJU1RFTlQpKTsKIAl9CiAKIAkvKiBTZXR1cCBwb3J0IDUgKi8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaCBiL2RyaXZlcnMvbmV0L2RzYS9t dDc1MzAuaAppbmRleCBjY2I5ZGE4Y2FkMGQuLjlhNzY5YzZiNzcwMCAxMDA2NDQKLS0tIGEvZHJp dmVycy9uZXQvZHNhL210NzUzMC5oCisrKyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaApAQCAt MTY3LDkgKzE2NywxNiBAQCBlbnVtIG10NzUzMF9wb3J0X21vZGUgewogLyogUmVnaXN0ZXIgZm9y IHBvcnQgdmxhbiBjb250cm9sICovCiAjZGVmaW5lIE1UNzUzMF9QVkNfUCh4KQkJCSgweDIwMTAg KyAoKHgpICogMHgxMDApKQogI2RlZmluZSAgUE9SVF9TUEVDX1RBRwkJCUJJVCg1KQorI2RlZmlu ZSAgUFZDX0VHX1RBRyh4KQkJCSgoKHgpICYgMHg3KSA8PCA4KQorI2RlZmluZSAgUFZDX0VHX1RB R19NQVNLCQlQVkNfRUdfVEFHKDcpCiAjZGVmaW5lICBWTEFOX0FUVFIoeCkJCQkoKCh4KSAmIDB4 MykgPDwgNikKICNkZWZpbmUgIFZMQU5fQVRUUl9NQVNLCQkJVkxBTl9BVFRSKDMpCiAKK2VudW0g bXQ3NTMwX3ZsYW5fcG9ydF9lZ190YWcgeworCU1UNzUzMF9WTEFOX0VHX0RJU0FCTEVEID0gMCwK KwlNVDc1MzBfVkxBTl9FR19DT05TSVNURU5UID0gMSwKK307CisKIGVudW0gbXQ3NTMwX3ZsYW5f cG9ydF9hdHRyIHsKIAlNVDc1MzBfVkxBTl9VU0VSID0gMCwKIAlNVDc1MzBfVkxBTl9UUkFOU1BB UkVOVCA9IDMsCi0tIAoyLjIwLjEKCgpGcm9tIDIwMWQ3ZDlmN2JmZWY4Yzc5NmNkNzY3ZjcwM2Zj OGEyYjM3NTRhZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFRhcmFzIENob3JueWkg PHRhcmFzLmNob3JueWlAcGx2aXNpb24uZXU+CkRhdGU6IFRodSwgOSBBcHIgMjAyMCAyMDoyNToy NCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjFdIG5ldDogaXB2NDogZGV2aW5ldDogRml4IGNy YXNoIHdoZW4gYWRkL2RlbCBtdWx0aWNhc3QgSVAKIHdpdGggYXV0b2pvaW4KClsgVXBzdHJlYW0g Y29tbWl0IDY5MGNjODYzMjFlYjliY2VlMzcxNzEwMjUyNzQyZmIxNmZlOTY4MjQgXQoKV2hlbiBD T05GSUdfSVBfTVVMVElDQVNUIGlzIG5vdCBzZXQgYW5kIG11bHRpY2FzdCBpcCBpcyBhZGRlZCB0 byB0aGUgZGV2aWNlCndpdGggYXV0b2pvaW4gZmxhZyBvciB3aGVuIG11bHRpY2FzdCBpcCBpcyBk ZWxldGVkIGtlcm5lbCB3aWxsIGNyYXNoLgoKc3RlcHMgdG8gcmVwcm9kdWNlOgoKaXAgYWRkciBh ZGQgMjI0LjAuMC4wLzMyIGRldiBldGgwCmlwIGFkZHIgZGVsIDIyNC4wLjAuMC8zMiBkZXYgZXRo MAoKb3IKCmlwIGFkZHIgYWRkIDIyNC4wLjAuMC8zMiBkZXYgZXRoMCBhdXRvam9pbgoKVW5hYmxl IHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IHZpcnR1YWwgYWRk cmVzcyAwMDAwMDAwMDAwMDAwMDg4CiBwYyA6IF9yYXdfd3JpdGVfbG9ja19pcnFzYXZlKzB4MWUw LzB4MmFjCiBsciA6IGxvY2tfc29ja19uZXN0ZWQrMHgxYy8weDYwCiBDYWxsIHRyYWNlOgogIF9y YXdfd3JpdGVfbG9ja19pcnFzYXZlKzB4MWUwLzB4MmFjCiAgbG9ja19zb2NrX25lc3RlZCsweDFj LzB4NjAKICBpcF9tY19jb25maWcuaXNyYS4yOCsweDUwLzB4ZTAKICBpbmV0X3J0bV9kZWxhZGRy KzB4MWE4LzB4MWYwCiAgcnRuZXRsaW5rX3Jjdl9tc2crMHgxMjAvMHgzNTAKICBuZXRsaW5rX3Jj dl9za2IrMHg1OC8weDEyMAogIHJ0bmV0bGlua19yY3YrMHgxNC8weDIwCiAgbmV0bGlua191bmlj YXN0KzB4MWI4LzB4MjcwCiAgbmV0bGlua19zZW5kbXNnKzB4MWEwLzB4M2IwCiAgX19fX3N5c19z ZW5kbXNnKzB4MjQ4LzB4MjkwCiAgX19fc3lzX3NlbmRtc2crMHg4MC8weGMwCiAgX19zeXNfc2Vu ZG1zZysweDY4LzB4YzAKICBfX2FybTY0X3N5c19zZW5kbXNnKzB4MjAvMHgzMAogIGVsMF9zdmNf Y29tbW9uLmNvbnN0cHJvcC4yKzB4ODgvMHgxNTAKICBkb19lbDBfc3ZjKzB4MjAvMHg4MAogZWww X3N5bmNfaGFuZGxlcisweDExOC8weDE5MAogIGVsMF9zeW5jKzB4MTQwLzB4MTgwCgpGaXhlczog OTNhNzE0ZDZiNTNkICgibXVsdGljYXN0OiBFeHRlbmQgaXAgYWRkcmVzcyBjb21tYW5kIHRvIGVu YWJsZSBtdWx0aWNhc3QgZ3JvdXAgam9pbi9sZWF2ZSBvbiIpClNpZ25lZC1vZmYtYnk6IFRhcmFz IENob3JueWkgPHRhcmFzLmNob3JueWlAcGx2aXNpb24uZXU+ClNpZ25lZC1vZmYtYnk6IFZhZHlt IEtvY2hhbiA8dmFkeW0ua29jaGFuQHBsdmlzaW9uLmV1PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L2lwdjQvZGV2aW5ldC5jIHwg MTMgKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvaXB2NC9kZXZpbmV0LmMgYi9uZXQvaXB2NC9kZXZp bmV0LmMKaW5kZXggZTQ2MzJiZDIwMjZkLi40NThkYzZlYjVhNjggMTAwNjQ0Ci0tLSBhL25ldC9p cHY0L2RldmluZXQuYworKysgYi9uZXQvaXB2NC9kZXZpbmV0LmMKQEAgLTYxNCwxMiArNjE0LDE1 IEBAIHN0cnVjdCBpbl9pZmFkZHIgKmluZXRfaWZhX2J5cHJlZml4KHN0cnVjdCBpbl9kZXZpY2Ug KmluX2RldiwgX19iZTMyIHByZWZpeCwKIAlyZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljIGludCBp cF9tY19jb25maWcoc3RydWN0IHNvY2sgKnNrLCBib29sIGpvaW4sIGNvbnN0IHN0cnVjdCBpbl9p ZmFkZHIgKmlmYSkKK3N0YXRpYyBpbnQgaXBfbWNfYXV0b2pvaW5fY29uZmlnKHN0cnVjdCBuZXQg Km5ldCwgYm9vbCBqb2luLAorCQkJCSBjb25zdCBzdHJ1Y3QgaW5faWZhZGRyICppZmEpCiB7Cisj aWYgZGVmaW5lZChDT05GSUdfSVBfTVVMVElDQVNUKQogCXN0cnVjdCBpcF9tcmVxbiBtcmVxID0g ewogCQkuaW1yX211bHRpYWRkci5zX2FkZHIgPSBpZmEtPmlmYV9hZGRyZXNzLAogCQkuaW1yX2lm aW5kZXggPSBpZmEtPmlmYV9kZXYtPmRldi0+aWZpbmRleCwKIAl9OworCXN0cnVjdCBzb2NrICpz ayA9IG5ldC0+aXB2NC5tY19hdXRvam9pbl9zazsKIAlpbnQgcmV0OwogCiAJQVNTRVJUX1JUTkwo KTsKQEAgLTYzMiw2ICs2MzUsOSBAQCBzdGF0aWMgaW50IGlwX21jX2NvbmZpZyhzdHJ1Y3Qgc29j ayAqc2ssIGJvb2wgam9pbiwgY29uc3Qgc3RydWN0IGluX2lmYWRkciAqaWZhKQogCXJlbGVhc2Vf c29jayhzayk7CiAKIAlyZXR1cm4gcmV0OworI2Vsc2UKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cisj ZW5kaWYKIH0KIAogc3RhdGljIGludCBpbmV0X3J0bV9kZWxhZGRyKHN0cnVjdCBza19idWZmICpz a2IsIHN0cnVjdCBubG1zZ2hkciAqbmxoLApAQCAtNjc1LDcgKzY4MSw3IEBAIHN0YXRpYyBpbnQg aW5ldF9ydG1fZGVsYWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5s aCwKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChpcHY0X2lzX211bHRpY2FzdChpZmEtPmlmYV9hZGRy ZXNzKSkKLQkJCWlwX21jX2NvbmZpZyhuZXQtPmlwdjQubWNfYXV0b2pvaW5fc2ssIGZhbHNlLCBp ZmEpOworCQkJaXBfbWNfYXV0b2pvaW5fY29uZmlnKG5ldCwgZmFsc2UsIGlmYSk7CiAJCV9faW5l dF9kZWxfaWZhKGluX2RldiwgaWZhcCwgMSwgbmxoLCBORVRMSU5LX0NCKHNrYikucG9ydGlkKTsK IAkJcmV0dXJuIDA7CiAJfQpAQCAtOTQwLDggKzk0Niw3IEBAIHN0YXRpYyBpbnQgaW5ldF9ydG1f bmV3YWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAkJICov CiAJCXNldF9pZmFfbGlmZXRpbWUoaWZhLCB2YWxpZF9sZnQsIHByZWZlcmVkX2xmdCk7CiAJCWlm IChpZmEtPmlmYV9mbGFncyAmIElGQV9GX01DQVVUT0pPSU4pIHsKLQkJCWludCByZXQgPSBpcF9t Y19jb25maWcobmV0LT5pcHY0Lm1jX2F1dG9qb2luX3NrLAotCQkJCQkgICAgICAgdHJ1ZSwgaWZh KTsKKwkJCWludCByZXQgPSBpcF9tY19hdXRvam9pbl9jb25maWcobmV0LCB0cnVlLCBpZmEpOwog CiAJCQlpZiAocmV0IDwgMCkgewogCQkJCWluZXRfZnJlZV9pZmEoaWZhKTsKLS0gCjIuMjAuMQoK CkZyb20gZWY4MjNmODc3NWNkMTg4MjFkODJkOWMyMDcxYTJmNzRiMjJmNGNmYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogVGltIFN0YWxsYXJkIDxjb2RlQHRpbXN0YWxsYXJkLm1lLnVr PgpEYXRlOiBGcmksIDMgQXByIDIwMjAgMjE6MjY6MjEgKzAxMDAKU3ViamVjdDogW1BBVENIIDA2 LzIxXSBuZXQ6IGlwdjY6IGRvIG5vdCBjb25zaWRlciByb3V0ZXMgdmlhIGdhdGV3YXlzIGZvcgog YW55Y2FzdCBhZGRyZXNzIGNoZWNrCgpbIFVwc3RyZWFtIGNvbW1pdCAwM2UyYTk4NGI2MTY1NjIx ZjI4N2ZhZGY1ZjRiNWNkOGI1OGRjYWJhIF0KClRoZSBiZWhhdmlvdXIgZm9yIHdoYXQgaXMgY29u c2lkZXJlZCBhbiBhbnljYXN0IGFkZHJlc3MgY2hhbmdlZCBpbgpjb21taXQgNDVlNGZkMjY2ODNj ICgiaXB2NjogT25seSBjcmVhdGUgUlRGX0NBQ0hFIHJvdXRlcyBhZnRlcgplbmNvdW50ZXJpbmcg cG10dSBleGNlcHRpb24iKS4gVGhpcyBub3cgY29uc2lkZXJzIHRoZSBmaXJzdAphZGRyZXNzIGlu IGEgc3VibmV0IHdoZXJlIHRoZXJlIGlzIGEgcm91dGUgdmlhIGEgZ2F0ZXdheQp0byBiZSBhbiBh bnljYXN0IGFkZHJlc3MuCgpUaGlzIGJyZWFrcyBwYXRoIE1UVSBkaXNjb3ZlcnkgYW5kIHRyYWNl cm91dGVzIHdoZW4gYSBob3N0IGluIGEKcmVtb3RlIG5ldHdvcmsgdXNlcyB0aGUgYWRkcmVzcyBh dCB0aGUgc3RhcnQgb2YgYSBwcmVmaXgKKGVnIDI2MDA6OiBhZHZlcnRpc2VkIGFzIDI2MDA6Oi80 OCBpbiB0aGUgREZaKSBhcyBJQ01QIGVycm9ycwp3aWxsIG5vdCBiZSBzZW50IHRvIGFueWNhc3Qg YWRkcmVzc2VzLgoKVGhpcyBwYXRjaCBleGNsdWRlcyBhbnkgcm91dGVzIHdpdGggYSBnYXRld2F5 LCBvciB2aWEgcG9pbnQgdG8KcG9pbnQgbGlua3MsIGxpa2UgdGhlIGJlaGF2aW91ciBwcmV2aW91 c2x5IGZyb20KcnQ2X2lzX2d3X29yX25vbmV4dGhvcCBpbiBuZXQvaXB2Ni9yb3V0ZS5jLgoKVGhp cyBjYW4gYmUgdGVzdGVkIHdpdGg6CmlwIGxpbmsgYWRkIHYxIHR5cGUgdmV0aCBwZWVyIG5hbWUg djIKaXAgbmV0bnMgYWRkIHRlc3QKaXAgbmV0bnMgZXhlYyB0ZXN0IGlwIGxpbmsgc2V0IGxvIHVw CmlwIGxpbmsgc2V0IHYyIG5ldG5zIHRlc3QKaXAgbGluayBzZXQgdjEgdXAKaXAgbmV0bnMgZXhl YyB0ZXN0IGlwIGxpbmsgc2V0IHYyIHVwCmlwIGFkZHIgYWRkIDIwMDE6ZGI4OjoxLzY0IGRldiB2 MSBub2RhZAppcCBhZGRyIGFkZCAyMDAxOmRiODoxMDA6OiBkZXYgbG8gbm9kYWQKaXAgbmV0bnMg ZXhlYyB0ZXN0IGlwIGFkZHIgYWRkIDIwMDE6ZGI4OjoyLzY0IGRldiB2MiBub2RhZAppcCBuZXRu cyBleGVjIHRlc3QgaXAgcm91dGUgYWRkIHVucmVhY2hhYmxlIDIwMDE6ZGI4OjE6OjEKaXAgbmV0 bnMgZXhlYyB0ZXN0IGlwIHJvdXRlIGFkZCAyMDAxOmRiODoxMDA6Oi82NCB2aWEgMjAwMTpkYjg6 OjEKaXAgbmV0bnMgZXhlYyB0ZXN0IHN5c2N0bCBuZXQuaXB2Ni5jb25mLmFsbC5mb3J3YXJkaW5n PTEKaXAgcm91dGUgYWRkIDIwMDE6ZGI4OjE6OjEgdmlhIDIwMDE6ZGI4OjoyCnBpbmcgLUkgMjAw MTpkYjg6OjEgMjAwMTpkYjg6MTo6MSAtYzEKcGluZyAtSSAyMDAxOmRiODoxMDA6OiAyMDAxOmRi ODoxOjoxIC1jMQppcCBhZGRyIGRlbGV0ZSAyMDAxOmRiODoxMDA6OiBkZXYgbG8KaXAgbmV0bnMg ZGVsZXRlIHRlc3QKCkN1cnJlbnRseSB0aGUgZmlyc3QgcGluZyB3aWxsIGdldCBiYWNrIGEgZGVz dGluYXRpb24gdW5yZWFjaGFibGUgSUNNUAplcnJvciwgYnV0IHRoZSBzZWNvbmQgd2lsbCBuZXZl ciBnZXQgYSByZXNwb25zZSwgd2l0aCAiaWNtcDZfc2VuZDoKYWNhc3Qgc291cmNlIiBsb2dnZWQu IEFmdGVyIHRoaXMgcGF0Y2gsIGJvdGggZ2V0IGRlc3RpbmF0aW9uCnVucmVhY2hhYmxlIElDTVAg cmVwbGllcy4KCkZpeGVzOiA0NWU0ZmQyNjY4M2MgKCJpcHY2OiBPbmx5IGNyZWF0ZSBSVEZfQ0FD SEUgcm91dGVzIGFmdGVyIGVuY291bnRlcmluZyBwbXR1IGV4Y2VwdGlvbiIpClNpZ25lZC1vZmYt Ynk6IFRpbSBTdGFsbGFyZCA8Y29kZUB0aW1zdGFsbGFyZC5tZS51az4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGluY2x1ZGUvbmV0L2lw Nl9yb3V0ZS5oIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1n aXQgYS9pbmNsdWRlL25ldC9pcDZfcm91dGUuaCBiL2luY2x1ZGUvbmV0L2lwNl9yb3V0ZS5oCmlu ZGV4IGI2OWMxNmNiYmY3MS4uMmQwZDkxMDcwMjY4IDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9p cDZfcm91dGUuaAorKysgYi9pbmNsdWRlL25ldC9pcDZfcm91dGUuaApAQCAtMjU0LDYgKzI1NCw3 IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpcHY2X2FueWNhc3RfZGVzdGluYXRpb24oY29uc3Qgc3Ry dWN0IGRzdF9lbnRyeSAqZHN0LAogCiAJcmV0dXJuIHJ0LT5ydDZpX2ZsYWdzICYgUlRGX0FOWUNB U1QgfHwKIAkJKHJ0LT5ydDZpX2RzdC5wbGVuIDwgMTI3ICYmCisJCSAhKHJ0LT5ydDZpX2ZsYWdz ICYgKFJURl9HQVRFV0FZIHwgUlRGX05PTkVYVEhPUCkpICYmCiAJCSBpcHY2X2FkZHJfZXF1YWwo JnJ0LT5ydDZpX2RzdC5hZGRyLCBkYWRkcikpOwogfQogCi0tIAoyLjIwLjEKCgpGcm9tIDAwODUw NWE4N2ExZTE1ODBkYzJiNzgxZTdjNjAyZjM0ZjUzMDY0ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFRhZWhlZSBZb28gPGFwNDIwMDczQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCA5IEFw ciAyMDIwIDE0OjA4OjA4ICswMDAwClN1YmplY3Q6IFtQQVRDSCAwNy8yMV0gbmV0OiBtYWNzZWM6 IGZpeCB1c2luZyB3cm9uZyBzdHJ1Y3R1cmUgaW4KIG1hY3NlY19jaGFuZ2VsaW5rKCkKClsgVXBz dHJlYW0gY29tbWl0IDAyMmU5ZDYwOTA1OTljMDU5M2M3OGU4N2RjOWJhOThhMjkwZTZiYzQgXQoK SW4gdGhlIG1hY3NlY19jaGFuZ2VsaW5rKCksICJzdHJ1Y3QgbWFjc2VjX3R4X3NhIHR4X3NjIiBp cyB1c2VkIHRvCnN0b3JlICJtYWNzZWNfc2VjeS50eF9zYyIuCkJ1dCwgdGhlIHN0cnVjdCB0eXBl IG9mIHR4X3NjIGlzIG1hY3NlY190eF9zYywgbm90IG1hY3NlY190eF9zYS4KU28sIHRoZSBtYWNz ZWNfdHhfc2Mgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KClRlc3QgY29tbWFuZHM6CiAgICBpcCBs aW5rIGFkZCBkdW1teTAgdHlwZSBkdW1teQogICAgaXAgbGluayBhZGQgbWFjc2VjMCBsaW5rIGR1 bW15MCB0eXBlIG1hY3NlYwogICAgaXAgbGluayBzZXQgbWFjc2VjMCB0eXBlIG1hY3NlYyBlbmNy eXB0IG9mZgoKU3BsYXQgbG9va3MgbGlrZToKWzYxMTE5Ljk2MzQ4M11bIFQ5MzM1XSA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KWzYxMTE5Ljk2NDcwOV1bIFQ5MzM1XSBCVUc6IEtBU0FOOiBzbGFiLW91dC1vZi1ib3VuZHMg aW4gbWFjc2VjX2NoYW5nZWxpbmsucGFydC4zNCsweGI2LzB4MjAwIFttYWNzZWNdCls2MTExOS45 NjU3ODddWyBUOTMzNV0gUmVhZCBvZiBzaXplIDE2MCBhdCBhZGRyIGZmZmY4ODgwMjBkNjljNjgg YnkgdGFzayBpcC85MzM1Cls2MTExOS45NjY2OTldWyBUOTMzNV0KWzYxMTE5Ljk2Njk3OV1bIFQ5 MzM1XSBDUFU6IDAgUElEOiA5MzM1IENvbW06IGlwIE5vdCB0YWludGVkIDUuNi4wKyAjNTAzCls2 MTExOS45Njc3OTFdWyBUOTMzNV0gSGFyZHdhcmUgbmFtZTogaW5ub3RlayBHbWJIIFZpcnR1YWxC b3gvVmlydHVhbEJveCwgQklPUyBWaXJ0dWFsQm94IDEyLzAxLzIwMDYKWzYxMTE5Ljk2ODkxNF1b IFQ5MzM1XSBDYWxsIFRyYWNlOgpbNjExMTkuOTY5MzI0XVsgVDkzMzVdICBkdW1wX3N0YWNrKzB4 OTYvMHhkYgpbNjExMTkuOTY5ODA5XVsgVDkzMzVdICA/IG1hY3NlY19jaGFuZ2VsaW5rLnBhcnQu MzQrMHhiNi8weDIwMCBbbWFjc2VjXQpbNjExMTkuOTcwNTU0XVsgVDkzMzVdICBwcmludF9hZGRy ZXNzX2Rlc2NyaXB0aW9uLmNvbnN0cHJvcC41KzB4MWJlLzB4MzYwCls2MTExOS45NzEyOTRdWyBU OTMzNV0gID8gbWFjc2VjX2NoYW5nZWxpbmsucGFydC4zNCsweGI2LzB4MjAwIFttYWNzZWNdCls2 MTExOS45NzE5NzNdWyBUOTMzNV0gID8gbWFjc2VjX2NoYW5nZWxpbmsucGFydC4zNCsweGI2LzB4 MjAwIFttYWNzZWNdCls2MTExOS45NzI3MDNdWyBUOTMzNV0gIF9fa2FzYW5fcmVwb3J0KzB4MTJh LzB4MTcwCls2MTExOS45NzMzMjNdWyBUOTMzNV0gID8gbWFjc2VjX2NoYW5nZWxpbmsucGFydC4z NCsweGI2LzB4MjAwIFttYWNzZWNdCls2MTExOS45NzM5NDJdWyBUOTMzNV0gIGthc2FuX3JlcG9y dCsweGUvMHgyMApbNjExMTkuOTc0Mzk3XVsgVDkzMzVdICBjaGVja19tZW1vcnlfcmVnaW9uKzB4 MTQ5LzB4MWEwCls2MTExOS45NzQ4NjZdWyBUOTMzNV0gIG1lbWNweSsweDFmLzB4NTAKWzYxMTE5 Ljk3NTIwOV1bIFQ5MzM1XSAgbWFjc2VjX2NoYW5nZWxpbmsucGFydC4zNCsweGI2LzB4MjAwIFtt YWNzZWNdCls2MTExOS45NzU4MjVdWyBUOTMzNV0gID8gbWFjc2VjX2dldF9zdGF0czY0KzB4M2Uw LzB4M2UwIFttYWNzZWNdCls2MTExOS45NzY0NTFdWyBUOTMzNV0gID8ga2VybmVsX3RleHRfYWRk cmVzcysweDExMS8weDEyMApbNjExMTkuOTc2OTkwXVsgVDkzMzVdICA/IHBza2JfZXhwYW5kX2hl YWQrMHgyNWYvMHhlMTAKWzYxMTE5Ljk3NzUwM11bIFQ5MzM1XSAgPyBzdGFja190cmFjZV9zYXZl KzB4ODIvMHhiMApbNjExMTkuOTc3OTg2XVsgVDkzMzVdICA/IG1lbXNldCsweDFmLzB4NDAKWzYx MTE5Ljk3ODM5N11bIFQ5MzM1XSAgPyBfX25sYV92YWxpZGF0ZV9wYXJzZSsweDk4LzB4MWFiMApb NjExMTkuOTc4OTM2XVsgVDkzMzVdICA/IG1hY3NlY19hbGxvY190Zm0rMHg5MC8weDkwIFttYWNz ZWNdCls2MTExOS45Nzk1MTFdWyBUOTMzNV0gID8gX19rYXNhbl9zbGFiX2ZyZWUrMHgxMTEvMHgx NTAKWzYxMTE5Ljk4MDAyMV1bIFQ5MzM1XSAgPyBrZnJlZSsweGNlLzB4MmYwCls2MTExOS45ODA3 MDBdWyBUOTMzNV0gID8gbmV0bGlua190cmltKzB4MTk2LzB4MWYwCls2MTExOS45ODE0MjBdWyBU OTMzNV0gID8gbmxhX21lbWNweSsweDkwLzB4OTAKWzYxMTE5Ljk4MjAzNl1bIFQ5MzM1XSAgPyBy ZWdpc3Rlcl9sb2NrX2NsYXNzKzB4MTllMC8weDE5ZTAKWzYxMTE5Ljk4Mjc3Nl1bIFQ5MzM1XSAg PyBtZW1jcHkrMHgzNC8weDUwCls2MTExOS45ODMzMjddWyBUOTMzNV0gIF9fcnRubF9uZXdsaW5r KzB4OTIyLzB4MTI3MApbIC4uLiBdCgpGaXhlczogM2NmMzIyN2EyMWQxICgibmV0OiBtYWNzZWM6 IGhhcmR3YXJlIG9mZmxvYWRpbmcgaW5mcmFzdHJ1Y3R1cmUiKQpTaWduZWQtb2ZmLWJ5OiBUYWVo ZWUgWW9vIDxhcDQyMDA3M0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxl ciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9tYWNzZWMuYyB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L21hY3NlYy5jIGIvZHJpdmVycy9uZXQvbWFjc2VjLmMKaW5kZXggOTJi YzJiMmRmNjYwLi4wNjFhYWRhNDc0OGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L21hY3NlYy5j CisrKyBiL2RyaXZlcnMvbmV0L21hY3NlYy5jCkBAIC0zNDYzLDcgKzM0NjMsNyBAQCBzdGF0aWMg aW50IG1hY3NlY19jaGFuZ2VsaW5rKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBubGF0 dHIgKnRiW10sCiAJCQkgICAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKIHsKIAlz dHJ1Y3QgbWFjc2VjX2RldiAqbWFjc2VjID0gbWFjc2VjX3ByaXYoZGV2KTsKLQlzdHJ1Y3QgbWFj c2VjX3R4X3NhIHR4X3NjOworCXN0cnVjdCBtYWNzZWNfdHhfc2MgdHhfc2M7CiAJc3RydWN0IG1h Y3NlY19zZWN5IHNlY3k7CiAJaW50IHJldDsKIAotLSAKMi4yMC4xCgoKRnJvbSBhNzY3M2JiOGI1 YzFkYzYxMDVmNWJjYjM4NDdlZjM0ODU5ZmJmZTczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBBdHN1c2hpIE5lbW90byA8YXRzdXNoaS5uZW1vdG9Ac29yZC5jby5qcD4KRGF0ZTogRnJp LCAxMCBBcHIgMjAyMCAxMjoxNjoxNiArMDkwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjFdIG5ldDog cGh5OiBtaWNyZWw6IHVzZSBnZW5waHlfcmVhZF9zdGF0dXMgZm9yIEtTWjkxMzEKClsgVXBzdHJl YW0gY29tbWl0IDY4ZGFjM2ViNTBiZTMyOTU3YWU2ZTFlNmRhOTI4MWEzYjdjNjY1OGIgXQoKS1Na OTEzMSB3aWxsIG5vdCB3b3JrIHdpdGggc29tZSBzd2l0Y2hlcyBkdWUgdG8gd29ya2Fyb3VuZCBm b3IgS1NaOTAzMQppbnRyb2R1Y2VkIGluIGNvbW1pdCBkMmZkNzE5YmNiMGU4M2NiMzljZmVlMjJl ZTgwMGY5OGE1NmVjZWIzCigibmV0L3BoeTogbWljcmVsOiBBZGQgd29ya2Fyb3VuZCBmb3IgYmFk IGF1dG9uZWciKS4KVXNlIGdlbnBoeV9yZWFkX3N0YXR1cyBpbnN0ZWFkIG9mIGRlZGljYXRlZCBr c3o5MDMxX3JlYWRfc3RhdHVzLgoKRml4ZXM6IGJmZjViNGIzNzM3MiAoIm5ldDogcGh5OiBtaWNy ZWw6IGFkZCBNaWNyb2NoaXAgS1NaOTEzMSBpbml0aWFsIGRyaXZlciIpClNpZ25lZC1vZmYtYnk6 IEF0c3VzaGkgTmVtb3RvIDxhdHN1c2hpLm5lbW90b0Bzb3JkLmNvLmpwPgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQv cGh5L21pY3JlbC5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L21pY3JlbC5jIGIvZHJpdmVy cy9uZXQvcGh5L21pY3JlbC5jCmluZGV4IDUxYjY0ZjA4NzcxNy4uNjYzYzY4ZWQ2ZWY5IDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9waHkvbWljcmVsLmMKKysrIGIvZHJpdmVycy9uZXQvcGh5L21p Y3JlbC5jCkBAIC0xMTU0LDcgKzExNTQsNyBAQCBzdGF0aWMgc3RydWN0IHBoeV9kcml2ZXIga3Nw aHlfZHJpdmVyW10gPSB7CiAJLmRyaXZlcl9kYXRhCT0gJmtzejkwMjFfdHlwZSwKIAkucHJvYmUJ CT0ga3N6cGh5X3Byb2JlLAogCS5jb25maWdfaW5pdAk9IGtzejkxMzFfY29uZmlnX2luaXQsCi0J LnJlYWRfc3RhdHVzCT0ga3N6OTAzMV9yZWFkX3N0YXR1cywKKwkucmVhZF9zdGF0dXMJPSBnZW5w aHlfcmVhZF9zdGF0dXMsCiAJLmFja19pbnRlcnJ1cHQJPSBrc3pwaHlfYWNrX2ludGVycnVwdCwK IAkuY29uZmlnX2ludHIJPSBrc3pwaHlfY29uZmlnX2ludHIsCiAJLmdldF9zc2V0X2NvdW50ID0g a3N6cGh5X2dldF9zc2V0X2NvdW50LAotLSAKMi4yMC4xCgoKRnJvbSBlOGNiOGEyYjg5ZjRhYTIz ZDAxMzdmNWI2MDRlNDVjYzQzYmI3ZTIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBX YW5nIFdlbmh1IDx3ZW5odS53YW5nQHZpdm8uY29tPgpEYXRlOiBXZWQsIDggQXByIDIwMjAgMTk6 NTM6NTMgLTA3MDAKU3ViamVjdDogW1BBVENIIDA5LzIxXSBuZXQ6IHFydHI6IHNlbmQgbXNncyBm cm9tIGxvY2FsIG9mIHNhbWUgaWQgYXMgYnJvYWRjYXN0CgpbIFVwc3RyZWFtIGNvbW1pdCA2ZGJm MDJhY2VmNjliMDc0MmMyMzg1NzQ1ODNiMzA2OGFmYmQyMjdjIF0KCklmIHRoZSBsb2NhbCBub2Rl IGlkKHFydHJfbG9jYWxfbmlkKSBpcyBub3QgbW9kaWZpZWQgYWZ0ZXIgaXRzCmluaXRpYWxpemF0 aW9uLCBpdCBlcXVhbHMgdG8gdGhlIGJyb2FkY2FzdCBub2RlIGlkKFFSVFJfTk9ERV9CQ0FTVCku ClNvIHRoZSBtZXNzYWdlcyBmcm9tIGxvY2FsIG5vZGUgc2hvdWxkIG5vdCBiZSB0YWtlbiBhcyBi cm9hZGNhc3QKYW5kIGtlZXAgdGhlIHByb2Nlc3MgZ29pbmcgdG8gc2VuZCB0aGVtIG91dCBhbnl3 YXkuCgpUaGUgZGVmaW5pdGlvbnMgYXJlIGFzIGZvbGxvdzoKc3RhdGljIHVuc2lnbmVkIGludCBx cnRyX2xvY2FsX25pZCA9IE5VTUFfTk9fTk9ERTsKCkZpeGVzOiBmZGY1ZmQzOTc1NjYgKCJuZXQ6 IHFydHI6IEJyb2FkY2FzdCBtZXNzYWdlcyBvbmx5IGZyb20gY29udHJvbCBwb3J0IikKU2lnbmVk LW9mZi1ieTogV2FuZyBXZW5odSA8d2VuaHUud2FuZ0B2aXZvLmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9xcnRyL3FydHIu YyB8IDcgKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9uZXQvcXJ0ci9xcnRyLmMgYi9uZXQvcXJ0ci9xcnRyLmMKaW5k ZXggNWE4ZTQyYWQxNTA0Li5iN2I4NTQ2MjFjMjYgMTAwNjQ0Ci0tLSBhL25ldC9xcnRyL3FydHIu YworKysgYi9uZXQvcXJ0ci9xcnRyLmMKQEAgLTkwNywyMCArOTA3LDIxIEBAIHN0YXRpYyBpbnQg cXJ0cl9zZW5kbXNnKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVjdCBtc2doZHIgKm1zZywgc2l6 ZV90IGxlbikKIAogCW5vZGUgPSBOVUxMOwogCWlmIChhZGRyLT5zcV9ub2RlID09IFFSVFJfTk9E RV9CQ0FTVCkgewotCQllbnF1ZXVlX2ZuID0gcXJ0cl9iY2FzdF9lbnF1ZXVlOwotCQlpZiAoYWRk ci0+c3FfcG9ydCAhPSBRUlRSX1BPUlRfQ1RSTCkgeworCQlpZiAoYWRkci0+c3FfcG9ydCAhPSBR UlRSX1BPUlRfQ1RSTCAmJgorCQkgICAgcXJ0cl9sb2NhbF9uaWQgIT0gUVJUUl9OT0RFX0JDQVNU KSB7CiAJCQlyZWxlYXNlX3NvY2soc2spOwogCQkJcmV0dXJuIC1FTk9UQ09OTjsKIAkJfQorCQll bnF1ZXVlX2ZuID0gcXJ0cl9iY2FzdF9lbnF1ZXVlOwogCX0gZWxzZSBpZiAoYWRkci0+c3Ffbm9k ZSA9PSBpcGMtPnVzLnNxX25vZGUpIHsKIAkJZW5xdWV1ZV9mbiA9IHFydHJfbG9jYWxfZW5xdWV1 ZTsKIAl9IGVsc2UgewotCQllbnF1ZXVlX2ZuID0gcXJ0cl9ub2RlX2VucXVldWU7CiAJCW5vZGUg PSBxcnRyX25vZGVfbG9va3VwKGFkZHItPnNxX25vZGUpOwogCQlpZiAoIW5vZGUpIHsKIAkJCXJl bGVhc2Vfc29jayhzayk7CiAJCQlyZXR1cm4gLUVDT05OUkVTRVQ7CiAJCX0KKwkJZW5xdWV1ZV9m biA9IHFydHJfbm9kZV9lbnF1ZXVlOwogCX0KIAogCXBsZW4gPSAobGVuICsgMykgJiB+MzsKLS0g CjIuMjAuMQoKCkZyb20gNzViMDg4NjY3YWE4Y2ZjY2MxYTlhNTQxNjU1NDE1ZGQ4YTRjNGRjNyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS29uc3RhbnRpbiBLaGxlYm5pa292IDxraGxl Ym5pa292QHlhbmRleC10ZWFtLnJ1PgpEYXRlOiBNb24sIDYgQXByIDIwMjAgMTQ6Mzk6MzIgKzAz MDAKU3ViamVjdDogW1BBVENIIDEwLzIxXSBuZXQ6IHJldmVydCBkZWZhdWx0IE5BUEkgcG9sbCB0 aW1lb3V0IHRvIDIgamlmZmllcwoKWyBVcHN0cmVhbSBjb21taXQgYTQ4Mzc5ODBmZDlmYTRjNzBh ODIxZDExODMxNjk4OTAxYmFlZjU2YiBdCgpGb3IgSFogPCAxMDAwIHRpbWVvdXQgMjAwMHVzIHJv dW5kcyB1cCB0byAxIGppZmZ5IGJ1dCBleHBpcmVzIHJhbmRvbWx5CmJlY2F1c2UgbmV4dCB0aW1l ciBpbnRlcnJ1cHQgY291bGQgY29tZSBzaG9ydGx5IGFmdGVyIHN0YXJ0aW5nIHNvZnRpcnEuCgpG b3IgY29tbW9ubHkgdXNlZCBDT05GSUdfSFo9MTAwMCBub3RoaW5nIGNoYW5nZXMuCgpGaXhlczog N2FjZjhhMWU4YTI4ICgiUmVwbGFjZSAyIGppZmZpZXMgd2l0aCBzeXNjdGwgbmV0ZGV2X2J1ZGdl dF91c2VjcyB0byBlbmFibGUgc29mdGlycSB0dW5pbmciKQpSZXBvcnRlZC1ieTogRG1pdHJ5IFlh a3VuaW4gPHplaWxAeWFuZGV4LXRlYW0ucnU+ClNpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gS2hs ZWJuaWtvdiA8a2hsZWJuaWtvdkB5YW5kZXgtdGVhbS5ydT4KU2lnbmVkLW9mZi1ieTogRGF2aWQg Uy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9jb3JlL2Rldi5jIHwgMyAr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9uZXQvY29yZS9kZXYuYyBiL25ldC9jb3JlL2Rldi5jCmluZGV4IDUwMGJiYTg4NzRi MC4uNzdjMTU0MTA3YjBkIDEwMDY0NAotLS0gYS9uZXQvY29yZS9kZXYuYworKysgYi9uZXQvY29y ZS9kZXYuYwpAQCAtNDE0MCw3ICs0MTQwLDggQEAgRVhQT1JUX1NZTUJPTChuZXRkZXZfbWF4X2Jh Y2tsb2cpOwogCiBpbnQgbmV0ZGV2X3RzdGFtcF9wcmVxdWV1ZSBfX3JlYWRfbW9zdGx5ID0gMTsK IGludCBuZXRkZXZfYnVkZ2V0IF9fcmVhZF9tb3N0bHkgPSAzMDA7Ci11bnNpZ25lZCBpbnQgX19y ZWFkX21vc3RseSBuZXRkZXZfYnVkZ2V0X3VzZWNzID0gMjAwMDsKKy8qIE11c3QgYmUgYXQgbGVh c3QgMiBqaWZmZXMgdG8gZ3VhcmFudGVlIDEgamlmZnkgdGltZW91dCAqLwordW5zaWduZWQgaW50 IF9fcmVhZF9tb3N0bHkgbmV0ZGV2X2J1ZGdldF91c2VjcyA9IDIgKiBVU0VDX1BFUl9TRUMgLyBI WjsKIGludCB3ZWlnaHRfcCBfX3JlYWRfbW9zdGx5ID0gNjQ7ICAgICAgICAgICAvKiBvbGQgYmFj a2xvZyB3ZWlnaHQgKi8KIGludCBkZXZfd2VpZ2h0X3J4X2JpYXMgX19yZWFkX21vc3RseSA9IDE7 ICAvKiBiaWFzIGZvciBiYWNrbG9nIHdlaWdodCAqLwogaW50IGRldl93ZWlnaHRfdHhfYmlhcyBf X3JlYWRfbW9zdGx5ID0gMTsgIC8qIGJpYXMgZm9yIG91dHB1dF9xdWV1ZSBxdW90YSAqLwotLSAK Mi4yMC4xCgoKRnJvbSA5NmU3NDllYTJlMDI2MTA5YjY1NDM5ZjdhNjI3MmZhMDA4ZmI2YTY1IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBHaWxiZXJ0byBCZXJ0aW4gPG1lQGppYmkuaW8+ CkRhdGU6IEZyaSwgMTAgQXByIDIwMjAgMTg6MjA6NTkgKzAyMDAKU3ViamVjdDogW1BBVENIIDEx LzIxXSBuZXQ6IHR1bjogcmVjb3JkIFJYIHF1ZXVlIGluIHNrYiBiZWZvcmUKIGRvX3hkcF9nZW5l cmljKCkKClsgVXBzdHJlYW0gY29tbWl0IDNmZTI2MGUwMGNkMGJmMGJlODUzYzQ4ZmNjMWUxOTg1 M2RmNjE1YmIgXQoKVGhpcyBhbGxvd3MgbmV0aWZfcmVjZWl2ZV9nZW5lcmljX3hkcCgpIHRvIGNv cnJlY3RseSBkZXRlcm1pbmUgdGhlIFJYCnF1ZXVlIGZyb20gd2hpY2ggdGhlIHNrYiBpcyBjb21p bmcsIHNvIHRoYXQgdGhlIGNvbnRleHQgcGFzc2VkIHRvIHRoZQpYRFAgcHJvZ3JhbSB3aWxsIGNv bnRhaW4gdGhlIGNvcnJlY3QgUlggcXVldWUgaW5kZXguCgpTaWduZWQtb2ZmLWJ5OiBHaWxiZXJ0 byBCZXJ0aW4gPG1lQGppYmkuaW8+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2 ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC90dW4uYyB8IDMgKystCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvdHVuLmMgYi9kcml2ZXJzL25ldC90dW4uYwppbmRleCA5ZGU5YjdkOGFlZGQuLjMw NjNmMmM5ZmE2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvdHVuLmMKKysrIGIvZHJpdmVycy9u ZXQvdHVuLmMKQEAgLTE5MjUsNiArMTkyNSw3IEBAIHN0YXRpYyBzc2l6ZV90IHR1bl9nZXRfdXNl cihzdHJ1Y3QgdHVuX3N0cnVjdCAqdHVuLCBzdHJ1Y3QgdHVuX2ZpbGUgKnRmaWxlLAogCiAJc2ti X3Jlc2V0X25ldHdvcmtfaGVhZGVyKHNrYik7CiAJc2tiX3Byb2JlX3RyYW5zcG9ydF9oZWFkZXIo c2tiKTsKKwlza2JfcmVjb3JkX3J4X3F1ZXVlKHNrYiwgdGZpbGUtPnF1ZXVlX2luZGV4KTsKIAog CWlmIChza2JfeGRwKSB7CiAJCXN0cnVjdCBicGZfcHJvZyAqeGRwX3Byb2c7CkBAIC0yNDk4LDYg KzI0OTksNyBAQCBzdGF0aWMgaW50IHR1bl94ZHBfb25lKHN0cnVjdCB0dW5fc3RydWN0ICp0dW4s CiAJc2tiLT5wcm90b2NvbCA9IGV0aF90eXBlX3RyYW5zKHNrYiwgdHVuLT5kZXYpOwogCXNrYl9y ZXNldF9uZXR3b3JrX2hlYWRlcihza2IpOwogCXNrYl9wcm9iZV90cmFuc3BvcnRfaGVhZGVyKHNr Yik7CisJc2tiX3JlY29yZF9yeF9xdWV1ZShza2IsIHRmaWxlLT5xdWV1ZV9pbmRleCk7CiAKIAlp ZiAoc2tiX3hkcCkgewogCQllcnIgPSBkb194ZHBfZ2VuZXJpYyh4ZHBfcHJvZywgc2tiKTsKQEAg LTI1MDksNyArMjUxMSw2IEBAIHN0YXRpYyBpbnQgdHVuX3hkcF9vbmUoc3RydWN0IHR1bl9zdHJ1 Y3QgKnR1biwKIAkgICAgIXRmaWxlLT5kZXRhY2hlZCkKIAkJcnhoYXNoID0gX19za2JfZ2V0X2hh c2hfc3ltbWV0cmljKHNrYik7CiAKLQlza2JfcmVjb3JkX3J4X3F1ZXVlKHNrYiwgdGZpbGUtPnF1 ZXVlX2luZGV4KTsKIAluZXRpZl9yZWNlaXZlX3NrYihza2IpOwogCiAJLyogTm8gbmVlZCBmb3Ig Z2V0X2NwdV9wdHIoKSBoZXJlIHNpbmNlIHRoaXMgZnVuY3Rpb24gaXMKLS0gCjIuMjAuMQoKCkZy b20gYzc0MjUzZGJiMjk4ZDJkYzM2NDkwOGQ0YmJlODc5NDRiNGIxMDIyMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP1Jlbj1DMz1BOT0yMHZhbj0yMERvcnN0Pz0gPG9w ZW5zb3VyY2VAdmRvcnN0LmNvbT4KRGF0ZTogTW9uLCA2IEFwciAyMDIwIDA1OjQyOjUzICswODAw ClN1YmplY3Q6IFtQQVRDSCAxMi8yMV0gbmV0OiBkc2E6IG10NzUzMDogbW92ZSBtdDc2MjMgc2V0 dGluZ3Mgb3V0IG9mZiB0aGUKIG10NzUzMApNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAoKWyBVcHN0cmVhbSBjb21taXQgODRkMmY3YjcwOGMzNzRhMTVhMmFiZTA5MmE3NGUwZTQ3ZDAx ODI4NiBdCgpNb3ZpbmcgbXQ3NjIzIGxvZ2ljIG91dCBvZmYgbXQ3NTMwLCBpcyByZXF1aXJlZCB0 byBtYWtlIGhhcmR3YXJlIHNldHRpbmcKY29uc2lzdGVudCBhZnRlciB3ZSBpbnRyb2R1Y2UgcGh5 bGluayB0byBtdGsgZHJpdmVyLgoKRml4ZXM6IGNhMzY2ZDZjODg5YiAoIm5ldDogZHNhOiBtdDc1 MzA6IENvbnZlcnQgdG8gUEhZTElOSyBBUEkiKQpSZXZpZXdlZC1ieTogU2VhbiBXYW5nIDxzZWFu LndhbmdAbWVkaWF0ZWsuY29tPgpUZXN0ZWQtYnk6IFNlYW4gV2FuZyA8c2Vhbi53YW5nQG1lZGlh dGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogUmVuw6kgdmFuIERvcnN0IDxvcGVuc291cmNlQHZkb3Jz dC5jb20+ClRlc3RlZC1ieTogRnJhbmsgV3VuZGVybGljaCA8ZnJhbmstd0BwdWJsaWMtZmlsZXMu ZGU+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMgfCA4NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmggfCAxMCAtLS0tLQog MiBmaWxlcyBjaGFuZ2VkLCA5NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9kc2EvbXQ3NTMwLmMgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMKaW5kZXggZWFiMTlmYzE5 MjdkLi4wMTIzNDk4MjQyYjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuYwor KysgYi9kcml2ZXJzL25ldC9kc2EvbXQ3NTMwLmMKQEAgLTY2LDU4ICs2Niw2IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXQ3NTMwX21pYl9kZXNjIG10NzUzMF9taWJbXSA9IHsKIAlNSUJfREVTQygx LCAweGI4LCAiUnhBcmxEcm9wIiksCiB9OwogCi1zdGF0aWMgaW50Ci1tdDc2MjNfdHJnbWlpX3dy aXRlKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiwgIHUzMiByZWcsIHUzMiB2YWwpCi17Ci0JaW50 IHJldDsKLQotCXJldCA9ICByZWdtYXBfd3JpdGUocHJpdi0+ZXRoZXJuZXQsIFRSR01JSV9CQVNF KHJlZyksIHZhbCk7Ci0JaWYgKHJldCA8IDApCi0JCWRldl9lcnIocHJpdi0+ZGV2LAotCQkJImZh aWxlZCB0byBwcml2IHdyaXRlIHJlZ2lzdGVyXG4iKTsKLQlyZXR1cm4gcmV0OwotfQotCi1zdGF0 aWMgdTMyCi1tdDc2MjNfdHJnbWlpX3JlYWQoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MzIg cmVnKQotewotCWludCByZXQ7Ci0JdTMyIHZhbDsKLQotCXJldCA9IHJlZ21hcF9yZWFkKHByaXYt PmV0aGVybmV0LCBUUkdNSUlfQkFTRShyZWcpLCAmdmFsKTsKLQlpZiAocmV0IDwgMCkgewotCQlk ZXZfZXJyKHByaXYtPmRldiwKLQkJCSJmYWlsZWQgdG8gcHJpdiByZWFkIHJlZ2lzdGVyXG4iKTsK LQkJcmV0dXJuIHJldDsKLQl9Ci0KLQlyZXR1cm4gdmFsOwotfQotCi1zdGF0aWMgdm9pZAotbXQ3 NjIzX3RyZ21paV9ybXcoc3RydWN0IG10NzUzMF9wcml2ICpwcml2LCB1MzIgcmVnLAotCQkgIHUz MiBtYXNrLCB1MzIgc2V0KQotewotCXUzMiB2YWw7Ci0KLQl2YWwgPSBtdDc2MjNfdHJnbWlpX3Jl YWQocHJpdiwgcmVnKTsKLQl2YWwgJj0gfm1hc2s7Ci0JdmFsIHw9IHNldDsKLQltdDc2MjNfdHJn bWlpX3dyaXRlKHByaXYsIHJlZywgdmFsKTsKLX0KLQotc3RhdGljIHZvaWQKLW10NzYyM190cmdt aWlfc2V0KHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiwgdTMyIHJlZywgdTMyIHZhbCkKLXsKLQlt dDc2MjNfdHJnbWlpX3Jtdyhwcml2LCByZWcsIDAsIHZhbCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1t dDc2MjNfdHJnbWlpX2NsZWFyKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiwgdTMyIHJlZywgdTMy IHZhbCkKLXsKLQltdDc2MjNfdHJnbWlpX3Jtdyhwcml2LCByZWcsIHZhbCwgMCk7Ci19Ci0KIHN0 YXRpYyBpbnQKIGNvcmVfcmVhZF9tbWRfaW5kaXJlY3Qoc3RydWN0IG10NzUzMF9wcml2ICpwcml2 LCBpbnQgcHJ0YWQsIGludCBkZXZhZCkKIHsKQEAgLTUzMCwyNyArNDc4LDYgQEAgbXQ3NTMwX3Bh ZF9jbGtfc2V0dXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgbW9kZSkKIAkJZm9yIChpID0g MCA7IGkgPCBOVU1fVFJHTUlJX0NUUkw7IGkrKykKIAkJCW10NzUzMF9ybXcocHJpdiwgTVQ3NTMw X1RSR01JSV9SRChpKSwKIAkJCQkgICBSRF9UQVBfTUFTSywgUkRfVEFQKDE2KSk7Ci0JZWxzZQot CQlpZiAocHJpdi0+aWQgIT0gSURfTVQ3NjIxKQotCQkJbXQ3NjIzX3RyZ21paV9zZXQocHJpdiwg R1NXX0lOVEZfTU9ERSwKLQkJCQkJICBJTlRGX01PREVfVFJHTUlJKTsKLQotCXJldHVybiAwOwot fQotCi1zdGF0aWMgaW50Ci1tdDc2MjNfcGFkX2Nsa19zZXR1cChzdHJ1Y3QgZHNhX3N3aXRjaCAq ZHMpCi17Ci0Jc3RydWN0IG10NzUzMF9wcml2ICpwcml2ID0gZHMtPnByaXY7Ci0JaW50IGk7Ci0K LQlmb3IgKGkgPSAwIDsgaSA8IE5VTV9UUkdNSUlfQ1RSTDsgaSsrKQotCQltdDc2MjNfdHJnbWlp X3dyaXRlKHByaXYsIEdTV19UUkdNSUlfVERfT0RUKGkpLAotCQkJCSAgICBURF9ETV9EUlZQKDgp IHwgVERfRE1fRFJWTig4KSk7Ci0KLQltdDc2MjNfdHJnbWlpX3NldChwcml2LCBHU1dfVFJHTUlJ X1JDS19DVFJMLCBSWF9SU1QgfCBSWENfRFFTSVNFTCk7Ci0JbXQ3NjIzX3RyZ21paV9jbGVhcihw cml2LCBHU1dfVFJHTUlJX1JDS19DVFJMLCBSWF9SU1QpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAg LTEyNTgsMTAgKzExODUsNiBAQCBtdDc1MzBfc2V0dXAoc3RydWN0IGRzYV9zd2l0Y2ggKmRzKQog CWRuID0gZHNhX3RvX3BvcnQoZHMsIE1UNzUzMF9DUFVfUE9SVCktPm1hc3Rlci0+ZGV2Lm9mX25v ZGUtPnBhcmVudDsKIAogCWlmIChwcml2LT5pZCA9PSBJRF9NVDc1MzApIHsKLQkJcHJpdi0+ZXRo ZXJuZXQgPSBzeXNjb25fbm9kZV90b19yZWdtYXAoZG4pOwotCQlpZiAoSVNfRVJSKHByaXYtPmV0 aGVybmV0KSkKLQkJCXJldHVybiBQVFJfRVJSKHByaXYtPmV0aGVybmV0KTsKLQogCQlyZWd1bGF0 b3Jfc2V0X3ZvbHRhZ2UocHJpdi0+Y29yZV9wd3IsIDEwMDAwMDAsIDEwMDAwMDApOwogCQlyZXQg PSByZWd1bGF0b3JfZW5hYmxlKHByaXYtPmNvcmVfcHdyKTsKIAkJaWYgKHJldCA8IDApIHsKQEAg LTE0MjcsMTQgKzEzNTAsNiBAQCBzdGF0aWMgdm9pZCBtdDc1MzBfcGh5bGlua19tYWNfY29uZmln KHN0cnVjdCBkc2Ffc3dpdGNoICpkcywgaW50IHBvcnQsCiAJCS8qIFNldHVwIFRYIGNpcmN1aXQg aW5jbHVpbmcgcmVsZXZhbnQgUEFEIGFuZCBkcml2aW5nICovCiAJCW10NzUzMF9wYWRfY2xrX3Nl dHVwKGRzLCBzdGF0ZS0+aW50ZXJmYWNlKTsKIAotCQlpZiAocHJpdi0+aWQgPT0gSURfTVQ3NTMw KSB7Ci0JCQkvKiBTZXR1cCBSWCBjaXJjdWl0LCByZWxldmFudCBQQUQgYW5kIGRyaXZpbmcgb24g dGhlCi0JCQkgKiBob3N0IHdoaWNoIG11c3QgYmUgcGxhY2VkIGFmdGVyIHRoZSBzZXR1cCBvbiB0 aGUKLQkJCSAqIGRldmljZSBzaWRlIGlzIGFsbCBmaW5pc2hlZC4KLQkJCSAqLwotCQkJbXQ3NjIz X3BhZF9jbGtfc2V0dXAoZHMpOwotCQl9Ci0KIAkJcHJpdi0+cDZfaW50ZXJmYWNlID0gc3RhdGUt PmludGVyZmFjZTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2RzYS9tdDc1MzAuaCBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaAppbmRleCA5YTc2OWM2Yjc3 MDAuLjc1NjE0MGI3ZGZkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZHNhL210NzUzMC5oCisr KyBiL2RyaXZlcnMvbmV0L2RzYS9tdDc1MzAuaApAQCAtMjc1LDcgKzI3NSw2IEBAIGVudW0gbXQ3 NTMwX3ZsYW5fcG9ydF9hdHRyIHsKIAogLyogUmVnaXN0ZXJzIGZvciBUUkdNSUkgb24gdGhlIGJv dGggc2lkZSAqLwogI2RlZmluZSBNVDc1MzBfVFJHTUlJX1JDS19DVFJMCQkweDdhMDAKLSNkZWZp bmUgR1NXX1RSR01JSV9SQ0tfQ1RSTAkJMHgzMDAKICNkZWZpbmUgIFJYX1JTVAkJCQlCSVQoMzEp CiAjZGVmaW5lICBSWENfRFFTSVNFTAkJCUJJVCgzMCkKICNkZWZpbmUgIERRU0kxX1RBUF9NQVNL CQkJKDB4N2YgPDwgOCkKQEAgLTI4NCwzMSArMjgzLDI0IEBAIGVudW0gbXQ3NTMwX3ZsYW5fcG9y dF9hdHRyIHsKICNkZWZpbmUgIERRU0kwX1RBUCh4KQkJCSgoeCkgJiAweDdmKQogCiAjZGVmaW5l IE1UNzUzMF9UUkdNSUlfUkNLX1JUVAkJMHg3YTA0Ci0jZGVmaW5lIEdTV19UUkdNSUlfUkNLX1JU VAkJMHgzMDQKICNkZWZpbmUgIERRUzFfR0FURQkJCUJJVCgzMSkKICNkZWZpbmUgIERRUzBfR0FU RQkJCUJJVCgzMCkKIAogI2RlZmluZSBNVDc1MzBfVFJHTUlJX1JEKHgpCQkoMHg3YTEwICsgKHgp ICogOCkKLSNkZWZpbmUgR1NXX1RSR01JSV9SRCh4KQkJKDB4MzEwICsgKHgpICogOCkKICNkZWZp bmUgIEJTTElQX0VOCQkJQklUKDMxKQogI2RlZmluZSAgRURHRV9DSEsJCQlCSVQoMzApCiAjZGVm aW5lICBSRF9UQVBfTUFTSwkJCTB4N2YKICNkZWZpbmUgIFJEX1RBUCh4KQkJCSgoeCkgJiAweDdm KQogCi0jZGVmaW5lIEdTV19UUkdNSUlfVFhDVFJMCQkweDM0MAogI2RlZmluZSBNVDc1MzBfVFJH TUlJX1RYQ1RSTAkJMHg3YTQwCiAjZGVmaW5lICBUUkFJTl9UWEVOCQkJQklUKDMxKQogI2RlZmlu ZSAgVFhDX0lOVgkJCUJJVCgzMCkKICNkZWZpbmUgIFRYX1JTVAkJCQlCSVQoMjgpCiAKICNkZWZp bmUgTVQ3NTMwX1RSR01JSV9URF9PRFQoaSkJCSgweDdhNTQgKyA4ICogKGkpKQotI2RlZmluZSBH U1dfVFJHTUlJX1REX09EVChpKQkJKDB4MzU0ICsgOCAqIChpKSkKICNkZWZpbmUgIFREX0RNX0RS VlAoeCkJCQkoKHgpICYgMHhmKQogI2RlZmluZSAgVERfRE1fRFJWTih4KQkJCSgoKHgpICYgMHhm KSA8PCA0KQogCi0jZGVmaW5lIEdTV19JTlRGX01PREUJCQkweDM5MAotI2RlZmluZSAgSU5URl9N T0RFX1RSR01JSQkJQklUKDEpCi0KICNkZWZpbmUgTVQ3NTMwX1RSR01JSV9UQ0tfQ1RSTAkJMHg3 YTc4CiAjZGVmaW5lICBUQ0tfVEFQKHgpCQkJKCgoeCkgJiAweGYpIDw8IDgpCiAKQEAgLTQ0MSw3 ICs0MzMsNiBAQCBzdGF0aWMgY29uc3QgY2hhciAqcDVfaW50Zl9tb2Rlcyh1bnNpZ25lZCBpbnQg cDVfaW50ZXJmYWNlKQogICogQGRzOgkJCVRoZSBwb2ludGVyIHRvIHRoZSBkc2EgY29yZSBzdHJ1 Y3R1cmUKICAqIEBidXM6CQlUaGUgYnVzIHVzZWQgZm9yIHRoZSBkZXZpY2UgYW5kIGJ1aWx0LWlu IFBIWQogICogQHJzdGM6CQlUaGUgcG9pbnRlciB0byByZXNldCBjb250cm9sIHVzZWQgYnkgTUNN Ci0gKiBAZXRoZXJuZXQ6CQlUaGUgcmVnbWFwIHVzZWQgZm9yIGFjY2VzcyBUUkdNSUktYmFzZWQg cmVnaXN0ZXJzCiAgKiBAY29yZV9wd3I6CQlUaGUgcG93ZXIgc3VwcGxpZWQgaW50byB0aGUgY29y ZQogICogQGlvX3B3cjoJCVRoZSBwb3dlciBzdXBwbGllZCBpbnRvIHRoZSBJL08KICAqIEByZXNl dDoJCVRoZSBkZXNjcmlwdG9yIGZvciBHUElPIGxpbmUgdGllZCB0byBpdHMgcmVzZXQgcGluCkBA IC00NTgsNyArNDQ5LDYgQEAgc3RydWN0IG10NzUzMF9wcml2IHsKIAlzdHJ1Y3QgZHNhX3N3aXRj aAkqZHM7CiAJc3RydWN0IG1paV9idXMJCSpidXM7CiAJc3RydWN0IHJlc2V0X2NvbnRyb2wJKnJz dGM7Ci0Jc3RydWN0IHJlZ21hcAkJKmV0aGVybmV0OwogCXN0cnVjdCByZWd1bGF0b3IJKmNvcmVf cHdyOwogCXN0cnVjdCByZWd1bGF0b3IJKmlvX3B3cjsKIAlzdHJ1Y3QgZ3Bpb19kZXNjCSpyZXNl dDsKLS0gCjIuMjAuMQoKCkZyb20gMWRkYjQ0NmEzNmVkYWEyYjc1YjJjNDRjMTQzOWZkOGMyYmVl NWRhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP1Jlbj1DMz1BOT0y MHZhbj0yMERvcnN0Pz0gPG9wZW5zb3VyY2VAdmRvcnN0LmNvbT4KRGF0ZTogTW9uLCA2IEFwciAy MDIwIDA1OjQyOjU0ICswODAwClN1YmplY3Q6IFtQQVRDSCAxMy8yMV0gbmV0OiBldGhlcm5ldDog bWVkaWF0ZWs6IG1vdmUgbXQ3NjIzIHNldHRpbmdzIG91dCBvZmYKIHRoZSBtdDc1MzAKTUlNRS1W ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClsgVXBzdHJlYW0gY29tbWl0IGE1ZDc1NTM4Mjk1 YjA2YmM2YWRlMWI5ZGEwN2I5YmVlNTdkMWM2NzcgXQoKTW92aW5nIG10NzYyMyBsb2dpYyBvdXQg b2ZmIG10NzUzMCwgaXMgcmVxdWlyZWQgdG8gbWFrZSBoYXJkd2FyZSBzZXR0aW5nCmNvbnNpc3Rl bnQgYWZ0ZXIgd2UgaW50cm9kdWNlIHBoeWxpbmsgdG8gbXRrIGRyaXZlci4KCkZpeGVzOiBiOGZj OWYzMDgyMWUgKCJuZXQ6IGV0aGVybmV0OiBtZWRpYXRlazogQWRkIGJhc2ljIFBIWUxJTksgc3Vw cG9ydCIpClJldmlld2VkLWJ5OiBTZWFuIFdhbmcgPHNlYW4ud2FuZ0BtZWRpYXRlay5jb20+ClRl c3RlZC1ieTogU2VhbiBXYW5nIDxzZWFuLndhbmdAbWVkaWF0ZWsuY29tPgpTaWduZWQtb2ZmLWJ5 OiBSZW7DqSB2YW4gRG9yc3QgPG9wZW5zb3VyY2VAdmRvcnN0LmNvbT4KU2lnbmVkLW9mZi1ieTog RGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0 aGVybmV0L21lZGlhdGVrL210a19ldGhfc29jLmMgfCAyNCArKysrKysrKysrKysrKysrKysrKy0K IGRyaXZlcnMvbmV0L2V0aGVybmV0L21lZGlhdGVrL210a19ldGhfc29jLmggfCAgOCArKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9tdGtfZXRoX3NvYy5jIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVkaWF0ZWsvbXRrX2V0aF9zb2MuYwppbmRleCA4YzZjZmQxNTQ4 MWMuLmI1NDA4YzViOTU0YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVkaWF0 ZWsvbXRrX2V0aF9zb2MuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9tdGtf ZXRoX3NvYy5jCkBAIC02NSw2ICs2NSwxNyBAQCB1MzIgbXRrX3IzMihzdHJ1Y3QgbXRrX2V0aCAq ZXRoLCB1bnNpZ25lZCByZWcpCiAJcmV0dXJuIF9fcmF3X3JlYWRsKGV0aC0+YmFzZSArIHJlZyk7 CiB9CiAKK3UzMiBtdGtfbTMyKHN0cnVjdCBtdGtfZXRoICpldGgsIHUzMiBtYXNrLCB1MzIgc2V0 LCB1bnNpZ25lZCByZWcpCit7CisJdTMyIHZhbDsKKworCXZhbCA9IG10a19yMzIoZXRoLCByZWcp OworCXZhbCAmPSB+bWFzazsKKwl2YWwgfD0gc2V0OworCW10a193MzIoZXRoLCB2YWwsIHJlZyk7 CisJcmV0dXJuIHJlZzsKK30KKwogc3RhdGljIGludCBtdGtfbWRpb19idXN5X3dhaXQoc3RydWN0 IG10a19ldGggKmV0aCkKIHsKIAl1bnNpZ25lZCBsb25nIHRfc3RhcnQgPSBqaWZmaWVzOwpAQCAt MTkzLDcgKzIwNCw3IEBAIHN0YXRpYyB2b2lkIG10a19tYWNfY29uZmlnKHN0cnVjdCBwaHlsaW5r X2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9kZSwKIAlzdHJ1Y3QgbXRrX21hYyAqbWFj ID0gY29udGFpbmVyX29mKGNvbmZpZywgc3RydWN0IG10a19tYWMsCiAJCQkJCSAgIHBoeWxpbmtf Y29uZmlnKTsKIAlzdHJ1Y3QgbXRrX2V0aCAqZXRoID0gbWFjLT5odzsKLQl1MzIgbWNyX2N1ciwg bWNyX25ldywgc2lkOworCXUzMiBtY3JfY3VyLCBtY3JfbmV3LCBzaWQsIGk7CiAJaW50IHZhbCwg Z2VfbW9kZSwgZXJyOwogCiAJLyogTVQ3Nng4IGhhcyBubyBoYXJkd2FyZSBzZXR0aW5ncyBiZXR3 ZWVuIGZvciB0aGUgTUFDICovCkBAIC0yNTUsNiArMjY2LDE3IEBAIHN0YXRpYyB2b2lkIG10a19t YWNfY29uZmlnKHN0cnVjdCBwaHlsaW5rX2NvbmZpZyAqY29uZmlnLCB1bnNpZ25lZCBpbnQgbW9k ZSwKIAkJCQkgICAgUEhZX0lOVEVSRkFDRV9NT0RFX1RSR01JSSkKIAkJCQkJbXRrX2dtYWMwX3Jn bWlpX2FkanVzdChtYWMtPmh3LAogCQkJCQkJCSAgICAgICBzdGF0ZS0+c3BlZWQpOworCisJCQkJ LyogbXQ3NjIzX3BhZF9jbGtfc2V0dXAgKi8KKwkJCQlmb3IgKGkgPSAwIDsgaSA8IE5VTV9UUkdN SUlfQ1RSTDsgaSsrKQorCQkJCQltdGtfdzMyKG1hYy0+aHcsCisJCQkJCQlURF9ETV9EUlZQKDgp IHwgVERfRE1fRFJWTig4KSwKKwkJCQkJCVRSR01JSV9URF9PRFQoaSkpOworCisJCQkJLyogQXNz ZXJ0L3JlbGVhc2UgTVQ3NjIzIFJYQyByZXNldCAqLworCQkJCW10a19tMzIobWFjLT5odywgMCwg UlhDX1JTVCB8IFJYQ19EUVNJU0VMLAorCQkJCQlUUkdNSUlfUkNLX0NUUkwpOworCQkJCW10a19t MzIobWFjLT5odywgUlhDX1JTVCwgMCwgVFJHTUlJX1JDS19DVFJMKTsKIAkJCX0KIAkJfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9tdGtfZXRoX3NvYy5oIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVkaWF0ZWsvbXRrX2V0aF9zb2MuaAppbmRleCA4NTgzMGZl MTRhMWIuLjQ1NGNmY2Q0NjVmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVk aWF0ZWsvbXRrX2V0aF9zb2MuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWRpYXRlay9t dGtfZXRoX3NvYy5oCkBAIC0zNTIsMTAgKzM1MiwxMyBAQAogI2RlZmluZSBEUVNJMCh4KQkJKCh4 IDw8IDApICYgR0VOTUFTSyg2LCAwKSkKICNkZWZpbmUgRFFTSTEoeCkJCSgoeCA8PCA4KSAmIEdF Tk1BU0soMTQsIDgpKQogI2RlZmluZSBSWENUTF9ETVdUTEFUKHgpCSgoeCA8PCAxNikgJiBHRU5N QVNLKDE4LCAxNikpCisjZGVmaW5lIFJYQ19SU1QJCQlCSVQoMzEpCiAjZGVmaW5lIFJYQ19EUVNJ U0VMCQlCSVQoMzApCiAjZGVmaW5lIFJDS19DVFJMX1JHTUlJXzEwMDAJKFJYQ19EUVNJU0VMIHwg UlhDVExfRE1XVExBVCgyKSB8IERRU0kxKDE2KSkKICNkZWZpbmUgUkNLX0NUUkxfUkdNSUlfMTBf MTAwCVJYQ1RMX0RNV1RMQVQoMikKIAorI2RlZmluZSBOVU1fVFJHTUlJX0NUUkwJCTUKKwogLyog VFJHTUlJIFJYQyBjb250cm9sIHJlZ2lzdGVyICovCiAjZGVmaW5lIFRSR01JSV9UQ0tfQ1RSTAkJ MHgxMDM0MAogI2RlZmluZSBUWENUTF9ETVdUTEFUKHgpCSgoeCA8PCAxNikgJiBHRU5NQVNLKDE4 LCAxNikpCkBAIC0zNjMsNiArMzY2LDExIEBACiAjZGVmaW5lIFRDS19DVFJMX1JHTUlJXzEwMDAJ VFhDVExfRE1XVExBVCgyKQogI2RlZmluZSBUQ0tfQ1RSTF9SR01JSV8xMF8xMDAJKFRYQ19JTlYg fCBUWENUTF9ETVdUTEFUKDIpKQogCisvKiBUUkdNSUkgVFggRHJpdmUgU3RyZW5ndGggKi8KKyNk ZWZpbmUgVFJHTUlJX1REX09EVChpKQkoMHgxMDM1NCArIDggKiAoaSkpCisjZGVmaW5lICBURF9E TV9EUlZQKHgpCQkoKHgpICYgMHhmKQorI2RlZmluZSAgVERfRE1fRFJWTih4KQkJKCgoeCkgJiAw eGYpIDw8IDQpCisKIC8qIFRSR01JSSBJbnRlcmZhY2UgbW9kZSByZWdpc3RlciAqLwogI2RlZmlu ZSBJTlRGX01PREUJCTB4MTAzOTAKICNkZWZpbmUgVFJHTUlJX0lOVEZfRElTCQlCSVQoMCkKLS0g CjIuMjAuMQoKCkZyb20gMTY2ZjFlZmZlNGNjNjY4OGI3NmJkMjEwOWVmNjcxZTRiOWMyZjZiNyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTW9zaGUgU2hlbWVzaCA8bW9zaGVAbWVsbGFu b3guY29tPgpEYXRlOiBNb24sIDMwIE1hciAyMDIwIDEwOjIxOjQ5ICswMzAwClN1YmplY3Q6IFtQ QVRDSCAxNC8yMV0gbmV0L21seDU6IEZpeCBmcmVxdWVudCBpb3JlYWQgUENJIGFjY2VzcyBkdXJp bmcKIHJlY292ZXJ5CgpbIFVwc3RyZWFtIGNvbW1pdCA4YzcwMmE1M2JiMGE3OWJmYTIwM2JhMjFl ZjFjYWJhNDM2NzNjNWI3IF0KCkhpZ2ggZnJlcXVlbmN5IG9mIFBDSSBpb3JlYWQgY2FsbHMgZHVy aW5nIHJlY292ZXJ5IGZsb3cgbWF5IGNhdXNlIHRoZQpmb2xsb3dpbmcgdHJhY2Ugb24gcG93ZXJw YzoKClsgMjQ4LjY3MDI4OF0gRUVIOiAyMTAwMDAwIHJlYWRzIGlnbm9yZWQgZm9yIHJlY292ZXJp bmcgZGV2aWNlIGF0CmxvY2F0aW9uPVNsb3QxIGRyaXZlcj1tbHg1X2NvcmUgcGNpIGFkZHI9MDAw MDowMTowMC4xClsgMjQ4LjY3MDMzMV0gRUVIOiBNaWdodCBiZSBpbmZpbml0ZSBsb29wIGluIG1s eDVfY29yZSBkcml2ZXIKWyAyNDguNjcwMzYxXSBDUFU6IDIgUElEOiAzNTI0NyBDb21tOiBrd29y a2VyL3UxOTI6MTEgS2R1bXA6IGxvYWRlZApUYWludGVkOiBHIE9FIC0tLS0tLS0tLS0tLSA0LjE0 LjAtMTE1LjE0LjEuZWw3YS5wcGM2NGxlICMxClsgMjQ4LjY3MDQyNV0gV29ya3F1ZXVlOiBtbHg1 X2hlYWx0aDAwMDA6MDE6MDAuMSBoZWFsdGhfcmVjb3Zlcl93b3JrClttbHg1X2NvcmVdClsgMjQ4 LjY3MDQ3MV0gQ2FsbCBUcmFjZToKWyAyNDguNjcwNDkyXSBbYzAwMDIwMzkxYzExYjk2MF0gW2Mw MDAwMDAwMDBjMjE3YWNdIGR1bXBfc3RhY2srMHhiMC8weGY0Cih1bnJlbGlhYmxlKQpbIDI0OC42 NzA1NDhdIFtjMDAwMjAzOTFjMTFiOWEwXSBbYzAwMDAwMDAwMDA0NTgxOF0KZWVoX2NoZWNrX2Zh aWx1cmUrMHg1YzgvMHg2MzAKWyAyNDguNjcwNjMxXSBbYzAwMDIwMzkxYzExYmE1MF0gW2MwMDAw MDAwMDA2OGZjZTRdCmlvcmVhZDMyYmUrMHgxMTQvMHgxYzAKWyAyNDguNjcwNjkyXSBbYzAwMDIw MzkxYzExYmFjMF0gW2MwMDgwMDAwMGRkOGI0MDBdCm1seDVfZXJyb3Jfc3dfcmVzZXQrMHgxNjAv MHg1MTAgW21seDVfY29yZV0KWyAyNDguNjcwNzUyXSBbYzAwMDIwMzkxYzExYmI2MF0gW2MwMDgw MDAwMGRkNzU4MjRdCm1seDVfZGlzYWJsZV9kZXZpY2UrMHgzNC8weDFkMCBbbWx4NV9jb3JlXQpb IDI0OC42NzA4MjJdIFtjMDAwMjAzOTFjMTFiYmUwXSBbYzAwODAwMDAwZGQ4YWZmY10KaGVhbHRo X3JlY292ZXJfd29yaysweDExYy8weDNjMCBbbWx4NV9jb3JlXQpbIDI0OC42NzA4OTFdIFtjMDAw MjAzOTFjMTFiYzgwXSBbYzAwMDAwMDAwMDE2NGZjY10KcHJvY2Vzc19vbmVfd29yaysweDFiYy8w eDVmMApbIDI0OC42NzA5NTVdIFtjMDAwMjAzOTFjMTFiZDIwXSBbYzAwMDAwMDAwMDE2N2Y4Y10K d29ya2VyX3RocmVhZCsweGFjLzB4NmIwClsgMjQ4LjY3MTAxNV0gW2MwMDAyMDM5MWMxMWJkYzBd IFtjMDAwMDAwMDAwMTcxNjE4XSBrdGhyZWFkKzB4MTY4LzB4MWIwClsgMjQ4LjY3MTA2N10gW2Mw MDAyMDM5MWMxMWJlMzBdIFtjMDAwMDAwMDAwMDBiNjVjXQpyZXRfZnJvbV9rZXJuZWxfdGhyZWFk KzB4NWMvMHg4MAoKUmVkdWNlIHRoZSBQQ0kgaW9yZWFkIGZyZXF1ZW5jeSBkdXJpbmcgcmVjb3Zl cnkgYnkgdXNpbmcgbXNsZWVwKCkKaW5zdGVhZCBvZiBjb25kX3Jlc2NoZWQoKQoKRml4ZXM6IDNl NWI3MmFjMmYyOSAoIm5ldC9tbHg1OiBJc3N1ZSBTVyByZXNldCBvbiBGVyBhc3NlcnQiKQpTaWdu ZWQtb2ZmLWJ5OiBNb3NoZSBTaGVtZXNoIDxtb3NoZUBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5 OiBGZXJhcyBEYW91ZCA8ZmVyYXNkYUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVk IE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9oZWFsdGguYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9oZWFsdGguYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21l bGxhbm94L21seDUvY29yZS9oZWFsdGguYwppbmRleCBkOWY0ZThjNTljMWYuLjY4ZTdlZjdjYTUy ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hl YWx0aC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9oZWFs dGguYwpAQCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgbWx4NV9lcnJvcl9zd19yZXNldChzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2KQogCQlpZiAobWx4NV9nZXRfbmljX3N0YXRlKGRldikgPT0gTUxY NV9OSUNfSUZDX0RJU0FCTEVEKQogCQkJYnJlYWs7CiAKLQkJY29uZF9yZXNjaGVkKCk7CisJCW1z bGVlcCgyMCk7CiAJfSB3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kKSk7CiAKIAlpZiAo bWx4NV9nZXRfbmljX3N0YXRlKGRldikgIT0gTUxYNV9OSUNfSUZDX0RJU0FCTEVEKSB7Ci0tIAoy LjIwLjEKCgpGcm9tIGYwMjcxNGYwZDg1NmY0NDE5OTMyZTA2MzA4M2VkYmI3ZWMzYTA3YmYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEVyYW4gQmVuIEVsaXNoYSA8ZXJhbmJlQG1lbGxh bm94LmNvbT4KRGF0ZTogVHVlLCAyNCBNYXIgMjAyMCAxNTowNDoyNiArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMTUvMjFdIG5ldC9tbHg1ZTogQWRkIG1pc3NpbmcgcmVsZWFzZSBmaXJtd2FyZSBjYWxs CgpbIFVwc3RyZWFtIGNvbW1pdCBkMTk5ODdjY2Y1NzUwMTg5NGZkZDhmYWRjMmU1NWU0YTNkZDU3 MjM5IF0KCk9uY2UgZHJpdmVyIGZpbmlzaGVzIGZsYXNoaW5nIHRoZSBmaXJtd2FyZSBpbWFnZSwg aXQgc2hvdWxkIHJlbGVhc2UgaXQuCgpGaXhlczogOWM4YmNhMjYzN2I4ICgibWx4NTogTW92ZSBm aXJtd2FyZSBmbGFzaCBpbXBsZW1lbnRhdGlvbiB0byBkZXZsaW5rIikKU2lnbmVkLW9mZi1ieTog RXJhbiBCZW4gRWxpc2hhIDxlcmFuYmVAbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogQXlhIExl dmluIDxheWFsQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNh ZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2RldmxpbmsuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxs YW5veC9tbHg1L2NvcmUvZGV2bGluay5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gv bWx4NS9jb3JlL2RldmxpbmsuYwppbmRleCBhYzEwOGYxZTViZDYuLjE4NGMzZWFlZmJjYiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Rldmxpbmsu YworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2bGluay5j CkBAIC0yMyw3ICsyMywxMCBAQCBzdGF0aWMgaW50IG1seDVfZGV2bGlua19mbGFzaF91cGRhdGUo c3RydWN0IGRldmxpbmsgKmRldmxpbmssCiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIAotCXJl dHVybiBtbHg1X2Zpcm13YXJlX2ZsYXNoKGRldiwgZncsIGV4dGFjayk7CisJZXJyID0gbWx4NV9m aXJtd2FyZV9mbGFzaChkZXYsIGZ3LCBleHRhY2spOworCXJlbGVhc2VfZmlybXdhcmUoZncpOwor CisJcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIHU4IG1seDVfZndfdmVyX21ham9yKHUzMiB2ZXJz aW9uKQotLSAKMi4yMC4xCgoKRnJvbSA5MTlhMTZkZjRjNDg0YzRmMDcxY2M5M2EwODlkNzFhYzdl OGVjMTE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBEbXl0cm8gTGlua2luIDxkbWl0 cm9saW5AbWVsbGFub3guY29tPgpEYXRlOiBXZWQsIDEgQXByIDIwMjAgMTQ6NDE6MjcgKzAzMDAK U3ViamVjdDogW1BBVENIIDE2LzIxXSBuZXQvbWx4NWU6IEZpeCBuZXN0X2xldmVsIGZvciB2bGFu IHBvcCBhY3Rpb24KClsgVXBzdHJlYW0gY29tbWl0IDcwZjQ3OGNhMDg1ZGVlYzRkNmMxZjE4N2Y3 NzNmNTgyN2RkY2U3ZTggXQoKQ3VycmVudCB2YWx1ZSBvZiBuZXN0X2xldmVsLCBhc3NpZ25lZCBm cm9tIG5ldF9kZXZpY2UgbG93ZXJfbGV2ZWwgdmFsdWUsCmRvZXMgbm90IHJlZmxlY3QgdGhlIGFj dHVhbCBudW1iZXIgb2YgdmxhbiBoZWFkZXJzLCBuZWVkZWQgdG8gcG9wLgpGb3IgZXguLCBpZiB3 ZSBoYXZlIHVudGFnZ2VkIGluZ3Jlc3MgdHJhZmZpYyBzZW5kZWQgb3ZlciB2bGFuIGRldmljZXMs Cmluc3RlYWQgb2Ygb25lIHBvcCBhY3Rpb24sIGRyaXZlciB3aWxsIHBlcmZvcm0gdHdvIHBvcCBh Y3Rpb25zLgpUbyBmaXggdGhhdCwgY2FsY3VsYXRlIG5lc3RfbGV2ZWwgYXMgZGlmZmVyZW5jZSBi ZXR3ZWVuIHZsYW4gZGV2aWNlIGFuZApwYXJlbnQgZGV2aWNlIGxvd2VyX2xldmVscy4KCkZpeGVz OiBmM2IwYTE4YmI2Y2IgKCJuZXQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZXMgYW5kIGNh bGxiYWNrIikKU2lnbmVkLW9mZi1ieTogRG15dHJvIExpbmtpbiA8ZG1pdHJvbGluQG1lbGxhbm94 LmNvbT4KU2lnbmVkLW9mZi1ieTogUm9pIERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT4KU2lnbmVk LW9mZi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMgfCA1ICsrKy0tCiAxIGZp bGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl90Yy5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2VuX3RjLmMKaW5kZXggZWM1ZmM1MmJm NTcyLi40NjU5YzIwNWNjMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxh bm94L21seDUvY29yZS9lbl90Yy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lbl90Yy5jCkBAIC0zMjY5LDEyICszMjY5LDEzIEBAIHN0YXRpYyBpbnQgYWRk X3ZsYW5fcG9wX2FjdGlvbihzdHJ1Y3QgbWx4NWVfcHJpdiAqcHJpdiwKIAkJCSAgICAgICBzdHJ1 Y3QgbWx4NV9lc3dfZmxvd19hdHRyICphdHRyLAogCQkJICAgICAgIHUzMiAqYWN0aW9uKQogewot CWludCBuZXN0X2xldmVsID0gYXR0ci0+cGFyc2VfYXR0ci0+ZmlsdGVyX2Rldi0+bG93ZXJfbGV2 ZWw7CiAJc3RydWN0IGZsb3dfYWN0aW9uX2VudHJ5IHZsYW5fYWN0ID0gewogCQkuaWQgPSBGTE9X X0FDVElPTl9WTEFOX1BPUCwKIAl9OwotCWludCBlcnIgPSAwOworCWludCBuZXN0X2xldmVsLCBl cnIgPSAwOwogCisJbmVzdF9sZXZlbCA9IGF0dHItPnBhcnNlX2F0dHItPmZpbHRlcl9kZXYtPmxv d2VyX2xldmVsIC0KKwkJCQkJCXByaXYtPm5ldGRldi0+bG93ZXJfbGV2ZWw7CiAJd2hpbGUgKG5l c3RfbGV2ZWwtLSkgewogCQllcnIgPSBwYXJzZV90Y192bGFuX2FjdGlvbihwcml2LCAmdmxhbl9h Y3QsIGF0dHIsIGFjdGlvbik7CiAJCWlmIChlcnIpCi0tIAoyLjIwLjEKCgpGcm9tIDQ2MjYzNTdk NjIwNDk0Y2UxYTYxMzZlMjM4MGJhZGE2ZmU1YzI5ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IFBhcmF2IFBhbmRpdCA8cGFyYXZAbWVsbGFub3guY29tPgpEYXRlOiBGcmksIDMgQXBy IDIwMjAgMDM6NTc6MzAgLTA1MDAKU3ViamVjdDogW1BBVENIIDE3LzIxXSBuZXQvbWx4NWU6IEZp eCBwZm51bSBpbiBkZXZsaW5rIHBvcnQgYXR0cmlidXRlCgpbIFVwc3RyZWFtIGNvbW1pdCA3NDgy ZDljYjViOTc0YjdhZDFhNThmYTg3MTRmN2E4YzA1YjVkMjc4IF0KCkNpdGVkIHBhdGNoIG1pc3Nl ZCB0byBleHRyYWN0IFBDSSBwZiBudW1iZXIgYWNjdXJhdGVseSBmb3IgUEYgYW5kIFZGCnBvcnQg Zmxhdm91ci4gSXQgY29uc2lkZXJlZCBQQ0kgZGV2aWNlICsgZnVuY3Rpb24gbnVtYmVyLgpEdWUg dG8gdGhpcywgZGV2aWNlIGhhdmluZyBub24gemVybyBkZXZpY2UgbnVtYmVyIHNob3duIGxhcmdl IHBmbnVtLgoKSGVuY2UsIHVzZSBvbmx5IFBDSSBmdW5jdGlvbiBudW1iZXI7IHRvIGF2b2lkIHNp bWlsYXIgZXJyb3JzLCBkZXJpdmUKcGZudW0gb25lIHRpbWUgZm9yIGFsbCBwb3J0IGZsYXZvdXJz LgoKRml4ZXM6IGY2MGYzMTVkMzM5ZSAoIm5ldC9tbHg1ZTogUmVnaXN0ZXIgZGV2bGluayBwb3J0 cyBmb3IgcGh5c2ljYWwgbGluaywgUENJIFBGLCBWRnMiKQpSZXZpZXdlZC1ieTogSmlyaSBQaXJr byA8amlyaUBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFBhcmF2IFBhbmRpdCA8cGFyYXZA bWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxh bm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5f cmVwLmMgfCA5ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvZW5fcmVwLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZW5fcmVwLmMKaW5kZXggNmVkMzA3ZDdmMTkxLi5mZmMxOTNjNGFkNDMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lbl9yZXAuYworKysgYi9k cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZW5fcmVwLmMKQEAgLTE5Njks MjkgKzE5NjksMzAgQEAgc3RhdGljIGludCByZWdpc3Rlcl9kZXZsaW5rX3BvcnQoc3RydWN0IG1s eDVfY29yZV9kZXYgKmRldiwKIAlzdHJ1Y3QgbWx4NV9lc3dpdGNoX3JlcCAqcmVwID0gcnByaXYt PnJlcDsKIAlzdHJ1Y3QgbmV0ZGV2X3BoeXNfaXRlbV9pZCBwcGlkID0ge307CiAJdW5zaWduZWQg aW50IGRsX3BvcnRfaW5kZXggPSAwOworCXUxNiBwZm51bTsKIAogCWlmICghaXNfZGV2bGlua19w b3J0X3N1cHBvcnRlZChkZXYsIHJwcml2KSkKIAkJcmV0dXJuIDA7CiAKIAltbHg1ZV9yZXBfZ2V0 X3BvcnRfcGFyZW50X2lkKHJwcml2LT5uZXRkZXYsICZwcGlkKTsKKwlwZm51bSA9IFBDSV9GVU5D KGRldi0+cGRldi0+ZGV2Zm4pOwogCiAJaWYgKHJlcC0+dnBvcnQgPT0gTUxYNV9WUE9SVF9VUExJ TkspIHsKIAkJZGV2bGlua19wb3J0X2F0dHJzX3NldCgmcnByaXYtPmRsX3BvcnQsCiAJCQkJICAg ICAgIERFVkxJTktfUE9SVF9GTEFWT1VSX1BIWVNJQ0FMLAotCQkJCSAgICAgICBQQ0lfRlVOQyhk ZXYtPnBkZXYtPmRldmZuKSwgZmFsc2UsIDAsCisJCQkJICAgICAgIHBmbnVtLCBmYWxzZSwgMCwK IAkJCQkgICAgICAgJnBwaWQuaWRbMF0sIHBwaWQuaWRfbGVuKTsKIAkJZGxfcG9ydF9pbmRleCA9 IHZwb3J0X3RvX2RldmxpbmtfcG9ydF9pbmRleChkZXYsIHJlcC0+dnBvcnQpOwogCX0gZWxzZSBp ZiAocmVwLT52cG9ydCA9PSBNTFg1X1ZQT1JUX1BGKSB7CiAJCWRldmxpbmtfcG9ydF9hdHRyc19w Y2lfcGZfc2V0KCZycHJpdi0+ZGxfcG9ydCwKIAkJCQkJICAgICAgJnBwaWQuaWRbMF0sIHBwaWQu aWRfbGVuLAotCQkJCQkgICAgICBkZXYtPnBkZXYtPmRldmZuKTsKKwkJCQkJICAgICAgcGZudW0p OwogCQlkbF9wb3J0X2luZGV4ID0gcmVwLT52cG9ydDsKIAl9IGVsc2UgaWYgKG1seDVfZXN3aXRj aF9pc192Zl92cG9ydChkZXYtPnByaXYuZXN3aXRjaCwKIAkJCQkJICAgIHJwcml2LT5yZXAtPnZw b3J0KSkgewogCQlkZXZsaW5rX3BvcnRfYXR0cnNfcGNpX3ZmX3NldCgmcnByaXYtPmRsX3BvcnQs CiAJCQkJCSAgICAgICZwcGlkLmlkWzBdLCBwcGlkLmlkX2xlbiwKLQkJCQkJICAgICAgZGV2LT5w ZGV2LT5kZXZmbiwKLQkJCQkJICAgICAgcmVwLT52cG9ydCAtIDEpOworCQkJCQkgICAgICBwZm51 bSwgcmVwLT52cG9ydCAtIDEpOwogCQlkbF9wb3J0X2luZGV4ID0gdnBvcnRfdG9fZGV2bGlua19w b3J0X2luZGV4KGRldiwgcmVwLT52cG9ydCk7CiAJfQogCi0tIAoyLjIwLjEKCgpGcm9tIGMyYjEz YTBkODY5ZDFlYTc2MDI4MGZiN2M1OWQ4NWQxYTczMzdiNGEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IFRpbSBTdGFsbGFyZCA8Y29kZUB0aW1zdGFsbGFyZC5tZS51az4KRGF0ZTogRnJp LCAzIEFwciAyMDIwIDIxOjIyOjU3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxOC8yMV0gbmV0OiBp Y21wNjogZG8gbm90IHNlbGVjdCBzYWRkciBmcm9tIGlpZiB3aGVuIHJvdXRlIGhhcwogcHJlZnNy YyBzZXQKClsgVXBzdHJlYW0gY29tbWl0IGI5M2NmYjljZDNhZjNhZGM5YmE0ODU0ZjE3OGQ1MzAw Zjc1NDRkM2UgXQoKU2luY2UgY29tbWl0IGZhYzZmY2U5YmRiNSAoIm5ldDogaWNtcDY6IHByb3Zp ZGUgaW5wdXQgYWRkcmVzcyBmb3IKdHJhY2Vyb3V0ZTYiKSBJQ01QdjYgZXJyb3JzIGhhdmUgc291 cmNlIGFkZHJlc3NlcyBmcm9tIHRoZSBpbmdyZXNzCmludGVyZmFjZS4gSG93ZXZlciwgdGhpcyBv dmVycmlkZXMgd2hlbiBzb3VyY2UgYWRkcmVzcyBzZWxlY3Rpb24gaXMKaW5mbHVlbmNlZCBieSBz ZXR0aW5nIHByZWZlcnJlZCBzb3VyY2UgYWRkcmVzc2VzIG9uIHJvdXRlcy4KClRoaXMgY2FuIHJl c3VsdCBpbiBJQ01QIGVycm9ycyBiZWluZyBsb3N0IHRvIHVwc3RyZWFtIEJDUDM4IGZpbHRlcnMK d2hlbiB0aGUgd3Jvbmcgc291cmNlIGFkZHJlc3NlcyBhcmUgdXNlZCwgYnJlYWtpbmcgcGF0aCBN VFUgZGlzY292ZXJ5CmFuZCB0cmFjZXJvdXRlLgoKVGhpcyBwYXRjaCBzZXRzIHRoZSBtb2RpZmll ZCBzb3VyY2UgYWRkcmVzcyBzZWxlY3Rpb24gdG8gb25seSB0YWtlIHBsYWNlCndoZW4gdGhlIHJv dXRlIHVzZWQgaGFzIG5vIHByZWZzcmMgc2V0LgoKSXQgY2FuIGJlIHRlc3RlZCB3aXRoOgoKaXAg bGluayBhZGQgdjEgdHlwZSB2ZXRoIHBlZXIgbmFtZSB2MgppcCBuZXRucyBhZGQgdGVzdAppcCBu ZXRucyBleGVjIHRlc3QgaXAgbGluayBzZXQgbG8gdXAKaXAgbGluayBzZXQgdjIgbmV0bnMgdGVz dAppcCBsaW5rIHNldCB2MSB1cAppcCBuZXRucyBleGVjIHRlc3QgaXAgbGluayBzZXQgdjIgdXAK aXAgYWRkciBhZGQgMjAwMTpkYjg6OjEvNjQgZGV2IHYxIG5vZGFkCmlwIGFkZHIgYWRkIDIwMDE6 ZGI4OjozIGRldiB2MSBub2RhZAppcCBuZXRucyBleGVjIHRlc3QgaXAgYWRkciBhZGQgMjAwMTpk Yjg6OjIvNjQgZGV2IHYyIG5vZGFkCmlwIG5ldG5zIGV4ZWMgdGVzdCBpcCByb3V0ZSBhZGQgdW5y ZWFjaGFibGUgMjAwMTpkYjg6MTo6MQppcCBuZXRucyBleGVjIHRlc3QgaXAgYWRkciBhZGQgMjAw MTpkYjg6MTAwOjoxIGRldiBsbwppcCBuZXRucyBleGVjIHRlc3QgaXAgcm91dGUgYWRkIDIwMDE6 ZGI4OjoxIGRldiB2MiBzcmMgMjAwMTpkYjg6MTAwOjoxCmlwIHJvdXRlIGFkZCAyMDAxOmRiODox MDAwOjoxIHZpYSAyMDAxOmRiODo6Mgp0cmFjZXJvdXRlNiAtcyAyMDAxOmRiODo6MSAyMDAxOmRi ODoxMDAwOjoxCnRyYWNlcm91dGU2IC1zIDIwMDE6ZGI4OjozIDIwMDE6ZGI4OjEwMDA6OjEKaXAg bmV0bnMgZGVsZXRlIHRlc3QKCk91dHB1dCBiZWZvcmU6CiQgdHJhY2Vyb3V0ZTYgLXMgMjAwMTpk Yjg6OjEgMjAwMTpkYjg6MTAwMDo6MQp0cmFjZXJvdXRlIHRvIDIwMDE6ZGI4OjEwMDA6OjEgKDIw MDE6ZGI4OjEwMDA6OjEpLCAzMCBob3BzIG1heCwgODAgYnl0ZSBwYWNrZXRzCiAxICAyMDAxOmRi ODo6MiAoMjAwMTpkYjg6OjIpICAwLjg0MyBtcyAhTiAgMC4zOTYgbXMgIU4gIDAuMjU3IG1zICFO CiQgdHJhY2Vyb3V0ZTYgLXMgMjAwMTpkYjg6OjMgMjAwMTpkYjg6MTAwMDo6MQp0cmFjZXJvdXRl IHRvIDIwMDE6ZGI4OjEwMDA6OjEgKDIwMDE6ZGI4OjEwMDA6OjEpLCAzMCBob3BzIG1heCwgODAg Ynl0ZSBwYWNrZXRzCiAxICAyMDAxOmRiODo6MiAoMjAwMTpkYjg6OjIpICAwLjc3MiBtcyAhTiAg MC4yNTcgbXMgIU4gIDAuMzU3IG1zICFOCgpBZnRlcjoKJCB0cmFjZXJvdXRlNiAtcyAyMDAxOmRi ODo6MSAyMDAxOmRiODoxMDAwOjoxCnRyYWNlcm91dGUgdG8gMjAwMTpkYjg6MTAwMDo6MSAoMjAw MTpkYjg6MTAwMDo6MSksIDMwIGhvcHMgbWF4LCA4MCBieXRlIHBhY2tldHMKIDEgIDIwMDE6ZGI4 OjEwMDo6MSAoMjAwMTpkYjg6MTAwOjoxKSAgOC44ODUgbXMgIU4gIDAuMzEwIG1zICFOICAwLjE3 NCBtcyAhTgokIHRyYWNlcm91dGU2IC1zIDIwMDE6ZGI4OjozIDIwMDE6ZGI4OjEwMDA6OjEKdHJh Y2Vyb3V0ZSB0byAyMDAxOmRiODoxMDAwOjoxICgyMDAxOmRiODoxMDAwOjoxKSwgMzAgaG9wcyBt YXgsIDgwIGJ5dGUgcGFja2V0cwogMSAgMjAwMTpkYjg6OjIgKDIwMDE6ZGI4OjoyKSAgMS40MDMg bXMgIU4gIDAuMjA1IG1zICFOICAwLjMxMyBtcyAhTgoKRml4ZXM6IGZhYzZmY2U5YmRiNSAoIm5l dDogaWNtcDY6IHByb3ZpZGUgaW5wdXQgYWRkcmVzcyBmb3IgdHJhY2Vyb3V0ZTYiKQpTaWduZWQt b2ZmLWJ5OiBUaW0gU3RhbGxhcmQgPGNvZGVAdGltc3RhbGxhcmQubWUudWs+ClNpZ25lZC1vZmYt Ynk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4KLS0tCiBuZXQvaXB2Ni9p Y21wLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvaWNtcC5jIGIv bmV0L2lwdjYvaWNtcC5jCmluZGV4IGVmNDA4YTUwOTBhMi4uYzk1MDRlYzZhOGQ4IDEwMDY0NAot LS0gYS9uZXQvaXB2Ni9pY21wLmMKKysrIGIvbmV0L2lwdjYvaWNtcC5jCkBAIC0yMjksNiArMjI5 LDI1IEBAIHN0YXRpYyBib29sIGljbXB2Nl94cmxpbV9hbGxvdyhzdHJ1Y3Qgc29jayAqc2ssIHU4 IHR5cGUsCiAJcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIGJvb2wgaWNtcHY2X3J0X2hhc19wcmVm c3JjKHN0cnVjdCBzb2NrICpzaywgdTggdHlwZSwKKwkJCQkgIHN0cnVjdCBmbG93aTYgKmZsNikK K3sKKwlzdHJ1Y3QgbmV0ICpuZXQgPSBzb2NrX25ldChzayk7CisJc3RydWN0IGRzdF9lbnRyeSAq ZHN0OworCWJvb2wgcmVzID0gZmFsc2U7CisKKwlkc3QgPSBpcDZfcm91dGVfb3V0cHV0KG5ldCwg c2ssIGZsNik7CisJaWYgKCFkc3QtPmVycm9yKSB7CisJCXN0cnVjdCBydDZfaW5mbyAqcnQgPSAo c3RydWN0IHJ0Nl9pbmZvICopZHN0OworCQlzdHJ1Y3QgaW42X2FkZHIgcHJlZnNyYzsKKworCQly dDZfZ2V0X3ByZWZzcmMocnQsICZwcmVmc3JjKTsKKwkJcmVzID0gIWlwdjZfYWRkcl9hbnkoJnBy ZWZzcmMpOworCX0KKwlkc3RfcmVsZWFzZShkc3QpOworCXJldHVybiByZXM7Cit9CisKIC8qCiAg KglhbiBpbmxpbmUgaGVscGVyIGZvciB0aGUgInNpbXBsZSIgaWYgc3RhdGVtZW50IGJlbG93CiAg KgljaGVja3MgaWYgcGFyYW1ldGVyIHByb2JsZW0gcmVwb3J0IGlzIGNhdXNlZCBieSBhbgpAQCAt NTI3LDcgKzU0Niw3IEBAIHN0YXRpYyB2b2lkIGljbXA2X3NlbmQoc3RydWN0IHNrX2J1ZmYgKnNr YiwgdTggdHlwZSwgdTggY29kZSwgX191MzIgaW5mbywKIAkJc2FkZHIgPSBmb3JjZV9zYWRkcjsK IAlpZiAoc2FkZHIpIHsKIAkJZmw2LnNhZGRyID0gKnNhZGRyOwotCX0gZWxzZSB7CisJfSBlbHNl IGlmICghaWNtcHY2X3J0X2hhc19wcmVmc3JjKHNrLCB0eXBlLCAmZmw2KSkgewogCQkvKiBzZWxl Y3QgYSBtb3JlIG1lYW5pbmdmdWwgc2FkZHIgZnJvbSBpbnB1dCBpZiAqLwogCQlzdHJ1Y3QgbmV0 X2RldmljZSAqaW5fbmV0ZGV2OwogCi0tIAoyLjIwLjEKCgpGcm9tIDczNDBiNDFmMzUyNzExZWZl YmZmOWZiYjRjNmY0OTI1NDAwYjU4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZs YWRpbWlyIE9sdGVhbiA8dmxhZGltaXIub2x0ZWFuQG54cC5jb20+CkRhdGU6IFR1ZSwgMTQgQXBy IDIwMjAgMjI6MzY6MTUgKzAzMDAKU3ViamVjdDogW1BBVENIIDE5LzIxXSBuZXQ6IG1zY2M6IG9j ZWxvdDogZml4IHVudGFnZ2VkIHBhY2tldCBkcm9wcyB3aGVuCiBlbnNsYXZpbmcgdG8gdmxhbiBh d2FyZSBicmlkZ2UKClsgVXBzdHJlYW0gY29tbWl0IDg3YjBmOTgzZjY2ZjIzNzYyOTIxMTI5ZmQz NTk2NmVkZGMzZjJkYWUgXQoKVG8gcmVoYXNoIGEgcHJldmlvdXMgZXhwbGFuYXRpb24gZ2l2ZW4g aW4gY29tbWl0IDFjNDRjZTU2MGI0ZCAoIm5ldDoKbXNjYzogb2NlbG90OiBmaXggdmxhbl9maWx0 ZXJpbmcgd2hlbiBlbnNsYXZpbmcgdG8gYnJpZGdlIGJlZm9yZSBsaW5rIGlzCnVwIiksIHRoZSBz d2l0Y2ggZHJpdmVyIG9wZXJhdGVzIHRoZSBpbiBhIG1vZGUgd2hlcmUgYSBzaW5nbGUgVkxBTiBj YW4KYmUgdHJhbnNtaXR0ZWQgYXMgdW50YWdnZWQgb24gYSBwYXJ0aWN1bGFyIGVncmVzcyBwb3J0 LiBUaGF0IGlzIHRoZQoibmF0aXZlIFZMQU4gb24gdHJ1bmsgcG9ydCIgdXNlIGNhc2UuCgpUaGUg Y29uZmlndXJhdGlvbiBmb3IgdGhpcyBuYXRpdmUgVkxBTiBpcyBkcml2ZW4gaW4gMiB3YXlzOgog LSBTZXQgdGhlIGVncmVzcyBwb3J0IHJld3JpdGVyIHRvIHN0cmlwIHRoZSBWTEFOIHRhZyBmb3Ig dGhlIG5hdGl2ZQogICBWSUQgKGFzIGl0IGlzIGVncmVzcy11bnRhZ2dlZCwgYWZ0ZXIgYWxsKS4K IC0gQ29uZmlndXJlIHRoZSBpbmdyZXNzIHBvcnQgdG8gZHJvcCB1bnRhZ2dlZCBhbmQgcHJpb3Jp dHktdGFnZ2VkCiAgIHRyYWZmaWMsIGlmIHRoZXJlIGlzIG5vIG5hdGl2ZSBWTEFOLiBUaGUgaW50 ZW50aW9uIG9mIHRoaXMgc2V0dGluZyBpcwogICB0aGF0IGEgdHJ1bmsgcG9ydCB3aXRoIG5vIG5h dGl2ZSBWTEFOIHNob3VsZCBub3QgYWNjZXB0IHVudGFnZ2VkCiAgIHRyYWZmaWMuCgpTaW5jZSBi b3RoIG9mIHRoZSBhYm92ZSBjb25maWd1cmF0aW9ucyBmb3IgdGhlIG5hdGl2ZSBWTEFOIHNob3Vs ZCBvbmx5CmJlIGRvbmUgaWYgVkxBTiBhd2FyZW5lc3MgaXMgcmVxdWVzdGVkLCB0aGV5IGFyZSBh Y3R1YWxseSBkb25lIGZyb20gdGhlCm9jZWxvdF9wb3J0X3ZsYW5fZmlsdGVyaW5nIGZ1bmN0aW9u LCBhZnRlciB0aGUgYmFzaWMgcHJvY2VkdXJlIG9mCnRvZ2dsaW5nIHRoZSBWTEFOIGF3YXJlbmVz cyBmbGFnIG9mIHRoZSBwb3J0LgoKQnV0IHRoZXJlJ3MgYSBwcm9ibGVtIHdpdGggdGhhdCBzaW1w bGlzdGljIGFwcHJvYWNoOiB3ZSBhcmUgdHJ5aW5nIHRvCmp1Z2dsZSB3aXRoIDIgaW5kZXBlbmRl bnQgdmFyaWFibGVzIGZyb20gYSBzaW5nbGUgZnVuY3Rpb246CiAtIE5hdGl2ZSBWTEFOIG9mIHRo ZSBwb3J0IC0gaXRzIHZhbHVlIGlzIGhlbGQgaW4gcG9ydC0+dmlkLgogLSBWTEFOIGF3YXJlbmVz cyBzdGF0ZSBvZiB0aGUgcG9ydCAtIGN1cnJlbnRseSB0aGVyZSBhcmUgc29tZSBpc3N1ZXMKICAg aGVyZSwgbW9yZSBvbiB0aGF0IGxhdGVyKi4KVGhlIGFjdHVhbCBwcm9ibGVtIGNhbiBiZSBzZWVu IHdoZW4gZW5zbGF2aW5nIHRoZSBzd2l0Y2ggcG9ydHMgdG8gYSBWTEFOCmZpbHRlcmluZyBicmlk Z2U6CiAwLiBUaGUgZHJpdmVyIGNvbmZpZ3VyZXMgYSBwdmlkIG9mIHplcm8gZm9yIGVhY2ggcG9y dCwgd2hlbiBpbgogICAgc3RhbmRhbG9uZSBtb2RlLiBXaGlsZSB0aGUgYnJpZGdlIGNvbmZpZ3Vy ZXMgYSBkZWZhdWx0X3B2aWQgb2YgMSBmb3IKICAgIGVhY2ggcG9ydCB0aGF0IGdldHMgYWRkZWQg YXMgYSBzbGF2ZSB0byBpdC4KIDEuIFRoZSBicmlkZ2UgY2FsbHMgb2NlbG90X3BvcnRfdmxhbl9m aWx0ZXJpbmcgd2l0aCB2bGFuX2F3YXJlPXRydWUuCiAgICBUaGUgVkxBTi1maWx0ZXJpbmctZGVw ZW5kZW50IHBvcnRpb24gb2YgdGhlIG5hdGl2ZSBWTEFOCiAgICBjb25maWd1cmF0aW9uIGlzIGRv bmUsIGNvbnNpZGVyaW5nIHRoYXQgdGhlIG5hdGl2ZSBWTEFOIGlzIDAuCiAyLiBUaGUgYnJpZGdl IGNhbGxzIG9jZWxvdF92bGFuX2FkZCB3aXRoIHZpZD0xLCBwdmlkPXRydWUsCiAgICB1bnRhZ2dl ZD10cnVlLiBUaGUgbmF0aXZlIFZMQU4gY2hhbmdlcyB0byAxIChjaGFuZ2Ugd2hpY2ggZ2V0cwog ICAgcHJvcGFnYXRlZCB0byBoYXJkd2FyZSkuCiAzLiA/Pz8gLSBub2JvZHkgY2FsbHMgb2NlbG90 X3BvcnRfdmxhbl9maWx0ZXJpbmcgYWdhaW4sIHRvIHJlYXBwbHkgdGhlCiAgICBWTEFOLWZpbHRl cmluZy1kZXBlbmRlbnQgcG9ydGlvbiBvZiB0aGUgbmF0aXZlIFZMQU4gY29uZmlndXJhdGlvbiwK ICAgIGZvciB0aGUgbmV3IG5hdGl2ZSBWTEFOIG9mIDEuIE9uZSBjYW4gbm90aWNlIHRoYXQgYWZ0 ZXIgdG9nZ2xpbmcgImlwCiAgICBsaW5rIHNldCBkZXYgYnIwIHR5cGUgYnJpZGdlIHZsYW5fZmls dGVyaW5nIDAgJiYgaXAgbGluayBzZXQgZGV2IGJyMAogICAgdHlwZSBicmlkZ2Ugdmxhbl9maWx0 ZXJpbmcgMSIsIHRoZSBuZXcgbmF0aXZlIFZMQU4gZmluYWxseSBtYWtlcyBpdAogICAgdGhyb3Vn aCBhbmQgdW50YWdnZWQgdHJhZmZpYyBmaW5hbGx5IHN0YXJ0cyBmbG93aW5nIGFnYWluLiBCdXQK ICAgIG9idmlvdXNseSB0aGF0IHNob3VsZG4ndCBiZSBuZWVkZWQuCgpTbyBpdCBpcyBjbGVhciB0 aGF0IDIgaW5kZXBlbmRlbnQgdmFyaWFibGVzIG5lZWQgdG8gYm90aCByZS10cmlnZ2VyIHRoZQpu YXRpdmUgVkxBTiBjb25maWd1cmF0aW9uLiBTbyB3ZSBpbnRyb2R1Y2UgdGhlIHNlY29uZCB2YXJp YWJsZSBhcwpvY2Vsb3RfcG9ydC0+dmxhbl9hd2FyZS4KCipBY3R1YWxseSBib3RoIHRoZSBEU0Eg RmVsaXggZHJpdmVyIGFuZCB0aGUgT2NlbG90IGRyaXZlciBhbHJlYWR5IGhhZAplYWNoIGl0cyBv d24gdmFyaWFibGU6CiAtIE9jZWxvdDogb2NlbG90X3BvcnRfcHJpdmF0ZS0+dmxhbl9hd2FyZQog LSBGZWxpeDogZHNhX3BvcnQtPnZsYW5fZmlsdGVyaW5nCmJ1dCB0aGUgY29tbW9uIE9jZWxvdCBs aWJyYXJ5IG5lZWRzIHRvIHdvcmsgd2l0aCBhIHNpbmdsZSwgY29tbW9uLAp2YXJpYWJsZSwgc28g dGhlcmUgaXMgc29tZSByZWZhY3RvcmluZyBkb25lIHRvIG1vdmUgdGhlIHZsYW5fYXdhcmUKcHJv cGVydHkgZnJvbSB0aGUgcHJpdmF0ZSBzdHJ1Y3R1cmUgaW50byB0aGUgY29tbW9uIG9jZWxvdF9w b3J0CnN0cnVjdHVyZS4KCkZpeGVzOiA5N2JiNjllMWUzNmUgKCJuZXQ6IG1zY2M6IG9jZWxvdDog YnJlYWsgYXBhcnQgb2NlbG90X3ZsYW5fcG9ydF9hcHBseSIpClNpZ25lZC1vZmYtYnk6IFZsYWRp bWlyIE9sdGVhbiA8dmxhZGltaXIub2x0ZWFuQG54cC5jb20+ClJldmlld2VkLWJ5OiBIb3JhdGl1 IFZ1bHR1ciA8aG9yYXRpdS52dWx0dXJAbWljcm9jaGlwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2 aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2RzYS9v Y2Vsb3QvZmVsaXguYyAgICAgfCAgNSArLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vs b3QuYyB8IDg0ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9uZXQvZXRo ZXJuZXQvbXNjYy9vY2Vsb3QuaCB8ICAyIC0KIGluY2x1ZGUvc29jL21zY2Mvb2NlbG90LmggICAg ICAgICAgfCAgNCArLQogNCBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCspLCA0OCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9kc2Evb2NlbG90L2ZlbGl4LmMgYi9k cml2ZXJzL25ldC9kc2Evb2NlbG90L2ZlbGl4LmMKaW5kZXggMzI1Nzk2MmMxNDdlLi45ZTg5NWFi NTg2ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2RzYS9vY2Vsb3QvZmVsaXguYworKysgYi9k cml2ZXJzL25ldC9kc2Evb2NlbG90L2ZlbGl4LmMKQEAgLTQ0LDExICs0NCw4IEBAIHN0YXRpYyBp bnQgZmVsaXhfZmRiX2FkZChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LAogCQkJIGNv bnN0IHVuc2lnbmVkIGNoYXIgKmFkZHIsIHUxNiB2aWQpCiB7CiAJc3RydWN0IG9jZWxvdCAqb2Nl bG90ID0gZHMtPnByaXY7Ci0JYm9vbCB2bGFuX2F3YXJlOwogCi0Jdmxhbl9hd2FyZSA9IGRzYV9w b3J0X2lzX3ZsYW5fZmlsdGVyaW5nKGRzYV90b19wb3J0KGRzLCBwb3J0KSk7Ci0KLQlyZXR1cm4g b2NlbG90X2ZkYl9hZGQob2NlbG90LCBwb3J0LCBhZGRyLCB2aWQsIHZsYW5fYXdhcmUpOworCXJl dHVybiBvY2Vsb3RfZmRiX2FkZChvY2Vsb3QsIHBvcnQsIGFkZHIsIHZpZCk7CiB9CiAKIHN0YXRp YyBpbnQgZmVsaXhfZmRiX2RlbChzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LApkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vsb3QuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21zY2Mvb2NlbG90LmMKaW5kZXggZDNiNzM3M2M1OTYxLi5iMTQyODZkYzQ5ZmIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21zY2Mvb2NlbG90LmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbXNjYy9vY2Vsb3QuYwpAQCAtMTgzLDQ0ICsxODMsNDcgQEAgc3Rh dGljIHZvaWQgb2NlbG90X3ZsYW5fbW9kZShzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0 LAogCW9jZWxvdF93cml0ZShvY2Vsb3QsIHZhbCwgQU5BX1ZMQU5NQVNLKTsKIH0KIAotdm9pZCBv Y2Vsb3RfcG9ydF92bGFuX2ZpbHRlcmluZyhzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0 LAotCQkJCWJvb2wgdmxhbl9hd2FyZSkKK3N0YXRpYyBpbnQgb2NlbG90X3BvcnRfc2V0X25hdGl2 ZV92bGFuKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwgaW50IHBvcnQsCisJCQkJICAgICAgIHUxNiB2 aWQpCiB7CiAJc3RydWN0IG9jZWxvdF9wb3J0ICpvY2Vsb3RfcG9ydCA9IG9jZWxvdC0+cG9ydHNb cG9ydF07Ci0JdTMyIHZhbDsKKwl1MzIgdmFsID0gMDsKIAotCWlmICh2bGFuX2F3YXJlKQotCQl2 YWwgPSBBTkFfUE9SVF9WTEFOX0NGR19WTEFOX0FXQVJFX0VOQSB8Ci0JCSAgICAgIEFOQV9QT1JU X1ZMQU5fQ0ZHX1ZMQU5fUE9QX0NOVCgxKTsKLQllbHNlCi0JCXZhbCA9IDA7Ci0Jb2NlbG90X3Jt d19naXgob2NlbG90LCB2YWwsCi0JCSAgICAgICBBTkFfUE9SVF9WTEFOX0NGR19WTEFOX0FXQVJF X0VOQSB8Ci0JCSAgICAgICBBTkFfUE9SVF9WTEFOX0NGR19WTEFOX1BPUF9DTlRfTSwKLQkJICAg ICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHLCBwb3J0KTsKKwlpZiAob2NlbG90X3BvcnQtPnZpZCAhPSB2 aWQpIHsKKwkJLyogQWx3YXlzIHBlcm1pdCBkZWxldGluZyB0aGUgbmF0aXZlIFZMQU4gKHZpZCA9 IDApICovCisJCWlmIChvY2Vsb3RfcG9ydC0+dmlkICYmIHZpZCkgeworCQkJZGV2X2VycihvY2Vs b3QtPmRldiwKKwkJCQkiUG9ydCBhbHJlYWR5IGhhcyBhIG5hdGl2ZSBWTEFOOiAlZFxuIiwKKwkJ CQlvY2Vsb3RfcG9ydC0+dmlkKTsKKwkJCXJldHVybiAtRUJVU1k7CisJCX0KKwkJb2NlbG90X3Bv cnQtPnZpZCA9IHZpZDsKKwl9CisKKwlvY2Vsb3Rfcm13X2dpeChvY2Vsb3QsIFJFV19QT1JUX1ZM QU5fQ0ZHX1BPUlRfVklEKHZpZCksCisJCSAgICAgICBSRVdfUE9SVF9WTEFOX0NGR19QT1JUX1ZJ RF9NLAorCQkgICAgICAgUkVXX1BPUlRfVkxBTl9DRkcsIHBvcnQpOwogCi0JaWYgKHZsYW5fYXdh cmUgJiYgIW9jZWxvdF9wb3J0LT52aWQpCisJaWYgKG9jZWxvdF9wb3J0LT52bGFuX2F3YXJlICYm ICFvY2Vsb3RfcG9ydC0+dmlkKQogCQkvKiBJZiBwb3J0IGlzIHZsYW4tYXdhcmUgYW5kIHRhZ2dl ZCwgZHJvcCB1bnRhZ2dlZCBhbmQgcHJpb3JpdHkKIAkJICogdGFnZ2VkIGZyYW1lcy4KIAkJICov CiAJCXZhbCA9IEFOQV9QT1JUX0RST1BfQ0ZHX0RST1BfVU5UQUdHRURfRU5BIHwKIAkJICAgICAg QU5BX1BPUlRfRFJPUF9DRkdfRFJPUF9QUklPX1NfVEFHR0VEX0VOQSB8CiAJCSAgICAgIEFOQV9Q T1JUX0RST1BfQ0ZHX0RST1BfUFJJT19DX1RBR0dFRF9FTkE7Ci0JZWxzZQotCQl2YWwgPSAwOwog CW9jZWxvdF9ybXdfZ2l4KG9jZWxvdCwgdmFsLAogCQkgICAgICAgQU5BX1BPUlRfRFJPUF9DRkdf RFJPUF9VTlRBR0dFRF9FTkEgfAogCQkgICAgICAgQU5BX1BPUlRfRFJPUF9DRkdfRFJPUF9QUklP X1NfVEFHR0VEX0VOQSB8CiAJCSAgICAgICBBTkFfUE9SVF9EUk9QX0NGR19EUk9QX1BSSU9fQ19U QUdHRURfRU5BLAogCQkgICAgICAgQU5BX1BPUlRfRFJPUF9DRkcsIHBvcnQpOwogCi0JaWYgKHZs YW5fYXdhcmUpIHsKKwlpZiAob2NlbG90X3BvcnQtPnZsYW5fYXdhcmUpIHsKIAkJaWYgKG9jZWxv dF9wb3J0LT52aWQpCiAJCQkvKiBUYWcgYWxsIGZyYW1lcyBleGNlcHQgd2hlbiBWSUQgPT0gREVG QVVMVF9WTEFOICovCi0JCQl2YWwgfD0gUkVXX1RBR19DRkdfVEFHX0NGRygxKTsKKwkJCXZhbCA9 IFJFV19UQUdfQ0ZHX1RBR19DRkcoMSk7CiAJCWVsc2UKIAkJCS8qIFRhZyBhbGwgZnJhbWVzICov Ci0JCQl2YWwgfD0gUkVXX1RBR19DRkdfVEFHX0NGRygzKTsKKwkJCXZhbCA9IFJFV19UQUdfQ0ZH X1RBR19DRkcoMyk7CiAJfSBlbHNlIHsKIAkJLyogUG9ydCB0YWdnaW5nIGRpc2FibGVkLiAqLwog CQl2YWwgPSBSRVdfVEFHX0NGR19UQUdfQ0ZHKDApOwpAQCAtMjI4LDMxICsyMzEsMzEgQEAgdm9p ZCBvY2Vsb3RfcG9ydF92bGFuX2ZpbHRlcmluZyhzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBw b3J0LAogCW9jZWxvdF9ybXdfZ2l4KG9jZWxvdCwgdmFsLAogCQkgICAgICAgUkVXX1RBR19DRkdf VEFHX0NGR19NLAogCQkgICAgICAgUkVXX1RBR19DRkcsIHBvcnQpOworCisJcmV0dXJuIDA7CiB9 Ci1FWFBPUlRfU1lNQk9MKG9jZWxvdF9wb3J0X3ZsYW5fZmlsdGVyaW5nKTsKIAotc3RhdGljIGlu dCBvY2Vsb3RfcG9ydF9zZXRfbmF0aXZlX3ZsYW4oc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQg cG9ydCwKLQkJCQkgICAgICAgdTE2IHZpZCkKK3ZvaWQgb2NlbG90X3BvcnRfdmxhbl9maWx0ZXJp bmcoc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQgcG9ydCwKKwkJCQlib29sIHZsYW5fYXdhcmUp CiB7CiAJc3RydWN0IG9jZWxvdF9wb3J0ICpvY2Vsb3RfcG9ydCA9IG9jZWxvdC0+cG9ydHNbcG9y dF07CisJdTMyIHZhbDsKIAotCWlmIChvY2Vsb3RfcG9ydC0+dmlkICE9IHZpZCkgewotCQkvKiBB bHdheXMgcGVybWl0IGRlbGV0aW5nIHRoZSBuYXRpdmUgVkxBTiAodmlkID0gMCkgKi8KLQkJaWYg KG9jZWxvdF9wb3J0LT52aWQgJiYgdmlkKSB7Ci0JCQlkZXZfZXJyKG9jZWxvdC0+ZGV2LAotCQkJ CSJQb3J0IGFscmVhZHkgaGFzIGEgbmF0aXZlIFZMQU46ICVkXG4iLAotCQkJCW9jZWxvdF9wb3J0 LT52aWQpOwotCQkJcmV0dXJuIC1FQlVTWTsKLQkJfQotCQlvY2Vsb3RfcG9ydC0+dmlkID0gdmlk OwotCX0KKwlvY2Vsb3RfcG9ydC0+dmxhbl9hd2FyZSA9IHZsYW5fYXdhcmU7CiAKLQlvY2Vsb3Rf cm13X2dpeChvY2Vsb3QsIFJFV19QT1JUX1ZMQU5fQ0ZHX1BPUlRfVklEKHZpZCksCi0JCSAgICAg ICBSRVdfUE9SVF9WTEFOX0NGR19QT1JUX1ZJRF9NLAotCQkgICAgICAgUkVXX1BPUlRfVkxBTl9D RkcsIHBvcnQpOworCWlmICh2bGFuX2F3YXJlKQorCQl2YWwgPSBBTkFfUE9SVF9WTEFOX0NGR19W TEFOX0FXQVJFX0VOQSB8CisJCSAgICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHX1ZMQU5fUE9QX0NOVCgx KTsKKwllbHNlCisJCXZhbCA9IDA7CisJb2NlbG90X3Jtd19naXgob2NlbG90LCB2YWwsCisJCSAg ICAgICBBTkFfUE9SVF9WTEFOX0NGR19WTEFOX0FXQVJFX0VOQSB8CisJCSAgICAgICBBTkFfUE9S VF9WTEFOX0NGR19WTEFOX1BPUF9DTlRfTSwKKwkJICAgICAgIEFOQV9QT1JUX1ZMQU5fQ0ZHLCBw b3J0KTsKIAotCXJldHVybiAwOworCW9jZWxvdF9wb3J0X3NldF9uYXRpdmVfdmxhbihvY2Vsb3Qs IHBvcnQsIG9jZWxvdF9wb3J0LT52aWQpOwogfQorRVhQT1JUX1NZTUJPTChvY2Vsb3RfcG9ydF92 bGFuX2ZpbHRlcmluZyk7CiAKIC8qIERlZmF1bHQgdmxhbiB0byBjbGFzaWZ5IGZvciB1bnRhZ2dl ZCBmcmFtZXMgKG1heSBiZSB6ZXJvKSAqLwogc3RhdGljIHZvaWQgb2NlbG90X3BvcnRfc2V0X3B2 aWQoc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQgcG9ydCwgdTE2IHB2aWQpCkBAIC04NTgsMTIg Kzg2MSwxMiBAQCBzdGF0aWMgdm9pZCBvY2Vsb3RfZ2V0X3N0YXRzNjQoc3RydWN0IG5ldF9kZXZp Y2UgKmRldiwKIH0KIAogaW50IG9jZWxvdF9mZGJfYWRkKHN0cnVjdCBvY2Vsb3QgKm9jZWxvdCwg aW50IHBvcnQsCi0JCSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFkZHIsIHUxNiB2aWQsIGJvb2wg dmxhbl9hd2FyZSkKKwkJICAgY29uc3QgdW5zaWduZWQgY2hhciAqYWRkciwgdTE2IHZpZCkKIHsK IAlzdHJ1Y3Qgb2NlbG90X3BvcnQgKm9jZWxvdF9wb3J0ID0gb2NlbG90LT5wb3J0c1twb3J0XTsK IAogCWlmICghdmlkKSB7Ci0JCWlmICghdmxhbl9hd2FyZSkKKwkJaWYgKCFvY2Vsb3RfcG9ydC0+ dmxhbl9hd2FyZSkKIAkJCS8qIElmIHRoZSBicmlkZ2UgaXMgbm90IFZMQU4gYXdhcmUgYW5kIG5v IFZJRCB3YXMKIAkJCSAqIHByb3ZpZGVkLCBzZXQgaXQgdG8gcHZpZCB0byBlbnN1cmUgdGhlIE1B QyBlbnRyeQogCQkJICogbWF0Y2hlcyBpbmNvbWluZyB1bnRhZ2dlZCBwYWNrZXRzCkBAIC04OTAs NyArODkzLDcgQEAgc3RhdGljIGludCBvY2Vsb3RfcG9ydF9mZGJfYWRkKHN0cnVjdCBuZG1zZyAq bmRtLCBzdHJ1Y3QgbmxhdHRyICp0YltdLAogCXN0cnVjdCBvY2Vsb3QgKm9jZWxvdCA9IHByaXYt PnBvcnQub2NlbG90OwogCWludCBwb3J0ID0gcHJpdi0+Y2hpcF9wb3J0OwogCi0JcmV0dXJuIG9j ZWxvdF9mZGJfYWRkKG9jZWxvdCwgcG9ydCwgYWRkciwgdmlkLCBwcml2LT52bGFuX2F3YXJlKTsK KwlyZXR1cm4gb2NlbG90X2ZkYl9hZGQob2NlbG90LCBwb3J0LCBhZGRyLCB2aWQpOwogfQogCiBp bnQgb2NlbG90X2ZkYl9kZWwoc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQgcG9ydCwKQEAgLTE0 ODksOCArMTQ5Miw4IEBAIHN0YXRpYyBpbnQgb2NlbG90X3BvcnRfYXR0cl9zZXQoc3RydWN0IG5l dF9kZXZpY2UgKmRldiwKIAkJb2NlbG90X3BvcnRfYXR0cl9hZ2Vpbmdfc2V0KG9jZWxvdCwgcG9y dCwgYXR0ci0+dS5hZ2VpbmdfdGltZSk7CiAJCWJyZWFrOwogCWNhc2UgU1dJVENIREVWX0FUVFJf SURfQlJJREdFX1ZMQU5fRklMVEVSSU5HOgotCQlwcml2LT52bGFuX2F3YXJlID0gYXR0ci0+dS52 bGFuX2ZpbHRlcmluZzsKLQkJb2NlbG90X3BvcnRfdmxhbl9maWx0ZXJpbmcob2NlbG90LCBwb3J0 LCBwcml2LT52bGFuX2F3YXJlKTsKKwkJb2NlbG90X3BvcnRfdmxhbl9maWx0ZXJpbmcob2NlbG90 LCBwb3J0LAorCQkJCQkgICBhdHRyLT51LnZsYW5fZmlsdGVyaW5nKTsKIAkJYnJlYWs7CiAJY2Fz ZSBTV0lUQ0hERVZfQVRUUl9JRF9CUklER0VfTUNfRElTQUJMRUQ6CiAJCW9jZWxvdF9wb3J0X2F0 dHJfbWNfc2V0KG9jZWxvdCwgcG9ydCwgIWF0dHItPnUubWNfZGlzYWJsZWQpOwpAQCAtMTg2MSw3 ICsxODY0LDYgQEAgc3RhdGljIGludCBvY2Vsb3RfbmV0ZGV2aWNlX3BvcnRfZXZlbnQoc3RydWN0 IG5ldF9kZXZpY2UgKmRldiwKIAkJCX0gZWxzZSB7CiAJCQkJZXJyID0gb2NlbG90X3BvcnRfYnJp ZGdlX2xlYXZlKG9jZWxvdCwgcG9ydCwKIAkJCQkJCQkgICAgICAgaW5mby0+dXBwZXJfZGV2KTsK LQkJCQlwcml2LT52bGFuX2F3YXJlID0gZmFsc2U7CiAJCQl9CiAJCX0KIAkJaWYgKG5ldGlmX2lz X2xhZ19tYXN0ZXIoaW5mby0+dXBwZXJfZGV2KSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv ZXRoZXJuZXQvbXNjYy9vY2Vsb3QuaCBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21zY2Mvb2NlbG90 LmgKaW5kZXggMDQzNzJiYTcyZmVjLi44ZTY3ZmM0MGRiMGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L21zY2Mvb2NlbG90LmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbXNj Yy9vY2Vsb3QuaApAQCAtNjYsOCArNjYsNiBAQCBzdHJ1Y3Qgb2NlbG90X3BvcnRfcHJpdmF0ZSB7 CiAJc3RydWN0IHBoeV9kZXZpY2UgKnBoeTsKIAl1OCBjaGlwX3BvcnQ7CiAKLQl1OCB2bGFuX2F3 YXJlOwotCiAJc3RydWN0IHBoeSAqc2VyZGVzOwogCiAJc3RydWN0IG9jZWxvdF9wb3J0X3RjIHRj OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb2MvbXNjYy9vY2Vsb3QuaCBiL2luY2x1ZGUvc29jL21z Y2Mvb2NlbG90LmgKaW5kZXggMDY4Zjk2YjFhODNlLi5mOGUxOTU1Yzg2ZjEgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvc29jL21zY2Mvb2NlbG90LmgKKysrIGIvaW5jbHVkZS9zb2MvbXNjYy9vY2Vsb3Qu aApAQCAtNDExLDYgKzQxMSw4IEBAIHN0cnVjdCBvY2Vsb3RfcG9ydCB7CiAKIAl2b2lkIF9faW9t ZW0JCQkqcmVnczsKIAorCWJvb2wJCQkJdmxhbl9hd2FyZTsKKwogCS8qIEluZ3Jlc3MgZGVmYXVs dCBWTEFOIChwdmlkKSAqLwogCXUxNgkJCQlwdmlkOwogCkBAIC01MjksNyArNTMxLDcgQEAgaW50 IG9jZWxvdF9wb3J0X2JyaWRnZV9sZWF2ZShzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0 LAogaW50IG9jZWxvdF9mZGJfZHVtcChzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0LAog CQkgICAgZHNhX2ZkYl9kdW1wX2NiX3QgKmNiLCB2b2lkICpkYXRhKTsKIGludCBvY2Vsb3RfZmRi X2FkZChzdHJ1Y3Qgb2NlbG90ICpvY2Vsb3QsIGludCBwb3J0LAotCQkgICBjb25zdCB1bnNpZ25l ZCBjaGFyICphZGRyLCB1MTYgdmlkLCBib29sIHZsYW5fYXdhcmUpOworCQkgICBjb25zdCB1bnNp Z25lZCBjaGFyICphZGRyLCB1MTYgdmlkKTsKIGludCBvY2Vsb3RfZmRiX2RlbChzdHJ1Y3Qgb2Nl bG90ICpvY2Vsb3QsIGludCBwb3J0LAogCQkgICBjb25zdCB1bnNpZ25lZCBjaGFyICphZGRyLCB1 MTYgdmlkKTsKIGludCBvY2Vsb3Rfdmxhbl9hZGQoc3RydWN0IG9jZWxvdCAqb2NlbG90LCBpbnQg cG9ydCwgdTE2IHZpZCwgYm9vbCBwdmlkLAotLSAKMi4yMC4xCgoKRnJvbSBmYzFkMDA1NzI2ZWU0 ZTdhYTdkMjZmNDFlYjU0ZjQ2MGIxMTc1ZWU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBGbG9yaWFuIEZhaW5lbGxpIDxmLmZhaW5lbGxpQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAxNCBB cHIgMjAyMCAxNTozOTo1MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjFdIG5ldDogc3RtbWFj OiBkd21hYy1zdW54aTogUHJvdmlkZSBUWCBhbmQgUlggZmlmbyBzaXplcwoKWyBVcHN0cmVhbSBj b21taXQgODA2ZmQxODhjZTJhNGY4YjU4N2U4M2U3M2M0NzhlNjQ4NGZiZmE1NSBdCgpBZnRlciBj b21taXQgYmZjYjgxMzIwM2U2MTlhODk2MGE4MTliZjUzM2FkMmExMDhkODEwNSAoIm5ldDogZHNh Ogpjb25maWd1cmUgdGhlIE1UVSBmb3Igc3dpdGNoIHBvcnRzIikgbXkgTGFtb2JvIFIxIHBsYXRm b3JtIHdoaWNoIHVzZXMKYW4gYWxsd2lubmVyLHN1bjdpLWEyMC1nbWFjIGNvbXBhdGlibGUgRXRo ZXJuZXQgTUFDIHN0YXJ0ZWQgdG8gZmFpbApieSByZWplY3RpbmcgYSBNVFUgb2YgMTUzNi4gVGhl IHJlYXNvbiBmb3IgdGhhdCBpcyB0aGF0IHRoZSBETUEKY2FwYWJpbGl0aWVzIGFyZSBub3QgcmVh ZGFibGUgb24gdGhpcyB2ZXJzaW9uIG9mIHRoZSBJUCwgYW5kIHRoZXJlCmlzIGFsc28gbm8gJ3R4 LWZpZm8tZGVwdGgnIHByb3BlcnR5IGJlaW5nIHByb3ZpZGVkIGluIERldmljZSBUcmVlLiBUaGUK cHJvcGVydHkgaXMgZG9jdW1lbnRlZCBhcyBvcHRpb25hbCwgYW5kIGlzIG5vdCBwcm92aWRlZC4K CkNoZW4tWXUgaW5kaWNhdGVkIHRoYXQgdGhlIEZJRk8gc2l6ZXMgYXJlIDRLQiBmb3IgVFggYW5k IDE2S0IgZm9yIFJYLCBzbwpwcm92aWRlIHRoZXNlIHZhbHVlcyB0aHJvdWdoIHBsYXRmb3JtIGRh dGEgYXMgYW4gaW1tZWRpYXRlIGZpeCB1bnRpbAp2YXJpb3VzIERldmljZSBUcmVlIHNvdXJjZXMg Z2V0IHVwZGF0ZWQgYWNjb3JkaW5nbHkuCgpGaXhlczogZWFmNGZhYzQ3ODA3ICgibmV0OiBzdG1t YWM6IERvIG5vdCBhY2NlcHQgaW52YWxpZCBNVFUgdmFsdWVzIikKU3VnZ2VzdGVkLWJ5OiBDaGVu LVl1IFRzYWkgPHdlbnNAY3NpZS5vcmc+ClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gRmFpbmVsbGkg PGYuZmFpbmVsbGlAZ21haWwuY29tPgpBY2tlZC1ieTogQ2hlbi1ZdSBUc2FpIDx3ZW5zQGNzaWUu b3JnPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VueGkuYyB8 IDIgKysKIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1zdW54aS5jIGIvZHJpdmVycy9u ZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtc3VueGkuYwppbmRleCA3ZDQwNzYwZTli YTguLjBlMWNhMmNiYTNjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNy by9zdG1tYWMvZHdtYWMtc3VueGkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3Jv L3N0bW1hYy9kd21hYy1zdW54aS5jCkBAIC0xNTAsNiArMTUwLDggQEAgc3RhdGljIGludCBzdW43 aV9nbWFjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJcGxhdF9kYXQtPmlu aXQgPSBzdW43aV9nbWFjX2luaXQ7CiAJcGxhdF9kYXQtPmV4aXQgPSBzdW43aV9nbWFjX2V4aXQ7 CiAJcGxhdF9kYXQtPmZpeF9tYWNfc3BlZWQgPSBzdW43aV9maXhfc3BlZWQ7CisJcGxhdF9kYXQt PnR4X2ZpZm9fc2l6ZSA9IDQwOTY7CisJcGxhdF9kYXQtPnJ4X2ZpZm9fc2l6ZSA9IDE2Mzg0Owog CiAJcmV0ID0gc3VuN2lfZ21hY19pbml0KHBkZXYsIHBsYXRfZGF0LT5ic3BfcHJpdik7CiAJaWYg KHJldCkKLS0gCjIuMjAuMQoKCkZyb20gN2I4MmI0OWE3ZWFmYThjN2I3YWIzMGZhYmMxOTc1YmQw YTJjMmFkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2xlbWVucyBHcnViZXIgPGNs ZW1lbnMuZ3J1YmVyQHBxZ3J1YmVyLmNvbT4KRGF0ZTogU2F0LCAxMSBBcHIgMjAyMCAxODo1MToy NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjFdIG5ldDogcGh5OiBtYXJ2ZWxsOiBGaXggcGF1 c2UgZnJhbWUgbmVnb3RpYXRpb24KClsgVXBzdHJlYW0gY29tbWl0IDNiNzJmODRmOGZiNjVlODNl ODVlOWJlNThlYWJjZjk1YTQwYjhmNDYgXQoKVGhlIG5lZ290aWF0aW9uIG9mIGZsb3cgY29udHJv bCAvIHBhdXNlIGZyYW1lIG1vZGVzIHdhcyBicm9rZW4gc2luY2UKY29tbWl0IGZjZjFmNTlhZmM2 NyAoIm5ldDogcGh5OiBtYXJ2ZWxsOiByZWFycmFuZ2UgdG8gdXNlCmdlbnBoeV9yZWFkX2xwYSgp IikgbW92ZWQgdGhlIHNldHRpbmcgb2YgcGh5ZGV2LT5kdXBsZXggYmVsb3cgdGhlCnBoeV9yZXNv bHZlX2FuZWdfcGF1c2UgY2FsbC4gRHVlIHRvIGEgY2hlY2sgb2YgRFVQTEVYX0ZVTEwgaW4gdGhh dApmdW5jdGlvbiwgcGh5ZGV2LT5wYXVzZSB3YXMgbm8gbG9uZ2VyIHNldC4KCkZpeCBpdCBieSBt b3ZpbmcgdGhlIHBhcnNpbmcgb2YgdGhlIHN0YXR1cyB2YXJpYWJsZSBiZWZvcmUgdGhlIGJsb2Nr cwpkZWFsaW5nIHdpdGggdGhlIHBhdXNlIGZyYW1lcy4KCkFzIHRoZSBNYXJ2ZWxsIDg4RTE1MTAg ZGF0YXNoZWV0IGRvZXMgbm90IHNwZWNpZnkgdGhlIHRpbWluZyBiZXR3ZWVuIHRoZQpsaW5rIHN0 YXR1cyBhbmQgdGhlICJTcGVlZCBhbmQgRHVwbGV4IFJlc29sdmVkIiBiaXQsIHdlIGhhdmUgdG8g Zm9yY2UKdGhlIGxpbmsgZG93biBhcyBsb25nIGFzIHRoZSByZXNvbHZlZCBiaXQgaXMgbm90IHNl dCwgdG8gYXZvaWQgcmVwb3J0aW5nCmxpbmsgdXAgYmVmb3JlIHdlIGV2ZW4gaGF2ZSB2YWxpZCBT cGVlZC9EdXBsZXguCgpUZXN0ZWQgd2l0aCBhIE1hcnZlbGwgODhFMTUxMCAoUkdNSUkgdG8gQ29w cGVyLzEwMDBCYXNlLVQpCgpGaXhlczogZmNmMWY1OWFmYzY3ICgibmV0OiBwaHk6IG1hcnZlbGw6 IHJlYXJyYW5nZSB0byB1c2UgZ2VucGh5X3JlYWRfbHBhKCkiKQpTaWduZWQtb2ZmLWJ5OiBDbGVt ZW5zIEdydWJlciA8Y2xlbWVucy5ncnViZXJAcHFncnViZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBK YWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvbmV0L3BoeS9tYXJ2 ZWxsLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9waHkvbWFydmVsbC5jIGIvZHJpdmVycy9uZXQvcGh5L21hcnZlbGwuYwpp bmRleCA5YThiYWRhZmVhOGEuLjU2MWRmNWUzM2Y2NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQv cGh5L21hcnZlbGwuYworKysgYi9kcml2ZXJzL25ldC9waHkvbWFydmVsbC5jCkBAIC0xMjc4LDYg KzEyNzgsMzAgQEAgc3RhdGljIGludCBtYXJ2ZWxsX3JlYWRfc3RhdHVzX3BhZ2VfYW4oc3RydWN0 IHBoeV9kZXZpY2UgKnBoeWRldiwKIAlpbnQgbHBhOwogCWludCBlcnI7CiAKKwlpZiAoIShzdGF0 dXMgJiBNSUlfTTEwMTFfUEhZX1NUQVRVU19SRVNPTFZFRCkpIHsKKwkJcGh5ZGV2LT5saW5rID0g MDsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN0YXR1cyAmIE1JSV9NMTAxMV9QSFlfU1RBVFVT X0ZVTExEVVBMRVgpCisJCXBoeWRldi0+ZHVwbGV4ID0gRFVQTEVYX0ZVTEw7CisJZWxzZQorCQlw aHlkZXYtPmR1cGxleCA9IERVUExFWF9IQUxGOworCisJc3dpdGNoIChzdGF0dXMgJiBNSUlfTTEw MTFfUEhZX1NUQVRVU19TUERfTUFTSykgeworCWNhc2UgTUlJX00xMDExX1BIWV9TVEFUVVNfMTAw MDoKKwkJcGh5ZGV2LT5zcGVlZCA9IFNQRUVEXzEwMDA7CisJCWJyZWFrOworCisJY2FzZSBNSUlf TTEwMTFfUEhZX1NUQVRVU18xMDA6CisJCXBoeWRldi0+c3BlZWQgPSBTUEVFRF8xMDA7CisJCWJy ZWFrOworCisJZGVmYXVsdDoKKwkJcGh5ZGV2LT5zcGVlZCA9IFNQRUVEXzEwOworCQlicmVhazsK Kwl9CisKIAlpZiAoIWZpYmVyKSB7CiAJCWVyciA9IGdlbnBoeV9yZWFkX2xwYShwaHlkZXYpOwog CQlpZiAoZXJyIDwgMCkKQEAgLTEzMDYsMjggKzEzMzAsNiBAQCBzdGF0aWMgaW50IG1hcnZlbGxf cmVhZF9zdGF0dXNfcGFnZV9hbihzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LAogCQl9CiAJfQog Ci0JaWYgKCEoc3RhdHVzICYgTUlJX00xMDExX1BIWV9TVEFUVVNfUkVTT0xWRUQpKQotCQlyZXR1 cm4gMDsKLQotCWlmIChzdGF0dXMgJiBNSUlfTTEwMTFfUEhZX1NUQVRVU19GVUxMRFVQTEVYKQot CQlwaHlkZXYtPmR1cGxleCA9IERVUExFWF9GVUxMOwotCWVsc2UKLQkJcGh5ZGV2LT5kdXBsZXgg PSBEVVBMRVhfSEFMRjsKLQotCXN3aXRjaCAoc3RhdHVzICYgTUlJX00xMDExX1BIWV9TVEFUVVNf U1BEX01BU0spIHsKLQljYXNlIE1JSV9NMTAxMV9QSFlfU1RBVFVTXzEwMDA6Ci0JCXBoeWRldi0+ c3BlZWQgPSBTUEVFRF8xMDAwOwotCQlicmVhazsKLQotCWNhc2UgTUlJX00xMDExX1BIWV9TVEFU VVNfMTAwOgotCQlwaHlkZXYtPnNwZWVkID0gU1BFRURfMTAwOwotCQlicmVhazsKLQotCWRlZmF1 bHQ6Ci0JCXBoeWRldi0+c3BlZWQgPSBTUEVFRF8xMDsKLQkJYnJlYWs7Ci0JfQotCiAJcmV0dXJu IDA7CiB9CiAKLS0gCjIuMjAuMQoK ----Next_Part(Fri_Apr_17_10_51_00_2020_322)----