From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id eCjqLDr4jmoF+gIAWB0awg (envelope-from ) for ; Wed, 26 Aug 2026 10:29:14 -0400 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=exdDqwfC; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id A475B1E0A3; Wed, 26 Aug 2026 10:29:14 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,LOTS_OF_MONEY, MAILING_LIST_MULTI,MONEY_NOHTML,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (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 2F7C71E033 for ; Wed, 26 Aug 2026 10:29:12 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6A9284BA79B4 for ; Wed, 26 Aug 2026 14:29:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A9284BA79B4 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=exdDqwfC Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by sourceware.org (Postfix) with ESMTPS id 3121D4BA2E39 for ; Wed, 26 Aug 2026 14:28:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3121D4BA2E39 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 3121D4BA2E39 Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=198.175.65.20 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1787754520; cv=fail; b=Giz4Eu/Jflw/QywlLWxZ5f10fuLUFEafGkiPpYeEURqpwv4ifa9UjHwUA8VVzec0Gko48YqQWvrxN41kvHJFhznWTRWyFY1LCme0dwxtEG535LO2w36r8EJODOYiww2lLi2VpbTfsuWtcVToX4UbyL0Qc7c8wwbc64IZJ3rkBws= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1787754520; c=relaxed/simple; bh=Bk8KvgHgquwtxMrKouC3WV5FVRJ1t4BehuXuRCDZV0A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=w/dWAnmYz1D7FggnpHaHwqV2hp5oMGPUxnlg1lIsWoGyuUg67J5M8Zr+m9r0HDO+xAqtbV2r0ftOSe8ULEx4cKiLUla4SE1TZp5IW/5aY2CkLXxw2ZApknvHBg69clqHFWuZqL+7so2MA/mdJbLwFWYeYk423hIkbMB6h/iE+cY= ARC-Authentication-Results: i=2; 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=exdDqwfC DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3121D4BA2E39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1787754520; x=1819290520; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=Bk8KvgHgquwtxMrKouC3WV5FVRJ1t4BehuXuRCDZV0A=; b=exdDqwfCoQtwj8INE3Fy2cQd4Cg/I/5RuO2c3Rsq3YYXdHpETWFpNwG9 5ZU50qb/F4hrOVgYYbex7v4D5R10KmH6T3wEG1leJJbgLcItHZLCjO/OP 1oq0htixj8ETOh7+ZlOVgnriylSwWOIWUIwZLdRwh58Mh9tg/5uO5JcXy FrltuDOCOcjzwtBX1YZagbgtGwhFOcnGtdcDtbrvxlCAZv4d88PlfIqJ3 sMmCIWMJqSJNIf61uVDr1H++70beGnRc05VTdXQwYj3UZzicwkGY8pAzR X6g/xof15YPo+F44ZTprp4V9cBdzYXQ7Jf/jMTGPlVE109iIaYQzNBxCB Q==; X-CSE-ConnectionGUID: GXsRVgoWRJS1VrHhH7mYMw== X-CSE-MsgGUID: TMhHVO7JSyCNC2sQv/kIXg== X-IronPort-AV: E=McAfee;i="6800,10657,11886"; a="88003301" X-IronPort-AV: E=Sophos;i="6.25,244,1779174000"; d="scan'208";a="88003301" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2026 07:28:38 -0700 X-CSE-ConnectionGUID: 50mfR8CaQriz+yRnFIHgFg== X-CSE-MsgGUID: kd0kCwqDTDmBQ0JWGYSM7g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.25,244,1779174000"; d="scan'208";a="271395757" Received: from orsmsx903.amr.corp.intel.com ([10.22.229.25]) by orviesa004.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2026 07:28:38 -0700 Received: from ORSMSX901.amr.corp.intel.com (10.22.229.23) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Wed, 26 Aug 2026 07:28:37 -0700 Received: from ORSEDG902.ED.cps.intel.com (10.7.248.12) by ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46 via Frontend Transport; Wed, 26 Aug 2026 07:28:37 -0700 Received: from CY7PR03CU001.outbound.protection.outlook.com (40.93.198.11) by edgegateway.intel.com (134.134.137.112) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Wed, 26 Aug 2026 07:28:35 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BheheWT5fzjDS/K3VVFzOKZXUoEaikm3Ia2Zy74T3B9joUZtnaR3MbASzxF3yoaX36+0dy6eXkQt0swJs11fFUz2rYhr2Ey/OhoIePzOjZDAqU84hRS69H0hX1ihTgV+df2BLrkk6FQsNeEiShQ2SQWAa5sDc5vV9Rf945u52yoSJTfVz659Vc1dWjKC3WdqFoWEe4anSjZa8KuRwzUcFT6lHT4HE6WFsKMwVtn/LW3e+HoYhTOJE/KP+xG+Uf2tBvK8uO5dDB3geh0AmsRLNoza3HpW5IPB8V5xR2B4LN9bQy6DYBYitq9AkvKJOKtl357s4EgEC4hW72b2Ekklvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uo4be5k0rP+bpLu3NXAjKatnM9uQ0tpUR3ru18uR4vU=; b=uLgb6Vd8TuWr/njzSHhjsKVI2wVLUOLkiXyeW8RNhaGXZF19GVKx4VqQXIaZXcDyjVjpEuQN352b7YDWAPvsWtMNLuv/fhMDMfzJz9h25VgxGtjkygnrULAW9dxYS8pWnZHHzd3M5WBRc7xbEUG5e6DzK4bjmeA5o1LaHAeLgMpR9mxeVVA/mh35nRlO967MHkUjHrdliUpOgcgx87P7Ew3sNtvLt02ALoq0mEL3Pv+5IuM91xqWqBs4+99SWWnNDogo25Syng7a13M5pK5iqX5+KFFUp087VFmh1Q/2X2xDybe/6FfnruYGaRFpH81ozeIuy/5CsA95QoWYq0wjFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN7PR11MB7638.namprd11.prod.outlook.com (2603:10b6:806:34b::22) by SA1PR11MB9613.namprd11.prod.outlook.com (2603:10b6:806:4c4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.360.7; Wed, 26 Aug 2026 14:28:34 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011%4]) with mapi id 15.21.0360.008; Wed, 26 Aug 2026 14:28:34 +0000 From: "Joos, Christina" To: Hannes Domani , "gdb-patches@sourceware.org" Subject: RE: [PATCH v2 7/8] Windows gdb: Implement XState (Intel AVX) support Thread-Topic: [PATCH v2 7/8] Windows gdb: Implement XState (Intel AVX) support Thread-Index: AQHdHfBSK0szeeAI20qViIe4ypQPqLawhH+g Date: Wed, 26 Aug 2026 14:28:34 +0000 Message-ID: References: <20260727174619.1089041-1-ssbssa@yahoo.de> <20260727174619.1089041-7-ssbssa@yahoo.de> In-Reply-To: <20260727174619.1089041-7-ssbssa@yahoo.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN7PR11MB7638:EE_|SA1PR11MB9613:EE_ x-ms-office365-filtering-correlation-id: 9d933a41-ad70-43d1-217f-08df037e4f67 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|366016|1800799024|10067099003|6133799003|3023799007|22082099003|18002099003|11063799006|56012099006|4143699003|38070700021; x-microsoft-antispam-message-info: AieaO5voS2UX30RlFtG6kpfJVLjdp9AsEEdLaykdnMoHX+N7INSb04D8gt/zOeLJigH90wvHL/0O7mGXqN2VRx/jCsNwoZ3cF4YjtCX82pV9f8y3JwpPMfGMNzi+dQe5ZuHHiNe+JyquR+76tcsNLLVZaKZ+LBRCr7H2DZYZ61VE3NIhfQDgYWImLT02AhqNgQmBh8yUbahGDDn1fdziMi4Z+IbebpBTfXDMD0+pG7ak4ALcGYtOALRxcoKuOlcq14Q0z5PqsWloGTi3DU9RgImytaGWoODzYCd48pRWY2olQAfHTI2/vvm6mWoI8W0/Bt8vu3ndUoWxh3T7Nu3762e/YtJD0bf40OTZBGj+u3oWzZv9TCOg/dHLlrGgbAi2eyZOUJxNLt6o6v7bC7LojnB33pfs680bmo6MC0MCUI6SU0EAjZpONjfrcRc0jXnqGnWucf6t+9V8F40Qn3vHO+PzBTmbZ1ZnfZPZMDB2NZZQhbAKwLn4PeRsbu+gjw7BuxxZIxNYYGpdGqzRg+cb7nTArnoChZ59YIPtwnEpgwewMX0/55yab8JAsLQ8QX5ruLW2/F9QTDoqof1YsCf8kiVVEBmKFzCr+3KvOyJ5m8oJu44LZp+gi+o/YoAEGj4whcqBMIBnKY9ErKAawnwW7s/oKoQeucODLJI4bT23iX0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7638.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(366016)(1800799024)(10067099003)(6133799003)(3023799007)(22082099003)(18002099003)(11063799006)(56012099006)(4143699003)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MXU5WUdQMkpNMituT3dOazl0cmtzc2hmeTUzOUNUR3FLN2xoOFN6YWkrVFVo?= =?utf-8?B?bjIyL1NjVWI3YisyaEU0QUZxQXI1UEU4MHBtK0xnbkNkUlZRS3BFOGRIK3ZQ?= =?utf-8?B?VDU5YUU4YlErL2lKQzRkT0luNUFINEpDTmlranZYUjlubUIrZkZyU21aVlZV?= =?utf-8?B?NDgzV0NGbHJKaCtVbjF2SFQ1dlVBTTJucTZzZzRaUHZRYi90S05NbVg5Zy9L?= =?utf-8?B?U2hQSmtFR1Njb0hFL0F3Q0NKQzc3NXI5azd3dDN1dWx6TkFENzZ0b2tsQ0Vh?= =?utf-8?B?VndWUzAvenJIQjFmcU1FR0xqSFNQR2ZPaFdBbzZMU0RDb043dzlVZkVYOVZW?= =?utf-8?B?a3pyRFJieUJDZ0VUUWN6RG96Rm01WkZWcHFMYlkxaUFBR1hvNkVXcituTGI4?= =?utf-8?B?cm9Ud1FiLzN1LzZkY2ltWi8wWFFwbUhOemR6VFFlb1pENFVDZmkwRTRQWEdY?= =?utf-8?B?YjV6YTNYWmptRUZ6eGJ6bVdGNXlRT2FtdkJFN1VlaURJbkhtZmROcXNoSlA4?= =?utf-8?B?VmhUNVpMYXJza210ZEtQaVJGWnMzaXMzeVpWWVZmM2tieFZTQkE5VGFoZDdD?= =?utf-8?B?QmpBeDF2Z0x2REVKWEVJUnpaK1hSWEd2Z3FCY1F0SmxZSU5CMHN1aTFzQmpS?= =?utf-8?B?NVhkVzVFT29maHlhTmNzd3h2bThzNUQ0dnBsMlcrcmk2aGdBaTkwTEFuU29k?= =?utf-8?B?bWUyYmpDUCtqdzJxazR0OUJ0NkUxMDZWcUhKdEw2K21aZCsyNW5UcmRURnpY?= =?utf-8?B?Uk1kYlljYTFsVm12OXFseTJmT3VqYm90V1ExVVJCdUkrbWkrZGFaT05aeklh?= =?utf-8?B?Mkt6Sis1dnpIMU1aVXp5Q3lsZFAxZXJYdXFVVi8vK3B1RXpaa2ZCM0d5MUNN?= =?utf-8?B?emQxZEdqMVh2YXZnRm5NMjlXNlliUmRpMmZCS1o4WHR3R1Yya1VPbG9DWlVC?= =?utf-8?B?dVZyYzV5TTFnNGdQMHlDLzFnWlZTZFg3TUFaK1JYd0UyYVQ0WTZLS1h6OGtJ?= =?utf-8?B?WkpUeStJMVhnQ1IyVFo4RjVFeEhoUUJUcUVNMGpPSGMzV1ltTithbHV3SFZX?= =?utf-8?B?dURzSXFsMjl0OWFLMEs4Titqd05mQk5ZUjIyUEZ0bDZjaHVNdUhqNjM4cVJH?= =?utf-8?B?TWd5L1JCQTFWYXVEa1dNVFRTYkw4Qy84OVB5dXdWbjFJRWczLzdjMlJ6cW9m?= =?utf-8?B?UTRNNCtxRUZicndQSGxkZTl0VjFROHVZR0lxRExCVHdLTU1La1NIR3lEV1pO?= =?utf-8?B?M3kvY054KzZlZ1o2ZmFHYkZleUdjZXJHS2lqQ053SzVLNkFyWDFpNkdPN0wr?= =?utf-8?B?clZMejRRSVBMUXJ0OTg0RER5SytkbHp2aXVwRDZES0Mwam41NTNlNzNjWUVZ?= =?utf-8?B?enY3VGFlbFZvbDQwa0xOSDJiK1pObTIvZE5RNVdEazh0aGVzMkVDdVVJYmJU?= =?utf-8?B?YU9IaDhWNkIyNi9HRHBLVGtpMWY2S3E3MVYvMDhXczAvVW54OE9EbEgyT0ow?= =?utf-8?B?QnhOWDFYZlQrTHNkS2ZEYnpnY01rTVBUOXRvVTE2UXhGOE5CVlFkY01xb3hS?= =?utf-8?B?aWhDMjhqaEhiN2puUGxWVHY0M2FScFYrNHhDbytnZmdsSVJ1U0xTS3JZMnpV?= =?utf-8?B?Y1JPdEFMTWxicmM3WUhXWTE0V2JqTzZDL0dUOWxRQ2daMzRGQ08wQ29IcHJS?= =?utf-8?B?MTZqakFDZExjczZtaHl2c0srYmN0YmUzazF3cnY2NGViYWdJWkZZYzBxcFRZ?= =?utf-8?B?UXRUaTJUVitUa3QxWU5Xbzlqa1Q1dnZCZFdLWGl0enBoa0RxS1dnS0g0Z2xm?= =?utf-8?B?bFhQU09yM3NDanlPN0JoN0o5WUJtU3dVNmIyNG03ODR6eGViKy9VblhhR2RK?= =?utf-8?B?UnJjVXY4WnpudE02aFdKQ0F2YmczOUhlTENTTVpHTy82RkNFczV6QlBVUi9l?= =?utf-8?B?OHN2TENsRmVLeFJNWE5aaGFuekdHRnFTeEdNQlJTT1JwbVBHRi9YZ2ZaVHh3?= =?utf-8?B?RFZVYS92QXNMM04vSG5SNVlZdzRvRnh0bDVwN1BQZGU3L0hTZDZVV2tnT3FQ?= =?utf-8?B?NW1vY2cvZDZ1bFlWVXovdXNteWd6Q0hjc1pIOFZmdVJCZjBMSnkwUTRRcjJl?= =?utf-8?B?emVtcmJoZ2dXV0gyN1JKQWxpWVAwVTFEdUxqajM3UGd3Vlpid3JlTzNTQkdM?= =?utf-8?B?bTJSZFRtazMwNGpYbXYxV05wcHBRMEl6RHNqa0NLajF1UmN4VlVobWFndm1X?= =?utf-8?B?ZW9qWERhMFBuRVJyNXZldUpwRVoxa3Zra20vQTQ3OXRZU1k1bmR1Y1Y5NHdE?= =?utf-8?B?SllUVjdUbXQrYXIyMFRidHhNdldaSVBIY3R4SkFHOHFGZ255WjRLZz09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: kxdJKU1LuGA7UJeJwI0RFUEeOv0dYJZ7v8i2zQUvqtZC8rT1l8L7b7eIOROuq9X/YQrPDuoR5rP+6/qXjiB0gXk4IddQuuhUGjxNFjXJ/jnH5VJlfjQBmdc3M4iDWRcFpTcOHdHl1xfp1yob21DwACNRo2zjw1MX+Lc4K909QD2T84DLQWGF/w2pPqJxB3EGkh0ix9+XtAWlJY/jQc0f4mfDeMPS1qLKt1Yfx2W2FUGTZ4jmBc7pFw74Tnu+39tRTOjDe50+oJGn01k/PKIge00O8ocodIvuXEZMPt981exx1ml3xGHIddBAOc0Tp9E8mvdBqHBzPZ7izf2Ti9WfJQ== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d933a41-ad70-43d1-217f-08df037e4f67 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2026 14:28:34.2181 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: O3EROvFPb+hvz1pR4ykjcpelGI0FqgbarwnYib6A5OllnF8qLVhQd6Tgxx2YfhMZY6EL8YKALVz+qygJa3mXfCfj3OT0H/rD2hEJB7CNSr8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB9613 X-OriginatorOrg: intel.com 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 SGkgSGFubmVzLCANCg0KVGhhbmtzIGEgbG90IGZvciB3b3JraW5nIG9uIHRoaXMuIA0KDQpJIGRp ZCBub3QgZmluZCB0aGUgdGltZSB0byB0cnkgdGhpcyBvdXQgb24gd2luZG93cyBteXNlbGYsIHNp bmNlIEkgd2FzIG5vdCBhYmxlIHRvIHdvcmsgbGFzdCB3ZWVrLg0KVGhpcyBpcyBteSBjb2RlLWJh c2VkIHJldmlldyBmb3Igbm93Lg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IEhhbm5lcyBEb21hbmkgPHNzYnNzYUB5YWhvby5kZT4NCj4gU2VudDogTW9udGFnLCAyNy4g SnVsaSAyMDI2IDE5OjQzDQo+IFRvOiBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KPiBTdWJq ZWN0OiBbUEFUQ0ggdjIgNy84XSBXaW5kb3dzIGdkYjogSW1wbGVtZW50IFhTdGF0ZSAoSW50ZWwg QVZYKSBzdXBwb3J0DQoNClRoZSBjb21taXQgbWVzc2FnZSBoZWFkZXIgc3RpbGwgc2VlbXMgc29t ZXdoYXQgbWlzbGVhZGluZywgYXMgaXQgcmVmZXJlbmNlcyBvbmx5DQpJbnRlbCBBVlgsIHdoaWxl IHRoZSBjb21taXQgYWxzbyBpbmNsdWRlcyBjaGFuZ2VzIHJlbGF0ZWQgdG8gQVZYLTUxMiBhbmQg c2hhZG93IHN0YWNrLg0KDQpJIHRoaW5rIGl0IHdvdWxkIGJlIGhlbHBmdWwgaWYgd2UnZCBhZGFw dCB0aGUgY29tbWl0IG1lc3NhZ2UgaGVhZGVyIG9mIHRoaXMgcGF0Y2ggdG8NCmluY2x1ZGUgQVZY LTUxMiwgdG9vLiANCg0KRm9yIHNoYWRvdyBzdGFjayBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vu c2UgdG8gbW92ZSB0aGlzIHRvIGEgc2VwYXJhdGUgY29tbWl0IGFuZCBnaXZlDQptb3JlIGRldGFp bHMgb24gdGhlIHRlc3RzIHRoYXQgYXJlIHBhc3NpbmcvIG5vdCBwYXNzaW5nIGFuZCB0aGUgbGlt aXRhdGlvbnMgd2UgaGF2ZSBpbg0Kd2luZG93cyBmb3Igc2hhZG93IHN0YWNrIGVuYWJsZWQgcHJv Z3JhbXMuDQoNCkJlc2lkZXMgcmVhZGluZyBvciB3cml0aW5nIHRoZSBzaGFkb3cgc3RhY2sgcG9p bnRlciBmb3IgbGludXggd2UgaGFkIHRvIGVuYWJsZQ0KLSBkaXNwbGFjZWQgc3RlcHBpbmcNCi0g dGhlIHJldHVybiBjb21tYW5kDQotIGluZmVyaW9yIGNhbGxzIA0KZm9yIHNoYWRvdyBzdGFjayBl bmFibGVkIHByb2dyYW1zLCB3aGljaCBhcmUgYWxsIGNvdmVyZWQgYnkgY3VycmVudCBzaGFkb3cg c3RhY2sgdGVzdHMuDQoNCkJhc2VkIG9uIHdoYXQgeW91IHNhaWQNCg0Kfn5+DQpJdCB0dXJucyBv dXQgYmludXRpbHMvZ2NjIHJlYWxseSBkb24ndCBzdXBwb3J0IHRoaXMgb24gd2luZG93cyB5ZXQu DQpUbyBlbmFibGUgdGhpcyBpbiB0aGUgZXhlY3V0YWJsZSwgYXQgbGVhc3QgYSBzcGVjaWFsIG1h cmtlciBiaXQgaGFzIHRvIGJlIHNldCBpbiB0aGUgRXh0ZW5kZWQgRExMIENoYXJhY3RlcmlzdGlj cyBbMV0uDQpXaXRoIG1zdmMgeW91IGNhbiBkbyB0aGF0IHdpdGggdGhlIC9DRVRDT01QQVQgbGlu a2VyIGFyZ3VtZW50IFsyXS4NCg0KU28gSSBjb21waWxlZCBhbWQ2NC1zaGFkb3ctc3RhY2suYyB3 aXRoIG1zdmMgYW5kIC9DRVRDT01QQVQsIGFuZCB0cmllZCBpdCBvdXQgd2l0aCBteSBnZGIgYnVp bGQuDQpCZWZvcmUgSSBhbHdheXMgZ290ICRwbDNfc3NwPTAsIGFuZCB3aXRoIHRoaXMgbmV3IGV4 ZSBJIGFsd2F5cyBnZXQgJHBsM19zc3A9MS4NCn5+fg0KSSBhc3N1bWUgeW91IGNhbm5vdCBleGVj dXRlIHRob3NlIHRlc3RzLiBDYW4geW91IGNvbmZpcm0/DQoNCldvdWxkIGl0IG1ha2Ugc2Vuc2Ug dG8gYWRkIGRlZGljYXRlZCB0ZXN0cyBmb3Igd2luZG93cyBzaGFkb3cgc3RhY2sgIChpbiB0aGUN CnNoYWRvdy1zdGFjayBzcGVjaWZpYyBwYXRjaCksIGJhc2VkIG9uIHRoZSBjdXJyZW50IGVuYWJs ZW1lbnQgeW91IGRlc2NyaWJlIGFib3ZlID8NCg0KT3IsIG1heWJlIGV2ZW4gYmV0dGVyLCBjYW4g eW91IGFkYXB0IHRoZSBwcm9jIGFsbG93X3NzcF90ZXN0cyBmb3Igd2luZG93IHN1cHBvcnQ/DQpZ b3Ugc2FpZDogDQoiIEl0IHR1cm5zIG91dCBiaW51dGlscy9nY2MgcmVhbGx5IGRvbid0IHN1cHBv cnQgdGhpcyBvbiB3aW5kb3dzIHlldC4iDQpDb3VsZCB5b3UgYWRkIGEgZml4IHRvIG1ha2UgdGhp cyB3b3JrIGZvciB3aW5kb3dzIHVzaW5nIG1zdmMgYW5kIC9DRVRDT01QQVQgPw0KDQpJbiBhbnkg Y2FzZSwgYWxsIHRoaXMgaW5mb3JtYXRpb24gc2hvdWxkIGJlIHBhcnQgb2YgdGhlIGNvbW1pdCBt ZXNzYWdlLg0KDQpJIGFsc28gd29uZGVyIGlmIHdlIHNob3VsZCBwcm92aWRlIHNvbWUgZmVlZGJh Y2sgdG8gdGhlIHVzZXIgd2hlbiBoZSBhdHRlbXB0cyB0bw0Kd3JpdGUgdGhlIHNoYWRvdyBzdGFj ayBwb2ludGVyLg0KDQpDdXJyZW50bHkgd2Ugc2VlIHRoaXMsIHJpZ2h0Pw0KDQp+fn4NCihnZGIp IHAgJHBsM19zc3A9MHgxMjM0NTY3OA0KJDExID0gKHZvaWQgKikgMHgxMjM0NTY3OA0KKGdkYikg bmkNCmVycm9yIHJldHVybiBDOi9nZGIvc3JjL2dkYi5naXQvZ2RiL3g4Ni13aW5kb3dzLW5hdC5j OjI0MiB3YXMgMTY2MDogVGhlIHRocmVhZCBjb250ZXh0IGNvdWxkIG5vdCBiZSB1cGRhdGVkIGJl Y2F1c2UgdGhpcyBoYXMgYmVlbiByZXN0cmljdGVkIGZvciB0aGUgcHJvY2Vzcy4NCjB4MDAwMDdm ZmQ2MzcyMDU3NCBpbiBudGRsbCFad01hcFZpZXdPZlNlY3Rpb24gKCkgZnJvbSBDOlxXSU5ET1dT XFNZU1RFTTMyXG50ZGxsLmRsbA0Kfn5+DQoNCkkgYW0gbm90IEdEQiB3aW5kb3dzIGV4cGVydCwg c28gSSBhbSBub3Qgc3VyZSBpZiB0aGF0IGlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBmb3IgdGhlIHVz ZXIuIA0KV2hhdGV2ZXIgd2UgZGlzcGxheSB3aGVuIGF0dGVtcHRpbmcgdG8gd3JpdGUgdGhlIHJl Z2lzdGVyLCBJIHRoaW5rIGl0IHdvdWxkIG1ha2Ugc2Vuc2UNCnRvIGRvY3VtZW50IHRoaXMgc29t ZWhvdy4gQXQgbGVhc3QgaW4gdGhlIGNvbW1pdHMgbWVzc2FnZSArIGV2ZW4gYmV0dGVyIHdlIGNv dWxkIGFkZA0KYSB0ZXN0IGZvciB0aGlzLg0KDQo+IFRoaXMgYWRkcyBzdXBwb3J0IGZvciB0aGUg SW50ZWwgQVZYIGFuZCBBVlgtNTEyIHJlZ2lzdGVycyBvbiBXaW5kb3dzLg0KPiBJdCBlbmFibGVz IGFjY2Vzc2luZyByZWdpc3RlcnMgJHltbTAgLSAkeW1tMzEsICR6bW0wIC0gJHptbTMxLCBhbmQN Cj4gJGswIC0gJGs3IHdoZXJlIHRoZXkgYXJlIGF2YWlsYWJsZS4NCj4gDQo+IEl0IGFsc28gZW5h YmxlcyByZWFkaW5nIHRoZSBzaGFkb3cgc3RhY2sgcG9pbnRlciByZWdpc3RlciAkcGwzX3NzcCAo Zm9yDQo+IGV4ZWN1dGFibGVzIG1hcmtlZCBjb21wYXRpYmxlIHdpdGggQ0VUIHNoYWRvdyBzdGFj ayBbMV0pLCBidXQgbW9kaWZ5aW5nIGl0DQo+IHNlZW1zIHRvIGJlIHJlc3RyaWN0ZWQgcmVzdHJp Y3RlZCBieSB3aW5kb3dzLg0KDQpOaXQ6IGR1cGxpY2F0ZSByZXN0cmljdGVkDQoNCj4gDQo+IEFm dGVyIHRoaXMgcGF0Y2ggdGhlIHRlc3RzIGdkYi5hcmNoL2kzODYtYXZ4LmV4cCBhbmQgZ2RiLmFy Y2gvaTM4Ni1hdng1MTIuZXhwDQo+IHBhc3Mgb24gd2luZG93cy4NCg0KTml0OiBsZXQncyBhZGQg Zm9yIG9uIHdpbmRvd3MgZm9yIFVuaXggYm9hcmRmaWxlLCBvciBzb21ldGhpbmcgbGlrZSB0aGF0 LiANClNvIGl0J3MgY2xlYXIgdGhhdCBnZGJzZXJ2ZXIgc3VwcG9ydCBpcyBtaXNzaW5nLg0KRGlk IHlvdSBydW4gdGhlIHRlc3RzIGZvciAzMiBiaXQsIHRvbyA/DQoNCkNocmlzdGluYQ0KDQo+IA0K PiBbMV0gaHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2NwcC9idWlsZC9yZWZlcmVu Y2UvY2V0Y29tcGF0DQo+IC0tLQ0KPiB2MjoNCj4gICAtIEV4dGVuZGVkIGNvbW1pdCBtZXNzYWdl IGFuZCBORVdTIGVudHJ5DQo+ICAgLSBSZW1vdmUgUEtSVSBzdXBwb3J0DQo+ICAgLSBGaXhlZCBj b250ZXh0IG9mZnNldCBvZiAkcGwzX3NzcA0KPiAtLS0NCj4gIGdkYi9ORVdTICAgICAgICAgICAg ICB8ICAgNiArKysNCj4gIGdkYi94ODYtd2luZG93cy1uYXQuYyB8IDEwOA0KPiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTEx IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2RiL05F V1MgYi9nZGIvTkVXUw0KPiBpbmRleCA4ZjQwY2E1Y2IxMS4uNzFmZjU1MDhkNmQgMTAwNjQ0DQo+ IC0tLSBhL2dkYi9ORVdTDQo+ICsrKyBiL2dkYi9ORVdTDQo+IEBAIC0xMTYsNiArMTE2LDEyIEBA DQo+ICAgIGludGVudCB0byByZW1vdmUgaXQgaW4gYSBmdXR1cmUgcmVsZWFzZS4NCj4gICAgVGhl IHMzOTAgNjQtYml0IHRhcmdldCAoczM5MHgtKikgcmVtYWlucyBzdXBwb3J0ZWQuDQo+IA0KPiAr KiBTdXBwb3J0IGZvciBJbnRlbCBBVlggcmVnaXN0ZXJzIG9uIFdpbmRvd3MuDQo+ICsgIFN1cHBv cnQgZGlzcGxheWluZyBhbmQgbW9kaWZ5aW5nIEludGVsIEFWWCByZWdpc3RlcnMgJHltbTAgLSAk eW1tMzEuDQo+ICsgIFN1cHBvcnQgZGlzcGxheWluZyBhbmQgbW9kaWZ5aW5nIEludGVsIEFWWC01 MTIgcmVnaXN0ZXJzICR6bW0wIC0NCj4gKyR6bW0zMQ0KPiArICBhbmQgJGswIC0gJGs3Lg0KPiAr ICBTdXBwb3J0IGRpc3BsYXlpbmcgdGhlIHNoYWRvdyBzdGFjayBwb2ludGVyIHJlZ2lzdGVyICRw bDNfc3NwLg0KPiArDQo+ICAqIENvbmZpZ3VyZSBjaGFuZ2VzDQo+IA0KPiAgKiogLS13aXRoLWJh YmVsdHJhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gIFRoZSBiYWJlbHRyYWNlIGxpYnJhcnkgd2FzIGRp ZmYgLS1naXQNCj4gYS9nZGIveDg2LXdpbmRvd3MtbmF0LmMgYi9nZGIveDg2LXdpbmRvd3MtbmF0 LmMgaW5kZXgNCj4gM2FmNWVmNGRhZTAuLjI3MGY5ZWFlOGU3IDEwMDY0NA0KPiAtLS0gYS9nZGIv eDg2LXdpbmRvd3MtbmF0LmMNCj4gKysrIGIvZ2RiL3g4Ni13aW5kb3dzLW5hdC5jDQo+IEBAIC0y Nyw2ICsyNyw5IEBADQo+IA0KPiAgI2luY2x1ZGUgImkzODYtdGRlcC5oIg0KPiAgI2luY2x1ZGUg ImkzODctdGRlcC5oIg0KPiArI2lmZGVmIF9feDg2XzY0X18NCj4gKyNpbmNsdWRlICJhbWQ2NC10 ZGVwLmgiDQo+ICsjZW5kaWYNCj4gDQo+ICB1c2luZyBuYW1lc3BhY2Ugd2luZG93c19uYXQ7DQo+ IA0KPiBAQCAtNzAsNiArNzMsOCBAQCBzdHJ1Y3QgeDg2X3dpbmRvd3NfbmF0X3RhcmdldCBmaW5h bCA6IHB1YmxpYw0KPiB4ODZfbmF0X3RhcmdldDx3aW5kb3dzX25hdF90YXJnZXQ+DQo+ICAJCQkg ICB3aW5kb3dzX3RocmVhZF9pbmZvICp0aCwgaW50IHIpIG92ZXJyaWRlOw0KPiANCj4gICAgYm9v bCBpc19zd19icmVha3BvaW50IChjb25zdCBFWENFUFRJT05fUkVDT1JEICplcikgY29uc3Qgb3Zl cnJpZGU7DQo+ICsNCj4gKyAgY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICpyZWFkX2Rlc2NyaXB0 aW9uICgpIG92ZXJyaWRlOw0KPiAgfTsNCj4gDQo+ICAvKiBUaGUgY3VycmVudCBwcm9jZXNzLiAg Ki8NCj4gQEAgLTEwOSw3ICsxMTQsMzEgQEAgeDg2X3dpbmRvd3NfcGVyX2luZmVyaW9yOjpmaWxs X3RocmVhZF9jb250ZXh0DQo+ICh3aW5kb3dzX3RocmVhZF9pbmZvICp0aCkNCj4gICAgICAgIGlm IChjb250ZXh0LT5Db250ZXh0RmxhZ3MgPT0gMCkNCj4gIAl7DQo+ICAJICBjb250ZXh0LT5Db250 ZXh0RmxhZ3MgPSBXaW5kb3dzQ29udGV4dDxkZWNsdHlwZShjb250ZXh0KT46OmFsbDsNCj4gKwkg IGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMCkNCj4gKwkgICAgew0KPiArCSAgICAgIGNvbnRleHQt PkNvbnRleHRGbGFncyB8PSBDT05URVhUX1hTVEFURV9GTEFHOw0KPiArCSAgICAgIHNldF94c3Rh dGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgeHN0YXRlX2ZlYXR1cmVzKTsNCj4gKwkgICAgfQ0K PiAgCSAgQ0hFQ0sgKGdldF90aHJlYWRfY29udGV4dCAodGgtPmgsIGNvbnRleHQpKTsNCj4gKw0K PiArCSAgaWYgKHhzdGF0ZV9mZWF0dXJlcyAhPSAwKQ0KPiArCSAgICB7DQo+ICsJICAgICAgRFdP UkQ2NCBmZWF0dXJlcyA9IDA7DQo+ICsJICAgICAgQ0hFQ0sgKGdldF94c3RhdGVfZmVhdHVyZXNf bWFzayAoY29udGV4dCwgJmZlYXR1cmVzKSk7DQo+ICsJICAgICAgRFdPUkQ2NCB6ZXJvZWRfZmVh dHVyZXMgPSB4c3RhdGVfZmVhdHVyZXMgJiB+ZmVhdHVyZXM7DQo+ICsNCj4gKwkgICAgICBmb3Ig KGludCBmID0gWDg2X1hTVEFURV9BVlhfSUQ7IGYgPD0gWDg2X1hTVEFURV9DRVRfVV9JRDsgZisr KQ0KPiArCQl7DQo+ICsJCSAgRFdPUkQ2NCBmbGFnID0gMVVMTCA8PCBmOw0KPiArCQkgIGlmICgo emVyb2VkX2ZlYXR1cmVzICYgZmxhZykgIT0gMCkNCj4gKwkJICAgIHsNCj4gKwkJICAgICAgRFdP UkQgc2l6ZSA9IDA7DQo+ICsJCSAgICAgIHZvaWQgKmxvYyA9IGxvY2F0ZV94c3RhdGVfZmVhdHVy ZSAoY29udGV4dCwgZiwgJnNpemUpOw0KPiArCQkgICAgICBpZiAobG9jICE9IG51bGxwdHIgJiYg c2l6ZSA+IDApDQo+ICsJCQltZW1zZXQgKGxvYywgMCwgc2l6ZSk7DQo+ICsJCSAgICB9DQo+ICsJ CX0NCj4gKwkgICAgfQ0KPiAgCX0NCj4gICAgICB9KTsNCj4gIH0NCj4gQEAgLTE5OCw2ICsyMjcs MTQgQEAgeDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6dGhyZWFkX2NvbnRleHRfY29udGludWUNCj4g KHdpbmRvd3NfdGhyZWFkX2luZm8gKnRoLA0KPiAgCSAgaWYgKEdldEV4aXRDb2RlVGhyZWFkICh0 aC0+aCwgJmVjKQ0KPiAgCSAgICAgICYmIGVjID09IFNUSUxMX0FDVElWRSkNCj4gIAkgICAgew0K PiArCSAgICAgIERXT1JEIGRlYnVnX3JlZ2lzdGVycyA9DQo+IFdpbmRvd3NDb250ZXh0PGRlY2x0 eXBlKGNvbnRleHQpPjo6ZGVidWc7DQo+ICsJICAgICAgaWYgKHhzdGF0ZV9mZWF0dXJlcyAhPSAw DQo+ICsJCSAgJiYgKGNvbnRleHQtPkNvbnRleHRGbGFncyAmIH5kZWJ1Z19yZWdpc3RlcnMpICE9 IDApDQo+ICsJCXsNCj4gKwkJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09OVEVYVF9YU1RB VEVfRkxBRzsNCj4gKwkJICBzZXRfeHN0YXRlX2ZlYXR1cmVzX21hc2sgKGNvbnRleHQsIHhzdGF0 ZV9mZWF0dXJlcyk7DQo+ICsJCX0NCj4gKw0KPiAgCSAgICAgIEJPT0wgc3RhdHVzID0gc2V0X3Ro cmVhZF9jb250ZXh0ICh0aC0+aCwgY29udGV4dCk7DQo+IA0KPiAgCSAgICAgIGlmICgha2lsbGVk KQ0KPiBAQCAtMjI3LDcgKzI2NCw3IEBAIHg4Nl93aW5kb3dzX25hdF90YXJnZXQ6OnRocmVhZF9j b250ZXh0X3N0ZXANCj4gKHdpbmRvd3NfdGhyZWFkX2luZm8gKnRoLA0KPiANCj4gIHRlbXBsYXRl PHR5cGVuYW1lIENvbnRleHQ+DQo+ICBzdGF0aWMgY2hhciAqDQo+IC1nZXRfY29udGV4dF9yZWdf cHRyIChDb250ZXh0ICpjb250ZXh0LCBpbnQgcikNCj4gK2dldF9jb250ZXh0X3JlZ19wdHIgKENv bnRleHQgKmNvbnRleHQsIGludCByLCBpMzg2X2dkYmFyY2hfdGRlcCAqdGRlcCkNCj4gIHsNCj4g ICAgY29uc3QgaW50ICptYXBwaW5nczsNCj4gICAgaW50IG1hcHBpbmdzX2NvdW50Ow0KPiBAQCAt MjQ3LDYgKzI4NCw1NCBAQCBnZXRfY29udGV4dF9yZWdfcHRyIChDb250ZXh0ICpjb250ZXh0LCBp bnQgcikNCj4gICAgY2hhciAqY29udGV4dF9vZmZzZXQ7DQo+ICAgIGlmIChyIDwgbWFwcGluZ3Nf Y291bnQpDQo+ICAgICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBjb250ZXh0ICsgbWFwcGlu Z3Nbcl07DQo+ICsgIGVsc2UgaWYgKEkzODdfWk1NMEhfUkVHTlVNICh0ZGVwKSA+IDAgJiYgciA+ PSBJMzg3X1pNTTBIX1JFR05VTQ0KPiAodGRlcCkNCj4gKwkgICAmJiByIDwgSTM4N19aTU0xNkhf UkVHTlVNICh0ZGVwKSAmJiByIDwNCj4gSTM4N19aTU1FTkRIX1JFR05VTSAodGRlcCkpDQo+ICsg ICAgew0KPiArICAgICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBsb2NhdGVfeHN0YXRlX2Zl YXR1cmUNCj4gKwkoY29udGV4dCwgWDg2X1hTVEFURV9aTU1fSF9JRCwgTlVMTCk7DQo+ICsgICAg ICBjb250ZXh0X29mZnNldCArPSAzMiAqIChyIC0gSTM4N19aTU0wSF9SRUdOVU0gKHRkZXApKTsN Cj4gKyAgICB9DQo+ICsgIGVsc2UgaWYgKEkzODdfWk1NMEhfUkVHTlVNICh0ZGVwKSA+IDAgJiYg ciA+PSBJMzg3X1pNTTE2SF9SRUdOVU0NCj4gKHRkZXApDQo+ICsJICAgJiYgciA8IEkzODdfWk1N RU5ESF9SRUdOVU0gKHRkZXApKQ0KPiArICAgIHsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ID0g KGNoYXIgKikgbG9jYXRlX3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNvbnRleHQsIFg4Nl9YU1RBVEVf Wk1NX0lELCBOVUxMKTsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ICs9IDMyICsgNjQgKiAociAt IEkzODdfWk1NMTZIX1JFR05VTSAodGRlcCkpOw0KPiArICAgIH0NCj4gKyAgZWxzZSBpZiAoSTM4 N19LMF9SRUdOVU0gKHRkZXApID4gMCAmJiByID49IEkzODdfSzBfUkVHTlVNICh0ZGVwKQ0KPiAr CSAgICYmIHIgPCBJMzg3X0tFTkRfUkVHTlVNICh0ZGVwKSkNCj4gKyAgICB7DQo+ICsgICAgICBj b250ZXh0X29mZnNldCA9IChjaGFyICopIGxvY2F0ZV94c3RhdGVfZmVhdHVyZQ0KPiArCShjb250 ZXh0LCBYODZfWFNUQVRFX0tfSUQsIE5VTEwpOw0KPiArICAgICAgY29udGV4dF9vZmZzZXQgKz0g OCAqIChyIC0gSTM4N19LMF9SRUdOVU0gKHRkZXApKTsNCj4gKyAgICB9DQo+ICsgIGVsc2UgaWYg KEkzODdfWU1NMTZIX1JFR05VTSAodGRlcCkgPiAwICYmIHIgPj0NCj4gSTM4N19ZTU0xNkhfUkVH TlVNICh0ZGVwKQ0KPiArCSAgICYmIHIgPCBJMzg3X1lNTUhfQVZYNTEyX0VORF9SRUdOVU0gKHRk ZXApKQ0KPiArICAgIHsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ID0gKGNoYXIgKikgbG9jYXRl X3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNvbnRleHQsIFg4Nl9YU1RBVEVfWk1NX0lELCBOVUxMKTsN Cj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ICs9IDE2ICsgNjQgKiAociAtIEkzODdfWU1NMTZIX1JF R05VTSAodGRlcCkpOw0KPiArICAgIH0NCj4gKyAgZWxzZSBpZiAoSTM4N19YTU0xNl9SRUdOVU0g KHRkZXApID4gMCAmJiByID49IEkzODdfWE1NMTZfUkVHTlVNDQo+ICh0ZGVwKQ0KPiArCSAgICYm IHIgPCBJMzg3X1hNTV9BVlg1MTJfRU5EX1JFR05VTSAodGRlcCkpDQo+ICsgICAgew0KPiArICAg ICAgY29udGV4dF9vZmZzZXQgPSAoY2hhciAqKSBsb2NhdGVfeHN0YXRlX2ZlYXR1cmUNCj4gKwko Y29udGV4dCwgWDg2X1hTVEFURV9aTU1fSUQsIE5VTEwpOw0KPiArICAgICAgY29udGV4dF9vZmZz ZXQgKz0gNjQgKiAociAtIEkzODdfWE1NMTZfUkVHTlVNICh0ZGVwKSk7DQo+ICsgICAgfQ0KPiAr ICBlbHNlIGlmIChJMzg3X1lNTTBIX1JFR05VTSAodGRlcCkgPiAwICYmIHIgPj0gSTM4N19ZTU0w SF9SRUdOVU0NCj4gKHRkZXApDQo+ICsJICAgJiYgciA8IEkzODdfWU1NRU5ESF9SRUdOVU0gKHRk ZXApKQ0KPiArICAgIHsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ID0gKGNoYXIgKikgbG9jYXRl X3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNvbnRleHQsIFg4Nl9YU1RBVEVfQVZYX0lELCBOVUxMKTsN Cj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ICs9IDE2ICogKHIgLSBJMzg3X1lNTTBIX1JFR05VTSAo dGRlcCkpOw0KPiArICAgIH0NCj4gKyAgZWxzZSBpZiAodGRlcC0+c3NwX3JlZ251bSA+IDAgJiYg ciA9PSB0ZGVwLT5zc3BfcmVnbnVtKQ0KPiArICAgIHsNCj4gKyAgICAgIGNvbnRleHRfb2Zmc2V0 ID0gKGNoYXIgKikgbG9jYXRlX3hzdGF0ZV9mZWF0dXJlDQo+ICsJKGNvbnRleHQsIFg4Nl9YU1RB VEVfQ0VUX1VfSUQsIE5VTEwpOw0KPiArICAgICAgY29udGV4dF9vZmZzZXQgKz0gODsNCj4gKyAg ICB9DQo+ICAgIGVsc2UNCj4gICAgICBnZGJfYXNzZXJ0X25vdF9yZWFjaGVkICgiaW52YWxpZCBy ZWdpc3RlciBudW1iZXIgJWQiLCByKTsNCj4gDQo+IEBAIC0yNjcsNyArMzUyLDcgQEAgeDg2X3dp bmRvd3NfbmF0X3RhcmdldDo6ZmV0Y2hfb25lX3JlZ2lzdGVyIChzdHJ1Y3QNCj4gcmVnY2FjaGUg KnJlZ2NhY2hlLA0KPiAgICBjaGFyICpjb250ZXh0X29mZnNldA0KPiAgICAgID0geDg2X3dpbmRv d3NfcHJvY2Vzcy53aXRoX2NvbnRleHQgKHRoLCBbJl0gKGF1dG8gKmNvbnRleHQpDQo+ICAgICAg ew0KPiAtICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIpOw0KPiAr ICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIsIHRkZXApOw0KPiAg ICAgIH0pOw0KPiANCj4gICAgZ2RiX2Fzc2VydCAoIWdkYmFyY2hfcmVhZF9wY19wIChnZGJhcmNo KSk7IEBAIC0zMzMsNyArNDE4LDcgQEANCj4geDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6c3RvcmVf b25lX3JlZ2lzdGVyIChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUNCj4gKnJlZ2NhY2hlLA0KPiAgICAg ID0geDg2X3dpbmRvd3NfcHJvY2Vzcy53aXRoX2NvbnRleHQgKHRoLCBbJl0gKGF1dG8gKmNvbnRl eHQpDQo+ICAgICAgew0KPiAgICAgICAgZ2RiX2Fzc2VydCAoY29udGV4dC0+Q29udGV4dEZsYWdz ICE9IDApOw0KPiAtICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIp Ow0KPiArICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIsIHRkZXAp Ow0KPiAgICAgIH0pOw0KPiANCj4gICAgLyogR0RCIHRyZWF0cyBzb21lIHJlZ2lzdGVycyBhcyAz Mi1iaXQsIHdoZXJlIHRoZXkgYXJlIGluIGZhY3Qgb25seSBAQCAtDQo+IDM2OCw2ICs0NTMsMjMg QEAgeDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6aXNfc3dfYnJlYWtwb2ludCAoY29uc3QNCj4gRVhD RVBUSU9OX1JFQ09SRCAqZXIpIGNvbnN0DQo+ICAJICB8fCBlci0+RXhjZXB0aW9uQ29kZSA9PSBT VEFUVVNfV1g4Nl9CUkVBS1BPSU5UKTsgIH0NCj4gDQo+ICtjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rl c2MgKg0KPiAreDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6cmVhZF9kZXNjcmlwdGlvbiAoKSB7DQo+ ICsgIGlmIChpbmZlcmlvcl9wdGlkID09IG51bGxfcHRpZCkNCj4gKyAgICByZXR1cm4gdGhpcy0+ YmVuZWF0aCAoKS0+cmVhZF9kZXNjcmlwdGlvbiAoKTsNCj4gKw0KPiArICBpZiAoeHN0YXRlX2Zl YXR1cmVzID09IDApDQo+ICsgICAgcmV0dXJuIG51bGxwdHI7DQo+ICsNCj4gKyNpZmRlZiBfX3g4 Nl82NF9fDQo+ICsgIGlmICgheDg2X3dpbmRvd3NfcHJvY2Vzcy53b3c2NF9wcm9jZXNzKQ0KPiAr ICAgIHJldHVybiBhbWQ2NF90YXJnZXRfZGVzY3JpcHRpb24gKHhzdGF0ZV9mZWF0dXJlcywgZmFs c2UpOw0KPiArICBlbHNlDQo+ICsjZW5kaWYNCj4gKyAgICByZXR1cm4gaTM4Nl90YXJnZXRfZGVz Y3JpcHRpb24gKHhzdGF0ZV9mZWF0dXJlcywgZmFsc2UpOyB9DQo+ICsNCj4gIC8qIEhhcmR3YXJl IHdhdGNocG9pbnQgc3VwcG9ydCwgYWRhcHRlZCBmcm9tIGdvMzItbmF0LmMgY29kZS4gICovDQo+ IA0KPiAgLyogUGFzcyB0aGUgYWRkcmVzcyBBRERSIHRvIHRoZSBpbmZlcmlvciBpbiB0aGUgSSd0 aCBkZWJ1ZyByZWdpc3Rlci4NCj4gLS0NCj4gMi41NC4wDQo+IA0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fDQpJbnRlbCBEZXV0c2NobGFuZCBHbWJIIA0KDQpSZWdp c3RlcmVkIEFkZHJlc3M6IERvcm5hY2hlciBTdHJhc3NlIDEsIDg1NjIyIEZlbGRraXJjaGVuLCBH ZXJtYW55IA0KDQpUZWw6ICs0OSAoODkpIDk5MTQzLTAgDQoNCnd3dy5pbnRlbC5kZSANCg0KTWFu YWdpbmcgRGlyZWN0b3JzOiBDYW5kaWNlIE1vb3JlLCBKZWZmcmV5IFNjaG5laWRlcm1hbiwgUmFt YWNoYW5kcmFuIFNpdGFyYW1hbg0KDQpDaGFpcnBlcnNvbiBvZiB0aGUgU3VwZXJ2aXNvcnkgQm9h cmQ6IFNvbmphIFBpZXJlcg0KDQpSZWdpc3RlcmVkIFNlYXQ6IE11bmljaCBDb21tZXJjaWFsIFJl Z2lzdGVyIEI6IEFtdHNnZXJpY2h0IE11bmljaCBIUkIgMTg2OTI4DQoNClRoaXMgZS1tYWlsIGFu ZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIG1hdGVyaWFsIGZvcg0K dGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIEFueSByZXZpZXcgb3Ig ZGlzdHJpYnV0aW9uDQpieSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFy ZSBub3QgdGhlIGludGVuZGVkDQpyZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIg YW5kIGRlbGV0ZSBhbGwgY29waWVzLgo=