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 452E5C77B7A for ; Thu, 18 May 2023 13:10:57 +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:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=ZLhIb7LuiU9fkYhTfd14uCVKaANVV74VYMG9mm7uyoc=; b=O67ydFi9xsC5UT di91x/f3ZOrX4DO5oGWLDUxdI1HS/NWyTVxUsmTloR6kRDZDFsE1HZ0P4cmdDgVPKMGsbxu40yHtR ctKk43HLiJf/YjVEfxmUTQrFApntVr6O7dV4qoMPyCA5qG9mdX3Lzi1Bqg72/vGg8YNbS3Ty7kzA0 I69UFTPyp3A++rqJjJ6XYrGz4JG+h/SA46lnBWmvTP7MiY0vF9DtUIVuMxuOaLBOR8kniEpe/8bdS IUorppunxuwLZkPAXc7/PmHJT2lNfH1XlZ0i44x5EgmVDmPHOmKEuPIMCoGYfU2U0JL+kvEG8rV3K PnhnX0XtPU675/aI0sBQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pzdP9-00D1x0-0o; Thu, 18 May 2023 13:10:51 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pzdP4-00D1wA-1L for linux-riscv@lists.infradead.org; Thu, 18 May 2023 13:10:49 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0550864F4C; Thu, 18 May 2023 13:10:45 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5514FC433D2; Thu, 18 May 2023 13:10:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1684415444; bh=tJaysd76cVhWZxG/fChiYJE/huUh95V3nRgloDbHiwo=; h=From:To:Cc:Subject:Date:From; b=VM+VA5Q/E4wNv2N2O1TXNTDXmb1OqzJpc/IRx06U221Q7JEpQJ6rQ7wdc6raUq26o kycdVLGhcDoeMJoG5mQKyMXxHk7aQIUqB+EQjxTIRA3DO4J8/JA6x5Ei73qGRfeGua 2hYw7+eI97fpESX/3xoOlOpI0qZMAkQKgdL61+YNw+SreIYefUlAfsagFI1gH+Qe+g xFTfIRT1NOUA0L24ysWYMtVko16F6H3ClwXJCTN+uanyt4AfdSUds4FSR0UbTn1Kdg RD3e1tzJxEm6IfLlGcf0F8dOj/Ia6fx5NhFv4GVyqx6eM0q4z761V3sqoP0y32TAch e0CA4/y2PZJKw== From: guoren@kernel.org To: arnd@arndb.de, guoren@kernel.org, palmer@rivosinc.com, tglx@linutronix.de, peterz@infradead.org, luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de, jszhang@kernel.org, chenhuacai@kernel.org, apatel@ventanamicro.com, atishp@atishpatra.org, mark.rutland@arm.com, bjorn@kernel.org, paul.walmsley@sifive.com, catalin.marinas@arm.com, will@kernel.org, rppt@kernel.org, anup@brainfault.org, shihua@iscas.ac.cn, jiawei@iscas.ac.cn, liweiwei@iscas.ac.cn, luxufan@iscas.ac.cn, chunyu@iscas.ac.cn, tsu.yubo@gmail.com, wefu@redhat.com, wangjunqiang@iscas.ac.cn, kito.cheng@sifive.com, andy.chiu@sifive.com, vincent.chen@sifive.com, greentime.hu@sifive.com, corbet@lwn.net, wuwei2016@iscas.ac.cn, jrtc27@jrtc27.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Guo Ren Subject: [RFC PATCH 00/22] riscv: s64ilp32: Running 32-bit Linux kernel on 64-bit supervisor mode Date: Thu, 18 May 2023 09:09:51 -0400 Message-Id: <20230518131013.3366406-1-guoren@kernel.org> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230518_061046_567027_26239000 X-CRM114-Status: GOOD ( 25.67 ) 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 RnJvbTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgoKVGhpcyBwYXRjaCBzZXJp ZXMgYWRkcyBzNjRpbHAzMiBzdXBwb3J0IHRvIHJpc2N2LiBUaGUgdGVybSBzNjRpbHAzMgptZWFu cyBzbW9kZS14bGVuPTY0IGFuZCAtbWFiaT1pbHAzMiAoaW50cywgbG9uZ3MsIGFuZCBwb2ludGVy cyBhcmUgYWxsCjMyLWJpdCksIGkuZS4sIHJ1bm5pbmcgMzItYml0IExpbnV4IGtlcm5lbCBvbiBw dXJlIDY0LWJpdCBzdXBlcnZpc29yCm1vZGUuIFRoZXJlIGhhdmUgYmVlbiBtYW55IDY0aWxwMzIg YWJpcyBleGlzdGluZywgc3VjaCBhcyBtaXBzLW4zMiBbMV0sCmFybS1hYXJjaDY0aWxwMzIgWzJd LCBhbmQgeDg2LXgzMiBbM10sIGJ1dCB0aGV5IGFyZSBhbGwgYWJvdXQgdXNlcnNwYWNlLgpUaHVz LCB0aGlzIHNob3VsZCBiZSB0aGUgZmlyc3QgdGltZSBydW5uaW5nIGEgMzItYml0IExpbnV4IGtl cm5lbCB3aXRoCnRoZSA2NGlscDMyIEFCSSBhdCBzdXBlcnZpc29yIG1vZGUgKElmIG5vdCwgY29y cmVjdCBtZSkuCgpXaHkgMzItYml0IExpbnV4Pwo9PT09PT09PT09PT09PT09PQpUaGUgbW90aXZh dGlvbiBmb3IgdXNpbmcgYSAzMi1iaXQgTGludXgga2VybmVsIGlzIHRvIHJlZHVjZSBtZW1vcnkK Zm9vdHByaW50IGFuZCBtZWV0IHRoZSBzbWFsbCBjYXBhY2l0eSBvZiBERFIgJiBjYWNoZSByZXF1 aXJlbWVudAooZS5nLiwgNjQvMTI4TUIgU0lQIFNvQykuCgpIZXJlIGFyZSB0aGUgMzItYml0IHYu cy4gNjQtYml0IExpbnV4IGtlcm5lbCBkYXRhIHR5cGUgY29tcGFyaXNvbgpzdW1tYXJ5OgoJCQkz Mi1iaXQJCTY0LWJpdApzaXplb2YocGFnZSk6CQkzMmJ5dGVzCQk2NGJ5dGVzCnNpemVvZihsaXN0 X2hlYWQpOgk4Ynl0ZXMJCTE2Ynl0ZXMKc2l6ZW9mKGhsaXN0X2hlYWQpOgk4Ynl0ZXMJCTE2Ynl0 ZXMKc2l6ZW9mKHZtX2FyZWEpOgk2OGJ5dGVzCQkxMzZieXRlcwouLi4KClRoZSBzaXplIG9mIGls cDMyJ3MgbG9uZyAmIHBvaW50ZXIgaXMganVzdCBoYWxmIG9mIGxwNjQncyAocnY2NCBkZWZhdWx0 CmFiaSAtIGxvbmdzIGFuZCBwb2ludGVycyBhcmUgYWxsIDY0LWJpdCkuIFRoaXMgc2lnbmlmaWNh bnQgZGlmZmVyZW5jZQppbiBkYXRhIHR5cGUgY2F1c2VzIGRpZmZlcmVudCBtZW1vcnkgJiBjYWNo ZSBmb290cHJpbnQgY29zdHMuIEhlcmUgaXMKdGhlIGNvbXBhcmlzb24gbWVhc3VyZW1lbnQgYmV0 d2VlbiBzMzJpbHAzMiwgczY0aWxwMzIsIGFuZCBzNjRscDY0IGluCnRoZSBzYW1lIDEyOE1CIHFl bXUgc3lzdGVtIGVudmlyb25tZW50OgoKUm9vdGZzOgp1MzJpbHAzMiAtIFVzaW5nIHRoZSBzYW1l IDMyLWJpdCB1c2Vyc3BhY2Ugcm9vdGZzLmV4dDIgKFVYTD0zMikgYmluYXJ5CgkgICBmcm9tIGJ1 aWxkcm9vdCAyMDIzLjAyLXJjMywgcWVtdV9yaXNjdjMyX3ZpcnRfZGVmY29uZmlnCgpMaW51eDoK czMyaWxwMzIgLSBMaW51eCB2ZXJzaW9uIDYuMy4wLXJjMSAoMTI0TUIpCiAgICAgICAgICAgcnYz Ml9kZWZjb25maWc6ICQoUSkkKE1BS0UpIC1mICQoc3JjdHJlZSkvTWFrZWZpbGUKICAgICAgICAg ICBkZWZjb25maWcgMzItYml0LmNvbmZpZwoKczY0bHA2NCAgLSBMaW51eCB2ZXJzaW9uIDYuMy4w LXJjMSAoMTI2TUIpCiAgICAgICAgICAgZGVmY29uZmlnOiAkKFEpJChNQUtFKSAtZiAkKHNyY3Ry ZWUpL01ha2VmaWxlIGRlZmNvbmZpZwoKczY0aWxwMzIgLSBMaW51eCB2ZXJzaW9uIDYuMy4wLXJj MSAoMTI2TUIpCiAgICAgICAgICAgcnY2NGlscDMyX2RlZmNvbmZpZzogJChRKSQoTUFLRSkgLWYg JChzcmN0cmVlKS9NYWtlZmlsZQoJICAgZGVmY29uZmlnIDY0aWxwMzIuY29uZmlnCgpPcGVuc2Jp OgptNjRscDY0ICAtICgyTUIpIE9wZW5TQkkgdjEuMi04MC1nNGIyOGFmYzk4YmJlCm0zMmlscDMy IC0gKDRNQikgT3BlblNCSSB2MS4yLTgwLWc0YjI4YWZjOThiYmUKCiAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0KICB8ICAgICAgICAgICAgICB1MzJp bHAzMiAgICAgICAgICAgICAgICAgIHwKICB8ICAgICAgICAgICAgICAgIFVYTD0zMiAgICAgICAg ICAgICAgICAgIHwgUm9vdGZzCiAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0KICB8ICstLS0tLS0tLS0tKyArLS0tLS0tLS0tKyB8ICstLS0tLS0tLS0r IHwKICB8IHwgczY0aWxwMzIgfCB8IHM2NGxwNjQgfCB8IHwgczMyaWxwMzJ8IHwKICB8IHwgIFNY TD02NCAgfCB8ICBTWEw9NjQgfCB8IHwgIFNYTD0zMiB8IHwgTGludXgKICB8ICstLS0tLS0tLS0t KyArLS0tLS0tLS0tKyB8ICstLS0tLS0tLS0rIHwKICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLQogIHwgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwg Ky0tLS0tLS0tLSsgfAogIHwgfCAgICAgICAgbTY0bHA2NCAgICAgICB8IHwgfCBtMzJpbHAzMnwg fAogIHwgfCAgICAgICAgIE1YTD02NCAgICAgICB8IHwgfCAgTVhMPTMyIHwgfCBPcGVuc2JpCiAg fCArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgfCArLS0tLS0tLS0tKyB8CiAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0KICB8ICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tKyB8ICstLS0tLS0tLS0rIHwKICB8IHwgICAgICAgIHFlbXUtcnY2NCAgICAgfCB8 IHxxZW11LXJ2MzJ8IHwgSFcKICB8ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyB8ICstLS0tLS0t LS0rIHwKICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LQoKTWVtLXVzYWdlOgooczMyaWxwMzIpICMgZnJlZQogICAgICAgdG90YWwgICB1c2VkICAgZnJl ZSAgc2hhcmVkICBidWZmL2NhY2hlICAgYXZhaWxhYmxlCk1lbTogIDEwMDA0MCAgIDgzODAgIDg4 MjQ0ICAgICAgNDQgICAgICAgIDM0MTYgICAgICAgODgwODAKCihzNjRscDY0KSAgIyBmcmVlCiAg ICAgICB0b3RhbCAgIHVzZWQgICBmcmVlICBzaGFyZWQgIGJ1ZmYvY2FjaGUgICBhdmFpbGFibGUK TWVtOiAgIDkxNTY4ICAxMTg0OCAgNzU3OTYgICAgICA0NCAgICAgICAgMzkyNCAgICAgICA3NTk1 MgoKKHM2NGlscDMyKSAjIGZyZWUKICAgICAgIHRvdGFsICAgdXNlZCAgIGZyZWUgIHNoYXJlZCAg YnVmZi9jYWNoZSAgIGF2YWlsYWJsZQpNZW06ICAxMDE5NTIgICA4NTI4ICA5MDAwNCAgICAgIDQ0 ICAgICAgICAzNDIwICAgICAgIDg5ODE2CiAgICAgICAgICAgICAgICAgICAgIF5eXl5eCgpJdCdz IGEgcm91Z2ggbWVhc3VyZW1lbnQgYmFzZWQgb24gdGhlIGN1cnJlbnQgZGVmYXVsdCBjb25maWcg d2l0aG91dCBhbnkKbW9kaWZpY2F0aW9uLCBhbmQgMzItYml0IChzMzJpbHAzMiwgczY0aWxwMzIp IHNhdmVkIG1vcmUgdGhhbiAxNiUgbWVtb3J5CnRvIDY0LWJpdCAoczY0bHA2NCkuIEJ1dCBzMzJp bHAzMiAmIHM2NGlscDMyIGhhdmUgYSBzaW1pbGFyIG1lbW9yeQpmb290cHJpbnQgKGFib3V0IDAu MzMlIGRpZmZlcmVuY2UpLCBtZWFuaW5nIHM2NGlscDMyIGhhcyBhIGJpZyBjaGFuY2UgdG8KcmVw bGFjZSBzMzJpbHAzMiBvbiB0aGUgNjQtYml0IG1hY2hpbmUuCgpXaHkgczY0aWxwMzI/Cj09PT09 PT09PT09PT0KVGhlIGN1cnJlbnQgUklTQy1WIGhhcyB0aGUgcHJvZmlsZXMgb2YgUlZBMjBTNjQs IFJWQTIyUzY0LCBhbmQgUlZBMjNTNjQKKG9uZ29pbmcpIFs0XSwgYnV0IG5vIFJWQSoqUzMyIHBy b2ZpbGUgZXhpc3RzIG9yIGFueSBvbmdvaW5nIHBsYW4uIFRoYXQKbWVhbnMgd2hlbiBhIHZlbmRv ciB3YW50cyB0byBwcm9kdWNlIGEgMzItYml0IHMtbW9kZSBSSVNDLVYgQXBwbGljYXRpb24KUHJv Y2Vzc29yLCB0aGV5IGhhdmUgbm8gc2hhcGUgdG8gZm9sbG93LiBUaGVyZWZvcmUsIG1hbnkgY2hl YXAgcmlzY3YKY2hpcHMgaGF2ZSBjb21lIG91dCBidXQgZm9sbG93IHRoZSBSVkEyeFM2NCBwcm9m aWxlcywgc3VjaCBhcyBBbGx3aW5uZXIKRDEvRDFzL0YxMzMgWzVdLCBTT1BIR08gQ1YxODAwQiBb Nl0sIENhbmFhbiBLZW5kcnl0ZSBrMjMwIFs3XSwgYW5kCkJvdWZmYWxvIExhYiBCTDgwOCB3aGlj aCBhcmUgdHlwaWNhbGx5IGNvcnRleCBhNy9hMzUvYTUzIHByb2R1Y3QKc2NlbmFyaW9zLiBUaGUg RDEgJiBDVjE4MDBCICYgQkw4MDggZGlkbid0IHN1cHBvcnQgVVhMPTMyICgzMi1iaXQgVS1tb2Rl KSwKc28gdGhleSBuZWVkIGEgbmV3IHU2NGlscDMyIHVzZXJzcGFjZSBBQkkgd2hpY2ggaGFzIG5v IHNvZnR3YXJlIGVjb3N5c3RlbQpmb3IgdGhlIGN1cnJlbnQuIFRodXMsIHRoZSBmaXJzdCBsYW5k aW5nIG9mIHM2NGlscDMyIHdvdWxkIGJlIG9uIENhbmFhbgpLZW5kcnl0ZSBrMjMwLCB3aGljaCBo YXMgYzkwOCB3aXRoIHJ2NjRnY3YgYW5kIGNvbXBhdCB1c2VyIG1vZGUKKHNzdGF0dXMudXhsPTMy LzY0KSwgd2hpY2ggY291bGQgc3VwcG9ydCB0aGUgZXhpc3RpbmcgcnYzMiB1c2Vyc3BhY2UKc29m dHdhcmUgZWNvc3lzdGVtLgoKQW5vdGhlciByZWFzb24gZm9yIGludmVudGluZyBzNjRpbHAzMiBp cyBwZXJmb3JtYW5jZSBiZW5lZml0cyBhbmQKc2ltcGxpZnkgNjQtYml0IENQVSBoYXJkd2FyZSBk ZXNpZ24gKHYucy4gczMyaWxwMzIpLgoKV2h5IHM2NGlscDMyIGhhcyBiZXR0ZXIgcGVyZm9ybWFu Y2U/Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpHZW5lcmFsbHkgc3BlYWtp bmcsIHdlIHNob3VsZCBidWlsZCBhIDMyLWJpdCBoYXJkd2FyZSBzLW1vZGUgdG8gcnVuCjMyLWJp dCBMaW51eCBvbiBhIDY0LWJpdCBwcm9jZXNzb3IgKHN1Y2ggYXMgTGludXgtYXJtMzIgb24gY29y dGV4LWE1MykuCk9yIG9ubHkgdXNlIG9sZCAzMmlscDMyLWFiaSBvbiBhIDY0LWJpdCBtYWNoaW5l IChzdWNoIGFzIG1pcHMKU1lTX1NVUFBPUlRTXzMyQklUX0tFUk5FTCkuIFRoZXNlIGNhbid0IHJl dXNlIHBlcmZvcm1hbmNlLXJlbGF0ZWQKZmVhdHVyZXMgYW5kIGluc3RydWN0aW9ucyBvZiB0aGUg NjQtYml0IGhhcmR3YXJlLCBzdWNoIGFzIDY0LWJpdCBBTFUsCkFNTywgYW5kIExEL1NELCB3aGlj aCB3b3VsZCBjYXVzZSBzaWduaWZpY2FudCBwZXJmb3JtYW5jZSBnYXBzIG9uIG1hbnkKTGludXgg ZmVhdHVyZXM6CgogLSBtZW1jcHkvbWVtc2V0L3N0cmNtcCAoczY0aWxwMzIgaGFzIGhhbGYgb2Yg dGhlIGluc3RydWN0aW9ucyBjb3VudAogICBhbmQgZG91YmxlIHRoZSBiYW5kd2lkdGggb2YgbG9h ZC9zdG9yZSBpbnN0cnVjdGlvbnMgdGhhbiBzMzJpbHAzMi4pCgogLSBlYnBmIEpJVCBpcyBhIDY0 LWJpdCB2aXJ0dWFsIElTQSwgd2hpY2ggaXMgbm90IHN1aXRhYmxlCiAgIGZvciBtYXBwaW5nIHRv IHMzMmlscDMyLgoKIC0gQXRvbWljNjQgKHM2NGlscDMyIGhhcyB0aGUgZXhhY3QgbmF0aXZlIGlu c3RydWN0aW9ucyBtYXBwaW5nIGFzCiAgIHM2NGxwNjQsIGJ1dCBzMzJpbHAzMiBvbmx5IHVzZXMg Z2VuZXJpY19hdG9taWM2NCwgYSB0cmFkZW9mZiAmCiAgIGxpbWl0ZWQgc29mdHdhcmUgc29sdXRp b24uKQoKIC0gNjQtYml0IG5hdGl2ZSBhcml0aG1ldGljIGluc3RydWN0aW9ucyBmb3IgImxvbmcg bG9uZyIgdHlwZQoKIC0gU3VwcG9ydCBjbXhjaGdfZG91YmxlIGZvciBzbHViIChUaGUgMm5kIDMy LWJpdCBMaW51eAogICBzdXBwb3J0cyB0aGUgZmVhdHVyZSwgdGhlIDFzdCBpcyBpMzg2LikKCiAt IC4uLgoKQ29tcGFyZWQgd2l0aCB0aGUgdXNlciBzcGFjZSBlY29zeXN0ZW0sIHRoZSAzMi1iaXQg TGludXgga2VybmVsIGlzIG1vcmUKZWFnZXIgdG8gbmVlZCA2NGlscDMyIHRvIGltcHJvdmUgcGVy Zm9ybWFuY2UgYmVjYXVzZSB0aGUgTGludXgga2VybmVsCmNhbid0IHV0aWxpemUgZmxvYXQtcG9p bnQvdmVjdG9yIGZlYXR1cmVzIG9mIHRoZSBJU0EuCgpMZXQncyBsb29rIGF0IHBlcmZvcm1hbmNl IGZyb20gYW5vdGhlciBwZXJzcGVjdGl2ZSAoczY0aWxwMzIgdi5zLgpzNjRscDY0KS4gSnVzdCBh cyB0aGUgZmlyc3QgY2hhcHRlciBzYWlkLCB0aGUgcG9pbnRlciBzaXplIG9mIGlscDMyIGlzCmhh bGYgb2YgdGhlIGxwNjQsIGFuZCBpdCByZWR1Y2VzIHRoZSBzaXplIG9mIHRoZSBjcml0aWNhbCBk YXRhIHN0cnVjdHMKKGUuZy4sIHBhZ2UsIGxpc3QsIC4uLikuIFRoYXQgbWVhbnMgdGhlIGNhY2hl IG9mIHVzaW5nIGlscDMyIGNvdWxkCmNvbnRhaW4gZG91YmxlIGRhdGEgdGhhdCBscDY0IHdpdGgg dGhlIHNhbWUgY2FjaGUgY2FwYWNpdHksIHdoaWNoIGlzIGEKbmF0dXJhbCBhZHZhbnRhZ2Ugb2Yg MzItYml0LgoKV2h5IHM2NGlscDMyIHNpbXBsaWZpZXMgQ1BVIGRlc2lnbj8KPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KWWVzLCB0aGVyZSBhcmUgYSBsb3Qgb2YgcnVuaW5nIDMy LWJpdCBMaW51eCBvbiA2NC1iaXQgaGFyZHdhcmUgZXhhbXBsZXMKaW4gaGlzdG9yeSwgc3VjaCBh cyBhcm0gY29ydGV4IGEzNS9hNTMvYTU1LCB3aGljaCBpbXBsZW1lbnRzIHRoZSAzMi1iaXQKRUwx L0VMMi9FTDMgaGFyZHdhcmUgbW9kZSB0byBzdXBwb3J0IDMyLWJpdCBMaW51eC4gV2UgY291bGQg Zm9sbG93IEFybSdzCnN0eWxlLCBidXQgcmlzY3YgY291bGQgY2hvb3NlIGFub3RoZXIgYmV0dGVy IHdheS4gQ29tcGFyZWQgdG8gVVhMPTMyLAp0aGUgTVhMPVNYTD0zMiBoYXMgbWFueSBDU1ItcmVs YXRlZCBoYXJkd2FyZSBmdW5jdGlvbmFsaXRpZXMsIHdoaWNoCmNhdXNlcyBhIGxvdCBvZiBlZmZv cnQgdG8gbWl4IHRoZW0gaW50byA2NC1iaXQgaGFyZHdhcmUuIFRoZSBzNjRpbHAzMgp3b3JrcyBv biBNWEw9U1hMPTY0IG1vZGUsIHNvIHRoZSBDUFUgdmVuZG9ycyBuZWVkbid0IGltcGxlbWVudCAz Mi1iaXQKbWFjaGluZSBhbmQgc3VwZXJ2aXNvciBtb2Rlcy4KCkhvdyBkb2VzIHM2NGlscDMyIHdv cms/Cj09PT09PT09PT09PT09PT09PT09PT09ClRoZSBzNjRpbHAzMiBpcyB0aGUgc2FtZSBhcyB0 aGUgczY0bHA2NCBjb21wYXQgbW9kZSBmcm9tIGEgaGFyZHdhcmUKdmlldywgaS5lLiwgTVhMPVNY TD02NCArIFVYTD0zMi4gQmVjYXVzZSB0aGUgczY0aWxwMzIgdXNlcyBDT05GSUdfMzJCSVQKb2Yg TGludXgsIGl0IG9ubHkgc3VwcG9ydHMgdTMyaWxwMzIgYWJpIHVzZXIgc3BhY2UsIHRoZSBjdXJy ZW50IHN0YW5kYXJkCnJ2MzIgc29mdHdhcmUgZWNvc3lzdGVtLCBhbmQgaXQgY2FuJ3Qgd29yayB3 aXRoIHU2NGxwNjQgYWJpIChJIGRvbid0CndhbnQgdGhhdCBjb21wbGV4IGFuZCB1c2VsZXNzIHN0 dWZmKS4gQnV0IGl0IG1heSB3b3JrIHdpdGggdTY0aWxwMzIgaW4gdGhlCmZ1dHVyZTsgbm93LCB0 aGUgczY0aWxwMzIgZGVwZW5kcyBvbiB0aGUgVVhMPTMyIGZlYXR1cmUgb2YgdGhlIGhhcmR3YXJl LgoKVGhlIDY0aWxwMzIgZ2NjIHN0aWxsIHVzZXMgc2lnbi1leHRlbmQgbHcgJiBhdWlwYyB0byBn ZW5lcmF0ZSBhZGRyZXNzCnZhcmlhYmxlcyBiZWNhdXNlIGluc2VydGluZyB6ZXJvLWV4dGVuZCBp bnN0cnVjdGlvbnMgdG8gbWFzayB0aGUgaGlnaGVzdAozMi1iaXQgd291bGQgY2F1c2Ugc2lnbmlm aWNhbnQgY29kZSBzaXplIGFuZCBwZXJmb3JtYW5jZSBwcm9ibGVtcy4gVGh1cywKd2UgaW52ZW50 ZWQgYW4gT1MgYXBwcm9hY2ggdG8gc29sdmUgdGhlIHByb2JsZW06CiAtIFdoZW4gc2F0cD1iYXJl IGFuZCBzdGFydCBwaHlzaWNhbCBhZGRyZXNzIDwgMkdCLCB0aGVyZSBpcyBubyBzaWduLWV4dGVu ZAogICBhZGRyZXNzIHByb2JsZW0uCiAtIFdoZW4gc2F0cD1iYXJlIGFuZCBzdGFydCBwaHlzaWNh bCBhZGRyZXNzID4gMkdCLCB3ZSBuZWVkIHpqcG0gbGlrZWQKICAgaGFyZHdhcmUgZXh0ZW5zaW9u cyB0byBtYXNrIGhpZ2ggMzJiaXQuCiAgIChGb3J0dW5hdGVseSwgYWxsIGV4aXN0ZWQgU29Dcycg KEQxL0Qxcy9GMTMzLCBDVjE4MDBCLCBrMjMwLCBCTDgwOCkKICAgIHN0YXJ0IHBoeXNpY2FsIGFk ZHJlc3MgPCAyR0IuKQogLSBXaGVuIHNhdHA9c3YzOSwgd2UgaW52ZW50IGRvdWJsZSBtYXBwaW5n IHRvIG1ha2UgdGhlIHNpZ24tZXh0ZW5kZWQKICAgdmlydHVhbCBhZGRyZXNzIHRoZSBzYW1lIGFz IHRoZSB6ZXJvLWV4dGVuZGVkIHZpcnR1YWwgYWRkcmVzcy4KCiAgICstLS0tLS0tLSsgICAgICAr LS0tLS0tLS0tKyAgICAgICstLS0tLS0tLSsKICAgfCAgICAgICAgfCAgICstLXwgNTExOlBVRDF8 ICAgICAgfCAgICAgICAgfAogICB8ICAgICAgICB8ICAgfCAgKy0tLS0tLS0tLSsgICAgICB8ICAg ICAgICB8CiAgIHwgICAgICAgIHwgICB8ICB8IDUxMDpQVUQwfC0tKyAgIHwgICAgICAgIHwKICAg fCAgICAgICAgfCAgIHwgICstLS0tLS0tLS0rICB8ICAgfCAgICAgICAgfAogICB8ICAgICAgICB8 ICAgfCAgfCAgICAgICAgIHwgIHwgICB8ICAgICAgICB8CiAgIHwgICAgICAgIHwgICB8ICB8ICAg ICAgICAgfCAgfCAgIHwgICAgICAgIHwKICAgfCAgICAgICAgfCAgIHwgIHwgICAgICAgICB8ICB8 ICAgfCAgICAgICAgfAogICB8ICAgICAgICB8ICAgfCAgfCBJTlZBTElEIHwgIHwgICB8ICAgICAg ICB8CiAgIHwgICAgICAgIHwgICB8ICB8ICAgICAgICAgfCAgfCAgIHwgICAgICAgIHwKICAgfCAg Li4uLiAgfCAgIHwgIHwgICAgICAgICB8ICB8ICAgfCAgLi4uLiAgfAogICB8ICAgICAgICB8ICAg fCAgfCAgICAgICAgIHwgIHwgICB8ICAgICAgICB8CiAgIHwgICAgICAgIHwgICB8ICArLS0tLS0t LS0tKyAgfCAgIHwgICAgICAgIHwKICAgfCAgICAgICAgfCAgICstLXwgIDM6UFVEMSB8ICB8ICAg fCAgICAgICAgfAogICB8ICAgICAgICB8ICAgfCAgKy0tLS0tLS0tLSsgIHwgICB8ICAgICAgICB8 CiAgIHwgICAgICAgIHwgICB8ICB8ICAyOlBVRDAgfC0tKyAgIHwgICAgICAgIHwKICAgfCAgICAg ICAgfCAgIHwgICstLS0tLS0tLS0rICB8ICAgfCAgICAgICAgfAogICB8ICAgICAgICB8ICAgfCAg fDE6VVNSX1BVRHwgIHwgICB8ICAgICAgICB8CiAgIHwgICAgICAgIHwgICB8ICArLS0tLS0tLS0t KyAgfCAgIHwgICAgICAgIHwKICAgfCAgICAgICAgfCAgIHwgIHwwOlVTUl9QVUR8ICB8ICAgfCAg ICAgICAgfAogICArLS0tLS0tLS0rPC0tKyAgKy0tLS0tLS0tLSsgICstLT4rLS0tLS0tLS0rCiAg ICAgIFBVRDEgICAgICAgICBeICAgUEdEICAgICAgICAgICAgIFBVRDAgCiAgICAgIDFHQiAgICAg ICAgICB8ICAgNEdCICAgICAgICAgICAgIDFHQgogICAgICAgICAgICAgICAgICAgfAogICAgICAg ICAgICAgICAgICAgKy0tLS0tLS0tLS0rICAgICAgCiAgICAgICAgICAgICAgICAgICB8IFN2Mzkg UEdEUHwKICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tKyAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgIFNBVFAKClRoZSBzaXplIG9mIHhsZW4gd2FzIGFsd2F5cyBlcXVhbCB0byB0aGUg cG9pbnRlci9sb25nIHNpemUgYmVmb3JlCnM2NGlscDMyIGVtZXJnZWQuIFNvIHdlIG5lZWQgdG8g aW50cm9kdWNlIGEgbmV3IHR5cGUgb2YgZGF0YSAtIHhsZW5fdCwKd2hpY2ggY291bGQgZGVhbCB3 aXRoIENTUi1yZWxhdGVkIGFuZCBjYWxsZWUtc2F2ZS9yZXN0b3JlIG9wZXJhdGlvbnMuCgpTb21l IGtlcm5lbCBmZWF0dXJlcyB1c2UgMzJCSVQvNjRCSVQgdG8gZGV0ZXJtaW5lIHRoZSBleGFjdCBJ U0EsIHN1Y2ggYXMKZWJwZiBKSVQgd291bGQgbWFwIHRvIHJ2MzIgSVNBIHdoZW4gQ09ORklHXzMy QklUPXkuIEJ1dCBzNjRpbHAzMiBuZWVkcwp0aGUgZWJwZiBKSVQgbWFwIHRvIHJ2NjQgSVNBIHdo ZW4gQ09ORklHXzMyQklUPXkgYW5kIHdlIG5lZWQgdG8gdXNlCmFub3RoZXIgY29uZmlnIHRvIGRp c3Rpbmd1aXNoIHRoZSBkaWZmZXJlbmNlLgoKTW9yZSBkZXRpYWxzLCBwbGVhc2UgcmV2aWV3IHRo ZSBwYXRoIHNlcmllcy4KCkhvdyB0byBydW4gczY0aWxwMzI/Cj09PT09PT09PT09PT09PT09PT09 CgpHTlUgdG9vbGNoYWluCi0tLS0tLS0tLS0tLS0KZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNv bS9MaWFvc2hpaHVhL3Jpc2N2LWdudS10b29sY2hhaW4uZ2l0CmNkIHJpc2N2LWdudS10b29sY2hh aW4KLi9jb25maWd1cmUgLS1wcmVmaXg9IiRQV0Qvb3B0LXJ2NjQtaWxwMzIvIiAtLXdpdGgtYXJj aD1ydjY0aW1hYyAtLXdpdGgtYWJpPWlscDMyCm1ha2UgbGludXgKZXhwb3J0IFBBVEg9JFBBVEg6 JFBXRC9vcHQtcnY2NC1pbHAzMi9iaW4vCgpPcGVuc2JpCi0tLS0tLS0KZ2l0IGNsb25lIGh0dHBz Oi8vZ2l0aHViLmNvbS9yaXNjdi1zb2Z0d2FyZS1zcmMvb3BlbnNiaS5naXQKQ1JPU1NfQ09NUElM RT1yaXNjdjY0LXVua25vd24tbGludXgtZ251LSBtYWtlIFBMQVRGT1JNPWdlbmVyaWMKCkxpbnV4 IGtlcm5lbAotLS0tLS0tLS0tLS0KZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9ndW9yZW44 My9saW51eC5naXQgLWIgczY0aWxwMzIKY2QgbGludXgKbWFrZSBBUkNIPXJpc2N2IENST1NTX0NP TVBJTEU9cmlzY3Y2NC11bmtub3duLWxpbnV4LWdudS0gcnY2NGlscDMyX2RlZmNvbmZpZwptYWtl IEFSQ0g9cmlzY3YgQ1JPU1NfQ09NUElMRT1yaXNjdjY0LXVua25vd24tbGludXgtZ251LSBhbGwK ClJvb3RmcwotLS0tLS0KZ2l0IGNsb25lIGdpdDovL2dpdC5idXN5Ym94Lm5ldC9idWlsZHJvb3QK Y2QgYnVpbGRyb290Cm1ha2UgcWVtdV9yaXNjdjMyX3ZpcnRfZGVmY29uZmlnCm1ha2UKClFlbXUK LS0tLQpnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL3BsY3RsYWIvcGxjdC1xZW11LmdpdCAt YiBwbGN0LXM2NGlscDMyLWRldgpjZCBwbGN0LXFlbXUKbWtkaXIgYnVpbGQKY2QgYnVpbGQKLi4v cWVtdS9jb25maWd1cmUgLS10YXJnZXQtbGlzdD0icmlzY3Y2NC1zb2Z0bW11IHJpc2N2MzItc29m dG1tdSIKbWFrZQoKUnVuCi0tLQouL3FlbXUtc3lzdGVtLXJpc2N2NjQgLWNwdSBydjY0IC1NIHZp cnQgLW0gMTI4bSAtbm9ncmFwaGljIC1iaW9zIGZ3X2R5bmFtaWMuYmluIC1rZXJuZWwgSW1hZ2Ug LWRyaXZlIGZpbGU9cm9vdGZzLmV4dDIsZm9ybWF0PXJhdyxpZD1oZDAgLWRldmljZSB2aXJ0aW8t YmxrLWRldmljZSxkcml2ZT1oZDAgLWFwcGVuZCAicm9vdHdhaXQgcm9vdD0vZGV2L3ZkYSBybyBj b25zb2xlPXR0eVMwIGVhcmx5Y29uPXNiaSIgLW5ldGRldiB1c2VyLGlkPW5ldDAgLWRldmljZSB2 aXJ0aW8tbmV0LWRldmljZSxuZXRkZXY9bmV0MAoKT3BlblNCSSB2MS4yLTExOS1nZGMxYzdkYjA1 ZTA3CiAgIF9fX18gICAgICAgICAgICAgICAgICAgIF9fX19fIF9fX18gX19fX18KICAvIF9fIFwg ICAgICAgICAgICAgICAgICAvIF9fX198ICBfIFxfICAgX3wKIHwgfCAgfCB8XyBfXyAgIF9fXyBf IF9fIHwgKF9fXyB8IHxfKSB8fCB8CiB8IHwgIHwgfCAnXyBcIC8gXyBcICdfIFwgXF9fXyBcfCAg XyA8IHwgfAogfCB8X198IHwgfF8pIHwgIF9fLyB8IHwgfF9fX18pIHwgfF8pIHx8IHxfCiAgXF9f X18vfCAuX18vIFxfX198X3wgfF98X19fX18vfF9fXy9fX19fX3wKICAgICAgICB8IHwKICAgICAg ICB8X3wKClBsYXRmb3JtIE5hbWUgICAgICAgICAgICAgOiByaXNjdi12aXJ0aW8scWVtdQpQbGF0 Zm9ybSBGZWF0dXJlcyAgICAgICAgIDogbWVkZWxlZwpQbGF0Zm9ybSBIQVJUIENvdW50ICAgICAg IDogMQpQbGF0Zm9ybSBJUEkgRGV2aWNlICAgICAgIDogYWNsaW50LW1zd2kKUGxhdGZvcm0gVGlt ZXIgRGV2aWNlICAgICA6IGFjbGludC1tdGltZXIgQCAxMDAwMDAwMEh6ClBsYXRmb3JtIENvbnNv bGUgRGV2aWNlICAgOiB1YXJ0ODI1MApQbGF0Zm9ybSBIU00gRGV2aWNlICAgICAgIDogLS0tClBs YXRmb3JtIFBNVSBEZXZpY2UgICAgICAgOiAtLS0KUGxhdGZvcm0gUmVib290IERldmljZSAgICA6 IHNpZml2ZV90ZXN0ClBsYXRmb3JtIFNodXRkb3duIERldmljZSAgOiBzaWZpdmVfdGVzdApQbGF0 Zm9ybSBTdXNwZW5kIERldmljZSAgIDogLS0tClBsYXRmb3JtIENQUEMgRGV2aWNlICAgICAgOiAt LS0KRmlybXdhcmUgQmFzZSAgICAgICAgICAgICA6IDB4NjAwMDAwMDAKRmlybXdhcmUgU2l6ZSAg ICAgICAgICAgICA6IDM2MCBLQgpGaXJtd2FyZSBSVyBPZmZzZXQgICAgICAgIDogMHg0MDAwMApS dW50aW1lIFNCSSBWZXJzaW9uICAgICAgIDogMS4wCgpEb21haW4wIE5hbWUgICAgICAgICAgICAg IDogcm9vdApEb21haW4wIEJvb3QgSEFSVCAgICAgICAgIDogMApEb21haW4wIEhBUlRzICAgICAg ICAgICAgIDogMCoKRG9tYWluMCBSZWdpb24wMCAgICAgICAgICA6IDB4MDAwMDAwMDAwMjAwMDAw MC0weDAwMDAwMDAwMDIwMGZmZmYgTTogKEksUixXKSBTL1U6ICgpCkRvbWFpbjAgUmVnaW9uMDEg ICAgICAgICAgOiAweDAwMDAwMDAwNjAwNDAwMDAtMHgwMDAwMDAwMDYwMDVmZmZmIE06IChSLFcp IFMvVTogKCkKRG9tYWluMCBSZWdpb24wMiAgICAgICAgICA6IDB4MDAwMDAwMDA2MDAwMDAwMC0w eDAwMDAwMDAwNjAwM2ZmZmYgTTogKFIsWCkgUy9VOiAoKQpEb21haW4wIFJlZ2lvbjAzICAgICAg ICAgIDogMHgwMDAwMDAwMDAwMDAwMDAwLTB4ZmZmZmZmZmZmZmZmZmZmZiBNOiAoUixXLFgpIFMv VTogKFIsVyxYKQpEb21haW4wIE5leHQgQWRkcmVzcyAgICAgIDogMHgwMDAwMDAwMDYwMjAwMDAw CkRvbWFpbjAgTmV4dCBBcmcxICAgICAgICAgOiAweDAwMDAwMDAwNjdlMDAwMDAKRG9tYWluMCBO ZXh0IE1vZGUgICAgICAgICA6IFMtbW9kZQpEb21haW4wIFN5c1Jlc2V0ICAgICAgICAgIDogeWVz CkRvbWFpbjAgU3lzU3VzcGVuZCAgICAgICAgOiB5ZXMKCkJvb3QgSEFSVCBJRCAgICAgICAgICAg ICAgOiAwCkJvb3QgSEFSVCBEb21haW4gICAgICAgICAgOiByb290CkJvb3QgSEFSVCBQcml2IFZl cnNpb24gICAgOiB2MS4xMgpCb290IEhBUlQgQmFzZSBJU0EgICAgICAgIDogcnY2NGltYWZkY2gK Qm9vdCBIQVJUIElTQSBFeHRlbnNpb25zICA6IHRpbWUsc3N0YwpCb290IEhBUlQgUE1QIENvdW50 ICAgICAgIDogMTYKQm9vdCBIQVJUIFBNUCBHcmFudWxhcml0eSA6IDQKQm9vdCBIQVJUIFBNUCBB ZGRyZXNzIEJpdHM6IDU0CkJvb3QgSEFSVCBNSFBNIENvdW50ICAgICAgOiAxNgpCb290IEhBUlQg TUlERUxFRyAgICAgICAgIDogMHgwMDAwMDAwMDAwMDAxNjY2CkJvb3QgSEFSVCBNRURFTEVHICAg ICAgICAgOiAweDAwMDAwMDAwMDBmMGI1MDkKWyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA2 LjMuMC1yYzEtMDAwODYtZ2M4ZDJmZWRiOTk3YSAoZ3VvcmVuQGZlZG9yYSkgKHJpc2N2NjQtdW5r bm93bi1saW51eC1nbnUtZ2NjIChnNWU1NzhhMTYyMDFmKSAxMy4wLjEgMjAyMzAyMDYgKGV4cGVy aW1lbnRhbCksIEdOVSBsZCAoR05VIEJpbnV0aWxzKSAyLjQwLjUwLjIwMjMwMjA1KSAjMSBTTVAg U3VuIE1heSAxNCAxMDo0Njo0MiBFRFQgMjAyMwpbICAgIDAuMDAwMDAwXSByYW5kb206IGNybmcg aW5pdCBkb25lClsgICAgMC4wMDAwMDBdIE9GOiBmZHQ6IElnbm9yaW5nIG1lbW9yeSByYW5nZSAw eDYwMDAwMDAwIC0gMHg2MDIwMDAwMApbICAgIDAuMDAwMDAwXSBNYWNoaW5lIG1vZGVsOiByaXNj di12aXJ0aW8scWVtdQpbICAgIDAuMDAwMDAwXSBlZmk6IFVFRkkgbm90IGZvdW5kLgpbICAgIDAu MDAwMDAwXSBPRjogcmVzZXJ2ZWQgbWVtOiAweDYwMDAwMDAwLi4weDYwMDNmZmZmICgyNTYgS2lC KSBtYXAgbm9uLXJldXNhYmxlIG1tb2RlX3Jlc3YxQDYwMDAwMDAwClsgICAgMC4wMDAwMDBdIE9G OiByZXNlcnZlZCBtZW06IDB4NjAwNDAwMDAuLjB4NjAwNWZmZmYgKDEyOCBLaUIpIG1hcCBub24t cmV1c2FibGUgbW1vZGVfcmVzdjBANjAwNDAwMDAKWyAgICAwLjAwMDAwMF0gWm9uZSByYW5nZXM6 ClsgICAgMC4wMDAwMDBdICAgTm9ybWFsICAgW21lbSAweDAwMDAwMDAwNjAyMDAwMDAtMHgwMDAw MDAwMDY3ZmZmZmZmXQpbICAgIDAuMDAwMDAwXSBNb3ZhYmxlIHpvbmUgc3RhcnQgZm9yIGVhY2gg bm9kZQpbICAgIDAuMDAwMDAwXSBFYXJseSBtZW1vcnkgbm9kZSByYW5nZXMKWyAgICAwLjAwMDAw MF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwNjAyMDAwMDAtMHgwMDAwMDAwMDY3ZmZmZmZm XQpbICAgIDAuMDAwMDAwXSBJbml0bWVtIHNldHVwIG5vZGUgMCBbbWVtIDB4MDAwMDAwMDA2MDIw MDAwMC0weDAwMDAwMDAwNjdmZmZmZmZdClsgICAgMC4wMDAwMDBdIE9uIG5vZGUgMCwgem9uZSBO b3JtYWw6IDUxMiBwYWdlcyBpbiB1bmF2YWlsYWJsZSByYW5nZXMKWyAgICAwLjAwMDAwMF0gU0JJ IHNwZWNpZmljYXRpb24gdjEuMCBkZXRlY3RlZApbICAgIDAuMDAwMDAwXSBTQkkgaW1wbGVtZW50 YXRpb24gSUQ9MHgxIFZlcnNpb249MHgxMDAwMgpbICAgIDAuMDAwMDAwXSBTQkkgVElNRSBleHRl bnNpb24gZGV0ZWN0ZWQKWyAgICAwLjAwMDAwMF0gU0JJIElQSSBleHRlbnNpb24gZGV0ZWN0ZWQK WyAgICAwLjAwMDAwMF0gU0JJIFJGRU5DRSBleHRlbnNpb24gZGV0ZWN0ZWQKWyAgICAwLjAwMDAw MF0gU0JJIFNSU1QgZXh0ZW5zaW9uIGRldGVjdGVkClsgICAgMC4wMDAwMDBdIFNCSSBIU00gZXh0 ZW5zaW9uIGRldGVjdGVkClsgICAgMC4wMDAwMDBdIHJpc2N2OiBiYXNlIElTQSBleHRlbnNpb25z IGFjZGZoaW0KWyAgICAwLjAwMDAwMF0gcmlzY3Y6IEVMRiBjYXBhYmlsaXRpZXMgYWNkZmltClsg ICAgMC4wMDAwMDBdIHBlcmNwdTogRW1iZWRkZWQgMTMgcGFnZXMvY3B1IHMyNDM1MiByODE5MiBk MjA3MDQgdTUzMjQ4ClsgICAgMC4wMDAwMDBdIEJ1aWx0IDEgem9uZWxpc3RzLCBtb2JpbGl0eSBn cm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiAzMTk0MQpbICAgIDAuMDAwMDAwXSBLZXJuZWwgY29t bWFuZCBsaW5lOiByb290d2FpdCByb290PS9kZXYvdmRhIHJvIGNvbnNvbGU9dHR5UzAgZWFybHlj b249c2JpIG5vcmFuZG1hcHMKWyAgICAwLjAwMDAwMF0gRGVudHJ5IGNhY2hlIGhhc2ggdGFibGUg ZW50cmllczogMTYzODQgKG9yZGVyOiA0LCA2NTUzNiBieXRlcywgbGluZWFyKQpbICAgIDAuMDAw MDAwXSBJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDgxOTIgKG9yZGVyOiAzLCAzMjc2 OCBieXRlcywgbGluZWFyKQpbICAgIDAuMDAwMDAwXSBtZW0gYXV0by1pbml0OiBzdGFjazphbGwo emVybyksIGhlYXAgYWxsb2M6b2ZmLCBoZWFwIGZyZWU6b2ZmClsgICAgMC4wMDAwMDBdIFZpcnR1 YWwga2VybmVsIG1lbW9yeSBsYXlvdXQ6ClsgICAgMC4wMDAwMDBdICAgICAgIGZpeG1hcCA6IDB4 OWNlMDAwMDAgLSAweDlkMDAwMDAwICAgKDIwNDgga0IpClsgICAgMC4wMDAwMDBdICAgICAgIHBj aSBpbyA6IDB4OWQwMDAwMDAgLSAweDllMDAwMDAwICAgKCAgMTYgTUIpClsgICAgMC4wMDAwMDBd ICAgICAgdm1lbW1hcCA6IDB4OWUwMDAwMDAgLSAweGEwMDAwMDAwICAgKCAgMzIgTUIpClsgICAg MC4wMDAwMDBdICAgICAgdm1hbGxvYyA6IDB4YTAwMDAwMDAgLSAweGMwMDAwMDAwICAgKCA1MTIg TUIpClsgICAgMC4wMDAwMDBdICAgICAgIGxvd21lbSA6IDB4YzAwMDAwMDAgLSAweGM3ZTAwMDAw ICAgKCAxMjYgTUIpClsgICAgMC4wMDAwMDBdIE1lbW9yeTogOTc3NDhLLzEyOTAyNEsgYXZhaWxh YmxlICg4Njk5SyBrZXJuZWwgY29kZSwgODg2N0sgcndkYXRhLCA0MDk2SyByb2RhdGEsIDQyMDRL IGluaXQsIDM2MUsgYnNzLCAzMTI3NksgcmVzZXJ2ZWQsIDBLIGNtYS1yZXNlcnZlZCkKLi4uClN0 YXJ0aW5nIG5ldHdvcms6IHVkaGNwYzogc3RhcnRlZCwgdjEuMzYuMAp1ZGhjcGM6IGJyb2FkY2Fz dGluZyBkaXNjb3Zlcgp1ZGhjcGM6IGJyb2FkY2FzdGluZyBzZWxlY3QgZm9yIDEwLjAuMi4xNSwg c2VydmVyIDEwLjAuMi4yCnVkaGNwYzogbGVhc2Ugb2YgMTAuMC4yLjE1IG9idGFpbmVkIGZyb20g MTAuMC4yLjIsIGxlYXNlIHRpbWUgODY0MDAKZGVsZXRpbmcgcm91dGVycwphZGRpbmcgZG5zIDEw LjAuMi4zCk9LCgpXZWxjb21lIHRvIEJ1aWxkcm9vdApidWlsZHJvb3QgbG9naW46IHJvb3QKIyBj YXQgL3Byb2MvY3B1aW5mbwpwcm9jZXNzb3IgICAgICAgOiAwCmhhcnQgICAgICAgICAgICA6IDAK aXNhICAgICAgICAgICAgIDogcnY2NGltYWZkY2hfemloaW50cGF1c2VfemJiX3NzdGMKbW11ICAg ICAgICAgICAgIDogc3YzOQptdmVuZG9yaWQgICAgICAgOiAweDAKbWFyY2hpZCAgICAgICAgIDog MHg3MDIzMgptaW1waWQgICAgICAgICAgOiAweDcwMjMyCgojIHVuYW1lIC1hCkxpbnV4IGJ1aWxk cm9vdCA2LjMuMC1yYzEtMDAwODYtZ2M4ZDJmZWRiOTk3YSAjMSBTTVAgU3VuIE1heSAxNCAxMDo0 Njo0MiBFRFQgMjAyMyByaXNjdjMyIEdOVS9MaW51eAojIGxzIC9saWIvCmxkLWxpbnV4LXJpc2N2 MzItaWxwMzJkLnNvLjEgIGxpYmdjY19zLnNvLjEKbGliYW5sLnNvLjEgICAgICAgICAgICAgICAg ICAgbGlibS5zby42CmxpYmF0b21pYy5zbyAgICAgICAgICAgICAgICAgIGxpYm5zc19kbnMuc28u MgpsaWJhdG9taWMuc28uMSAgICAgICAgICAgICAgICBsaWJuc3NfZmlsZXMuc28uMgpsaWJhdG9t aWMuc28uMS4yLjAgICAgICAgICAgICBsaWJwdGhyZWFkLnNvLjAKbGliYy5zby42ICAgICAgICAg ICAgICAgICAgICAgbGlicmVzb2x2LnNvLjIKbGliY3J5cHQuc28uMSAgICAgICAgICAgICAgICAg bGlicnQuc28uMQpsaWJkbC5zby4yICAgICAgICAgICAgICAgICAgICBsaWJ1dGlsLnNvLjEKbGli Z2NjX3Muc28gICAgICAgICAgICAgICAgICAgbW9kdWxlcwoKIyBjYXQgL3Byb2MvOTkvbWFwcwow MDAwMDAwMDU1NTU0MDAwLTAwMDAwMDAwNTU2MzQwMDAgci14cCAwMDAwMDAwMCAwMDAwMDAwMGZl OjAwIDE3ICAvYmluL2J1c3lib3gKMDAwMDAwMDA1NTYzNDAwMC0wMDAwMDAwMDU1NjM2MDAwIHIt LXAgMDAwMDAwMDBkZjAwMCAwMDAwMDAwMGZlOjAwIDE3ICAvYmluL2J1c3lib3gKMDAwMDAwMDA1 NTYzNjAwMC0wMDAwMDAwMDU1NjM3MDAwIHJ3LXAgMDAwMDAwMDBlMTAwMCAwMDAwMDAwMGZlOjAw IDE3ICAvYmluL2J1c3lib3gKMDAwMDAwMDA1NTYzNzAwMC0wMDAwMDAwMDU1NjU5MDAwIHJ3LXAg MDAwMDAwMDAgMDA6MDAgMCAgW2hlYXBdCjAwMDAwMDAwNzdlOGQwMDAtMDAwMDAwMDA3N2ZiZTAw MCByLXhwIDAwMDAwMDAwIDAwMDAwMDAwZmU6MDAgMTM3ICAvbGliL2xpYmMuc28uNgowMDAwMDAw MDc3ZmJlMDAwLTAwMDAwMDAwNzdmYmYwMDAgLS0tcCAwMDAwMDAwMDEzMTAwMCAwMDAwMDAwMGZl OjAwIDEzNyAgL2xpYi9saWJjLnNvLjYKMDAwMDAwMDA3N2ZiZjAwMC0wMDAwMDAwMDc3ZmMxMDAw IHItLXAgMDAwMDAwMDAxMzEwMDAgMDAwMDAwMDBmZTowMCAxMzcgIC9saWIvbGliYy5zby42CjAw MDAwMDAwNzdmYzEwMDAtMDAwMDAwMDA3N2ZjMjAwMCBydy1wIDAwMDAwMDAwMTMzMDAwIDAwMDAw MDAwZmU6MDAgMTM3ICAvbGliL2xpYmMuc28uNgowMDAwMDAwMDc3ZmMyMDAwLTAwMDAwMDAwNzdm Y2MwMDAgcnctcCAwMDAwMDAwMCAwMDowMCAwCjAwMDAwMDAwNzdmY2MwMDAtMDAwMDAwMDA3N2Zk NDAwMCByLXhwIDAwMDAwMDAwIDAwMDAwMDAwZmU6MDAgMTQ2ICAvbGliL2xpYnJlc29sdi5zby4y CjAwMDAwMDAwNzdmZDQwMDAtMDAwMDAwMDA3N2ZkNTAwMCAtLS1wIDAwMDAwMDAwODAwMCAwMDAw MDAwMGZlOjAwIDE0NiAgL2xpYi9saWJyZXNvbHYuc28uMgowMDAwMDAwMDc3ZmQ1MDAwLTAwMDAw MDAwNzdmZDYwMDAgci0tcCAwMDAwMDAwMDgwMDAgMDAwMDAwMDBmZTowMCAxNDYgIC9saWIvbGli cmVzb2x2LnNvLjIKMDAwMDAwMDA3N2ZkNjAwMC0wMDAwMDAwMDc3ZmQ3MDAwIHJ3LXAgMDAwMDAw MDA5MDAwIDAwMDAwMDAwZmU6MDAgMTQ2ICAvbGliL2xpYnJlc29sdi5zby4yCjAwMDAwMDAwNzdm ZDcwMDAtMDAwMDAwMDA3N2ZkOTAwMCBydy1wIDAwMDAwMDAwIDAwOjAwIDAKMDAwMDAwMDA3N2Zk OTAwMC0wMDAwMDAwMDc3ZmRiMDAwIHItLXAgMDAwMDAwMDAgMDA6MDAgMCAgW3Z2YXJdCjAwMDAw MDAwNzdmZGIwMDAtMDAwMDAwMDA3N2ZkZDAwMCByLXhwIDAwMDAwMDAwIDAwOjAwIDAgIFt2ZHNv XQowMDAwMDAwMDc3ZmRkMDAwLTAwMDAwMDAwNzdmZmMwMDAgci14cCAwMDAwMDAwMCAwMDAwMDAw MGZlOjAwIDEzMiAgL2xpYi9sZC1saW51eC1yaXNjdjMyLWlscDMyZC5zby4xCjAwMDAwMDAwNzdm ZmQwMDAtMDAwMDAwMDA3N2ZmZTAwMCByLS1wIDAwMDAwMDAwMWYwMDAgMDAwMDAwMDBmZTowMCAx MzIgIC9saWIvbGQtbGludXgtcmlzY3YzMi1pbHAzMmQuc28uMQowMDAwMDAwMDc3ZmZlMDAwLTAw MDAwMDAwNzdmZmYwMDAgcnctcCAwMDAwMDAwMDIwMDAwIDAwMDAwMDAwZmU6MDAgMTMyICAvbGli L2xkLWxpbnV4LXJpc2N2MzItaWxwMzJkLnNvLjEKMDAwMDAwMDA3ZmZkZTAwMC0wMDAwMDAwMDdm ZmZmMDAwIHJ3LXAgMDAwMDAwMDAgMDA6MDAgMCAgW3N0YWNrXQoKT3RoZXIgcmVzb3VyY2VzCj09 PT09PT09PT09PT09PQoKT3BlbkV1bGVyIHJpc2N2MzIgcm9vdGZzCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQpUaGUgT3BlbkV1bGVyIHJpc2N2MzIgcm9vdGZzIHlvdSBjYW4gZG93bmxvYWQgZnJv bSBoZXJlOgpodHRwczovL3JlcG8udGFyc2llci1pbmZyYS5jb20vb3BlbkV1bGVyLVJJU0MtVi9v YnMvYXJjaGl2ZS9ydjMyL29wZW5ldWxlci1pbWFnZS1xZW11LXJpc2N2MzItMjAyMjExMTEwNzAw MzYucm9vdGZzLmV4dDQKKE1hZGUgYnkgSnVucWlhbmcgV2FuZykKCkRlYmFpbiByaXNjdjMyIHJv b3RmcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0KVGhlIERlYmlhbiByaXNjdjMyIHJvb3RmcyB5b3Ug Y2FuIGRvd25sb2FkIGZyb20gaGVyZToKaHR0cHM6Ly9naXRodWIuY29tL3l1emliby9yaXNjdjMy CihNYWRlIGJ5IEJvIFlVIGFuZCBIYW4gR2FvKQoKRmVkb3JhIHJpc2N2MzIgcm9vdGZzCi0tLS0t LS0tLS0tLS0tLS0tLS0tLQpodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvQXJjaGl0ZWN0 dXJlcy9SSVNDLVYvUlYzMgooTWFkZSBieSBXZWkgRnUpCgpMTFZNIDY0aWxwMzIKLS0tLS0tLS0t LS0tCmdpdCBjbG9uZSBodHRwczovL2dpdGh1Yi5jb20vbHV4dWZhbi9sbHZtLXByb2plY3QuZ2l0 IC1iIHJ2NjQtaWxwMzIKY2QgbGx2bS1wcm9qZWN0Cm1rZGlyIGJ1aWxkICYmIGNkIGJ1aWxkCmNt YWtlIC4uL2xsdm0gLUcgTmluamEgLURDTUFLRV9CVUlMRF9UWVBFPVJlbGVhc2UgLURMTFZNX1RB UkdFVFNfVE9fQlVJTEQ94oCcWDg2O1JJU0NWIiAtRExMVk1fRU5BQkxFX1BST0pFQ1RTPSJjbGFu ZztsbGQiCm5pbmphIGFsbAoKKExMVk0gZGV2ZWxvcG1lbnQgc3RhdHVzIGlzIHRoYXQgQ0M9Y2xh bmcgY2FuIGNvbXBpbGUgdGhlIGtlcm5lbCB3aXRoCiBMTFZNPTEgYnV0IGhhcyBub3QgeWV0IGJv b3RlZCBzdWNjZXNzZnVsbHkuKQoKUGF0Y2ggb3JnYW5pemF0aW9uCj09PT09PT09PT09PT09PT09 PQpUaGlzIHNlcmllcyBkZXBlbmRzIG9uIDY0aWxwMzIgdG9vbGNoYWluIHBhdGNoZXMgdGhhdCBh cmUgbm90IHVwc3RyZWFtCnlldC4KClBBVENIIFswLTFdIHVuaWZ5IHZkc28zMiAmIGNvbXBhdF92 ZHNvClBBVENIIFsyXSBhZGRzIHRpbWUtcmVsYXRlZCB2RFNPIGNvbW1vbiBmbG93IGZvciB2ZHNv MzIKUEFUQ0ggWzNdIGFkZHMgczY0aWxwMzIgc3VwcG9ydCBvZiBjbG9ja3NvdXJjZSBkcml2ZXIK UEFUQ0ggWzVdIGFkZHMgczY0aWxwMzIgc3VwcG9ydCBvZiBpcnFjaGlwIGRyaXZlcgpQQVRDSCBb NCw2LTEyXSBhZGQgYmFzaWMgZGF0YSB0eXBlcyBhbmQgY29tcGlsaW5nIGZyYW1ld29yawpQQVRD SCBbMTNdIGFkZHMgTU1VX1NWMzkgc3VwcG9ydApQQVRDSCBbMTRdIGFkZHMgbmF0aXZlIGF0b21p YzY0ClBBVENIIFsxNV0gYWRkcyBUSW1vZGUKUEFUQ0ggWzE2XSBhZGRzIGNtcHhjaGdfZG91Ymxl ClBBVENIIFsxNy0xOV0gY2xlYW51cCBrY29uZmlnICYgYWRkIGRlZmNvbmZpZwpQQVRDSCBbMjAt MjFdIGZpeCB0ZW1wb3JhcnkgY29tcGlsZXIgcHJvYmxlbXMKCk9wZW4gaXNzdWVzCj09PT09PT09 PT09CgpDYWxsZWUgc2F2ZWQgdGhlIHJlZ2lzdGVyIHdpZHRoCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KRm9yIDY0LWJpdCBJU0EgKGluY2x1ZGluZyA2NGxwNjQsIDY0aWxwMzIpLCBj YWxsZWUgY2FuJ3QgZGV0ZXJtaW5lIHRoZQpjb3JyZWN0IHdpZHRoIHVzZWQgaW4gdGhlIHJlZ2lz dGVyLCBzbyB0aGV5IHNhdmVkIHRoZSBtYXhpbXVtIHdpZHRoIG9mCnRoZSBJU0EgcmVnaXN0ZXIs IGkuZS4sIHhsZW4gc2l6ZS4gV2UgYWxzbyBmb3VuZCB0aGlzIHJ1bGUgaW4geDg2LXgzMiwKbWlw cy1uMzIsIGFuZCBhYXJjaDY0aWxwMzIsIHdoaWNoIGNvbWVzIGZyb20gNjRscDY0LiBTZWUgUEFU Q0ggWzIwXQoKSGVyZSBhcmUgdHdvIGRvd25zaWRlcyBvZiB0aGlzOgogLSBJdCB3b3VsZCBjYXVz ZSBhIGRpZmZlcmVuY2Ugd2l0aCAzMmlscDMyJ3Mgc3RhY2sgZnJhbWUsIGFuZCBzNjRpbHAzMgog ICByZXVzZXMgMzJpbHAzMiBzb2Z0d2FyZSBzdGFjay4gVGh1cywgbWFueSBhZGRpdGlvbmFsIGNv bXBhdGlibGUKICAgcHJvYmxlbXMgd291bGQgaGFwcGVuIGR1cmluZyB0aGUgcG9ydGluZyBvZiA2 NGlscDMyIHNvZnR3YXJlLgogLSBJdCBhbHNvIGluY3JlYXNlcyB0aGUgYnVkZ2V0IG9mIHRoZSBz dGFjayB1c2FnZS4KICAgPHNldHVwX3ZtPjoKICAgICBhdWlwYyAgIGEzLDB4ZmYzZmIKICAgICBh ZGQgICAgIGEzLGEzLDEyMzQgIyBjMDAwMDAwMAogICAgIGxpICAgICAgYTUsLTEKICAgICBsdWkg ICAgIGE0LDB4YzAwMDAKICAgICBhZGR3ICAgIHNwLHNwLC05NgogICAgIHNybCAgICAgYTUsYTUs MHgyMAogICAgIHN1YncgICAgYTQsYTQsYTMKICAgICBhdWlwYyAgIGEyLDB4MTExYQogICAgIGFk ZCAgICAgYTIsYTIsMTIxMiAjIGMxZDFmMDAwCiAgICAgc2QgICAgICBzMCw4MChzcCktLS0tKwog ICAgIHNkICAgICAgczEsNzIoc3ApICAgIHwKICAgICBzZCAgICAgIHMyLDY0KHNwKSAgICB8CiAg ICAgc2QgICAgICBzNywyNChzcCkgICAgfAogICAgIHNkICAgICAgczgsMTYoc3ApICAgIHwKICAg ICBzZCAgICAgIHM5LDgoc3ApICAgICB8LT4gQWxsIDw9IDMyYiB3aWR0aHMsIGJ1dCBvY2N1cHkg NjRiCiAgICAgc2QgICAgICByYSw4OChzcCkgICAgfCAgIHN0YWNrIHNwYWNlLgogICAgIHNkICAg ICAgczMsNTYoc3ApICAgIHwgICBBZmZlY3QgbWVtb3J5IGZvb3RwcmludCAmIGNhY2hlCiAgICAg c2QgICAgICBzNCw0OChzcCkgICAgfCAgIHBlcmZvcm1hbmNlLgogICAgIHNkICAgICAgczUsNDAo c3ApICAgIHwKICAgICBzZCAgICAgIHM2LDMyKHNwKSAgICB8CiAgICAgc2QgICAgICBzMTAsMChz cCktLS0tKwogICAgIHNsbCAgICAgYTEsYTQsMHgyMAogICAgIHN1YncgICAgYTIsYTIsYTMKICAg ICBhbmQgICAgIGE0LGE0LGE1CgpTbyBoZXJlIGlzIGEgcHJvcG9zYWwgdG8gcmlzY3YgNjRpbHAz MiBBQkk6CiAtIExldCB0aGUgY29tcGlsZXIgcHJldmVudCBjYWxsZWUgc2F2aW5nICI+MzJiIHZh cmlhYmxlcyIgaW4KICAgY2FsbGVlLXJlZ2lzdGVycy4gKFE6IFdlIG5lZWQgdG8gbWVhc3VyZSwg aG93IHRoZSBpbmZsdWVuY2Ugb2YKICAgNjRiIHZhcmlhYmxlcyBjcm9zcyBmdW5jdGlvbiBjYWxs PykKCkVGX1JJU0NWX1gzMgotLS0tLS0tLS0tLS0KV2UgYWRkIGFuIGVfZmxhZyAoRUZfUklTQ1Zf WDMyKSB0byBkaXN0aW5ndWlzaCB0aGUgMzItYml0IEVMRiwgd2hpY2gKb2NjdXBpZXMgQklUWzZd IG9mIHRoZSBlX2ZsYWdzIGxheW91dC4KCkVMRiBIZWFkZXI6CiAgTWFnaWM6ICAgN2YgNDUgNGMg NDYgMDEgMDEgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKICBDbGFzczogICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVMRjMyCiAgRGF0YTogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAyJ3MgY29tcGxlbWVudCwgbGl0dGxlIGVuZGlhbgogIFZlcnNpb246ICAgICAgICAgICAg ICAgICAgICAgICAgICAgMSAoY3VycmVudCkKICBPUy9BQkk6ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFVOSVggLSBTeXN0ZW0gVgogIEFCSSBWZXJzaW9uOiAgICAgICAgICAgICAgICAgICAg ICAgMAogIFR5cGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVMIChSZWxvY2F0YWJs ZSBmaWxlKQogIE1hY2hpbmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgUklTQy1WCiAgVmVy c2lvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAweDEKICBFbnRyeSBwb2ludCBhZGRyZXNz OiAgICAgICAgICAgICAgIDB4MAogIFN0YXJ0IG9mIHByb2dyYW0gaGVhZGVyczogICAgICAgICAg MCAoYnl0ZXMgaW50byBmaWxlKQogIFN0YXJ0IG9mIHNlY3Rpb24gaGVhZGVyczogICAgICAgICAg MjQ2MjAgKGJ5dGVzIGludG8gZmlsZSkKICBGbGFnczogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MjEsIFJWQywgWDMyLCBzb2Z0LWZsb2F0IEFCSQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeXl4KNjQtYml0IE9wdGltaXphdGlvbiBwcm9ibGVt Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGVyZSBpcyBhbiBleGlzdGluZyBwcm9ibGVt IGluIDY0aWxwMzIgZ2NjIHRoYXQgY29tYmluZXMgdHdvIHBvaW50ZXJzCmluIG9uZSByZWdpc3Rl ci4gTGlhbyBpcyBzb2x2aW5nIHRoYXQgcHJvYmxlbS4gQmVmb3JlIGhlIGZpbmlzaGVzIHRoZQpq b2IsIHdlIGNvdWxkIHByZXZlbnQgaXQgd2l0aCBhIHNpbXBsZSBub2lubGluZSBhdHRyaWJ1dGUs IGZvcnR1bmF0ZWx5LgogICAgc3RydWN0IHBhdGggewogICAgICAgICAgICBzdHJ1Y3QgdmZzbW91 bnQgKm1udDsKICAgICAgICAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5OwogICAgfSBfX3JhbmRv bWl6ZV9sYXlvdXQ7CgogICAgc3RydWN0IG5hbWVpZGF0YSB7CiAgICAgICAgICAgIHN0cnVjdCBw YXRoICAgICBwYXRoOwogICAgICAgICAgICAuLi4KICAgICAgICAgICAgc3RydWN0IHBhdGggICAg IHJvb3Q7CiAgICAuLi4KICAgIH0gX19yYW5kb21pemVfbGF5b3V0OwoKICAgICAgICAgICAgc3Ry dWN0IG5hbWVpZGF0YSAqbmQKICAgICAgICAgICAgLi4uCiAgICAgICAgICAgIG5kLT5wYXRoID0g bmQtPnJvb3Q7CiAgICA2Yzg4ICAgICAgICAgICAgICAgICAgICBsZCAgICAgIGEwLDI0KHMxKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeXiAvLyBhMCBjb250YWlucyB0d28g cG9pbnRlcnMKICAgIGUwODggICAgICAgICAgICAgICAgICAgIHNkICAgICAgYTAsMChzMSkKICAg ICAgICAgICAgbW50Z2V0KHBhdGgtPm1udCk7CiAgICAgICAgICAgIC8vIE5lZWQgImx3IGEwLDAo czEpIiBvciAiYTAgPDwgMzI7IGEwID4+IDMyIgogICAgMmE2MTUwZWYgICAgICAgICAgICAgICAg amFsICAgICBjMDFjZTk0NiA8bW50Z2V0PiAvLyBidWchCgpBY2tub3dsZWRnZQo9PT09PT09PT09 PQpUaGUgczY0aWxwMzIgbmVlZHMgbWFueSBvdGhlciBwcm9qZWN0cycgY29vcGVyYXRpb24uIFRo eCwgYWxsIGd1eXMKaW52b2x2ZWQ6CiAtIEdOVToJCQlMaWFvU2hpaHVhIDxzaGlodWFAaXNjYXMu YWMuY24+LAoJCQlKaWF3ZSBDaGVuPGppYXdlaUBpc2Nhcy5hYy5jbj4KIC0gUWVtdToJCVdlaXdl aSBMaSA8bGl3ZWl3ZWlAaXNjYXMuYWMuY24+CiAtIExMVk06CQlsdXh1ZmFuIDxsdXh1ZmFuQGlz Y2FzLmFjLmNuPiwKCQkJQ2h1bnl1IExpYW88Y2h1bnl1QGlzY2FzLmFjLmNuPgogLSBPcGVuRXVs ZXIgcnYzMjoJSnVucWlhbmcgV2FuZyA8d2FuZ2p1bnFpYW5nQGlzY2FzLmFjLmNuPiAKIC0gRGVi aWFuIHJ2MzI6CQlCbyBZVSA8dHN1Lnl1Ym9AZ21haWwuY29tPgoJCQlIYW4gR2FvIDxnYW9oYW5A aXNjYXMuYWMuY24+CiAtIEZlZG9yYSBydjMyOgkJV2VpIEZ1IDx3ZWZ1QHJlZGhhdC5jb20+IAoK UmVmZXJlbmNlcwo9PT09PT09PT09ClsxXSBodHRwczovL3RlY2hwdWJzLmp1cmFzc2ljLm5sL21h bnVhbHMvMDYzMC9kZXZlbG9wZXIvTXByb19uMzJfQUJJL3NnaV9odG1sL2luZGV4Lmh0bWwKWzJd IGh0dHBzOi8vd2lraS5kZWJpYW4ub3JnL0FybTY0aWxwMzJQb3J0ClszXSBodHRwczovL2x3bi5u ZXQvQXJ0aWNsZXMvNDU2NzMxLwpbNF0gaHR0cHM6Ly9naXRodWIuY29tL3Jpc2N2L3Jpc2N2LXBy b2ZpbGVzL3JlbGVhc2VzCls1XSBodHRwczovL3d3dy5jbngtc29mdHdhcmUuY29tLzIwMjEvMTAv MjUvYWxsd2lubmVyLWQxcy1mMTMzLXJpc2Mtdi1wcm9jZXNzb3ItNjRtYi1kZHIyLwpbNl0gaHR0 cHM6Ly9taWxrdi5pby9kdW8vCls3XSBodHRwczovL3R3aXR0ZXIuY29tL3RwaHVhbmcvc3RhdHVz LzE2MzEzMDgzMzAyNTY4MDE3OTMKWzhdIGh0dHBzOi8vd3d3LmNueC1zb2Z0d2FyZS5jb20vMjAy Mi8xMi8wMi9waW5lNjQtb3g2NC1zYmMtYmw4MDgtcmlzYy12LW11bHRpLXByb3RvY29sLXdpc29j LTY0bWItcmFtLwoKR3VvIFJlbiAoMjIpOgogIHJpc2N2OiB2ZHNvOiBVbmlmeSB2ZHNvMzIgJiBj b21wYXRfdmRzbyBpbnRvIHZkc28vTWFrZWZpbGUKICByaXNjdjogdmRzbzogUmVtb3ZlIGNvbXBh dF92ZHNvLwogIHJpc2N2OiB2ZHNvOiBBZGQgdGltZS1yZWxhdGVkIHZEU08gY29tbW9uIGZsb3cg Zm9yIHZkc28zMgogIGNsb2Nrc291cmNlOiByaXNjdjogczY0aWxwMzI6IFVzZSBfX3Jpc2N2X3hs ZW4gaW5zdGVhZCBvZiBDT05GSUdfMzJCSVQKICByaXNjdjogczY0aWxwMzI6IEludHJvZHVjZSB4 bGVuX3QKICBpcnFjaGlwOiByaXNjdjogczY0aWxwMzI6IFVzZSBfX3Jpc2N2X3hsZW4gaW5zdGVh ZCBvZiBDT05GSUdfMzJCSVQKICByaXNjdjogczY0aWxwMzI6IEFkZCBzYmkgc3VwcG9ydAogIHJp c2N2OiBzNjRpbHAzMjogQWRkIGFzaWQgc3VwcG9ydAogIHJpc2N2OiBzNjRpbHAzMjogSW50cm9k dWNlIFBUUl9MIGFuZCBQVFJfUwogIHJpc2N2OiBzNjRpbHAzMjogRW5hYmxlIHVzZXIgc3BhY2Ug cnVudGltZSBlbnZpcm9ubWVudAogIHJpc2N2OiBzNjRpbHAzMjogQWRkIGVicGYgaml0IHN1cHBv cnQKICByaXNjdjogczY0aWxwMzI6IEFkZCBFTEYzMiBzdXBwb3J0CiAgcmlzY3Y6IHM2NGlscDMy OiBBZGQgQVJDSCBSVjY0IElMUDMyIGNvbXBpbGluZyBmcmFtZXdvcmsKICByaXNjdjogczY0aWxw MzI6IEFkZCBNTVVfU1YzOSBtb2RlIHN1cHBvcnQgZm9yIDMyQklUCiAgcmlzY3Y6IHM2NGlscDMy OiBFbmFibGUgbmF0aXZlIGF0b21pYzY0CiAgcmlzY3Y6IHM2NGlscDMyOiBBZGQgVEltb2RlICgx MjggaW50KSBzdXBwb3J0CiAgcmlzY3Y6IHM2NGlscDMyOiBJbXBsZW1lbnQgY21weGNoZ19kb3Vi bGUKICByaXNjdjogczY0aWxwMzI6IERpc2FibGUgS1ZNCiAgcmlzY3Y6IENsZWFudXAgcnYzMl9k ZWZjb25maWcKICByaXNjdjogczY0aWxwMzI6IEFkZCBydjY0aWxwMzJfZGVmY29uZmlnCiAgcmlz Y3Y6IHM2NGlscDMyOiBDb3JyZWN0IHRoZSBydjY0aWxwMzIgc3RhY2tmcmFtZSBsYXlvdXQKICBy aXNjdjogczY0aWxwMzI6IFRlbXBvcmFyeSB3b3JrYXJvdW5kIHNvbHV0aW9uIHRvIGdjYyBwcm9i bGVtCgogYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDM2 ICsrKy0KIGFyY2gvcmlzY3YvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAy NCArKy0KIGFyY2gvcmlzY3YvY29uZmlncy8zMi1iaXQuY29uZmlnICAgICAgICAgICAgICB8ICAg MiAtCiBhcmNoL3Jpc2N2L2NvbmZpZ3MvNjRpbHAzMi5jb25maWcgICAgICAgICAgICAgfCAgIDIg KwogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hc20uaCAgICAgICAgICAgICAgICAgIHwgICA1ICsK IGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXRvbWljLmggICAgICAgICAgICAgICB8ICAgNiArCiBh cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NtcHhjaGcuaCAgICAgICAgICAgICAgfCAgNTMgKysrKysr CiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NwdV9vcHNfc2JpLmggICAgICAgICAgfCAgIDQgKy0K IGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vY3NyLmggICAgICAgICAgICAgICAgICB8ICA1OCArKyst LS0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vZXh0YWJsZS5oICAgICAgICAgICAgICB8ICAgMiAr LQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wYWdlLmggICAgICAgICAgICAgICAgIHwgIDI0ICsr LQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLTY0LmggICAgICAgICAgIHwgIDQyICsr LS0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAgICAgfCAgMjYg KystCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oICAgICAgICAgICAgfCAgIDgg Ky0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vcHRyYWNlLmggICAgICAgICAgICAgICB8ICA5NiAr KysrKy0tLS0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3NiaS5oICAgICAgICAgICAgICAgICAg fCAgMjQgKy0tCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3N0YWNrdHJhY2UuaCAgICAgICAgICAg fCAgIDYgKwogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS90aW1leC5oICAgICAgICAgICAgICAgIHwg IDEwICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Zkc28uaCAgICAgICAgICAgICAgICAgfCAg MzQgKysrLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS92ZHNvL2dldHRpbWVvZmRheS5oICAgIHwg IDg0ICsrKysrKysrKwogYXJjaC9yaXNjdi9pbmNsdWRlL3VhcGkvYXNtL2VsZi5oICAgICAgICAg ICAgIHwgICAyICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20vdW5pc3RkLmggICAgICAg ICAgfCAgIDEgKwogYXJjaC9yaXNjdi9rZXJuZWwvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAg IHwgICAzICstCiBhcmNoL3Jpc2N2L2tlcm5lbC9jb21wYXRfc2lnbmFsLmMgICAgICAgICAgICAg fCAgIDIgKy0KIGFyY2gvcmlzY3Yva2VybmVsL2NvbXBhdF92ZHNvLy5naXRpZ25vcmUgICAgICB8 ICAgMiAtCiBhcmNoL3Jpc2N2L2tlcm5lbC9jb21wYXRfdmRzby9jb21wYXRfdmRzby5TICAgfCAg IDggLQogLi4uL2tlcm5lbC9jb21wYXRfdmRzby9jb21wYXRfdmRzby5sZHMuUyAgICAgIHwgICAz IC0KIGFyY2gvcmlzY3Yva2VybmVsL2NvbXBhdF92ZHNvL2ZsdXNoX2ljYWNoZS5TICB8ICAgMyAt CiBhcmNoL3Jpc2N2L2tlcm5lbC9jb21wYXRfdmRzby9nZXRjcHUuUyAgICAgICAgfCAgIDMgLQog YXJjaC9yaXNjdi9rZXJuZWwvY29tcGF0X3Zkc28vbm90ZS5TICAgICAgICAgIHwgICAzIC0KIGFy Y2gvcmlzY3Yva2VybmVsL2NvbXBhdF92ZHNvL3J0X3NpZ3JldHVybi5TICB8ICAgMyAtCiBhcmNo L3Jpc2N2L2tlcm5lbC9jcHUuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGFyY2gv cmlzY3Yva2VybmVsL2NwdV9vcHNfc2JpLmMgICAgICAgICAgICAgICB8ICAgNCArLQogYXJjaC9y aXNjdi9rZXJuZWwvY3B1ZmVhdHVyZS5jICAgICAgICAgICAgICAgIHwgICA0ICstCiBhcmNoL3Jp c2N2L2tlcm5lbC9lbnRyeS5TICAgICAgICAgICAgICAgICAgICAgfCAgMjQgKy0tCiBhcmNoL3Jp c2N2L2tlcm5lbC9oZWFkLlMgICAgICAgICAgICAgICAgICAgICAgfCAgIDggKy0KIGFyY2gvcmlz Y3Yva2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICAgICAgICAgICB8ICAgOCArLQogYXJjaC9yaXNj di9rZXJuZWwvc2JpLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDI0ICstLQogYXJjaC9yaXNj di9rZXJuZWwvc2lnbmFsLmMgICAgICAgICAgICAgICAgICAgIHwgICA2ICstCiBhcmNoL3Jpc2N2 L2tlcm5lbC90cmFwcy5jICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGFyY2gvcmlzY3Yv a2VybmVsL3Zkc28uYyAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogYXJjaC9yaXNjdi9r ZXJuZWwvdmRzby9NYWtlZmlsZSAgICAgICAgICAgICAgIHwgMTc2ICsrKysrKysrKysrKy0tLS0t LQogLi4uX3Zkc29fb2Zmc2V0cy5zaCA9PiBnZW5fdmRzbzMyX29mZnNldHMuc2h9IHwgICAyICst CiAuLi4vZ2VuX3Zkc282NF9vZmZzZXRzLnNofSAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0K IGFyY2gvcmlzY3Yva2VybmVsL3Zkc28vdmdldHRpbWVvZmRheS5jICAgICAgICB8ICAzOSArKyst CiBhcmNoL3Jpc2N2L2tlcm5lbC92ZHNvMzIuUyAgICAgICAgICAgICAgICAgICAgfCAgIDggKwog YXJjaC9yaXNjdi9rZXJuZWwve3Zkc28vdmRzby5TID0+IHZkc282NC5TfSAgIHwgICA4ICstCiBh cmNoL3Jpc2N2L2t2bS9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogYXJj aC9yaXNjdi9saWIvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIGFyY2gv cmlzY3YvbGliL21lbXNldC5TICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogYXJjaC9y aXNjdi9tbS9jb250ZXh0LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDE2ICstCiBhcmNoL3Jp c2N2L21tL2ZhdWx0LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKy0KIGFyY2gvcmlz Y3YvbW0vaW5pdC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyOSArKy0KIGFyY2gvcmlz Y3YvbmV0L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArLQogYXJjaC9yaXNj di9uZXQvYnBmX2ppdF9jb21wNjQuYyAgICAgICAgICAgICAgIHwgIDEwICstCiBkcml2ZXJzL2Ns b2Nrc291cmNlL3RpbWVyLXJpc2N2LmMgICAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvaXJx Y2hpcC9pcnEtcmlzY3YtaW50Yy5jICAgICAgICAgICAgICB8ICAgNCArLQogZnMvbmFtZWkuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiA1OCBmaWxlcyBjaGFu Z2VkLCA2NzUgaW5zZXJ0aW9ucygrKSwgMzE3IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IGFyY2gvcmlzY3YvY29uZmlncy82NGlscDMyLmNvbmZpZwogZGVsZXRlIG1vZGUgMTAwNjQ0 IGFyY2gvcmlzY3Yva2VybmVsL2NvbXBhdF92ZHNvLy5naXRpZ25vcmUKIGRlbGV0ZSBtb2RlIDEw MDY0NCBhcmNoL3Jpc2N2L2tlcm5lbC9jb21wYXRfdmRzby9jb21wYXRfdmRzby5TCiBkZWxldGUg bW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9rZXJuZWwvY29tcGF0X3Zkc28vY29tcGF0X3Zkc28ubGRz LlMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBhcmNoL3Jpc2N2L2tlcm5lbC9jb21wYXRfdmRzby9mbHVz aF9pY2FjaGUuUwogZGVsZXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3Yva2VybmVsL2NvbXBhdF92 ZHNvL2dldGNwdS5TCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9rZXJuZWwvY29tcGF0 X3Zkc28vbm90ZS5TCiBkZWxldGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9rZXJuZWwvY29tcGF0 X3Zkc28vcnRfc2lncmV0dXJuLlMKIHJlbmFtZSBhcmNoL3Jpc2N2L2tlcm5lbC92ZHNvL3tnZW5f dmRzb19vZmZzZXRzLnNoID0+IGdlbl92ZHNvMzJfb2Zmc2V0cy5zaH0gKDc4JSkKIHJlbmFtZSBh cmNoL3Jpc2N2L2tlcm5lbC97Y29tcGF0X3Zkc28vZ2VuX2NvbXBhdF92ZHNvX29mZnNldHMuc2gg PT4gdmRzby9nZW5fdmRzbzY0X29mZnNldHMuc2h9ICg3NyUpCiBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9yaXNjdi9rZXJuZWwvdmRzbzMyLlMKIHJlbmFtZSBhcmNoL3Jpc2N2L2tlcm5lbC97dmRz by92ZHNvLlMgPT4gdmRzbzY0LlN9ICg3MyUpCgotLSAKMi4zNi4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0 CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=