From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id aMduJY9eXGdEiRUAWB0awg (envelope-from ) for ; Fri, 13 Dec 2024 11:19:27 -0500 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=lJuX4ppt; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 9651B1E097; Fri, 13 Dec 2024 11:19:27 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable autolearn_force=no version=4.0.0 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id E468D1E091 for ; Fri, 13 Dec 2024 11:19:26 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id AE9D7385843F for ; Fri, 13 Dec 2024 16:19:26 +0000 (GMT) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by sourceware.org (Postfix) with ESMTPS id 93E8B3857705 for ; Fri, 13 Dec 2024 16:01:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 93E8B3857705 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 93E8B3857705 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.198.163.16 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734105685; cv=none; b=cNX/3gHbTbFMYh/zvcPBpYiDSAY1C0cTFAZlhTpAarS7/K6NRrri5w4YtkqYow/AbWsogFejAxfTByGObCKCvAoR/i3iC5hlY1p7JZfjLzNZkCLM1InZKmL5XHtxWlgxY98+QWNx5JJRBbVlHx822S8OZj5CgWt7vcIzECUi03c= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1734105685; c=relaxed/simple; bh=1oR1ERdOP+CEDgAJuvNfVifE/qSxVbohoj/LWmL31rI=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=ba/ZrdJLlUUQb8JgoPKIy9ktBvyEfL6MJsGsLq5Ls9mEZ0IJupklcSRKvGatf31pl8RFiiCNdTSqx8/WS6v+10+NLYRZsvHE3O4tOsztT4TQ1GYNVV2gOnrKErO4vWN9oRVv2GRPD399JDFA751cKjwX/5l7+N6Tly9V0bJ9toQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 93E8B3857705 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=lJuX4ppt DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1734105685; x=1765641685; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=1oR1ERdOP+CEDgAJuvNfVifE/qSxVbohoj/LWmL31rI=; b=lJuX4ppt7aZBHyKiqutugTDjkEldXa+AfktvvEsRU/uze4nk1ncpE53u k8iLYCnb4kEaFcVisJiKg0oDx6Sjig6UHoJYH8b/qxHPHq7jbe+UXc8Fa 5bbTOEFkoX1cIzn36e4OPu65P9CEPLgDKInS6R+V425Hy6dEi2x7vORc4 io/ayEY5se9hFtJxX+eOO6w8bF/k8CGvaFYBRqoI4PPZacdppr2hgralV UcTp3lkO9MUeOUwBnpxHu8Q9LKgu1ymMPdFIblAS77XfYBpWYpTUoDl6m dyBjFPQy74l/47wEmewUKj1xW/mS9rHyoTCQKXZ3cdJhp3oFT8po67r4Q A==; X-CSE-ConnectionGUID: uLanpiH5QNSYdU4JY2O2Rg== X-CSE-MsgGUID: NqlySLZTSp2ZaXrmIh9rKA== X-IronPort-AV: E=McAfee;i="6700,10204,11285"; a="22149459" X-IronPort-AV: E=Sophos;i="6.12,231,1728975600"; d="scan'208";a="22149459" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2024 08:01:23 -0800 X-CSE-ConnectionGUID: 8qCETFXCQ3CUsVRSa0ygjQ== X-CSE-MsgGUID: Gj2MmNmfRi6bSzxRPkQTxw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,231,1728975600"; d="scan'208";a="101411905" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmviesa004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Dec 2024 08:01:18 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org, Markus Metzger Subject: [PATCH v2 05/47] gdb, arch, intelgt: add intelgt arch definitions Date: Fri, 13 Dec 2024 16:59:22 +0100 Message-Id: <20241213-upstream-intelgt-mvp-v2-5-5c4caeb7b33d@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241213-upstream-intelgt-mvp-v2-0-5c4caeb7b33d@intel.com> References: <20241213-upstream-intelgt-mvp-v2-0-5c4caeb7b33d@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.14.2 Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org RnJvbTogTWFya3VzIE1ldHpnZXIgPG1hcmt1cy50Lm1ldHpnZXJAaW50ZWwuY29tPgoKUHJvdmlk ZSBJbnRlbCBHVCBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgZGVmaW5pdGlvbnMgdGhhdCBjYW4gYmUg dXNlZCBieQpib3RoIHRoZSBsb3cgdGFyZ2V0IGF0IHRoZSBzZXJ2ZXIgc2lkZSBhbmQgdGRlcCBh dCB0aGUgR0RCIHNpZGUuCgpPdGhlciB0aGFuLCBmb3IgZXhhbXBsZSwgSUEsIEludGVsIEdUIGRv ZXMgbm90IGhhdmUgYSBkZWRpY2F0ZWQKYnJlYWtwb2ludCBpbnN0cnVjdGlvbi4gIEluc3RlYWQs IGl0IGhhcyBhIGJyZWFrcG9pbnQgYml0IGluIGVhY2gKaW5zdHJ1Y3Rpb24uICBXZSBkZWZpbmUg YXJjaCBtZXRob2RzIGZvciBkZWFsaW5nIHdpdGggaW5zdHJ1Y3Rpb24KYnJlYWtwb2ludCBiaXRz LgoKQ28tYXV0aG9yZWQtYnk6IFRhbmt1dCBCYXJpcyBBa3RlbXVyIDx0YW5rdXQuYmFyaXMuYWt0 ZW11ckBpbnRlbC5jb20+CkNvLWF1dGhvcmVkLWJ5OiBNaWhhaWxzIFN0cmFzdW5zIDxtaWhhaWxz LnN0cmFzdW5zQGludGVsLmNvbT4KQ28tYXV0aG9yZWQtYnk6IE5hdGFsaWEgU2FpYXBvdmEgPG5h dGFsaWEuc2FpYXBvdmFAaW50ZWwuY29tPgotLS0KIGdkYi9NYWtlZmlsZS5pbiAgICB8ICAgMSAr CiBnZGIvYXJjaC9pbnRlbGd0LmMgfCAgNzcgKysrKysrKysrKysrKysrKysrKysrKysKIGdkYi9h cmNoL2ludGVsZ3QuaCB8IDE3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyNTMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgppbmRleCA1Mjk1MDc1 OTcxMWFmMTM5ZjE4ZTk2M2IxM2ZlZjdlNzBhNWZjNmUwLi44MmUwMzVmYTAyYTI5ZWMwNzNjM2E5 MDkzOTdhY2E3NWQ4MmU0YTg5IDEwMDY0NAotLS0gYS9nZGIvTWFrZWZpbGUuaW4KKysrIGIvZ2Ri L01ha2VmaWxlLmluCkBAIC03NTEsNiArNzUxLDcgQEAgQUxMXzY0X1RBUkdFVF9PQlMgPSBcCiAJ YXJjaC9hYXJjaDY0LXNjYWxhYmxlLWxpbnV4Lm8gXAogCWFyY2gvYW1kNjQtbGludXgtdGRlc2Mu byBcCiAJYXJjaC9hbWQ2NC5vIFwKKwlhcmNoL2ludGVsZ3QubyBcCiAJYXJjaC9yaXNjdi5vIFwK IAlicGYtdGRlcC5vIFwKIAlpYTY0LWxpbnV4LXRkZXAubyBcCmRpZmYgLS1naXQgYS9nZGIvYXJj aC9pbnRlbGd0LmMgYi9nZGIvYXJjaC9pbnRlbGd0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODlhMTliYWVhODQy OGMxNDc5ZDFlNDNkZTY3NmE0ZjBkZmIwMTk1MgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi9hcmNo L2ludGVsZ3QuYwpAQCAtMCwwICsxLDc3IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyNCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R0RCLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSAiaW50ZWxn dC5oIgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCituYW1lc3BhY2UgaW50ZWxndCB7CisKKy8qIEdl dCB0aGUgYml0IGF0IFBPUyBpbiBJTlNULiAgKi8KKworYm9vbAorZ2V0X2luc3RfYml0IChnZGI6 OmFycmF5X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+IGluc3QsIGludCBwb3MpCit7CisgIGlmIChwb3Mg PCAwIHx8IChpbnN0LnNpemUgKCkgKiA4KSA8PSBwb3MpCisgICAgaW50ZXJuYWxfZXJyb3IgKF8o ImJhZCBiaXQgb2Zmc2V0OiAlZCIpLCBwb3MpOworCisgIGNvbnN0IGludCBpZHggPSBwb3MgPj4g MzsKKyAgY29uc3QgaW50IG9mZiA9IHBvcyAmIDc7CisgIGNvbnN0IGludCBtYXNrID0gMSA8PCBv ZmY7CisgIGNvbnN0IGdkYl9ieXRlIGJ5dGUgPSBpbnN0W2lkeF07CisKKyAgcmV0dXJuIChieXRl ICYgbWFzaykgIT0gMDsKK30KKworLyogU2V0IHRoZSBiaXQgYXQgUE9TIGluIElOU1QuICAqLwor Citib29sCitzZXRfaW5zdF9iaXQgKGdkYjo6YXJyYXlfdmlldzxnZGJfYnl0ZT4gaW5zdCwgaW50 IHBvcykKK3sKKyAgaWYgKHBvcyA8IDAgfHwgKGluc3Quc2l6ZSAoKSAqIDgpIDw9IHBvcykKKyAg ICBpbnRlcm5hbF9lcnJvciAoXygiYmFkIGJpdCBvZmZzZXQ6ICVkIiksIHBvcyk7CisKKyAgY29u c3QgaW50IGlkeCA9IHBvcyA+PiAzOworICBjb25zdCBpbnQgb2ZmID0gcG9zICYgNzsKKyAgY29u c3QgaW50IG1hc2sgPSAxIDw8IG9mZjsKKyAgY29uc3QgZ2RiX2J5dGUgYnl0ZSA9IGluc3RbaWR4 XTsKKworICBjb25zdCBib29sIG9sZCA9IChieXRlICYgbWFzaykgIT0gMDsKKyAgaW5zdFtpZHhd IHw9IG1hc2s7CisKKyAgcmV0dXJuIG9sZDsKK30KKworLyogQ2xlYXIgdGhlIGJpdCBhdCBQT1Mg aW4gSU5TVC4gICovCisKK2Jvb2wKK2NsZWFyX2luc3RfYml0IChnZGI6OmFycmF5X3ZpZXc8Z2Ri X2J5dGU+IGluc3QsIGludCBwb3MpCit7CisgIGlmIChwb3MgPCAwIHx8IChpbnN0LnNpemUgKCkg KiA4KSA8PSBwb3MpCisgICAgaW50ZXJuYWxfZXJyb3IgKF8oImJhZCBiaXQgb2Zmc2V0OiAlZCIp LCBwb3MpOworCisgIGNvbnN0IGludCBpZHggPSBwb3MgPj4gMzsKKyAgY29uc3QgaW50IG9mZiA9 IHBvcyAmIDc7CisgIGNvbnN0IGludCBtYXNrID0gMSA8PCBvZmY7CisgIGNvbnN0IGdkYl9ieXRl IGJ5dGUgPSBpbnN0W2lkeF07CisKKyAgY29uc3QgYm9vbCBvbGQgPSAoYnl0ZSAmIG1hc2spICE9 IDA7CisgIGluc3RbaWR4XSAmPSB+bWFzazsKKworICByZXR1cm4gb2xkOworfQorCit9IC8qIG5h bWVzcGFjZSBpbnRlbGd0ICovCmRpZmYgLS1naXQgYS9nZGIvYXJjaC9pbnRlbGd0LmggYi9nZGIv YXJjaC9pbnRlbGd0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzhlODkwNTNhOWIyMmUyNmMzNzA1MjU3NThmOGRh N2YzNzkwZjZiYgotLS0gL2Rldi9udWxsCisrKyBiL2dkYi9hcmNoL2ludGVsZ3QuaApAQCAtMCww ICsxLDE3NSBAQAorLyogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KKworICAgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2lmbmRlZiBBUkNIX0lOVEVMR1RfSAorI2RlZmluZSBB UkNIX0lOVEVMR1RfSAorCisjaW5jbHVkZSAiZ2Ric3VwcG9ydC90ZGVzYy5oIgorI2luY2x1ZGUg PHN0cmluZz4KKyNpbmNsdWRlIDx2ZWN0b3I+CisKK25hbWVzcGFjZSBpbnRlbGd0IHsKKworLyog VmFyaW91cyBhcmNoIGNvbnN0YW50cy4gICovCisKK2VudW0gYnJlYWtwb2ludF9raW5kCit7Cisg IEJQX0lOU1RSVUNUSU9OID0gMSwKK307CisKKy8qIFRoZSBsZW5ndGggb2YgYSBmdWxsIGFuZCBj b21wYWN0IEludGVsR1QgaW5zdHJ1Y3Rpb24gaW4gYnl0ZXMuICAqLworCitjb25zdGV4cHIgaW50 IE1BWF9JTlNUX0xFTkdUSCA9IDE2OworY29uc3RleHByIGludCBDT01QQUNUX0lOU1RfTEVOR1RI ID0gODsKKworLyogRmVhdHVyZSBuYW1lcy4KKworICAgVGhleSBjb3JyZXNwb25kIHRvIHJlZ2lz dGVyIHNldHMgZGVmaW5lZCBpbiB6ZXRfaW50ZWxfZ3B1X2RlYnVnLmguICBXZQorICAgZGVjbGFy ZSBmZWF0dXJlIG5hbWVzIGluIHRoZSBvcmRlciB1c2VkIGluIHRoYXQgaGVhZGVyLgorCisgICBU aGUgU0JBIHJlZ2lzdGVyIHNldCBjb25zaXN0cyBvZiBhIHNldCBvZiBiYXNlIHJlZ2lzdGVycyBp biB0aGUgb3JkZXIKKyAgIGRlZmluZWQgaW4gdGhhdCBoZWFkZXIgZmlsZS4KKworICAgTm90IGFs bCByZWdpc3RlcnMgaGF2ZSBEV0FSRiBudW1iZXJzLiAgU2VlIERXQVJGX1JFR1NFVFMgYmVsb3cg Zm9yIGEKKyAgIGxpc3Qgb2YgZmVhdHVyZXMgdGhhdCBkby4gICovCitjb25zdGV4cHIgY29uc3Qg Y2hhciAqRkVBVFVSRV9HUkYgPSAib3JnLmdudS5nZGIuaW50ZWxndC5ncmYiOworY29uc3RleHBy IGNvbnN0IGNoYXIgKkZFQVRVUkVfQUREUiA9ICJvcmcuZ251LmdkYi5pbnRlbGd0LmFkZHIiOwor Y29uc3RleHByIGNvbnN0IGNoYXIgKkZFQVRVUkVfRkxBRyA9ICJvcmcuZ251LmdkYi5pbnRlbGd0 LmZsYWciOworY29uc3RleHByIGNvbnN0IGNoYXIgKkZFQVRVUkVfQ0UgPSAib3JnLmdudS5nZGIu aW50ZWxndC5jZSI7Citjb25zdGV4cHIgY29uc3QgY2hhciAqRkVBVFVSRV9TUiA9ICJvcmcuZ251 LmdkYi5pbnRlbGd0LnNyIjsKK2NvbnN0ZXhwciBjb25zdCBjaGFyICpGRUFUVVJFX0NSID0gIm9y Zy5nbnUuZ2RiLmludGVsZ3QuY3IiOworY29uc3RleHByIGNvbnN0IGNoYXIgKkZFQVRVUkVfVERS ID0gIm9yZy5nbnUuZ2RiLmludGVsZ3QudGRyIjsKK2NvbnN0ZXhwciBjb25zdCBjaGFyICpGRUFU VVJFX0FDQyA9ICJvcmcuZ251LmdkYi5pbnRlbGd0LmFjYyI7Citjb25zdGV4cHIgY29uc3QgY2hh ciAqRkVBVFVSRV9NTUUgPSAib3JnLmdudS5nZGIuaW50ZWxndC5tbWUiOworY29uc3RleHByIGNv bnN0IGNoYXIgKkZFQVRVUkVfU1AgPSAib3JnLmdudS5nZGIuaW50ZWxndC5zcCI7Citjb25zdGV4 cHIgY29uc3QgY2hhciAqRkVBVFVSRV9TQkEgPSAib3JnLmdudS5nZGIuaW50ZWxndC5zYmEiOwor Y29uc3RleHByIGNvbnN0IGNoYXIgKkZFQVRVUkVfREJHID0gIm9yZy5nbnUuZ2RiLmludGVsZ3Qu ZGJnIjsKK2NvbnN0ZXhwciBjb25zdCBjaGFyICpGRUFUVVJFX0ZDID0gIm9yZy5nbnUuZ2RiLmlu dGVsZ3QuZmMiOworY29uc3RleHByIGNvbnN0IGNoYXIgKkZFQVRVUkVfREVCVUdHRVIgPSAib3Jn LmdudS5nZGIuaW50ZWxndC5kZWJ1Z2dlciI7CisKKy8qIFJlZ2lzdGVyIHNldHMvZ3JvdXBzIG5l ZWRlZCBmb3IgRFdBUkYgbWFwcGluZy4gIFVzZWQgZm9yCisgICBkZWNsYXJpbmcgc3RhdGljIGFy cmF5cyBmb3IgdmFyaW91cyBtYXBwaW5nIHRhYmxlcy4gICovCisKK2VudW0gZHdhcmZfcmVnc2V0 cyA6IGludAoreworICBSRUdTRVRfU0JBID0gMCwKKyAgUkVHU0VUX0dSRiwKKyAgUkVHU0VUX0FE RFIsCisgIFJFR1NFVF9GTEFHLAorICBSRUdTRVRfQUNDLAorICBSRUdTRVRfTU1FLAorICBSRUdT RVRfQ09VTlQKK307CisKKy8qIE1hcCBvZiBkd2FyZl9yZWdzZXQgdmFsdWVzIHRvIHRoZSB0YXJn ZXQgZGVzY3JpcHRpb24KKyAgIGZlYXR1cmUgbmFtZXMuICAqLworCitjb25zdGV4cHIgY29uc3Qg Y2hhciAqRFdBUkZfUkVHU0VUX0ZFQVRVUkVTW1JFR1NFVF9DT1VOVF0gPSB7CisgIEZFQVRVUkVf U0JBLAorICBGRUFUVVJFX0dSRiwKKyAgRkVBVFVSRV9BRERSLAorICBGRUFUVVJFX0ZMQUcsCisg IEZFQVRVUkVfQUNDLAorICBGRUFUVVJFX01NRQorfTsKKworLyogSW5zdHJ1Y3Rpb24gZGV0YWls cy4gICovCisKK2VudW0KK3sKKyAgLyogVGhlIG9wY29kZSBtYXNrIGZvciBiaXRzIDY6MC4gICov CisgIE9QQ19NQVNLID0gMHg3ZiwKKworICAvKiBTZW5kIGluc3RydWN0aW9uIG9wY29kZXMuICAq LworICBPUENfU0VORCA9IDB4MzEsCisgIE9QQ19TRU5EQyA9IDB4MzIsCit9OworCisvKiBTZWxl Y3RlZCBpbnN0cnVjdGlvbiBjb250cm9sIGJpdCBwb3NpdGlvbnMuICAqLworCitlbnVtCit7Cisg IC8qIFRoZSBFbmQgT2YgVGhyZWFkIGNvbnRyb2wuICBPbmx5IHVzZWQgZm9yIFNFTkQgYW5kIFNF TkRDLiAgKi8KKyAgQ1RSTF9FT1QgPSAzNCwKK307CisKKy8qIEdldCB0aGUgYml0IGF0IFBPUyBp biBJTlNULiAgKi8KKworYm9vbCBnZXRfaW5zdF9iaXQgKGdkYjo6YXJyYXlfdmlldzxjb25zdCBn ZGJfYnl0ZT4gaW5zdCwgaW50IHBvcyk7CisKKy8qIFNldCB0aGUgYml0IGF0IFBPUyBpbiBJTlNU LiAgKi8KKworYm9vbCBzZXRfaW5zdF9iaXQgKGdkYjo6YXJyYXlfdmlldzxnZGJfYnl0ZT4gaW5z dCwgaW50IHBvcyk7CisKKy8qIENsZWFyIHRoZSBiaXQgYXQgUE9TIGluIElOU1QuICAqLworCiti b29sIGNsZWFyX2luc3RfYml0IChnZGI6OmFycmF5X3ZpZXc8Z2RiX2J5dGU+IGluc3QsIGludCBw b3MpOworCitzdGF0aWMgaW5saW5lIGJvb2wKK2lzX2NvbXBhY3RlZF9pbnN0IChnZGI6OmFycmF5 X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+IGluc3QpCit7CisgIC8qIENoZWNrIHRoZSBDbXB0Q3RybCBm bGFnIChiaXQgMjkpLiAgKi8KKyAgcmV0dXJuIGluc3RbM10gJiAweDIwOworfQorCitzdGF0aWMg aW5saW5lIGludAorYnJlYWtwb2ludF9iaXRfb2Zmc2V0IChnZGI6OmFycmF5X3ZpZXc8Y29uc3Qg Z2RiX2J5dGU+IGluc3QpCit7CisgIHJldHVybiAoaXNfY29tcGFjdGVkX2luc3QgKGluc3QpID8g NyA6IDMwKTsKK30KKworc3RhdGljIGlubGluZSBib29sCitzZXRfYnJlYWtwb2ludCAoZ2RiOjph cnJheV92aWV3PGdkYl9ieXRlPiBpbnN0KQoreworICByZXR1cm4gc2V0X2luc3RfYml0IChpbnN0 LCBicmVha3BvaW50X2JpdF9vZmZzZXQgKGluc3QpKTsKK30KKworc3RhdGljIGlubGluZSBib29s CitjbGVhcl9icmVha3BvaW50IChnZGI6OmFycmF5X3ZpZXc8Z2RiX2J5dGU+IGluc3QpCit7Cisg IHJldHVybiBjbGVhcl9pbnN0X2JpdCAoaW5zdCwgYnJlYWtwb2ludF9iaXRfb2Zmc2V0IChpbnN0 KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbAoraGFzX2JyZWFrcG9pbnQgKGdkYjo6YXJyYXlf dmlldzxjb25zdCBnZGJfYnl0ZT4gaW5zdCkKK3sKKyAgcmV0dXJuIGdldF9pbnN0X2JpdCAoaW5z dCwgYnJlYWtwb2ludF9iaXRfb2Zmc2V0IChpbnN0KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5z aWduZWQgaW50CitpbnN0X2xlbmd0aF9jb21wYWN0ZWQgKCkKK3sKKyAgcmV0dXJuIENPTVBBQ1Rf SU5TVF9MRU5HVEg7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50CitpbnN0X2xlbmd0 aF9mdWxsICgpCit7CisgIHJldHVybiBNQVhfSU5TVF9MRU5HVEg7Cit9CisKK3N0YXRpYyBpbmxp bmUgdW5zaWduZWQgaW50CitpbnN0X2xlbmd0aCAoZ2RiOjphcnJheV92aWV3PGNvbnN0IGdkYl9i eXRlPiBpbnN0KQoreworICByZXR1cm4gKGlzX2NvbXBhY3RlZF9pbnN0IChpbnN0KQorCSAgPyBp bnN0X2xlbmd0aF9jb21wYWN0ZWQgKCkKKwkgIDogaW5zdF9sZW5ndGhfZnVsbCAoKSk7Cit9CisK K30gLyogbmFtZXNwYWNlIGludGVsZ3QgKi8KKworI2VuZGlmCgotLSAKMi4zNC4xCgpJbnRlbCBE ZXV0c2NobGFuZCBHbWJIDQpSZWdpc3RlcmVkIEFkZHJlc3M6IEFtIENhbXBlb24gMTAsIDg1NTc5 IE5ldWJpYmVyZywgR2VybWFueQ0KVGVsOiArNDkgODkgOTkgODg1My0wLCB3d3cuaW50ZWwuZGUN Ck1hbmFnaW5nIERpcmVjdG9yczogU2VhbiBGZW5uZWxseSwgSmVmZnJleSBTY2huZWlkZXJtYW4s IFRpZmZhbnkgRG9vbiBTaWx2YQ0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVydmlzb3J5IEJvYXJk OiBOaWNvbGUgTGF1DQpSZWdpc3RlcmVkIE9mZmljZTogTXVuaWNoDQpDb21tZXJjaWFsIFJlZ2lz dGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==