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 6DCF4CA5FEC for ; Sat, 3 Oct 2026 14:57:58 +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:In-Reply-To:References:To:From:Subject: Cc:Message-Id:Date:Mime-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=e1L2cC87/dwTR+pti+5jBVgfk3VD2Y9B1RWam6QsklA=; b=XIYiOQdF/WGEO4 Lus1oSyEDQDjcluWC3zbMGG8Vm6nTYCcBGKdA+sdFz3tOU8maPLdQpo7iLjtR9tYJo5m5ZXyJoAlY VAY35OYblbE/atj0KEWt67FcCzvgJFYA91fiMMsaGp2AqhpytDhIY2haI3217ABwSnnHK73C8tIzk W+5QBuYu5Wufvv24W7ScBs0aOfPHJ4zDcHs2xpv8K3UziHlLth7XWiCIDCkYn3DzYRDNCmxdS7igU K6NxMkn1pRL23SqZ+p7xObfF9MQ2ICaBNerST5sAoHGG9SlUXhgBhl7JBJXqF9h1I3cSjzNasAPgF CsU4W1bQkVVVItQlQHGg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xD1BI-0000000Dedz-0vpT; Sat, 03 Oct 2026 14:57:44 +0000 Received: from sender6-pp-g123.zoho.com ([165.173.180.123]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xD1BE-0000000Dect-1hkt; Sat, 03 Oct 2026 14:57:42 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1791039435; cv=none; d=zohomail.com; s=zohoarc; b=B2dsupjAD/xEnuZcDbRd+J/uMOSoydtGZfPxlM6yasMU2a9zDYAftDmaOCX+L7U+4iaYhmDlVzNjg3JRd/WBJ1cAmZyeGjI7/t/x82BD9hNjlXAXJhLju5z2al5Unnqwn8rojxOPw5e0YPmnnJg3dAPJiYFHzDnIziGwwT5H5Hc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1791039435; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=NSwFcA47hIfQsmJOM2nJiaMy7kPbDB0MRzTINBK5Ig0=; b=Y9yCCFJ8pntBF4VjVtbbbw2Cx8GVyNFdVh7VPjPCkISjbg5kMiR/trhW+LmV/bRb0SkcWPdS6kHCE1dbHTDIDdh6uEWoJylqS/hMjE0uVDfvzUxpxghiLPXzqpC0RVHsIQmEDuEetdkWua+ptZq+RVVOb333Q1BEqCmTkU5DbBM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=pigmoral.tech; spf=pass smtp.mailfrom=junhui.liu@pigmoral.tech; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1791039435; s=zmail; d=pigmoral.tech; i=junhui.liu@pigmoral.tech; h=Mime-Version:Content-Transfer-Encoding:Content-Type:Date:Date:Message-Id:Message-Id:Cc:Cc:Subject:Subject:From:From:To:To:In-Reply-To:Reply-To; bh=NSwFcA47hIfQsmJOM2nJiaMy7kPbDB0MRzTINBK5Ig0=; b=M/ruwXtveB/UX2Trc/MfPckGq4+fgMTSw48qxjxnjA5TG4mz298fBPbMjh9B3hJD PHFWRNiOM+3WPAJ0Dyo4Cf7sI/Hh9XzT19J3+0aySez7FhUKEyk8UkHfIcymXIfGBcu s1lXQp1majEII+vk8kywd+o2Ekg4qUxloJUkJcwY= Received: by smtp.zohomail.com with SMTPS id 1791039435077605.2511497773884; Sat, 3 Oct 2026 07:57:15 -0700 (PDT) Mime-Version: 1.0 Date: Sat, 03 Oct 2026 22:57:05 +0800 Message-Id: Cc: "Stephen Boyd" , "Brian Masney" , "Jerome Brunet" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , "Jernej Skrabec" , "Samuel Holland" , "Philipp Zabel" , "Paul Walmsley" , "Palmer Dabbelt" , "Albert Ou" , "Alexandre Ghiti" , "Richard Cochran" , , , , , , , , "Jerome Brunet" , "Enzo Adriano" , "Andre Przywara" Subject: Re: [PATCH v5 3/8] clk: sunxi-ng: a733: Add PRCM CCU From: "Junhui Liu" To: , "Junhui Liu" X-Mailer: aerc 0.22.0 References: <20260930-a733-clk-v5-0-11175b41cd2d@pigmoral.tech> <20260930-a733-clk-v5-3-11175b41cd2d@pigmoral.tech> In-Reply-To: X-ZohoMailClient: External X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261003_075741_315622_56BB8841 X-CRM114-Status: GOOD ( 23.80 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgQ2hlbi1ZdSwKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKT24gU2F0IE9jdCAzLCAyMDI2IGF0 IDEwOjAwIFBNIENTVCwgQ2hlbi1ZdSBUc2FpIHdyb3RlOgo+IE9uIFdlZCwgU2VwIDMwLCAyMDI2 IGF0IDE6MjfigK9BTSBKdW5odWkgTGl1IDxqdW5odWkubGl1QHBpZ21vcmFsLnRlY2g+IHdyb3Rl Ogo+Pgo+PiBBZGQgc3VwcG9ydCBmb3IgdGhlIFBvd2VyIFJlc2V0IENsb2NrIE1hbmFnZW1lbnQg KFBSQ00pIG1vZHVsZSBmb3VuZCBpbgo+PiB0aGUgQWxsd2lubmVyIEE3MzMgU29DLiBUaGlzIGNs b2NrIGNvbnRyb2xsZXIgbWFuYWdlcyB0aGUgY2xvY2sgY29udHJvbAo+PiBhbmQgcmVzZXQgZnVu Y3Rpb25zIGZvciBkZXZpY2UgbW9kdWxlcyB3aXRoaW4gdGhlIENQVVMgZG9tYWluLgo+Pgo+PiBU aGUgUFJDTSBtb2R1bGUgaW5jbHVkZXMgdGhlIG1hbmFnZW1lbnQgb2YgdGhyZWUgcHJpbWFyeSBi dXNlczogci1haGIsCj4+IHItYXBiMCwgYW5kIHItYXBiMS4gSXQgYWxzbyBwcm92aWRlcyBjbG9j a2luZyBmb3Igc2V2ZXJhbCBrZXkKPj4gcGVyaXBoZXJhbHMsIHN1Y2ggYXMgUi1VQVJULCBSLUky QywgUi1TUEksIGFuZCB0aGUgUi1SSVNDViBzdWJzeXN0ZW0uCj4+IEFkZGl0aW9uYWxseSwgdGhl IHJlc2V0IGxpbmVzIGZvciB0aGVzZSBtb2R1bGVzIGFyZSBpbnRlZ3JhdGVkLgo+Pgo+PiBUZXN0 ZWQtYnk6IEplcm9tZSBCcnVuZXQgPGpicnVuZXRAYmF5bGlicmUuY29tPgo+PiBSZXZpZXdlZC1i eTogRW56byBBZHJpYW5vIDxlbnpvLmFkcmlhbm8uY29kZUBnbWFpbC5jb20+Cj4+IFNpZ25lZC1v ZmYtYnk6IEp1bmh1aSBMaXUgPGp1bmh1aS5saXVAcGlnbW9yYWwudGVjaD4KPj4gLS0tCj4+ICBk cml2ZXJzL2Nsay9zdW54aS1uZy9LY29uZmlnICAgICAgICAgICAgIHwgICA1ICsKPj4gIGRyaXZl cnMvY2xrL3N1bnhpLW5nL01ha2VmaWxlICAgICAgICAgICAgfCAgIDIgKwo+PiAgZHJpdmVycy9j bGsvc3VueGktbmcvY2N1LXN1bjYwaS1hNzMzLXIuYyB8IDI3MyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDI4MCBpbnNlcnRpb25zKCspCj4+Cj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zdW54aS1uZy9LY29uZmlnIGIvZHJpdmVycy9jbGsv c3VueGktbmcvS2NvbmZpZwo+PiBpbmRleCA2YWYyZDAyMGUwM2UuLjIwMmU3OTNkYzc1NCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9jbGsvc3VueGktbmcvS2NvbmZpZwo+PiArKysgYi9kcml2ZXJz L2Nsay9zdW54aS1uZy9LY29uZmlnCj4+IEBAIC02Nyw2ICs2NywxMSBAQCBjb25maWcgU1VONTVJ X0E1MjNfUl9DQ1UKPj4gICAgICAgICBkZWZhdWx0IEFSQ0hfU1VOWEkKPj4gICAgICAgICBkZXBl bmRzIG9uIEFSTTY0IHx8IENPTVBJTEVfVEVTVAo+Pgo+PiArY29uZmlnIFNVTjYwSV9BNzMzX1Jf Q0NVCj4+ICsgICAgICAgdHJpc3RhdGUgIlN1cHBvcnQgZm9yIHRoZSBBbGx3aW5uZXIgQTczMyBQ UkNNIENDVSIKPj4gKyAgICAgICBkZWZhdWx0IEFSQ0hfU1VOWEkKPj4gKyAgICAgICBkZXBlbmRz IG9uIEFSTTY0IHx8IENPTVBJTEVfVEVTVAo+PiArCj4+ICBjb25maWcgU1VONElfQTEwX0NDVQo+ PiAgICAgICAgIHRyaXN0YXRlICJTdXBwb3J0IGZvciB0aGUgQWxsd2lubmVyIEExMC9BMjAgQ0NV Igo+PiAgICAgICAgIGRlZmF1bHQgQVJDSF9TVU5YSQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9j bGsvc3VueGktbmcvTWFrZWZpbGUgYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9NYWtlZmlsZQo+PiBp bmRleCBhMWM0MDg3ZDcyNDEuLmQzNzAyYmRiN2EyMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9j bGsvc3VueGktbmcvTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9jbGsvc3VueGktbmcvTWFrZWZp bGUKPj4gQEAgLTM2LDYgKzM2LDcgQEAgb2JqLSQoQ09ORklHX1NVTjUwSV9INjE2X0NDVSkgKz0g c3VuNTBpLWg2MTYtY2N1Lm8KPj4gIG9iai0kKENPTkZJR19TVU41NUlfQTUyM19DQ1UpICArPSBz dW41NWktYTUyMy1jY3Uubwo+PiAgb2JqLSQoQ09ORklHX1NVTjU1SV9BNTIzX01DVV9DQ1UpICAg ICAgKz0gc3VuNTVpLWE1MjMtbWN1LWNjdS5vCj4+ICBvYmotJChDT05GSUdfU1VONTVJX0E1MjNf Ul9DQ1UpICAgICAgICArPSBzdW41NWktYTUyMy1yLWNjdS5vCj4+ICtvYmotJChDT05GSUdfU1VO NjBJX0E3MzNfUl9DQ1UpICAgICAgICArPSBzdW42MGktYTczMy1yLWNjdS5vCj4+ICBvYmotJChD T05GSUdfU1VONElfQTEwX0NDVSkgICAgKz0gc3VuNGktYTEwLWNjdS5vCj4+ICBvYmotJChDT05G SUdfU1VONUlfQ0NVKSAgICAgICAgICAgICAgICArPSBzdW41aS1jY3Uubwo+PiAgb2JqLSQoQ09O RklHX1NVTjZJX0EzMV9DQ1UpICAgICs9IHN1bjZpLWEzMS1jY3Uubwo+PiBAQCAtNjQsNiArNjUs NyBAQCBzdW41MGktaDYxNi1jY3UteSAgICAgICAgICAgICArPSBjY3Utc3VuNTBpLWg2MTYubwo+ PiAgc3VuNTVpLWE1MjMtY2N1LXkgICAgICAgICAgICAgICs9IGNjdS1zdW41NWktYTUyMy5vCj4+ ICBzdW41NWktYTUyMy1tY3UtY2N1LXkgICAgICAgICAgKz0gY2N1LXN1bjU1aS1hNTIzLW1jdS5v Cj4+ICBzdW41NWktYTUyMy1yLWNjdS15ICAgICAgICAgICAgKz0gY2N1LXN1bjU1aS1hNTIzLXIu bwo+PiArc3VuNjBpLWE3MzMtci1jY3UteSAgICAgICAgICAgICs9IGNjdS1zdW42MGktYTczMy1y Lm8KPj4gIHN1bjRpLWExMC1jY3UteSAgICAgICAgICAgICAgICAgICAgICAgICs9IGNjdS1zdW40 aS1hMTAubwo+PiAgc3VuNWktY2N1LXkgICAgICAgICAgICAgICAgICAgICs9IGNjdS1zdW41aS5v Cj4+ICBzdW42aS1hMzEtY2N1LXkgICAgICAgICAgICAgICAgICAgICAgICArPSBjY3Utc3VuNmkt YTMxLm8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW42MGktYTcz My1yLmMgYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3Utc3VuNjBpLWE3MzMtci5jCj4+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAwMDAwMC4uZjMyMGI1MjUyNmVhCj4+IC0t LSAvZGV2L251bGwKPj4gKysrIGIvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1LXN1bjYwaS1hNzMz LXIuYwo+PiBAQCAtMCwwICsxLDI3MyBAQAo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQo+PiArLyoKPj4gKyAqIENvcHlyaWdodCAoQykgMjAyMyByZW5nYW9taW5A YWxsd2lubmVydGVjaC5jb20KPj4gKyAqIENvcHlyaWdodCAoQykgMjAyNiBKdW5odWkgTGl1IDxq dW5odWkubGl1QHBpZ21vcmFsLnRlY2g+Cj4+ICsgKiBCYXNlZCBvbiB0aGUgQTUyMyBDQ1UgZHJp dmVyOgo+PiArICogICBDb3B5cmlnaHQgKEMpIDIwMjQgQXJtIEx0ZC4KPj4gKyAqLwo+PiArCj4+ ICsjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvbW9k dWxlLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4+ICsKPj4gKyNp bmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9hbGx3aW5uZXIsc3VuNjBpLWE3MzMtci1jY3UuaD4K Pj4gKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9yZXNldC9hbGx3aW5uZXIsc3VuNjBpLWE3MzMtci1j Y3UuaD4KPj4gKwo+PiArI2luY2x1ZGUgImNjdV9jb21tb24uaCIKPj4gKyNpbmNsdWRlICJjY3Vf cmVzZXQuaCIKPj4gKwo+PiArI2luY2x1ZGUgImNjdV9kaXYuaCIKPj4gKyNpbmNsdWRlICJjY3Vf Z2F0ZS5oIgo+PiArI2luY2x1ZGUgImNjdV9tcC5oIgo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IGNsa19wYXJlbnRfZGF0YSByX2FoYl9wYXJlbnRzW10gPSB7Cj4+ICsgICAgICAgeyAuZndf bmFtZSA9ICJob3NjIiB9LAo+PiArICAgICAgIHsgLmZ3X25hbWUgPSAibG9zYyIgfSwKPj4gKyAg ICAgICB7IC5md19uYW1lID0gImlvc2MiIH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJwbGwt cGVyaXBoMC0yMDBtIiB9LAo+PiArICAgICAgIHsgLmZ3X25hbWUgPSAicGxsLXBlcmlwaDAtMzAw bSIgfSwKPj4gK307Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX01fREFUQV9XSVRIX01VWChyX2FoYl9j bGssICJyLWFoYiIsIHJfYWhiX3BhcmVudHMsIDB4MDAwLAo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAwLCA1LCAgLyogTSAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAyNCwgMywgLyogbXV4ICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDApOwo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNsa19wYXJlbnRfZGF0YSByX2Fw Yl9wYXJlbnRzW10gPSB7Cj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJob3NjIiB9LAo+PiArICAg ICAgIHsgLmZ3X25hbWUgPSAibG9zYyIgfSwKPj4gKyAgICAgICB7IC5md19uYW1lID0gImlvc2Mi IH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJwbGwtcGVyaXBoMC0yMDBtIiB9LAo+PiArICAg ICAgIHsgLmZ3X25hbWUgPSAic3lzLTI0bSIgfSwKPj4gK307Cj4+ICsKPj4gK3N0YXRpYyBTVU5Y SV9DQ1VfTV9EQVRBX1dJVEhfTVVYKHJfYXBiMF9jbGssICJyLWFwYjAiLCByX2FwYl9wYXJlbnRz LCAweDAwYywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgNSwgIC8qIE0g Ki8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjQsIDMsIC8qIG11eCAqLwo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPj4gKwo+PiArc3RhdGljIFNV TlhJX0NDVV9NX0RBVEFfV0lUSF9NVVgocl9hcGIxX2NsaywgInItYXBiMSIsIHJfYXBiX3BhcmVu dHMsIDB4MDEwLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCA1LCAgLyog TSAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNCwgMywgLyogbXV4ICov Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwo+Cj4gVGhlIHRocmVlIGJ1 cyBkaXZpZGVycyBhcmUgc2VjdXJlIGJ5IGRlZmF1bHQsIGFuZCBlaXRoZXIgbmVlZCB0byBiZSB0 b2dnbGVkCj4gdG8gbm9uLXNlY3VyZSBieSB0aGUgYm9vdGxvYWRlciwgb3IgKEknbSBndWVzc2lu ZykgdGhlIHN5c3RlbSBpcyBydW5uaW5nCj4gd2l0aG91dCBzZWN1cmUgYm9vdCBhbmQgdGhlIHNl Y3VyZSBhY2Nlc3MgYml0IGlzbid0IGluIGVmZmVjdC4KPgo+IFBsZWFzZSBhZGQgYSBjb21tZW50 IGFib3V0IHRoaXMuCgpPa2F5LCBJIHdpbGwgYWRkIGEgY29tbWVudCBleHBsYWluaW5nIHRoaXMu Cgo+Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX1BfREFUQV9XSVRIX01VWF9HQVRFKHJfY3B1X3RpbWVy MCwgInItdGltZXIwIiwgcl9hcGJfcGFyZW50cywgMHgxMDAsCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMSwgMywgICAgIC8qIFAgKi8KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA0LCAzLCAgICAgLyogbXV4ICovCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQklUKDApLCAgIC8qIGdhdGUgKi8KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1Vf UF9EQVRBX1dJVEhfTVVYX0dBVEUocl9jcHVfdGltZXIxLCAici10aW1lcjEiLCByX2FwYl9wYXJl bnRzLCAweDEwNCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAz LCAgICAgLyogUCAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQs IDMsICAgICAvKiBtdXggKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBCSVQoMCksICAgLyogZ2F0ZSAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9QX0RBVEFfV0lUSF9NVVhfR0FURShyX2Nw dV90aW1lcjIsICJyLXRpbWVyMiIsIHJfYXBiX3BhcmVudHMsIDB4MTA4LAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDMsICAgICAvKiBQICovCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgMywgICAgIC8qIG11eCAqLwo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJJVCgwKSwgICAvKiBnYXRlICovCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7Cj4+ICtzdGF0aWMgU1VO WElfQ0NVX1BfREFUQV9XSVRIX01VWF9HQVRFKHJfY3B1X3RpbWVyMywgInItdGltZXIzIiwgcl9h cGJfcGFyZW50cywgMHgxMGMsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMSwgMywgICAgIC8qIFAgKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA0LCAzLCAgICAgLyogbXV4ICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQklUKDApLCAgIC8qIGdhdGUgKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19y X3RpbWVyX2NsaywgImJ1cy1yLXRpbWVyIiwgJnJfYWhiX2Nsay5jb21tb24uaHcsIDB4MTFjLCBC SVQoMCksIDApOwo+Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFcoYnVzX3JfdHdkX2Nsaywg ImJ1cy1yLXR3ZCIsICZyX2FwYjBfY2xrLmNvbW1vbi5odywgMHgxMmMsIEJJVCgwKSwgMCk7Cj4K PiBVc2VyIG1hbnVhbCBzYXlzIHRoaXMgaXMgc2VjdXJlIG9ubHkuIEkgc3VnZ2VzdCBhdCBsZWFz dCBhZGRpbmcgYSBjb21tZW50Cj4gaWYgbm90IHJlbW92aW5nIGl0IGFsdG9nZXRoZXIuIE9yIHBl cmhhcHMgc29tZW9uZSBjb3VsZCBjbGFyaWZ5IHdpdGgKPiBBbGx3aW5uZXIgd2hhdCB0aGlzIGRv ZXMuCgpJIHdpbGwgdHJ5IHRvIHRlc3QgdGhpcyBvbiBhIGJvYXJkIHdpdGggc2VjdXJlIGJvb3Qg ZW5hYmxlZC4gSWYgdGhlCnJlZ2lzdGVyIGlzIGluZGVlZCBpbmFjY2Vzc2libGUgZnJvbSB0aGUg bm9uLXNlY3VyZSB3b3JsZCwgSSB3aWxsIHJlbW92ZQp0aGlzIGNsb2NrLgoKPgo+PiArc3RhdGlj IGNvbnN0IHN0cnVjdCBjbGtfcGFyZW50X2RhdGEgcl9wd21fcGFyZW50c1tdID0gewo+PiArICAg ICAgIHsgLmZ3X25hbWUgPSAiaG9zYyIgfSwKPj4gKyAgICAgICB7IC5md19uYW1lID0gImxvc2Mi IH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJpb3NjIiB9LAo+PiArICAgICAgIHsgLmZ3X25h bWUgPSAic3lzLTI0bSIgfSwKPj4gK307Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX01VWF9EQVRBX1dJ VEhfR0FURShyX3B3bV9jbGssICJyLXB3bSIsIHJfcHdtX3BhcmVudHMsIDB4MTMwLAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNCwgMiwgICAgICAvKiBtdXggKi8KPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQklUKDMxKSwgICAgLyogZ2F0ZSAq Lwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKPj4gK3N0YXRpYyBT VU5YSV9DQ1VfR0FURV9IVyhidXNfcl9wd21fY2xrLCAiYnVzLXItcHdtIiwKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICZyX2FwYjBfY2xrLmNvbW1vbi5odywgMHgxM2MsIEJJVCgwKSwgMCk7 Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHJfc3BpX3BhcmVu dHNbXSA9IHsKPj4gKyAgICAgICB7IC5md19uYW1lID0gImhvc2MiIH0sCj4+ICsgICAgICAgeyAu ZndfbmFtZSA9ICJwbGwtcGVyaXBoMC0yMDBtIiB9LAo+PiArICAgICAgIHsgLmZ3X25hbWUgPSAi cGxsLXBlcmlwaDAtMzAwbSIgfSwKPj4gKyAgICAgICB7IC5md19uYW1lID0gInBsbC1wZXJpcGgx LTMwMG0iIH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJzeXMtMjRtIiB9LAo+PiArfTsKPj4g K3N0YXRpYyBTVU5YSV9DQ1VfRFVBTERJVl9NVVhfR0FURShyX3NwaV9jbGssICJyLXNwaSIsIHJf c3BpX3BhcmVudHMsIDB4MTUwLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MCwgNSwgICAgICAgICAvKiBNICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA4LCA1LCAgICAgICAgIC8qIE4gKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDI0LCAzLCAgICAgICAgLyogbXV4ICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCSVQoMzEpLCAgICAgIC8qIGdhdGUgKi8KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDApOwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19yX3NwaV9j bGssICJidXMtci1zcGkiLCAmcl9haGJfY2xrLmNvbW1vbi5odywgMHgxNWMsIEJJVCgwKSwgMCk7 Cj4+ICsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IVyhidXNfcl9tc2dib3hfY2xrLCAiYnVz LXItbXNnYm94IiwgJnJfYWhiX2Nsay5jb21tb24uaHcsIDB4MTdjLCBCSVQoMCksIDApOwo+PiAr Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFcoYnVzX3JfdWFydDBfY2xrLCAiYnVzLXItdWFy dDAiLCAmcl9hcGIxX2Nsay5jb21tb24uaHcsIDB4MThjLCBCSVQoMCksIDApOwo+PiArc3RhdGlj IFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19yX3VhcnQxX2NsaywgImJ1cy1yLXVhcnQxIiwgJnJfYXBi MV9jbGsuY29tbW9uLmh3LCAweDE4YywgQklUKDEpLCAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJ X0NDVV9HQVRFX0hXKGJ1c19yX2kyYzBfY2xrLCAiYnVzLXItaTJjMCIsICZyX2FwYjFfY2xrLmNv bW1vbi5odywgMHgxOWMsIEJJVCgwKSwgMCk7Cj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFco YnVzX3JfaTJjMV9jbGssICJidXMtci1pMmMxIiwgJnJfYXBiMV9jbGsuY29tbW9uLmh3LCAweDE5 YywgQklUKDEpLCAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IVyhidXNfcl9pMmMyX2Ns aywgImJ1cy1yLWkyYzIiLCAmcl9hcGIxX2Nsay5jb21tb24uaHcsIDB4MTljLCBCSVQoMiksIDAp Owo+PiArCj4+ICtzdGF0aWMgU1VOWElfQ0NVX0dBVEVfSFcoYnVzX3JfcHB1X2NsaywgImJ1cy1y LXBwdSIsICZyX2FwYjBfY2xrLmNvbW1vbi5odywgMHgxYWMsIEJJVCgwKSwgMCk7Cj4+ICsKPj4g K3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IVyhidXNfcl90em1hX2NsaywgImJ1cy1yLXR6bWEiLCAm cl9hcGIwX2Nsay5jb21tb24uaHcsIDB4MWIwLCBCSVQoMCksIDApOwo+PiArc3RhdGljIFNVTlhJ X0NDVV9HQVRFX0hXKGJ1c19yX2NwdV9iaXN0X2NsaywgImJ1cy1yLWNwdS1iaXN0IiwgJnJfYXBi MF9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgMHgxYmMsIEJJVCgw KSwgMCk7Cj4+ICsKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHJfaXJf cnhfcGFyZW50c1tdID0gewo+PiArICAgICAgIHsgLmZ3X25hbWUgPSAibG9zYyIgfSwKPj4gKyAg ICAgICB7IC5md19uYW1lID0gImhvc2MiIH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJzeXMt MjRtIiB9LAo+PiArfTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfTV9EQVRBX1dJVEhfTVVYX0dBVEUo cl9pcl9yeF9jbGssICJyLWlyLXJ4Iiwgcl9pcl9yeF9wYXJlbnRzLCAweDFjMCwKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCA1LCAgICAgLyogTSAqLwo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0LCAyLCAgICAvKiBtdXggKi8KPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQoMzEpLCAgLyogZ2F0ZSAq Lwo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwo+PiArc3RhdGlj IFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19yX2lyX3J4X2NsaywgImJ1cy1yLWlyLXJ4IiwgJnJfYXBi MF9jbGsuY29tbW9uLmh3LCAweDFjYywgQklUKDApLCAwKTsKPgo+IEJTUCBzb3VyY2VzIHNheSB0 aGVyZSBpcyBhICJkbWEtY2xrZW4tc3ciIGdhdGUgYXQgMHgxZGMgYml0IDAuIFNhbWUgb24gdGhl Cj4gQTUyMywgdGhvdWdoIGl0J3MgdW5jbGVhciB3aGF0IGl0IGRvZXMgb3IgY29udHJvbHMuCgpJ IGNoZWNrZWQgdGhlIHZlbmRvciBCU1AgYXZhaWxhYmxlIHRvIG1lIGFuZCBmb3VuZCB0aGF0IGRt YS1jbGtlbi1zdyBpcwpwcmVzZW50IGluIHRoZSBzdW42MGl3MSBSLUNDVSBkcml2ZXIsIGJ1dCBu b3QgaW4gdGhlIHN1bjYwaXcyIFItQ0NVCmRyaXZlci4KClRoZSBBNzMzIGNvcnJlc3BvbmRzIHRv IHN1bjYwaXcyLiBTaW5jZSB0aGlzIGNsb2NrIGlzIG5laXRoZXIgZG9jdW1lbnRlZAppbiB0aGUg QTczMyB1c2VyIG1hbnVhbCBub3IgcHJlc2VudCBpbiB0aGUgdmVuZG9yIEE3MzMgKHN1bjYwaXcy KSBjbG9jawpkcml2ZXIsIEkgZG9uJ3QgcGxhbiB0byBleHBvc2UgaXQgaW4gdGhlIEE3MzMgZHJp dmVyLgoKPgo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19yX3J0Y19jbGssICJidXMt ci1ydGMiLCAmcl9haGJfY2xrLmNvbW1vbi5odywgMHgyMGMsIEJJVCgwKSwgMCk7Cj4+ICsKPj4g K3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2xrX3BhcmVudF9kYXRhIHJfcmlzY3ZfcGFyZW50c1tdID0g ewo+PiArICAgICAgIHsgLmZ3X25hbWUgPSAiaG9zYyIgfSwKPj4gKyAgICAgICB7IC5md19uYW1l ID0gImxvc2MiIH0sCj4+ICsgICAgICAgeyAuZndfbmFtZSA9ICJpb3NjIiB9LAo+PiArfTsKPj4g K3N0YXRpYyBTVU5YSV9DQ1VfTVVYX0RBVEFfV0lUSF9HQVRFKHJfcmlzY3ZfY2xrLCAici1yaXNj diIsIHJfcmlzY3ZfcGFyZW50cywgMHgyMTAsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAyNCwgMiwgICAgICAgIC8qIG11eCAqLwo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQklUKDMxKSwgICAgICAvKiBnYXRlICovCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwKTsKPj4gK3N0YXRpYyBTVU5YSV9DQ1VfR0FURV9IVyhidXNfcl9y aXNjdl9jbGssICJidXMtci1yaXNjdiIsICZyX2FwYjBfY2xrLmNvbW1vbi5odywKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIDB4MjFjLCBCSVQoMCksIDApOwo+PiArc3RhdGljIFNVTlhJX0ND VV9HQVRFX0hXKGJ1c19yX3Jpc2N2X2NmZ19jbGssICJidXMtci1yaXNjdi1jZmciLCAmcl9hcGIw X2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAweDIxYywgQklUKDEp LCAwKTsKPj4gKwo+PiArc3RhdGljIFNVTlhJX0NDVV9HQVRFX0hXKGJ1c19yX2NwdWNmZ19jbGss ICJidXMtci1jcHVjZmciLCAmcl9hcGIwX2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAweDIyYywgQklUKDApLCBDTEtfSVNfQ1JJVElDQUwpOwo+PiArCj4+ICtzdGF0 aWMgc3RydWN0IGNjdV9jb21tb24gKnN1bjYwaV9hNzMzX3JfY2N1X2Nsa3NbXSA9IHsKPj4gKyAg ICAgICAmcl9haGJfY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmcl9hcGIwX2Nsay5jb21tb24sCj4+ ICsgICAgICAgJnJfYXBiMV9jbGsuY29tbW9uLAo+PiArICAgICAgICZyX2NwdV90aW1lcjAuY29t bW9uLAo+PiArICAgICAgICZyX2NwdV90aW1lcjEuY29tbW9uLAo+PiArICAgICAgICZyX2NwdV90 aW1lcjIuY29tbW9uLAo+PiArICAgICAgICZyX2NwdV90aW1lcjMuY29tbW9uLAo+PiArICAgICAg ICZidXNfcl90aW1lcl9jbGsuY29tbW9uLAo+PiArICAgICAgICZidXNfcl90d2RfY2xrLmNvbW1v biwKPj4gKyAgICAgICAmcl9wd21fY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmYnVzX3JfcHdtX2Ns ay5jb21tb24sCj4+ICsgICAgICAgJnJfc3BpX2Nsay5jb21tb24sCj4+ICsgICAgICAgJmJ1c19y X3NwaV9jbGsuY29tbW9uLAo+PiArICAgICAgICZidXNfcl9tc2dib3hfY2xrLmNvbW1vbiwKPj4g KyAgICAgICAmYnVzX3JfdWFydDBfY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmYnVzX3JfdWFydDFf Y2xrLmNvbW1vbiwKPj4gKyAgICAgICAmYnVzX3JfaTJjMF9jbGsuY29tbW9uLAo+PiArICAgICAg ICZidXNfcl9pMmMxX2Nsay5jb21tb24sCj4+ICsgICAgICAgJmJ1c19yX2kyYzJfY2xrLmNvbW1v biwKPj4gKyAgICAgICAmYnVzX3JfcHB1X2Nsay5jb21tb24sCj4+ICsgICAgICAgJmJ1c19yX3R6 bWFfY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmYnVzX3JfY3B1X2Jpc3RfY2xrLmNvbW1vbiwKPj4g KyAgICAgICAmcl9pcl9yeF9jbGsuY29tbW9uLAo+PiArICAgICAgICZidXNfcl9pcl9yeF9jbGsu Y29tbW9uLAo+PiArICAgICAgICZidXNfcl9ydGNfY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmcl9y aXNjdl9jbGsuY29tbW9uLAo+PiArICAgICAgICZidXNfcl9yaXNjdl9jbGsuY29tbW9uLAo+PiAr ICAgICAgICZidXNfcl9yaXNjdl9jZmdfY2xrLmNvbW1vbiwKPj4gKyAgICAgICAmYnVzX3JfY3B1 Y2ZnX2Nsay5jb21tb24sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0IGNsa19od19vbmVj ZWxsX2RhdGEgc3VuNjBpX2E3MzNfcl9od19jbGtzID0gewo+PiArICAgICAgIC5od3MgPSB7Cj4+ ICsgICAgICAgICAgICAgICBbQ0xLX1JfQUhCXSAgICAgICAgICAgICA9ICZyX2FoYl9jbGsuY29t bW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19SX0FQQjBdICAgICAgICAgICAgPSAmcl9h cGIwX2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAgICBbQ0xLX1JfQVBCMV0gICAgICAg ICAgICA9ICZyX2FwYjFfY2xrLmNvbW1vbi5odywKPj4gKyAgICAgICAgICAgICAgIFtDTEtfUl9U SU1FUjBdICAgICAgICAgID0gJnJfY3B1X3RpbWVyMC5jb21tb24uaHcsCj4+ICsgICAgICAgICAg ICAgICBbQ0xLX1JfVElNRVIxXSAgICAgICAgICA9ICZyX2NwdV90aW1lcjEuY29tbW9uLmh3LAo+ PiArICAgICAgICAgICAgICAgW0NMS19SX1RJTUVSMl0gICAgICAgICAgPSAmcl9jcHVfdGltZXIy LmNvbW1vbi5odywKPj4gKyAgICAgICAgICAgICAgIFtDTEtfUl9USU1FUjNdICAgICAgICAgID0g JnJfY3B1X3RpbWVyMy5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAgICBbQ0xLX0JVU19SX1RJ TUVSXSAgICAgICA9ICZidXNfcl90aW1lcl9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAg ICAgW0NMS19CVVNfUl9UV0RdICAgICAgICAgPSAmYnVzX3JfdHdkX2Nsay5jb21tb24uaHcsCj4+ ICsgICAgICAgICAgICAgICBbQ0xLX1JfUFdNXSAgICAgICAgICAgICA9ICZyX3B3bV9jbGsuY29t bW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19CVVNfUl9QV01dICAgICAgICAgPSAmYnVz X3JfcHdtX2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAgICBbQ0xLX1JfU1BJXSAgICAg ICAgICAgICA9ICZyX3NwaV9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19C VVNfUl9TUEldICAgICAgICAgPSAmYnVzX3Jfc3BpX2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAg ICAgICAgICBbQ0xLX0JVU19SX01TR0JPWF0gICAgICA9ICZidXNfcl9tc2dib3hfY2xrLmNvbW1v bi5odywKPj4gKyAgICAgICAgICAgICAgIFtDTEtfQlVTX1JfVUFSVDBdICAgICAgID0gJmJ1c19y X3VhcnQwX2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAgICBbQ0xLX0JVU19SX1VBUlQx XSAgICAgICA9ICZidXNfcl91YXJ0MV9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAg W0NMS19CVVNfUl9JMkMwXSAgICAgICAgPSAmYnVzX3JfaTJjMF9jbGsuY29tbW9uLmh3LAo+PiAr ICAgICAgICAgICAgICAgW0NMS19CVVNfUl9JMkMxXSAgICAgICAgPSAmYnVzX3JfaTJjMV9jbGsu Y29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19CVVNfUl9JMkMyXSAgICAgICAgPSAm YnVzX3JfaTJjMl9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19CVVNfUl9Q UFVdICAgICAgICAgPSAmYnVzX3JfcHB1X2Nsay5jb21tb24uaHcsCj4+ICsgICAgICAgICAgICAg ICBbQ0xLX0JVU19SX1RaTUFdICAgICAgICA9ICZidXNfcl90em1hX2Nsay5jb21tb24uaHcsCj4+ ICsgICAgICAgICAgICAgICBbQ0xLX0JVU19SX0NQVV9CSVNUXSAgICA9ICZidXNfcl9jcHVfYmlz dF9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19SX0lSX1JYXSAgICAgICAg ICAgPSAmcl9pcl9yeF9jbGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19CVVNf Ul9JUl9SWF0gICAgICAgPSAmYnVzX3JfaXJfcnhfY2xrLmNvbW1vbi5odywKPj4gKyAgICAgICAg ICAgICAgIFtDTEtfQlVTX1JfUlRDXSAgICAgICAgID0gJmJ1c19yX3J0Y19jbGsuY29tbW9uLmh3 LAo+PiArICAgICAgICAgICAgICAgW0NMS19SX1JJU0NWXSAgICAgICAgICAgPSAmcl9yaXNjdl9j bGsuY29tbW9uLmh3LAo+PiArICAgICAgICAgICAgICAgW0NMS19CVVNfUl9SSVNDVl0gICAgICAg PSAmYnVzX3JfcmlzY3ZfY2xrLmNvbW1vbi5odywKPj4gKyAgICAgICAgICAgICAgIFtDTEtfQlVT X1JfUklTQ1ZfQ0ZHXSAgID0gJmJ1c19yX3Jpc2N2X2NmZ19jbGsuY29tbW9uLmh3LAo+PiArICAg ICAgICAgICAgICAgW0NMS19CVVNfUl9DUFVDRkddICAgICAgPSAmYnVzX3JfY3B1Y2ZnX2Nsay5j b21tb24uaHcsCj4+ICsgICAgICAgfSwKPj4gKyAgICAgICAubnVtID0gQ0xLX0JVU19SX0NQVUNG RyArIDEsCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGNjdV9yZXNldF9tYXAg c3VuNjBpX2E3MzNfcl9jY3VfcmVzZXRzW10gPSB7Cj4+ICsgICAgICAgW1JTVF9CVVNfUl9USU1F Ul0gICAgICAgPSB7IDB4MTFjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9QV01d ICAgICAgICAgPSB7IDB4MTNjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9TUEld ICAgICAgICAgPSB7IDB4MTVjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9NU0dC T1hdICAgICAgPSB7IDB4MTdjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9VQVJU MF0gICAgICAgPSB7IDB4MThjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9VQVJU MV0gICAgICAgPSB7IDB4MThjLCBCSVQoMTcpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9JMkMw XSAgICAgICAgPSB7IDB4MTljLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9JMkMx XSAgICAgICAgPSB7IDB4MTljLCBCSVQoMTcpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9JMkMy XSAgICAgICAgPSB7IDB4MTljLCBCSVQoMTgpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9JUl9S WF0gICAgICAgPSB7IDB4MWNjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9SVENd ICAgICAgICAgPSB7IDB4MjBjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9SSVND Vl9DRkddICAgPSB7IDB4MjFjLCBCSVQoMTYpIH0sCj4+ICsgICAgICAgW1JTVF9CVVNfUl9DUFVD RkddICAgICAgPSB7IDB4MjJjLCBCSVQoMTYpIH0sCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29u c3Qgc3RydWN0IHN1bnhpX2NjdV9kZXNjIHN1bjYwaV9hNzMzX3JfY2N1X2Rlc2MgPSB7Cj4+ICsg ICAgICAgLmNjdV9jbGtzICAgICAgID0gc3VuNjBpX2E3MzNfcl9jY3VfY2xrcywKPj4gKyAgICAg ICAubnVtX2NjdV9jbGtzICAgPSBBUlJBWV9TSVpFKHN1bjYwaV9hNzMzX3JfY2N1X2Nsa3MpLAo+ PiArCj4+ICsgICAgICAgLmh3X2Nsa3MgICAgICAgID0gJnN1bjYwaV9hNzMzX3JfaHdfY2xrcywK Pj4gKwo+PiArICAgICAgIC5yZXNldHMgICAgICAgICA9IHN1bjYwaV9hNzMzX3JfY2N1X3Jlc2V0 cywKPj4gKyAgICAgICAubnVtX3Jlc2V0cyAgICAgPSBBUlJBWV9TSVpFKHN1bjYwaV9hNzMzX3Jf Y2N1X3Jlc2V0cyksCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgaW50IHN1bjYwaV9hNzMzX3JfY2N1 X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4+ICt7Cj4+ICsgICAgICAgdm9p ZCBfX2lvbWVtICpyZWc7Cj4+ICsKPj4gKyAgICAgICByZWcgPSBkZXZtX3BsYXRmb3JtX2lvcmVt YXBfcmVzb3VyY2UocGRldiwgMCk7Cj4+ICsgICAgICAgaWYgKElTX0VSUihyZWcpKQo+PiArICAg ICAgICAgICAgICAgcmV0dXJuIFBUUl9FUlIocmVnKTsKPj4gKwo+PiArICAgICAgIHJldHVybiBk ZXZtX3N1bnhpX2NjdV9wcm9iZSgmcGRldi0+ZGV2LCByZWcsICZzdW42MGlfYTczM19yX2NjdV9k ZXNjKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3Vu NjBpX2E3MzNfcl9jY3VfaWRzW10gPSB7Cj4+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJhbGx3 aW5uZXIsc3VuNjBpLWE3MzMtci1jY3UiIH0sCj4+ICsgICAgICAgeyAvKiBzZW50aW5lbCAqLyB9 Cj4+ICt9Owo+PiArTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgc3VuNjBpX2E3MzNfcl9jY3VfaWRz KTsKPj4gKwo+PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgc3VuNjBpX2E3MzNfcl9j Y3VfZHJpdmVyID0gewo+PiArICAgICAgIC5wcm9iZSAgPSBzdW42MGlfYTczM19yX2NjdV9wcm9i ZSwKPj4gKyAgICAgICAuZHJpdmVyID0gewo+PiArICAgICAgICAgICAgICAgLm5hbWUgICAgICAg ICAgICAgICAgICAgPSAic3VuNjBpLWE3MzMtci1jY3UiLAo+PiArICAgICAgICAgICAgICAgLnN1 cHByZXNzX2JpbmRfYXR0cnMgICAgPSB0cnVlLAo+PiArICAgICAgICAgICAgICAgLm9mX21hdGNo X3RhYmxlICAgICAgICAgPSBzdW42MGlfYTczM19yX2NjdV9pZHMsCj4+ICsgICAgICAgfSwKPj4g K307Cj4+ICttb2R1bGVfcGxhdGZvcm1fZHJpdmVyKHN1bjYwaV9hNzMzX3JfY2N1X2RyaXZlcik7 Cj4+ICsKPj4gK01PRFVMRV9JTVBPUlRfTlMoIlNVTlhJX0NDVSIpOwo+PiArTU9EVUxFX0RFU0NS SVBUSU9OKCJTdXBwb3J0IGZvciB0aGUgQWxsd2lubmVyIEE3MzMgUFJDTSBDQ1UiKTsKPj4gK01P RFVMRV9MSUNFTlNFKCJHUEwiKTsKPgo+IFRoZSByZXN0IGxvb2tzIE9LLgoKVGhhbmtzIQoKPgo+ Cj4gVGhhbmtzCj4gQ2hlbll1CgotLSAKQmVzdCByZWdhcmRzLApKdW5odWkgTGl1CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWls aW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==