From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AF183043DB; Tue, 18 Nov 2025 13:29:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.15 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763472553; cv=none; b=kZu+0iF18udbM8ZgBw7MCKYdzG5tQeXozewG5XL9F/TBW8OZPUWe070sV3xQtRTqGiaKyMCxV8SBgsDMQhzEdEmOdrXmfExa+4bWiD/2AVJaVvm1SNXQsVTIRn/ylN9SdHqtcn2CteiU/s3puGCCc6oq4+0ZSRg7bU+zbmsC/8c= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763472553; c=relaxed/simple; bh=E9xk1smEK/kt1tCzZ3+00hzoz06wMZAMfkPMvg35ydU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=u0Qu2/v2DXGmFyYSvtdK/6NrHQt0mKUEJ6/unxa057tthzvAE+sUBZLpGaV3Oar32NramefVVNu0sROyJk0qZuqQC+4gg5Wcu8cLgt1pFSfYZlvP35oGhW6O6cnYsJ0yJFNydLyo8JJQvJ8jevjGZe6U9EBvT9j3EKDsGGPNdus= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=EvSZ7YtS; arc=none smtp.client-ip=212.227.15.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="EvSZ7YtS" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1763472548; x=1764077348; i=w_armin@gmx.de; bh=E9xk1smEK/kt1tCzZ3+00hzoz06wMZAMfkPMvg35ydU=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=EvSZ7YtSMiEPBFZsYJHrt50VCfDt2g8LHNIxpvZaZVJoW32+1maL0d8n5P0DdZr+ qZiEIfx2yXLIEqjVWGtoWoF7HxMOymBJ3+mUqApnOCtOWr7qUGn2HQ43Q4tDxxBoC aZ+xcp4QtHyC4fkXd/b+vHIk8bsT5KFP+/54UtZIhw7LTTUuj193LDZsKt0rrtbC/ b2ssh8Uc3bct4WSMH0zT+enHnsrwXm+GPhR8cHNQY+X5se4jwR+405rEZpCAdjREW IlUSDWG5WIkRB5AuY8Gu2bMY/LsyNZlo83OxS+osRAv3DFBraM04HPb4o/tr7PKhW gL1MinIDccNpBpwpnQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [172.16.23.146] ([141.76.8.146]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MxDp4-1w5bhc1AVs-014sTo; Tue, 18 Nov 2025 14:29:08 +0100 Message-ID: <811e260b-7805-4ec6-8bf3-1b6a73af891a@gmx.de> Date: Tue, 18 Nov 2025 14:29:06 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/6] platform/x86/uniwill: Implement cTGP setting To: Werner Sembach , hansg@kernel.org, ilpo.jarvinen@linux.intel.com Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org References: <20251117132530.32460-1-wse@tuxedocomputers.com> <20251117132530.32460-4-wse@tuxedocomputers.com> <9c5205e8-d3f2-4dbd-8863-5347bb5e77c9@gmx.de> <9a4ff777-f786-4d59-8c36-c7b6eab9e3d1@tuxedocomputers.com> Content-Language: en-US From: Armin Wolf In-Reply-To: <9a4ff777-f786-4d59-8c36-c7b6eab9e3d1@tuxedocomputers.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:IUkqbfEGIUByQj4NEgmmBHrqTsMUDUHG5LoaJ+s5mnUqdq9VRyq XW5ySZlgY8ohQ376HJVqLfAGMfOcKo2IPLmVvLEOYrKW5BPi1P3arLgSDtkMv05pPGU1RkY t9HSp/Pf3QIQVYuHBggkcKBjZqXt243D7/wLP47/bc0ou7NpTGiE5lErtgCmKlIgvxjoowz dSF5rVn1+vs5VVhBfhvfQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:h0l/n5Ir7RI=;mtM6jqx8Ys/Eeu477B2PVZt2njl TNI9hWl6mULxFjRMB4HkbK822Nxep2n8hx7dhQsHDWd3w37rEodcxmwB4CkPlD3ECm9kEAMTh Iy1Ad6WN02WrsXiK/kk3Y/xqPrmaFD1dL2wia5zOe+P+nnsR511CXq5iVFIrB3y6UYHVcjKS4 AJTO9sFBnjomXoL/82GZ60MSUgmEfETALrA6ioHj/5bsGGG7kE1BGcPztxs+3UG7VQp8UtxAL jmDaTtAkYwyBOz98wp7mgWx2QP6G0hu05cm2+m+93YhVohd8q+VWuvyZ8km1J4jR+5PLlzFJp jB66kgjN7ue25bpd06pJTmPTXCabfP+HZwCPdGAZkOXVhv3hPNEW/whEBuhYrPPNVZ3PKuXj6 FuO+80gTisfWWhihalBHbUNeREu7xO4gnq0BVfjdmhNeHiOHLYlMemwF8/Hi9t3i9np+F4ZGU 8GP+9qsC1p1EYu0yZ0UiJEzZiX9gu0eTj+2kFYWjRcFgOsCSuKikNIIjXCVCgsTsZ8Jjv5bkk iwHGBatBVlxfPpLgbRIzfRnKkIP0mpuXc4LCs6SgEfTlf2LzdZea8Oiys45aXTSX+BJhEph+f xMjd4+IJIxUil3eVJeqDg/6zvKCLYXOjwZvfq4FEHx7EpvQXqittVMcECRgx5I9ekDS2VCr/N A1hdwFtQXyXx/Q8EPm3OP0rjsvbHec2sbpd5MI63GZNS6WWpzykoqEVfteEjjrHa0nnzk9BJi NtabZ9TSDzYYFqsZXtoM6tQmNkLcCvE8XH+7eepUy18BioTM0hYj1fQy1HGsmFbx48eHX/rNw 4vnPOZqCeNuws+4vOnpX84PSNgpz6YBK5+xpaiA7QkABETnsPdnK1GGAQQniMPAtZGwdUpevF 6KyO4gdDEGUUb4gr2qAlfwsGBwV7Yf8Y7GKcxa+kGpjCGZPQLc5c2ZeCmL4fBByx46eVrmEW0 3ZR3zfMYo5QDX9vN9BpQlnzyfUWy0csRbbAuEnz9KbdQziZTWQVS/FJcbs/la9MVMN5LrJNCz PZqhLq99p39v89g3aG+U5Lc4eLv4toDdXbjOV0n/7bEjR8OVmjncq8MZ5ClOgLgpJ6QGPXYRx EDjMkRslqGNdoIK9O49YQpZjzyr5CZ7Xp1L9BcGUSvmlKgtZ39+qcQKFVF3idb/EnXQpsFtCc W0WJa+szr7+kfHpE34ghMmoFs1EEVFmc3WaeGCUBUx8ZZxguM7mzLO61Scu+Ti4J6C7r21blr aFl0QbWC2bW81+2ZAmJFLbfjqP6ceH8rYvFMTdsyNw0A4BAGn4XPGnDifHQ+MyV1Wjf9Yjc7F LxDMWMoQ1axz9fo1U1I2OO5Ch/QeATlpEH1ABlS0LYUCSO9Z07B4DaAkQpnJ2iDFCcLVXArTh XAoS1EdMTjYddy7wtLoCTUunM1khPIdfsg4Z2QTi6dTP7WufAxpX6gcA3Kt24YIpIY6WgTzdL LuhppTMpZJMMBpjavAkEC9QpjmgSKkWqGR9FlBHW3NJXdlBiyfrlFSvK+2Gne8/Ba/I5X8Gq9 epyIjVyqsz8R9drOfzPpr84VAOcN5loM1BVByME8vm8pfrcGUkjqWRk5QoXgLx1fxYy0p4GXf qMnlndsNm0RkX5w4Va7oXBtYvkXCK7Y9ZjletYiwK1dnfxKP+eSjmHYiL13Yidk8jwwWRlx3m Ow6uxOSLRbINQ+a/UyTLMNSM6bd3OUxKvYMnPV20yX8Kouck6ODseSPak3I85sHBdbZMIB+6S yAuUmR3RKIm9Eh+bgV3Z5F+xddkGwapUKJSllFhGw4LlP4q9zI7oCspsjwRVx/zkuWlgCNfyp 8Gkl3RPQzZCtlDDRM/zmmIVTw7SJ46KuVUvunwvIWsukepWXezCwVSkd0Xv0YpE9e/SRoGRWT zyR0F8wVSbmvUJWKczYdxnZBWuZ9j0Tquzu13UCJBHbynm7L/FrgGp5t17ahqZrcR5/q0rUan moEZ4n39lXXQJCIfqgIXouUGBNOb2O9I23NN8MQ+cr0pL1sqTk/5KHtuGevenHlrKmIwNwqrh cuOYy2Y2Dc7AjyUnKdc1zQc/WxI9TgcdPHMSd+GXYbNN+SrN7XUmp3exJOwaHuzBr0Nx7rlNE pJrC/AzY3kCUGywqy+uy6jJFqi7BoMFPmAiJVGjNvoOI++G+G7QxrWG15JA+/iWkAO8IGF2ag SFLyxGxLOkZGVDsKxcXi/b7Iz7i0iwZtpT1YtpzZy2z/l6aeXrd5LfTWHHn2JAhP1rEf6OKCL YxTKCQpEiGQI/ZBwlOUAdFAQLLky7AXztd5Yc6K+KcHYmt1wuhZI54pnbyX8N95c0UJLH8HHj 9YaHSw5Y4FKQc/BgHiKMi2lUI12vgoSnyO8iMtMDlFcihEj2bkfJJpS84c2LnzqZvmPKQ3s1m DKWK91ncQ10SSLeyPfO3ZHKT6TAHUCXdLuM9aEoG4vi9xdulyQzHmSGResSKRBD14eBpI2O2L NopunzELitMzHb3zOShlrdPHfk5LP+7ZQRnZCFxztgxVD/wV7KWfNgkZDlV8/5DoLeyp0k4qj ghTSyqk6mYjVTLjl0cNcMoEaX1kQqeFQ/yvmpVJL/ekeplHCO6U1/4zZHdVHTdCQ+W6NueMYU acQP1zWzVWNj7ZgEXWNB33DkTfcO9P9YXtztqNr/g/8FwssBzC7asLjmU+beq+zr0e4mz+wkp +WaSoNVuE525YImIJuUCh/2j+7YRhFrU9cDdRNDSZI56OG2MCg0KohHePXWV9/HxFm7U0B1Xv moMjso5p6qglytiMKcyB6pILv4nY41JFYPAoUa2rINYPKWjAVwEzTTJIbZM5zzQi73tC0ej1D TrD/EKrR1lpRhQlveYptLZF+93Cq5rtxYH04hhwacpiN35zZCOa0GPiLcSoTn2etZuMEj6aTt 4aTzdo3bnXSW6UeiDXCOQNVktOoO5SKxuOC05pF0zJ7ov4pdzT04wtMRyi966xj2pztrmuOHK X6KonZQNJPi29+JoD27EgzN/DUMDYiOKDh9DGdcetWFx9PinJ7fQjjcTr63xKRLtHhpZ6W90v VzQ4emeKW4SXNTv3RG0Bd0lvq1GRptLoGsrKtNN4CjLyiN0xzZBbLC+xt9A10Fp7FFxuQ/Fv9 deScbYY0V5rTE87hCnRw3LwSbzNVMwDvxu2S0i1wq6DzFXvPrVcywJiINb+IummO+SSXXOwys ECpQAgXwArKM7P0B9M8mp3hGbAt2UB+HFW/VrbSnoN+RFSUkKDr1Cfw3vMpDJaDFrG0CNyGWp kT1bIm1nhVi/xoJ3MIcF68tnkCnDe+JaqpH7wXzJ3w1grIZL4zItBat0/rsK7auW7yxKPwdx+ hJwV61nVqmlJC19BLCq0QawdlxM+CYQrBRqYVTLcPA28IUfKDp6SHvD+iOooIRQLs0g2KIont 1R0Kz67NHc5IAvAvje1yvGgpIsIIpFPuZ40iInDvRf4jvu4ssLbvmyL8HpGpEuZOUVgjMDRHz ulowL7d8tPrs46oDoufOk9zZzVfGRYAHkqLuRCr8e/JaacVd6YgT5OiI3Q+zodIXLmTSpNxe+ TmIj/ZKIQpkq8/HwYTGntLhX37BCO8l262cB+LtG5a7iKaPsyiOvHP8owhQTMBZ8RlvhWb8yq JkJWleEQ0Y2HLCuk5Ssjr1ygc0yJuXzPWcH+L4fX2uMtTmm4UUDH86c3R+d+HUNoSl6v7r+8L 7tXMMObGkhFLmEvuzck0oUaQxn+dHFB7+rmlW5OrI/Ui0t7Hs/KfbuvgJMKcoH6BwaWgoiASh ctfoxvMw31FRdIZmSw865ySlMnV1oQaG0QrlBczkbA3ba5ULAUk6f480tVrOpeePMlH/2ykfC xltsoM4YzcFbkbQb+pODtOtKaqqp+58Cc0t4Ys0VVwckI3fA0AztNLL890J9OLoANc16Cx03V pu68jVhQamp9QuLGo9ezdS0p3FWGq2SY5l5Llg+H/PhkmCUP0TQ5xG41dUocelmQ6rAtmd5yB AkntmgxGj8aD2UEUWboyh3zN7QfwNiQOVbz/7iulJS4dqCPGXYaMkpaknnQAnPfVleekW+bSl 7SUcxjOBcttsvnilK4CgjUdiXxIX6JD4G9V5jXeZRELsBRQlqj9VCCEYaU+RXodPvnLTwuW+8 ATpnReQx6EbEHzc3zj9yqo093Djepz1MBOUvGSkEgc8YUK/uQMtFINdXSrrvfJ3oAaiLHrkND pTqzhkUEIdaNIp0OHmdQZTp0qQJbL4MbCKb7923OZUpkKJXwgmZ159TVfq/qMBzPOAE0V0Lm/ CBGzVJpBW/uvMGeviPjTDddl3nYR0l8M9b7jo0A/9F01UvHUhM4Ihpa4HGOhBxB7xA2lbVzKP jo8Xf70bBBw+nPnP0eUCiEv+braZ6OhRBZ31TDywFJ99cORqhw7179Ktc+V/msESOf+cQgoWk yr7FBDjVJFBI4qdMOctm5tdXV9cOKTSfchvV9XUyOoL3UaqVMV23CAwOY1KxvZWb7YdOee9Uh MVhPk15jSNQt/my+1lQHvjfdrBOa4fAdyEmGVW7Xt3bznbCsAFwMy5PUR/HoTQ3HfCpDEQbCy bGwzwAP7yQ25cp6Qf7y5ZnMyhQRJUmlzq3+N7Ueo55YLTnsrpFHHDB51IxiaxQTv3Q3Yu1LH/ 017WTSntG5R8P1o3irUws5WqnnJ5iR8tfN1NdznfPvqSb+WM8iHt/YC6gby+1ESHCQtPnq4/X 1PeMToxtZhx81PxqxnZNISG6M2QFy1bZi4wuD8OEu6/ytDnSmh0LhBtjJKXcwqTXAqsFHGN0v Wy73tPbixrVgZYvm2hZ8tdJGZb0aRIrh1fb3C75vBN1g665uXH0HYzUm+StW1rrSgzXcW69RI TTxzqfDNuA9AFljFrNqUdlJSctbErB0BXhuFMWtMQ3srRFWWrXfMdLJecS9KICDr2mnFMhCGo klPyJhQbFjCqhCdPJUkfG7qUgp9vXlz1ZF0s+C32QHzUe4evCcL5pVqvnFMd9GZIOuYPR4l1F 44fP+FBEiQ1VfczgJral/mb02fw1RbIJNiXHSfljlGpwRBA8LHmw8Fuo27JrSxDzfp/Z9SSgb GsRxVc/5Dmsfv3JiUiUZ1Z5gfKhJfn5Jj8YCToTy4NYviBEQBaxW2fEty1Ms5v0PGI5GWy5zG GMDF658t+V+jOpCiOBtEMqErwui0vEn+CG45At2h2BS3Ir4oIxAVZD23BY8T+7Pm+GtYv0Dcv vXB+XTb5Or6GkZQA7+iPvDU9G/1pbKesnDG7W2jTvKb4G9ghUkg== QW0gMTguMTEuMjUgdW0gMTM6NTggc2NocmllYiBXZXJuZXIgU2VtYmFjaDoNCg0KPg0KPiBBbSAx OC4xMS4yNSB1bSAxMjoxMiBzY2hyaWViIEFybWluIFdvbGY6DQo+PiBBbSAxNy4xMS4yNSB1bSAx NDoyNCBzY2hyaWViIFdlcm5lciBTZW1iYWNoOg0KPj4NCj4+PiBVbml3aWxsIG9mZmVycyB1c2Vy IHNldGFibGUgY1RHUCBmb3IgdGhlaXIgRUMgb24gZGV2aWNlcyB1c2luZyANCj4+PiBOVklESUEg MzAwMA0KPj4+IFNlcmllcyBhbmQgbmV3ZXIgR1BVcy4gVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRo aXMgc2V0dGluZyBhcyBhIHN5c2ZzDQo+Pj4gYXR0cmlidXRlLg0KPj4+DQo+Pj4gU2lnbmVkLW9m Zi1ieTogV2VybmVyIFNlbWJhY2ggPHdzZUB0dXhlZG9jb21wdXRlcnMuY29tPg0KPj4+IC0tLQ0K Pj4+IMKgIGRyaXZlcnMvcGxhdGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMgfCAxMTAg DQo+Pj4gKysrKysrKysrKysrKysrKysrKy0NCj4+PiDCoCAxIGZpbGUgY2hhbmdlZCwgMTA3IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9wbGF0Zm9ybS94ODYvdW5pd2lsbC91bml3aWxsLWFjcGkuYyANCj4+PiBiL2RyaXZlcnMvcGxh dGZvcm0veDg2L3VuaXdpbGwvdW5pd2lsbC1hY3BpLmMNCj4+PiBpbmRleCAwY2I4NmE3MDFiMmUx Li5kZTM0MTdkOWQxYWMwIDEwMDY0NA0KPj4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3Vu aXdpbGwvdW5pd2lsbC1hY3BpLmMNCj4+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni91bml3 aWxsL3VuaXdpbGwtYWNwaS5jDQo+Pj4gQEAgLTEyMiwxMSArMTIyLDExIEBADQo+Pj4gwqAgI2Rl ZmluZSBDVEdQX0RCX0RCX0VOQUJMRcKgwqDCoMKgwqDCoMKgIEJJVCgxKQ0KPj4+IMKgICNkZWZp bmUgQ1RHUF9EQl9DVEdQX0VOQUJMRcKgwqDCoMKgwqDCoMKgIEJJVCgyKQ0KPj4+IMKgIC0jZGVm aW5lIEVDX0FERFJfQ1RHUF9PRkZTRVTCoMKgwqDCoMKgwqDCoCAweDA3NDQNCj4+PiArI2RlZmlu ZSBFQ19BRERSX0NUR1BfREJfQ1RHUF9PRkZTRVTCoMKgwqAgMHgwNzQ0DQo+Pj4gwqAgLSNkZWZp bmUgRUNfQUREUl9UUFBfT0ZGU0VUwqDCoMKgwqDCoMKgwqAgMHgwNzQ1DQo+Pj4gKyNkZWZpbmUg RUNfQUREUl9DVEdQX0RCX1RQUF9PRkZTRVTCoMKgwqAgMHgwNzQ1DQo+Pj4gwqAgLSNkZWZpbmUg RUNfQUREUl9NQVhfVEdQwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDA3NDYNCj4+PiArI2RlZmlu ZSBFQ19BRERSX0NUR1BfREJfREJfT0ZGU0VUwqDCoMKgIDB4MDc0Ng0KPj4+IMKgIMKgICNkZWZp bmUgRUNfQUREUl9MSUdIVEJBUl9BQ19DVFJMwqDCoMKgIDB4MDc0OA0KPj4+IMKgICNkZWZpbmUg TElHSFRCQVJfQVBQX0VYSVNUU8KgwqDCoMKgwqDCoMKgIEJJVCgwKQ0KPj4+IEBAIC0zMTcsNiAr MzE3LDcgQEANCj4+PiDCoCAjZGVmaW5lIFVOSVdJTExfRkVBVFVSRV9MSUdIVEJBUsKgwqDCoMKg wqDCoMKgIEJJVCgzKQ0KPj4+IMKgICNkZWZpbmUgVU5JV0lMTF9GRUFUVVJFX0JBVFRFUlnCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg0KQ0KPj4+IMKgICNkZWZpbmUgVU5JV0lMTF9GRUFUVVJF X0hXTU9OwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoNSkNCj4+PiArI2RlZmluZSBVTklXSUxM X0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTMKgwqDCoCBCSVQoNikNCj4+PiDCoCDCoCBzdHJ1 Y3QgdW5pd2lsbF9kYXRhIHsNCj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRldjsNCj4+ PiBAQCAtNDk4LDYgKzQ5OSwxMCBAQCBzdGF0aWMgYm9vbCB1bml3aWxsX3dyaXRlYWJsZV9yZWco c3RydWN0IGRldmljZSANCj4+PiAqZGV2LCB1bnNpZ25lZCBpbnQgcmVnKQ0KPj4+IMKgwqDCoMKg wqAgY2FzZSBFQ19BRERSX0xJR0hUQkFSX0JBVF9SRUQ6DQo+Pj4gwqDCoMKgwqDCoCBjYXNlIEVD X0FERFJfTElHSFRCQVJfQkFUX0dSRUVOOg0KPj4+IMKgwqDCoMKgwqAgY2FzZSBFQ19BRERSX0xJ R0hUQkFSX0JBVF9CTFVFOg0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NUR1BfREJfQ1RSTDoN Cj4+PiArwqDCoMKgIGNhc2UgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VUOg0KPj4+ICvCoMKg wqAgY2FzZSBFQ19BRERSX0NUR1BfREJfVFBQX09GRlNFVDoNCj4+PiArwqDCoMKgIGNhc2UgRUNf QUREUl9DVEdQX0RCX0RCX09GRlNFVDoNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHRy dWU7DQo+Pj4gwqDCoMKgwqDCoCBkZWZhdWx0Og0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gZmFsc2U7DQo+Pj4gQEAgLTUzMSw2ICs1MzYsMTAgQEAgc3RhdGljIGJvb2wgdW5pd2lsbF9y ZWFkYWJsZV9yZWcoc3RydWN0IGRldmljZSANCj4+PiAqZGV2LCB1bnNpZ25lZCBpbnQgcmVnKQ0K Pj4+IMKgwqDCoMKgwqAgY2FzZSBFQ19BRERSX0xJR0hUQkFSX0JBVF9SRUQ6DQo+Pj4gwqDCoMKg wqDCoCBjYXNlIEVDX0FERFJfTElHSFRCQVJfQkFUX0dSRUVOOg0KPj4+IMKgwqDCoMKgwqAgY2Fz ZSBFQ19BRERSX0xJR0hUQkFSX0JBVF9CTFVFOg0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NU R1BfREJfQ1RSTDoNCj4+PiArwqDCoMKgIGNhc2UgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VU Og0KPj4+ICvCoMKgwqAgY2FzZSBFQ19BRERSX0NUR1BfREJfVFBQX09GRlNFVDoNCj4+PiArwqDC oMKgIGNhc2UgRUNfQUREUl9DVEdQX0RCX0RCX09GRlNFVDoNCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0dXJuIHRydWU7DQo+Pj4gwqDCoMKgwqDCoCBkZWZhdWx0Og0KPj4+IMKgwqDCoMKgwqDC oMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+Pj4gQEAgLTc4Niw2ICs3OTUsNjggQEAgc3RhdGljIHNz aXplX3QgYnJlYXRoaW5nX2luX3N1c3BlbmRfc2hvdyhzdHJ1Y3QgDQo+Pj4gZGV2aWNlICpkZXYs IHN0cnVjdCBkZXZpY2VfYXR0cmkNCj4+PiDCoCDCoCBzdGF0aWMgREVWSUNFX0FUVFJfUlcoYnJl YXRoaW5nX2luX3N1c3BlbmQpOw0KPj4+IMKgICtzdGF0aWMgc3NpemVfdCBjdGdwX29mZnNldF9z dG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCANCj4+PiBkZXZpY2VfYXR0cmlidXRlICph dHRyLA0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpi dWYsIHNpemVfdCBjb3VudCkNCj4+PiArew0KPj4+ICvCoMKgwqAgc3RydWN0IHVuaXdpbGxfZGF0 YSAqZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPj4+ICvCoMKgwqAgdW5zaWduZWQgaW50 IHZhbHVlOw0KPj4+ICvCoMKgwqAgaW50IHJldDsNCj4+PiArDQo+Pj4gK8KgwqDCoCByZXQgPSBr c3RydG91aW50KGJ1ZiwgMCwgJnZhbHVlKTsNCj4+PiArwqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKgIHJldCA9IHJl Z21hcF93cml0ZShkYXRhLT5yZWdtYXAsIEVDX0FERFJfQ1RHUF9EQl9DVEdQX09GRlNFVCwgDQo+ Pj4gdmFsdWUpOw0KPj4+ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybiByZXQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0dXJuIGNvdW50Ow0KPj4+ICt9DQo+ Pj4gKw0KPj4+ICtzdGF0aWMgc3NpemVfdCBjdGdwX29mZnNldF9zaG93KHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IA0KPj4+IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsDQo+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjaGFyICpidWYpDQo+Pj4gK3sNCj4+PiArwqDCoMKgIHN0 cnVjdCB1bml3aWxsX2RhdGEgKmRhdGEgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4+PiArwqDC oMKgIHVuc2lnbmVkIGludCB2YWx1ZTsNCj4+PiArwqDCoMKgIGludCByZXQ7DQo+Pj4gKw0KPj4+ ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3JlYWQoZGF0YS0+cmVnbWFwLCBFQ19BRERSX0NUR1BfREJf Q1RHUF9PRkZTRVQsIA0KPj4+ICZ2YWx1ZSk7DQo+Pj4gK8KgwqDCoCBpZiAocmV0IDwgMCkNCj4+ PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+PiArDQo+Pj4gK8KgwqDCoCByZXR1cm4g c3lzZnNfZW1pdChidWYsICIldVxuIiwgdmFsdWUpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtERVZJ Q0VfQVRUUl9SVyhjdGdwX29mZnNldCk7DQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW50IHVuaXdpbGxf bnZpZGlhX2N0Z3BfaW5pdChzdHJ1Y3QgdW5pd2lsbF9kYXRhICpkYXRhKQ0KPj4+ICt7DQo+Pj4g K8KgwqDCoCBpbnQgcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKgIGlmICghKHN1cHBvcnRlZF9mZWF0 dXJlcyAmIFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSkNCj4+PiArwqDCoMKg wqDCoMKgwqAgcmV0dXJuIDA7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3VwZGF0 ZV9iaXRzKGRhdGEtPnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0NUUkwsDQo+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENUR1BfREJfR0VORVJBTF9FTkFCTEUgfCBDVEdQX0RC X0RCX0VOQUJMRSB8IA0KPj4+IENUR1BfREJfQ1RHUF9FTkFCTEUsDQo+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIENUR1BfREJfR0VORVJBTF9FTkFCTEUgfCBDVEdQX0RCX0RC X0VOQUJMRSB8IA0KPj4+IENUR1BfREJfQ1RHUF9FTkFCTEUpOw0KPj4NCj4+IEkgdGhpbmsgd2Ug c2hvdWxkIGluaXRpYWxpemUgdGhlIHBvd2VyIGxpbWl0cyBiZWZvcmUgZW5hYmxpbmcgdGhlbSwg DQo+PiBvdGhlcndpc2UNCj4+IHRoZSByZWxldmFudCByZWdpc3RlcnMgbWlnaHQgc3RpbGwgY29u dGFpbiBpbnZhbGlkIGRhdGEuDQo+IGZyb20gYm9vdCB0aGV5IGFyZSBhbGwganVzdCAwLCBidXQg b2ZjIGkgY2FuIHNodWZmbGUgdGhpbmdzIGFyb3VuZA0KDQpQbGVhc2UgZG8sIGkgcHJlZmVyIHRv IHBsYXkgaXQgc2FmZSBoZXJlIGFzIHdlIGFyZSBkZWFsaW5nIHdpdGggcG93ZXIgbGltaXRzLg0K DQo+Pg0KPj4+ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy biByZXQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3dyaXRlKGRhdGEtPnJlZ21h cCwgRUNfQUREUl9DVEdQX0RCX0NUR1BfT0ZGU0VULCAwKTsNCj4+PiArwqDCoMKgIGlmIChyZXQg PCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ICsNCj4+PiArwqDCoMKg IHJldCA9IHJlZ21hcF93cml0ZShkYXRhLT5yZWdtYXAsIEVDX0FERFJfQ1RHUF9EQl9UUFBfT0ZG U0VULCAyNTUpOw0KPj4+ICvCoMKgwqAgaWYgKHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKg IHJldHVybiByZXQ7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0ID0gcmVnbWFwX3dyaXRlKGRhdGEt PnJlZ21hcCwgRUNfQUREUl9DVEdQX0RCX0RCX09GRlNFVCwgMjUpOw0KPj4+ICvCoMKgwqAgaWYg KHJldCA8IDApDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+Pg0KPj4gQXJlIHRo b3NlIHZhbHVlcyB0aGUgbWF4aW11bSB2YWx1ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybT8g SWYgeWVzIA0KPj4gdGhlbg0KPj4gd2Ugc2hvdWxkIGVuZm9yY2UgdGhlbSBmb3Igc3lzZnMgd3Jp dGVzLg0KPj4NCj4+IEFsc28sIHdoeSBpcyBvbmx5IGNUR1AgYWNjZXNzaWJsZSBmcm9tIHVzZXIg c3BhY2U/DQo+DQo+IEJlY2F1c2UgdGhhdCBpcyB0aGUgb25seSBvbmUgdGhhdCBzaG91bGQgYmUg c2V0dGFibGUgYnkgdGhlIHVzZXIgDQo+IGFjY29yZGluZyB0byBOVklESUEsIHRoZSByZXN0IHNo b3VsZCBiZSBzZXQgYnkgdGhlIE9ETS4NCj4NCj4gRUNfQUREUl9DVEdQX0RCX1RQUF9PRkZTRVQg bWF4IHZhbHVlIGlzIGp1c3QgbWF4IHU4IGFuZCB3b3VsZCBiZSANCj4gYW5vdGhlciB3YXkgdG8g Y2FwIGNwdSArIGdwdSBwb3dlciBidXQgdGhlcmUgYXJlIGFscmVhZHkgb3RoZXIgd2F5cyB0byAN Cj4gZG8gdGhhdCAoZS5nLiB0aGUgcG93ZXIgcHJvZmlsZXMpIHNvIGkgZG9uJ3Qgc2VlIGEgdmFs dWUgaW4gY2FwcGluZyANCj4gdGhlbSBoZXJlIGluIGFueSB3YXkuDQo+DQo+IEVDX0FERFJfQ1RH UF9EQl9EQl9PRkZTRVQgbWF4IHZhbHVlIDI1IGlzIGp1c3QgdGhlIG1heGltdW0gdmFsdWUgZm9y IA0KPiBkeW5hbWljIGJvb3N0IGRlZmluZWQgYnkgTlZJRElBLCBiaWdnZXIgdmFsdWVzIGFyZSBq dXN0IGJlaW5nIGlnbm9yZWQgDQo+IChiZWhhdmUgdGhlIHNhbWUgYXMgaGF2aW5nIHNldCAyNSk6 IGFnYWluIHRoZSBzYW1lIHN0b3J5OiBkZXZpY2VzIHRoYXQgDQo+IGRvbid0IHN1cHBvcnQgMjUg VyBkeW5hbWljIGJvb3N0IGFyZSBhbHJlYWR5IGNhcHBlZCBlbHNld2hlcmUgc28gaSANCj4gZG9u J3Qgc2VlIHZhbHVlIGluIGNhcHBpbmcgaXQgaGVyZS4NCj4NCj4gRUNfQUREUl9DVEdQX0RCX0NU R1BfT0ZGU0VUIGlzIHRoZSBvbmx5IG9uZSBpbnRlbnRlZCB0byBiZSBzZXQgYnkgdGhlIA0KPiB1 c2VyLCBwcm9ibGVtOiB0aGUgbWF4IHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIGRldmljZSB0byBk ZXZpY2UsIGFuZCBpIA0KPiBvbmx5IGtub3cgaG93IHRvIHByb2JlIGl0IHVzaW5nIG52aWRpYSBz bWkgZnJvbSB1c2Vyc3BhY2UuIEdvb2QgbmV3czogDQo+IG5vdGhpbmcgYmFkIGhhcHBlbnMgd2hl biB5b3Ugc2V0IGEgaGlnaGVyIHZhbHVlIChzYW1lIGFzIGZvciBkeW5hbWljIA0KPiBib29zdCkN Cj4NCkkgc2VlLCBkbyB5b3Uga25vdyB0aGUgbWF4LiB2YWx1ZSBmb3IgY1RHUCBmb3IgdGhlIGRl dmljZXMgeW91IGFkZGVkIGluIHBhdGNoIDE/IFRoZSBpbnRlbCBub3RlYm9va3MgdXNlIGEgc2lt aWxhcg0Kc2V0dXAsIGJ1dCB0aGV5IGxpbWl0IHRoZSBtYXguIHZhbHVlIG9mIGNUR1AgZGVwZW5k aW5nIG9uIHRoZSBHUFUgbW9kdWxlLg0KDQpJIHRoaW5rIHRoYXQgZXh0ZW5kaW5nIHVuaXdpbGxf ZGF0YSB0byBjb250YWluIGEgdXBwZXIgbGltaXQgZm9yIGNUR1Agd291bGQgYmUgbmljZSBmb3Ig dXNhYmlsaXR5LiBXZSBjYW4gdXNlIGEgZGVmYXVsdA0KdmFsdWUgKFU4X01BWCkgZm9yIGRldmlj ZXMgd2hlcmUgdGhlIHVwcGVyIGxpbWl0IGlzIHVua25vd24uIEZvciBkZXZpY2VzIHdoZXJlIHRo ZSBsaW1pdCBpcyBrbm93biwgdXNlcnNwYWNlIGFwcGxpY2F0aW9uDQpjYW4gdXNlIHRoZSBsaW1p dCBmb3Igc2hvd2luZyBpdCBpbiB0aGUgVUkuIEFkZGl0aW9uYWxseSBpIGFtIHBsYW5uaW5nIHRv IGludGVncmF0ZSBjVEdQIGludG8gdGhlIHBsYXRmb3JtIHByb2ZpbGUsIGFzIGl0DQppcyBkb25l IG9uIEludGVsIG1hY2hpbmVzLiBGb3IgdGhpcyBpIHdpbGwgYWRkIHRoZSBhYmlsaXR5IHRvIGRl ZmluZSBjVEdQIHZhbHVlcyBmb3IgZWFjaCBwbGF0Zm9ybSBwcm9maWxlLCB3aXRoIHRoZQ0KbWF4 IHZhbHVlIGJlaW5nIHVzZWQgZm9yIHRoZSB1cGNvbWluZyBtYXgtcG93ZXIgcGxhdGZvcm0gcHJv ZmlsZSAoYWxzbyBjYWxsZWQgImJlbmNobWFyayBtb2RlIiBvbiBpbnRlbCBwbGF0Zm9ybXMpLg0K DQpUbyBwdXQgaXQgc2hvcnQgcGxlYXNlIGFkZCBhbiBhZGRpdGlvbmFsIHN5c2ZzIGF0dHJpYnV0 ZSAobWF5YmUgY2FsbGVkIGN0Z3Bfb2Zmc2V0X21heD8pIGFkZCBqdXN0IHJldHVybiBVOF9NQVgg Zm9yIG5vdy4NCldlIGNhbiB0aGVuIGFkZCB0aGUgaW5kaXZpZHVhbCBsaW1pdHMgZm9yIGVhY2gg ZGV2aWNlIGxhdGVyIGlmIGRlc2lyZWQuDQoNClRoYW5rcywNCkFybWluIFdvbGYNCg0KPj4NCj4+ IFRoYW5rcywNCj4+IEFybWluIFdvbGYNCj4+DQo+Pj4gKw0KPj4+ICvCoMKgwqAgcmV0dXJuIDA7 DQo+Pj4gK30NCj4+PiArDQo+Pj4gwqAgc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKnVuaXdpbGxf YXR0cnNbXSA9IHsNCj4+PiDCoMKgwqDCoMKgIC8qIEtleWJvYXJkLXJlbGF0ZWQgKi8NCj4+PiDC oMKgwqDCoMKgICZkZXZfYXR0cl9mbl9sb2NrX3RvZ2dsZV9lbmFibGUuYXR0ciwNCj4+PiBAQCAt Nzk0LDYgKzg2NSw4IEBAIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICp1bml3aWxsX2F0dHJzW10g PSB7DQo+Pj4gwqDCoMKgwqDCoCAvKiBMaWdodGJhci1yZWxhdGVkICovDQo+Pj4gwqDCoMKgwqDC oCAmZGV2X2F0dHJfcmFpbmJvd19hbmltYXRpb24uYXR0ciwNCj4+PiDCoMKgwqDCoMKgICZkZXZf YXR0cl9icmVhdGhpbmdfaW5fc3VzcGVuZC5hdHRyLA0KPj4+ICvCoMKgwqAgLyogUG93ZXItbWFu YWdlbWVudC1yZWxhdGVkICovDQo+Pj4gK8KgwqDCoCAmZGV2X2F0dHJfY3RncF9vZmZzZXQuYXR0 ciwNCj4+PiDCoMKgwqDCoMKgIE5VTEwNCj4+PiDCoCB9Ow0KPj4+IMKgIEBAIC04MjAsNiArODkz LDExIEBAIHN0YXRpYyB1bW9kZV90IHVuaXdpbGxfYXR0cl9pc192aXNpYmxlKHN0cnVjdCANCj4+ PiBrb2JqZWN0ICprb2JqLCBzdHJ1Y3QgYXR0cmlidXRlICphDQo+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0dXJuIGF0dHItPm1vZGU7DQo+Pj4gwqDCoMKgwqDCoCB9DQo+Pj4gwqAg K8KgwqDCoCBpZiAoYXR0ciA9PSAmZGV2X2F0dHJfY3RncF9vZmZzZXQuYXR0cikgew0KPj4+ICvC oMKgwqDCoMKgwqDCoCBpZiAoc3VwcG9ydGVkX2ZlYXR1cmVzICYgVU5JV0lMTF9GRUFUVVJFX05W SURJQV9DVEdQX0NPTlRST0wpDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGF0 dHItPm1vZGU7DQo+Pj4gK8KgwqDCoCB9DQo+Pj4gKw0KPj4+IMKgwqDCoMKgwqAgcmV0dXJuIDA7 DQo+Pj4gwqAgfQ0KPj4+IMKgIEBAIC0xMzcxLDYgKzE0NDksMTAgQEAgc3RhdGljIGludCB1bml3 aWxsX3Byb2JlKHN0cnVjdCANCj4+PiBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+Pj4gwqDCoMKg wqDCoCBpZiAocmV0IDwgMCkNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+ PiDCoCArwqDCoMKgIHJldCA9IHVuaXdpbGxfbnZpZGlhX2N0Z3BfaW5pdChkYXRhKTsNCj4+PiAr wqDCoMKgIGlmIChyZXQgPCAwKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+ ICsNCj4+PiDCoMKgwqDCoMKgIHJldHVybiB1bml3aWxsX2lucHV0X2luaXQoZGF0YSk7DQo+Pj4g wqAgfQ0KPj4+IMKgIEBAIC0xNTQ3LDYgKzE2MjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRt aV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJU VVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0go RE1JX0JPQVJEX05BTUUsICJQSHhUUXgxIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+ Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICh2b2lkICopKFVOSVdJTExfRkVBVFVS RV9OVklESUFfQ1RHUF9DT05UUk9MKSwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDC oCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gSW5maW5pdHlCb29r IFBybyAxNC8xNiBHZW43IEludGVsIiwNCj4+PiBAQCAtMTU1NCw2ICsxNjM3LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19p bml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERN SV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg RE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiUEh4QVJYMV9QSHhBUUYxIiksDQo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9 ICh2b2lkICopKFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSwNCj4+PiDCoMKg wqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVu dCA9ICJUVVhFRE8gSW5maW5pdHlCb29rIFBybyAxNiBHZW43IEludGVsL0NvbW1vZG9yZSANCj4+ PiBPbW5pYS1Cb29rIFBybyBHZW4gNyIsDQo+Pj4gQEAgLTE1NjEsNiArMTY0NSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9f aW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChE TUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgDQo+Pj4gIlBINkFHMDFfUEg2QVE3MV9Q SDZBUUkxIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gK8KgwqDCoMKgwqDCoMKg IC5kcml2ZXJfZGF0YSA9ICh2b2lkICopKFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05U Uk9MKSwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDC oMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gSW5maW5pdHlCb29rIFBybyAxNC8xNiBHZW44IA0K Pj4+IEludGVsL0NvbW1vZG9yZSBPbW5pYS1Cb29rIFBybyBHZW4gOCIsDQo+Pj4gQEAgLTE1NzUs NiArMTY2MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3 aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlBINFBH MzEiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRy aXZlcl9kYXRhID0gKHZvaWQgKikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wp LA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgLmlkZW50ID0gIlRVWEVETyBJbmZpbml0eUJvb2sgUHJvIDE2IEdlbjggSW50ZWwiLA0K Pj4+IEBAIC0xNTgyLDYgKzE2NjgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1f aWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwN Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJE X05BTUUsICJQSDZQRzAxX1BINlBHNzEiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+ PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZvaWQgKikoVU5JV0lMTF9GRUFUVVJF X05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKg IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBJbmZpbml0eUJvb2sg UHJvIDE0LzE1IEdlbjkgQU1EIiwNCj4+PiBAQCAtMTY5NCw2ICsxNzgxLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0 Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9T WVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1J X0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014TUd4eCIpLA0KPj4+IMKgwqDCoMKgwqDC oMKgwqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAqKShV TklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9LA0K Pj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURP IFBvbGFyaXMgMTUvMTcgR2VuMiBJbnRlbCIsDQo+Pj4gQEAgLTE3MDEsNiArMTc4OSw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtd IF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRD SChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeE5HeHgiKSwNCj4+PiDCoMKg wqDCoMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZv aWQgKikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKg wqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0g IlRVWEVETyBTdGVsbGFyaXMvUG9sYXJpcyAxNS8xNyBHZW4zIEFNRCIsDQo+Pj4gQEAgLTE3MDgs NiArMTc5Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3 aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeFpH eHgiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRy aXZlcl9kYXRhID0gKHZvaWQgKikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wp LA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFyaXMvUG9sYXJpcyAxNS8xNyBHZW4zIEludGVs IiwNCj4+PiBAQCAtMTcxNSw2ICsxODA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lz dGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURP IiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9C T0FSRF9OQU1FLCAiR014VEd4eCIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+ICvC oMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAqKShVTklXSUxMX0ZFQVRVUkVfTlZJ RElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0K Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcy9Qb2xhcmlz IDE1LzE3IEdlbjQgQU1EIiwNCj4+PiBAQCAtMTcyMiw2ICsxODEzLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19pbml0Y29u c3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERNSV9TWVNf VkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX0VY QUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014Ukd4eCIpLA0KPj4+IMKgwqDCoMKgwqDCoMKg wqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAqKShVTklX SUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+ IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0 ZWxsYXJpcyAxNSBHZW40IEludGVsIiwNCj4+PiBAQCAtMTcyOSw2ICsxODIxLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19p bml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERN SV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg RE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR014QUd4eCIpLA0KPj4+IMKgwqDCoMKg wqDCoMKgwqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAq KShVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9 LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVY RURPIFBvbGFyaXMgMTUvMTcgR2VuNSBBTUQiLA0KPj4+IEBAIC0xNzM2LDYgKzE4MjksNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVb XSBfX2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFU Q0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJHTXhYR3h4IiksDQo+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIH0sDQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICh2 b2lkICopKFVOSVdJTExfRkVBVFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSwNCj4+PiDCoMKgwqDC oMKgIH0sDQo+Pj4gwqDCoMKgwqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9 ICJUVVhFRE8gU3RlbGxhcmlzIDE2IEdlbjUgQU1EIiwNCj4+PiBAQCAtMTc0Myw2ICsxODM3LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3Rh YmxlW10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1J X01BVENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR002WEd4WCIpLA0KPj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEg PSAodm9pZCAqKShVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDC oMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRl bnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNi8xNyBHZW41IEludGVsL0NvbW1vZG9yZSANCj4+PiBP UklPTiBHZW4gNSIsDQo+Pj4gQEAgLTE3NTAsNiArMTg0NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0g ew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRP UiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9N QVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeFBYeHgiKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg fSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZvaWQgKikoVU5JV0lMTF9G RUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKg wqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFy aXMgU2xpbSAxNSBHZW42IEFNRCIsDQo+Pj4gQEAgLTE3NTcsNiArMTg1Myw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5p dGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlf U1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERN SV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIkdNeEhHeHgiKSwNCj4+PiDCoMKgwqDCoMKg wqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZvaWQgKiko VU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKgwqAgfSwN Cj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVE TyBTdGVsbGFyaXMgU2xpbSAxNSBHZW42IEludGVsL0NvbW1vZG9yZSANCj4+PiBPUklPTiBTbGlt IDE1IEdlbjYiLA0KPj4+IEBAIC0xNzY0LDYgKzE4NjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsN Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1Is ICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFU Q0goRE1JX0JPQVJEX05BTUUsICJHTTVJWHhBIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0s DQo+Pj4gK8KgwqDCoMKgwqDCoMKgIC5kcml2ZXJfZGF0YSA9ICh2b2lkICopKFVOSVdJTExfRkVB VFVSRV9OVklESUFfQ1RHUF9DT05UUk9MKSwNCj4+PiDCoMKgwqDCoMKgIH0sDQo+Pj4gwqDCoMKg wqDCoCB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC5pZGVudCA9ICJUVVhFRE8gU3RlbGxhcmlz IDE2IEdlbjYgSW50ZWwvQ29tbW9kb3JlIE9SSU9OIA0KPj4+IDE2IEdlbjYiLA0KPj4+IEBAIC0x NzcxLDYgKzE4NjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4g dW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25zdCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19WRU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhBQ1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJH TTZJWHhCX01CMSIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKg wqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAqKShVTklXSUxMX0ZFQVRVUkVfTlZJRElBX0NUR1Bf Q09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDC oMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0ZWxsYXJpcyAxNiBHZW42IEludGVsL0Nv bW1vZG9yZSBPUklPTiANCj4+PiAxNiBHZW42IiwNCj4+PiBAQCAtMTc3OCw2ICsxODc3LDcgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxl W10gX19pbml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01B VENIKERNSV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgRE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiR002SVh4Ql9NQjIiKSwNCj4+ PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRh ID0gKHZvaWQgKikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKg wqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlk ZW50ID0gIlRVWEVETyBTdGVsbGFyaXMgMTcgR2VuNiBJbnRlbC9Db21tb2RvcmUgT1JJT04gDQo+ Pj4gMTcgR2VuNiIsDQo+Pj4gQEAgLTE3ODUsNiArMTg4NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJsZVtdIF9faW5pdGNvbnN0ID0g ew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9NQVRDSChETUlfU1lTX1ZFTkRP UiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9FWEFDVF9N QVRDSChETUlfQk9BUkRfTkFNRSwgIkdNN0lYeE4iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg fSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZvaWQgKikoVU5JV0lMTF9G RUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKg wqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRVWEVETyBTdGVsbGFy aXMgMTYgR2VuNyBBTUQiLA0KPj4+IEBAIC0xNzkyLDYgKzE4OTMsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGRtaV9zeXN0ZW1faWQgDQo+Pj4gdW5pd2lsbF9kbWlfdGFibGVbXSBfX2luaXRjb25z dCA9IHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfTUFUQ0goRE1JX1NZU19W RU5ET1IsICJUVVhFRE8iKSwNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBETUlfRVhB Q1RfTUFUQ0goRE1JX0JPQVJEX05BTUUsICJYNkZSNXh4WSIpLA0KPj4+IMKgwqDCoMKgwqDCoMKg wqDCoCB9LA0KPj4+ICvCoMKgwqDCoMKgwqDCoCAuZHJpdmVyX2RhdGEgPSAodm9pZCAqKShVTklX SUxMX0ZFQVRVUkVfTlZJRElBX0NUR1BfQ09OVFJPTCksDQo+Pj4gwqDCoMKgwqDCoCB9LA0KPj4+ IMKgwqDCoMKgwqAgew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAuaWRlbnQgPSAiVFVYRURPIFN0 ZWxsYXJpcyAxNiBHZW43IEludGVsIiwNCj4+PiBAQCAtMTc5OSw2ICsxOTAxLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWlfc3lzdGVtX2lkIA0KPj4+IHVuaXdpbGxfZG1pX3RhYmxlW10gX19p bml0Y29uc3QgPSB7DQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRE1JX01BVENIKERN SV9TWVNfVkVORE9SLCAiVFVYRURPIiksDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg RE1JX0VYQUNUX01BVENIKERNSV9CT0FSRF9OQU1FLCAiWDZBUjV4eFkiKSwNCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9kYXRhID0gKHZvaWQg KikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+IMKgwqDCoMKgwqAg fSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLmlkZW50ID0gIlRV WEVETyBTdGVsbGFyaXMgMTYgR2VuNyBJbnRlbCIsDQo+Pj4gQEAgLTE4MDYsNiArMTkwOSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCANCj4+PiB1bml3aWxsX2RtaV90YWJs ZVtdIF9faW5pdGNvbnN0ID0gew0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERNSV9N QVRDSChETUlfU1lTX1ZFTkRPUiwgIlRVWEVETyIpLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIERNSV9FWEFDVF9NQVRDSChETUlfQk9BUkRfTkFNRSwgIlg2QVI1eHhZX21MRUQiKSwN Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgfSwNCj4+PiArwqDCoMKgwqDCoMKgwqAgLmRyaXZlcl9k YXRhID0gKHZvaWQgKikoVU5JV0lMTF9GRUFUVVJFX05WSURJQV9DVEdQX0NPTlRST0wpLA0KPj4+ IMKgwqDCoMKgwqAgfSwNCj4+PiDCoMKgwqDCoMKgIHsNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg LmlkZW50ID0gIlRVWEVETyBQdWxzZSAxNCBHZW4xIEFNRCIsDQo+DQo=