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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 3EC36CCD183 for ; Thu, 16 Oct 2025 09:09:09 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1v9JyU-00049C-Sw; Thu, 16 Oct 2025 05:08:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1v9JyS-00048n-3n for grub-devel@gnu.org; Thu, 16 Oct 2025 05:08:40 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1v9JyN-000762-QI for grub-devel@gnu.org; Thu, 16 Oct 2025 05:08:39 -0400 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-4256866958bso288313f8f.1 for ; Thu, 16 Oct 2025 02:08:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1760605712; x=1761210512; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=si9MxbZkYZFoy/Ll//zla1dMLv6iyK7Gp4C6a7xOH2s=; b=Fjgd4WOzSKtSA/jOCJTJEkX/IBqTmrm9KfSllsCUL5WY6I8ehLR5RdMFYAxutfIVsm Nlw3HjC7Jnh2j/6V8OndsAx1/XXcY+Ql96phB2BJtJvoNlOBT95DgsAiPtBtwAfdu53Y vsRaTlBFSizA6CO5j/Jp1Mug9mRskQBBfyHoPfAtAXw6vKfl+kA2ZE767yWI8WUraIUA Bn2q+gFdHSfdHo4p7DCMjmPS7hsXUmzEJUp9wmOQphUqdBA8tovYeK1NV+BOGNsHDtDX t92t9fDmwYQNSR1+yadvMMyZd1ILTW2Ve2Wlrdv8TGH2rsjyn0p+VeCyOhG82Qj0uVvz 1/jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760605712; x=1761210512; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=si9MxbZkYZFoy/Ll//zla1dMLv6iyK7Gp4C6a7xOH2s=; b=KJKAhumLgvYl+b8BeLi4JB78HQryJkj3yMo7nux/2jwT7ZiMDngBn7lCuVycUVpuhe DzloWy+/rRWevLyFyqEdNmyWUZ6kof/nfSoxdzgF8FWVPsmhVz4iJqiuz9Bdd+BuiEwi 7NNP9V5XMWbVEG4VLFamHtW5csY9FIfvUJwcbwX6Veq1IDmJn73viDvoqAZe+iBn5Y6r Z0UbW4d7LISLMIouh90Ci/E1WO4bCLXnam95idTte0ozIRgJXn87pfkYGl+Wvk1O9sbl jyYf13hU82+HVztEMvW6kceZFji6vsPU4gKixApp65uh6jpoW5I7J3BNcsGJFjZ4R1IL srOw== X-Gm-Message-State: AOJu0YyM73q1RbvlIj4kbcFjmqz2uaJD/ninb0tDBU2ADbky+iCf2Eq7 eMfoAhHxQg/zRtcfO+UThQCRye9vdlc4CLhLLCv5Y7UR3zJFCNVyHVhpw+UtwVKrVQl3e9v3TL+ Nv8U2 X-Gm-Gg: ASbGnctGzTtYBbkzkpODu3F3wSY8BR8btcjRBsXNDJ3V8UQCqYcw/MQkRrKa9kq6FNs pJ0jgscxryWD7QK9DviknPO7jVX/MpExRm2Fwh4qRxDtxOJ/dNDNTClHgeiEMGiGHFgNjWd/KV6 6ft+deLFYDlzEH9XKx0FQDo8dLby7I+z5Xl3X7vPk+lkBgZu4UopY5zZF8YNRRT51fUk8Wag6mv q4ezRFvzoNlKBKPL09tIepQUFWZwVoyn6x00SuIqauXI/LBLW6jbYYxIwstzMXffB1psNLKlLNo FWzjUU4KyHuNsOa/ntRJpbza8DkHgel543oqsgThhySc6DorAQwoZxfQEzIyC80popOuNMKLopa l+5e+FOjY2M6OX/xCZkFn66XG+OarCLHjrd6gesSk+2RQCrgSMNSpm+c56gPxc/undjKsqhBogY CSVJ74CoB0LwLBRRkLuRfLtZW26Rnt0iS7b01h+ELo X-Google-Smtp-Source: AGHT+IEQa89oo2e8rDvuu7il9nG1PxgGW7EOXPl0CQ48wAaVqZh53zkQPbOP8CwPeuBFWU883tBd8w== X-Received: by 2002:a05:6000:2503:b0:425:86d1:bb02 with SMTP id ffacd0b85a97d-4266e8dab70mr21254177f8f.46.1760605711557; Thu, 16 Oct 2025 02:08:31 -0700 (PDT) Received: from localhost (111-240-155-173.dynamic-ip.hinet.net. [111.240.155.173]) by smtp.gmail.com with UTF8SMTPSA id d9443c01a7336-29099ab4788sm22598125ad.92.2025.10.16.02.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 Oct 2025 02:08:31 -0700 (PDT) To: The development of GNU GRUB Subject: [PATCH v2 01/10] Tweak autoconf/automake files to detect x86_64 features Date: Thu, 16 Oct 2025 17:08:17 +0800 Message-ID: <20251016090826.14983-2-glin@suse.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251016090826.14983-1-glin@suse.com> References: <20251016090826.14983-1-glin@suse.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=glin@suse.com; helo=mail-wr1-x429.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gary Lin via Grub-devel Reply-To: The development of GNU GRUB Cc: Gary Lin , Daniel Kiper , Vladimir 'phcoder' Serbinenko , Glenn Washburn , Michael Chang Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org VG8gZW5hYmxlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiwgdGhpcyBjb21taXQgcG9ydHMgdGhlIGZl YXR1cmUgZGV0ZWN0aW9uCmxvZ2ljIGZyb20gbGliZ2NyeXB0LiBUaGlzIGFsbG93cyB1cyB0byBj aGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMKc3BlY2lmaWMgYXNzZW1ibHkgaW5zdHJ1Y3Rp b25zLCBpbmNsdWRpbmcgU1NTRTMsIEludGVsIFNIQSBleHRlbnNpb25zLApTU0U0LjEsIEFWWCwg QVZYMiwgQVZYNTEyLCBhbmQgQk1JMi4KClRvIHNpbXBsaWZ5IHRoZSBpbml0aWFsIGltcGxlbWVu dGF0aW9uLCBzdXBwb3J0IGZvciB4ODZfNjQgZmVhdHVyZQpkZXRlY3Rpb24gaXMgY3VycmVudGx5 IGxpbWl0ZWQgdG8gdGhlIHg4Nl82NCBFRkkgdGFyZ2V0LgoKU2lnbmVkLW9mZi1ieTogR2FyeSBM aW4gPGdsaW5Ac3VzZS5jb20+ClJldmlld2VkLWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBl ckBvcmFjbGUuY29tPgotLS0KIGNvbmYvTWFrZWZpbGUuY29tbW9uIHwgICAyICsKIGNvbmZpZ3Vy ZS5hYyAgICAgICAgIHwgMjMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMjM1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9j b25mL01ha2VmaWxlLmNvbW1vbiBiL2NvbmYvTWFrZWZpbGUuY29tbW9uCmluZGV4IDRkMzhmZjAz NC4uN2VmMTcxYjJiIDEwMDY0NAotLS0gYS9jb25mL01ha2VmaWxlLmNvbW1vbgorKysgYi9jb25m L01ha2VmaWxlLmNvbW1vbgpAQCAtMjQsNiArMjQsOCBAQCBpZiBDT05EX0hBVkVfUENJCiAgIENG TEFHU19QTEFURk9STSArPSAtREdSVUJfSEFTX1BDSQogZW5kaWYKIAorQ1BQRkxBR1NfR0NSWV9B U00gPSBAQ1BQRkxBR1NfR0NSWV9BU01ACisKICMgT3RoZXIgb3B0aW9ucwogCiBDUFBGTEFHU19E RUZBVUxUID0gLURHUlVCX0ZJTEU9XCIkKHN1YnN0ICQoc3JjZGlyKS8sLCQ8KVwiCmRpZmYgLS1n aXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggMTAzNjYzOGE5Li4xZjM5MWZh OGUgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTExNDgs NiArMTE0OCwyMzkgQEAgaWYgdGVzdCAieCRncnViX2N2X2NjX2Zub19pZGVudCIgPSB4eWVzOyB0 aGVuCiAgIFRBUkdFVF9DRkxBR1M9IiRUQVJHRVRfQ0ZMQUdTIC1mbm8taWRlbnQiCiBmaQogCisj IEltcGxlbWVudGF0aW9uIG9mIHRoZSAtLWRpc2FibGUtYW1kNjQtYXMtZmVhdHVyZS1kZXRlY3Rp b24gc3dpdGNoLgorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBBTUQ2NCBhcygx KSBmZWF0dXJlIGRldGVjdGlvbl0pCitpZiB0ZXN0IHgkdGFyZ2V0X2NwdSA9PSB4eDg2XzY0IC1h IHgkcGxhdGZvcm0gPT0geGVmaTsgdGhlbgorICBDUFBGTEFHU19HQ1JZX0FTTT0iLURfX3g4Nl82 NCAtREhBVkVfQ1BVX0FSQ0hfWDg2IgorICBBQ19BUkdfRU5BQkxFKGFtZDY0LWFzLWZlYXR1cmUt ZGV0ZWN0aW9uLAorICAgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYW1kNjQtYXMtZmVhdHVy ZS1kZXRlY3Rpb25dLAorICAgICAgW0Rpc2FibGUgdGhlIGF1dG8tZGV0ZWN0aW9uIG9mIEFNRDY0 IGFzKDEpIGZlYXR1cmVzXSksCisgICAgW2FtZDY0X2FzX2ZlYXR1cmVfZGV0ZWN0aW9uPSRlbmFi bGV2YWxdLAorICAgIFthbWQ2NF9hc19mZWF0dXJlX2RldGVjdGlvbj15ZXNdKQorZWxzZQorICBD UFBGTEFHU19HQ1JZX0FTTT0KKyAgYW1kNjRfYXNfZmVhdHVyZV9kZXRlY3Rpb249bm8KK2ZpCitB Q19NU0dfUkVTVUxUKCRhbWQ2NF9hc19mZWF0dXJlX2RldGVjdGlvbikKKworIworIyBDaGVjayB3 aGV0aGVyIEdDQyBhc3NlbWJsZXIgc3VwcG9ydHMgZmVhdHVyZXMgbmVlZGVkIGZvciBsaWJnY3J5 cHQgYW1kNjQKKyMgaW1wbGVtZW50YXRpb25zCisjCitpZiB0ZXN0ICRhbWQ2NF9hc19mZWF0dXJl X2RldGVjdGlvbiA9IHllczsgdGhlbgorICBBQ19DQUNIRV9DSEVDSyhbd2hldGhlciBHQ0MgYXNz ZW1ibGVyIGlzIGNvbXBhdGlibGUgZm9yIGFtZDY0IGFzc2VtYmx5IGltcGxlbWVudGF0aW9uc10s CisgICAgW2dydWJfY3ZfZ2NjX3g4Nl9wbGF0Zm9ybV9hc19va10sCisgICAgW2lmIHRlc3QgIiR0 YXJnZXRfY3B1IiAhPSAieDg2XzY0IiA7IHRoZW4KKyAgICAgICBncnViX2N2X2djY194ODZfcGxh dGZvcm1fYXNfb2s9Im4vYSIKKyAgICAgZWxzZQorICAgICAgIGdydWJfY3ZfZ2NjX3g4Nl9wbGF0 Zm9ybV9hc19vaz1ubworICAgICAgIEFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCisg ICAgICAgW1tfX2FzbV9fKAorICAgICAgICAgICAgIC8qIFRlc3QgaWYgJy50eXBlJyBhbmQgJy5z aXplJyBhcmUgc3VwcG9ydGVkLiAgKi8KKyAgICAgICAgICAgICAvKiBUaGVzZSB3b3JrIG9ubHkg b24gRUxGIHRhcmdldHMuICovCisgICAgICAgICAgICAgIi50ZXh0XG5cdCIKKyAgICAgICAgICAg ICAiYXNtZnVuYzpcblx0IgorICAgICAgICAgICAgICIuc2l6ZSBhc21mdW5jLC4tYXNtZnVuYztc blx0IgorICAgICAgICAgICAgICIudHlwZSBhc21mdW5jLEBmdW5jdGlvbjtcblx0IgorICAgICAg ICAgICAgIC8qIFRlc3QgaWYgYXNzZW1ibGVyIGFsbG93cyB1c2Ugb2YgJy8nIGZvciBjb25zdGFu dCBkaXZpc2lvbgorICAgICAgICAgICAgICAqIChTb2xhcmlzL3g4NiBpc3N1ZSkuIElmIHByZXZp b3VzIGNvbnN0YW50IGRpdmlzaW9uIGNoZWNrCisgICAgICAgICAgICAgICogYW5kICItV2EsLS1k aXZpZGUiIHdvcmthcm91bmQgZmFpbGVkLCB0aGlzIGNhdXNlcyBhc3NlbWJseQorICAgICAgICAg ICAgICAqIHRvIGJlIGRpc2FibGUgb24gdGhpcyBtYWNoaW5lLiAqLworICAgICAgICAgICAgICAi eG9ybCBcJCgxMjM0NTY3ODkvMTIzNDU2NzgpLCAlZWJwO1xuXHQiCisgICAgICAgICApOworICAg ICAgICAgdm9pZCBhc21mdW5jKHZvaWQpO11dLCBbIGFzbWZ1bmMoKTsgXSldLAorICAgICAgIFtn cnViX2N2X2djY194ODZfcGxhdGZvcm1fYXNfb2s9eWVzXSkKKyAgICAgZmldKQorICBpZiB0ZXN0 ICIkZ3J1Yl9jdl9nY2NfeDg2X3BsYXRmb3JtX2FzX29rIiA9ICJ5ZXMiOyB0aGVuCisgICAgIyBE ZWZpbmUgX19QSUNfXyB0byBlbnN1cmUgdGhlIGFzc2VtYmx5IGNvZGUgdXNlIFBJQyBpbnN0cnVj dGlvbnMKKyAgICBDUFBGTEFHU19HQ1JZX0FTTT0iJENQUEZMQUdTX0dDUllfQVNNIC1EX19QSUNf Xz0xIC1ESEFWRV9DT01QQVRJQkxFX0dDQ19BTUQ2NF9QTEFURk9STV9BUyIKKyAgZmkKKworICAj CisgICMgQ2hlY2sgd2hldGhlciBHQ0MgYXNzZW1ibGVyIHN1cHBvcnRzIEludGVsIHN5bnRheAor ICAjCisgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIEdDQyBhc3NlbWJsZXIgaXMgY29tcGF0aWJs ZSBmb3IgSW50ZWwgc3ludGF4IGFzc2VtYmx5IGltcGxlbWVudGF0aW9uc10sCisgICAgW2dydWJf Y3ZfZ2NjX3BsYXRmb3JtX2FzX29rX2Zvcl9pbnRlbF9zeW50YXhdLAorICAgIFtpZiB0ZXN0ICIk dGFyZ2V0X2NwdSIgIT0gIng4Nl82NCIgOyB0aGVuCisgICAgICAgZ3J1Yl9jdl9nY2NfcGxhdGZv cm1fYXNfb2tfZm9yX2ludGVsX3N5bnRheD0ibi9hIgorICAgICBlbHNlCisgICAgICAgZ3J1Yl9j dl9nY2NfcGxhdGZvcm1fYXNfb2tfZm9yX2ludGVsX3N5bnRheD1ubworICAgICAgIEFDX0xJTktf SUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCisgICAgICAgW1tfX2FzbV9fKAorICAgICAgICAgICAg ICIuaW50ZWxfc3ludGF4IG5vcHJlZml4XG5cdCIKKyAgICAgICAgICAgICAiLnRleHRcblx0Igor ICAgICAgICAgICAgICJhY3Rlc3Q6XG5cdCIKKyAgICAgICAgICAgICAicHhvciB4bW0xLCB4bW03 O1xuXHQiCisgICAgICAgICAgICAgInZwZXJtMmkxMjggeW1tMiwgeW1tMywgeW1tMCwgMTtcblx0 IgorICAgICAgICAgICAgICJhZGQgZWF4LCBlYnA7XG5cdCIKKyAgICAgICAgICAgICAicm9yeCBl YXgsIGVicCwgMTtcblx0IgorICAgICAgICAgICAgICJzdWIgZWF4LCBbZXNwICsgNF07XG5cdCIK KyAgICAgICAgICAgICAiYWRkIGR3b3JkIHB0ciBbZXNwICsgZWF4XSwgMGIxMDEwMTtcblx0Igor ICAgICAgICAgICAgICIuYXR0X3N5bnRheCBwcmVmaXhcblx0IgorICAgICAgICAgKTsKKyAgICAg ICAgIHZvaWQgYWN0ZXN0KHZvaWQpO11dLCBbIGFjdGVzdCgpOyBdKV0sCisgICAgICAgW2dydWJf Y3ZfZ2NjX3BsYXRmb3JtX2FzX29rX2Zvcl9pbnRlbF9zeW50YXg9eWVzXSkKKyAgICAgZmldKQor ICBpZiB0ZXN0ICIkZ3J1Yl9jdl9nY2NfcGxhdGZvcm1fYXNfb2tfZm9yX2ludGVsX3N5bnRheCIg PSAieWVzIiA7IHRoZW4KKyAgICBDUFBGTEFHU19HQ1JZX0FTTT0iJENQUEZMQUdTX0dDUllfQVNN IC1ESEFWRV9JTlRFTF9TWU5UQVhfUExBVEZPUk1fQVMiCisgIGZpCisKKyAgIworICAjIENoZWNr IHdoZXRoZXIgR0NDIGlubGluZSBhc3NlbWJsZXIgc3VwcG9ydHMgU1NTRTMgaW5zdHJ1Y3Rpb25z CisgICMKKyAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgR0NDIGlubGluZSBhc3NlbWJsZXIgc3Vw cG9ydHMgU1NTRTMgaW5zdHJ1Y3Rpb25zXSwKKyAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9z c3NlM10sCisgICAgW2lmIHRlc3QgIiR0YXJnZXRfY3B1IiAhPSAieDg2XzY0IiA7IHRoZW4KKyAg ICAgICBncnViX2N2X2djY19pbmxpbmVfYXNtX3Nzc2UzPSJuL2EiCisgICAgIGVsc2UKKyAgICAg ICBncnViX2N2X2djY19pbmxpbmVfYXNtX3Nzc2UzPW5vCisgICAgICAgQUNfTElOS19JRkVMU0Uo W0FDX0xBTkdfUFJPR1JBTSgKKyAgICAgICBbW3N0YXRpYyB1bnNpZ25lZCBjaGFyIGJlX21hc2tb MTZdIF9fYXR0cmlidXRlX18gKChhbGlnbmVkICgxNikpKSA9CisgICAgICAgICAgIHsgMTUsIDE0 LCAxMywgMTIsIDExLCAxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwgMSwgMCB9OworICAgICAg ICAgdm9pZCBhKHZvaWQpIHsKKyAgICAgICAgICAgX19hc21fXygicHNodWZiICVbbWFza10sICUl eG1tMlxuXHQiOjpbbWFza10ibSIoKmJlX21hc2spOik7CisgICAgICAgICB9XV0sIFsgYSgpOyBd ICldLAorICAgICAgIFtncnViX2N2X2djY19pbmxpbmVfYXNtX3Nzc2UzPXllc10pCisgICAgIGZp XSkKKyAgaWYgdGVzdCAiJGdydWJfY3ZfZ2NjX2lubGluZV9hc21fc3NzZTMiID0gInllcyIgOyB0 aGVuCisgICAgQ1BQRkxBR1NfR0NSWV9BU009IiRDUFBGTEFHU19HQ1JZX0FTTSAtREhBVkVfR0ND X0lOTElORV9BU01fU1NTRTMiCisgIGZpCisKKyAgIworICAjIENoZWNrIHdoZXRoZXIgR0NDIGlu bGluZSBhc3NlbWJsZXIgc3VwcG9ydHMgU0hBIEV4dGVuc2lvbnMgaW5zdHJ1Y3Rpb25zLgorICAj CisgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIEdDQyBpbmxpbmUgYXNzZW1ibGVyIHN1cHBvcnRz IFNIQSBFeHRlbnNpb25zIGluc3RydWN0aW9uc10sCisgICAgW2dydWJfY3ZfZ2NjX2lubGluZV9h c21fc2hhZXh0XSwKKyAgICBbaWYgdGVzdCAiJHRhcmdldF9jcHUiICE9ICJ4ODZfNjQiIDsgdGhl bgorICAgICAgIGdydWJfY3ZfZ2NjX2lubGluZV9hc21fc2hhZXh0PSJuL2EiCisgICAgIGVsc2UK KyAgICAgICBncnViX2N2X2djY19pbmxpbmVfYXNtX3NoYWV4dD1ubworICAgICAgIEFDX0xJTktf SUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCisgICAgICAgW1t2b2lkIGEodm9pZCkgeworICAgICAg ICAgICBfX2FzbV9fKCJzaGExcm5kczQgXCQwLCAlJXhtbTEsICUleG1tM1xuXHQiOjo6ImNjIik7 CisgICAgICAgICAgIF9fYXNtX18oInNoYTFuZXh0ZSAlJXhtbTEsICUleG1tM1xuXHQiOjo6ImNj Iik7CisgICAgICAgICAgIF9fYXNtX18oInNoYTFtc2cxICUleG1tMSwgJSV4bW0zXG5cdCI6Ojoi Y2MiKTsKKyAgICAgICAgICAgX19hc21fXygic2hhMW1zZzIgJSV4bW0xLCAlJXhtbTNcblx0Ijo6 OiJjYyIpOworICAgICAgICAgICBfX2FzbV9fKCJzaGEyNTZybmRzMiAlJXhtbTAsICUleG1tMSwg JSV4bW0zXG5cdCI6OjoiY2MiKTsKKyAgICAgICAgICAgX19hc21fXygic2hhMjU2bXNnMSAlJXht bTEsICUleG1tM1xuXHQiOjo6ImNjIik7CisgICAgICAgICAgIF9fYXNtX18oInNoYTI1Nm1zZzIg JSV4bW0xLCAlJXhtbTNcblx0Ijo6OiJjYyIpOworICAgICAgICAgfV1dLCBbIGEoKTsgXSApXSwK KyAgICAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9zaGFleHQ9eWVzXSkKKyAgICAgZmldKQor ICBpZiB0ZXN0ICIkZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9zaGFleHQiID0gInllcyIgOyB0aGVu CisgICAgQ1BQRkxBR1NfR0NSWV9BU009IiRDUFBGTEFHU19HQ1JZX0FTTSAtREhBVkVfR0NDX0lO TElORV9BU01fU0hBRVhUIC1ERU5BQkxFX1NIQUVYVF9TVVBQT1JUIgorICBmaQorCisgICMKKyAg IyBDaGVjayB3aGV0aGVyIEdDQyBpbmxpbmUgYXNzZW1ibGVyIHN1cHBvcnRzIFNTRTQuMSBpbnN0 cnVjdGlvbnMuCisgICMKKyAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgR0NDIGlubGluZSBhc3Nl bWJsZXIgc3VwcG9ydHMgU1NFNC4xIGluc3RydWN0aW9uc10sCisgICAgW2dydWJfY3ZfZ2NjX2lu bGluZV9hc21fc3NlNDFdLAorICAgIFtpZiB0ZXN0ICIkdGFyZ2V0X2NwdSIgIT0gIng4Nl82NCIg OyB0aGVuCisgICAgICAgZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9zc2U0MT0ibi9hIgorICAgICBl bHNlCisgICAgICAgZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9zc2U0MT1ubworICAgICAgIEFDX0xJ TktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCisgICAgICAgW1t2b2lkIGEodm9pZCkgeworICAg ICAgICAgICBpbnQgaTsKKyAgICAgICAgICAgX19hc21fXygicGV4dHJkIFwkMiwgJSV4bW0wLCAl W291dF1cblx0IiA6IFtvdXRdICI9bSIgKGkpKTsKKyAgICAgICAgIH1dXSwgWyBhKCk7IF0gKV0s CisgICAgICAgW2dydWJfY3ZfZ2NjX2lubGluZV9hc21fc3NlNDE9eWVzXSkKKyAgICAgZmldKQor ICBpZiB0ZXN0ICIkZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9zc2U0MSIgPSAieWVzIiA7IHRoZW4K KyAgICBDUFBGTEFHU19HQ1JZX0FTTT0iJENQUEZMQUdTX0dDUllfQVNNIC1ESEFWRV9HQ0NfSU5M SU5FX0FTTV9TU0U0MSIKKyAgZmkKKworICAjCisgICMgQ2hlY2sgd2hldGhlciBHQ0MgaW5saW5l IGFzc2VtYmxlciBzdXBwb3J0cyBBVlggaW5zdHJ1Y3Rpb25zCisgICMKKyAgQUNfQ0FDSEVfQ0hF Q0soW3doZXRoZXIgR0NDIGlubGluZSBhc3NlbWJsZXIgc3VwcG9ydHMgQVZYIGluc3RydWN0aW9u c10sCisgICAgW2dydWJfY3ZfZ2NjX2lubGluZV9hc21fYXZ4XSwKKyAgICBbaWYgdGVzdCAiJHRh cmdldF9jcHUiICE9ICJ4ODZfNjQiIDsgdGhlbgorICAgICAgIGdydWJfY3ZfZ2NjX2lubGluZV9h c21fYXZ4PSJuL2EiCisgICAgIGVsc2UKKyAgICAgICBncnViX2N2X2djY19pbmxpbmVfYXNtX2F2 eD1ubworICAgICAgIEFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oCisgICAgICAgW1t2 b2lkIGEodm9pZCkgeworICAgICAgICAgICBfX2FzbV9fKCJ4Z2V0YnY7IHZhZXNkZWNsYXN0ICgl W21lbV0pLCUleG1tMCwlJXhtbTdcblx0Ijo6W21lbV0iciIoMCk6KTsKKyAgICAgICAgIH1dXSwg WyBhKCk7IF0gKV0sCisgICAgICAgW2dydWJfY3ZfZ2NjX2lubGluZV9hc21fYXZ4PXllc10pCisg ICAgIGZpXSkKKyAgaWYgdGVzdCAiJGdydWJfY3ZfZ2NjX2lubGluZV9hc21fYXZ4IiA9ICJ5ZXMi IDsgdGhlbgorICAgIENQUEZMQUdTX0dDUllfQVNNPSIkQ1BQRkxBR1NfR0NSWV9BU00gLURIQVZF X0dDQ19JTkxJTkVfQVNNX0FWWCIKKyAgZmkKKworICAjCisgICMgQ2hlY2sgd2hldGhlciBHQ0Mg aW5saW5lIGFzc2VtYmxlciBzdXBwb3J0cyBBVlgyIGluc3RydWN0aW9ucworICAjCisgIEFDX0NB Q0hFX0NIRUNLKFt3aGV0aGVyIEdDQyBpbmxpbmUgYXNzZW1ibGVyIHN1cHBvcnRzIEFWWDIgaW5z dHJ1Y3Rpb25zXSwKKyAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9hdngyXSwKKyAgICBbaWYg dGVzdCAiJHRhcmdldF9jcHUiICE9ICJ4ODZfNjQiIDsgdGhlbgorICAgICAgIGdydWJfY3ZfZ2Nj X2lubGluZV9hc21fYXZ4Mj0ibi9hIgorICAgICBlbHNlCisgICAgICAgZ3J1Yl9jdl9nY2NfaW5s aW5lX2FzbV9hdngyPW5vCisgICAgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTSgK KyAgICAgICBbW3ZvaWQgYSh2b2lkKSB7CisgICAgICAgICAgIF9fYXNtX18oInhnZXRidjsgdnBi cm9hZGNhc3RiICUleG1tNywlJXltbTFcblx0Ijo6OiJjYyIpOworICAgICAgICAgfV1dLCBbIGEo KTsgXSApXSwKKyAgICAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9hdngyPXllc10pCisgICAg IGZpXSkKKyAgaWYgdGVzdCAiJGdydWJfY3ZfZ2NjX2lubGluZV9hc21fYXZ4MiIgPSAieWVzIiA7 IHRoZW4KKyAgICBDUFBGTEFHU19HQ1JZX0FTTT0iJENQUEZMQUdTX0dDUllfQVNNIC1ESEFWRV9H Q0NfSU5MSU5FX0FTTV9BVlgyIgorICBmaQorCisgICMKKyAgIyBDaGVjayB3aGV0aGVyIEdDQyBp bmxpbmUgYXNzZW1ibGVyIHN1cHBvcnRzIEFWWDUxMiBpbnN0cnVjdGlvbnMKKyAgIworICBBQ19D QUNIRV9DSEVDSyhbd2hldGhlciBHQ0MgaW5saW5lIGFzc2VtYmxlciBzdXBwb3J0cyBBVlg1MTIg aW5zdHJ1Y3Rpb25zXSwKKyAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9hdng1MTJdLAorICAg IFtpZiB0ZXN0ICIkdGFyZ2V0X2NwdSIgIT0gIng4Nl82NCIgOyB0aGVuCisgICAgICAgZ3J1Yl9j dl9nY2NfaW5saW5lX2FzbV9hdng1MTI9Im4vYSIKKyAgICAgZWxzZQorICAgICAgIGdydWJfY3Zf Z2NjX2lubGluZV9hc21fYXZ4NTEyPW5vCisgICAgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdf UFJPR1JBTSgKKyAgICAgICBbW3ZvaWQgYSh2b2lkKSB7CisgICAgICAgICAgIF9fYXNtX18oInhn ZXRidjsgdnBvcGNudHEgJSV6bW03LCAlJXptbTEleyUlazElfSV7eiV9O1xuXHQiOjo6ImNjIik7 CisgICAgICAgICAgIF9fYXNtX18oInZwZXhwYW5kYiAlJXptbTMsICUlem1tMTtcblx0Ijo6OiJj YyIpOworICAgICAgICAgICBfX2FzbV9fKCJ2cHhvcnEgJSV4bW03LCAlJXhtbTcsICUleG1tNztc blx0Ijo6OiJjYyIpOworICAgICAgICAgICBfX2FzbV9fKCJ2cHhvcnEgJSV5bW03LCAlJXltbTcs ICUleW1tNztcblx0Ijo6OiJjYyIpOworICAgICAgICAgICBfX2FzbV9fKCJ2cHhvcnEgKCUlZWF4 KSV7MXRvOCV9LCAlJXptbTcsICUlem1tNztcblx0Ijo6OiJjYyIpOworICAgICAgICAgfV1dLCBb IGEoKTsgXSApXSwKKyAgICAgICBbZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9hdng1MTI9eWVzXSkK KyAgICAgZmldKQorICBpZiB0ZXN0ICIkZ3J1Yl9jdl9nY2NfaW5saW5lX2FzbV9hdng1MTIiID0g InllcyIgOyB0aGVuCisgICAgQ1BQRkxBR1NfR0NSWV9BU009IiRDUFBGTEFHU19HQ1JZX0FTTSAt REhBVkVfR0NDX0lOTElORV9BU01fQVZYNTEyIgorICBmaQorCisgICMKKyAgIyBDaGVjayB3aGV0 aGVyIEdDQyBpbmxpbmUgYXNzZW1ibGVyIHN1cHBvcnRzIEJNSTIgaW5zdHJ1Y3Rpb25zCisgICMK KyAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgR0NDIGlubGluZSBhc3NlbWJsZXIgc3VwcG9ydHMg Qk1JMiBpbnN0cnVjdGlvbnNdLAorICAgIFtncnViX2N2X2djY19pbmxpbmVfYXNtX2JtaTJdLAor ICAgIFtpZiB0ZXN0ICIkdGFyZ2V0X2NwdSIgIT0gIng4Nl82NCIgOyB0aGVuCisgICAgICAgZ3J1 Yl9jdl9nY2NfaW5saW5lX2FzbV9ibWkyPSJuL2EiCisgICAgIGVsc2UKKyAgICAgICBncnViX2N2 X2djY19pbmxpbmVfYXNtX2JtaTI9bm8KKyAgICAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19Q Uk9HUkFNKAorICAgICAgIFtbdW5zaWduZWQgaW50IGEodW5zaWduZWQgaW50IHgsIHVuc2lnbmVk IGludCB5KSB7CisgICAgICAgICAgIHVuc2lnbmVkIGludCB0bXAxLCB0bXAyOworICAgICAgICAg ICBhc20gKCJyb3J4bCAlMiwgJTEsICUwIgorICAgICAgICAgICAgICAgIDogIj1yIiAodG1wMSkK KyAgICAgICAgICAgICAgICA6ICJybTAiICh4KSwgIkoiICgzMiAtICgoMjMpICYgMzEpKSk7Cisg ICAgICAgICAgIGFzbSAoImFuZG5sICUyLCAlMSwgJTAiCisgICAgICAgICAgICAgICAgOiAiPXIi ICh0bXAyKQorICAgICAgICAgICAgICAgIDogInIwIiAoeCksICJybSIgKHkpKTsKKyAgICAgICAg ICAgcmV0dXJuIHRtcDEgKyB0bXAyOworICAgICAgICAgfV1dLCBbIGEoMSwgMik7IF0gKV0sCisg ICAgICAgW2dydWJfY3ZfZ2NjX2lubGluZV9hc21fYm1pMj15ZXNdKQorICAgICBmaV0pCisgIGlm IHRlc3QgIiRncnViX2N2X2djY19pbmxpbmVfYXNtX2JtaTIiID0gInllcyIgOyB0aGVuCisgICAg Q1BQRkxBR1NfR0NSWV9BU009IiRDUFBGTEFHU19HQ1JZX0FTTSAtREhBVkVfR0NDX0lOTElORV9B U01fQk1JMiIKKyAgZmkKK2ZpCisKK0FDX1NVQlNUKENQUEZMQUdTX0dDUllfQVNNKQorCiBDRkxB R1M9IiRUQVJHRVRfQ0ZMQUdTIgogCiAKLS0gCjIuNTEuMAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWIt ZGV2ZWxAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnVi LWRldmVsCg==