From nobody Fri Mar 29 14:46:33 2024 X-Original-To: alpine-aports@lists.alpinelinux.org Received: from mail-qk0-f174.google.com (mail-qk0-f174.google.com [209.85.220.174]) by lists.alpinelinux.org (Postfix) with ESMTP id 687AB5C4F54 for ; Fri, 4 May 2018 14:42:40 +0000 (GMT) Received: by mail-qk0-f174.google.com with SMTP id b131so16790091qkg.2 for ; Fri, 04 May 2018 07:42:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=Zk5XJGSCloPOIqok0Bte6ZxiI5DK7aAybuKiTDiEIXA=; b=e0r75Cm/fCeDOEFQSy28reMue7rQvXZML7WXcWNFJfJaAkd6n0txr+4Vds1rh3xlmq QTGGFkjxFkPb7HTAOCptL59vd5+yJXEUe3yCIBT7vuSO0Kns2DPWdB6DPtFLQQxW6uh9 UUqF2MTJqRLc7cgaoowmOMarmzrLrJuzluIVQGXCz0HzBpxsuYJcO3RYhK5Gf02BzKkf /x2m/REwt3zBhO9IS8IXxlVXW6PzdIc01pqxEVz7cX/H1+Ot7XFRmlQaxI3Xpr5ci8pA uTZmK1L1bekvMAiAkW0OYkvGozKFXwXIN8Lr9+kxxLqCZyeSqkFdnvOcQXZXBGNGpW5c itIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=Zk5XJGSCloPOIqok0Bte6ZxiI5DK7aAybuKiTDiEIXA=; b=Z/9g1UJnyhwqoc2ED8AJSM0YgFuHhf4vXOfMLDvFHeqWXC91GYqoZFsgtN9/Ft4DAY 8ehHDpNG2tgrk2a3Zlp9xt/jzf2PCYIyZ/Hy6Eo8z5mGm2W8rN/Eksvyml+lf6MVB6B9 ObMIrxUZDShX1hZSm4T6+aW71fncuLmuln9LYuFPrNUjVlLd4T+GFGjVsebfCLD6dNpP JKdJD4KbDN8sGtw+qD0Vtwxfk33FxSSUrYfv+81JiZPOdaqpxmbk4aBDTpn2XAU7kUY/ pbzrDDVbQ6n4m0YMlIiNmM5rqE/cMOiW53C5I7jpgo6NWXIWQ+Xuo2gA38UNL9kAKIbF pOfg== X-Gm-Message-State: ALQs6tAvyDE3TAZ2mfkqtNPBMfcPPljJ9B5pxEEJfPnHi35XKpa9jv5H wjrqZzcPEUdjR0QNKmY1WqHx1Q== X-Google-Smtp-Source: AB8JxZoW+NnlG4yrN5NI/RJA7Fii+YTzdZyMO+MvKoOY/9N0GM6Le3p5HZyzJIyEfrCMviI/uOlp1g== X-Received: by 10.233.222.132 with SMTP id s126mr7291672qkf.142.1525444957654; Fri, 04 May 2018 07:42:37 -0700 (PDT) Received: from localhost.localdomain (c-71-60-35-21.hsd1.pa.comcast.net. [71.60.35.21]) by smtp.googlemail.com with ESMTPSA id b13-v6sm10542277qtp.89.2018.05.04.07.42.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 May 2018 07:42:36 -0700 (PDT) From: Daniel Sabogal To: alpine-aports@lists.alpinelinux.org Subject: [alpine-aports] [PATCH] main/xen: upgrade to 4.10.1 Date: Fri, 4 May 2018 10:46:18 -0400 Message-Id: <20180504144618.3025-1-dsabogalcc@gmail.com> X-Mailer: git-send-email 2.17.0 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 LS0tDQogbWFpbi94ZW4vQVBLQlVJTEQgICAgICAgICAgIHwgICAyMiArLQ0KIG1haW4veGVuL3hz YTI0Ny00LjktMi5wYXRjaCB8ICAxMDkgLS0tDQogbWFpbi94ZW4veHNhMjUyLnBhdGNoICAgICAg IHwgICAyNyAtDQogbWFpbi94ZW4veHNhMjUzLTQuMTAucGF0Y2ggIHwgICAyNiAtDQogbWFpbi94 ZW4veHNhMjU0LTQuMTAucGF0Y2ggIHwgMTM3MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KIG1haW4veGVuL3hzYTI1NS0xLnBhdGNoICAgICB8ICAxMzMgLS0tLQ0KIG1haW4v eGVuL3hzYTI1NS0yLnBhdGNoICAgICB8ICAxNjcgLS0tLS0NCiBtYWluL3hlbi94c2EyNTYucGF0 Y2ggICAgICAgfCAgIDQwIC0NCiA4IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTg5 MSBkZWxldGlvbnMoLSkNCiBkZWxldGUgbW9kZSAxMDA2NDQgbWFpbi94ZW4veHNhMjQ3LTQuOS0y LnBhdGNoDQogZGVsZXRlIG1vZGUgMTAwNjQ0IG1haW4veGVuL3hzYTI1Mi5wYXRjaA0KIGRlbGV0 ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyNTMtNC4xMC5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEw MDY0NCBtYWluL3hlbi94c2EyNTQtNC4xMC5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWlu L3hlbi94c2EyNTUtMS5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyNTUt Mi5wYXRjaA0KIGRlbGV0ZSBtb2RlIDEwMDY0NCBtYWluL3hlbi94c2EyNTYucGF0Y2gNCg0KZGlm ZiAtLWdpdCBhL21haW4veGVuL0FQS0JVSUxEIGIvbWFpbi94ZW4vQVBLQlVJTEQNCmluZGV4IDMx MjAxYmEwMTkuLjcwNzBlZGJmYTAgMTAwNjQ0DQotLS0gYS9tYWluL3hlbi9BUEtCVUlMRA0KKysr IGIvbWFpbi94ZW4vQVBLQlVJTEQNCkBAIC0yLDggKzIsOCBAQA0KICMgQ29udHJpYnV0b3I6IFJv Z2VyIFBhdSBNb25uZSA8cm9nZXIucGF1QGVudGVsLnVwYy5lZHU+DQogIyBNYWludGFpbmVyOiBX aWxsaWFtIFBpdGNvY2sgPG5lbm9sb2RAZGVyZWZlcmVuY2VkLm9yZz4NCiBwa2duYW1lPXhlbg0K LXBrZ3Zlcj00LjEwLjANCi1wa2dyZWw9Mw0KK3BrZ3Zlcj00LjEwLjENCitwa2dyZWw9MA0KIHBr Z2Rlc2M9IlhlbiBoeXBlcnZpc29yIg0KIHVybD0iaHR0cDovL3d3dy54ZW4ub3JnLyINCiBhcmNo PSJ4ODZfNjQgYXJtaGYgYWFyY2g2NCINCkBAIC0xMTIsNiArMTEyLDkgQEAgb3B0aW9ucz0iIXN0 cmlwIg0KICMgICAgIC0gQ1ZFLTIwMTgtNzU0MCBYU0EtMjUyDQogIyAgICAgLSBDVkUtMjAxOC03 NTQxIFhTQS0yNTUNCiAjICAgICAtIENWRS0yMDE4LTc1NDIgWFNBLTI1Ng0KKyMgICA0LjEwLjEt cjA6DQorIyAgICAgLSBDVkUtMjAxOC0xMDQ3MiBYU0EtMjU4DQorIyAgICAgLSBDVkUtMjAxOC0x MDQ3MSBYU0EtMjU5DQogDQogY2FzZSAiJENBUkNIIiBpbg0KIHg4NiopDQpAQCAtMTU5LDEzICsx NjIsNiBAQCBzb3VyY2U9Imh0dHBzOi8vZG93bmxvYWRzLnhlbnByb2plY3Qub3JnL3JlbGVhc2Uv JHBrZ25hbWUvJHBrZ3Zlci8kcGtnbmFtZS0kcGtndg0KIAlodHRwOi8veGVuYml0cy54ZW4ub3Jn L3hlbi1leHRmaWxlcy96bGliLSRfWkxJQl9WRVJTSU9OLnRhci5neg0KIAlodHRwOi8veGVuYml0 cy54ZW4ub3JnL3hlbi1leHRmaWxlcy9pcHhlLWdpdC0kX0lQWEVfR0lUX1RBRy50YXIuZ3oNCiAN Ci0JeHNhMjUyLnBhdGNoDQotCXhzYTI1My00LjEwLnBhdGNoDQotCXhzYTI1NC00LjEwLnBhdGNo DQotCXhzYTI1NS0xLnBhdGNoDQotCXhzYTI1NS0yLnBhdGNoDQotCXhzYTI1Ni5wYXRjaA0KLQ0K IAlxZW11LXhlbl9wYXRocy5wYXRjaA0KIA0KIAlob3RwbHVnLXZpZi12dHJpbGwucGF0Y2gNCkBA IC00MTYsNyArNDEyLDcgQEAgRU9GDQogDQogfQ0KIA0KLXNoYTUxMnN1bXM9IjVhMzc5MzVjMzgy ZjljZmUzNjQxYTM1YzNiZTBiYTExNjg5YmNhMTBjN2QzYzI0MDE5NjM1MTNlM2E4MzRlZThkMGM4 YTBkZGNmMzcxNmRiZjBhNzk1YWVhMWJhYjc4Y2FmMTlhY2YxMjcyZTVlMDU0YmYwMTJjZmEwNmE0 NjkwICB4ZW4tNC4xMC4wLnRhci5neg0KK3NoYTUxMnN1bXM9IjIzNmMwMmJlZTY5ZTMzNjQ0NzAz ZWQyNmQzMjNkNGM0OTFhOTFmYzA1YmQwZWUwOTkwYTczNjg1NzlmN2M4MmY1YmI0NTEwODQ1YmY4 MDM0OGZkOTIzMDI0ZDdkNjBkNTIxZjU5M2RmZDAzNjVkOTcxZGM1OTJmOGVmMTBmYmVhICB4ZW4t NC4xMC4xLnRhci5neg0KIDJlMGIwZmQyM2U2ZjEwNzQyYTU1MTc5ODFlNTE3MWM2ZTg4YjBhOTNj ODNkYTcwMWIyOTZmNWMwODYxZDcyYzE5NzgyZGFhYjU4OWE3ZWFjM2Y5MDMyMTUyYTBmYzdlZmY3 ZjUzNjJkYjhmY2NjNDg1OTU2NGE5YWE4MjMyOWNmICBnbXAtNC4zLjIudGFyLmJ6Mg0KIGMyYmM5 ZmZjODU4M2FlYWU3MWNlZTlkZGNjNDQxODk2OTc2OGQ0ZTM3NjRkNDczMDdkYTU0ZjkzOTgxYzAx MDlmYjA3ZDg0YjA2MWIzYTM2MjhiZDAwYmE0ZDE0YTU0NzQyYmMwNDg0ODExMGViM2FlOGNhMjVk YmZiYWFiYWRiICBncnViLTAuOTcudGFyLmd6DQogMTQ2NWI1ODI3OWFmMTY0N2Y5MDk0NTBlMzk0 ZmUwMDJjYTE2NWYwZmY0YTAyNTRiZmE5ZmUwZTY0MzE2ZjUwZmFjZGRlMjcyOWQ3OWE0ZTYzMjU2 NWI0NTAwY2Y0ZDZjNzQxOTJhYzBkZDNiYzlmZTA5MTI5YmJkNjdiYTA4OWQgIGx3aXAtMS4zLjAu dGFyLmd6DQpAQCAtNDI2LDEyICs0MjIsNiBAQCBjMmJjOWZmYzg1ODNhZWFlNzFjZWU5ZGRjYzQ0 MTg5Njk3NjhkNGUzNzY0ZDQ3MzA3ZGE1NGY5Mzk4MWMwMTA5ZmIwN2Q4NGIwNjFiM2EzNg0KIDQ5 MjhiNWI4MmY1NzY0NWJlOTQwODM2MjcwNmZmMmM0ZDliYWE2MzViMjFiMGQ0MWIxYzgyOTMwZThj NjBhNzU5YjFlYTRmYTc0ZDdlNmM3Y2FlMWI3NjkyZDAwNmFhNWNiNzJkZjBjM2I4OGJmMDQ5Nzc5 YWEyYjU2NmY5ZDM1ICB0cG1fZW11bGF0b3ItMC43LjQudGFyLmd6DQogMDIxYjk1OGZjZDBkMzQ2 YzRiYTc2MWJjZjBjYzQwZjM1MjJkZTYxODZjZjVhMGE2ZWEzNGE3MDUwNGNlOTYyMmIxYzI2MjZm Y2U0MDY3NWJjODI4MmNmNWY1YWRlMTg0NzM2NTZhYmMzODA1MGY3MmY1ZDY0ODA1MDdhMjEwNmUg IHpsaWItMS4yLjMudGFyLmd6DQogYmJjY2U1ZTU1MDQwZTdlMjlhZGViZDRhNTI1M2EwNDYwMTZh NmUyZTdmZjM0Y2Y4MDFhNDJkMTQ3ZTFlYzFhZjU3ZTAyOTczMTgyNDliZmE5YzViYmVhYzk2OWZl NGIzN2MxOGNiZjg0NWE4MGIyMTM2ZDY1Mzg3YTRmYzMxZGEgIGlweGUtZ2l0LTM1NmY2YzFiNjRk N2E5Nzc0NmQxODE2Y2VmOGNhMjJiZGQ4ZDBiNWQudGFyLmd6DQotNjNmZDZjZWU1NmVmMDQ1MDZl ZmQ2YmY2MzI5OThkYzkwNTE0ZmY5NjdlOTQzNTUxNGE1YmE4ZDJjNTc4MTczNWY5ODYyNDEzNDRh NDc5YjZmNDRkZjljNmU2YTI3OGExNjViYTE0ODM0YjBiMzIzNjA2NGUyNGY3MWNkNjAwZjEgIHhz YTI1Mi5wYXRjaA0KLTU4ZjI4OGZiMzA4N2VjZGQ0MjA3NTAzMWI1NjA0YTQ5M2FkZWYwNzU0ZjY4 ZDU5NmRjZTg1NzZmYmM0NmJmZThiMWJmM2RjNDI5MjY5Y2FiMzc5N2I2ZjE5MzAzNmJkYWZlYjMy Y2YyYzdjY2EzNGQ5Yzg5ZDVmZTk1YTA0NTNjICB4c2EyNTMtNC4xMC5wYXRjaA0KLWYxNTM1MGMw YjQ0ZDNhNmQ1YTMwNTZkZmFjODFkMjVmMmFmMDQ3MTM1YzUyOGY2MjU4ZjNkNDJlZjI2ZTZkODc1 MTFkOGUxNDhhNjNlOGQ3ZDg4MTA4ZTA3ZGM1YjM1NTFlZDU0YzkxNWJlNmRjM2ZlM2Y5NzhhYjcy MDk0MzIxICB4c2EyNTQtNC4xMC5wYXRjaA0KLWQxNmVhZDkzNDg2YmVlZTc2N2MzYzgwZDExOTgx ZDk0MGRmY2U1NWQ5YWFiZmU3YWRlZTQ4MGQwMmY1NzVhMmRmMDc0YmI4M2ExZTYyZTQ1NWFjNzU0 ZjZkOGYzZmI4M2FiZTcxMzliOTNiOTRiNzcyMzNjMjkxOGI0NmRjMmUyICB4c2EyNTUtMS5wYXRj aA0KLTJmMDcxOWZiYmRlMjYxYTUxZTFlYzY2ZWI2NzdmYjJiMTdjOTRlMDYzMWQ1ODNjMGE5OTM1 N2I3YzJkZmIyYzY5NWI2OTcwZWJiZThlMDVmNjgxNTQzNDRhZjc0ZmEzMWU4YjQ3YjBkMjVjNzc4 YjNhZWYxYjI4NDEwMWFlNTI4ICB4c2EyNTUtMi5wYXRjaA0KLTNiZDI2OTdhOGFkNjYxOTcyNjRh ZjhhNzEzYmY5NzE1MmVkNDE0YzRiMTE5MTBjYzk4NmM2YWRhYTg1YmQ4NmI0ZDM1MzE5Njc1Nzk5 ZWRjY2YwNGFhZmY5YWU0OGE1OGNhNWM0MzhjYjZiNWI5NWY2MGZmZmJmZWVjNWU0ZmFmICB4c2Ey NTYucGF0Y2gNCiAxOTM2YWIzOWExODY3OTU3ZmE2NDBlYjgxYzQwNzAyMTRjYTQ4NTZhMjc0M2Jh N2U0OWMwY2QwMTc5MTcwNzFhOTY4MGQwMTVmMDAyYzU3ZmE3Yjk2MDBkYmFkZDI5ZGNlYTU4ODdm NTBlNmMxMzMzMDVkZjI2NjlhN2E5MzNmMyAgcWVtdS14ZW5fcGF0aHMucGF0Y2gNCiBmMDk1ZWEz NzNmMzYzODE0OTFhZDM2ZjA2NjJmYjRmNTM2NjUwMzE5NzM3MjEyNTZiMjMxNjZlNTk2MzE4NTgx ZGE3Y2JiMDE0NmQwYmViMjQ0NjcyOWFkZmRiMzIxZTAxNDY4ZTM3Nzc5M2Y2NTYzYTY3ZDY4Yjhi MGY3ZmZlMyAgaG90cGx1Zy12aWYtdnRyaWxsLnBhdGNoDQogNzdiMDhlOTY1NWUwOTFiMDM1MmU0 NjMwZDUyMGI1NGM2Y2E2ZDY1OWQxZDM4ZmJiNGIzYmZjOWZmM2U2NmRiNDMzYTJlMTk0ZWFkMzJi YjEwZmY5NjJjMzgyZDgwMGE2NzBlODJiN2E2MjgzNWIyMzhlMjk0YjIyODA4MjkwZWEgIG11c2wt aHZtbG9hZGVyLWZpeC1zdGRpbnQucGF0Y2gNCmRpZmYgLS1naXQgYS9tYWluL3hlbi94c2EyNDct NC45LTIucGF0Y2ggYi9tYWluL3hlbi94c2EyNDctNC45LTIucGF0Y2gNCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMTM3MzdhOWJmMi4uMDAwMDAwMDAwMA0KLS0tIGEvbWFpbi94ZW4v eHNhMjQ3LTQuOS0yLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwxMDkgKzAsMCBAQA0KLUZy b20gZDRiYzc4MzM3MDczNTFhNTM0MWE2YmRmMDRjNzUyYTAyOGQ5NTYwZCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDENCi1Gcm9tOiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5j b20+DQotRGF0ZTogRnJpLCAxMCBOb3YgMjAxNyAxNjo1Mzo1NSArMDAwMA0KLVN1YmplY3Q6IFtQ QVRDSCAyLzJdIHAybTogQ2hlY2sgcmV0dXJuIHZhbHVlIG9mIHAybV9zZXRfZW50cnkoKSB3aGVu DQotIGRlY3JlYXNpbmcgcmVzZXJ2YXRpb24NCi0NCi1JZiB0aGUgZW50aXJlIHJhbmdlIHNwZWNp ZmllZCB0byBwMm1fcG9kX2RlY3JlYXNlX3Jlc2VydmF0aW9uKCkgaXMgbWFya2VkDQotcG9wdWxh dGUtb24tZGVtYW5kLCB0aGVuIGl0IHdpbGwgbWFrZSBhIHNpbmdsZSBwMm1fc2V0X2VudHJ5KCkg Y2FsbCwNCi1yZWR1Y2luZyBpdHMgUG9EIGVudHJ5IGNvdW50Lg0KLQ0KLVVuZm9ydHVuYXRlbHks IGluIHRoZSByaWdodCBjaXJjdW1zdGFuY2VzLCB0aGlzIHAybV9zZXRfZW50cnkoKSBjYWxsDQot bWF5IGZhaWwuICBJdCB0aGF0IGNhc2UsIHJlcGVhdGVkIGNhbGxzIHRvIGRlY3JlYXNlX3Jlc2Vy dmF0aW9uKCkgbWF5DQotY2F1c2UgcDJtLT5wb2QuZW50cnlfY291bnQgdG8gZmFsbCBiZWxvdyB6 ZXJvLCBwb3RlbnRpYWxseSB0cmlwcGluZw0KLW92ZXIgQlVHX09OKClzIHRvIHRoZSBjb250cmFy eS4NCi0NCi1JbnN0ZWFkLCBjaGVjayB0byBzZWUgaWYgdGhlIGVudHJ5IHN1Y2NlZWRlZCwgYW5k IHJldHVybiBmYWxzZSBpZiBub3QuDQotVGhlIGNhbGxlciB3aWxsIHRoZW4gY2FsbCBndWVzdF9y ZW1vdmVfcGFnZSgpIG9uIHRoZSBnZm5zLCB3aGljaCB3aWxsDQotcmV0dXJuIC1FSU5WQUwgdXBv biBmaW5kaW5nIG5vIHZhbGlkIG1lbW9yeSB0aGVyZSB0byByZXR1cm4uDQotDQotVW5mb3J0dW5h dGVseSBpZiB0aGUgb3JkZXIgPiAwLCB0aGUgZW50cnkgbWF5IGhhdmUgcGFydGlhbGx5IGNoYW5n ZWQuDQotQSBkb21haW5fY3Jhc2goKSBpcyBwcm9iYWJseSB0aGUgc2FmZXN0IHRoaW5nIGluIHRo YXQgY2FzZS4NCi0NCi1PdGhlciBwMm1fc2V0X2VudHJ5KCkgY2FsbHMgaW4gdGhlIHNhbWUgZnVu Y3Rpb24gc2hvdWxkIGJlIGZpbmUsDQotYmVjYXVzZSB0aGV5IGFyZSB3cml0aW5nIHRoZSBlbnRy eSBhdCBpdHMgY3VycmVudCBvcmRlci4gIE5vbmV0aGVsZXNzLA0KLWNoZWNrIHRoZSByZXR1cm4g dmFsdWUgYW5kIGNyYXNoIGlmIG91ciBhc3N1bXB0aW9uIHR1cm5zIG90dSB0byBiZQ0KLXdyb25n Lg0KLQ0KLVRoaXMgaXMgcGFydCBvZiBYU0EtMjQ3Lg0KLQ0KLVJlcG9ydGVkLWJ5OiBYWFggUEVS U09OIDxYWFggRU1BSUw+DQotU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1 bmxhcEBjaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+DQotLS0tDQotdjI6IENyYXNoIHRoZSBkb21haW4gaWYgd2UncmUgbm90IHN1cmUgaXQn cyBzYWZlIChvciBpZiB3ZSB0aGluayBpdA0KLWNhbid0IGhhcHBlbikNCi0tLS0NCi0geGVuL2Fy Y2gveDg2L21tL3AybS1wb2QuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLQ0KLSAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlv bnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYyBiL3hlbi9h cmNoL3g4Ni9tbS9wMm0tcG9kLmMNCi1pbmRleCBmMmVkNzUxODkyLi40NzNkNmE2ZGJmIDEwMDY0 NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcG9kLmMNCi0rKysgYi94ZW4vYXJjaC94ODYv bW0vcDJtLXBvZC5jDQotQEAgLTU1NSwxMSArNTU1LDIzIEBAIHAybV9wb2RfZGVjcmVhc2VfcmVz ZXJ2YXRpb24oc3RydWN0IGRvbWFpbiAqZCwNCi0gDQotICAgICBpZiAoICFub25wb2QgKQ0KLSAg ICAgew0KLS0gICAgICAgIC8qIEFsbCBQb0Q6IE1hcmsgdGhlIHdob2xlIHJlZ2lvbiBpbnZhbGlk IGFuZCB0ZWxsIGNhbGxlcg0KLS0gICAgICAgICAqIHdlJ3JlIGRvbmUuICovDQotLSAgICAgICAg cDJtX3NldF9lbnRyeShwMm0sIGdwZm4sIElOVkFMSURfTUZOLCBvcmRlciwgcDJtX2ludmFsaWQs DQotLSAgICAgICAgICAgICAgICAgICAgICBwMm0tPmRlZmF1bHRfYWNjZXNzKTsNCi0tICAgICAg ICBwMm0tPnBvZC5lbnRyeV9jb3VudC09KDE8PG9yZGVyKTsNCi0rICAgICAgICAvKg0KLSsgICAg ICAgICAqIEFsbCBQb0Q6IE1hcmsgdGhlIHdob2xlIHJlZ2lvbiBpbnZhbGlkIGFuZCB0ZWxsIGNh bGxlcg0KLSsgICAgICAgICAqIHdlJ3JlIGRvbmUuDQotKyAgICAgICAgICovDQotKyAgICAgICAg aWYgKCBwMm1fc2V0X2VudHJ5KHAybSwgZ3BmbiwgSU5WQUxJRF9NRk4sIG9yZGVyLCBwMm1faW52 YWxpZCwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtLT5kZWZhdWx0X2FjY2Vzcykg KQ0KLSsgICAgICAgIHsNCi0rICAgICAgICAgICAgLyoNCi0rICAgICAgICAgICAgICogSWYgdGhp cyBmYWlscywgd2UgY2FuJ3QgdGVsbCBob3cgbXVjaCBvZiB0aGUgcmFuZ2Ugd2FzIGNoYW5nZWQu DQotKyAgICAgICAgICAgICAqIEJlc3QgdG8gY3Jhc2ggdGhlIGRvbWFpbiB1bmxlc3Mgd2UncmUg c3VyZSBhIHBhcnRpYWwgY2hhbmdlIGlzDQotKyAgICAgICAgICAgICAqIGltcG9zc2libGUuDQot KyAgICAgICAgICAgICAqLw0KLSsgICAgICAgICAgICBpZiAoIG9yZGVyICE9IDAgKQ0KLSsgICAg ICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOw0KLSsgICAgICAgICAgICBnb3RvIG91dF91bmxv Y2s7DQotKyAgICAgICAgfQ0KLSsgICAgICAgIHAybS0+cG9kLmVudHJ5X2NvdW50IC09IDFVTCA8 PCBvcmRlcjsNCi0gICAgICAgICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAwKTsNCi0g ICAgICAgICByZXQgPSAxOw0KLSAgICAgICAgIGdvdG8gb3V0X2VudHJ5X2NoZWNrOw0KLUBAIC02 MDAsOCArNjEyLDE0IEBAIHAybV9wb2RfZGVjcmVhc2VfcmVzZXJ2YXRpb24oc3RydWN0IGRvbWFp biAqZCwNCi0gICAgICAgICBuID0gMVVMIDw8IGN1cl9vcmRlcjsNCi0gICAgICAgICBpZiAoIHQg PT0gcDJtX3BvcHVsYXRlX29uX2RlbWFuZCApDQotICAgICAgICAgew0KLS0gICAgICAgICAgICBw Mm1fc2V0X2VudHJ5KHAybSwgZ3BmbiArIGksIElOVkFMSURfTUZOLCBjdXJfb3JkZXIsDQotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ludmFsaWQsIHAybS0+ZGVmYXVsdF9hY2Nlc3Mp Ow0KLSsgICAgICAgICAgICAvKiBUaGlzIHNob3VsZG4ndCBiZSBhYmxlIHRvIGZhaWwgKi8NCi0r ICAgICAgICAgICAgaWYgKCBwMm1fc2V0X2VudHJ5KHAybSwgZ3BmbiArIGksIElOVkFMSURfTUZO LCBjdXJfb3JkZXIsDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1faW52YWxp ZCwgcDJtLT5kZWZhdWx0X2FjY2VzcykgKQ0KLSsgICAgICAgICAgICB7DQotKyAgICAgICAgICAg ICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsNCi0rICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFz aChkKTsNCi0rICAgICAgICAgICAgICAgIGdvdG8gb3V0X3VubG9jazsNCi0rICAgICAgICAgICAg fQ0KLSAgICAgICAgICAgICBwMm0tPnBvZC5lbnRyeV9jb3VudCAtPSBuOw0KLSAgICAgICAgICAg ICBCVUdfT04ocDJtLT5wb2QuZW50cnlfY291bnQgPCAwKTsNCi0gICAgICAgICAgICAgcG9kIC09 IG47DQotQEAgLTYyMiw4ICs2NDAsMTQgQEAgcDJtX3BvZF9kZWNyZWFzZV9yZXNlcnZhdGlvbihz dHJ1Y3QgZG9tYWluICpkLA0KLSANCi0gICAgICAgICAgICAgcGFnZSA9IG1mbl90b19wYWdlKG1m bik7DQotIA0KLS0gICAgICAgICAgICBwMm1fc2V0X2VudHJ5KHAybSwgZ3BmbiArIGksIElOVkFM SURfTUZOLCBjdXJfb3JkZXIsDQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX2ludmFs aWQsIHAybS0+ZGVmYXVsdF9hY2Nlc3MpOw0KLSsgICAgICAgICAgICAvKiBUaGlzIHNob3VsZG4n dCBiZSBhYmxlIHRvIGZhaWwgKi8NCi0rICAgICAgICAgICAgaWYgKCBwMm1fc2V0X2VudHJ5KHAy bSwgZ3BmbiArIGksIElOVkFMSURfTUZOLCBjdXJfb3JkZXIsDQotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwMm1faW52YWxpZCwgcDJtLT5kZWZhdWx0X2FjY2VzcykgKQ0KLSsgICAg ICAgICAgICB7DQotKyAgICAgICAgICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsNCi0rICAg ICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsNCi0rICAgICAgICAgICAgICAgIGdvdG8gb3V0 X3VubG9jazsNCi0rICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICBwMm1fdGxiX2ZsdXNoX3N5 bmMocDJtKTsNCi0gICAgICAgICAgICAgZm9yICggaiA9IDA7IGogPCBuOyArK2ogKQ0KLSAgICAg ICAgICAgICAgICAgc2V0X2dwZm5fZnJvbV9tZm4obWZuX3gobWZuKSwgSU5WQUxJRF9NMlBfRU5U UlkpOw0KLS0tIA0KLTIuMTUuMA0KLQ0KZGlmZiAtLWdpdCBhL21haW4veGVuL3hzYTI1Mi5wYXRj aCBiL21haW4veGVuL3hzYTI1Mi5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCA4NjE1OTI4MTQyLi4wMDAwMDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2EyNTIucGF0Y2gNCisr KyAvZGV2L251bGwNCkBAIC0xLDI3ICswLDAgQEANCi1Gcm9tOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+DQotU3ViamVjdDogbWVtb3J5OiBkb24ndCBpbXBsaWNpdGx5IHVucGluIGZv ciBkZWNyZWFzZS1yZXNlcnZhdGlvbg0KLQ0KLUl0IHZlcnkgbGlrZWx5IHdhcyBhIG1pc3Rha2Ug KGNvcHktYW5kLXBhc3RlIGZyb20gZG9tYWluIGNsZWFudXAgY29kZSkNCi10byBpbXBsaWNpdGx5 IHVucGluIGhlcmU6IFRoZSBjYWxsZXIgc2hvdWxkIHJlYWxseSB1bnBpbiBpdHNlbGYgYmVmb3Jl DQotKG9yIGFmdGVyLCBpZiB0aGV5IHNvIHdpc2gpIHJlcXVlc3RpbmcgdGhlIHBhZ2UgdG8gYmUg cmVtb3ZlZC4NCi0NCi1UaGlzIGlzIFhTQS0yNTIuDQotDQotUmVwb3J0ZWQtYnk6IEphbm4gSG9y biA8amFubmhAZ29vZ2xlLmNvbT4NCi1TaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+DQotUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz QGNpdHJpeC5jb20+DQotDQotLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYw0KLSsrKyBiL3hlbi9j b21tb24vbWVtb3J5LmMNCi1AQCAtMzU3LDExICszNTcsNiBAQCBpbnQgZ3Vlc3RfcmVtb3ZlX3Bh Z2Uoc3RydWN0IGRvbWFpbiAqZCwNCi0gDQotICAgICByYyA9IGd1ZXN0X3BoeXNtYXBfcmVtb3Zl X3BhZ2UoZCwgX2dmbihnbWZuKSwgbWZuLCAwKTsNCi0gDQotLSNpZmRlZiBfUEdUX3Bpbm5lZA0K LS0gICAgaWYgKCAhcmMgJiYgdGVzdF9hbmRfY2xlYXJfYml0KF9QR1RfcGlubmVkLCAmcGFnZS0+ dS5pbnVzZS50eXBlX2luZm8pICkNCi0tICAgICAgICBwdXRfcGFnZV9hbmRfdHlwZShwYWdlKTsN Ci0tI2VuZGlmDQotLQ0KLSAgICAgLyoNCi0gICAgICAqIFdpdGggdGhlIGxhY2sgb2YgYW4gSU9N TVUgb24gc29tZSBwbGF0Zm9ybXMsIGRvbWFpbnMgd2l0aCBETUEtY2FwYWJsZQ0KLSAgICAgICog ZGV2aWNlIG11c3QgcmV0cmlldmUgdGhlIHNhbWUgcGZuIHdoZW4gdGhlIGh5cGVyY2FsbCBwb3B1 bGF0ZV9waHlzbWFwDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMjUzLTQuMTAucGF0Y2ggYi9t YWluL3hlbi94c2EyNTMtNC4xMC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRl eCAxOWU0MjY5MzU4Li4wMDAwMDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2EyNTMtNC4xMC5wYXRj aA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMjYgKzAsMCBAQA0KLUZyb206IEFuZHJldyBDb29wZXIg PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQotU3ViamVjdDogeDg2L21zcjogRnJlZSBtc3Jf dmNwdV9wb2xpY3kgZHVyaW5nIHZjcHUgZGVzdHJ1Y3Rpb24NCi0NCi1jL3MgNDE4N2Y3OWRjNyAi eDg2L21zcjogaW50cm9kdWNlIHN0cnVjdCBtc3JfdmNwdV9wb2xpY3kiIGludHJvZHVjZWQgYQ0K LXBlci12Y3B1IG1lbW9yeSBhbGxvY2F0aW9uLCBidXQgZmFpbGVkIHRvIGZyZWUgaXQgaW4gdGhl IGNsZWFuIHZjcHUNCi1kZXN0cnVjdGlvbiBjYXNlLg0KLQ0KLVRoaXMgaXMgWFNBLTI1Mw0KLQ0K LVNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ DQotUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCi0NCi1kaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQot aW5kZXggYjE3NDY4Yy4uMGFlNzE1ZCAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYvZG9tYWlu LmMNCi0rKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMNCi1AQCAtMzgyLDYgKzM4Miw5IEBAIHZv aWQgdmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQ0KLSANCi0gICAgIHZjcHVfZGVzdHJveV9m cHUodik7DQotIA0KLSsgICAgeGZyZWUodi0+YXJjaC5tc3IpOw0KLSsgICAgdi0+YXJjaC5tc3Ig PSBOVUxMOw0KLSsNCi0gICAgIGlmICggIWlzX2lkbGVfZG9tYWluKHYtPmRvbWFpbikgKQ0KLSAg ICAgICAgIHZwbXVfZGVzdHJveSh2KTsNCi0gDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMjU0 LTQuMTAucGF0Y2ggYi9tYWluL3hlbi94c2EyNTQtNC4xMC5wYXRjaA0KZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCBkZWIwNGJmNTQ5Li4wMDAwMDAwMDAwDQotLS0gYS9tYWluL3hlbi94 c2EyNTQtNC4xMC5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsMTM3MyArMCwwIEBADQotRnJv bSA5MTBkZDAwNWRhMjBmMjdmMzQxNWI3ZWNjZGY0MzY4NzQ5ODk1MDZiIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQ0KLUZyb206IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5j b20+DQotRGF0ZTogV2VkLCAxNyBKYW4gMjAxOCAxNjo1NDo0NCArMDEwMA0KLVN1YmplY3Q6IFtQ QVRDSF0geDg2L2VudHJ5OiBSZW1vdmUgc3VwcG9ydCBmb3IgcGFydGlhbCBjcHVfdXNlcl9yZWdz IGZyYW1lcw0KLQ0KLVNhdmUgYWxsIEdQUnMgb24gZW50cnkgdG8gWGVuLg0KLQ0KLVRoZSBlbnRy eV9pbnQ4MigpIHBhdGggaXMgdmlhIGEgRFBMMSBnYXRlLCBvbmx5IHVzYWJsZSBieSAzMmJpdCBQ ViBndWVzdHMsIHNvDQotY2FuIGdldCBhd2F5IHdpdGggb25seSBzYXZpbmcgdGhlIDMyYml0IHJl Z2lzdGVycy4gIEFsbCBvdGhlciBlbnRyeXBvaW50cyBjYW4NCi1iZSByZWFjaGVkIGZyb20gMzIg b3IgNjRiaXQgY29udGV4dHMuDQotDQotVGhpcyBpcyBwYXJ0IG9mIFhTQS0yNTQuDQotDQotU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1S ZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4NCi1BY2tlZC1ieTogSmFu IEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLW1hc3RlciBjb21taXQ6IGY5ZWI3NDc4OWFm NzdlOTg1YWU2NTMxOTNmMzYyMjI2MzQ5OWY2NzQNCi1tYXN0ZXIgZGF0ZTogMjAxOC0wMS0wNSAx OTo1NzowNyArMDAwMA0KLS0tLQ0KLSB0b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxh dGUuYyB8ICAgMSAtDQotIHhlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyAgICAgICAgICAgICAgIHwg ICAxIC0NCi0geGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jICAgICAgICAgfCAgIDIgLQ0K LSB4ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TICAgICB8ICAgNyArKy0NCi0geGVu L2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TICAgICAgICAgICAgfCAgMTIgKystLQ0KLSB4ZW4vYXJj aC94ODYveDg2XzY0L3RyYXBzLmMgICAgICAgICAgICB8ICAxMyArKy0tDQotIHhlbi9hcmNoL3g4 Ni94ODZfZW11bGF0ZS5jICAgICAgICAgICAgIHwgICAxIC0NCi0geGVuL2FyY2gveDg2L3g4Nl9l bXVsYXRlL3g4Nl9lbXVsYXRlLmMgfCAgIDggKy0tDQotIHhlbi9jb21tb24vd2FpdC5jICAgICAg ICAgICAgICAgICAgICAgIHwgICAxIC0NCi0geGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMu aCAgICAgICAgfCAxMDUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotIDEwIGZp bGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEyNSBkZWxldGlvbnMoLSkNCi0NCi1kaWZm IC0tZ2l0IGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmMgYi90b29scy90 ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuYw0KLWluZGV4IDk3NWRkYzcuLjkwNTY2MTAg MTAwNjQ0DQotLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmMNCi0r KysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuYw0KLUBAIC0zLDcgKzMs NiBAQA0KLSAjaW5jbHVkZSA8c3lzL21tYW4uaD4NCi0gDQotICNkZWZpbmUgY3B1X2hhc19hbWRf ZXJyYXR1bShucikgMA0KLS0jZGVmaW5lIG1hcmtfcmVnc19kaXJ0eShyKSAoKHZvaWQpKHIpKQ0K LSAjZGVmaW5lIGNwdV9oYXNfbXB4IGZhbHNlDQotICNkZWZpbmUgcmVhZF9ibmRjZmd1KCkgMA0K LSAjZGVmaW5lIHhzdGF0ZV9zZXRfaW5pdCh3aGF0KQ0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvcHYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMNCi1pbmRleCAyMjM0MTI4 Li43NGU5ZTY2IDEwMDY0NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYw0KLSsrKyBi L3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYw0KLUBAIC0yMCw3ICsyMCw2IEBADQotIHN0YXRpYyB2 b2lkIG5vcmV0dXJuIGNvbnRpbnVlX25vbmlkbGVfZG9tYWluKHN0cnVjdCB2Y3B1ICp2KQ0KLSB7 DQotICAgICBjaGVja193YWtldXBfZnJvbV93YWl0KCk7DQotLSAgICBtYXJrX3JlZ3NfZGlydHko Z3Vlc3RfY3B1X3VzZXJfcmVncygpKTsNCi0gICAgIHJlc2V0X3N0YWNrX2FuZF9qdW1wKHJldF9m cm9tX2ludHIpOw0KLSB9DQotIA0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvZW11bC1w cml2LW9wLmMgYi94ZW4vYXJjaC94ODYvcHYvZW11bC1wcml2LW9wLmMNCi1pbmRleCAyZjkyNjQ1 Li41ZjIzYzJjIDEwMDY0NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYw0K LSsrKyBiL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYw0KLUBAIC0zMzcsNyArMzM3LDYg QEAgc3RhdGljIGludCByZWFkX2lvKHVuc2lnbmVkIGludCBwb3J0LCB1bnNpZ25lZCBpbnQgYnl0 ZXMsDQotICAgICAgICAgaW9fZW11bF9zdHViX3QgKmlvX2VtdWwgPQ0KLSAgICAgICAgICAgICBp b19lbXVsX3N0dWJfc2V0dXAocG9jLCBjdHh0LT5vcGNvZGUsIHBvcnQsIGJ5dGVzKTsNCi0gDQot LSAgICAgICAgbWFya19yZWdzX2RpcnR5KGN0eHQtPnJlZ3MpOw0KLSAgICAgICAgIGlvX2VtdWwo Y3R4dC0+cmVncyk7DQotICAgICAgICAgcmV0dXJuIFg4NkVNVUxfRE9ORTsNCi0gICAgIH0NCi1A QCAtNDM2LDcgKzQzNSw2IEBAIHN0YXRpYyBpbnQgd3JpdGVfaW8odW5zaWduZWQgaW50IHBvcnQs IHVuc2lnbmVkIGludCBieXRlcywNCi0gICAgICAgICBpb19lbXVsX3N0dWJfdCAqaW9fZW11bCA9 DQotICAgICAgICAgICAgIGlvX2VtdWxfc3R1Yl9zZXR1cChwb2MsIGN0eHQtPm9wY29kZSwgcG9y dCwgYnl0ZXMpOw0KLSANCi0tICAgICAgICBtYXJrX3JlZ3NfZGlydHkoY3R4dC0+cmVncyk7DQot ICAgICAgICAgaW9fZW11bChjdHh0LT5yZWdzKTsNCi0gICAgICAgICBpZiAoIChieXRlcyA9PSAx KSAmJiBwdl9wb3N0X291dGJfaG9vayApDQotICAgICAgICAgICAgIHB2X3Bvc3Rfb3V0Yl9ob29r KHBvcnQsIHZhbCk7DQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2Vu dHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TDQotaW5kZXggYmE2ZTk0 MS4uM2ZlYTU0ZSAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRy eS5TDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUw0KLUBAIC0xNiw3 ICsxNiw4IEBADQotIEVOVFJZKGVudHJ5X2ludDgyKQ0KLSAgICAgICAgIEFTTV9DTEFDDQotICAg ICAgICAgcHVzaHEgJDANCi0tICAgICAgICBTQVZFX1ZPTEFUSUxFIHR5cGU9SFlQRVJDQUxMX1ZF Q1RPUiBjb21wYXQ9MQ0KLSsgICAgICAgIG1vdmwgICRIWVBFUkNBTExfVkVDVE9SLCA0KCVyc3Ap DQotKyAgICAgICAgU0FWRV9BTEwgY29tcGF0PTEgLyogRFBMMSBnYXRlLCByZXN0cmljdGVkIHRv IDMyYml0IFBWIGd1ZXN0cyBvbmx5LiAqLw0KLSAgICAgICAgIENSNF9QVjMyX1JFU1RPUkUNCi0g DQotICAgICAgICAgR0VUX0NVUlJFTlQoYngpDQotQEAgLTYwLDcgKzYxLDYgQEAgY29tcGF0X3Rl c3RfZ3Vlc3RfZXZlbnRzOg0KLSAvKiAlcmJ4OiBzdHJ1Y3QgdmNwdSAqLw0KLSBjb21wYXRfcHJv Y2Vzc19zb2Z0aXJxczoNCi0gICAgICAgICBzdGkNCi0tICAgICAgICBhbmRsICAkflRSQVBfcmVn c19wYXJ0aWFsLFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKQ0KLSAgICAgICAgIGNhbGwgIGRvX3Nv ZnRpcnENCi0gICAgICAgICBqbXAgICBjb21wYXRfdGVzdF9hbGxfZXZlbnRzDQotIA0KLUBAIC0x OTcsNyArMTk3LDggQEAgRU5UUlkoY3N0YXJfZW50ZXIpDQotICAgICAgICAgcHVzaHEgJEZMQVRf VVNFUl9DUzMyDQotICAgICAgICAgcHVzaHEgJXJjeA0KLSAgICAgICAgIHB1c2hxICQwDQotLSAg ICAgICAgU0FWRV9WT0xBVElMRSBUUkFQX3N5c2NhbGwNCi0rICAgICAgICBtb3ZsICAkVFJBUF9z eXNjYWxsLCA0KCVyc3ApDQotKyAgICAgICAgU0FWRV9BTEwNCi0gICAgICAgICBHRVRfQ1VSUkVO VChieCkNCi0gICAgICAgICBtb3ZxICBWQ1BVX2RvbWFpbiglcmJ4KSwlcmN4DQotICAgICAgICAg Y21wYiAgJDAsRE9NQUlOX2lzXzMyYml0X3B2KCVyY3gpDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni94ODZfNjQvZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUw0KLWluZGV4 IDYwNjZlZDguLjFkZDljY2YgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRy eS5TDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQotQEAgLTk4LDcgKzk4LDgg QEAgRU5UUlkobHN0YXJfZW50ZXIpDQotICAgICAgICAgcHVzaHEgJEZMQVRfS0VSTkVMX0NTNjQN Ci0gICAgICAgICBwdXNocSAlcmN4DQotICAgICAgICAgcHVzaHEgJDANCi0tICAgICAgICBTQVZF X1ZPTEFUSUxFIFRSQVBfc3lzY2FsbA0KLSsgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQo JXJzcCkNCi0rICAgICAgICBTQVZFX0FMTA0KLSAgICAgICAgIEdFVF9DVVJSRU5UKGJ4KQ0KLSAg ICAgICAgIHRlc3RiICRURl9rZXJuZWxfbW9kZSxWQ1BVX3RocmVhZF9mbGFncyglcmJ4KQ0KLSAg ICAgICAgIGp6ICAgIHN3aXRjaF90b19rZXJuZWwNCi1AQCAtMTQwLDcgKzE0MSw2IEBAIHRlc3Rf Z3Vlc3RfZXZlbnRzOg0KLSAvKiAlcmJ4OiBzdHJ1Y3QgdmNwdSAqLw0KLSBwcm9jZXNzX3NvZnRp cnFzOg0KLSAgICAgICAgIHN0aSAgICAgICANCi0tICAgICAgICBTQVZFX1BSRVNFUlZFRA0KLSAg ICAgICAgIGNhbGwgZG9fc29mdGlycQ0KLSAgICAgICAgIGptcCAgdGVzdF9hbGxfZXZlbnRzDQot IA0KLUBAIC0xOTAsNyArMTkwLDggQEAgR0xPQkFMKHN5c2VudGVyX2VmbGFnc19zYXZlZCkNCi0g ICAgICAgICBwdXNocSAkMyAvKiByaW5nIDMgbnVsbCBjcyAqLw0KLSAgICAgICAgIHB1c2hxICQw IC8qIG51bGwgcmlwICovDQotICAgICAgICAgcHVzaHEgJDANCi0tICAgICAgICBTQVZFX1ZPTEFU SUxFIFRSQVBfc3lzY2FsbA0KLSsgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJzcCkN Ci0rICAgICAgICBTQVZFX0FMTA0KLSAgICAgICAgIEdFVF9DVVJSRU5UKGJ4KQ0KLSAgICAgICAg IGNtcGIgICQwLFZDUFVfc3lzZW50ZXJfZGlzYWJsZXNfZXZlbnRzKCVyYngpDQotICAgICAgICAg bW92cSAgVkNQVV9zeXNlbnRlcl9hZGRyKCVyYngpLCVyYXgNCi1AQCAtMjA3LDcgKzIwOCw2IEBA IFVOTElLRUxZX0VORChzeXNlbnRlcl9udF9zZXQpDQotICAgICAgICAgbGVhbCAgKCwlcmN4LFRC Rl9JTlRFUlJVUFQpLCVlY3gNCi0gVU5MSUtFTFlfU1RBUlQoeiwgc3lzZW50ZXJfZ3BmKQ0KLSAg ICAgICAgIG1vdnEgIFZDUFVfdHJhcF9jdHh0KCVyYngpLCVyc2kNCi0tICAgICAgICBTQVZFX1BS RVNFUlZFRA0KLSAgICAgICAgIG1vdmwgICRUUkFQX2dwX2ZhdWx0LFVSRUdTX2VudHJ5X3ZlY3Rv ciglcnNwKQ0KLSAgICAgICAgIG1vdmwgICVlYXgsVFJBUEJPVU5DRV9lcnJvcl9jb2RlKCVyZHgp DQotICAgICAgICAgbW92cSAgVFJBUF9ncF9mYXVsdCAqIFRSQVBJTkZPX3NpemVvZiArIFRSQVBJ TkZPX2VpcCglcnNpKSwlcmF4DQotQEAgLTIyNSw3ICsyMjUsOCBAQCBVTkxJS0VMWV9FTkQoc3lz ZW50ZXJfZ3BmKQ0KLSBFTlRSWShpbnQ4MF9kaXJlY3RfdHJhcCkNCi0gICAgICAgICBBU01fQ0xB Qw0KLSAgICAgICAgIHB1c2hxICQwDQotLSAgICAgICAgU0FWRV9WT0xBVElMRSAweDgwDQotKyAg ICAgICAgbW92bCAgJDB4ODAsIDQoJXJzcCkNCi0rICAgICAgICBTQVZFX0FMTA0KLSANCi0gICAg ICAgICBjbXBiICAkMCx1bnRydXN0ZWRfbXNpKCVyaXApDQotIFVOTElLRUxZX1NUQVJUKG5lLCBt c2lfY2hlY2spDQotQEAgLTI1Myw3ICsyNTQsNiBAQCBpbnQ4MF9zbG93X3BhdGg6DQotICAgICAg ICAgICogSURUIGVudHJ5IHdpdGggRFBMPT0wLg0KLSAgICAgICAgICAqLw0KLSAgICAgICAgIG1v dmwgICQoKDB4ODAgPDwgMykgfCBYODZfWEVDX0lEVCksVVJFR1NfZXJyb3JfY29kZSglcnNwKQ0K LS0gICAgICAgIFNBVkVfUFJFU0VSVkVEDQotICAgICAgICAgbW92bCAgJFRSQVBfZ3BfZmF1bHQs VVJFR1NfZW50cnlfdmVjdG9yKCVyc3ApDQotICAgICAgICAgLyogQSBHUEYgd291bGRuJ3QgaGF2 ZSBpbmNyZW1lbnRlZCB0aGUgaW5zdHJ1Y3Rpb24gcG9pbnRlci4gKi8NCi0gICAgICAgICBzdWJx ICAkMixVUkVHU19yaXAoJXJzcCkNCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC90 cmFwcy5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC90cmFwcy5jDQotaW5kZXggMmEzMjZiZS4uMzY1 MmY1ZiAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMNCi0rKysgYi94 ZW4vYXJjaC94ODYveDg2XzY0L3RyYXBzLmMNCi1AQCAtODAsMTUgKzgwLDEwIEBAIHN0YXRpYyB2 b2lkIF9zaG93X3JlZ2lzdGVycygNCi0gICAgICAgICAgICByZWdzLT5yYnAsIHJlZ3MtPnJzcCwg cmVncy0+cjgpOw0KLSAgICAgcHJpbnRrKCJyOTogICUwMTZseCAgIHIxMDogJTAxNmx4ICAgcjEx OiAlMDE2bHhcbiIsDQotICAgICAgICAgICAgcmVncy0+cjksICByZWdzLT5yMTAsIHJlZ3MtPnIx MSk7DQotLSAgICBpZiAoICEocmVncy0+ZW50cnlfdmVjdG9yICYgVFJBUF9yZWdzX3BhcnRpYWwp ICkNCi0tICAgIHsNCi0tICAgICAgICBwcmludGsoInIxMjogJTAxNmx4ICAgcjEzOiAlMDE2bHgg ICByMTQ6ICUwMTZseFxuIiwNCi0tICAgICAgICAgICAgICAgcmVncy0+cjEyLCByZWdzLT5yMTMs IHJlZ3MtPnIxNCk7DQotLSAgICAgICAgcHJpbnRrKCJyMTU6ICUwMTZseCAgIGNyMDogJTAxNmx4 ICAgY3I0OiAlMDE2bHhcbiIsDQotLSAgICAgICAgICAgICAgIHJlZ3MtPnIxNSwgY3JzWzBdLCBj cnNbNF0pOw0KLS0gICAgfQ0KLS0gICAgZWxzZQ0KLS0gICAgICAgIHByaW50aygiY3IwOiAlMDE2 bHggICBjcjQ6ICUwMTZseFxuIiwgY3JzWzBdLCBjcnNbNF0pOw0KLSsgICAgcHJpbnRrKCJyMTI6 ICUwMTZseCAgIHIxMzogJTAxNmx4ICAgcjE0OiAlMDE2bHhcbiIsDQotKyAgICAgICAgICAgcmVn cy0+cjEyLCByZWdzLT5yMTMsIHJlZ3MtPnIxNCk7DQotKyAgICBwcmludGsoInIxNTogJTAxNmx4 ICAgY3IwOiAlMDE2bHggICBjcjQ6ICUwMTZseFxuIiwNCi0rICAgICAgICAgICByZWdzLT5yMTUs IGNyc1swXSwgY3JzWzRdKTsNCi0gICAgIHByaW50aygiY3IzOiAlMDE2bHggICBjcjI6ICUwMTZs eFxuIiwgY3JzWzNdLCBjcnNbMl0pOw0KLSAgICAgcHJpbnRrKCJmc2I6ICUwMTZseCAgIGdzYjog JTAxNmx4ICAgZ3NzOiAlMDE2bHhcbiIsDQotICAgICAgICAgICAgY3JzWzVdLCBjcnNbNl0sIGNy c1s3XSk7DQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS5jIGIveGVuL2Fy Y2gveDg2L3g4Nl9lbXVsYXRlLmMNCi1pbmRleCBjYzMzNGNhLi5jN2JhMjIxIDEwMDY0NA0KLS0t LSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS5jDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl9l bXVsYXRlLmMNCi1AQCAtMTEsNyArMTEsNiBAQA0KLSANCi0gI2luY2x1ZGUgPHhlbi9kb21haW5f cGFnZS5oPg0KLSAjaW5jbHVkZSA8YXNtL3g4Nl9lbXVsYXRlLmg+DQotLSNpbmNsdWRlIDxhc20v YXNtX2RlZm5zLmg+IC8qIG1hcmtfcmVnc19kaXJ0eSgpICovDQotICNpbmNsdWRlIDxhc20vcHJv Y2Vzc29yLmg+IC8qIGN1cnJlbnRfY3B1X2luZm8gKi8NCi0gI2luY2x1ZGUgPGFzbS94c3RhdGUu aD4NCi0gI2luY2x1ZGUgPGFzbS9hbWQuaD4gLyogY3B1X2hhc19hbWRfZXJyYXR1bSgpICovDQot ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jIGIveGVu L2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMNCi1pbmRleCA1NGEyNzU2Li44MjA0 OTVmIDEwMDY0NA0KLS0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5j DQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMNCi1AQCAtMTk1 NiwxMCArMTk1NiwxMCBAQCBkZWNvZGVfcmVnaXN0ZXIoDQotICAgICBjYXNlICA5OiBwID0gJnJl Z3MtPnI5OyAgYnJlYWs7DQotICAgICBjYXNlIDEwOiBwID0gJnJlZ3MtPnIxMDsgYnJlYWs7DQot ICAgICBjYXNlIDExOiBwID0gJnJlZ3MtPnIxMTsgYnJlYWs7DQotLSAgICBjYXNlIDEyOiBtYXJr X3JlZ3NfZGlydHkocmVncyk7IHAgPSAmcmVncy0+cjEyOyBicmVhazsNCi0tICAgIGNhc2UgMTM6 IG1hcmtfcmVnc19kaXJ0eShyZWdzKTsgcCA9ICZyZWdzLT5yMTM7IGJyZWFrOw0KLS0gICAgY2Fz ZSAxNDogbWFya19yZWdzX2RpcnR5KHJlZ3MpOyBwID0gJnJlZ3MtPnIxNDsgYnJlYWs7DQotLSAg ICBjYXNlIDE1OiBtYXJrX3JlZ3NfZGlydHkocmVncyk7IHAgPSAmcmVncy0+cjE1OyBicmVhazsN Ci0rICAgIGNhc2UgMTI6IHAgPSAmcmVncy0+cjEyOyBicmVhazsNCi0rICAgIGNhc2UgMTM6IHAg PSAmcmVncy0+cjEzOyBicmVhazsNCi0rICAgIGNhc2UgMTQ6IHAgPSAmcmVncy0+cjE0OyBicmVh azsNCi0rICAgIGNhc2UgMTU6IHAgPSAmcmVncy0+cjE1OyBicmVhazsNCi0gI2VuZGlmDQotICAg ICBkZWZhdWx0OiBCVUcoKTsgcCA9IE5VTEw7IGJyZWFrOw0KLSAgICAgfQ0KLWRpZmYgLS1naXQg YS94ZW4vY29tbW9uL3dhaXQuYyBiL3hlbi9jb21tb24vd2FpdC5jDQotaW5kZXggOTQ5MGExNy4u YzVmYzA5NCAxMDA2NDQNCi0tLS0gYS94ZW4vY29tbW9uL3dhaXQuYw0KLSsrKyBiL3hlbi9jb21t b24vd2FpdC5jDQotQEAgLTEyNyw3ICsxMjcsNiBAQCBzdGF0aWMgdm9pZCBfX3ByZXBhcmVfdG9f d2FpdChzdHJ1Y3Qgd2FpdHF1ZXVlX3ZjcHUgKndxdikNCi0gICAgIHVuc2lnbmVkIGxvbmcgZHVt bXk7DQotICAgICB1MzIgZW50cnlfdmVjdG9yID0gY3B1X2luZm8tPmd1ZXN0X2NwdV91c2VyX3Jl Z3MuZW50cnlfdmVjdG9yOw0KLSANCi0tICAgIGNwdV9pbmZvLT5ndWVzdF9jcHVfdXNlcl9yZWdz LmVudHJ5X3ZlY3RvciAmPSB+VFJBUF9yZWdzX3BhcnRpYWw7DQotICAgICBBU1NFUlQod3F2LT5l c3AgPT0gMCk7DQotIA0KLSAgICAgLyogU2F2ZSBjdXJyZW50IFZDUFUgYWZmaW5pdHk7IGZvcmNl IHdha2V1cCBvbiAqdGhpcyogQ1BVIG9ubHkuICovDQotZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS14ODYvYXNtX2RlZm5zLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oDQot aW5kZXggMzg4ZmM5My4uOTgxOTJlYiAxMDA2NDQNCi0tLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L2FzbV9kZWZucy5oDQotKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaA0KLUBA IC0xNywxNSArMTcsNiBAQA0KLSB2b2lkIHJldF9mcm9tX2ludHIodm9pZCk7DQotICNlbmRpZg0K LSANCi0tI2lmZGVmIENPTkZJR19GUkFNRV9QT0lOVEVSDQotLS8qIEluZGljYXRlIHNwZWNpYWwg ZXhjZXB0aW9uIHN0YWNrIGZyYW1lIGJ5IGludmVydGluZyB0aGUgZnJhbWUgcG9pbnRlci4gKi8N Ci0tI2RlZmluZSBTRVRVUF9FWENFUFRJT05fRlJBTUVfUE9JTlRFUihvZmZzKSAgICAgXA0KLS0g ICAgICAgIGxlYXEgIG9mZnMoJXJzcCksJXJicDsgICAgICAgICAgICAgICAgICBcDQotLSAgICAg ICAgbm90cSAgJXJicA0KLS0jZWxzZQ0KLS0jZGVmaW5lIFNFVFVQX0VYQ0VQVElPTl9GUkFNRV9Q T0lOVEVSKG9mZnMpDQotLSNlbmRpZg0KLS0NCi0gI2lmbmRlZiBOREVCVUcNCi0gI2RlZmluZSBB U1NFUlRfSU5URVJSVVBUX1NUQVRVUyh4LCBtc2cpICAgICAgICAgXA0KLSAgICAgICAgIHB1c2hm OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotQEAgLTQyLDMxICszMyw2IEBA IHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsNCi0gI2RlZmluZSBBU1NFUlRfSU5URVJSVVBUU19E SVNBQkxFRCBcDQotICAgICBBU1NFUlRfSU5URVJSVVBUX1NUQVRVUyh6LCAiSU5URVJSVVBUUyBE SVNBQkxFRCIpDQotIA0KLS0vKg0KLS0gKiBUaGlzIGZsYWcgaXMgc2V0IGluIGFuIGV4Y2VwdGlv biBmcmFtZSB3aGVuIHJlZ2lzdGVycyBSMTItUjE1IGRpZCBub3QgZ2V0DQotLSAqIHNhdmVkLg0K LS0gKi8NCi0tI2RlZmluZSBfVFJBUF9yZWdzX3BhcnRpYWwgMTYNCi0tI2RlZmluZSBUUkFQX3Jl Z3NfcGFydGlhbCAgKDEgPDwgX1RSQVBfcmVnc19wYXJ0aWFsKQ0KLS0vKg0KLS0gKiBUaGlzIGZs YWcgZ2V0cyBzZXQgaW4gYW4gZXhjZXB0aW9uIGZyYW1lIHdoZW4gcmVnaXN0ZXJzIFIxMi1SMTUg cG9zc2libHkNCi0tICogZ2V0IG1vZGlmaWVkIGZyb20gdGhlaXIgb3JpZ2luYWxseSBzYXZlZCB2 YWx1ZXMgYW5kIGhlbmNlIG5lZWQgdG8gYmUNCi0tICogcmVzdG9yZWQgZXZlbiBpZiB0aGUgbm9y bWFsIGNhbGwgZmxvdyB3b3VsZCByZXN0b3JlIHJlZ2lzdGVyIHZhbHVlcy4NCi0tICoNCi0tICog VGhlIGZsYWcgYmVpbmcgc2V0IGltcGxpZXMgX1RSQVBfcmVnc19wYXJ0aWFsIHRvIGJlIHVuc2V0 LiBSZXN0b3JpbmcNCi0tICogUjEyLVIxNSB0aHVzIGlzDQotLSAqIC0gcmVxdWlyZWQgd2hlbiB0 aGlzIGZsYWcgaXMgc2V0LA0KLS0gKiAtIHNhZmUgd2hlbiBfVFJBUF9yZWdzX3BhcnRpYWwgaXMg dW5zZXQuDQotLSAqLw0KLS0jZGVmaW5lIF9UUkFQX3JlZ3NfZGlydHkgICAxNw0KLS0jZGVmaW5l IFRSQVBfcmVnc19kaXJ0eSAgICAoMSA8PCBfVFJBUF9yZWdzX2RpcnR5KQ0KLS0NCi0tI2RlZmlu ZSBtYXJrX3JlZ3NfZGlydHkocikgKHsgXA0KLS0gICAgICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyX18gPSAocik7IFwNCi0tICAgICAgICBBU1NFUlQoISgocl9fKS0+ZW50cnlfdmVjdG9yICYg VFJBUF9yZWdzX3BhcnRpYWwpKTsgXA0KLS0gICAgICAgIHJfXy0+ZW50cnlfdmVjdG9yIHw9IFRS QVBfcmVnc19kaXJ0eTsgXA0KLS19KQ0KLS0NCi0gI2lmZGVmIF9fQVNTRU1CTFlfXw0KLSAjIGRl ZmluZSBfQVNNX0VYKHApIHAtLg0KLSAjZWxzZQ0KLUBAIC0yMzYsNyArMjAyLDcgQEAgc3RhdGlj IGFsd2F5c19pbmxpbmUgdm9pZCBzdGFjKHZvaWQpDQotICNlbmRpZg0KLSANCi0gI2lmZGVmIF9f QVNTRU1CTFlfXw0KLS0ubWFjcm8gU0FWRV9BTEwgb3ANCi0rLm1hY3JvIFNBVkVfQUxMIG9wLCBj b21wYXQ9MA0KLSAuaWZlcXMgIlxvcCIsICJDTEFDIg0KLSAgICAgICAgIEFTTV9DTEFDDQotIC5l bHNlDQotQEAgLTI1NSw0MCArMjIxLDYgQEAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZCBzdGFj KHZvaWQpDQotICAgICAgICAgbW92cSAgJXJkeCxVUkVHU19yZHgoJXJzcCkNCi0gICAgICAgICBt b3ZxICAlcmN4LFVSRUdTX3JjeCglcnNwKQ0KLSAgICAgICAgIG1vdnEgICVyYXgsVVJFR1NfcmF4 KCVyc3ApDQotLSAgICAgICAgbW92cSAgJXI4LFVSRUdTX3I4KCVyc3ApDQotLSAgICAgICAgbW92 cSAgJXI5LFVSRUdTX3I5KCVyc3ApDQotLSAgICAgICAgbW92cSAgJXIxMCxVUkVHU19yMTAoJXJz cCkNCi0tICAgICAgICBtb3ZxICAlcjExLFVSRUdTX3IxMSglcnNwKQ0KLS0gICAgICAgIG1vdnEg ICVyYngsVVJFR1NfcmJ4KCVyc3ApDQotLSAgICAgICAgbW92cSAgJXJicCxVUkVHU19yYnAoJXJz cCkNCi0tICAgICAgICBTRVRVUF9FWENFUFRJT05fRlJBTUVfUE9JTlRFUihVUkVHU19yYnApDQot LSAgICAgICAgbW92cSAgJXIxMixVUkVHU19yMTIoJXJzcCkNCi0tICAgICAgICBtb3ZxICAlcjEz LFVSRUdTX3IxMyglcnNwKQ0KLS0gICAgICAgIG1vdnEgICVyMTQsVVJFR1NfcjE0KCVyc3ApDQot LSAgICAgICAgbW92cSAgJXIxNSxVUkVHU19yMTUoJXJzcCkNCi0tLmVuZG0NCi0tDQotLS8qDQot LSAqIFNhdmUgYWxsIHJlZ2lzdGVycyBub3QgcHJlc2VydmVkIGJ5IEMgY29kZSBvciB1c2VkIGlu IGVudHJ5L2V4aXQgY29kZS4gTWFyaw0KLS0gKiB0aGUgZnJhbWUgYXMgcGFydGlhbC4NCi0tICoN Ci0tICogQHR5cGU6IGV4Y2VwdGlvbiB0eXBlDQotLSAqIEBjb21wYXQ6IFI4LVIxNSBkb24ndCBu ZWVkIHNhdmluZywgYW5kIHRoZSBmcmFtZSBuZXZlcnRoZWxlc3MgaXMgY29tcGxldGUNCi0tICov DQotLS5tYWNybyBTQVZFX1ZPTEFUSUxFIHR5cGUgY29tcGF0PTANCi0tLmlmIFxjb21wYXQNCi0t ICAgICAgICBtb3ZsICAkXHR5cGUsVVJFR1NfZW50cnlfdmVjdG9yLVVSRUdTX2Vycm9yX2NvZGUo JXJzcCkNCi0tLmVsc2UNCi0tICAgICAgICBtb3ZsICAkXHR5cGV8VFJBUF9yZWdzX3BhcnRpYWws XA0KLS0gICAgICAgICAgICAgIFVSRUdTX2VudHJ5X3ZlY3Rvci1VUkVHU19lcnJvcl9jb2RlKCVy c3ApDQotLS5lbmRpZg0KLS0gICAgICAgIGFkZHEgICQtKFVSRUdTX2Vycm9yX2NvZGUtVVJFR1Nf cjE1KSwlcnNwDQotLSAgICAgICAgY2xkDQotLSAgICAgICAgbW92cSAgJXJkaSxVUkVHU19yZGko JXJzcCkNCi0tICAgICAgICBtb3ZxICAlcnNpLFVSRUdTX3JzaSglcnNwKQ0KLS0gICAgICAgIG1v dnEgICVyZHgsVVJFR1NfcmR4KCVyc3ApDQotLSAgICAgICAgbW92cSAgJXJjeCxVUkVHU19yY3go JXJzcCkNCi0tICAgICAgICBtb3ZxICAlcmF4LFVSRUdTX3JheCglcnNwKQ0KLSAuaWYgIVxjb21w YXQNCi0gICAgICAgICBtb3ZxICAlcjgsVVJFR1NfcjgoJXJzcCkNCi0gICAgICAgICBtb3ZxICAl cjksVVJFR1NfcjkoJXJzcCkNCi1AQCAtMjk3LDIwICsyMjksMTcgQEAgc3RhdGljIGFsd2F5c19p bmxpbmUgdm9pZCBzdGFjKHZvaWQpDQotIC5lbmRpZg0KLSAgICAgICAgIG1vdnEgICVyYngsVVJF R1NfcmJ4KCVyc3ApDQotICAgICAgICAgbW92cSAgJXJicCxVUkVHU19yYnAoJXJzcCkNCi0tICAg ICAgICBTRVRVUF9FWENFUFRJT05fRlJBTUVfUE9JTlRFUihVUkVHU19yYnApDQotLS5lbmRtDQot LQ0KLS0vKg0KLS0gKiBDb21wbGV0ZSBhIGZyYW1lIHBvdGVudGlhbGx5IG9ubHkgcGFydGlhbGx5 IHNhdmVkLg0KLS0gKi8NCi0tLm1hY3JvIFNBVkVfUFJFU0VSVkVEDQotLSAgICAgICAgYnRybCAg JF9UUkFQX3JlZ3NfcGFydGlhbCxVUkVHU19lbnRyeV92ZWN0b3IoJXJzcCkNCi0tICAgICAgICBq bmMgICA5ODdmDQotKyNpZmRlZiBDT05GSUdfRlJBTUVfUE9JTlRFUg0KLSsvKiBJbmRpY2F0ZSBz cGVjaWFsIGV4Y2VwdGlvbiBzdGFjayBmcmFtZSBieSBpbnZlcnRpbmcgdGhlIGZyYW1lIHBvaW50 ZXIuICovDQotKyAgICAgICAgbGVhcSAgVVJFR1NfcmJwKCVyc3ApLCAlcmJwDQotKyAgICAgICAg bm90cSAgJXJicA0KLSsjZW5kaWYNCi0rLmlmICFcY29tcGF0DQotICAgICAgICAgbW92cSAgJXIx MixVUkVHU19yMTIoJXJzcCkNCi0gICAgICAgICBtb3ZxICAlcjEzLFVSRUdTX3IxMyglcnNwKQ0K LSAgICAgICAgIG1vdnEgICVyMTQsVVJFR1NfcjE0KCVyc3ApDQotICAgICAgICAgbW92cSAgJXIx NSxVUkVHU19yMTUoJXJzcCkNCi0tOTg3Og0KLSsuZW5kaWYNCi0gLmVuZG0NCi0gDQotICNkZWZp bmUgTE9BRF9PTkVfUkVHKHJlZywgY29tcGF0KSBcDQotQEAgLTMzMCw3ICsyNTksNiBAQCBzdGF0 aWMgYWx3YXlzX2lubGluZSB2b2lkIHN0YWModm9pZCkNCi0gICovDQotIC5tYWNybyBSRVNUT1JF X0FMTCBhZGo9MCBjb21wYXQ9MA0KLSAuaWYgIVxjb21wYXQNCi0tICAgICAgICB0ZXN0bCAkVFJB UF9yZWdzX2RpcnR5LFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKQ0KLSAgICAgICAgIG1vdnEgIFVS RUdTX3IxMSglcnNwKSwlcjExDQotICAgICAgICAgbW92cSAgVVJFR1NfcjEwKCVyc3ApLCVyMTAN Ci0gICAgICAgICBtb3ZxICBVUkVHU19yOSglcnNwKSwlcjkNCi1AQCAtMzQ3LDMzICsyNzUsMTYg QEAgc3RhdGljIGFsd2F5c19pbmxpbmUgdm9pZCBzdGFjKHZvaWQpDQotICAgICAgICAgTE9BRF9P TkVfUkVHKHNpLCBcY29tcGF0KQ0KLSAgICAgICAgIExPQURfT05FX1JFRyhkaSwgXGNvbXBhdCkN Ci0gLmlmICFcY29tcGF0DQotLSAgICAgICAganogICAgOTg3Zg0KLSAgICAgICAgIG1vdnEgIFVS RUdTX3IxNSglcnNwKSwlcjE1DQotICAgICAgICAgbW92cSAgVVJFR1NfcjE0KCVyc3ApLCVyMTQN Ci0gICAgICAgICBtb3ZxICBVUkVHU19yMTMoJXJzcCksJXIxMw0KLSAgICAgICAgIG1vdnEgIFVS RUdTX3IxMiglcnNwKSwlcjEyDQotLSNpZm5kZWYgTkRFQlVHDQotLSAgICAgICAgLnN1YnNlY3Rp b24gMQ0KLS05ODc6ICAgIHRlc3RsICRUUkFQX3JlZ3NfcGFydGlhbCxVUkVHU19lbnRyeV92ZWN0 b3IoJXJzcCkNCi0tICAgICAgICBqbnogICA5ODdmDQotLSAgICAgICAgY21wcSAgVVJFR1NfcjE1 KCVyc3ApLCVyMTUNCi0tICAgICAgICBqbmUgICA3ODlmDQotLSAgICAgICAgY21wcSAgVVJFR1Nf cjE0KCVyc3ApLCVyMTQNCi0tICAgICAgICBqbmUgICA3ODlmDQotLSAgICAgICAgY21wcSAgVVJF R1NfcjEzKCVyc3ApLCVyMTMNCi0tICAgICAgICBqbmUgICA3ODlmDQotLSAgICAgICAgY21wcSAg VVJFR1NfcjEyKCVyc3ApLCVyMTINCi0tICAgICAgICBqZSAgICA5ODdmDQotLTc4OTogICAgQlVH ICAgLyogQ29ycnVwdGlvbiBvZiBwYXJ0aWFsIHJlZ2lzdGVyIHN0YXRlLiAqLw0KLS0gICAgICAg IC5zdWJzZWN0aW9uIDANCi0tI2VuZGlmDQotIC5lbHNlDQotICAgICAgICAgeG9yICVyMTUsICVy MTUNCi0gICAgICAgICB4b3IgJXIxNCwgJXIxNA0KLSAgICAgICAgIHhvciAlcjEzLCAlcjEzDQot ICAgICAgICAgeG9yICVyMTIsICVyMTINCi0gLmVuZGlmDQotLTk4NzoNCi0gICAgICAgICBMT0FE X09ORV9SRUcoYnAsIFxjb21wYXQpDQotICAgICAgICAgTE9BRF9PTkVfUkVHKGJ4LCBcY29tcGF0 KQ0KLSAgICAgICAgIHN1YnEgICQtKFVSRUdTX2Vycm9yX2NvZGUtVVJFR1NfcjE1K1xhZGopLCAl cnNwDQotLS0gDQotMi4xLjQNCi0NCi1Gcm9tIDU3ZGMxOTdjZjBkMzZjNTZiYTFkOWQzMmM2YTE0 NTRiYjUyNjA1YmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi1EYXRlOiBXZWQsIDE3IEphbiAyMDE4IDE2 OjU2OjAzICswMTAwDQotU3ViamVjdDogW1BBVENIXSB4ODYvbW06IEFsd2F5cyBzZXQgX1BBR0Vf QUNDRVNTRUQgb24gTDRlIHVwZGF0ZXMNCi0NCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KLVJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+DQotbWFzdGVyIGNvbW1pdDogYmQ2MWZlOTRiZWUwNTU2YmMyZjY0 OTk5YTRhODMxNWI5M2Y5MGYyMQ0KLW1hc3RlciBkYXRlOiAyMDE4LTAxLTE1IDEzOjUzOjE2ICsw MDAwDQotLS0tDQotIHhlbi9hcmNoL3g4Ni9wdi9tbS5oIHwgMTggKysrKysrKysrKysrKysrLS0t DQotIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KLQ0K LWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHYvbW0uaCBiL3hlbi9hcmNoL3g4Ni9wdi9tbS5o DQotaW5kZXggNzUwMmQ1My4uOTc2MjA5YiAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYvcHYv bW0uaA0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9wdi9tbS5oDQotQEAgLTE0NCw5ICsxNDQsMjEgQEAg c3RhdGljIGlubGluZSBsM19wZ2VudHJ5X3QgdW5hZGp1c3RfZ3Vlc3RfbDNlKGwzX3BnZW50cnlf dCBsM2UsDQotIHN0YXRpYyBpbmxpbmUgbDRfcGdlbnRyeV90IGFkanVzdF9ndWVzdF9sNGUobDRf cGdlbnRyeV90IGw0ZSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQ0KLSB7DQotLSAgICBpZiAoIGxpa2VseShsNGVf Z2V0X2ZsYWdzKGw0ZSkgJiBfUEFHRV9QUkVTRU5UKSAmJg0KLS0gICAgICAgICBsaWtlbHkoIWlz X3B2XzMyYml0X2RvbWFpbihkKSkgKQ0KLS0gICAgICAgIGw0ZV9hZGRfZmxhZ3MobDRlLCBfUEFH RV9VU0VSKTsNCi0rICAgIC8qDQotKyAgICAgKiBXaGVuIHNoYWRvd2luZyBhbiBMNCBiZWhpbmQg dGhlIGd1ZXN0cyBiYWNrIChlLmcuIGZvciBwZXItcGNwdQ0KLSsgICAgICogcHVycG9zZXMpLCB3 ZSBjYW5ub3QgZWZmaWNpZW50bHkgc3luYyBhY2Nlc3MgYml0IHVwZGF0ZXMgZnJvbSBoYXJkd2Fy ZQ0KLSsgICAgICogKG9uIHRoZSBzaGFkb3cgdGFibGVzKSBiYWNrIGludG8gdGhlIGd1ZXN0IHZp ZXcuDQotKyAgICAgKg0KLSsgICAgICogV2UgdGhlcmVmb3JlIHVuY29uZGl0aW9uYWxseSBzZXQg X1BBR0VfQUNDRVNTRUQgZXZlbiBpbiB0aGUgZ3Vlc3RzDQotKyAgICAgKiB2aWV3LiAgVGhpcyB3 aWxsIGFwcGVhciB0byB0aGUgZ3Vlc3QgYXMgYSBDUFUgd2hpY2ggcHJvYWN0aXZlbHkgcHVsbHMN Ci0rICAgICAqIGFsbCB2YWxpZCBMNGUncyBpbnRvIGl0cyBUTEIsIHdoaWNoIGlzIGNvbXBhdGli bGUgd2l0aCB0aGUgeDg2IEFCSS4NCi0rICAgICAqDQotKyAgICAgKiBBdCB0aGUgdGltZSBvZiB3 cml0aW5nLCBhbGwgUFYgZ3Vlc3RzIHNldCB0aGUgYWNjZXNzIGJpdCBhbnl3YXksIHNvDQotKyAg ICAgKiB0aGlzIGlzIG5vIGFjdHVhbCBjaGFuZ2UgaW4gdGhlaXIgYmVoYXZpb3VyLg0KLSsgICAg ICovDQotKyAgICBpZiAoIGxpa2VseShsNGVfZ2V0X2ZsYWdzKGw0ZSkgJiBfUEFHRV9QUkVTRU5U KSApDQotKyAgICAgICAgbDRlX2FkZF9mbGFncyhsNGUsIChfUEFHRV9BQ0NFU1NFRCB8DQotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoaXNfcHZfMzJiaXRfZG9tYWluKGQpID8gMCA6IF9Q QUdFX1VTRVIpKSk7DQotIA0KLSAgICAgcmV0dXJuIGw0ZTsNCi0gfQ0KLS0tIA0KLTIuMS40DQot DQotRnJvbSAyMzRmNDgxMzM3ZWExYTkzZGI5NjhkNjE0NjQ5YTZiZGZkYzg0MThhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQ0KLUZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N Ci1EYXRlOiBXZWQsIDE3IEphbiAyMDE4IDE2OjU2OjU3ICswMTAwDQotU3ViamVjdDogW1BBVENI XSB4ODY6IE1lbHRkb3duIGJhbmQtYWlkIGFnYWluc3QgbWFsaWNpb3VzIDY0LWJpdCBQViBndWVz dHMNCi0NCi1UaGlzIGlzIGEgdmVyeSBzaW1wbGlzdGljIGNoYW5nZSBsaW1pdGluZyB0aGUgYW1v dW50IG9mIG1lbW9yeSBhIHJ1bm5pbmcNCi02NC1iaXQgUFYgZ3Vlc3QgaGFzIG1hcHBlZCAoYW5k IGhlbmNlIGF2YWlsYWJsZSBmb3IgYXR0YWNraW5nKTogT25seSB0aGUNCi1tYXBwaW5ncyBvZiBz dGFjaywgSURULCBhbmQgVFNTIGFyZSBiZWluZyBjbG9uZWQgZnJvbSB0aGUgZGlyZWN0IG1hcA0K LWludG8gcGVyLUNQVSBwYWdlIHRhYmxlcy4gR3Vlc3QgY29udHJvbGxlZCBwYXJ0cyBvZiB0aGUg cGFnZSB0YWJsZXMgYXJlDQotYmVpbmcgY29waWVkIGludG8gdGhvc2UgcGVyLUNQVSBwYWdlIHRh YmxlcyB1cG9uIGVudHJ5IGludG8gdGhlIGd1ZXN0Lg0KLUNyb3NzLXZDUFUgc3luY2hyb25pemF0 aW9uIG9mIHRvcCBsZXZlbCBwYWdlIHRhYmxlIGVudHJ5IGNoYW5nZXMgaXMNCi1iZWluZyBlZmZl Y3RlZCBieSBmb3JjaW5nIG90aGVyIGFjdGl2ZSB2Q1BVLXMgb2YgdGhlIGd1ZXN0IGludG8gdGhl DQotaHlwZXJ2aXNvci4NCi0NCi1UaGUgY2hhbmdlIHRvIGNvbnRleHRfc3dpdGNoKCkgaXNuJ3Qg c3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQgdGhlcmUncyBubw0KLXJlYXNvbiB0byBrZWVwIHN3aXRj aGluZyBwYWdlIHRhYmxlcyBvbmNlIGEgUFYgZ3Vlc3QgaXMgYmVpbmcgc2NoZWR1bGVkDQotb3V0 Lg0KLQ0KLVRoaXMgaXNuJ3QgcHJvdmlkaW5nIGZ1bGwgaXNvbGF0aW9uIHlldCwgYnV0IGl0IHNo b3VsZCBiZSBjb3ZlcmluZyBhbGwNCi1waWVjZXMgb2YgaW5mb3JtYXRpb24gZXhwb3N1cmUgb2Yg d2hpY2ggd291bGQgb3RoZXJ3aXNlIHJlcXVpcmUgYW4gWFNBLg0KLQ0KLVRoZXJlIGlzIGNlcnRh aW5seSBtdWNoIHJvb20gZm9yIGltcHJvdmVtZW50LCBlc3BlY2lhbGx5IG9mIHBlcmZvcm1hbmNl LA0KLWhlcmUgLSBmaXJzdCBhbmQgZm9yZW1vc3Qgc3VwcHJlc3NpbmcgYWxsIHRoZSBuZWdhdGl2 ZSBlZmZlY3RzIG9uIEFNRA0KLXN5c3RlbXMuIEJ1dCBpbiB0aGUgaW50ZXJlc3Qgb2YgYmFja3Bv cnRhYmlsaXR5IChpbmNsdWRpbmcgdG8gcmVhbGx5IG9sZA0KLWh5cGVydmlzb3JzLCB3aGljaCBt YXkgbm90IGV2ZW4gaGF2ZSBhbHRlcm5hdGl2ZSBwYXRjaGluZykgYW55IHN1Y2ggaXMNCi1iZWlu ZyBsZWZ0IG91dCBoZXJlLg0KLQ0KLVNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4NCi1SZXZpZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA Y2l0cml4LmNvbT4NCi1tYXN0ZXIgY29tbWl0OiA1Nzg0ZGUzZTIwNjdlZDczZWZjMmZlNDJlNjI4 MzFlOGFlN2Y0NmM0DQotbWFzdGVyIGRhdGU6IDIwMTgtMDEtMTYgMTc6NDk6MDMgKzAxMDANCi0t LS0NCi0geGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICAgICB8ICAgNSArDQotIHhlbi9h cmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAgfCAgMjEgKysrKw0KLSB4ZW4vYXJjaC94ODYv c21wYm9vdC5jICAgICAgICAgICAgIHwgMTk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysNCi0geGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jICB8ICAgMiArDQot IHhlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMgfCAgMTEgKysrDQotIHhlbi9hcmNo L3g4Ni94ODZfNjQvZW50cnkuUyAgICAgICAgfCAxNDkgKysrKysrKysrKysrKysrKysrKysrKysr KysrLQ0KLSB4ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oICAgIHwgIDMwICsrKysrKw0K LSB4ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaCAgICAgIHwgIDEyICsrKw0KLSB4ZW4vaW5j bHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oICAgIHwgICAxICsNCi0geGVuL2luY2x1ZGUvYXNtLXg4 Ni94ODZfNjQvcGFnZS5oICB8ICAgNSArLQ0KLSAxMCBmaWxlcyBjaGFuZ2VkLCA0MjggaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCi0NCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2Rv bWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQotaW5kZXggYjQ0Yzk1Yi4uZjRhM2Q3NCAx MDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMNCi0rKysgYi94ZW4vYXJjaC94ODYv ZG9tYWluLmMNCi1AQCAtMTUwNyw2ICsxNTA3LDkgQEAgdm9pZCBwYXJhdmlydF9jdHh0X3N3aXRj aF90byhzdHJ1Y3QgdmNwdSAqdikNCi0gew0KLSAgICAgdW5zaWduZWQgbG9uZyBjcjQ7DQotIA0K LSsgICAgdGhpc19jcHUocm9vdF9wZ3QpW3Jvb3RfdGFibGVfb2Zmc2V0KFBFUkRPTUFJTl9WSVJU X1NUQVJUKV0gPQ0KLSsgICAgICAgIGw0ZV9mcm9tX3BhZ2Uodi0+ZG9tYWluLT5hcmNoLnBlcmRv bWFpbl9sM19wZywgX19QQUdFX0hZUEVSVklTT1JfUlcpOw0KLSsNCi0gICAgIGNyNCA9IHB2X2d1 ZXN0X2NyNF90b19yZWFsX2NyNCh2KTsNCi0gICAgIGlmICggdW5saWtlbHkoY3I0ICE9IHJlYWRf Y3I0KCkpICkNCi0gICAgICAgICB3cml0ZV9jcjQoY3I0KTsNCi1AQCAtMTY3Niw2ICsxNjc5LDgg QEAgdm9pZCBjb250ZXh0X3N3aXRjaChzdHJ1Y3QgdmNwdSAqcHJldiwgc3RydWN0IHZjcHUgKm5l eHQpDQotIA0KLSAgICAgQVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkpOw0KLSANCi0rICAg IGdldF9jcHVfaW5mbygpLT54ZW5fY3IzID0gMDsNCi0rDQotICAgICBjcHVtYXNrX2NvcHkoJmRp cnR5X21hc2ssIG5leHQtPnZjcHVfZGlydHlfY3B1bWFzayk7DQotICAgICAvKiBBbGxvdyBhdCBt b3N0IG9uZSBDUFUgYXQgYSB0aW1lIHRvIGJlIGRpcnR5LiAqLw0KLSAgICAgQVNTRVJUKGNwdW1h c2tfd2VpZ2h0KCZkaXJ0eV9tYXNrKSA8PSAxKTsNCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYw0KLWluZGV4IGE3YTc2YTcuLjZjN2QxMjAgMTAwNjQ0 DQotLS0tIGEveGVuL2FyY2gveDg2L21tLmMNCi0rKysgYi94ZW4vYXJjaC94ODYvbW0uYw0KLUBA IC0zNTA5LDYgKzM1MDksNyBAQCBsb25nIGRvX21tdV91cGRhdGUoDQotICAgICBzdHJ1Y3QgdmNw dSAqY3VyciA9IGN1cnJlbnQsICp2ID0gY3VycjsNCi0gICAgIHN0cnVjdCBkb21haW4gKmQgPSB2 LT5kb21haW4sICpwdF9vd25lciA9IGQsICpwZ19vd25lcjsNCi0gICAgIG1mbl90IG1hcF9tZm4g PSBJTlZBTElEX01GTjsNCi0rICAgIGJvb2wgc3luY19ndWVzdCA9IGZhbHNlOw0KLSAgICAgdWlu dDMyX3QgeHNtX25lZWRlZCA9IDA7DQotICAgICB1aW50MzJfdCB4c21fY2hlY2tlZCA9IDA7DQot ICAgICBpbnQgcmMgPSBwdXRfb2xkX2d1ZXN0X3RhYmxlKGN1cnIpOw0KLUBAIC0zNjYzLDYgKzM2 NjQsOCBAQCBsb25nIGRvX21tdV91cGRhdGUoDQotICAgICAgICAgICAgICAgICBjYXNlIFBHVF9s NF9wYWdlX3RhYmxlOg0KLSAgICAgICAgICAgICAgICAgICAgIHJjID0gbW9kX2w0X2VudHJ5KHZh LCBsNGVfZnJvbV9pbnRwdGUocmVxLnZhbCksIG1mbiwNCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjbWQgPT0gTU1VX1BUX1VQREFURV9QUkVTRVJWRV9BRCwgdik7DQot KyAgICAgICAgICAgICAgICAgICAgaWYgKCAhcmMgKQ0KLSsgICAgICAgICAgICAgICAgICAgICAg ICBzeW5jX2d1ZXN0ID0gdHJ1ZTsNCi0gICAgICAgICAgICAgICAgICAgICBicmVhazsNCi0gICAg ICAgICAgICAgICAgIGNhc2UgUEdUX3dyaXRhYmxlX3BhZ2U6DQotICAgICAgICAgICAgICAgICAg ICAgcGVyZmNfaW5jcih3cml0YWJsZV9tbXVfdXBkYXRlcyk7DQotQEAgLTM3NjUsNiArMzc2OCwy NCBAQCBsb25nIGRvX21tdV91cGRhdGUoDQotICAgICBpZiAoIHZhICkNCi0gICAgICAgICB1bm1h cF9kb21haW5fcGFnZSh2YSk7DQotIA0KLSsgICAgaWYgKCBzeW5jX2d1ZXN0ICkNCi0rICAgIHsN Ci0rICAgICAgICAvKg0KLSsgICAgICAgICAqIEZvcmNlIG90aGVyIHZDUFUtcyBvZiB0aGUgYWZm ZWN0ZWQgZ3Vlc3QgdG8gcGljayB1cCBMNCBlbnRyeQ0KLSsgICAgICAgICAqIGNoYW5nZXMgKGlm IGFueSkuIElzc3VlIGEgZmx1c2ggSVBJIHdpdGggZW1wdHkgb3BlcmF0aW9uIG1hc2sgdG8NCi0r ICAgICAgICAgKiBmYWNpbGl0YXRlIHRoaXMgKGluY2x1ZGluZyBvdXJzZWx2ZXMgd2FpdGluZyBm b3IgdGhlIElQSSB0bw0KLSsgICAgICAgICAqIGFjdHVhbGx5IGhhdmUgYXJyaXZlZCkuIFV0aWxp emUgdGhlIGZhY3QgdGhhdCBGTFVTSF9WQV9WQUxJRCBpcw0KLSsgICAgICAgICAqIG1lYW5pbmds ZXNzIHdpdGhvdXQgRkxVU0hfQ0FDSEUsIGJ1dCB3aWxsIGFsbG93IHRvIHBhc3MgdGhlIG5vLW9w DQotKyAgICAgICAgICogY2hlY2sgaW4gZmx1c2hfYXJlYV9tYXNrKCkuDQotKyAgICAgICAgICov DQotKyAgICAgICAgdW5zaWduZWQgaW50IGNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsNCi0rICAg ICAgICBjcHVtYXNrX3QgKm1hc2sgPSBwZXJfY3B1KHNjcmF0Y2hfY3B1bWFzaywgY3B1KTsNCi0r DQotKyAgICAgICAgY3B1bWFza19hbmRub3QobWFzaywgcHRfb3duZXItPmRvbWFpbl9kaXJ0eV9j cHVtYXNrLCBjcHVtYXNrX29mKGNwdSkpOw0KLSsgICAgICAgIGlmICggIWNwdW1hc2tfZW1wdHko bWFzaykgKQ0KLSsgICAgICAgICAgICBmbHVzaF9hcmVhX21hc2sobWFzaywgWkVST19CTE9DS19Q VFIsIEZMVVNIX1ZBX1ZBTElEKTsNCi0rICAgIH0NCi0rDQotICAgICBwZXJmY19hZGQobnVtX3Bh Z2VfdXBkYXRlcywgaSk7DQotIA0KLSAgb3V0Og0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv c21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYw0KLWluZGV4IDE2MDliNjIuLmIxZmJi NTcgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYw0KLSsrKyBiL3hlbi9hcmNo L3g4Ni9zbXBib290LmMNCi1AQCAtMzI3LDYgKzMyNyw5IEBAIHZvaWQgc3RhcnRfc2Vjb25kYXJ5 KHZvaWQgKnVudXNlZCkNCi0gICAgICAqLw0KLSAgICAgc3Bpbl9kZWJ1Z19kaXNhYmxlKCk7DQot IA0KLSsgICAgZ2V0X2NwdV9pbmZvKCktPnhlbl9jcjMgPSAwOw0KLSsgICAgZ2V0X2NwdV9pbmZv KCktPnB2X2NyMyA9IF9fcGEodGhpc19jcHUocm9vdF9wZ3QpKTsNCi0rDQotICAgICBsb2FkX3N5 c3RlbV90YWJsZXMoKTsNCi0gDQotICAgICAvKiBGdWxsIGV4Y2VwdGlvbiBzdXBwb3J0IGZyb20g aGVyZSBvbiBpbi4gKi8NCi1AQCAtNjM1LDYgKzYzOCwxODcgQEAgdm9pZCBjcHVfZXhpdF9jbGVh cih1bnNpZ25lZCBpbnQgY3B1KQ0KLSAgICAgc2V0X2NwdV9zdGF0ZShDUFVfU1RBVEVfREVBRCk7 DQotIH0NCi0gDQotK3N0YXRpYyBpbnQgY2xvbmVfbWFwcGluZyhjb25zdCB2b2lkICpwdHIsIHJv b3RfcGdlbnRyeV90ICpycHQpDQotK3sNCi0rICAgIHVuc2lnbmVkIGxvbmcgbGluZWFyID0gKHVu c2lnbmVkIGxvbmcpcHRyLCBwZm47DQotKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7DQotKyAgICBs M19wZ2VudHJ5X3QgKnBsM2UgPSBsNGVfdG9fbDNlKGlkbGVfcGdfdGFibGVbcm9vdF90YWJsZV9v ZmZzZXQobGluZWFyKV0pICsNCi0rICAgICAgICAgICAgICAgICAgICAgICAgIGwzX3RhYmxlX29m ZnNldChsaW5lYXIpOw0KLSsgICAgbDJfcGdlbnRyeV90ICpwbDJlOw0KLSsgICAgbDFfcGdlbnRy eV90ICpwbDFlOw0KLSsNCi0rICAgIGlmICggbGluZWFyIDwgRElSRUNUTUFQX1ZJUlRfU1RBUlQg KQ0KLSsgICAgICAgIHJldHVybiAwOw0KLSsNCi0rICAgIGZsYWdzID0gbDNlX2dldF9mbGFncygq cGwzZSk7DQotKyAgICBBU1NFUlQoZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKTsNCi0rICAgIGlmICgg ZmxhZ3MgJiBfUEFHRV9QU0UgKQ0KLSsgICAgew0KLSsgICAgICAgIHBmbiA9IChsM2VfZ2V0X3Bm bigqcGwzZSkgJiB+KCgxVUwgPDwgKDIgKiBQQUdFVEFCTEVfT1JERVIpKSAtIDEpKSB8DQotKyAg ICAgICAgICAgICAgKFBGTl9ET1dOKGxpbmVhcikgJiAoKDFVTCA8PCAoMiAqIFBBR0VUQUJMRV9P UkRFUikpIC0gMSkpOw0KLSsgICAgICAgIGZsYWdzICY9IH5fUEFHRV9QU0U7DQotKyAgICB9DQot KyAgICBlbHNlDQotKyAgICB7DQotKyAgICAgICAgcGwyZSA9IGwzZV90b19sMmUoKnBsM2UpICsg bDJfdGFibGVfb2Zmc2V0KGxpbmVhcik7DQotKyAgICAgICAgZmxhZ3MgPSBsMmVfZ2V0X2ZsYWdz KCpwbDJlKTsNCi0rICAgICAgICBBU1NFUlQoZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKTsNCi0rICAg ICAgICBpZiAoIGZsYWdzICYgX1BBR0VfUFNFICkNCi0rICAgICAgICB7DQotKyAgICAgICAgICAg IHBmbiA9IChsMmVfZ2V0X3BmbigqcGwyZSkgJiB+KCgxVUwgPDwgUEFHRVRBQkxFX09SREVSKSAt IDEpKSB8DQotKyAgICAgICAgICAgICAgICAgIChQRk5fRE9XTihsaW5lYXIpICYgKCgxVUwgPDwg UEFHRVRBQkxFX09SREVSKSAtIDEpKTsNCi0rICAgICAgICAgICAgZmxhZ3MgJj0gfl9QQUdFX1BT RTsNCi0rICAgICAgICB9DQotKyAgICAgICAgZWxzZQ0KLSsgICAgICAgIHsNCi0rICAgICAgICAg ICAgcGwxZSA9IGwyZV90b19sMWUoKnBsMmUpICsgbDFfdGFibGVfb2Zmc2V0KGxpbmVhcik7DQot KyAgICAgICAgICAgIGZsYWdzID0gbDFlX2dldF9mbGFncygqcGwxZSk7DQotKyAgICAgICAgICAg IGlmICggIShmbGFncyAmIF9QQUdFX1BSRVNFTlQpICkNCi0rICAgICAgICAgICAgICAgIHJldHVy biAwOw0KLSsgICAgICAgICAgICBwZm4gPSBsMWVfZ2V0X3BmbigqcGwxZSk7DQotKyAgICAgICAg fQ0KLSsgICAgfQ0KLSsNCi0rICAgIGlmICggIShyb290X2dldF9mbGFncyhycHRbcm9vdF90YWJs ZV9vZmZzZXQobGluZWFyKV0pICYgX1BBR0VfUFJFU0VOVCkgKQ0KLSsgICAgew0KLSsgICAgICAg IHBsM2UgPSBhbGxvY194ZW5fcGFnZXRhYmxlKCk7DQotKyAgICAgICAgaWYgKCAhcGwzZSApDQot KyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KLSsgICAgICAgIGNsZWFyX3BhZ2UocGwzZSk7 DQotKyAgICAgICAgbDRlX3dyaXRlKCZycHRbcm9vdF90YWJsZV9vZmZzZXQobGluZWFyKV0sDQot KyAgICAgICAgICAgICAgICAgIGw0ZV9mcm9tX3BhZGRyKF9fcGEocGwzZSksIF9fUEFHRV9IWVBF UlZJU09SKSk7DQotKyAgICB9DQotKyAgICBlbHNlDQotKyAgICAgICAgcGwzZSA9IGw0ZV90b19s M2UocnB0W3Jvb3RfdGFibGVfb2Zmc2V0KGxpbmVhcildKTsNCi0rDQotKyAgICBwbDNlICs9IGwz X3RhYmxlX29mZnNldChsaW5lYXIpOw0KLSsNCi0rICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKCpw bDNlKSAmIF9QQUdFX1BSRVNFTlQpICkNCi0rICAgIHsNCi0rICAgICAgICBwbDJlID0gYWxsb2Nf eGVuX3BhZ2V0YWJsZSgpOw0KLSsgICAgICAgIGlmICggIXBsMmUgKQ0KLSsgICAgICAgICAgICBy ZXR1cm4gLUVOT01FTTsNCi0rICAgICAgICBjbGVhcl9wYWdlKHBsMmUpOw0KLSsgICAgICAgIGwz ZV93cml0ZShwbDNlLCBsM2VfZnJvbV9wYWRkcihfX3BhKHBsMmUpLCBfX1BBR0VfSFlQRVJWSVNP UikpOw0KLSsgICAgfQ0KLSsgICAgZWxzZQ0KLSsgICAgew0KLSsgICAgICAgIEFTU0VSVCghKGwz ZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BBR0VfUFNFKSk7DQotKyAgICAgICAgcGwyZSA9IGwzZV90 b19sMmUoKnBsM2UpOw0KLSsgICAgfQ0KLSsNCi0rICAgIHBsMmUgKz0gbDJfdGFibGVfb2Zmc2V0 KGxpbmVhcik7DQotKw0KLSsgICAgaWYgKCAhKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0Vf UFJFU0VOVCkgKQ0KLSsgICAgew0KLSsgICAgICAgIHBsMWUgPSBhbGxvY194ZW5fcGFnZXRhYmxl KCk7DQotKyAgICAgICAgaWYgKCAhcGwxZSApDQotKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Ow0KLSsgICAgICAgIGNsZWFyX3BhZ2UocGwxZSk7DQotKyAgICAgICAgbDJlX3dyaXRlKHBsMmUs IGwyZV9mcm9tX3BhZGRyKF9fcGEocGwxZSksIF9fUEFHRV9IWVBFUlZJU09SKSk7DQotKyAgICB9 DQotKyAgICBlbHNlDQotKyAgICB7DQotKyAgICAgICAgQVNTRVJUKCEobDJlX2dldF9mbGFncygq cGwyZSkgJiBfUEFHRV9QU0UpKTsNCi0rICAgICAgICBwbDFlID0gbDJlX3RvX2wxZSgqcGwyZSk7 DQotKyAgICB9DQotKw0KLSsgICAgcGwxZSArPSBsMV90YWJsZV9vZmZzZXQobGluZWFyKTsNCi0r DQotKyAgICBpZiAoIGwxZV9nZXRfZmxhZ3MoKnBsMWUpICYgX1BBR0VfUFJFU0VOVCApDQotKyAg ICB7DQotKyAgICAgICAgQVNTRVJUKGwxZV9nZXRfcGZuKCpwbDFlKSA9PSBwZm4pOw0KLSsgICAg ICAgIEFTU0VSVChsMWVfZ2V0X2ZsYWdzKCpwbDFlKSA9PSBmbGFncyk7DQotKyAgICB9DQotKyAg ICBlbHNlDQotKyAgICAgICAgbDFlX3dyaXRlKHBsMWUsIGwxZV9mcm9tX3BmbihwZm4sIGZsYWdz KSk7DQotKw0KLSsgICAgcmV0dXJuIDA7DQotK30NCi0rDQotK0RFRklORV9QRVJfQ1BVKHJvb3Rf cGdlbnRyeV90ICosIHJvb3RfcGd0KTsNCi0rDQotK3N0YXRpYyBpbnQgc2V0dXBfY3B1X3Jvb3Rf cGd0KHVuc2lnbmVkIGludCBjcHUpDQotK3sNCi0rICAgIHJvb3RfcGdlbnRyeV90ICpycHQgPSBh bGxvY194ZW5fcGFnZXRhYmxlKCk7DQotKyAgICB1bnNpZ25lZCBpbnQgb2ZmOw0KLSsgICAgaW50 IHJjOw0KLSsNCi0rICAgIGlmICggIXJwdCApDQotKyAgICAgICAgcmV0dXJuIC1FTk9NRU07DQot Kw0KLSsgICAgY2xlYXJfcGFnZShycHQpOw0KLSsgICAgcGVyX2NwdShyb290X3BndCwgY3B1KSA9 IHJwdDsNCi0rDQotKyAgICBycHRbcm9vdF90YWJsZV9vZmZzZXQoUk9fTVBUX1ZJUlRfU1RBUlQp XSA9DQotKyAgICAgICAgaWRsZV9wZ190YWJsZVtyb290X3RhYmxlX29mZnNldChST19NUFRfVklS VF9TVEFSVCldOw0KLSsgICAgLyogU0hfTElORUFSX1BUIGluc2VydGVkIHRvZ2V0aGVyIHdpdGgg Z3Vlc3QgbWFwcGluZ3MuICovDQotKyAgICAvKiBQRVJET01BSU4gaW5zZXJ0ZWQgZHVyaW5nIGNv bnRleHQgc3dpdGNoLiAqLw0KLSsgICAgcnB0W3Jvb3RfdGFibGVfb2Zmc2V0KFhFTl9WSVJUX1NU QVJUKV0gPQ0KLSsgICAgICAgIGlkbGVfcGdfdGFibGVbcm9vdF90YWJsZV9vZmZzZXQoWEVOX1ZJ UlRfU1RBUlQpXTsNCi0rDQotKyAgICAvKiBJbnN0YWxsIGRpcmVjdCBtYXAgcGFnZSB0YWJsZSBl bnRyaWVzIGZvciBzdGFjaywgSURULCBhbmQgVFNTLiAqLw0KLSsgICAgZm9yICggb2ZmID0gcmMg PSAwOyAhcmMgJiYgb2ZmIDwgU1RBQ0tfU0laRTsgb2ZmICs9IFBBR0VfU0laRSApDQotKyAgICAg ICAgcmMgPSBjbG9uZV9tYXBwaW5nKF9fdmEoX19wYShzdGFja19iYXNlW2NwdV0pKSArIG9mZiwg cnB0KTsNCi0rDQotKyAgICBpZiAoICFyYyApDQotKyAgICAgICAgcmMgPSBjbG9uZV9tYXBwaW5n KGlkdF90YWJsZXNbY3B1XSwgcnB0KTsNCi0rICAgIGlmICggIXJjICkNCi0rICAgICAgICByYyA9 IGNsb25lX21hcHBpbmcoJnBlcl9jcHUoaW5pdF90c3MsIGNwdSksIHJwdCk7DQotKw0KLSsgICAg cmV0dXJuIHJjOw0KLSt9DQotKw0KLStzdGF0aWMgdm9pZCBjbGVhbnVwX2NwdV9yb290X3BndCh1 bnNpZ25lZCBpbnQgY3B1KQ0KLSt7DQotKyAgICByb290X3BnZW50cnlfdCAqcnB0ID0gcGVyX2Nw dShyb290X3BndCwgY3B1KTsNCi0rICAgIHVuc2lnbmVkIGludCByOw0KLSsNCi0rICAgIGlmICgg IXJwdCApDQotKyAgICAgICAgcmV0dXJuOw0KLSsNCi0rICAgIHBlcl9jcHUocm9vdF9wZ3QsIGNw dSkgPSBOVUxMOw0KLSsNCi0rICAgIGZvciAoIHIgPSByb290X3RhYmxlX29mZnNldChESVJFQ1RN QVBfVklSVF9TVEFSVCk7DQotKyAgICAgICAgICByIDwgcm9vdF90YWJsZV9vZmZzZXQoSFlQRVJW SVNPUl9WSVJUX0VORCk7ICsrciApDQotKyAgICB7DQotKyAgICAgICAgbDNfcGdlbnRyeV90ICps M3Q7DQotKyAgICAgICAgdW5zaWduZWQgaW50IGkzOw0KLSsNCi0rICAgICAgICBpZiAoICEocm9v dF9nZXRfZmxhZ3MocnB0W3JdKSAmIF9QQUdFX1BSRVNFTlQpICkNCi0rICAgICAgICAgICAgY29u dGludWU7DQotKw0KLSsgICAgICAgIGwzdCA9IGw0ZV90b19sM2UocnB0W3JdKTsNCi0rDQotKyAg ICAgICAgZm9yICggaTMgPSAwOyBpMyA8IEwzX1BBR0VUQUJMRV9FTlRSSUVTOyArK2kzICkNCi0r ICAgICAgICB7DQotKyAgICAgICAgICAgIGwyX3BnZW50cnlfdCAqbDJ0Ow0KLSsgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgaTI7DQotKw0KLSsgICAgICAgICAgICBpZiAoICEobDNlX2dldF9mbGFn cyhsM3RbaTNdKSAmIF9QQUdFX1BSRVNFTlQpICkNCi0rICAgICAgICAgICAgICAgIGNvbnRpbnVl Ow0KLSsNCi0rICAgICAgICAgICAgQVNTRVJUKCEobDNlX2dldF9mbGFncyhsM3RbaTNdKSAmIF9Q QUdFX1BTRSkpOw0KLSsgICAgICAgICAgICBsMnQgPSBsM2VfdG9fbDJlKGwzdFtpM10pOw0KLSsN Ci0rICAgICAgICAgICAgZm9yICggaTIgPSAwOyBpMiA8IEwyX1BBR0VUQUJMRV9FTlRSSUVTOyAr K2kyICkNCi0rICAgICAgICAgICAgew0KLSsgICAgICAgICAgICAgICAgaWYgKCAhKGwyZV9nZXRf ZmxhZ3MobDJ0W2kyXSkgJiBfUEFHRV9QUkVTRU5UKSApDQotKyAgICAgICAgICAgICAgICAgICAg Y29udGludWU7DQotKw0KLSsgICAgICAgICAgICAgICAgQVNTRVJUKCEobDJlX2dldF9mbGFncyhs MnRbaTJdKSAmIF9QQUdFX1BTRSkpOw0KLSsgICAgICAgICAgICAgICAgZnJlZV94ZW5fcGFnZXRh YmxlKGwyZV90b19sMWUobDJ0W2kyXSkpOw0KLSsgICAgICAgICAgICB9DQotKw0KLSsgICAgICAg ICAgICBmcmVlX3hlbl9wYWdldGFibGUobDJ0KTsNCi0rICAgICAgICB9DQotKw0KLSsgICAgICAg IGZyZWVfeGVuX3BhZ2V0YWJsZShsM3QpOw0KLSsgICAgfQ0KLSsNCi0rICAgIGZyZWVfeGVuX3Bh Z2V0YWJsZShycHQpOw0KLSt9DQotKw0KLSBzdGF0aWMgdm9pZCBjcHVfc21wYm9vdF9mcmVlKHVu c2lnbmVkIGludCBjcHUpDQotIHsNCi0gICAgIHVuc2lnbmVkIGludCBvcmRlciwgc29ja2V0ID0g Y3B1X3RvX3NvY2tldChjcHUpOw0KLUBAIC02NzMsNiArODU3LDggQEAgc3RhdGljIHZvaWQgY3B1 X3NtcGJvb3RfZnJlZSh1bnNpZ25lZCBpbnQgY3B1KQ0KLSAgICAgICAgICAgICBmcmVlX2RvbWhl YXBfcGFnZShtZm5fdG9fcGFnZShtZm4pKTsNCi0gICAgIH0NCi0gDQotKyAgICBjbGVhbnVwX2Nw dV9yb290X3BndChjcHUpOw0KLSsNCi0gICAgIG9yZGVyID0gZ2V0X29yZGVyX2Zyb21fcGFnZXMo TlJfUkVTRVJWRURfR0RUX1BBR0VTKTsNCi0gICAgIGZyZWVfeGVuaGVhcF9wYWdlcyhwZXJfY3B1 KGdkdF90YWJsZSwgY3B1KSwgb3JkZXIpOw0KLSANCi1AQCAtNzI4LDYgKzkxNCw5IEBAIHN0YXRp YyBpbnQgY3B1X3NtcGJvb3RfYWxsb2ModW5zaWduZWQgaW50IGNwdSkNCi0gICAgIHNldF9pc3Qo JmlkdF90YWJsZXNbY3B1XVtUUkFQX25taV0sICAgICAgICAgICBJU1RfTk9ORSk7DQotICAgICBz ZXRfaXN0KCZpZHRfdGFibGVzW2NwdV1bVFJBUF9tYWNoaW5lX2NoZWNrXSwgSVNUX05PTkUpOw0K LSANCi0rICAgIGlmICggc2V0dXBfY3B1X3Jvb3RfcGd0KGNwdSkgKQ0KLSsgICAgICAgIGdvdG8g b29tOw0KLSsNCi0gICAgIGZvciAoIHN0dWJfcGFnZSA9IDAsIGkgPSBjcHUgJiB+KFNUVUJTX1BF Ul9QQUdFIC0gMSk7DQotICAgICAgICAgICBpIDwgbnJfY3B1X2lkcyAmJiBpIDw9IChjcHUgfCAo U1RVQlNfUEVSX1BBR0UgLSAxKSk7ICsraSApDQotICAgICAgICAgaWYgKCBjcHVfb25saW5lKGkp ICYmIGNwdV90b19ub2RlKGkpID09IG5vZGUgKQ0KLUBAIC03ODMsNiArOTcyLDggQEAgc3RhdGlj IHN0cnVjdCBub3RpZmllcl9ibG9jayBjcHVfc21wYm9vdF9uZmIgPSB7DQotIA0KLSB2b2lkIF9f aW5pdCBzbXBfcHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cykNCi0gew0KLSsgICAg aW50IHJjOw0KLSsNCi0gICAgIHJlZ2lzdGVyX2NwdV9ub3RpZmllcigmY3B1X3NtcGJvb3RfbmZi KTsNCi0gDQotICAgICBtdHJyX2Fwc19zeW5jX2JlZ2luKCk7DQotQEAgLTc5Niw2ICs5ODcsMTEg QEAgdm9pZCBfX2luaXQgc21wX3ByZXBhcmVfY3B1cyh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpDQot IA0KLSAgICAgc3RhY2tfYmFzZVswXSA9IHN0YWNrX3N0YXJ0Ow0KLSANCi0rICAgIHJjID0gc2V0 dXBfY3B1X3Jvb3RfcGd0KDApOw0KLSsgICAgaWYgKCByYyApDQotKyAgICAgICAgcGFuaWMoIkVy cm9yICVkIHNldHRpbmcgdXAgUFYgcm9vdCBwYWdlIHRhYmxlXG4iLCByYyk7DQotKyAgICBnZXRf Y3B1X2luZm8oKS0+cHZfY3IzID0gX19wYShwZXJfY3B1KHJvb3RfcGd0LCAwKSk7DQotKw0KLSAg ICAgc2V0X25yX3NvY2tldHMoKTsNCi0gDQotICAgICBzb2NrZXRfY3B1bWFzayA9IHh6YWxsb2Nf YXJyYXkoY3B1bWFza190ICosIG5yX3NvY2tldHMpOw0KLUBAIC04NjQsNiArMTA2MCw4IEBAIHZv aWQgX19pbml0IHNtcF9wcmVwYXJlX2Jvb3RfY3B1KHZvaWQpDQotICNpZiBOUl9DUFVTID4gMiAq IEJJVFNfUEVSX0xPTkcNCi0gICAgIHBlcl9jcHUoc2NyYXRjaF9jcHVtYXNrLCBjcHUpID0gJnNj cmF0Y2hfY3B1MG1hc2s7DQotICNlbmRpZg0KLSsNCi0rICAgIGdldF9jcHVfaW5mbygpLT54ZW5f Y3IzID0gMDsNCi0gfQ0KLSANCi0gc3RhdGljIHZvaWQNCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0 cy5jDQotaW5kZXggZTEzNmFmNi4uYjFhNDMxMCAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94ODYv eDg2XzY0L2FzbS1vZmZzZXRzLmMNCi0rKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZz ZXRzLmMNCi1AQCAtMTM3LDYgKzEzNyw4IEBAIHZvaWQgX19kdW1teV9fKHZvaWQpDQotICAgICBP RkZTRVQoQ1BVSU5GT19wcm9jZXNzb3JfaWQsIHN0cnVjdCBjcHVfaW5mbywgcHJvY2Vzc29yX2lk KTsNCi0gICAgIE9GRlNFVChDUFVJTkZPX2N1cnJlbnRfdmNwdSwgc3RydWN0IGNwdV9pbmZvLCBj dXJyZW50X3ZjcHUpOw0KLSAgICAgT0ZGU0VUKENQVUlORk9fY3I0LCBzdHJ1Y3QgY3B1X2luZm8s IGNyNCk7DQotKyAgICBPRkZTRVQoQ1BVSU5GT194ZW5fY3IzLCBzdHJ1Y3QgY3B1X2luZm8sIHhl bl9jcjMpOw0KLSsgICAgT0ZGU0VUKENQVUlORk9fcHZfY3IzLCBzdHJ1Y3QgY3B1X2luZm8sIHB2 X2NyMyk7DQotICAgICBERUZJTkUoQ1BVSU5GT19zaXplb2YsIHNpemVvZihzdHJ1Y3QgY3B1X2lu Zm8pKTsNCi0gICAgIEJMQU5LKCk7DQotIA0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2 XzY0L2NvbXBhdC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUw0K LWluZGV4IDNmZWE1NGUuLmU2NjhmMDAgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82 NC9jb21wYXQvZW50cnkuUw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5 LlMNCi1AQCAtMTk5LDYgKzE5OSwxNyBAQCBFTlRSWShjc3Rhcl9lbnRlcikNCi0gICAgICAgICBw dXNocSAkMA0KLSAgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJzcCkNCi0gICAgICAg ICBTQVZFX0FMTA0KLSsNCi0rICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQ0KLSsgICAgICAgIG1v diAgIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCksICVyY3gNCi0rICAgICAgICBu ZWcgICAlcmN4DQotKyAgICAgICAganogICAgLkxjc3Rhcl9jcjNfb2theQ0KLSsgICAgICAgIG1v diAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkNCi0rICAgICAgICBu ZWcgICAlcmN4DQotKyAgICAgICAgd3JpdGVfY3IzIHJjeCwgcmRpLCByc2kNCi0rICAgICAgICBt b3ZxICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQ0KLSsuTGNzdGFyX2Ny M19va2F5Og0KLSsNCi0gICAgICAgICBHRVRfQ1VSUkVOVChieCkNCi0gICAgICAgICBtb3ZxICBW Q1BVX2RvbWFpbiglcmJ4KSwlcmN4DQotICAgICAgICAgY21wYiAgJDAsRE9NQUlOX2lzXzMyYml0 X3B2KCVyY3gpDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyBiL3hl bi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUw0KLWluZGV4IDFkZDljY2YuLmZjMzg4NzQgMTAwNjQ0 DQotLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQotKysrIGIveGVuL2FyY2gveDg2 L3g4Nl82NC9lbnRyeS5TDQotQEAgLTM3LDYgKzM3LDMyIEBAIEVOVFJZKHN3aXRjaF90b19rZXJu ZWwpDQotIC8qICVyYng6IHN0cnVjdCB2Y3B1LCBpbnRlcnJ1cHRzIGRpc2FibGVkICovDQotIHJl c3RvcmVfYWxsX2d1ZXN0Og0KLSAgICAgICAgIEFTU0VSVF9JTlRFUlJVUFRTX0RJU0FCTEVEDQot Kw0KLSsgICAgICAgIC8qIENvcHkgZ3Vlc3QgbWFwcGluZ3MgYW5kIHN3aXRjaCB0byBwZXItQ1BV IHJvb3QgcGFnZSB0YWJsZS4gKi8NCi0rICAgICAgICBtb3YgICAlY3IzLCAlcjkNCi0rICAgICAg ICBHRVRfU1RBQ0tfRU5EKGR4KQ0KLSsgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9fRklFTEQo cHZfY3IzKSglcmR4KSwgJXJkaQ0KLSsgICAgICAgIG1vdmFicyAkUEFERFJfTUFTSyAmIFBBR0Vf TUFTSywgJXJzaQ0KLSsgICAgICAgIG1vdmFicyAkRElSRUNUTUFQX1ZJUlRfU1RBUlQsICVyY3gN Ci0rICAgICAgICBtb3YgICAlcmRpLCAlcmF4DQotKyAgICAgICAgYW5kICAgJXJzaSwgJXJkaQ0K LSsgICAgICAgIGFuZCAgICVyOSwgJXJzaQ0KLSsgICAgICAgIGFkZCAgICVyY3gsICVyZGkNCi0r ICAgICAgICBhZGQgICAlcmN4LCAlcnNpDQotKyAgICAgICAgbW92ICAgJFJPT1RfUEFHRVRBQkxF X0ZJUlNUX1hFTl9TTE9ULCAlZWN4DQotKyAgICAgICAgbW92ICAgcm9vdF90YWJsZV9vZmZzZXQo U0hfTElORUFSX1BUX1ZJUlRfU1RBUlQpKjgoJXJzaSksICVyOA0KLSsgICAgICAgIG1vdiAgICVy OCwgcm9vdF90YWJsZV9vZmZzZXQoU0hfTElORUFSX1BUX1ZJUlRfU1RBUlQpKjgoJXJkaSkNCi0r ICAgICAgICByZXAgbW92c3ENCi0rICAgICAgICBtb3YgICAkUk9PVF9QQUdFVEFCTEVfRU5UUklF UyAtIFwNCi0rICAgICAgICAgICAgICAgUk9PVF9QQUdFVEFCTEVfTEFTVF9YRU5fU0xPVCAtIDEs ICVlY3gNCi0rICAgICAgICBzdWIgICAkKFJPT1RfUEFHRVRBQkxFX0ZJUlNUX1hFTl9TTE9UIC0g XA0KLSsgICAgICAgICAgICAgICAgUk9PVF9QQUdFVEFCTEVfTEFTVF9YRU5fU0xPVCAtIDEpICog OCwgJXJzaQ0KLSsgICAgICAgIHN1YiAgICQoUk9PVF9QQUdFVEFCTEVfRklSU1RfWEVOX1NMT1Qg LSBcDQotKyAgICAgICAgICAgICAgICBST09UX1BBR0VUQUJMRV9MQVNUX1hFTl9TTE9UIC0gMSkg KiA4LCAlcmRpDQotKyAgICAgICAgcmVwIG1vdnNxDQotKyAgICAgICAgbW92ICAgJXI5LCBTVEFD S19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyZHgpDQotKyAgICAgICAgd3JpdGVfY3IzIHJheCwg cmRpLCByc2kNCi0rDQotICAgICAgICAgUkVTVE9SRV9BTEwNCi0gICAgICAgICB0ZXN0dyAkVFJB UF9zeXNjYWxsLDQoJXJzcCkNCi0gICAgICAgICBqeiAgICBpcmV0X2V4aXRfdG9fZ3Vlc3QNCi1A QCAtNzEsNiArOTcsMjIgQEAgaXJldF9leGl0X3RvX2d1ZXN0Og0KLSAgICAgICAgIEFMSUdODQot IC8qIE5vIHNwZWNpYWwgcmVnaXN0ZXIgYXNzdW1wdGlvbnMuICovDQotIHJlc3RvcmVfYWxsX3hl bjoNCi0rICAgICAgICAvKg0KLSsgICAgICAgICAqIENoZWNrIHdoZXRoZXIgd2UgbmVlZCB0byBz d2l0Y2ggdG8gdGhlIHBlci1DUFUgcGFnZSB0YWJsZXMsIGluDQotKyAgICAgICAgICogY2FzZSB3 ZSByZXR1cm4gdG8gbGF0ZSBQViBleGl0IGNvZGUgKGZyb20gYW4gTk1JIG9yICNNQykuDQotKyAg ICAgICAgICovDQotKyAgICAgICAgR0VUX1NUQUNLX0VORChheCkNCi0rICAgICAgICBtb3YgICBT VEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYXgpLCAlcmR4DQotKyAgICAgICAgbW92ICAg U1RBQ0tfQ1BVSU5GT19GSUVMRChwdl9jcjMpKCVyYXgpLCAlcmF4DQotKyAgICAgICAgdGVzdCAg JXJkeCwgJXJkeA0KLSsgICAgICAgIC8qDQotKyAgICAgICAgICogSWRlYWxseSB0aGUgY29uZGl0 aW9uIHdvdWxkIGJlICJuc3oiLCBidXQgc3VjaCBkb2Vzbid0IGV4aXN0LA0KLSsgICAgICAgICAq IHNvICJnIiB3aWxsIGhhdmUgdG8gZG8uDQotKyAgICAgICAgICovDQotK1VOTElLRUxZX1NUQVJU KGcsIGV4aXRfY3IzKQ0KLSsgICAgICAgIHdyaXRlX2NyMyByYXgsIHJkaSwgcnNpDQotK1VOTElL RUxZX0VORChleGl0X2NyMykNCi0rDQotICAgICAgICAgUkVTVE9SRV9BTEwgYWRqPTgNCi0gICAg ICAgICBpcmV0cQ0KLSANCi1AQCAtMTAwLDcgKzE0MiwxOCBAQCBFTlRSWShsc3Rhcl9lbnRlcikN Ci0gICAgICAgICBwdXNocSAkMA0KLSAgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJz cCkNCi0gICAgICAgICBTQVZFX0FMTA0KLS0gICAgICAgIEdFVF9DVVJSRU5UKGJ4KQ0KLSsNCi0r ICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQ0KLSsgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9f RklFTEQoeGVuX2NyMykoJXJieCksICVyY3gNCi0rICAgICAgICBuZWcgICAlcmN4DQotKyAgICAg ICAganogICAgLkxsc3Rhcl9jcjNfb2theQ0KLSsgICAgICAgIG1vdiAgICVyY3gsIFNUQUNLX0NQ VUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkNCi0rICAgICAgICBuZWcgICAlcmN4DQotKyAgICAg ICAgd3JpdGVfY3IzIHJjeCwgcmRpLCByc2kNCi0rICAgICAgICBtb3ZxICAkMCwgU1RBQ0tfQ1BV SU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQ0KLSsuTGxzdGFyX2NyM19va2F5Og0KLSsNCi0rICAg ICAgICBfX0dFVF9DVVJSRU5UKGJ4KQ0KLSAgICAgICAgIHRlc3RiICRURl9rZXJuZWxfbW9kZSxW Q1BVX3RocmVhZF9mbGFncyglcmJ4KQ0KLSAgICAgICAgIGp6ICAgIHN3aXRjaF90b19rZXJuZWwN Ci0gDQotQEAgLTE5Miw3ICsyNDUsMTggQEAgR0xPQkFMKHN5c2VudGVyX2VmbGFnc19zYXZlZCkN Ci0gICAgICAgICBwdXNocSAkMA0KLSAgICAgICAgIG1vdmwgICRUUkFQX3N5c2NhbGwsIDQoJXJz cCkNCi0gICAgICAgICBTQVZFX0FMTA0KLS0gICAgICAgIEdFVF9DVVJSRU5UKGJ4KQ0KLSsNCi0r ICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQ0KLSsgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9f RklFTEQoeGVuX2NyMykoJXJieCksICVyY3gNCi0rICAgICAgICBuZWcgICAlcmN4DQotKyAgICAg ICAganogICAgLkxzeXNlX2NyM19va2F5DQotKyAgICAgICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BV SU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQ0KLSsgICAgICAgIG5lZyAgICVyY3gNCi0rICAgICAg ICB3cml0ZV9jcjMgcmN4LCByZGksIHJzaQ0KLSsgICAgICAgIG1vdnEgICQwLCBTVEFDS19DUFVJ TkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpDQotKy5Mc3lzZV9jcjNfb2theToNCi0rDQotKyAgICAg ICAgX19HRVRfQ1VSUkVOVChieCkNCi0gICAgICAgICBjbXBiICAkMCxWQ1BVX3N5c2VudGVyX2Rp c2FibGVzX2V2ZW50cyglcmJ4KQ0KLSAgICAgICAgIG1vdnEgIFZDUFVfc3lzZW50ZXJfYWRkcigl cmJ4KSwlcmF4DQotICAgICAgICAgc2V0bmUgJWNsDQotQEAgLTIyOCwxMyArMjkyLDIzIEBAIEVO VFJZKGludDgwX2RpcmVjdF90cmFwKQ0KLSAgICAgICAgIG1vdmwgICQweDgwLCA0KCVyc3ApDQot ICAgICAgICAgU0FWRV9BTEwNCi0gDQotKyAgICAgICAgR0VUX1NUQUNLX0VORChieCkNCi0rICAg ICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpLCAlcmN4DQotKyAg ICAgICAgbmVnICAgJXJjeA0KLSsgICAgICAgIGp6ICAgIC5MaW50ODBfY3IzX29rYXkNCi0rICAg ICAgICBtb3YgICAlcmN4LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpDQotKyAg ICAgICAgbmVnICAgJXJjeA0KLSsgICAgICAgIHdyaXRlX2NyMyByY3gsIHJkaSwgcnNpDQotKyAg ICAgICAgbW92cSAgJDAsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkNCi0rLkxp bnQ4MF9jcjNfb2theToNCi0rDQotICAgICAgICAgY21wYiAgJDAsdW50cnVzdGVkX21zaSglcmlw KQ0KLSBVTkxJS0VMWV9TVEFSVChuZSwgbXNpX2NoZWNrKQ0KLSAgICAgICAgIG1vdmwgICQweDgw LCVlZGkNCi0gICAgICAgICBjYWxsICBjaGVja19mb3JfdW5leHBlY3RlZF9tc2kNCi0gVU5MSUtF TFlfRU5EKG1zaV9jaGVjaykNCi0gDQotLSAgICAgICAgR0VUX0NVUlJFTlQoYngpDQotKyAgICAg ICAgX19HRVRfQ1VSUkVOVChieCkNCi0gDQotICAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgY2Fs bGJhY2sgaXMgbm9uLW51bGwuICovDQotICAgICAgICAgbGVhcSAgVkNQVV9pbnQ4MF9ib3VuY2Uo JXJieCksJXJkeA0KLUBAIC0zOTEsOSArNDY1LDI3IEBAIEVOVFJZKGRvbV9jcmFzaF9zeW5jX2V4 dGFibGUpDQotIA0KLSBFTlRSWShjb21tb25faW50ZXJydXB0KQ0KLSAgICAgICAgIFNBVkVfQUxM IENMQUMNCi0rDQotKyAgICAgICAgR0VUX1NUQUNLX0VORCgxNCkNCi0rICAgICAgICBtb3YgICBT VEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpLCAlcmN4DQotKyAgICAgICAgbW92ICAg JXJjeCwgJXIxNQ0KLSsgICAgICAgIG5lZyAgICVyY3gNCi0rICAgICAgICBqeiAgICAuTGludHJf Y3IzX29rYXkNCi0rICAgICAgICBqbnMgICAuTGludHJfY3IzX2xvYWQNCi0rICAgICAgICBtb3Yg ICAlcmN4LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpDQotKyAgICAgICAgbmVn ICAgJXJjeA0KLSsuTGludHJfY3IzX2xvYWQ6DQotKyAgICAgICAgd3JpdGVfY3IzIHJjeCwgcmRp LCByc2kNCi0rICAgICAgICB4b3IgICAlZWN4LCAlZWN4DQotKyAgICAgICAgbW92ICAgJXJjeCwg U1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQ0KLSsgICAgICAgIHRlc3RiICQzLCBV UkVHU19jcyglcnNwKQ0KLSsgICAgICAgIGNtb3ZueiAlcmN4LCAlcjE1DQotKy5MaW50cl9jcjNf b2theToNCi0rDQotICAgICAgICAgQ1I0X1BWMzJfUkVTVE9SRQ0KLSAgICAgICAgIG1vdnEgJXJz cCwlcmRpDQotICAgICAgICAgY2FsbHEgZG9fSVJRDQotKyAgICAgICAgbW92ICAgJXIxNSwgU1RB Q0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQ0KLSAgICAgICAgIGptcCByZXRfZnJvbV9p bnRyDQotIA0KLSAvKiBObyBzcGVjaWFsIHJlZ2lzdGVyIGFzc3VtcHRpb25zLiAqLw0KLUBAIC00 MTEsNiArNTAzLDIzIEBAIEVOVFJZKHBhZ2VfZmF1bHQpDQotIC8qIE5vIHNwZWNpYWwgcmVnaXN0 ZXIgYXNzdW1wdGlvbnMuICovDQotIEdMT0JBTChoYW5kbGVfZXhjZXB0aW9uKQ0KLSAgICAgICAg IFNBVkVfQUxMIENMQUMNCi0rDQotKyAgICAgICAgR0VUX1NUQUNLX0VORCgxNCkNCi0rICAgICAg ICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpLCAlcmN4DQotKyAgICAg ICAgbW92ICAgJXJjeCwgJXIxNQ0KLSsgICAgICAgIG5lZyAgICVyY3gNCi0rICAgICAgICBqeiAg ICAuTHhjcHRfY3IzX29rYXkNCi0rICAgICAgICBqbnMgICAuTHhjcHRfY3IzX2xvYWQNCi0rICAg ICAgICBtb3YgICAlcmN4LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpDQotKyAg ICAgICAgbmVnICAgJXJjeA0KLSsuTHhjcHRfY3IzX2xvYWQ6DQotKyAgICAgICAgd3JpdGVfY3Iz IHJjeCwgcmRpLCByc2kNCi0rICAgICAgICB4b3IgICAlZWN4LCAlZWN4DQotKyAgICAgICAgbW92 ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQ0KLSsgICAgICAgIHRl c3RiICQzLCBVUkVHU19jcyglcnNwKQ0KLSsgICAgICAgIGNtb3ZueiAlcmN4LCAlcjE1DQotKy5M eGNwdF9jcjNfb2theToNCi0rDQotIGhhbmRsZV9leGNlcHRpb25fc2F2ZWQ6DQotICAgICAgICAg R0VUX0NVUlJFTlQoYngpDQotICAgICAgICAgdGVzdGIgJFg4Nl9FRkxBR1NfSUY+PjgsVVJFR1Nf ZWZsYWdzKzEoJXJzcCkNCi1AQCAtNDc1LDYgKzU4NCw3IEBAIGhhbmRsZV9leGNlcHRpb25fc2F2 ZWQ6DQotICAgICAgICAgbGVhcSAgZXhjZXB0aW9uX3RhYmxlKCVyaXApLCVyZHgNCi0gICAgICAg ICBQRVJGQ19JTkNSKGV4Y2VwdGlvbnMsICVyYXgsICVyYngpDQotICAgICAgICAgY2FsbHEgKigl cmR4LCVyYXgsOCkNCi0rICAgICAgICBtb3YgICAlcjE1LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhl bl9jcjMpKCVyMTQpDQotICAgICAgICAgdGVzdGIgJDMsVVJFR1NfY3MoJXJzcCkNCi0gICAgICAg ICBqeiAgICByZXN0b3JlX2FsbF94ZW4NCi0gICAgICAgICBsZWFxICBWQ1BVX3RyYXBfYm91bmNl KCVyYngpLCVyZHgNCi1AQCAtNTA3LDYgKzYxNyw3IEBAIGV4Y2VwdGlvbl93aXRoX2ludHNfZGlz YWJsZWQ6DQotICAgICAgICAgcmVwOyAgbW92c3EgICAgICAgICAgICAgICAgICAgICAjIG1ha2Ug cm9vbSBmb3IgZWMvZXYNCi0gMTogICAgICBtb3ZxICBVUkVHU19lcnJvcl9jb2RlKCVyc3ApLCVy YXggIyBlYy9ldg0KLSAgICAgICAgIG1vdnEgICVyYXgsVVJFR1Nfa2VybmVsX3NpemVvZiglcnNw KQ0KLSsgICAgICAgIG1vdiAgICVyMTUsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIx NCkNCi0gICAgICAgICBqbXAgICByZXN0b3JlX2FsbF94ZW4gICAgICAgICAgICMgcmV0dXJuIHRv IGZpeHVwIGNvZGUNCi0gDQotIC8qIE5vIHNwZWNpYWwgcmVnaXN0ZXIgYXNzdW1wdGlvbnMuICov DQotQEAgLTU4NSw2ICs2OTYsMTcgQEAgRU5UUlkoZG91YmxlX2ZhdWx0KQ0KLSAgICAgICAgIG1v dmwgICRUUkFQX2RvdWJsZV9mYXVsdCw0KCVyc3ApDQotICAgICAgICAgLyogU2V0IEFDIHRvIHJl ZHVjZSBjaGFuY2Ugb2YgZnVydGhlciBTTUFQIGZhdWx0cyAqLw0KLSAgICAgICAgIFNBVkVfQUxM IFNUQUMNCi0rDQotKyAgICAgICAgR0VUX1NUQUNLX0VORChieCkNCi0rICAgICAgICBtb3YgICBT VEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpLCAlcmJ4DQotKyAgICAgICAgdGVzdCAg JXJieCwgJXJieA0KLSsgICAgICAgIGp6ICAgIC5MZGJsZl9jcjNfb2theQ0KLSsgICAgICAgIGpu cyAgIC5MZGJsZl9jcjNfbG9hZA0KLSsgICAgICAgIG5lZyAgICVyYngNCi0rLkxkYmxmX2NyM19s b2FkOg0KLSsgICAgICAgIHdyaXRlX2NyMyByYngsIHJkaSwgcnNpDQotKy5MZGJsZl9jcjNfb2th eToNCi0rDQotICAgICAgICAgbW92cSAgJXJzcCwlcmRpDQotICAgICAgICAgY2FsbCAgZG9fZG91 YmxlX2ZhdWx0DQotICAgICAgICAgQlVHICAgLyogZG9fZG91YmxlX2ZhdWx0KCkgc2hvdWxkbid0 IHJldHVybi4gKi8NCi1AQCAtNjAzLDEwICs3MjUsMjggQEAgRU5UUlkobm1pKQ0KLSAgICAgICAg IG1vdmwgICRUUkFQX25taSw0KCVyc3ApDQotIGhhbmRsZV9pc3RfZXhjZXB0aW9uOg0KLSAgICAg ICAgIFNBVkVfQUxMIENMQUMNCi0rDQotKyAgICAgICAgR0VUX1NUQUNLX0VORCgxNCkNCi0rICAg ICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpLCAlcmN4DQotKyAg ICAgICAgbW92ICAgJXJjeCwgJXIxNQ0KLSsgICAgICAgIG5lZyAgICVyY3gNCi0rICAgICAgICBq eiAgICAuTGlzdF9jcjNfb2theQ0KLSsgICAgICAgIGpucyAgIC5MaXN0X2NyM19sb2FkDQotKyAg ICAgICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQ0KLSsg ICAgICAgIG5lZyAgICVyY3gNCi0rLkxpc3RfY3IzX2xvYWQ6DQotKyAgICAgICAgd3JpdGVfY3Iz IHJjeCwgcmRpLCByc2kNCi0rICAgICAgICBtb3ZxICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4 ZW5fY3IzKSglcjE0KQ0KLSsuTGlzdF9jcjNfb2theToNCi0rDQotICAgICAgICAgQ1I0X1BWMzJf UkVTVE9SRQ0KLSAgICAgICAgIHRlc3RiICQzLFVSRUdTX2NzKCVyc3ApDQotICAgICAgICAganog ICAgMWYNCi0tICAgICAgICAvKiBJbnRlcnJ1cHRlZCBndWVzdCBjb250ZXh0LiBDb3B5IHRoZSBj b250ZXh0IHRvIHN0YWNrIGJvdHRvbS4gKi8NCi0rICAgICAgICAvKg0KLSsgICAgICAgICAqIElu dGVycnVwdGVkIGd1ZXN0IGNvbnRleHQuIENsZWFyIHRoZSByZXN0b3JlIHZhbHVlIGZvciB4ZW5f Y3IzDQotKyAgICAgICAgICogYW5kIGNvcHkgdGhlIGNvbnRleHQgdG8gc3RhY2sgYm90dG9tLg0K LSsgICAgICAgICAqLw0KLSsgICAgICAgIHhvciAgICVyMTUsICVyMTUNCi0gICAgICAgICBHRVRf Q1BVSU5GT19GSUVMRChndWVzdF9jcHVfdXNlcl9yZWdzLGRpKQ0KLSAgICAgICAgIG1vdnEgICVy c3AsJXJzaQ0KLSAgICAgICAgIG1vdmwgICRVUkVHU19rZXJuZWxfc2l6ZW9mLzgsJWVjeA0KLUBA IC02MTYsNiArNzU2LDcgQEAgaGFuZGxlX2lzdF9leGNlcHRpb246DQotICAgICAgICAgbW92emJs IFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKSwlZWF4DQotICAgICAgICAgbGVhcSAgZXhjZXB0aW9u X3RhYmxlKCVyaXApLCVyZHgNCi0gICAgICAgICBjYWxscSAqKCVyZHgsJXJheCw4KQ0KLSsgICAg ICAgIG1vdiAgICVyMTUsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCkNCi0gICAg ICAgICBjbXBiICAkVFJBUF9ubWksVVJFR1NfZW50cnlfdmVjdG9yKCVyc3ApDQotICAgICAgICAg am5lICAgcmV0X2Zyb21faW50cg0KLSANCi1kaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9hc21fZGVmbnMuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2RlZm5zLmgNCi1pbmRleCA5 ODE5MmViLi5mYjBmZWU5IDEwMDY0NA0KLS0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYXNtX2Rl Zm5zLmgNCi0rKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oDQotQEAgLTkzLDkg KzkzLDMwIEBAIHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsNCi0gICAgICAgICBVTkxJS0VMWV9E T05FKG1wLCB0YWcpOyAgIFwNCi0gICAgICAgICBfX1VOTElLRUxZX0VORCh0YWcpDQotIA0KLSsg ICAgICAgIC5lcXUgLkxyYXgsIDANCi0rICAgICAgICAuZXF1IC5McmN4LCAxDQotKyAgICAgICAg LmVxdSAuTHJkeCwgMg0KLSsgICAgICAgIC5lcXUgLkxyYngsIDMNCi0rICAgICAgICAuZXF1IC5M cnNwLCA0DQotKyAgICAgICAgLmVxdSAuTHJicCwgNQ0KLSsgICAgICAgIC5lcXUgLkxyc2ksIDYN Ci0rICAgICAgICAuZXF1IC5McmRpLCA3DQotKyAgICAgICAgLmVxdSAuTHI4LCAgOA0KLSsgICAg ICAgIC5lcXUgLkxyOSwgIDkNCi0rICAgICAgICAuZXF1IC5McjEwLCAxMA0KLSsgICAgICAgIC5l cXUgLkxyMTEsIDExDQotKyAgICAgICAgLmVxdSAuTHIxMiwgMTINCi0rICAgICAgICAuZXF1IC5M cjEzLCAxMw0KLSsgICAgICAgIC5lcXUgLkxyMTQsIDE0DQotKyAgICAgICAgLmVxdSAuTHIxNSwg MTUNCi0rDQotICNkZWZpbmUgU1RBQ0tfQ1BVSU5GT19GSUVMRChmaWVsZCkgKDEgLSBDUFVJTkZP X3NpemVvZiArIENQVUlORk9fIyNmaWVsZCkNCi0gI2RlZmluZSBHRVRfU1RBQ0tfRU5EKHJlZykg ICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgLmlmIC5MciMjcmVnID4gODsgICAg ICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAgICAgIG1vdnEgJFNUQUNLX1NJWkUtMSwgJXIj I3JlZzsgICAgICAgICAgICAgIFwNCi0rICAgICAgICAuZWxzZTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgbW92bCAkU1RBQ0tfU0laRS0xLCAlZSMjcmVn OyAgICAgICAgICAgICAgXA0KLSsgICAgICAgIC5lbmRpZjsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCi0gICAgICAgICBvcnEgICVyc3AsICVyIyNyZWcNCi0gDQotICNkZWZp bmUgR0VUX0NQVUlORk9fRklFTEQoZmllbGQsIHJlZykgICAgICAgICAgICAgXA0KLUBAIC0xNzcs NiArMTk4LDE1IEBAIHZvaWQgcmV0X2Zyb21faW50cih2b2lkKTsNCi0gI2RlZmluZSBBU01fU1RB QyBBU01fQUMoU1RBQykNCi0gI2RlZmluZSBBU01fQ0xBQyBBU01fQUMoQ0xBQykNCi0gDQotKy5t YWNybyB3cml0ZV9jcjMgdmFsOnJlcSwgdG1wMTpyZXEsIHRtcDI6cmVxDQotKyAgICAgICAgbW92 ICAgJWNyNCwgJVx0bXAxDQotKyAgICAgICAgbW92ICAgJVx0bXAxLCAlXHRtcDINCi0rICAgICAg ICBhbmQgICAkflg4Nl9DUjRfUEdFLCAlXHRtcDENCi0rICAgICAgICBtb3YgICAlXHRtcDEsICVj cjQNCi0rICAgICAgICBtb3YgICAlXHZhbCwgJWNyMw0KLSsgICAgICAgIG1vdiAgICVcdG1wMiwg JWNyNA0KLSsuZW5kbQ0KLSsNCi0gI2RlZmluZSBDUjRfUFYzMl9SRVNUT1JFICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAgICA2Njc6IEFTTV9OT1A1 OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgICAg ICAucHVzaHNlY3Rpb24gLmFsdGluc3RyX3JlcGxhY2VtZW50LCAiYXgiOyAgICAgICAgICAgICAg ICAgIFwNCi1kaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2N1cnJlbnQuaA0KLWluZGV4IDg5ODQ5OTIuLmI5MjljNDggMTAwNjQ0 DQotLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgNCi0rKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L2N1cnJlbnQuaA0KLUBAIC00MSw2ICs0MSwxOCBAQCBzdHJ1Y3QgY3B1X2luZm8g ew0KLSAgICAgc3RydWN0IHZjcHUgKmN1cnJlbnRfdmNwdTsNCi0gICAgIHVuc2lnbmVkIGxvbmcg cGVyX2NwdV9vZmZzZXQ7DQotICAgICB1bnNpZ25lZCBsb25nIGNyNDsNCi0rICAgIC8qDQotKyAg ICAgKiBPZiB0aGUgdHdvIGZvbGxvd2luZyBmaWVsZHMgdGhlIGxhdHRlciBpcyBiZWluZyBzZXQg dG8gdGhlIENSMyB2YWx1ZQ0KLSsgICAgICogdG8gYmUgdXNlZCBvbiB0aGUgZ2l2ZW4gcENQVSBm b3IgbG9hZGluZyB3aGVuZXZlciA2NC1iaXQgUFYgZ3Vlc3QNCi0rICAgICAqIGNvbnRleHQgaXMg YmVpbmcgZW50ZXJlZC4gVGhlIHZhbHVlIG5ldmVyIGNoYW5nZXMgb25jZSBzZXQuDQotKyAgICAg KiBUaGUgZm9ybWVyIGlzIHRoZSB2YWx1ZSB0byByZXN0b3JlIHdoZW4gcmUtZW50ZXJpbmcgWGVu LCBpZiBhbnkuIElPVw0KLSsgICAgICogaXRzIHZhbHVlIGJlaW5nIHplcm8gbWVhbnMgdGhlcmUn cyBub3RoaW5nIHRvIHJlc3RvcmUuIEhvd2V2ZXIsIGl0cw0KLSsgICAgICogdmFsdWUgY2FuIGFs c28gYmUgbmVnYXRpdmUsIGluZGljYXRpbmcgdG8gdGhlIGV4aXQtdG8tWGVuIGNvZGUgdGhhdA0K LSsgICAgICogcmVzdG9yaW5nIGlzIG5vdCBuZWNlc3NhcnksIGJ1dCBhbGxvd2luZyBhbnkgbmVz dGVkIGVudHJ5IGNvZGUgcGF0aHMNCi0rICAgICAqIHRvIHN0aWxsIGtub3cgdGhlIHZhbHVlIHRv IHB1dCBiYWNrIGludG8gQ1IzLg0KLSsgICAgICovDQotKyAgICB1bnNpZ25lZCBsb25nIHhlbl9j cjM7DQotKyAgICB1bnNpZ25lZCBsb25nIHB2X2NyMzsNCi0gICAgIC8qIGdldF9zdGFja19ib3R0 b20oKSBtdXN0IGJlIDE2LWJ5dGUgYWxpZ25lZCAqLw0KLSB9Ow0KLSANCi1kaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJv Y2Vzc29yLmgNCi1pbmRleCA0MWE4ZDhjLi4yOTYyZTgzIDEwMDY0NA0KLS0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvcHJvY2Vzc29yLmgNCi0rKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nl c3Nvci5oDQotQEAgLTQ2Miw2ICs0NjIsNyBAQCBleHRlcm4gaWR0X2VudHJ5X3QgaWR0X3RhYmxl W107DQotIGV4dGVybiBpZHRfZW50cnlfdCAqaWR0X3RhYmxlc1tdOw0KLSANCi0gREVDTEFSRV9Q RVJfQ1BVKHN0cnVjdCB0c3Nfc3RydWN0LCBpbml0X3Rzcyk7DQotK0RFQ0xBUkVfUEVSX0NQVShy b290X3BnZW50cnlfdCAqLCByb290X3BndCk7DQotIA0KLSBleHRlcm4gdm9pZCBpbml0X2ludDgw X2RpcmVjdF90cmFwKHN0cnVjdCB2Y3B1ICp2KTsNCi0gDQotZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYveDg2XzY0L3BhZ2UuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2XzY0L3Bh Z2UuaA0KLWluZGV4IDZmYjdjZDUuLjA1YTAzMzQgMTAwNjQ0DQotLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni94ODZfNjQvcGFnZS5oDQotKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQv cGFnZS5oDQotQEAgLTI0LDggKzI0LDggQEANCi0gLyogVGhlc2UgYXJlIGFyY2hpdGVjdHVyYWwg bGltaXRzLiBDdXJyZW50IENQVXMgc3VwcG9ydCBvbmx5IDQwLWJpdCBwaHlzLiAqLw0KLSAjZGVm aW5lIFBBRERSX0JJVFMgICAgICAgICAgICAgIDUyDQotICNkZWZpbmUgVkFERFJfQklUUyAgICAg ICAgICAgICAgNDgNCi0tI2RlZmluZSBQQUREUl9NQVNLICAgICAgICAgICAgICAoKDFVTCA8PCBQ QUREUl9CSVRTKS0xKQ0KLS0jZGVmaW5lIFZBRERSX01BU0sgICAgICAgICAgICAgICgoMVVMIDw8 IFZBRERSX0JJVFMpLTEpDQotKyNkZWZpbmUgUEFERFJfTUFTSyAgICAgICAgICAgICAgKChfQUMo MSxVTCkgPDwgUEFERFJfQklUUykgLSAxKQ0KLSsjZGVmaW5lIFZBRERSX01BU0sgICAgICAgICAg ICAgICgoX0FDKDEsVUwpIDw8IFZBRERSX0JJVFMpIC0gMSkNCi0gDQotICNkZWZpbmUgVkFERFJf VE9QX0JJVCAgICAgICAgICAgKDFVTCA8PCAoVkFERFJfQklUUyAtIDEpKQ0KLSAjZGVmaW5lIENB Tk9OSUNBTF9NQVNLICAgICAgICAgICh+MFVMICYgflZBRERSX01BU0spDQotQEAgLTEwNyw2ICsx MDcsNyBAQCB0eXBlZGVmIGw0X3BnZW50cnlfdCByb290X3BnZW50cnlfdDsNCi0gICAgICAgOiAo KChfcykgPCBST09UX1BBR0VUQUJMRV9GSVJTVF9YRU5fU0xPVCkgfHwgIFwNCi0gICAgICAgICAg KChfcykgPiBST09UX1BBR0VUQUJMRV9MQVNUX1hFTl9TTE9UKSkpDQotIA0KLSsjZGVmaW5lIHJv b3RfdGFibGVfb2Zmc2V0ICAgICAgICAgbDRfdGFibGVfb2Zmc2V0DQotICNkZWZpbmUgcm9vdF9n ZXRfcGZuICAgICAgICAgICAgICBsNGVfZ2V0X3Bmbg0KLSAjZGVmaW5lIHJvb3RfZ2V0X2ZsYWdz ICAgICAgICAgICAgbDRlX2dldF9mbGFncw0KLSAjZGVmaW5lIHJvb3RfZ2V0X2ludHB0ZSAgICAg ICAgICAgbDRlX2dldF9pbnRwdGUNCi0tLSANCi0yLjEuNA0KLQ0KLUZyb20gN2NjY2Q2Zjc0OGVj NzI0Y2Y5NDA4Y2VjNmIzZWM4ZTU0YThhMmMxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCi1G cm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQotRGF0ZTogV2VkLCAxNyBKYW4g MjAxOCAxNjo1NzozMyArMDEwMA0KLVN1YmplY3Q6IFtQQVRDSF0geDg2OiBhbGxvdyBNZWx0ZG93 biBiYW5kLWFpZCB0byBiZSBkaXNhYmxlZA0KLQ0KLUZpcnN0IG9mIGFsbCB3ZSBkb24ndCBuZWVk IGl0IG9uIEFNRCBzeXN0ZW1zLiBBZGRpdGlvbmFsbHkgYWxsb3cgaXRzIHVzZQ0KLXRvIGJlIGNv bnRyb2xsZWQgYnkgY29tbWFuZCBsaW5lIG9wdGlvbi4gRm9yIGJlc3QgYmFja3BvcnRhYmlsaXR5 LCB0aGlzDQotaW50ZW50aW9uYWxseSBkb2Vzbid0IHVzZSBhbHRlcm5hdGl2ZSBpbnN0cnVjdGlv biBwYXRjaGluZyB0byBhY2hpZXZlDQotdGhlIGludGVuZGVkIGVmZmVjdCAtIHdoaWxlIHdlIGxp a2VseSB3YW50IGl0LCB0aGlzIHdpbGwgYmUgbGF0ZXINCi1mb2xsb3ctdXAuDQotDQotU2lnbmVk LW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KLVJldmlld2VkLWJ5OiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KLW1hc3RlciBjb21taXQ6 IGU4NzFlODBjMzg1NDdkOWZhZWZjNjYwNDUzMmJhM2U5ODVlNjU4NzMNCi1tYXN0ZXIgZGF0ZTog MjAxOC0wMS0xNiAxNzo1MDo1OSArMDEwMA0KLS0tLQ0KLSBkb2NzL21pc2MveGVuLWNvbW1hbmQt bGluZS5tYXJrZG93biB8IDEyICsrKysrKysrKysrKw0KLSB4ZW4vYXJjaC94ODYvZG9tYWluLmMg ICAgICAgICAgICAgICB8ICA3ICsrKysrLS0NCi0geGVuL2FyY2gveDg2L21tLmMgICAgICAgICAg ICAgICAgICAgfCAgMiArLQ0KLSB4ZW4vYXJjaC94ODYvc21wYm9vdC5jICAgICAgICAgICAgICB8 IDE3ICsrKysrKysrKysrKysrLS0tDQotIHhlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyAgICAg ICAgIHwgIDIgKysNCi0gNSBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQ0KLQ0KLWRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93biBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duDQotaW5kZXggNzgxMTEw ZC4uNDk1MzliNCAxMDA2NDQNCi0tLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJr ZG93bg0KLSsrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duDQotQEAgLTE4 NDksNiArMTg0OSwxOCBAQCBJbiB0aGUgY2FzZSB0aGF0IHgyYXBpYyBpcyBpbiB1c2UsIHRoaXMg b3B0aW9uIHN3aXRjaGVzIGJldHdlZW4gcGh5c2ljYWwgYW5kDQotIGNsdXN0ZXJlZCBtb2RlLiAg VGhlIGRlZmF1bHQsIGdpdmVuIG5vIGhpbnQgZnJvbSB0aGUgKipGQURUKiosIGlzIGNsdXN0ZXIN Ci0gbW9kZS4NCi0gDQotKyMjIyB4cHRpDQotKz4gYD0gPGJvb2xlYW4+YA0KLSsNCi0rPiBEZWZh dWx0OiBgZmFsc2VgIG9uIEFNRCBoYXJkd2FyZQ0KLSs+IERlZmF1bHQ6IGB0cnVlYCBldmVyeXdo ZXJlIGVsc2UNCi0rDQotK092ZXJyaWRlIGRlZmF1bHQgc2VsZWN0aW9uIG9mIHdoZXRoZXIgdG8g aXNvbGF0ZSA2NC1iaXQgUFYgZ3Vlc3QgcGFnZQ0KLSt0YWJsZXMuDQotKw0KLSsqKiBXQVJOSU5H OiBOb3QgeWV0IGEgY29tcGxldGUgaXNvbGF0aW9uIGltcGxlbWVudGF0aW9uLCBidXQgYmV0dGVy IHRoYW4NCi0rbm90aGluZy4gKioNCi0rDQotICMjIyB4c2F2ZQ0KLSA+IGA9IDxib29sZWFuPmAN Ci0gDQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9k b21haW4uYw0KLWluZGV4IGY0YTNkNzQuLmIzNTdiNjAgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gv eDg2L2RvbWFpbi5jDQotKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jDQotQEAgLTE1MDUsMTAg KzE1MDUsMTMgQEAgdm9pZCBwYXJhdmlydF9jdHh0X3N3aXRjaF9mcm9tKHN0cnVjdCB2Y3B1ICp2 KQ0KLSANCi0gdm9pZCBwYXJhdmlydF9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgdmNwdSAqdikNCi0g ew0KLSsgICAgcm9vdF9wZ2VudHJ5X3QgKnJvb3RfcGd0ID0gdGhpc19jcHUocm9vdF9wZ3QpOw0K LSAgICAgdW5zaWduZWQgbG9uZyBjcjQ7DQotIA0KLS0gICAgdGhpc19jcHUocm9vdF9wZ3QpW3Jv b3RfdGFibGVfb2Zmc2V0KFBFUkRPTUFJTl9WSVJUX1NUQVJUKV0gPQ0KLS0gICAgICAgIGw0ZV9m cm9tX3BhZ2Uodi0+ZG9tYWluLT5hcmNoLnBlcmRvbWFpbl9sM19wZywgX19QQUdFX0hZUEVSVklT T1JfUlcpOw0KLSsgICAgaWYgKCByb290X3BndCApDQotKyAgICAgICAgcm9vdF9wZ3Rbcm9vdF90 YWJsZV9vZmZzZXQoUEVSRE9NQUlOX1ZJUlRfU1RBUlQpXSA9DQotKyAgICAgICAgICAgIGw0ZV9m cm9tX3BhZ2Uodi0+ZG9tYWluLT5hcmNoLnBlcmRvbWFpbl9sM19wZywNCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7DQotIA0KLSAgICAgY3I0ID0gcHZf Z3Vlc3RfY3I0X3RvX3JlYWxfY3I0KHYpOw0KLSAgICAgaWYgKCB1bmxpa2VseShjcjQgIT0gcmVh ZF9jcjQoKSkgKQ0KLWRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4 Ni9tbS5jDQotaW5kZXggNmM3ZDEyMC4uNTMyOTVmOCAxMDA2NDQNCi0tLS0gYS94ZW4vYXJjaC94 ODYvbW0uYw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQotQEAgLTM2NjUsNyArMzY2NSw3IEBA IGxvbmcgZG9fbW11X3VwZGF0ZSgNCi0gICAgICAgICAgICAgICAgICAgICByYyA9IG1vZF9sNF9l bnRyeSh2YSwgbDRlX2Zyb21faW50cHRlKHJlcS52YWwpLCBtZm4sDQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY21kID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVfQUQs IHYpOw0KLSAgICAgICAgICAgICAgICAgICAgIGlmICggIXJjICkNCi0tICAgICAgICAgICAgICAg ICAgICAgICAgc3luY19ndWVzdCA9IHRydWU7DQotKyAgICAgICAgICAgICAgICAgICAgICAgIHN5 bmNfZ3Vlc3QgPSB0aGlzX2NwdShyb290X3BndCk7DQotICAgICAgICAgICAgICAgICAgICAgYnJl YWs7DQotICAgICAgICAgICAgICAgICBjYXNlIFBHVF93cml0YWJsZV9wYWdlOg0KLSAgICAgICAg ICAgICAgICAgICAgIHBlcmZjX2luY3Iod3JpdGFibGVfbW11X3VwZGF0ZXMpOw0KLWRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYw0KLWlu ZGV4IGIxZmJiNTcuLmVkZjYwN2YgMTAwNjQ0DQotLS0tIGEveGVuL2FyY2gveDg2L3NtcGJvb3Qu Yw0KLSsrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMNCi1AQCAtMzI4LDcgKzMyOCw3IEBAIHZv aWQgc3RhcnRfc2Vjb25kYXJ5KHZvaWQgKnVudXNlZCkNCi0gICAgIHNwaW5fZGVidWdfZGlzYWJs ZSgpOw0KLSANCi0gICAgIGdldF9jcHVfaW5mbygpLT54ZW5fY3IzID0gMDsNCi0tICAgIGdldF9j cHVfaW5mbygpLT5wdl9jcjMgPSBfX3BhKHRoaXNfY3B1KHJvb3RfcGd0KSk7DQotKyAgICBnZXRf Y3B1X2luZm8oKS0+cHZfY3IzID0gdGhpc19jcHUocm9vdF9wZ3QpID8gX19wYSh0aGlzX2NwdShy b290X3BndCkpIDogMDsNCi0gDQotICAgICBsb2FkX3N5c3RlbV90YWJsZXMoKTsNCi0gDQotQEAg LTczNiwxNCArNzM2LDIwIEBAIHN0YXRpYyBpbnQgY2xvbmVfbWFwcGluZyhjb25zdCB2b2lkICpw dHIsIHJvb3RfcGdlbnRyeV90ICpycHQpDQotICAgICByZXR1cm4gMDsNCi0gfQ0KLSANCi0rc3Rh dGljIF9fcmVhZF9tb3N0bHkgaW50OF90IG9wdF94cHRpID0gLTE7DQotK2Jvb2xlYW5fcGFyYW0o InhwdGkiLCBvcHRfeHB0aSk7DQotIERFRklORV9QRVJfQ1BVKHJvb3RfcGdlbnRyeV90ICosIHJv b3RfcGd0KTsNCi0gDQotIHN0YXRpYyBpbnQgc2V0dXBfY3B1X3Jvb3RfcGd0KHVuc2lnbmVkIGlu dCBjcHUpDQotIHsNCi0tICAgIHJvb3RfcGdlbnRyeV90ICpycHQgPSBhbGxvY194ZW5fcGFnZXRh YmxlKCk7DQotKyAgICByb290X3BnZW50cnlfdCAqcnB0Ow0KLSAgICAgdW5zaWduZWQgaW50IG9m ZjsNCi0gICAgIGludCByYzsNCi0gDQotKyAgICBpZiAoICFvcHRfeHB0aSApDQotKyAgICAgICAg cmV0dXJuIDA7DQotKw0KLSsgICAgcnB0ID0gYWxsb2NfeGVuX3BhZ2V0YWJsZSgpOw0KLSAgICAg aWYgKCAhcnB0ICkNCi0gICAgICAgICByZXR1cm4gLUVOT01FTTsNCi0gDQotQEAgLTk4NywxMCAr OTkzLDE0IEBAIHZvaWQgX19pbml0IHNtcF9wcmVwYXJlX2NwdXModW5zaWduZWQgaW50IG1heF9j cHVzKQ0KLSANCi0gICAgIHN0YWNrX2Jhc2VbMF0gPSBzdGFja19zdGFydDsNCi0gDQotKyAgICBp ZiAoIG9wdF94cHRpIDwgMCApDQotKyAgICAgICAgb3B0X3hwdGkgPSBib290X2NwdV9kYXRhLng4 Nl92ZW5kb3IgIT0gWDg2X1ZFTkRPUl9BTUQ7DQotKw0KLSAgICAgcmMgPSBzZXR1cF9jcHVfcm9v dF9wZ3QoMCk7DQotICAgICBpZiAoIHJjICkNCi0gICAgICAgICBwYW5pYygiRXJyb3IgJWQgc2V0 dGluZyB1cCBQViByb290IHBhZ2UgdGFibGVcbiIsIHJjKTsNCi0tICAgIGdldF9jcHVfaW5mbygp LT5wdl9jcjMgPSBfX3BhKHBlcl9jcHUocm9vdF9wZ3QsIDApKTsNCi0rICAgIGlmICggcGVyX2Nw dShyb290X3BndCwgMCkgKQ0KLSsgICAgICAgIGdldF9jcHVfaW5mbygpLT5wdl9jcjMgPSBfX3Bh KHBlcl9jcHUocm9vdF9wZ3QsIDApKTsNCi0gDQotICAgICBzZXRfbnJfc29ja2V0cygpOw0KLSAN Ci1AQCAtMTA2Miw2ICsxMDcyLDcgQEAgdm9pZCBfX2luaXQgc21wX3ByZXBhcmVfYm9vdF9jcHUo dm9pZCkNCi0gI2VuZGlmDQotIA0KLSAgICAgZ2V0X2NwdV9pbmZvKCktPnhlbl9jcjMgPSAwOw0K LSsgICAgZ2V0X2NwdV9pbmZvKCktPnB2X2NyMyA9IDA7DQotIH0NCi0gDQotIHN0YXRpYyB2b2lk DQotZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUyBiL3hlbi9hcmNoL3g4 Ni94ODZfNjQvZW50cnkuUw0KLWluZGV4IGZjMzg4NzQuLmE4ODI1YzggMTAwNjQ0DQotLS0tIGEv eGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TDQotKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9l bnRyeS5TDQotQEAgLTQ2LDYgKzQ2LDcgQEAgcmVzdG9yZV9hbGxfZ3Vlc3Q6DQotICAgICAgICAg bW92YWJzICRESVJFQ1RNQVBfVklSVF9TVEFSVCwgJXJjeA0KLSAgICAgICAgIG1vdiAgICVyZGks ICVyYXgNCi0gICAgICAgICBhbmQgICAlcnNpLCAlcmRpDQotKyAgICAgICAganogICAgLkxyYWdf a2VlcF9jcjMNCi0gICAgICAgICBhbmQgICAlcjksICVyc2kNCi0gICAgICAgICBhZGQgICAlcmN4 LCAlcmRpDQotICAgICAgICAgYWRkICAgJXJjeCwgJXJzaQ0KLUBAIC02Miw2ICs2Myw3IEBAIHJl c3RvcmVfYWxsX2d1ZXN0Og0KLSAgICAgICAgIHJlcCBtb3ZzcQ0KLSAgICAgICAgIG1vdiAgICVy OSwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmR4KQ0KLSAgICAgICAgIHdyaXRlX2Ny MyByYXgsIHJkaSwgcnNpDQotKy5McmFnX2tlZXBfY3IzOg0KLSANCi0gICAgICAgICBSRVNUT1JF X0FMTA0KLSAgICAgICAgIHRlc3R3ICRUUkFQX3N5c2NhbGwsNCglcnNwKQ0KLS0tIA0KLTIuMS40 DQotDQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMjU1LTEucGF0Y2ggYi9tYWluL3hlbi94c2Ey NTUtMS5wYXRjaA0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCBmOGJiYTllNTE2Li4w MDAwMDAwMDAwDQotLS0gYS9tYWluL3hlbi94c2EyNTUtMS5wYXRjaA0KKysrIC9kZXYvbnVsbA0K QEAgLTEsMTMzICswLDAgQEANCi1Gcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ DQotU3ViamVjdDogZ250dGFiL0FSTTogZG9uJ3QgY29ycnVwdCBzaGFyZWQgR0ZOIGFycmF5DQot DQotLi4uIGJ5IHdyaXRpbmcgc3RhdHVzIEdGTnMgdG8gaXQuIEludHJvZHVjZSBhIHNlY29uZCBh cnJheSBpbnN0ZWFkLg0KLUFsc28gaW1wbGVtZW50IGdudHRhYl9zdGF0dXNfZ21mbigpIHByb3Bl cmx5IG5vdyB0aGF0IHRoZSBpbmZvcm1hdGlvbiBpcw0KLXN1aXRhYmx5IGJlaW5nIHRyYWNrZWQu DQotDQotV2hpbGUgdG91Y2hpbmcgaXQgYW55d2F5LCByZW1vdmUgYSBtaXNndWlkZWQgKGJ1dCBs dWNraWx5IGJlbmlnbikgdXBwZXINCi1ib3VuZCBjaGVjayBmcm9tIGdudHRhYl9zaGFyZWRfZ21m bigpOiBXZSBzaG91bGQgbmV2ZXIgYWNjZXNzIGJleW9uZCB0aGUNCi1ib3VuZHMgb2YgdGhhdCBh cnJheS4NCi0NCi1UaGlzIGlzIHBhcnQgb2YgWFNBLTI1NS4NCi0NCi1TaWduZWQtb2ZmLWJ5OiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQotUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCi1SZXZpZXdlZC1ieTogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCi0tLS0NCi12MzogRG9uJ3QgaW5pdCB0 aGUgQVJNIEdGTiBhcnJheXMgdG8gemVybyBhbnltb3JlLCB1c2UgSU5WQUxJRF9HRk4uDQotdjI6 IE5ldy4NCi0NCi0tLS0gYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMNCi0rKysgYi94ZW4vY29t bW9uL2dyYW50X3RhYmxlLmMNCi1AQCAtMzc3NSw2ICszNzc1LDcgQEAgaW50IGdudHRhYl9tYXBf ZnJhbWUoc3RydWN0IGRvbWFpbiAqZCwgdQ0KLSB7DQotICAgICBpbnQgcmMgPSAwOw0KLSAgICAg c3RydWN0IGdyYW50X3RhYmxlICpndCA9IGQtPmdyYW50X3RhYmxlOw0KLSsgICAgYm9vbCBzdGF0 dXMgPSBmYWxzZTsNCi0gDQotICAgICBncmFudF93cml0ZV9sb2NrKGd0KTsNCi0gDQotQEAgLTM3 ODUsNiArMzc4Niw3IEBAIGludCBnbnR0YWJfbWFwX2ZyYW1lKHN0cnVjdCBkb21haW4gKmQsIHUN Ci0gICAgICAgICAgKGlkeCAmIFhFTk1BUElEWF9ncmFudF90YWJsZV9zdGF0dXMpICkNCi0gICAg IHsNCi0gICAgICAgICBpZHggJj0gflhFTk1BUElEWF9ncmFudF90YWJsZV9zdGF0dXM7DQotKyAg ICAgICAgc3RhdHVzID0gdHJ1ZTsNCi0gICAgICAgICBpZiAoIGlkeCA8IG5yX3N0YXR1c19mcmFt ZXMoZ3QpICkNCi0gICAgICAgICAgICAgKm1mbiA9IF9tZm4odmlydF90b19tZm4oZ3QtPnN0YXR1 c1tpZHhdKSk7DQotICAgICAgICAgZWxzZQ0KLUBAIC0zODAyLDcgKzM4MDQsNyBAQCBpbnQgZ250 dGFiX21hcF9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1DQotICAgICB9DQotIA0KLSAgICAgaWYg KCAhcmMgKQ0KLS0gICAgICAgIGdudHRhYl9zZXRfZnJhbWVfZ2ZuKGd0LCBpZHgsIGdmbik7DQot KyAgICAgICAgZ250dGFiX3NldF9mcmFtZV9nZm4oZ3QsIHN0YXR1cywgaWR4LCBnZm4pOw0KLSAN Ci0gICAgIGdyYW50X3dyaXRlX3VubG9jayhndCk7DQotIA0KLS0tLSBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vZ3JhbnRfdGFibGUuaA0KLSsrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ3JhbnRfdGFi bGUuaA0KLUBAIC05LDcgKzksOCBAQA0KLSAjZGVmaW5lIElOSVRJQUxfTlJfR1JBTlRfRlJBTUVT IDFVDQotIA0KLSBzdHJ1Y3QgZ3JhbnRfdGFibGVfYXJjaCB7DQotLSAgICBnZm5fdCAqZ2ZuOw0K LSsgICAgZ2ZuX3QgKnNoYXJlZF9nZm47DQotKyAgICBnZm5fdCAqc3RhdHVzX2dmbjsNCi0gfTsN Ci0gDQotIHZvaWQgZ250dGFiX2NsZWFyX2ZsYWcodW5zaWduZWQgbG9uZyBuciwgdWludDE2X3Qg KmFkZHIpOw0KLUBAIC0yMSw3ICsyMiw2IEBAIGludCByZXBsYWNlX2dyYW50X2hvc3RfbWFwcGlu Zyh1bnNpZ25lZA0KLSAgICAgICAgIHVuc2lnbmVkIGxvbmcgbmV3X2dwYWRkciwgdW5zaWduZWQg aW50IGZsYWdzKTsNCi0gdm9pZCBnbnR0YWJfbWFya19kaXJ0eShzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIGwpOw0KLSAjZGVmaW5lIGdudHRhYl9jcmVhdGVfc3RhdHVzX3BhZ2UoZCwg dCwgaSkgZG8ge30gd2hpbGUgKDApDQotLSNkZWZpbmUgZ250dGFiX3N0YXR1c19nbWZuKGQsIHQs IGkpICgwKQ0KLSAjZGVmaW5lIGdudHRhYl9yZWxlYXNlX2hvc3RfbWFwcGluZ3MoZG9tYWluKSAx DQotIHN0YXRpYyBpbmxpbmUgaW50IHJlcGxhY2VfZ3JhbnRfc3VwcG9ydGVkKHZvaWQpDQotIHsN Ci1AQCAtNDIsMTkgKzQyLDM1IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdudHRhYl9k b20wX20NCi0gDQotICNkZWZpbmUgZ250dGFiX2luaXRfYXJjaChndCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICh7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotLSAg ICAoZ3QpLT5hcmNoLmdmbiA9IHh6YWxsb2NfYXJyYXkoZ2ZuX3QsIChndCktPm1heF9ncmFudF9m cmFtZXMpOyAgICAgICBcDQotLSAgICAoIChndCktPmFyY2guZ2ZuID8gMCA6IC1FTk9NRU0gKTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICB1bnNpZ25lZCBpbnQg bmdmXyA9IChndCktPm1heF9ncmFudF9mcmFtZXM7ICAgICAgICAgICAgICAgICAgICAgICAgICBc DQotKyAgICB1bnNpZ25lZCBpbnQgbnNmXyA9IGdyYW50X3RvX3N0YXR1c19mcmFtZXMobmdmXyk7 ICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAoZ3QpLT5h cmNoLnNoYXJlZF9nZm4gPSB4bWFsbG9jX2FycmF5KGdmbl90LCBuZ2ZfKTsgICAgICAgICAgICAg ICAgICBcDQotKyAgICAoZ3QpLT5hcmNoLnN0YXR1c19nZm4gPSB4bWFsbG9jX2FycmF5KGdmbl90 LCBuc2ZfKTsgICAgICAgICAgICAgICAgICBcDQotKyAgICBpZiAoIChndCktPmFyY2guc2hhcmVk X2dmbiAmJiAoZ3QpLT5hcmNoLnN0YXR1c19nZm4gKSAgICAgICAgICAgICAgICBcDQotKyAgICB7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcDQotKyAgICAgICAgd2hpbGUgKCBuZ2ZfLS0gKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgICAgIChndCktPmFy Y2guc2hhcmVkX2dmbltuZ2ZfXSA9IElOVkFMSURfR0ZOOyAgICAgICAgICAgICAgICAgICBcDQot KyAgICAgICAgd2hpbGUgKCBuc2ZfLS0gKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgICAgIChndCktPmFyY2guc3RhdHVzX2dmbltu c2ZfXSA9IElOVkFMSURfR0ZOOyAgICAgICAgICAgICAgICAgICBcDQotKyAgICB9ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQotKyAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAgICAgZ250dGFiX2Rlc3Ryb3lfYXJjaChn dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotKyAgICAoZ3Qp LT5hcmNoLnNoYXJlZF9nZm4gPyAwIDogLUVOT01FTTsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQotIH0pDQotIA0KLSAjZGVmaW5lIGdudHRhYl9kZXN0cm95X2FyY2goZ3QpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSAgICAgZG8geyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXA0KLS0gICAgICAgIHhmcmVlKChndCktPmFyY2guZ2ZuKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KLS0gICAgICAgIChndCktPmFyY2guZ2ZuID0gTlVM TDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAgICAg IHhmcmVlKChndCktPmFyY2guc2hhcmVkX2dmbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXA0KLSsgICAgICAgIChndCktPmFyY2guc2hhcmVkX2dmbiA9IE5VTEw7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAgICAgIHhmcmVlKChndCktPmFy Y2guc3RhdHVzX2dmbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsg ICAgICAgIChndCktPmFyY2guc3RhdHVzX2dmbiA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXA0KLSAgICAgfSB3aGlsZSAoIDAgKQ0KLSANCi0tI2RlZmluZSBnbnR0 YWJfc2V0X2ZyYW1lX2dmbihndCwgaWR4LCBnZm4pICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCi0rI2RlZmluZSBnbnR0YWJfc2V0X2ZyYW1lX2dmbihndCwgc3QsIGlkeCwgZ2ZuKSAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgIGRvIHsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0tICAgICAg ICAoZ3QpLT5hcmNoLmdmbltpZHhdID0gZ2ZuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwNCi0rICAgICAgICAoKHN0KSA/IChndCktPmFyY2guc3RhdHVzX2dmbiA6IChn dCktPmFyY2guc2hhcmVkX2dmbilbaWR4XSA9ICAgIFwNCi0rICAgICAgICAgICAgKGdmbik7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0g ICAgIH0gd2hpbGUgKCAwICkNCi0gDQotICNkZWZpbmUgZ250dGFiX2NyZWF0ZV9zaGFyZWRfcGFn ZShkLCB0LCBpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotQEAgLTY1LDggKzgx LDEwIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdudHRhYl9kb20wX20NCi0gICAgIH0g d2hpbGUgKCAwICkNCi0gDQotICNkZWZpbmUgZ250dGFiX3NoYXJlZF9nbWZuKGQsIHQsIGkpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotLSAgICAoICgoaSA+PSBucl9n cmFudF9mcmFtZXModCkpICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc DQotLSAgICAgICAoaSA8ICh0KS0+bWF4X2dyYW50X2ZyYW1lcykpPyAwIDogZ2ZuX3goKHQpLT5h cmNoLmdmbltpXSkpDQotKyAgICBnZm5feCgoKGkpID49IG5yX2dyYW50X2ZyYW1lcyh0KSkgPyBJ TlZBTElEX0dGTiA6ICh0KS0+YXJjaC5zaGFyZWRfZ2ZuW2ldKQ0KLSsNCi0rI2RlZmluZSBnbnR0 YWJfc3RhdHVzX2dtZm4oZCwgdCwgaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCi0rICAgIGdmbl94KCgoaSkgPj0gbnJfc3RhdHVzX2ZyYW1lcyh0KSkgPyBJTlZBTElE X0dGTiA6ICh0KS0+YXJjaC5zdGF0dXNfZ2ZuW2ldKQ0KLSANCi0gI2RlZmluZSBnbnR0YWJfbmVl ZF9pb21tdV9tYXBwaW5nKGQpICAgICAgICAgICAgICAgICAgICBcDQotICAgICAoaXNfZG9tYWlu X2RpcmVjdF9tYXBwZWQoZCkgJiYgbmVlZF9pb21tdShkKSkNCi0tLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L2dyYW50X3RhYmxlLmgNCi0rKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2dyYW50X3Rh YmxlLmgNCi1AQCAtNDYsNyArNDYsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBnbnR0 YWJfZG9tMF9tDQotIA0KLSAjZGVmaW5lIGdudHRhYl9pbml0X2FyY2goZ3QpIDANCi0gI2RlZmlu ZSBnbnR0YWJfZGVzdHJveV9hcmNoKGd0KSBkbyB7fSB3aGlsZSAoIDAgKQ0KLS0jZGVmaW5lIGdu dHRhYl9zZXRfZnJhbWVfZ2ZuKGd0LCBpZHgsIGdmbikgZG8ge30gd2hpbGUgKCAwICkNCi0rI2Rl ZmluZSBnbnR0YWJfc2V0X2ZyYW1lX2dmbihndCwgc3QsIGlkeCwgZ2ZuKSBkbyB7fSB3aGlsZSAo IDAgKQ0KLSANCi0gI2RlZmluZSBnbnR0YWJfY3JlYXRlX3NoYXJlZF9wYWdlKGQsIHQsIGkpICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgIGRvIHsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCmRpZmYg LS1naXQgYS9tYWluL3hlbi94c2EyNTUtMi5wYXRjaCBiL21haW4veGVuL3hzYTI1NS0yLnBhdGNo DQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDQwMmI2ZWZlOTguLjAwMDAwMDAwMDAN Ci0tLSBhL21haW4veGVuL3hzYTI1NS0yLnBhdGNoDQorKysgL2Rldi9udWxsDQpAQCAtMSwxNjcg KzAsMCBAQA0KLUZyb206IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCi1TdWJqZWN0 OiBnbnR0YWI6IGRvbid0IGJsaW5kbHkgZnJlZSBzdGF0dXMgcGFnZXMgdXBvbiB2ZXJzaW9uIGNo YW5nZQ0KLQ0KLVRoZXJlIG1heSBzdGlsbCBiZSBhY3RpdmUgbWFwcGluZ3MsIHdoaWNoIHdvdWxk IHRyaWdnZXIgdGhlIHJlc3BlY3RpdmUNCi1CVUdfT04oKS4gU3BsaXQgdGhlIGxvb3AgaW50byBv bmUgZGVhbGluZyB3aXRoIHRoZSBwYWdlIGF0dHJpYnV0ZXMgYW5kDQotdGhlIHNlY29uZCAod2hl biB0aGUgZmlyc3QgZnVsbHkgcGFzc2VkKSBmcmVlaW5nIHRoZSBwYWdlcy4gUmV0dXJuIGFuDQot ZXJyb3IgaWYgYW55IHBhZ2VzIHN0aWxsIGhhdmUgcGVuZGluZyByZWZlcmVuY2VzLg0KLQ0KLVRo aXMgaXMgcGFydCBvZiBYU0EtMjU1Lg0KLQ0KLVNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4NCi1SZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPg0KLVJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPg0KLS0tLQ0KLXY0OiBBZGQgZ3ByaW50ayhYRU5MT0dfRVJSLCAu Li4pIHRvIGRvbWFpbl9jcmFzaCgpIGludm9jYXRpb25zLg0KLXYzOiBDYWxsIGd1ZXN0X3BoeXNt YXBfcmVtb3ZlX3BhZ2UoKSBmcm9tIGdudHRhYl9tYXBfZnJhbWUoKSwgbWFraW5nIHRoZQ0KLSAg ICBjb2RlIHVuY29uZGl0aW9uYWwgYXQgdGhlIHNhbWUgdGltZS4gUmUtYmFzZSBvdmVyIGNoYW5n ZXMgdG8gZmlyc3QNCi0gICAgcGF0Y2guDQotdjI6IEFsc28gZGVhbCB3aXRoIHRyYW5zbGF0ZWQg Z3Vlc3RzLg0KLQ0KLS0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYw0KLSsrKyBiL3hlbi9j b21tb24vZ3JhbnRfdGFibGUuYw0KLUBAIC0xNjM2LDIzICsxNjM2LDc0IEBAIHN0YXR1c19hbGxv Y19mYWlsZWQ6DQotICAgICByZXR1cm4gLUVOT01FTTsNCi0gfQ0KLSANCi0tc3RhdGljIHZvaWQN Ci0rc3RhdGljIGludA0KLSBnbnR0YWJfdW5wb3B1bGF0ZV9zdGF0dXNfZnJhbWVzKHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdCBncmFudF90YWJsZSAqZ3QpDQotIHsNCi0tICAgIGludCBpOw0KLSsg ICAgdW5zaWduZWQgaW50IGk7DQotIA0KLSAgICAgZm9yICggaSA9IDA7IGkgPCBucl9zdGF0dXNf ZnJhbWVzKGd0KTsgaSsrICkNCi0gICAgIHsNCi0gICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpw ZyA9IHZpcnRfdG9fcGFnZShndC0+c3RhdHVzW2ldKTsNCi0rICAgICAgICBnZm5fdCBnZm4gPSBn bnR0YWJfZ2V0X2ZyYW1lX2dmbihndCwgdHJ1ZSwgaSk7DQotKw0KLSsgICAgICAgIC8qDQotKyAg ICAgICAgICogRm9yIHRyYW5zbGF0ZWQgZG9tYWlucywgcmVjb3ZlcmluZyBmcm9tIGZhaWx1cmUg YWZ0ZXIgcGFydGlhbA0KLSsgICAgICAgICAqIGNoYW5nZXMgd2VyZSBtYWRlIGlzIG1vcmUgY29t cGxpY2F0ZWQgdGhhbiBpdCBzZWVtcyB3b3J0aA0KLSsgICAgICAgICAqIGltcGxlbWVudGluZyBh dCB0aGlzIHRpbWUuIEhlbmNlIHJlc3BlY3RpdmUgZXJyb3IgcGF0aHMgYmVsb3cNCi0rICAgICAg ICAgKiBjcmFzaCB0aGUgZG9tYWluIGluIHN1Y2ggYSBjYXNlLg0KLSsgICAgICAgICAqLw0KLSsg ICAgICAgIGlmICggcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkNCi0rICAgICAgICB7DQotKyAg ICAgICAgICAgIGludCByYyA9IGdmbl9lcShnZm4sIElOVkFMSURfR0ZOKQ0KLSsgICAgICAgICAg ICAgICAgICAgICA/IDANCi0rICAgICAgICAgICAgICAgICAgICAgOiBndWVzdF9waHlzbWFwX3Jl bW92ZV9wYWdlKGQsIGdmbiwNCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9tZm4ocGFnZV90b19tZm4ocGcpKSwgMCk7DQotKw0KLSsgICAgICAgICAg ICBpZiAoIHJjICkNCi0rICAgICAgICAgICAgew0KLSsgICAgICAgICAgICAgICAgZ3ByaW50ayhY RU5MT0dfRVJSLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHJlbW92ZSBz dGF0dXMgZnJhbWUgJXUgKEdGTiAlI2x4KSBmcm9tIFAyTVxuIiwNCi0rICAgICAgICAgICAgICAg ICAgICAgICAgaSwgZ2ZuX3goZ2ZuKSk7DQotKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2go ZCk7DQotKyAgICAgICAgICAgICAgICByZXR1cm4gcmM7DQotKyAgICAgICAgICAgIH0NCi0rICAg ICAgICAgICAgZ250dGFiX3NldF9mcmFtZV9nZm4oZ3QsIHRydWUsIGksIElOVkFMSURfR0ZOKTsN Ci0rICAgICAgICB9DQotIA0KLSAgICAgICAgIEJVR19PTihwYWdlX2dldF9vd25lcihwZykgIT0g ZCk7DQotICAgICAgICAgaWYgKCB0ZXN0X2FuZF9jbGVhcl9iaXQoX1BHQ19hbGxvY2F0ZWQsICZw Zy0+Y291bnRfaW5mbykgKQ0KLSAgICAgICAgICAgICBwdXRfcGFnZShwZyk7DQotLSAgICAgICAg QlVHX09OKHBnLT5jb3VudF9pbmZvICYgflBHQ194ZW5faGVhcCk7DQotKw0KLSsgICAgICAgIGlm ICggcGctPmNvdW50X2luZm8gJiB+UEdDX3hlbl9oZWFwICkNCi0rICAgICAgICB7DQotKyAgICAg ICAgICAgIGlmICggcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkNCi0rICAgICAgICAgICAgew0K LSsgICAgICAgICAgICAgICAgZ3ByaW50ayhYRU5MT0dfRVJSLA0KLSsgICAgICAgICAgICAgICAg ICAgICAgICAiV3JvbmcgcGFnZSBzdGF0ZSAlI2x4IG9mIHN0YXR1cyBmcmFtZSAldSAoR0ZOICUj bHgpXG4iLA0KLSsgICAgICAgICAgICAgICAgICAgICAgICBwZy0+Y291bnRfaW5mbywgaSwgZ2Zu X3goZ2ZuKSk7DQotKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7DQotKyAgICAgICAg ICAgIH0NCi0rICAgICAgICAgICAgZWxzZQ0KLSsgICAgICAgICAgICB7DQotKyAgICAgICAgICAg ICAgICBpZiAoIGdldF9wYWdlKHBnLCBkKSApDQotKyAgICAgICAgICAgICAgICAgICAgc2V0X2Jp dChfUEdDX2FsbG9jYXRlZCwgJnBnLT5jb3VudF9pbmZvKTsNCi0rICAgICAgICAgICAgICAgIHdo aWxlICggaS0tICkNCi0rICAgICAgICAgICAgICAgICAgICBnbnR0YWJfY3JlYXRlX3N0YXR1c19w YWdlKGQsIGd0LCBpKTsNCi0rICAgICAgICAgICAgfQ0KLSsgICAgICAgICAgICByZXR1cm4gLUVC VVNZOw0KLSsgICAgICAgIH0NCi0rDQotKyAgICAgICAgcGFnZV9zZXRfb3duZXIocGcsIE5VTEwp Ow0KLSsgICAgfQ0KLSsNCi0rICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfc3RhdHVzX2ZyYW1lcyhn dCk7IGkrKyApDQotKyAgICB7DQotICAgICAgICAgZnJlZV94ZW5oZWFwX3BhZ2UoZ3QtPnN0YXR1 c1tpXSk7DQotICAgICAgICAgZ3QtPnN0YXR1c1tpXSA9IE5VTEw7DQotICAgICB9DQotICAgICBn dC0+bnJfc3RhdHVzX2ZyYW1lcyA9IDA7DQotKw0KLSsgICAgcmV0dXJuIDA7DQotIH0NCi0gDQot IC8qDQotQEAgLTI5NjIsOCArMzAxMyw5IEBAIGdudHRhYl9zZXRfdmVyc2lvbihYRU5fR1VFU1Rf SEFORExFX1BBUkENCi0gICAgICAgICBicmVhazsNCi0gICAgIH0NCi0gDQotLSAgICBpZiAoIG9w LnZlcnNpb24gPCAyICYmIGd0LT5ndF92ZXJzaW9uID09IDIgKQ0KLS0gICAgICAgIGdudHRhYl91 bnBvcHVsYXRlX3N0YXR1c19mcmFtZXMoY3VycmQsIGd0KTsNCi0rICAgIGlmICggb3AudmVyc2lv biA8IDIgJiYgZ3QtPmd0X3ZlcnNpb24gPT0gMiAmJg0KLSsgICAgICAgICAocmVzID0gZ250dGFi X3VucG9wdWxhdGVfc3RhdHVzX2ZyYW1lcyhjdXJyZCwgZ3QpKSAhPSAwICkNCi0rICAgICAgICBn b3RvIG91dF91bmxvY2s7DQotIA0KLSAgICAgLyogTWFrZSBzdXJlIHRoZXJlJ3Mgbm8gY3J1ZCBs ZWZ0IG92ZXIgZnJvbSB0aGUgb2xkIHZlcnNpb24uICovDQotICAgICBmb3IgKCBpID0gMDsgaSA8 IG5yX2dyYW50X2ZyYW1lcyhndCk7IGkrKyApDQotQEAgLTM4MDMsNiArMzg1NSwxMSBAQCBpbnQg Z250dGFiX21hcF9mcmFtZShzdHJ1Y3QgZG9tYWluICpkLCB1DQotICAgICAgICAgICAgIHJjID0g LUVJTlZBTDsNCi0gICAgIH0NCi0gDQotKyAgICBpZiAoICFyYyAmJiBwYWdpbmdfbW9kZV90cmFu c2xhdGUoZCkgJiYNCi0rICAgICAgICAgIWdmbl9lcShnbnR0YWJfZ2V0X2ZyYW1lX2dmbihndCwg c3RhdHVzLCBpZHgpLCBJTlZBTElEX0dGTikgKQ0KLSsgICAgICAgIHJjID0gZ3Vlc3RfcGh5c21h cF9yZW1vdmVfcGFnZShkLCBnbnR0YWJfZ2V0X2ZyYW1lX2dmbihndCwgc3RhdHVzLCBpZHgpLA0K LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbWZuLCAwKTsNCi0rDQot ICAgICBpZiAoICFyYyApDQotICAgICAgICAgZ250dGFiX3NldF9mcmFtZV9nZm4oZ3QsIHN0YXR1 cywgaWR4LCBnZm4pOw0KLSANCi0tLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dyYW50X3RhYmxl LmgNCi0rKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dyYW50X3RhYmxlLmgNCi1AQCAtNzMsNiAr NzMsMTEgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ250dGFiX2RvbTBfbQ0KLSAgICAg ICAgICAgICAoZ2ZuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KLSAgICAgfSB3aGlsZSAoIDAgKQ0KLSANCi0rI2RlZmluZSBnbnR0YWJf Z2V0X2ZyYW1lX2dmbihndCwgc3QsIGlkeCkgKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwNCi0rICAgX2dmbigoc3QpID8gZ250dGFiX3N0YXR1c19nbWZuKE5VTEwsIGd0LCBpZHgpICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCi0rICAgICAgICAgICAgIDogZ250dGFiX3NoYXJlZF9n bWZuKE5VTEwsIGd0LCBpZHgpKTsgICAgICAgICAgICAgICAgICAgICAgIFwNCi0rfSkNCi0rDQot ICNkZWZpbmUgZ250dGFiX2NyZWF0ZV9zaGFyZWRfcGFnZShkLCB0LCBpKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQotICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAgICAgc2hhcmVf eGVuX3BhZ2Vfd2l0aF9ndWVzdCggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcDQotLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90YWJsZS5oDQotKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9ncmFudF90YWJsZS5oDQotQEAgLTQ3LDYgKzQ3LDEyIEBAIHN0YXRp YyBpbmxpbmUgdW5zaWduZWQgaW50IGdudHRhYl9kb20wX20NCi0gI2RlZmluZSBnbnR0YWJfaW5p dF9hcmNoKGd0KSAwDQotICNkZWZpbmUgZ250dGFiX2Rlc3Ryb3lfYXJjaChndCkgZG8ge30gd2hp bGUgKCAwICkNCi0gI2RlZmluZSBnbnR0YWJfc2V0X2ZyYW1lX2dmbihndCwgc3QsIGlkeCwgZ2Zu KSBkbyB7fSB3aGlsZSAoIDAgKQ0KLSsjZGVmaW5lIGdudHRhYl9nZXRfZnJhbWVfZ2ZuKGd0LCBz dCwgaWR4KSAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAgdW5zaWduZWQg bG9uZyBtZm5fID0gKHN0KSA/IGdudHRhYl9zdGF0dXNfbWZuKGd0LCBpZHgpICAgICAgICAgICAg ICAgXA0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGdudHRhYl9zaGFyZWRfbWZu KGd0LCBpZHgpOyAgICAgICAgICAgICAgXA0KLSsgICAgdW5zaWduZWQgbG9uZyBncGZuXyA9IGdl dF9ncGZuX2Zyb21fbWZuKG1mbl8pOyAgICAgICAgICAgICAgICAgICAgICAgXA0KLSsgICAgVkFM SURfTTJQKGdwZm5fKSA/IF9nZm4oZ3Bmbl8pIDogSU5WQUxJRF9HRk47ICAgICAgICAgICAgICAg ICAgICAgICAgXA0KLSt9KQ0KLSANCi0gI2RlZmluZSBnbnR0YWJfY3JlYXRlX3NoYXJlZF9wYWdl KGQsIHQsIGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCi0gICAgIGRvIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwNCi1AQCAtNjMsMTEgKzY5LDExIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdu dHRhYl9kb20wX20NCi0gICAgIH0gd2hpbGUgKCAwICkNCi0gDQotIA0KLS0jZGVmaW5lIGdudHRh Yl9zaGFyZWRfbWZuKGQsIHQsIGkpICAgICAgICAgICAgICAgICAgICAgIFwNCi0rI2RlZmluZSBn bnR0YWJfc2hhcmVkX21mbih0LCBpKSAgICAgICAgICAgICAgICAgICAgICAgICBcDQotICAgICAo KHZpcnRfdG9fbWFkZHIoKHQpLT5zaGFyZWRfcmF3W2ldKSA+PiBQQUdFX1NISUZUKSkNCi0gDQot ICNkZWZpbmUgZ250dGFiX3NoYXJlZF9nbWZuKGQsIHQsIGkpICAgICAgICAgICAgICAgICAgICAg XA0KLS0gICAgKG1mbl90b19nbWZuKGQsIGdudHRhYl9zaGFyZWRfbWZuKGQsIHQsIGkpKSkNCi0r ICAgIChtZm5fdG9fZ21mbihkLCBnbnR0YWJfc2hhcmVkX21mbih0LCBpKSkpDQotIA0KLSANCi0g I2RlZmluZSBnbnR0YWJfc3RhdHVzX21mbih0LCBpKSAgICAgICAgICAgICAgICAgICAgICAgICBc DQpkaWZmIC0tZ2l0IGEvbWFpbi94ZW4veHNhMjU2LnBhdGNoIGIvbWFpbi94ZW4veHNhMjU2LnBh dGNoDQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDUwZmYyNGUxN2IuLjAwMDAwMDAw MDANCi0tLSBhL21haW4veGVuL3hzYTI1Ni5wYXRjaA0KKysrIC9kZXYvbnVsbA0KQEAgLTEsNDAg KzAsMCBAQA0KLUZyb206IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ DQotU3ViamVjdDogeDg2L2h2bTogRGlzYWxsb3cgdGhlIGNyZWF0aW9uIG9mIEhWTSBkb21haW5z IHdpdGhvdXQgTG9jYWwgQVBJQyBlbXVsYXRpb24NCi0NCi1UaGVyZSBhcmUgbXVsdGlwbGUgcHJv YmxlbXMsIG5vdCBuZWNlc3NlcmlseSBsaW1pdGVkIHRvOg0KLQ0KLSAqIEd1ZXN0cyB3aGljaCBj b25maWd1cmUgZXZlbnQgY2hhbm5lbHMgdmlhIGh2bW9wX3NldF9ldnRjaG5fdXBjYWxsX3ZlY3Rv cigpLA0KLSAgIG9yIHdoaWNoIGhpdCAlY3I4IGVtdWxhdGlvbiB3aWxsIGNhdXNlIFhlbiB0byBm YWxsIG92ZXIgYSBOVUxMIHZsYXBpYy0+cmVncw0KLSAgIHBvaW50ZXIuDQotDQotICogT24gSW50 ZWwgaGFyZHdhcmUsIGRpc2FibGluZyB0aGUgVFBSX1NIQURPVyBleGVjdXRpb24gY29udHJvbCB3 aXRob3V0DQotICAgcmVlbmFibGluZyBDUjhfe0xPQUQsU1RPUkV9IGludGVyY2VwdGlvbiBtZWFu cyB0aGF0IHRoZSBndWVzdHMgJWNyOA0KLSAgIGFjY2Vzc2VzIGludGVyYWN0IHdpdGggdGhlIHJl YWwgVFBSLiAgQW1vbmdzdCBvdGhlciB0aGluZ3MsIHNldHRpbmcgdGhlDQotICAgcmVhbCBUUFIg dG8gMHhmIGJsb2NrcyBldmVuIElQSXMgZnJvbSBpbnRlcnJ1cHRpbmcgdGhpcyBDUFUuDQotDQot ICogT24gaGFyZHdhcmUgd2hpY2ggc2V0cyB1cCB0aGUgdXNlIG9mIEludGVycnVwdCBQb3N0aW5n LCBpbmNsdWRpbmcNCi0gICBJT01NVS1Qb3N0aW5nLCBndWVzdHMgcnVuIHdpdGhvdXQgdGhlIGFw cHJvcHJpYXRlIG5vbi1yb290IGNvbmZpZ3VyYXRpb24sDQotICAgd2hpY2ggYXQgYSBtaW5pbXVt IHdpbGwgcmVzdWx0IGluIGRyb3BwZWQgaW50ZXJydXB0cy4NCi0NCi1XaGV0aGVyIG5vLUxBUElD IG1vZGUgaXMgb2YgYW55IHVzZSBhdCBhbGwgcmVtYWlucyB0byBiZSBzZWVuLg0KLQ0KLVRoaXMg aXMgWFNBLTI1Ni4NCi0NCi1SZXBvcnRlZC1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1 LmNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBj aXRyaXguY29tPg0KLVNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz QGNpdHJpeC5jb20+DQotUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4NCi0NCi1kaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2 L2RvbWFpbi5jDQotaW5kZXggZjkzMzI3Yi4uZjY1ZmMxMiAxMDA2NDQNCi0tLS0gYS94ZW4vYXJj aC94ODYvZG9tYWluLmMNCi0rKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMNCi1AQCAtNDEzLDcg KzQxMyw3IEBAIHN0YXRpYyBib29sIGVtdWxhdGlvbl9mbGFnc19vayhjb25zdCBzdHJ1Y3QgZG9t YWluICpkLCB1aW50MzJfdCBlbWZsYWdzKQ0KLSAgICAgICAgIGlmICggaXNfaGFyZHdhcmVfZG9t YWluKGQpICYmDQotICAgICAgICAgICAgICBlbWZsYWdzICE9IChYRU5fWDg2X0VNVV9MQVBJQ3xY RU5fWDg2X0VNVV9JT0FQSUMpICkNCi0gICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KLS0gICAg ICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihkKSAmJiBlbWZsYWdzICYmDQotKyAgICAgICAg aWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICYmDQotICAgICAgICAgICAgICBlbWZsYWdzICE9 IFhFTl9YODZfRU1VX0FMTCAmJiBlbWZsYWdzICE9IFhFTl9YODZfRU1VX0xBUElDICkNCi0gICAg ICAgICAgICAgcmV0dXJuIGZhbHNlOw0KLSAgICAgfQ0KLS0gDQoyLjE3LjANCg0KDQoNCi0tLQ0K VW5zdWJzY3JpYmU6ICBhbHBpbmUtYXBvcnRzK3Vuc3Vic2NyaWJlQGxpc3RzLmFscGluZWxpbnV4 Lm9yZw0KSGVscDogICAgICAgICBhbHBpbmUtYXBvcnRzK2hlbHBAbGlzdHMuYWxwaW5lbGludXgu b3JnDQotLS0NCg==