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 X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C17CFC433ED for ; Wed, 19 May 2021 20:47:00 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 382C460FE6 for ; Wed, 19 May 2021 20:47:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 382C460FE6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=patchew.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ljT5n-0003H7-8T for qemu-devel@archiver.kernel.org; Wed, 19 May 2021 16:46:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57510) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljT5C-0002aB-Gl; Wed, 19 May 2021 16:46:22 -0400 Resent-Date: Wed, 19 May 2021 16:46:22 -0400 Resent-Message-Id: Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21332) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ljT59-0000iM-B4; Wed, 19 May 2021 16:46:22 -0400 ARC-Seal: i=1; a=rsa-sha256; t=1621457155; cv=none; d=zohomail.com; s=zohoarc; b=GYbtseKsK+wgiAXx9N1sGfBFdnN1DXzhBu4Z/0NGk60jwUdYkTUVW08GsygBwATqLIFTmP/MaxgXArqkhyPoIe0V7wSF6a/zpd0DTkXf3Kjivc6CjQSzCCEWkSTPKPnBM1V2cUOBPsEhoRkc+4j8GeThVXaNUted5rPt5wSHaUk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1621457155; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:Reply-To:Subject:To; bh=1VTqfdlg0o+CyFY+G1uRB8D//GHoUasVtb5VWOYHzt4=; b=L5kQmZms3j0jMS/MHFa3xfy2P0mKSuOJXvM9oV/yGePPqMt+7nhP7bCFwMkW53aOAJFqSgmMBBUdWIQqeLY/mslHYwH0kRz1cbpaNFU7c3vxgSbMVYo0gDZ8xFmlLgYIW8K9erAAzWJScvguu+Ifoe9A5tgQVXQ4c24UpEFw05s= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass smtp.mailfrom=no-reply@patchew.org; dmarc=pass header.from= Received: from [172.17.0.3] (23.253.156.214 [23.253.156.214]) by mx.zohomail.com with SMTPS id 162145715308911.687752060337289; Wed, 19 May 2021 13:45:53 -0700 (PDT) In-Reply-To: <20210519202253.76782-1-agraf@csgraf.de> Subject: Re: [PATCH v8 00/19] hvf: Implement Apple Silicon Support Message-ID: <162145715125.22783.12874209207034977556@0addf061776e> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Resent-From: From: no-reply@patchew.org To: agraf@csgraf.de Date: Wed, 19 May 2021 13:45:53 -0700 (PDT) X-ZohoMailClient: External Received-SPF: pass client-ip=136.143.188.53; envelope-from=no-reply@patchew.org; helo=sender4-of-o53.zoho.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, ehabkost@redhat.com, pcc@google.com, richard.henderson@linaro.org, qemu-devel@nongnu.org, dirty@apple.com, r.bolshakov@yadro.com, qemu-arm@nongnu.org, lfy@google.com, pbonzini@redhat.com, philmd@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" UGF0Y2hldyBVUkw6IGh0dHBzOi8vcGF0Y2hldy5vcmcvUUVNVS8yMDIxMDUxOTIwMjI1My43Njc4 Mi0xLWFncmFmQGNzZ3JhZi5kZS8KCgoKSGksCgpUaGlzIHNlcmllcyBzZWVtcyB0byBoYXZlIHNv bWUgY29kaW5nIHN0eWxlIHByb2JsZW1zLiBTZWUgb3V0cHV0IGJlbG93IGZvcgptb3JlIGluZm9y bWF0aW9uOgoKVHlwZTogc2VyaWVzCk1lc3NhZ2UtaWQ6IDIwMjEwNTE5MjAyMjUzLjc2NzgyLTEt YWdyYWZAY3NncmFmLmRlClN1YmplY3Q6IFtQQVRDSCB2OCAwMC8xOV0gaHZmOiBJbXBsZW1lbnQg QXBwbGUgU2lsaWNvbiBTdXBwb3J0Cgo9PT0gVEVTVCBTQ1JJUFQgQkVHSU4gPT09CiMhL2Jpbi9i YXNoCmdpdCByZXYtcGFyc2UgYmFzZSA+IC9kZXYvbnVsbCB8fCBleGl0IDAKZ2l0IGNvbmZpZyAt LWxvY2FsIGRpZmYucmVuYW1lbGltaXQgMApnaXQgY29uZmlnIC0tbG9jYWwgZGlmZi5yZW5hbWVz IFRydWUKZ2l0IGNvbmZpZyAtLWxvY2FsIGRpZmYuYWxnb3JpdGhtIGhpc3RvZ3JhbQouL3Njcmlw dHMvY2hlY2twYXRjaC5wbCAtLW1haWxiYWNrIGJhc2UuLgo9PT0gVEVTVCBTQ1JJUFQgRU5EID09 PQoKVXBkYXRpbmcgM2M4Y2Y1YTljMjFmZjg3ODIxNjRkMWRlZjdmNDRiZDg4ODcxMzM4NApGcm9t IGh0dHBzOi8vZ2l0aHViLmNvbS9wYXRjaGV3LXByb2plY3QvcWVtdQogLSBbdGFnIHVwZGF0ZV0g ICAgICBwYXRjaGV3LzIwMjEwNTE5MTY1MDAyLjExOTU3NDUtMS10aXR1c3JAZ29vZ2xlLmNvbSAt PiBwYXRjaGV3LzIwMjEwNTE5MTY1MDAyLjExOTU3NDUtMS10aXR1c3JAZ29vZ2xlLmNvbQogKiBb bmV3IHRhZ10gICAgICAgICBwYXRjaGV3LzIwMjEwNTE5MjAyMjUzLjc2NzgyLTEtYWdyYWZAY3Nn cmFmLmRlIC0+IHBhdGNoZXcvMjAyMTA1MTkyMDIyNTMuNzY3ODItMS1hZ3JhZkBjc2dyYWYuZGUK U3dpdGNoZWQgdG8gYSBuZXcgYnJhbmNoICd0ZXN0JwphOTE0OTFhIGh2ZjogYXJtOiBIYW5kbGUg V2luZG93cyAxMCBTTUMgY2FsbAozZGM3NTUzIGFybTogRW5hYmxlIFdpbmRvd3MgMTAgdHJ1c3Rl ZCBTTUNDQyBib290IGNhbGwKNjVlODExNSBhcm06IEFkZCBIeXBlcnZpc29yLmZyYW1ld29yayBi dWlsZCB0YXJnZXQKMWNmYTFkMCBodmY6IGFybTogSW1wbGVtZW50IFBTQ0kgaGFuZGxpbmcKNjNl MGY2ZiBodmY6IGFybTogSW1wbGVtZW50IC1jcHUgaG9zdAozY2Y4MzNlIGFybS9odmY6IEFkZCBh IFdGSSBoYW5kbGVyCmNhMzA4OTMgaHZmOiBBZGQgQXBwbGUgU2lsaWNvbiBzdXBwb3J0CjhhNTkx YmQgaHZmOiBTaW1wbGlmeSBwb3N0IHJlc2V0L2luaXQvbG9hZHZtIGhvb2tzCjBjZDE1ZTQgaHZm OiBJbnRyb2R1Y2UgaHZmIHZjcHUgc3RydWN0CjA4NmY0MmQgaHZmOiBSZW1vdmUgaHZmLWFjY2Vs LW9wcy5oCjYzY2E3NWIgaHZmOiBNYWtlIHN5bmNocm9uaXplIGZ1bmN0aW9ucyBzdGF0aWMKNmEx MDM5MCBodmY6IFVzZSBjcHVfc3luY2hyb25pemVfc3RhdGUoKQpiMDY1NThhIGh2ZjogU3BsaXQg b3V0IGNvbW1vbiBjb2RlIG9uIHZjcHUgaW5pdCBhbmQgZGVzdHJveQpkZThhY2U2IGh2ZjogUmVt b3ZlIHVzZSBvZiBodl91dmFkZHJfdCBhbmQgaHZfZ3BhZGRyX3QKZjRiNzk0MCBodmY6IE1ha2Ug aHZmX3NldF9waHlzX21lbSgpIHN0YXRpYwo4Mzk4M2ZjIGh2ZjogTW92ZSBodmYgaW50ZXJuYWwg ZGVmaW5pdGlvbnMgaW50byBjb21tb24gaGVhZGVyCmUwMTFkYmIgaHZmOiBNb3ZlIGNwdSBmdW5j dGlvbnMgaW50byBjb21tb24gZGlyZWN0b3J5CmFjN2Q1MjIgaHZmOiBNb3ZlIHZjcHUgdGhyZWFk IGZ1bmN0aW9ucyBpbnRvIGNvbW1vbiBkaXJlY3RvcnkKNzJhYTdhZSBodmY6IE1vdmUgYXNzZXJ0 X2h2Zl9vaygpIGludG8gY29tbW9uIGRpcmVjdG9yeQoKPT09IE9VVFBVVCBCRUdJTiA9PT0KMS8x OSBDaGVja2luZyBjb21taXQgNzJhYTdhZWIwNWU3IChodmY6IE1vdmUgYXNzZXJ0X2h2Zl9vaygp IGludG8gY29tbW9uIGRpcmVjdG9yeSkKMi8xOSBDaGVja2luZyBjb21taXQgYWM3ZDUyMmUwY2Fl IChodmY6IE1vdmUgdmNwdSB0aHJlYWQgZnVuY3Rpb25zIGludG8gY29tbW9uIGRpcmVjdG9yeSkK V0FSTklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVS UyBuZWVkIHVwZGF0aW5nPwojMTc6IAoge3RhcmdldC9pMzg2ID0+IGFjY2VsfS9odmYvaHZmLWFj Y2VsLW9wcy5jIHwgMAoKdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAyMSBsaW5lcyBjaGVj a2VkCgpQYXRjaCAyLzE5IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFu eSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUg bWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCjMvMTkgQ2hlY2tpbmcg Y29tbWl0IGUwMTFkYmI0Y2M1OCAoaHZmOiBNb3ZlIGNwdSBmdW5jdGlvbnMgaW50byBjb21tb24g ZGlyZWN0b3J5KQo0LzE5IENoZWNraW5nIGNvbW1pdCA4Mzk4M2ZjOTZlNGYgKGh2ZjogTW92ZSBo dmYgaW50ZXJuYWwgZGVmaW5pdGlvbnMgaW50byBjb21tb24gaGVhZGVyKQo1LzE5IENoZWNraW5n IGNvbW1pdCBmNGI3OTQwNWJjYzUgKGh2ZjogTWFrZSBodmZfc2V0X3BoeXNfbWVtKCkgc3RhdGlj KQo2LzE5IENoZWNraW5nIGNvbW1pdCBkZThhY2U2MDMzZjEgKGh2ZjogUmVtb3ZlIHVzZSBvZiBo dl91dmFkZHJfdCBhbmQgaHZfZ3BhZGRyX3QpCjcvMTkgQ2hlY2tpbmcgY29tbWl0IGIwNjU1OGE4 MjZhNCAoaHZmOiBTcGxpdCBvdXQgY29tbW9uIGNvZGUgb24gdmNwdSBpbml0IGFuZCBkZXN0cm95 KQo4LzE5IENoZWNraW5nIGNvbW1pdCA2YTEwMzkwM2Y0MDEgKGh2ZjogVXNlIGNwdV9zeW5jaHJv bml6ZV9zdGF0ZSgpKQo5LzE5IENoZWNraW5nIGNvbW1pdCA2M2NhNzViN2M5MDQgKGh2ZjogTWFr ZSBzeW5jaHJvbml6ZSBmdW5jdGlvbnMgc3RhdGljKQoxMC8xOSBDaGVja2luZyBjb21taXQgMDg2 ZjQyZGUyNGI1IChodmY6IFJlbW92ZSBodmYtYWNjZWwtb3BzLmgpCldBUk5JTkc6IGFkZGVkLCBt b3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJTlRBSU5FUlMgbmVlZCB1cGRhdGluZz8K IzMzOiAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cgp0b3RhbDogMCBlcnJvcnMsIDEgd2Fybmlu Z3MsIDIzIGxpbmVzIGNoZWNrZWQKClBhdGNoIDEwLzE5IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxl YXNlIHJldmlldy4gIElmIGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyBy ZXBvcnQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5F UlMuCjExLzE5IENoZWNraW5nIGNvbW1pdCAwY2QxNWU0ODA3NWEgKGh2ZjogSW50cm9kdWNlIGh2 ZiB2Y3B1IHN0cnVjdCkKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzE1NDogRklM RTogdGFyZ2V0L2kzODYvaHZmL2h2Zi5jOjI2MzoKKyAgICB3dm1jcyhjcHUtPmh2Zi0+ZmQsIFZN Q1NfRU5UUllfQ1RMUywgY2FwMmN0cmwoaHZmX3N0YXRlLT5odmZfY2Fwcy0+dm14X2NhcF9lbnRy eSwKCkVSUk9SOiAiKGZvbyopIiBzaG91bGQgYmUgIihmb28gKikiCiM3Njc6IEZJTEU6IHRhcmdl dC9pMzg2L2h2Zi94ODZodmYuYzo4MzoKKyAgICBpZiAoaHZfdmNwdV93cml0ZV9mcHN0YXRlKGNw dV9zdGF0ZS0+aHZmLT5mZCwgKHZvaWQqKXhzYXZlLCA0MDk2KSkgewoKRVJST1I6ICIoZm9vKiki IHNob3VsZCBiZSAiKGZvbyAqKSIKIzg0ODogRklMRTogdGFyZ2V0L2kzODYvaHZmL3g4Nmh2Zi5j OjE2NToKKyAgICBpZiAoaHZfdmNwdV9yZWFkX2Zwc3RhdGUoY3B1X3N0YXRlLT5odmYtPmZkLCAo dm9pZCopeHNhdmUsIDQwOTYpKSB7Cgp0b3RhbDogMiBlcnJvcnMsIDEgd2FybmluZ3MsIDEwMDEg bGluZXMgY2hlY2tlZAoKUGF0Y2ggMTEvMTkgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2 aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0 aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCjEy LzE5IENoZWNraW5nIGNvbW1pdCA4YTU5MWJkNGI4NmIgKGh2ZjogU2ltcGxpZnkgcG9zdCByZXNl dC9pbml0L2xvYWR2bSBob29rcykKMTMvMTkgQ2hlY2tpbmcgY29tbWl0IGNhMzA4OTMyMWNiOSAo aHZmOiBBZGQgQXBwbGUgU2lsaWNvbiBzdXBwb3J0KQpXQVJOSU5HOiBhcmNoaXRlY3R1cmUgc3Bl Y2lmaWMgZGVmaW5lcyBzaG91bGQgYmUgYXZvaWRlZAojNTY6IEZJTEU6IGFjY2VsL2h2Zi9odmYt YWNjZWwtb3BzLmM6NjM6CisjaWZkZWYgX19hYXJjaDY0X18KCldBUk5JTkc6IGFyY2hpdGVjdHVy ZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiM2NzogRklMRTogYWNjZWwvaHZm L2h2Zi1hY2NlbC1vcHMuYzozODI6CisjaWZkZWYgX19hYXJjaDY0X18KCldBUk5JTkc6IGFyY2hp dGVjdHVyZSBzcGVjaWZpYyBkZWZpbmVzIHNob3VsZCBiZSBhdm9pZGVkCiMxMDE6IEZJTEU6IGlu Y2x1ZGUvc3lzZW11L2h2Zl9pbnQuaDoxNDoKKyNpZmRlZiBfX2FhcmNoNjRfXwoKdG90YWw6IDAg ZXJyb3JzLCAzIHdhcm5pbmdzLCA3OTYgbGluZXMgY2hlY2tlZAoKUGF0Y2ggMTMvMTkgaGFzIHN0 eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUg ZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQ QVRDSCBpbiBNQUlOVEFJTkVSUy4KMTQvMTkgQ2hlY2tpbmcgY29tbWl0IDNjZjgzM2VkZTE4MiAo YXJtL2h2ZjogQWRkIGEgV0ZJIGhhbmRsZXIpCjE1LzE5IENoZWNraW5nIGNvbW1pdCA2M2UwZjZm YjhjNjUgKGh2ZjogYXJtOiBJbXBsZW1lbnQgLWNwdSBob3N0KQpXQVJOSU5HOiBhZGRlZCwgbW92 ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1BSU5UQUlORVJTIG5lZWQgdXBkYXRpbmc/CiMx Nzk6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAx NjAgbGluZXMgY2hlY2tlZAoKUGF0Y2ggMTUvMTkgaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2Ug cmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9y dCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4K MTYvMTkgQ2hlY2tpbmcgY29tbWl0IDFjZmExZDA4Mjk2OCAoaHZmOiBhcm06IEltcGxlbWVudCBQ U0NJIGhhbmRsaW5nKQpXQVJOSU5HOiBCbG9jayBjb21tZW50cyB1c2UgYSBsZWFkaW5nIC8qIG9u IGEgc2VwYXJhdGUgbGluZQojMTI0OiBGSUxFOiB0YXJnZXQvYXJtL2h2Zi9odmYuYzo2MTg6Cisg ICAgICAgIC8qIFFFTVUgcmVzZXQgYW5kIHNodXRkb3duIGFyZSBhc3luYyByZXF1ZXN0cywgYnV0 IFBTQ0kKCnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMTcwIGxpbmVzIGNoZWNrZWQKClBh dGNoIDE2LzE5IGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFueSBvZiB0 aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUgbWFpbnRh aW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCjE3LzE5IENoZWNraW5nIGNvbW1p dCA2NWU4MTE1MWNjNTcgKGFybTogQWRkIEh5cGVydmlzb3IuZnJhbWV3b3JrIGJ1aWxkIHRhcmdl dCkKV0FSTklORzogYWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJ TkVSUyBuZWVkIHVwZGF0aW5nPwojNDE6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKdG90YWw6IDAg ZXJyb3JzLCAxIHdhcm5pbmdzLCAyMyBsaW5lcyBjaGVja2VkCgpQYXRjaCAxNy8xOSBoYXMgc3R5 bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBm YWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BB VENIIGluIE1BSU5UQUlORVJTLgoxOC8xOSBDaGVja2luZyBjb21taXQgM2RjNzU1MzE4MGZiIChh cm06IEVuYWJsZSBXaW5kb3dzIDEwIHRydXN0ZWQgU01DQ0MgYm9vdCBjYWxsKQoxOS8xOSBDaGVj a2luZyBjb21taXQgYTkxNDkxYTYxZmZjIChodmY6IGFybTogSGFuZGxlIFdpbmRvd3MgMTAgU01D IGNhbGwpCj09PSBPVVRQVVQgRU5EID09PQoKVGVzdCBjb21tYW5kIGV4aXRlZCB3aXRoIGNvZGU6 IDEKCgpUaGUgZnVsbCBsb2cgaXMgYXZhaWxhYmxlIGF0Cmh0dHA6Ly9wYXRjaGV3Lm9yZy9sb2dz LzIwMjEwNTE5MjAyMjUzLjc2NzgyLTEtYWdyYWZAY3NncmFmLmRlL3Rlc3RpbmcuY2hlY2twYXRj aC8/dHlwZT1tZXNzYWdlLgotLS0KRW1haWwgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgUGF0 Y2hldyBbaHR0cHM6Ly9wYXRjaGV3Lm9yZy9dLgpQbGVhc2Ugc2VuZCB5b3VyIGZlZWRiYWNrIHRv IHBhdGNoZXctZGV2ZWxAcmVkaGF0LmNvbQ==