From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 999FEC77B6F for ; Tue, 11 Apr 2023 15:17:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=KLrRcqPhELE6xuCTdjBjNIG2qM+y1NbXIrtWKj5v5h4=; b=xOi7QjCB0dIEnG iGTBL2l61n5NcgAixvpXZI+fPo1e/MJvXfnnXNIm0YAvI1Tw1nX3dRcYU0d+kjPa3aH1ttf1NPiGY PIsYa9sptYWtQbl0AU8x33q57bWJE80Aho/m0Z7G8ywMpMklBSj/W3e4sHJM70uYnUtNgLRH/tuae CK6+JhhyKEr3peK5rQhYgpcOhgNN1XGbSTLtpMERxqrxkJ/OxYOzxbAWU4OkLrSueDa7diykMq9nb Hc+7e96t2XhirbcWUIC6K3yWYhgJmpXuz7Ay1wlM8xBg7QU/XiZkCexOB4VPqVNivhoQHbLqGb2sT OZPQg0eVr8offP2XwePg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pmFke-000PBU-1u; Tue, 11 Apr 2023 15:17:44 +0000 Received: from madras.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e5ab]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pmFkY-000P9K-1k; Tue, 11 Apr 2023 15:17:42 +0000 Received: from nicolas-tpx395.localdomain (unknown [IPv6:2606:6d00:15:199e::580]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id 0A54066031C2; Tue, 11 Apr 2023 16:17:35 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1681226257; bh=IF54v8M1hJ8g4ceqh54i5dMyY873CbLRpDF9efXKrfQ=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=PVeZ/RtIgsvyEV7h7MBxATH/chbR+xhCTMVJEA9TXehnmEosxCgXMb1qILXA5jKTK i2xrm70RWH/U5h+u0klVPJx/v7dqxQk6yfgUReG5/5dbjdi8nPVZM2fiOKz8WcckqQ oKip312Cifz5MbSuywC8gRYpR9R54MSpef8eC8F1ptpDhvlHSiY+QOQMe7HHJvdT87 9CRlmM6voolS3JfcgQ25M/RhC+93ZK03upGyRpmA7A88hjMvo3wIOu0S2be4dGSSzo uOAUQ/vge7Nh+4z9fU1uQKVZjYuzjCOQlYX0jBAXvwnb0iFkaBC9Jrnl0xq8eu5HjQ ubQsPGBo2oGGg== Message-ID: <5943b2bf5774ff70e732b2af4631d3f241f3f1b9.camel@collabora.com> Subject: Re: [PATCH v5 10/13] media: verisilicon: Add film grain feature to AV1 driver From: Nicolas Dufresne To: Benjamin Gaignard , ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, heiko@sntech.de, hverkuil-cisco@xs4all.nl Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com Date: Tue, 11 Apr 2023 11:17:26 -0400 In-Reply-To: <20230330154043.1250736-11-benjamin.gaignard@collabora.com> References: <20230330154043.1250736-1-benjamin.gaignard@collabora.com> <20230330154043.1250736-11-benjamin.gaignard@collabora.com> User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230411_081738_847643_C9D4452F X-CRM114-Status: GOOD ( 14.50 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org TGUgamV1ZGkgMzAgbWFycyAyMDIzIMOgIDE3OjQwICswMjAwLCBCZW5qYW1pbiBHYWlnbmFyZCBh IMOpY3JpdMKgOgo+IEZpbG0gZ3JhaW4gZmVhdHVyZSBhZGQgIm9sZCBzdHlsZSIgZ3JhaW4gbm9p c2Ugb24gZGVjb2RlZCBzdHJlYW1zLgo+IEdyYWluIG5vaXNlIGlzIGFwcGxpZWQgYWZ0ZXIgZGVj b2RpbmcgYnkgdGhlIHBvc3Rwcm9jZXNzb3IuCj4gVGhlIGxldmVsIG9mIGdyYWluIGlzIGJhc2Vk IG9uIGdhdXNzaWFuIHNlcXVlbmNlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWdu YXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBjb2xsYWJvcmEuY29tPgo+IApSZXZpZXdlZC1ieTogTmlj b2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKPiAtLS0KPiAg ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9NYWtlZmlsZSAgIHwgICAxICsKPiAg Li4uL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19ody5oICAgIHwgICAzICsKPiAg Li4uL3ZlcmlzaWxpY29uL3JvY2tjaGlwX2F2MV9maWxtZ3JhaW4uYyAgICAgIHwgNDAxICsrKysr KysrKysrKysrKysrKwo+ICAuLi4vdmVyaXNpbGljb24vcm9ja2NoaXBfYXYxX2ZpbG1ncmFpbi5o ICAgICAgfCAgMzYgKysKPiAgLi4uL3ZlcmlzaWxpY29uL3JvY2tjaGlwX3ZwdTk4MV9od19hdjFf ZGVjLmMgIHwgMjEwICsrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDY1MSBpbnNlcnRpb25z KCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxp Y29uL3JvY2tjaGlwX2F2MV9maWxtZ3JhaW4uYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9yb2NrY2hpcF9hdjFfZmlsbWdyYWluLmgKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9NYWtlZmls ZSBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vTWFrZWZpbGUKPiBpbmRleCBj OWE5ODA2YWI4YzUuLjZhZDJlZjg4NTkyMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3ZlcmlzaWxpY29uL01ha2VmaWxlCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS92ZXJpc2lsaWNvbi9NYWtlZmlsZQo+IEBAIC0xOSw2ICsxOSw3IEBAIGhhbnRyby12cHUteSAr PSBcCj4gIAkJcm9ja2NoaXBfdnB1Ml9od19tcGVnMl9kZWMubyBcCj4gIAkJcm9ja2NoaXBfdnB1 Ml9od192cDhfZGVjLm8gXAo+ICAJCXJvY2tjaGlwX3ZwdTk4MV9od19hdjFfZGVjLm8gXAo+ICsJ CXJvY2tjaGlwX2F2MV9maWxtZ3JhaW4ubyBcCj4gIAkJcm9ja2NoaXBfYXYxX2VudHJvcHltb2Rl Lm8gXAo+ICAJCWhhbnRyb19qcGVnLm8gXAo+ICAJCWhhbnRyb19oMjY0Lm8gXAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19ody5oIGIvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9faHcuaAo+IGluZGV4IDI1NDU2 ZmI5NjBjOC4uZTNkMzAzY2VhN2Y2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vdmVyaXNpbGljb24vaGFudHJvX2h3LmgKPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3ZlcmlzaWxpY29uL2hhbnRyb19ody5oCj4gQEAgLTE2LDYgKzE2LDcgQEAKPiAgI2luY2x1ZGUg PG1lZGlhL3ZpZGVvYnVmMi1jb3JlLmg+Cj4gIAo+ICAjaW5jbHVkZSAicm9ja2NoaXBfYXYxX2Vu dHJvcHltb2RlLmgiCj4gKyNpbmNsdWRlICJyb2NrY2hpcF9hdjFfZmlsbWdyYWluLmgiCj4gIAo+ ICAjZGVmaW5lIERFQ184MTkwX0FMSUdOX01BU0sJMHgwN1UKPiAgCj4gQEAgLTI4OCw2ICsyODks NyBAQCBzdHJ1Y3QgaGFudHJvX2F2MV9mcmFtZV9yZWYgewo+ICAgKiBAZ2xvYmFsX21vZGVsOgln bG9iYWwgbW9kZWwgYnVmZmVyCj4gICAqIEB0aWxlX2luZm86CQl0aWxlIGluZm8gYnVmZmVyCj4g ICAqIEBzZWdtZW50OgkJc2VnbWVudGF0aW9uIGluZm8gYnVmZmVyCj4gKyAqIEBmaWxtX2dyYWlu OgkJZmlsbSBncmFpbiBidWZmZXIKPiAgICogQHByb2JfdGJsOgkJcHJvYmFiaWxpdHkgdGFibGUK PiAgICogQHByb2JfdGJsX291dDoJcHJvYmFiaWxpdHkgdGFibGUgb3V0cHV0Cj4gICAqIEB0aWxl X2J1ZjoJCXRpbGUgYnVmZmVyCj4gQEAgLTMxMiw2ICszMTQsNyBAQCBzdHJ1Y3QgaGFudHJvX2F2 MV9kZWNfaHdfY3R4IHsKPiAgCXN0cnVjdCBoYW50cm9fYXV4X2J1ZiBnbG9iYWxfbW9kZWw7Cj4g IAlzdHJ1Y3QgaGFudHJvX2F1eF9idWYgdGlsZV9pbmZvOwo+ICAJc3RydWN0IGhhbnRyb19hdXhf YnVmIHNlZ21lbnQ7Cj4gKwlzdHJ1Y3QgaGFudHJvX2F1eF9idWYgZmlsbV9ncmFpbjsKPiAgCXN0 cnVjdCBoYW50cm9fYXV4X2J1ZiBwcm9iX3RibDsKPiAgCXN0cnVjdCBoYW50cm9fYXV4X2J1ZiBw cm9iX3RibF9vdXQ7Cj4gIAlzdHJ1Y3QgaGFudHJvX2F1eF9idWYgdGlsZV9idWY7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vcm9ja2NoaXBfYXYxX2Zp bG1ncmFpbi5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9yb2NrY2hpcF9h djFfZmlsbWdyYWluLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAw MC4uZjJhZTg0ZjBiNDM2Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vdmVyaXNpbGljb24vcm9ja2NoaXBfYXYxX2ZpbG1ncmFpbi5jCj4gQEAgLTAsMCArMSw0 MDEgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSBvciBBcGFj aGUtMi4wCj4gKwo+ICsjaW5jbHVkZSAicm9ja2NoaXBfYXYxX2ZpbG1ncmFpbi5oIgo+ICsKPiAr c3RhdGljIGNvbnN0IHMzMiBnYXVzc2lhbl9zZXF1ZW5jZVsyMDQ4XSA9IHsKPiArCTU2LCA1Njgs IC0xODAsIDE3MiwgMTI0LCAtODQsIDE3MiwgLTY0LCAtOTAwLCAyNCwgODIwLAo+ICsJMjI0LCAx MjQ4LCA5OTYsIDI3MiwgLTgsIC05MTYsIC0zODgsIC03MzIsIC0xMDQsIC0xODgsIDgwMCwKPiAr CTExMiwgLTY1MiwgLTMyMCwgLTM3NiwgMTQwLCAtMjUyLCA0OTIsIC0xNjgsIDQ0LCAtNzg4LCA1 ODgsCj4gKwktNTg0LCA1MDAsIC0yMjgsIDEyLCA2ODAsIDI3MiwgLTQ3NiwgOTcyLCAtMTAwLCA2 NTIsIDM2OCwKPiArCTQzMiwgLTE5NiwgLTcyMCwgLTE5MiwgMTAwMCwgLTMzMiwgNjUyLCAtMTM2 LCAtNTUyLCAtNjA0LCAtNCwKPiArCTE5MiwgLTIyMCwgLTEzNiwgMTAwMCwgLTUyLCAzNzIsIC05 NiwgLTYyNCwgMTI0LCAtMjQsIDM5NiwKPiArCTU0MCwgLTEyLCAtMTA0LCA2NDAsIDQ2NCwgMjQ0 LCAtMjA4LCAtODQsIDM2OCwgLTUyOCwgLTc0MCwKPiArCTI0OCwgLTk2OCwgLTg0OCwgNjA4LCAz NzYsIC02MCwgLTI5MiwgLTQwLCAtMTU2LCAyNTIsIC0yOTIsCj4gKwkyNDgsIDIyNCwgLTI4MCwg NDAwLCAtMjQ0LCAyNDQsIC02MCwgNzYsIC04MCwgMjEyLCA1MzIsCj4gKwkzNDAsIDEyOCwgLTM2 LCA4MjQsIC0zNTIsIC02MCwgLTI2NCwgLTk2LCAtNjEyLCA0MTYsIC03MDQsCj4gKwkyMjAsIC0y MDQsIDY0MCwgLTE2MCwgMTIyMCwgLTQwOCwgOTAwLCAzMzYsIDIwLCAtMzM2LCAtOTYsCj4gKwkt NzkyLCAzMDQsIDQ4LCAtMjgsIC0xMjMyLCAtMTE3MiwgLTQ0OCwgMTA0LCAtMjkyLCAtNTIwLCAy NDQsCj4gKwk2MCwgLTk0OCwgMCwgLTcwOCwgMjY4LCAxMDgsIDM1NiwgLTU0OCwgNDg4LCAtMzQ0 LCAtMTM2LAo+ICsJNDg4LCAtMTk2LCAtMjI0LCA2NTYsIC0yMzYsIC0xMTI4LCA2MCwgNCwgMTQw LCAyNzYsIC02NzYsCj4gKwktMzc2LCAxNjgsIC0xMDgsIDQ2NCwgOCwgNTY0LCA2NCwgMjQwLCAz MDgsIC0zMDAsIC00MDAsCj4gKwktNDU2LCAtMTM2LCA1NiwgMTIwLCAtNDA4LCAtMTE2LCA0MzYs IDUwNCwgLTIzMiwgMzI4LCA4NDQsCj4gKwktMTY0LCAtODQsIDc4NCwgLTE2OCwgMjMyLCAtMjI0 LCAzNDgsIC0zNzYsIDEyOCwgNTY4LCA5NiwKPiArCS0xMjQ0LCAtMjg4LCAyNzYsIDg0OCwgODMy LCAtMzYwLCA2NTYsIDQ2NCwgLTM4NCwgLTMzMiwgLTM1NiwKPiArCTcyOCwgLTM4OCwgMTYwLCAt MTkyLCA0NjgsIDI5NiwgMjI0LCAxNDAsIC03NzYsIC0xMDAsIDI4MCwKPiArCTQsIDE5NiwgNDQs IC0zNiwgLTY0OCwgOTMyLCAxNiwgMTQyOCwgMjgsIDUyOCwgODA4LAo+ICsJNzcyLCAyMCwgMjY4 LCA4OCwgLTMzMiwgLTI4NCwgMTI0LCAtMzg0LCAtNDQ4LCAyMDgsIC0yMjgsCj4gKwktMTA0NCwg LTMyOCwgNjYwLCAzODAsIC0xNDgsIC0zMDAsIDU4OCwgMjQwLCA1NDAsIDI4LCAxMzYsCj4gKwkt ODgsIC00MzYsIDI1NiwgMjk2LCAtMTAwMCwgMTQwMCwgMCwgLTQ4LCAxMDU2LCAtMTM2LCAyNjQs Cj4gKwktNTI4LCAtMTEwOCwgNjMyLCAtNDg0LCAtNTkyLCAtMzQ0LCA3OTYsIDEyNCwgLTY2OCwg LTc2OCwgMzg4LAo+ICsJMTI5NiwgLTIzMiwgLTE4OCwgLTIwMCwgLTI4OCwgLTQsIDMwOCwgMTAw LCAtMTY4LCAyNTYsIC01MDAsCj4gKwkyMDQsIC01MDgsIDY0OCwgLTEzNiwgMzcyLCAtMjcyLCAt MTIwLCAtMTAwNCwgLTU1MiwgLTU0OCwgLTM4NCwKPiArCTU0OCwgLTI5NiwgNDI4LCAtMTA4LCAt OCwgLTkxMiwgLTMyNCwgLTIyNCwgLTg4LCAtMTEyLCAtMjIwLAo+ICsJLTEwMCwgOTk2LCAtNzk2 LCA1NDgsIDM2MCwgLTIxNiwgMTgwLCA0MjgsIC0yMDAsIC0yMTIsIDE0OCwKPiArCTk2LCAxNDgs IDI4NCwgMjE2LCAtNDEyLCAtMzIwLCAxMjAsIC0zMDAsIC0zODQsIC02MDQsIC01NzIsCj4gKwkt MzMyLCAtOCwgLTE4MCwgLTE3NiwgNjk2LCAxMTYsIC04OCwgNjI4LCA3NiwgNDQsIC01MTYsCj4g KwkyNDAsIC0yMDgsIC00MCwgMTAwLCAtNTkyLCAzNDQsIC0zMDgsIC00NTIsIC0yMjgsIDIwLCA5 MTYsCj4gKwktMTc1MiwgLTEzNiwgLTM0MCwgLTgwNCwgMTQwLCA0MCwgNTEyLCAzNDAsIDI0OCwg MTg0LCAtNDkyLAo+ICsJODk2LCAtMTU2LCA5MzIsIC02MjgsIDMyOCwgLTY4OCwgLTQ0OCwgLTYx NiwgLTc1MiwgLTEwMCwgNTYwLAo+ICsJLTEwMjAsIDE4MCwgLTgwMCwgLTY0LCA3NiwgNTc2LCAx MDY4LCAzOTYsIDY2MCwgNTUyLCAtMTA4LAo+ICsJLTI4LCAzMjAsIC02MjgsIDMxMiwgLTkyLCAt OTIsIC00NzIsIDI2OCwgMTYsIDU2MCwgNTE2LAo+ICsJLTY3MiwgLTUyLCA0OTIsIC0xMDAsIDI2 MCwgMzg0LCAyODQsIDI5MiwgMzA0LCAtMTQ4LCA4OCwKPiArCS0xNTIsIDEwMTIsIDEwNjQsIC0y MjgsIDE2NCwgLTM3NiwgLTY4NCwgNTkyLCAtMzkyLCAxNTYsIDE5NiwKPiArCS01MjQsIC02NCwg LTg4NCwgMTYwLCAtMTc2LCA2MzYsIDY0OCwgNDA0LCAtMzk2LCAtNDM2LCA4NjQsCj4gKwk0MjQs IC03MjgsIDk4OCwgLTYwNCwgOTA0LCAtNTkyLCAyOTYsIC0yMjQsIDUzNiwgLTE3NiwgLTkyMCwK PiArCTQzNiwgLTQ4LCAxMTc2LCAtODg0LCA0MTYsIC03NzYsIC04MjQsIC04ODQsIDUyNCwgLTU0 OCwgLTU2NCwKPiArCS02OCwgLTE2NCwgLTk2LCA2OTIsIDM2NCwgLTY5MiwgLTEwMTIsIC02OCwg MjYwLCAtNDgwLCA4NzYsCj4gKwktMTExNiwgNDUyLCAtMzMyLCAtMzUyLCA4OTIsIC0xMDg4LCAx MjIwLCAtNjc2LCAxMiwgLTI5MiwgMjQ0LAo+ICsJNDk2LCAzNzIsIC0zMiwgMjgwLCAyMDAsIDEx MiwgLTQ0MCwgLTk2LCAyNCwgLTY0NCwgLTE4NCwKPiArCTU2LCAtNDMyLCAyMjQsIC05ODAsIDI3 MiwgLTI2MCwgMTQ0LCAtNDM2LCA0MjAsIDM1NiwgMzY0LAo+ICsJLTUyOCwgNzYsIDE3MiwgLTc0 NCwgLTM2OCwgNDA0LCAtNzUyLCAtNDE2LCA2ODQsIC02ODgsIDcyLAo+ICsJNTQwLCA0MTYsIDky LCA0NDQsIDQ4MCwgLTcyLCAtMTQxNiwgMTY0LCAtMTE3MiwgLTY4LCAyNCwKPiArCTQyNCwgMjY0 LCAxMDQwLCAxMjgsIC05MTIsIC01MjQsIC0zNTYsIDY0LCA4NzYsIC0xMiwgNCwKPiArCS04OCwg NTMyLCAyNzIsIC01MjQsIDMyMCwgMjc2LCAtNTA4LCA5NDAsIDI0LCAtNDAwLCAtMTIwLAo+ICsJ NzU2LCA2MCwgMjM2LCAtNDEyLCAxMDAsIDM3NiwgLTQ4NCwgNDAwLCAtMTAwLCAtNzQwLCAtMTA4 LAo+ICsJLTI2MCwgMzI4LCAtMjY4LCAyMjQsIC0yMDAsIC00MTYsIDE4NCwgLTYwNCwgLTU2NCwg LTIwLCAyOTYsCj4gKwk2MCwgODkyLCAtODg4LCA2MCwgMTY0LCA2OCwgLTc2MCwgMjE2LCAtMjk2 LCA5MDQsIC0zMzYsCj4gKwktMjgsIDQwNCwgLTM1NiwgLTU2OCwgLTIwOCwgLTE0ODAsIC01MTIs IDI5NiwgMzI4LCAtMzYwLCAtMTY0LAo+ICsJLTE1NjAsIC03NzYsIDExNTYsIC00MjgsIDE2NCwg LTUwNCwgLTExMiwgMTIwLCAtMjE2LCAtMTQ4LCAtMjY0LAo+ICsJMzA4LCAzMiwgNjQsIC03Miwg NzIsIDExNiwgMTc2LCAtNjQsIC0yNzIsIDQ2MCwgLTUzNiwKPiArCS03ODQsIC0yODAsIDM0OCwg MTA4LCAtNzUyLCAtMTMyLCA1MjQsIC01NDAsIC03NzYsIDExNiwgLTI5NiwKPiArCS0xMTk2LCAt Mjg4LCAtNTYwLCAxMDQwLCAtNDcyLCAxMTYsIC04NDgsIC0xMTE2LCAxMTYsIDYzNiwgNjk2LAo+ ICsJMjg0LCAtMTc2LCAxMDE2LCAyMDQsIC04NjQsIC02NDgsIC0yNDgsIDM1NiwgOTcyLCAtNTg0 LCAtMjA0LAo+ICsJMjY0LCA4ODAsIDUyOCwgLTI0LCAtMTg0LCAxMTYsIDQ0OCwgLTE0NCwgODI4 LCA1MjQsIDIxMiwKPiArCS0yMTIsIDUyLCAxMiwgMjAwLCAyNjgsIC00ODgsIC00MDQsIC04ODAs IDgyNCwgLTY3MiwgLTQwLAo+ICsJOTA4LCAtMjQ4LCA1MDAsIDcxNiwgLTU3NiwgNDkyLCAtNTc2 LCAxNiwgNzIwLCAtMTA4LCAzODQsCj4gKwkxMjQsIDM0NCwgMjgwLCA1NzYsIC01MDAsIDI1Miwg MTA0LCAtMzA4LCAxOTYsIC0xODgsIC04LAo+ICsJMTI2OCwgMjk2LCAxMDMyLCAtMTE5NiwgNDM2 LCAzMTYsIDM3MiwgLTQzMiwgLTIwMCwgLTY2MCwgNzA0LAo+ICsJLTIyNCwgNTk2LCAtMTMyLCAy NjgsIDMyLCAtNDUyLCA4ODQsIDEwNCwgLTEwMDgsIDQyNCwgLTEzNDgsCj4gKwktMjgwLCA0LCAt MTE2OCwgMzY4LCA0NzYsIDY5NiwgMzAwLCAtOCwgMjQsIDE4MCwgLTU5MiwKPiArCS0xOTYsIDM4 OCwgMzA0LCA1MDAsIDcyNCwgLTE2MCwgMjQ0LCAtODQsIDI3MiwgLTI1NiwgLTQyMCwKPiArCTMy MCwgMjA4LCAtMTQ0LCAtMTU2LCAxNTYsIDM2NCwgNDUyLCAyOCwgNTQwLCAzMTYsIDIyMCwKPiAr CS02NDQsIC0yNDgsIDQ2NCwgNzIsIDM2MCwgMzIsIC0zODgsIDQ5NiwgLTY4MCwgLTQ4LCAyMDgs Cj4gKwktMTE2LCAtNDA4LCA2MCwgLTYwNCwgLTM5MiwgNTQ4LCAtODQwLCA3ODQsIC00NjAsIDY1 NiwgLTU0NCwKPiArCS0zODgsIC0yNjQsIDkwOCwgLTgwMCwgLTYyOCwgLTYxMiwgLTU2OCwgNTcy LCAtMjIwLCAxNjQsIDI4OCwKPiArCS0xNiwgLTMwOCwgMzA4LCAtMTEyLCAtNjM2LCAtNzYwLCAy ODAsIC02NjgsIDQzMiwgMzY0LCAyNDAsCj4gKwktMTk2LCA2MDQsIDM0MCwgMzg0LCAxOTYsIDU5 MiwgLTQ0LCAtNTAwLCA0MzIsIC01ODAsIC0xMzIsCj4gKwk2MzYsIC03NiwgMzkyLCA0LCAtNDEy LCA1NDAsIDUwOCwgMzI4LCAtMzU2LCAtMzYsIDE2LAo+ICsJLTIyMCwgLTY0LCAtMjQ4LCAtNjAs IDI0LCAtMTkyLCAzNjgsIDEwNDAsIDkyLCAtMjQsIC0xMDQ0LAo+ICsJLTMyLCA0MCwgMTA0LCAx NDgsIDE5MiwgLTEzNiwgLTUyMCwgNTYsIC04MTYsIC0yMjQsIDczMiwKPiArCTM5MiwgMzU2LCAy MTIsIC04MCwgLTQyNCwgLTEwMDgsIC0zMjQsIDU4OCwgLTE0OTYsIDU3NiwgNDYwLAo+ICsJLTgx NiwgLTg0OCwgNTYsIC01ODAsIC05MiwgLTEzNzIsIC0xMTIsIC00OTYsIDIwMCwgMzY0LCA1MiwK PiArCS0xNDAsIDQ4LCAtNDgsIC02MCwgODQsIDcyLCA0MCwgMTMyLCAtMzU2LCAtMjY4LCAtMTA0 LAo+ICsJLTI4NCwgLTQwNCwgNzMyLCAtNTIwLCAxNjQsIC0zMDQsIC01NDAsIDEyMCwgMzI4LCAt NzYsIC00NjAsCj4gKwk3NTYsIDM4OCwgNTg4LCAyMzYsIC00MzYsIC03MiwgLTE3NiwgLTQwNCwg LTMxNiwgLTE0OCwgNzE2LAo+ICsJLTYwNCwgNDA0LCAtNzIsIC04OCwgLTg4OCwgLTY4LCA5NDQs IDg4LCAtMjIwLCAtMzQ0LCA5NjAsCj4gKwk0NzIsIDQ2MCwgLTIzMiwgNzA0LCAxMjAsIDgzMiwg LTIyOCwgNjkyLCAtNTA4LCAxMzIsIC00NzYsCj4gKwk4NDQsIC03NDgsIC0zNjQsIC00NCwgMTEx NiwgLTExMDQsIC0xMDU2LCA3NiwgNDI4LCA1NTIsIC02OTIsCj4gKwk2MCwgMzU2LCA5NiwgLTM4 NCwgLTE4OCwgLTYxMiwgLTU3NiwgNzM2LCA1MDgsIDg5MiwgMzUyLAo+ICsJLTExMzIsIDUwNCwg LTI0LCAtMzUyLCAzMjQsIDMzMiwgLTYwMCwgLTMxMiwgMjkyLCA1MDgsIC0xNDQsCj4gKwktOCwg NDg0LCA0OCwgMjg0LCAtMjYwLCAtMjQwLCAyNTYsIC0xMDAsIC0yOTIsIC0yMDQsIC00NCwKPiAr CTQ3MiwgLTIwNCwgOTA4LCAtMTg4LCAtMTAwMCwgLTI1NiwgOTIsIDExNjQsIC0zOTIsIDU2NCwg MzU2LAo+ICsJNjUyLCAtMjgsIC04ODQsIDI1NiwgNDg0LCAtMTkyLCA3NjAsIC0xNzYsIDM3Niwg LTUyNCwgLTQ1MiwKPiArCS00MzYsIDg2MCwgLTczNiwgMjEyLCAxMjQsIDUwNCwgLTQ3NiwgNDY4 LCA3NiwgLTQ3MiwgNTUyLAo+ICsJLTY5MiwgLTk0NCwgLTYyMCwgNzQwLCAtMjQwLCA0MDAsIDEz MiwgMjAsIDE5MiwgLTE5NiwgMjY0LAo+ICsJLTY2OCwgLTEwMTIsIC02MCwgMjk2LCAtMzE2LCAt ODI4LCA3NiwgLTE1NiwgMjg0LCAtNzY4LCAtNDQ4LAo+ICsJLTgzMiwgMTQ4LCAyNDgsIDY1Miwg NjE2LCAxMjM2LCAyODgsIC0zMjgsIC00MDAsIC0xMjQsIDU4OCwKPiArCTIyMCwgNTIwLCAtNjk2 LCAxMDMyLCA3NjgsIC03NDAsIC05MiwgLTI3MiwgMjk2LCA0NDgsIC00NjQsCj4gKwk0MTIsIC0y MDAsIDM5MiwgNDQwLCAtMjAwLCAyNjQsIC0xNTIsIC0yNjAsIDMyMCwgMTAzMiwgMjE2LAo+ICsJ MzIwLCAtOCwgLTY0LCAxNTYsIC0xMDE2LCAxMDg0LCAxMTcyLCA1MzYsIDQ4NCwgLTQzMiwgMTMy LAo+ICsJMzcyLCAtNTIsIC0yNTYsIDg0LCAxMTYsIC0zNTIsIDQ4LCAxMTYsIDMwNCwgLTM4NCwg NDEyLAo+ICsJOTI0LCAtMzAwLCA1MjgsIDYyOCwgMTgwLCA2NDgsIDQ0LCAtOTgwLCAtMjIwLCAx MzIwLCA0OCwKPiArCTMzMiwgNzQ4LCA1MjQsIC0yNjgsIC03MjAsIDU0MCwgLTI3NiwgNTY0LCAt MzQ0LCAtMjA4LCAtMTk2LAo+ICsJNDM2LCA4OTYsIDg4LCAtMzkyLCAxMzIsIDgwLCAtOTY0LCAt Mjg4LCA1NjgsIDU2LCAtNDgsCj4gKwktNDU2LCA4ODgsIDgsIDU1MiwgLTE1NiwgLTI5MiwgOTQ4 LCAyODgsIDEyOCwgLTcxNiwgLTI5MiwKPiArCTExOTIsIC0xNTIsIDg3NiwgMzUyLCAtNjAwLCAt MjYwLCAtODEyLCAtNDY4LCAtMjgsIC0xMjAsIC0zMiwKPiArCS00NCwgMTI4NCwgNDk2LCAxOTIs IDQ2NCwgMzEyLCAtNzYsIC01MTYsIC0zODAsIC00NTYsIC0xMDEyLAo+ICsJLTQ4LCAzMDgsIC0x NTYsIDM2LCA0OTIsIC0xNTYsIC04MDgsIDE4OCwgMTY1MiwgNjgsIC0xMjAsCj4gKwktMTE2LCAz MTYsIDE2MCwgLTE0MCwgMzUyLCA4MDgsIC00MTYsIDU5MiwgMzE2LCAtNDgwLCA1NiwKPiArCTUy OCwgLTIwNCwgLTU2OCwgMzcyLCAtMjMyLCA3NTIsIC0zNDQsIDc0NCwgLTQsIDMyNCwgLTQxNiwK PiArCS02MDAsIDc2OCwgMjY4LCAtMjQ4LCAtODgsIC0xMzIsIC00MjAsIC00MzIsIDgwLCAtMjg4 LCA0MDQsCj4gKwktMzE2LCAtMTIxNiwgLTU4OCwgNTIwLCAtMTA4LCA5MiwgLTMyMCwgMzY4LCAt NDgwLCAtMjE2LCAtOTIsCj4gKwkxNjg4LCAtMzAwLCAxODAsIDEwMjAsIC0xNzYsIDgyMCwgLTY4 LCAtMjI4LCAtMjYwLCA0MzYsIC05MDQsCj4gKwkyMCwgNDAsIC01MDgsIDQ0MCwgLTczNiwgMzEy LCAzMzIsIDIwNCwgNzYwLCAtMzcyLCA3MjgsCj4gKwk5NiwgLTIwLCAtNjMyLCAtNTIwLCAtNTYw LCAzMzYsIDEwNzYsIC02NCwgLTUzMiwgNzc2LCA1ODQsCj4gKwkxOTIsIDM5NiwgLTcyOCwgLTUy MCwgMjc2LCAtMTg4LCA4MCwgLTUyLCAtNjEyLCAtMjUyLCAtNDgsCj4gKwk2NDgsIDIxMiwgLTY4 OCwgMjI4LCAtNTIsIC0yNjAsIDQyOCwgLTQxMiwgLTI3MiwgLTQwNCwgMTgwLAo+ICsJODE2LCAt Nzk2LCA0OCwgMTUyLCA0ODQsIC04OCwgLTIxNiwgOTg4LCA2OTYsIDE4OCwgLTUyOCwKPiArCTY0 OCwgLTExNiwgLTE4MCwgMzE2LCA0NzYsIDEyLCAtNTY0LCA5NiwgNDc2LCAtMjUyLCAtMzY0LAo+ ICsJLTM3NiwgLTM5MiwgNTU2LCAtMjU2LCAtNTc2LCAyNjAsIC0zNTIsIDEyMCwgLTE2LCAtMTM2 LCAtMjYwLAo+ICsJLTQ5MiwgNzIsIDU1NiwgNjYwLCA1ODAsIDYxNiwgNzcyLCA0MzYsIDQyNCwg LTMyLCAtMzI0LAo+ICsJLTEyNjgsIDQxNiwgLTMyNCwgLTgwLCA5MjAsIDE2MCwgMjI4LCA3MjQs IDMyLCAtNTE2LCA2NCwKPiArCTM4NCwgNjgsIC0xMjgsIDEzNiwgMjQwLCAyNDgsIC0yMDQsIC02 OCwgMjUyLCAtOTMyLCAtMTIwLAo+ICsJLTQ4MCwgLTYyOCwgLTg0LCAxOTIsIDg1MiwgLTQwNCwg LTI4OCwgLTEzMiwgMjA0LCAxMDAsIDE2OCwKPiArCS02OCwgLTE5NiwgLTg2OCwgNDYwLCAxMDgw LCAzODAsIC04MCwgMjQ0LCAwLCA0ODQsIC04ODgsCj4gKwk2NCwgMTg0LCAzNTIsIDYwMCwgNDYw LCAxNjQsIDYwNCwgLTE5NiwgMzIwLCAtNjQsIDU4OCwKPiArCS0xODQsIDIyOCwgMTIsIDM3Miwg NDgsIC04NDgsIC0zNDQsIDIyNCwgMjA4LCAtMjAwLCA0ODQsCj4gKwkxMjgsIC0yMCwgMjcyLCAt NDY4LCAtODQwLCAzODQsIDI1NiwgLTcyMCwgLTUyMCwgLTQ2NCwgLTU4MCwKPiArCTExMiwgLTEy MCwgNjQ0LCAtMzU2LCAtMjA4LCAtNjA4LCAtNTI4LCA3MDQsIDU2MCwgLTQyNCwgMzkyLAo+ICsJ ODI4LCA0MCwgODQsIDIwMCwgLTE1MiwgMCwgLTE0NCwgNTg0LCAyODAsIC0xMjAsIDgwLAo+ICsJ LTU1NiwgLTk3MiwgLTE5NiwgLTQ3MiwgNzI0LCA4MCwgMTY4LCAtMzIsIDg4LCAxNjAsIC02ODgs Cj4gKwkwLCAxNjAsIDM1NiwgMzcyLCAtNzc2LCA3NDAsIC0xMjgsIDY3NiwgLTI0OCwgLTQ4MCwg NCwKPiArCS0zNjQsIDk2LCA1NDQsIDIzMiwgLTEwMzIsIDk1NiwgMjM2LCAzNTYsIDIwLCAtNDAs IDMwMCwKPiArCTI0LCAtNjc2LCAtNTk2LCAxMzIsIDExMjAsIC0xMDQsIDUzMiwgLTEwOTYsIDU2 OCwgNjQ4LCA0NDQsCj4gKwk1MDgsIDM4MCwgMTg4LCAtMzc2LCAtNjA0LCAxNDg4LCA0MjQsIDI0 LCA3NTYsIC0yMjAsIC0xOTIsCj4gKwk3MTYsIDEyMCwgOTIwLCA2ODgsIDE2OCwgNDQsIC00NjAs IDU2OCwgMjg0LCAxMTQ0LCAxMTYwLAo+ICsJNjAwLCA0MjQsIDg4OCwgNjU2LCAtMzU2LCAtMzIw LCAyMjAsIDMxNiwgLTE3NiwgLTcyNCwgLTE4OCwKPiArCS04MTYsIC02MjgsIC0zNDgsIC0yMjgs IC0zODAsIDEwMTIsIC00NTIsIC02NjAsIDczNiwgOTI4LCA0MDQsCj4gKwktNjk2LCAtNzIsIC0y NjgsIC04OTIsIDEyOCwgMTg0LCAtMzQ0LCAtNzgwLCAzNjAsIDMzNiwgNDAwLAo+ICsJMzQ0LCA0 MjgsIDU0OCwgLTExMiwgMTM2LCAtMjI4LCAtMjE2LCAtODIwLCAtNTE2LCAzNDAsIDkyLAo+ICsJ LTEzNiwgMTE2LCAtMzAwLCAzNzYsIC0yNDQsIDEwMCwgLTMxNiwgLTUyMCwgLTI4NCwgLTEyLCA4 MjQsCj4gKwkxNjQsIC01NDgsIC0xODAsIC0xMjgsIDExNiwgLTkyNCwgLTgyOCwgMjY4LCAtMzY4 LCAtNTgwLCA2MjAsCj4gKwkxOTIsIDE2MCwgMCwgLTE2NzYsIDEwNjgsIDQyNCwgLTU2LCAtMzYw LCA0NjgsIC0xNTYsIDcyMCwKPiArCTI4OCwgLTUyOCwgNTU2LCAtMzY0LCA1NDgsIC0xNDgsIDUw NCwgMzE2LCAxNTIsIC02NDgsIC02MjAsCj4gKwktNjg0LCAtMjQsIC0zNzYsIC0zODQsIC0xMDgs IC05MjAsIC0xMDMyLCA3NjgsIDE4MCwgLTI2NCwgLTUwOCwKPiArCS0xMjY4LCAtMjYwLCAtNjAs IDMwMCwgLTI0MCwgOTg4LCA3MjQsIC0zNzYsIC01NzYsIC0yMTIsIC03MzYsCj4gKwk1NTYsIDE5 MiwgMTA5MiwgLTYyMCwgLTg4MCwgMzc2LCAtNTYsIC00LCAtMjE2LCAtMzIsIDgzNiwKPiArCTI2 OCwgMzk2LCAxMzMyLCA4NjQsIC02MDAsIDEwMCwgNTYsIC00MTIsIC05MiwgMzU2LCAxODAsCj4g Kwk4ODQsIC00NjgsIC00MzYsIDI5MiwgLTM4OCwgLTgwNCwgLTcwNCwgLTg0MCwgMzY4LCAtMzQ4 LCAxNDAsCj4gKwktNzI0LCAxNTM2LCA5NDAsIDM3MiwgMTEyLCAtMzcyLCA0MzYsIC00ODAsIDEx MzYsIDI5NiwgLTMyLAo+ICsJLTIyOCwgMTMyLCAtNDgsIC0yMjAsIDg2OCwgLTEwMTYsIC02MCwg LTEwNDQsIC00NjQsIDMyOCwgOTE2LAo+ICsJMjQ0LCAxMiwgLTczNiwgLTI5NiwgMzYwLCA0Njgs IC0zNzYsIC0xMDgsIC05MiwgNzg4LCAzNjgsCj4gKwktNTYsIDU0NCwgNDAwLCAtNjcyLCAtNDIw LCA3MjgsIDE2LCAzMjAsIDQ0LCAtMjg0LCAtMzgwLAo+ICsJLTc5NiwgNDg4LCAxMzIsIDIwNCwg LTU5NiwgLTM3MiwgODgsIC0xNTIsIC05MDgsIC02MzYsIC01NzIsCj4gKwktNjI0LCAtMTE2LCAt NjkyLCAtMjAwLCAtNTYsIDI3NiwgLTg4LCA0ODQsIC0zMjQsIDk0OCwgODY0LAo+ICsJMTAwMCwg LTQ1NiwgLTE4NCwgLTI3NiwgMjkyLCAtMjk2LCAxNTYsIDY3NiwgMzIwLCAxNjAsIDkwOCwKPiAr CS04NCwgLTEyMzYsIC0yODgsIC0xMTYsIDI2MCwgLTM3MiwgLTY0NCwgNzMyLCAtNzU2LCAtOTYs IDg0LAo+ICsJMzQ0LCAtNTIwLCAzNDgsIC02ODgsIDI0MCwgLTg0LCAyMTYsIC0xMDQ0LCAtMTM2 LCAtNjc2LCAtMzk2LAo+ICsJLTE1MDAsIDk2MCwgLTQwLCAxNzYsIDE2OCwgMTUxNiwgNDIwLCAt NTA0LCAtMzQ0LCAtMzY0LCAtMzYwLAo+ICsJMTIxNiwgLTk0MCwgLTM4MCwgLTIxMiwgMjUyLCAt NjYwLCAtNzA4LCA0ODQsIC00NDQsIC0xNTIsIDkyOCwKPiArCS0xMjAsIDExMTIsIDQ3NiwgLTI2 MCwgNTYwLCAtMTQ4LCAtMzQ0LCAxMDgsIC0xOTYsIDIyOCwgLTI4OCwKPiArCTUwNCwgNTYwLCAt MzI4LCAtODgsIDI4OCwgLTEwMDgsIDQ2MCwgLTIyOCwgNDY4LCAtODM2LCAtMTk2LAo+ICsJNzYs IDM4OCwgMjMyLCA0MTIsIC0xMTY4LCAtNzE2LCAtNjQ0LCA3NTYsIC0xNzIsIC0zNTYsIC01MDQs Cj4gKwkxMTYsIDQzMiwgNTI4LCA0OCwgNDc2LCAtMTY4LCAtNjA4LCA0NDgsIDE2MCwgLTUzMiwg LTI3MiwKPiArCTI4LCAtNjc2LCAtMTIsIDgyOCwgOTgwLCA0NTYsIDUyMCwgMTA0LCAtMTA0LCAy NTYsIC0zNDQsCj4gKwktNCwgLTI4LCAtMzY4LCAtNTIsIC01MjQsIC01NzIsIC01NTYsIC0yMDAs IDc2OCwgMTEyNCwgLTIwOCwKPiArCS01MTIsIDE3NiwgMjMyLCAyNDgsIC0xNDgsIC04ODgsIDYw NCwgLTYwMCwgLTMwNCwgODA0LCAtMTU2LAo+ICsJLTIxMiwgNDg4LCAtMTkyLCAtODA0LCAtMjU2 LCAzNjgsIC0zNjAsIC05MTYsIC0zMjgsIDIyOCwgLTI0MCwKPiArCS00NDgsIC00NzIsIDg1Niwg LTU1NiwgLTM2NCwgNTcyLCAtMTIsIC0xNTYsIC0zNjgsIC0zNDAsIDQzMiwKPiArCTI1MiwgLTc1 MiwgLTE1MiwgMjg4LCAyNjgsIC01ODAsIC04NDgsIC01OTIsIDEwOCwgLTc2LCAyNDQsCj4gKwkz MTIsIC03MTYsIDU5MiwgLTgwLCA0MzYsIDM2MCwgNCwgLTI0OCwgMTYwLCA1MTYsIDU4NCwKPiAr CTczMiwgNDQsIC00NjgsIC0yODAsIC0yOTIsIC0xNTYsIC01ODgsIDI4LCAzMDgsIDkxMiwgMjQs Cj4gKwkxMjQsIDE1NiwgMTgwLCAtMjUyLCA5NDQsIC05MjQsIC03NzIsIC01MjAsIC00MjgsIC02 MjQsIDMwMCwKPiArCS0yMTIsIC0xMTQ0LCAzMiwgLTcyNCwgODAwLCAtMTEyOCwgLTIxMiwgLTEy ODgsIC04NDgsIDE4MCwgLTQxNiwKPiArCTQ0MCwgMTkyLCAtNTc2LCAtNzkyLCAtNzYsIC0xMDgw LCA4MCwgLTUzMiwgLTM1MiwgLTEzMiwgMzgwLAo+ICsJLTgyMCwgMTQ4LCAxMTEyLCAxMjgsIDE2 NCwgNDU2LCA3MDAsIC05MjQsIDE0NCwgLTY2OCwgLTM4NCwKPiArCTY0OCwgLTgzMiwgNTA4LCA1 NTIsIC01MiwgLTEwMCwgLTY1NiwgMjA4LCAtNTY4LCA3NDgsIC04OCwKPiArCTY4MCwgMjMyLCAz MDAsIDE5MiwgLTQwOCwgLTEwMTIsIC0xNTIsIC0yNTIsIC0yNjgsIDI3MiwgLTg3NiwKPiArCS02 NjQsIC02NDgsIC0zMzIsIC0xMzYsIDE2LCAxMiwgMTE1MiwgLTI4LCAzMzIsIC01MzYsIDMyMCwK PiArCS02NzIsIC00NjAsIC0zMTYsIDUzMiwgLTI2MCwgMjI4LCAtNDAsIDEwNTIsIC04MTYsIDE4 MCwgODgsCj4gKwktNDk2LCAtNTU2LCAtNjcyLCAtMzY4LCA0MjgsIDkyLCAzNTYsIDQwNCwgLTQw OCwgMjUyLCAxOTYsCj4gKwktMTc2LCAtNTU2LCA3OTIsIDI2OCwgMzIsIDM3MiwgNDAsIDk2LCAt MzMyLCAzMjgsIDEyMCwKPiArCTM3MiwgLTkwMCwgLTQwLCA0NzIsIC0yNjQsIC01OTIsIDk1Miwg MTI4LCA2NTYsIDExMiwgNjY0LAo+ICsJLTIzMiwgNDIwLCA0LCAtMzQ0LCAtNDY0LCA1NTYsIDI0 NCwgLTQxNiwgLTMyLCAyNTIsIDAsCj4gKwktNDEyLCAxODgsIC02OTYsIDUwOCwgLTQ3NiwgMzI0 LCAtMTA5NiwgNjU2LCAtMzEyLCA1NjAsIDI2NCwKPiArCS0xMzYsIDMwNCwgMTYwLCAtNjQsIC01 ODAsIDI0OCwgMzM2LCAtNzIwLCA1NjAsIC0zNDgsIC0yODgsCj4gKwktMjc2LCAtMTk2LCAtNTAw LCA4NTIsIC01NDQsIC0yMzYsIC0xMTI4LCAtOTkyLCAtNzc2LCAxMTYsIDU2LAo+ICsJNTIsIDg2 MCwgODg0LCAyMTIsIC0xMiwgMTY4LCAxMDIwLCA1MTIsIC01NTIsIDkyNCwgLTE0OCwKPiArCTcx NiwgMTg4LCAxNjQsIC0zNDAsIC01MjAsIC0xODQsIDg4MCwgLTE1MiwgLTY4MCwgLTIwOCwgLTEx NTYsCj4gKwktMzAwLCAtNTI4LCAtNDcyLCAzNjQsIDEwMCwgLTc0NCwgLTEwNTYsIC0zMiwgNTQw LCAyODAsIDE0NCwKPiArCS02NzYsIC0zMiwgLTIzMiwgLTI4MCwgLTIyNCwgOTYsIDU2OCwgLTc2 LCAxNzIsIDE0OCwgMTQ4LAo+ICsJMTA0LCAzMiwgLTI5NiwgLTMyLCA3ODgsIC04MCwgMzIsIC0x NiwgMjgwLCAyODgsIDk0NCwKPiArCTQyOCwgLTQ4NAo+ICt9Owo+ICsKPiArc3RhdGljIGlubGlu ZSBzMzIgY2xhbXAoczMyIHZhbHVlLCBzMzIgbG93LCBzMzIgaGlnaCkKPiArewo+ICsJcmV0dXJu IHZhbHVlIDwgbG93ID8gbG93IDogKHZhbHVlID4gaGlnaCA/IGhpZ2ggOiB2YWx1ZSk7Cj4gK30K PiArCj4gK3N0YXRpYyBpbmxpbmUgczMyIHJvdW5kX3Bvd2VyX29mX3R3byhjb25zdCBzMzIgdmFs LCBzMzIgbikKPiArewo+ICsJY29uc3QgczMyIGEgPSAoczMyKTEgPDwgKG4gLSAxKTsKPiArCj4g KwlyZXR1cm4gKHZhbCArIGEpID4+IG47Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHJvY2tjaGlw X2F2MV9pbml0X3JhbmRvbV9nZW5lcmF0b3IodTggbHVtYV9udW0sIHUxNiBzZWVkLAo+ICsJCQkJ CSAgICAgICB1MTYgKnJhbmRvbV9yZWdpc3RlcikKPiArewo+ICsJdTE2IHJhbmRvbV9yZWcgPSBz ZWVkOwo+ICsKPiArCXJhbmRvbV9yZWcgXj0gKChsdW1hX251bSAqIDM3ICsgMTc4KSAmIDI1NSkg PDwgODsKPiArCXJhbmRvbV9yZWcgXj0gKChsdW1hX251bSAqIDE3MyArIDEwNSkgJiAyNTUpOwo+ ICsJKnJhbmRvbV9yZWdpc3RlciA9IHJhbmRvbV9yZWc7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgdm9pZCByb2NrY2hpcF9hdjFfdXBkYXRlX3JhbmRvbV9yZWdpc3Rlcih1MTYgKnJhbmRvbV9y ZWdpc3RlcikKPiArewo+ICsJdTE2IGJpdDsKPiArCXUxNiByYW5kb21fcmVnID0gKnJhbmRvbV9y ZWdpc3RlcjsKPiArCj4gKwliaXQgPSAoKHJhbmRvbV9yZWcgPj4gMCkgXiAocmFuZG9tX3JlZyA+ PiAxKSBeIChyYW5kb21fcmVnID4+IDMpIF4KPiArCSAgICAgICAocmFuZG9tX3JlZyA+PiAxMikp ICYgMTsKPiArCSpyYW5kb21fcmVnaXN0ZXIgPSAocmFuZG9tX3JlZyA+PiAxKSB8IChiaXQgPDwg MTUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHMzMiByb2NrY2hpcF9hdjFfZ2V0X3JhbmRv bV9udW1iZXIodTE2IHJhbmRvbV9yZWdpc3RlcikKPiArewo+ICsJcmV0dXJuIChyYW5kb21fcmVn aXN0ZXIgPj4gNSkgJiAoKDEgPDwgMTEpIC0gMSk7Cj4gK30KPiArCj4gK3ZvaWQgcm9ja2NoaXBf YXYxX2dlbmVyYXRlX2x1bWFfZ3JhaW5fYmxvY2soczMyICgqbHVtYV9ncmFpbl9ibG9jaylbNzNd WzgyXSwKPiArCQkJCQkgICAgczMyIGJpdGRlcHRoLAo+ICsJCQkJCSAgICB1OCBudW1feV9wb2lu dHMsCj4gKwkJCQkJICAgIHMzMiBncmFpbl9zY2FsZV9zaGlmdCwKPiArCQkJCQkgICAgczMyIGFy X2NvZWZmX2xhZywKPiArCQkJCQkgICAgczMyICgqYXJfY29lZmZzX3kpWzI0XSwKPiArCQkJCQkg ICAgczMyIGFyX2NvZWZmX3NoaWZ0LAo+ICsJCQkJCSAgICBzMzIgZ3JhaW5fbWluLAo+ICsJCQkJ CSAgICBzMzIgZ3JhaW5fbWF4LAo+ICsJCQkJCSAgICB1MTYgcmFuZG9tX3NlZWQpCj4gK3sKPiAr CXMzMiBnYXVzc19zZWNfc2hpZnQgPSAxMiAtIGJpdGRlcHRoICsgZ3JhaW5fc2NhbGVfc2hpZnQ7 Cj4gKwl1MTYgZ3JhaW5fcmFuZG9tX3JlZ2lzdGVyID0gcmFuZG9tX3NlZWQ7Cj4gKwlzMzIgaSwg ajsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgNzM7IGkrKykgewo+ICsJCWZvciAoaiA9IDA7IGog PCA4MjsgaisrKSB7Cj4gKwkJCWlmIChudW1feV9wb2ludHMgPiAwKSB7Cj4gKwkJCQlyb2NrY2hp cF9hdjFfdXBkYXRlX3JhbmRvbV9yZWdpc3Rlcgo+ICsJCQkJICAgICgmZ3JhaW5fcmFuZG9tX3Jl Z2lzdGVyKTsKPiArCQkJCSgqbHVtYV9ncmFpbl9ibG9jaylbaV1bal0gPQo+ICsJCQkJICAgIHJv dW5kX3Bvd2VyX29mX3R3byhnYXVzc2lhbl9zZXF1ZW5jZQo+ICsJCQkJCSAgICAgW3JvY2tjaGlw X2F2MV9nZXRfcmFuZG9tX251bWJlcgo+ICsJCQkJCSAgICAgIChncmFpbl9yYW5kb21fcmVnaXN0 ZXIpXSwKPiArCQkJCQkgICAgIGdhdXNzX3NlY19zaGlmdCk7Cj4gKwkJCX0gZWxzZSB7Cj4gKwkJ CQkoKmx1bWFfZ3JhaW5fYmxvY2spW2ldW2pdID0gMDsKPiArCQkJfQo+ICsJCX0KPiArCX0KPiAr Cj4gKwlmb3IgKGkgPSAzOyBpIDwgNzM7IGkrKykKPiArCQlmb3IgKGogPSAzOyBqIDwgODIgLSAz OyBqKyspIHsKPiArCQkJczMyIHBvcyA9IDA7Cj4gKwkJCXMzMiB3c3VtID0gMDsKPiArCQkJczMy IGRlbHRhcm93LCBkZWx0YWNvbDsKPiArCj4gKwkJCWZvciAoZGVsdGFyb3cgPSAtYXJfY29lZmZf bGFnOyBkZWx0YXJvdyA8PSAwOwo+ICsJCQkgICAgIGRlbHRhcm93KyspIHsKPiArCQkJCWZvciAo ZGVsdGFjb2wgPSAtYXJfY29lZmZfbGFnOwo+ICsJCQkJICAgICBkZWx0YWNvbCA8PSBhcl9jb2Vm Zl9sYWc7IGRlbHRhY29sKyspIHsKPiArCQkJCQlpZiAoZGVsdGFyb3cgPT0gMCAmJiBkZWx0YWNv bCA9PSAwKQo+ICsJCQkJCQlicmVhazsKPiArCQkJCQl3c3VtID0gd3N1bSArICgqYXJfY29lZmZz X3kpW3Bvc10gKgo+ICsJCQkJCSAgICAoKmx1bWFfZ3JhaW5fYmxvY2spW2kgKyBkZWx0YXJvd11b aiArIGRlbHRhY29sXTsKPiArCQkJCQkrK3BvczsKPiArCQkJCX0KPiArCQkJfQo+ICsJCQkoKmx1 bWFfZ3JhaW5fYmxvY2spW2ldW2pdID0KPiArCQkJCWNsYW1wKCgqbHVtYV9ncmFpbl9ibG9jaylb aV1bal0gKwo+ICsJCQkJICAgICAgcm91bmRfcG93ZXJfb2ZfdHdvKHdzdW0sIGFyX2NvZWZmX3No aWZ0KSwKPiArCQkJCSAgICAgIGdyYWluX21pbiwgZ3JhaW5fbWF4KTsKPiArCQl9Cj4gK30KPiAr Cj4gKy8vIENhbGN1bGF0ZSBjaHJvbWEgZ3JhaW4gbm9pc2Ugb25jZSBwZXIgZnJhbWUKPiArdm9p ZCByb2NrY2hpcF9hdjFfZ2VuZXJhdGVfY2hyb21hX2dyYWluX2Jsb2NrKHMzMiAoKmx1bWFfZ3Jh aW5fYmxvY2spWzczXVs4Ml0sCj4gKwkJCQkJICAgICAgczMyICgqY2JfZ3JhaW5fYmxvY2spWzM4 XVs0NF0sCj4gKwkJCQkJICAgICAgczMyICgqY3JfZ3JhaW5fYmxvY2spWzM4XVs0NF0sCj4gKwkJ CQkJICAgICAgczMyIGJpdGRlcHRoLAo+ICsJCQkJCSAgICAgIHU4IG51bV95X3BvaW50cywKPiAr CQkJCQkgICAgICB1OCBudW1fY2JfcG9pbnRzLAo+ICsJCQkJCSAgICAgIHU4IG51bV9jcl9wb2lu dHMsCj4gKwkJCQkJICAgICAgczMyIGdyYWluX3NjYWxlX3NoaWZ0LAo+ICsJCQkJCSAgICAgIHMz MiBhcl9jb2VmZl9sYWcsCj4gKwkJCQkJICAgICAgczMyICgqYXJfY29lZmZzX2NiKVsyNV0sCj4g KwkJCQkJICAgICAgczMyICgqYXJfY29lZmZzX2NyKVsyNV0sCj4gKwkJCQkJICAgICAgczMyIGFy X2NvZWZmX3NoaWZ0LAo+ICsJCQkJCSAgICAgIHMzMiBncmFpbl9taW4sCj4gKwkJCQkJICAgICAg czMyIGdyYWluX21heCwKPiArCQkJCQkgICAgICB1OCBjaHJvbWFfc2NhbGluZ19mcm9tX2x1bWEs Cj4gKwkJCQkJICAgICAgdTE2IHJhbmRvbV9zZWVkKQo+ICt7Cj4gKwlzMzIgZ2F1c3Nfc2VjX3No aWZ0ID0gMTIgLSBiaXRkZXB0aCArIGdyYWluX3NjYWxlX3NoaWZ0Owo+ICsJdTE2IGdyYWluX3Jh bmRvbV9yZWdpc3RlciA9IDA7Cj4gKwlzMzIgaSwgajsKPiArCj4gKwlyb2NrY2hpcF9hdjFfaW5p dF9yYW5kb21fZ2VuZXJhdG9yKDcsIHJhbmRvbV9zZWVkLAo+ICsJCQkJCSAgICZncmFpbl9yYW5k b21fcmVnaXN0ZXIpOwo+ICsJZm9yIChpID0gMDsgaSA8IDM4OyBpKyspIHsKPiArCQlmb3IgKGog PSAwOyBqIDwgNDQ7IGorKykgewo+ICsJCQlpZiAobnVtX2NiX3BvaW50cyB8fCBjaHJvbWFfc2Nh bGluZ19mcm9tX2x1bWEpIHsKPiArCQkJCXJvY2tjaGlwX2F2MV91cGRhdGVfcmFuZG9tX3JlZ2lz dGVyCj4gKwkJCQkgICAgKCZncmFpbl9yYW5kb21fcmVnaXN0ZXIpOwo+ICsJCQkJKCpjYl9ncmFp bl9ibG9jaylbaV1bal0gPQo+ICsJCQkJICAgIHJvdW5kX3Bvd2VyX29mX3R3byhnYXVzc2lhbl9z ZXF1ZW5jZQo+ICsJCQkJCSAgICAgW3JvY2tjaGlwX2F2MV9nZXRfcmFuZG9tX251bWJlcgo+ICsJ CQkJCSAgICAgIChncmFpbl9yYW5kb21fcmVnaXN0ZXIpXSwKPiArCQkJCQkgICAgIGdhdXNzX3Nl Y19zaGlmdCk7Cj4gKwkJCX0gZWxzZSB7Cj4gKwkJCQkoKmNiX2dyYWluX2Jsb2NrKVtpXVtqXSA9 IDA7Cj4gKwkJCX0KPiArCQl9Cj4gKwl9Cj4gKwo+ICsJcm9ja2NoaXBfYXYxX2luaXRfcmFuZG9t X2dlbmVyYXRvcigxMSwgcmFuZG9tX3NlZWQsCj4gKwkJCQkJICAgJmdyYWluX3JhbmRvbV9yZWdp c3Rlcik7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgMzg7IGkrKykgewo+ICsJCWZvciAoaiA9IDA7IGog PCA0NDsgaisrKSB7Cj4gKwkJCWlmIChudW1fY3JfcG9pbnRzIHx8IGNocm9tYV9zY2FsaW5nX2Zy b21fbHVtYSkgewo+ICsJCQkJcm9ja2NoaXBfYXYxX3VwZGF0ZV9yYW5kb21fcmVnaXN0ZXIKPiAr CQkJCSAgICAoJmdyYWluX3JhbmRvbV9yZWdpc3Rlcik7Cj4gKwkJCQkoKmNyX2dyYWluX2Jsb2Nr KVtpXVtqXSA9Cj4gKwkJCQkgICAgcm91bmRfcG93ZXJfb2ZfdHdvKGdhdXNzaWFuX3NlcXVlbmNl Cj4gKwkJCQkJICAgICBbcm9ja2NoaXBfYXYxX2dldF9yYW5kb21fbnVtYmVyCj4gKwkJCQkJICAg ICAgKGdyYWluX3JhbmRvbV9yZWdpc3RlcildLAo+ICsJCQkJCSAgICAgZ2F1c3Nfc2VjX3NoaWZ0 KTsKPiArCQkJfSBlbHNlIHsKPiArCQkJCSgqY3JfZ3JhaW5fYmxvY2spW2ldW2pdID0gMDsKPiAr CQkJfQo+ICsJCX0KPiArCX0KPiArCj4gKwlmb3IgKGkgPSAzOyBpIDwgMzg7IGkrKykgewo+ICsJ CWZvciAoaiA9IDM7IGogPCA0NCAtIDM7IGorKykgewo+ICsJCQlzMzIgd3N1bV9jYiA9IDA7Cj4g KwkJCXMzMiB3c3VtX2NyID0gMDsKPiArCQkJczMyIHBvcyA9IDA7Cj4gKwkJCXMzMiBkZWx0YXJv dywgZGVsdGFjb2w7Cj4gKwo+ICsJCQlmb3IgKGRlbHRhcm93ID0gLWFyX2NvZWZmX2xhZzsgZGVs dGFyb3cgPD0gMDsKPiArCQkJICAgICBkZWx0YXJvdysrKSB7Cj4gKwkJCQlmb3IgKGRlbHRhY29s ID0gLWFyX2NvZWZmX2xhZzsKPiArCQkJCSAgICAgZGVsdGFjb2wgPD0gYXJfY29lZmZfbGFnOyBk ZWx0YWNvbCsrKSB7Cj4gKwkJCQkJaWYgKGRlbHRhcm93ID09IDAgJiYgZGVsdGFjb2wgPT0gMCkK PiArCQkJCQkJYnJlYWs7Cj4gKwkJCQkJd3N1bV9jYiA9IHdzdW1fY2IgKyAoKmFyX2NvZWZmc19j YilbcG9zXSAqCj4gKwkJCQkJICAgICgqY2JfZ3JhaW5fYmxvY2spW2kgKyBkZWx0YXJvd11baiAr IGRlbHRhY29sXTsKPiArCQkJCQl3c3VtX2NyID0KPiArCQkJCQkgICAgd3N1bV9jciArCj4gKwkJ CQkJICAgICgqYXJfY29lZmZzX2NyKVtwb3NdICoKPiArCQkJCQkgICAgKCpjcl9ncmFpbl9ibG9j aylbaSArIGRlbHRhcm93XVtqICsgZGVsdGFjb2xdOwo+ICsJCQkJCSsrcG9zOwo+ICsJCQkJfQo+ ICsJCQl9Cj4gKwo+ICsJCQlpZiAobnVtX3lfcG9pbnRzID4gMCkgewo+ICsJCQkJczMyIGF2X2x1 bWEgPSAwOwo+ICsJCQkJczMyIGx1bWFfY29vcmRfeSA9IChpIDw8IDEpIC0gMzsKPiArCQkJCXMz MiBsdW1hX2Nvb3JkX3ggPSAoaiA8PCAxKSAtIDM7Cj4gKwo+ICsJCQkJYXZfbHVtYSArPQo+ICsJ CQkJICAgICgqbHVtYV9ncmFpbl9ibG9jaylbbHVtYV9jb29yZF95XVtsdW1hX2Nvb3JkX3hdOwo+ ICsJCQkJYXZfbHVtYSArPQo+ICsJCQkJICAgICgqbHVtYV9ncmFpbl9ibG9jaylbbHVtYV9jb29y ZF95XVtsdW1hX2Nvb3JkX3ggKyAxXTsKPiArCQkJCWF2X2x1bWEgKz0KPiArCQkJCSAgICAoKmx1 bWFfZ3JhaW5fYmxvY2spW2x1bWFfY29vcmRfeSArIDFdW2x1bWFfY29vcmRfeF07Cj4gKwkJCQlh dl9sdW1hICs9Cj4gKwkJCQkgICAgKCpsdW1hX2dyYWluX2Jsb2NrKVsobHVtYV9jb29yZF95ICsg MSldW2x1bWFfY29vcmRfeCArIDFdOwo+ICsJCQkJYXZfbHVtYSA9IHJvdW5kX3Bvd2VyX29mX3R3 byhhdl9sdW1hLCAyKTsKPiArCj4gKwkJCQl3c3VtX2NiID0gd3N1bV9jYiArICgqYXJfY29lZmZz X2NiKVtwb3NdICogYXZfbHVtYTsKPiArCQkJCXdzdW1fY3IgPSB3c3VtX2NyICsgKCphcl9jb2Vm ZnNfY3IpW3Bvc10gKiBhdl9sdW1hOwo+ICsJCQl9Cj4gKwo+ICsJCQlpZiAobnVtX2NiX3BvaW50 cyB8fCBjaHJvbWFfc2NhbGluZ19mcm9tX2x1bWEpIHsKPiArCQkJCSgqY2JfZ3JhaW5fYmxvY2sp W2ldW2pdID0KPiArCQkJCSAgICBjbGFtcCgoKmNiX2dyYWluX2Jsb2NrKVtpXVtqXSArCj4gKwkJ CQkJICByb3VuZF9wb3dlcl9vZl90d28od3N1bV9jYiwgYXJfY29lZmZfc2hpZnQpLAo+ICsJCQkJ CSAgZ3JhaW5fbWluLCBncmFpbl9tYXgpOwo+ICsJCQl9Cj4gKwkJCWlmIChudW1fY3JfcG9pbnRz IHx8IGNocm9tYV9zY2FsaW5nX2Zyb21fbHVtYSkgewo+ICsJCQkJKCpjcl9ncmFpbl9ibG9jaylb aV1bal0gPQo+ICsJCQkJICAgIGNsYW1wKCgqY3JfZ3JhaW5fYmxvY2spW2ldW2pdICsKPiArCQkJ CQkgIHJvdW5kX3Bvd2VyX29mX3R3byh3c3VtX2NyLCBhcl9jb2VmZl9zaGlmdCksCj4gKwkJCQkJ ICBncmFpbl9taW4sIGdyYWluX21heCk7Cj4gKwkJCX0KPiArCQl9Cj4gKwl9Cj4gK30KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9yb2NrY2hpcF9hdjFf ZmlsbWdyYWluLmggYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL3JvY2tjaGlw X2F2MV9maWxtZ3JhaW4uaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAw MDAwLi4zMWE4Yjc5MjBjMzEKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS92ZXJpc2lsaWNvbi9yb2NrY2hpcF9hdjFfZmlsbWdyYWluLmgKPiBAQCAtMCwwICsx LDM2IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KPiAr Cj4gKyNpZm5kZWYgX1JPQ0tDSElQX0FWMV9GSUxNR1JBSU5fSF8KPiArI2RlZmluZSBfUk9DS0NI SVBfQVYxX0ZJTE1HUkFJTl9IXwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Cj4gKwo+ ICt2b2lkIHJvY2tjaGlwX2F2MV9nZW5lcmF0ZV9sdW1hX2dyYWluX2Jsb2NrKHMzMiAoKmx1bWFf Z3JhaW5fYmxvY2spWzczXVs4Ml0sCj4gKwkJCQkJICAgIHMzMiBiaXRkZXB0aCwKPiArCQkJCQkg ICAgdTggbnVtX3lfcG9pbnRzLAo+ICsJCQkJCSAgICBzMzIgZ3JhaW5fc2NhbGVfc2hpZnQsCj4g KwkJCQkJICAgIHMzMiBhcl9jb2VmZl9sYWcsCj4gKwkJCQkJICAgIHMzMiAoKmFyX2NvZWZmc195 KVsyNF0sCj4gKwkJCQkJICAgIHMzMiBhcl9jb2VmZl9zaGlmdCwKPiArCQkJCQkgICAgczMyIGdy YWluX21pbiwKPiArCQkJCQkgICAgczMyIGdyYWluX21heCwKPiArCQkJCQkgICAgdTE2IHJhbmRv bV9zZWVkKTsKPiArCj4gK3ZvaWQgcm9ja2NoaXBfYXYxX2dlbmVyYXRlX2Nocm9tYV9ncmFpbl9i bG9jayhzMzIgKCpsdW1hX2dyYWluX2Jsb2NrKVs3M11bODJdLAo+ICsJCQkJCSAgICAgIHMzMiAo KmNiX2dyYWluX2Jsb2NrKVszOF1bNDRdLAo+ICsJCQkJCSAgICAgIHMzMiAoKmNyX2dyYWluX2Js b2NrKVszOF1bNDRdLAo+ICsJCQkJCSAgICAgIHMzMiBiaXRkZXB0aCwKPiArCQkJCQkgICAgICB1 OCBudW1feV9wb2ludHMsCj4gKwkJCQkJICAgICAgdTggbnVtX2NiX3BvaW50cywKPiArCQkJCQkg ICAgICB1OCBudW1fY3JfcG9pbnRzLAo+ICsJCQkJCSAgICAgIHMzMiBncmFpbl9zY2FsZV9zaGlm dCwKPiArCQkJCQkgICAgICBzMzIgYXJfY29lZmZfbGFnLAo+ICsJCQkJCSAgICAgIHMzMiAoKmFy X2NvZWZmc19jYilbMjVdLAo+ICsJCQkJCSAgICAgIHMzMiAoKmFyX2NvZWZmc19jcilbMjVdLAo+ ICsJCQkJCSAgICAgIHMzMiBhcl9jb2VmZl9zaGlmdCwKPiArCQkJCQkgICAgICBzMzIgZ3JhaW5f bWluLAo+ICsJCQkJCSAgICAgIHMzMiBncmFpbl9tYXgsCj4gKwkJCQkJICAgICAgdTggY2hyb21h X3NjYWxpbmdfZnJvbV9sdW1hLAo+ICsJCQkJCSAgICAgIHUxNiByYW5kb21fc2VlZCk7Cj4gKwo+ ICsjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNv bi9yb2NrY2hpcF92cHU5ODFfaHdfYXYxX2RlYy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92 ZXJpc2lsaWNvbi9yb2NrY2hpcF92cHU5ODFfaHdfYXYxX2RlYy5jCj4gaW5kZXggYTJjOWJjZWJk OGJiLi5kNTM1YjBlNzhmMTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92 ZXJpc2lsaWNvbi9yb2NrY2hpcF92cHU5ODFfaHdfYXYxX2RlYy5jCj4gKysrIGIvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9yb2NrY2hpcF92cHU5ODFfaHdfYXYxX2RlYy5jCj4g QEAgLTMzNCw2ICszMzQsMTIgQEAgdm9pZCByb2NrY2hpcF92cHU5ODFfYXYxX2RlY19leGl0KHN0 cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gIAkJCQkgIGF2MV9kZWMtPnRpbGVfaW5mby5kbWEpOwo+ ICAJYXYxX2RlYy0+dGlsZV9pbmZvLmNwdSA9IE5VTEw7Cj4gIAo+ICsJaWYgKGF2MV9kZWMtPmZp bG1fZ3JhaW4uY3B1KQo+ICsJCWRtYV9mcmVlX2NvaGVyZW50KHZwdS0+ZGV2LCBhdjFfZGVjLT5m aWxtX2dyYWluLnNpemUsCj4gKwkJCQkgIGF2MV9kZWMtPmZpbG1fZ3JhaW4uY3B1LAo+ICsJCQkJ ICBhdjFfZGVjLT5maWxtX2dyYWluLmRtYSk7Cj4gKwlhdjFfZGVjLT5maWxtX2dyYWluLmNwdSA9 IE5VTEw7Cj4gKwo+ICAJaWYgKGF2MV9kZWMtPnByb2JfdGJsLmNwdSkKPiAgCQlkbWFfZnJlZV9j b2hlcmVudCh2cHUtPmRldiwgYXYxX2RlYy0+cHJvYl90Ymwuc2l6ZSwKPiAgCQkJCSAgYXYxX2Rl Yy0+cHJvYl90YmwuY3B1LCBhdjFfZGVjLT5wcm9iX3RibC5kbWEpOwo+IEBAIC0zNzQsNiArMzgw LDE0IEBAIGludCByb2NrY2hpcF92cHU5ODFfYXYxX2RlY19pbml0KHN0cnVjdCBoYW50cm9fY3R4 ICpjdHgpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAlhdjFfZGVjLT50aWxlX2luZm8uc2l6ZSA9 IEFWMV9NQVhfVElMRVM7Cj4gIAo+ICsJYXYxX2RlYy0+ZmlsbV9ncmFpbi5jcHUgPSBkbWFfYWxs b2NfY29oZXJlbnQodnB1LT5kZXYsCj4gKwkJCQkJCSAgICAgQUxJR04oc2l6ZW9mKHN0cnVjdCBy b2NrY2hpcF9hdjFfZmlsbV9ncmFpbiksIDIwNDgpLAo+ICsJCQkJCQkgICAgICZhdjFfZGVjLT5m aWxtX2dyYWluLmRtYSwKPiArCQkJCQkJICAgICBHRlBfS0VSTkVMKTsKPiArCWlmICghYXYxX2Rl Yy0+ZmlsbV9ncmFpbi5jcHUpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwlhdjFfZGVjLT5maWxt X2dyYWluLnNpemUgPSBBTElHTihzaXplb2Yoc3RydWN0IHJvY2tjaGlwX2F2MV9maWxtX2dyYWlu KSwgMjA0OCk7Cj4gKwo+ICAJYXYxX2RlYy0+cHJvYl90YmwuY3B1ID0gZG1hX2FsbG9jX2NvaGVy ZW50KHZwdS0+ZGV2LAo+ICAJCQkJCQkgICBBTElHTihzaXplb2Yoc3RydWN0IGF2MWNkZnMpLCAy MDQ4KSwKPiAgCQkJCQkJICAgJmF2MV9kZWMtPnByb2JfdGJsLmRtYSwKPiBAQCAtMTE4MCw2ICsx MTk0LDIwMSBAQCBzdGF0aWMgdm9pZCByb2NrY2hpcF92cHU5ODFfYXYxX2RlY19zZXRfcHJvYihz dHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+ICAJaGFudHJvX3dyaXRlX2FkZHIodnB1LCBBVjFfUFJP UF9UQUJMRSwgYXYxX2RlYy0+cHJvYl90YmwuZG1hKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQK PiArcm9ja2NoaXBfdnB1OTgxX2F2MV9kZWNfaW5pdF9zY2FsaW5nX2Z1bmN0aW9uKGNvbnN0IHU4 ICp2YWx1ZXMsIGNvbnN0IHU4ICpzY2FsaW5nLAo+ICsJCQkJCSAgICAgIHU4IG51bV9wb2ludHMs IHU4ICpzY2FsaW5nX2x1dCkKPiArewo+ICsJaW50IGksIHBvaW50Owo+ICsKPiArCWlmIChudW1f cG9pbnRzID09IDApIHsKPiArCQltZW1zZXQoc2NhbGluZ19sdXQsIDAsIDI1Nik7Cj4gKwkJcmV0 dXJuOwo+ICsJfQo+ICsKPiArCWZvciAocG9pbnQgPSAwOyBwb2ludCA8IG51bV9wb2ludHMgLSAx OyBwb2ludCsrKSB7Cj4gKwkJaW50IHg7Cj4gKwkJczMyIGRlbHRhX3kgPSBzY2FsaW5nW3BvaW50 ICsgMV0gLSBzY2FsaW5nW3BvaW50XTsKPiArCQlzMzIgZGVsdGFfeCA9IHZhbHVlc1twb2ludCAr IDFdIC0gdmFsdWVzW3BvaW50XTsKPiArCQlzNjQgZGVsdGEgPQo+ICsJCSAgICBkZWx0YV94ID8g ZGVsdGFfeSAqICgoNjU1MzYgKyAoZGVsdGFfeCA+PiAxKSkgLwo+ICsJCQkJCSBkZWx0YV94KSA6 IDA7Cj4gKwo+ICsJCWZvciAoeCA9IDA7IHggPCBkZWx0YV94OyB4KyspIHsKPiArCQkJc2NhbGlu Z19sdXRbdmFsdWVzW3BvaW50XSArIHhdID0KPiArCQkJICAgIHNjYWxpbmdbcG9pbnRdICsKPiAr CQkJICAgIChzMzIpKCh4ICogZGVsdGEgKyAzMjc2OCkgPj4gMTYpOwo+ICsJCX0KPiArCX0KPiAr Cj4gKwlmb3IgKGkgPSB2YWx1ZXNbbnVtX3BvaW50cyAtIDFdOyBpIDwgMjU2OyBpKyspCj4gKwkJ c2NhbGluZ19sdXRbaV0gPSBzY2FsaW5nW251bV9wb2ludHMgLSAxXTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgcm9ja2NoaXBfdnB1OTgxX2F2MV9kZWNfc2V0X2ZncyhzdHJ1Y3QgaGFudHJvX2N0 eCAqY3R4KQo+ICt7Cj4gKwlzdHJ1Y3QgaGFudHJvX2F2MV9kZWNfaHdfY3R4ICphdjFfZGVjID0g JmN0eC0+YXYxX2RlYzsKPiArCXN0cnVjdCBoYW50cm9fYXYxX2RlY19jdHJscyAqY3RybHMgPSAm YXYxX2RlYy0+Y3RybHM7Cj4gKwljb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX2F2MV9maWxtX2dyYWlu ICpmaWxtX2dyYWluID0gY3RybHMtPmZpbG1fZ3JhaW47Cj4gKwlzdHJ1Y3Qgcm9ja2NoaXBfYXYx X2ZpbG1fZ3JhaW4gKmZnbWVtID0gYXYxX2RlYy0+ZmlsbV9ncmFpbi5jcHU7Cj4gKwlzdHJ1Y3Qg aGFudHJvX2RldiAqdnB1ID0gY3R4LT5kZXY7Cj4gKwlib29sIHNjYWxpbmdfZnJvbV9sdW1hID0K PiArCQkhIShmaWxtX2dyYWluLT5mbGFncyAmIFY0TDJfQVYxX0ZJTE1fR1JBSU5fRkxBR19DSFJP TUFfU0NBTElOR19GUk9NX0xVTUEpOwo+ICsJczMyICgqYXJfY29lZmZzX3kpWzI0XTsKPiArCXMz MiAoKmFyX2NvZWZmc19jYilbMjVdOwo+ICsJczMyICgqYXJfY29lZmZzX2NyKVsyNV07Cj4gKwlz MzIgKCpsdW1hX2dyYWluX2Jsb2NrKVs3M11bODJdOwo+ICsJczMyICgqY2JfZ3JhaW5fYmxvY2sp WzM4XVs0NF07Cj4gKwlzMzIgKCpjcl9ncmFpbl9ibG9jaylbMzhdWzQ0XTsKPiArCXMzMiBhcl9j b2VmZl9sYWcsIGFyX2NvZWZmX3NoaWZ0Owo+ICsJczMyIGdyYWluX3NjYWxlX3NoaWZ0LCBiaXRk ZXB0aDsKPiArCXMzMiBncmFpbl9jZW50ZXIsIGdyYWluX21pbiwgZ3JhaW5fbWF4Owo+ICsJaW50 IGksIGo7Cj4gKwo+ICsJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfYXBwbHlfZ3JhaW4sIDAp Owo+ICsKPiArCWlmICghKGZpbG1fZ3JhaW4tPmZsYWdzICYgVjRMMl9BVjFfRklMTV9HUkFJTl9G TEFHX0FQUExZX0dSQUlOKSkgewo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX251bV95 X3BvaW50c19iLCAwKTsKPiArCQloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9udW1fY2JfcG9p bnRzX2IsIDApOwo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX251bV9jcl9wb2ludHNf YiwgMCk7Cj4gKwkJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfc2NhbGluZ19zaGlmdCwgMCk7 Cj4gKwkJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfY2JfbXVsdCwgMCk7Cj4gKwkJaGFudHJv X3JlZ193cml0ZSh2cHUsICZhdjFfY2JfbHVtYV9tdWx0LCAwKTsKPiArCQloYW50cm9fcmVnX3dy aXRlKHZwdSwgJmF2MV9jYl9vZmZzZXQsIDApOwo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAm YXYxX2NyX211bHQsIDApOwo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NyX2x1bWFf bXVsdCwgMCk7Cj4gKwkJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfY3Jfb2Zmc2V0LCAwKTsK PiArCQloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9vdmVybGFwX2ZsYWcsIDApOwo+ICsJCWhh bnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NsaXBfdG9fcmVzdHJpY3RlZF9yYW5nZSwgMCk7Cj4g KwkJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfY2hyb21hX3NjYWxpbmdfZnJvbV9sdW1hLCAw KTsKPiArCQloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9yYW5kb21fc2VlZCwgMCk7Cj4gKwkJ aGFudHJvX3dyaXRlX2FkZHIodnB1LCBBVjFfRklMTV9HUkFJTiwgMCk7Cj4gKwkJcmV0dXJuOwo+ ICsJfQo+ICsKPiArCWFyX2NvZWZmc195ID0ga3phbGxvYyhzaXplb2YoaW50MzJfdCkgKiAyNCwg R0ZQX0tFUk5FTCk7Cj4gKwlhcl9jb2VmZnNfY2IgPSBremFsbG9jKHNpemVvZihpbnQzMl90KSAq IDI1LCBHRlBfS0VSTkVMKTsKPiArCWFyX2NvZWZmc19jciA9IGt6YWxsb2Moc2l6ZW9mKGludDMy X3QpICogMjUsIEdGUF9LRVJORUwpOwo+ICsJbHVtYV9ncmFpbl9ibG9jayA9IGt6YWxsb2Moc2l6 ZW9mKGludDMyX3QpICogNzMgKiA4MiwgR0ZQX0tFUk5FTCk7Cj4gKwljYl9ncmFpbl9ibG9jayA9 IGt6YWxsb2Moc2l6ZW9mKGludDMyX3QpICogMzggKiA0NCwgR0ZQX0tFUk5FTCk7Cj4gKwljcl9n cmFpbl9ibG9jayA9IGt6YWxsb2Moc2l6ZW9mKGludDMyX3QpICogMzggKiA0NCwgR0ZQX0tFUk5F TCk7Cj4gKwo+ICsJaWYgKCFhcl9jb2VmZnNfeSB8fCAhYXJfY29lZmZzX2NiIHx8ICFhcl9jb2Vm ZnNfY3IgfHwKPiArCSAgICAhbHVtYV9ncmFpbl9ibG9jayB8fCAhY2JfZ3JhaW5fYmxvY2sgfHwg IWNyX2dyYWluX2Jsb2NrKSB7Cj4gKwkJcHJfd2FybigiRmFpbCBhbGxvY2F0aW5nIG1lbW9yeSBm b3IgZmlsbSBncmFpbiBwYXJhbWV0ZXJzXG4iKTsKPiArCQlnb3RvIGFsbG9jX2ZhaWw7Cj4gKwl9 Cj4gKwo+ICsJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfYXBwbHlfZ3JhaW4sIDEpOwo+ICsK PiArCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX251bV95X3BvaW50c19iLAo+ICsJCQkgZmls bV9ncmFpbi0+bnVtX3lfcG9pbnRzID4gMCk7Cj4gKwloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2 MV9udW1fY2JfcG9pbnRzX2IsCj4gKwkJCSBmaWxtX2dyYWluLT5udW1fY2JfcG9pbnRzID4gMCk7 Cj4gKwloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9udW1fY3JfcG9pbnRzX2IsCj4gKwkJCSBm aWxtX2dyYWluLT5udW1fY3JfcG9pbnRzID4gMCk7Cj4gKwloYW50cm9fcmVnX3dyaXRlKHZwdSwg JmF2MV9zY2FsaW5nX3NoaWZ0LAo+ICsJCQkgZmlsbV9ncmFpbi0+Z3JhaW5fc2NhbGluZ19taW51 c184ICsgOCk7Cj4gKwo+ICsJaWYgKCFzY2FsaW5nX2Zyb21fbHVtYSkgewo+ICsJCWhhbnRyb19y ZWdfd3JpdGUodnB1LCAmYXYxX2NiX211bHQsIGZpbG1fZ3JhaW4tPmNiX211bHQgLSAxMjgpOwo+ ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NiX2x1bWFfbXVsdCwgZmlsbV9ncmFpbi0+ Y2JfbHVtYV9tdWx0IC0gMTI4KTsKPiArCQloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9jYl9v ZmZzZXQsIGZpbG1fZ3JhaW4tPmNiX29mZnNldCAtIDI1Nik7Cj4gKwkJaGFudHJvX3JlZ193cml0 ZSh2cHUsICZhdjFfY3JfbXVsdCwgZmlsbV9ncmFpbi0+Y3JfbXVsdCAtIDEyOCk7Cj4gKwkJaGFu dHJvX3JlZ193cml0ZSh2cHUsICZhdjFfY3JfbHVtYV9tdWx0LCBmaWxtX2dyYWluLT5jcl9sdW1h X211bHQgLSAxMjgpOwo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NyX29mZnNldCwg ZmlsbV9ncmFpbi0+Y3Jfb2Zmc2V0IC0gMjU2KTsKPiArCX0gZWxzZSB7Cj4gKwkJaGFudHJvX3Jl Z193cml0ZSh2cHUsICZhdjFfY2JfbXVsdCwgMCk7Cj4gKwkJaGFudHJvX3JlZ193cml0ZSh2cHUs ICZhdjFfY2JfbHVtYV9tdWx0LCAwKTsKPiArCQloYW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9j Yl9vZmZzZXQsIDApOwo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NyX211bHQsIDAp Owo+ICsJCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2NyX2x1bWFfbXVsdCwgMCk7Cj4gKwkJ aGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfY3Jfb2Zmc2V0LCAwKTsKPiArCX0KPiArCj4gKwlo YW50cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9vdmVybGFwX2ZsYWcsCj4gKwkJCSAhIShmaWxtX2dy YWluLT5mbGFncyAmIFY0TDJfQVYxX0ZJTE1fR1JBSU5fRkxBR19PVkVSTEFQKSk7Cj4gKwloYW50 cm9fcmVnX3dyaXRlKHZwdSwgJmF2MV9jbGlwX3RvX3Jlc3RyaWN0ZWRfcmFuZ2UsCj4gKwkJCSAh IShmaWxtX2dyYWluLT5mbGFncyAmIFY0TDJfQVYxX0ZJTE1fR1JBSU5fRkxBR19DTElQX1RPX1JF U1RSSUNURURfUkFOR0UpKTsKPiArCWhhbnRyb19yZWdfd3JpdGUodnB1LCAmYXYxX2Nocm9tYV9z Y2FsaW5nX2Zyb21fbHVtYSwgc2NhbGluZ19mcm9tX2x1bWEpOwo+ICsJaGFudHJvX3JlZ193cml0 ZSh2cHUsICZhdjFfcmFuZG9tX3NlZWQsIGZpbG1fZ3JhaW4tPmdyYWluX3NlZWQpOwo+ICsKPiAr CXJvY2tjaGlwX3ZwdTk4MV9hdjFfZGVjX2luaXRfc2NhbGluZ19mdW5jdGlvbihmaWxtX2dyYWlu LT5wb2ludF95X3ZhbHVlLAo+ICsJCQkJCQkgICAgICBmaWxtX2dyYWluLT5wb2ludF95X3NjYWxp bmcsCj4gKwkJCQkJCSAgICAgIGZpbG1fZ3JhaW4tPm51bV95X3BvaW50cywKPiArCQkJCQkJICAg ICAgZmdtZW0tPnNjYWxpbmdfbHV0X3kpOwo+ICsKPiArCWlmIChmaWxtX2dyYWluLT5mbGFncyAm Cj4gKwkgICAgVjRMMl9BVjFfRklMTV9HUkFJTl9GTEFHX0NIUk9NQV9TQ0FMSU5HX0ZST01fTFVN QSkgewo+ICsJCW1lbWNweShmZ21lbS0+c2NhbGluZ19sdXRfY2IsIGZnbWVtLT5zY2FsaW5nX2x1 dF95LAo+ICsJCSAgICAgICBzaXplb2YoKmZnbWVtLT5zY2FsaW5nX2x1dF95KSAqIDI1Nik7Cj4g KwkJbWVtY3B5KGZnbWVtLT5zY2FsaW5nX2x1dF9jciwgZmdtZW0tPnNjYWxpbmdfbHV0X3ksCj4g KwkJICAgICAgIHNpemVvZigqZmdtZW0tPnNjYWxpbmdfbHV0X3kpICogMjU2KTsKPiArCX0gZWxz ZSB7Cj4gKwkJcm9ja2NoaXBfdnB1OTgxX2F2MV9kZWNfaW5pdF9zY2FsaW5nX2Z1bmN0aW9uCj4g KwkJICAgIChmaWxtX2dyYWluLT5wb2ludF9jYl92YWx1ZSwgZmlsbV9ncmFpbi0+cG9pbnRfY2Jf c2NhbGluZywKPiArCQkgICAgIGZpbG1fZ3JhaW4tPm51bV9jYl9wb2ludHMsIGZnbWVtLT5zY2Fs aW5nX2x1dF9jYik7Cj4gKwkJcm9ja2NoaXBfdnB1OTgxX2F2MV9kZWNfaW5pdF9zY2FsaW5nX2Z1 bmN0aW9uCj4gKwkJICAgIChmaWxtX2dyYWluLT5wb2ludF9jcl92YWx1ZSwgZmlsbV9ncmFpbi0+ cG9pbnRfY3Jfc2NhbGluZywKPiArCQkgICAgIGZpbG1fZ3JhaW4tPm51bV9jcl9wb2ludHMsIGZn bWVtLT5zY2FsaW5nX2x1dF9jcik7Cj4gKwl9Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IFY0TDJf QVYxX0FSX0NPRUZGU19TSVpFOyBpKyspIHsKPiArCQlpZiAoaSA8IDI0KQo+ICsJCQkoKmFyX2Nv ZWZmc195KVtpXSA9IGZpbG1fZ3JhaW4tPmFyX2NvZWZmc195X3BsdXNfMTI4W2ldIC0gMTI4Owo+ ICsJCSgqYXJfY29lZmZzX2NiKVtpXSA9IGZpbG1fZ3JhaW4tPmFyX2NvZWZmc19jYl9wbHVzXzEy OFtpXSAtIDEyODsKPiArCQkoKmFyX2NvZWZmc19jcilbaV0gPSBmaWxtX2dyYWluLT5hcl9jb2Vm ZnNfY3JfcGx1c18xMjhbaV0gLSAxMjg7Cj4gKwl9Cj4gKwo+ICsJYXJfY29lZmZfbGFnID0gZmls bV9ncmFpbi0+YXJfY29lZmZfbGFnOwo+ICsJYXJfY29lZmZfc2hpZnQgPSBmaWxtX2dyYWluLT5h cl9jb2VmZl9zaGlmdF9taW51c182ICsgNjsKPiArCWdyYWluX3NjYWxlX3NoaWZ0ID0gZmlsbV9n cmFpbi0+Z3JhaW5fc2NhbGVfc2hpZnQ7Cj4gKwliaXRkZXB0aCA9IGN0eC0+Yml0X2RlcHRoOwo+ ICsJZ3JhaW5fY2VudGVyID0gMTI4IDw8IChiaXRkZXB0aCAtIDgpOwo+ICsJZ3JhaW5fbWluID0g MCAtIGdyYWluX2NlbnRlcjsKPiArCWdyYWluX21heCA9ICgyNTYgPDwgKGJpdGRlcHRoIC0gOCkp IC0gMSAtIGdyYWluX2NlbnRlcjsKPiArCj4gKwlyb2NrY2hpcF9hdjFfZ2VuZXJhdGVfbHVtYV9n cmFpbl9ibG9jayhsdW1hX2dyYWluX2Jsb2NrLCBiaXRkZXB0aCwKPiArCQkJCQkgICAgICAgZmls bV9ncmFpbi0+bnVtX3lfcG9pbnRzLCBncmFpbl9zY2FsZV9zaGlmdCwKPiArCQkJCQkgICAgICAg YXJfY29lZmZfbGFnLCBhcl9jb2VmZnNfeSwgYXJfY29lZmZfc2hpZnQsCj4gKwkJCQkJICAgICAg IGdyYWluX21pbiwgZ3JhaW5fbWF4LCBmaWxtX2dyYWluLT5ncmFpbl9zZWVkKTsKPiArCj4gKwly b2NrY2hpcF9hdjFfZ2VuZXJhdGVfY2hyb21hX2dyYWluX2Jsb2NrKGx1bWFfZ3JhaW5fYmxvY2ss IGNiX2dyYWluX2Jsb2NrLAo+ICsJCQkJCQkgY3JfZ3JhaW5fYmxvY2ssIGJpdGRlcHRoLAo+ICsJ CQkJCQkgZmlsbV9ncmFpbi0+bnVtX3lfcG9pbnRzLAo+ICsJCQkJCQkgZmlsbV9ncmFpbi0+bnVt X2NiX3BvaW50cywKPiArCQkJCQkJIGZpbG1fZ3JhaW4tPm51bV9jcl9wb2ludHMsCj4gKwkJCQkJ CSBncmFpbl9zY2FsZV9zaGlmdCwgYXJfY29lZmZfbGFnLCBhcl9jb2VmZnNfY2IsCj4gKwkJCQkJ CSBhcl9jb2VmZnNfY3IsIGFyX2NvZWZmX3NoaWZ0LCBncmFpbl9taW4sCj4gKwkJCQkJCSBncmFp bl9tYXgsCj4gKwkJCQkJCSBzY2FsaW5nX2Zyb21fbHVtYSwKPiArCQkJCQkJIGZpbG1fZ3JhaW4t PmdyYWluX3NlZWQpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCA2NDsgaSsrKSB7Cj4gKwkJZm9y IChqID0gMDsgaiA8IDY0OyBqKyspCj4gKwkJCWZnbWVtLT5jcm9wcGVkX2x1bWFfZ3JhaW5fYmxv Y2tbaSAqIDY0ICsgal0gPQo+ICsJCQkJKCpsdW1hX2dyYWluX2Jsb2NrKVtpICsgOV1baiArIDld Owo+ICsJfQo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKSB7Cj4gKwkJZm9yIChqID0g MDsgaiA8IDMyOyBqKyspIHsKPiArCQkJZmdtZW0tPmNyb3BwZWRfY2hyb21hX2dyYWluX2Jsb2Nr W2kgKiA2NCArIDIgKiBqXSA9Cj4gKwkJCQkoKmNiX2dyYWluX2Jsb2NrKVtpICsgNl1baiArIDZd Owo+ICsJCQlmZ21lbS0+Y3JvcHBlZF9jaHJvbWFfZ3JhaW5fYmxvY2tbaSAqIDY0ICsgMiAqIGog KyAxXSA9Cj4gKwkJCQkoKmNyX2dyYWluX2Jsb2NrKVtpICsgNl1baiArIDZdOwo+ICsJCX0KPiAr CX0KPiArCj4gKwloYW50cm9fd3JpdGVfYWRkcih2cHUsIEFWMV9GSUxNX0dSQUlOLCBhdjFfZGVj LT5maWxtX2dyYWluLmRtYSk7Cj4gKwo+ICthbGxvY19mYWlsOgo+ICsJa2ZyZWUoYXJfY29lZmZz X3kpOwo+ICsJa2ZyZWUoYXJfY29lZmZzX2NiKTsKPiArCWtmcmVlKGFyX2NvZWZmc19jcik7Cj4g KwlrZnJlZShsdW1hX2dyYWluX2Jsb2NrKTsKPiArCWtmcmVlKGNiX2dyYWluX2Jsb2NrKTsKPiAr CWtmcmVlKGNyX2dyYWluX2Jsb2NrKTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgcm9ja2NoaXBf dnB1OTgxX2F2MV9kZWNfc2V0X2NkZWYoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiAgewo+ICAJ c3RydWN0IGhhbnRyb19hdjFfZGVjX2h3X2N0eCAqYXYxX2RlYyA9ICZjdHgtPmF2MV9kZWM7Cj4g QEAgLTE5MTcsNiArMjEyNiw3IEBAIGludCByb2NrY2hpcF92cHU5ODFfYXYxX2RlY19ydW4oc3Ry dWN0IGhhbnRyb19jdHggKmN0eCkKPiAgCXJvY2tjaGlwX3ZwdTk4MV9hdjFfZGVjX3NldF9waWN0 dXJlX2RpbWVuc2lvbnMoY3R4KTsKPiAgCXJvY2tjaGlwX3ZwdTk4MV9hdjFfZGVjX3NldF9jZGVm KGN0eCk7Cj4gIAlyb2NrY2hpcF92cHU5ODFfYXYxX2RlY19zZXRfbHIoY3R4KTsKPiArCXJvY2tj aGlwX3ZwdTk4MV9hdjFfZGVjX3NldF9mZ3MoY3R4KTsKPiAgCXJvY2tjaGlwX3ZwdTk4MV9hdjFf ZGVjX3NldF9wcm9iKGN0eCk7Cj4gIAo+ICAJaGFudHJvX3JlZ193cml0ZSh2cHUsICZhdjFfZGVj X21vZGUsIEFWMV9ERUNfTU9ERSk7CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlw QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1yb2NrY2hpcAo=