From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 2A0943858D38 for ; Tue, 13 Jun 2023 13:52:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2A0943858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35DDO3Jp006676; Tue, 13 Jun 2023 13:52:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=h1QGNzyK7rDK/lUs+LUkxiScbfWPNO3gGD8RhOKS2F0=; b=38TcI+ArxUo5sIrvFRY8E2HW7/vzwDav0SV6v16WIqbOZrXSJaGKeANW5vEv104hqcuf 5T7Zrz84v9j/iCGAo27sU42G5/ZNsHSpth07jKgcdWxB/VGqrOC9pl8e35sQRppFu1co 0su3l/IfurIiRtDFkP3FqpJQqW7cRVorEt102TX4XpxtRiIMzJKbGPUjgl0mws3CaGuz LY1F+GEeBRetQ8n5Z9EXRVl1wTQcMkh8f3O1Ly12uHKpEB9Jb+nNve2eHBdKCqpEMJ1P ERwgGxV5Pv+7BJrkWWdmwf12TO8iYHjsjuesUAL9s2ABwDGgLWXvKkdYqT8KS84AWFef MQ== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r4fy3d8w3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Jun 2023 13:52:31 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35DDpiwO008381; Tue, 13 Jun 2023 13:52:30 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2170.outbound.protection.outlook.com [104.47.73.170]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r4fmaeur9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 13 Jun 2023 13:52:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V27jjWXhKMQL84rabgEUj0CutF4fktD2msyR65TbZfmTQVoMyHFFIwLaaCVAsfnoSdr5osHF7L+ibZNXj0lHy91URW968sfa6/WMcfOzHBTu2y+f8I8Lj6Yig45idSV5x6kZxGr/T6R8SM+wEM/zT1EfE0rxfPV0DiGwZ8i/Dq82WvuZiU7GPWEetjq1RioXD9AkefttR41A4jQGDuhaKeNcu3b506vAwrexI1+q/72ugDti++CwMqJfUNUZm4IfQLrXVszAxT2RvaCW8cWQ75Dw2xAZOOqdY7T5LJhTtRM30tnYZ7j9Qg0d1yJYmE5F8xTLh7xpWSlEKODuGkLMSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=h1QGNzyK7rDK/lUs+LUkxiScbfWPNO3gGD8RhOKS2F0=; b=QRjSTmNHehN/gdV7Vu6tLmo2F4Fltaj+tw1EYgQxgxofm1e2pLJZCDw8pe9tsMmMB5aCPV56G7CaGZ2YA2jSg1WPMvFyGe6ZLyT3rQABqimGX2dKOQRFoexPGub/Sy38/8687IHN5p2dmBb3DupXVP6tBCOzVLfF+vcm7eEKyEMIGBoZnD/qh3Dki+nEpnp1eUrfzbVMt4WW34B1NdLkqQmdCC6vtNKyFtVHOsZfFFaMxheQQRzgFb1m3W+0Ue4uUlz6yKCmv5/4YHZgt6Yfgm7LYYhRcYdSSQq64QOUsDaFGGqb4GpysgrTXGlw9aXHAYMBQ8w5dPK1nkq11GivEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h1QGNzyK7rDK/lUs+LUkxiScbfWPNO3gGD8RhOKS2F0=; b=Oj7TH9OjzAIArx1HPCvIhe3LRibdHuLP0JeZbcK6YyjkpsRtQhp4oa5IigbE9CkEov+0MllcGflTwb2MdL3edv1oBCIBwzQzMK1Y8Ud+JXeS0gyWm8ph1OkNqG9ap2oXN0eX1b9kB8M4x8knD4Z9iy+70eo1xmbVW5KmwNRNbnQ= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by DS7PR10MB5343.namprd10.prod.outlook.com (2603:10b6:5:3b0::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Tue, 13 Jun 2023 13:52:27 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::8d90:607a:f94c:5323%3]) with mapi id 15.20.6477.028; Tue, 13 Jun 2023 13:52:27 +0000 From: Qing Zhao To: Jakub Jelinek , Richard Biener , Qing Zhao via Gcc-patches CC: Joseph Myers , Kees Cook , Siddhesh Poyarekar , Martin Uecker Subject: Ping * 2 : Fwd: [V9][PATCH 1/2] Handle component_ref to a structre/union field including flexible array member [PR101832] Thread-Topic: Ping * 2 : Fwd: [V9][PATCH 1/2] Handle component_ref to a structre/union field including flexible array member [PR101832] Thread-Index: AQHZnf5JayAYz9HiKUCYo+mASHODAA== Date: Tue, 13 Jun 2023 13:52:27 +0000 Message-ID: References: <20230530183029.1156862-2-qing.zhao@oracle.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.3) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|DS7PR10MB5343:EE_ x-ms-office365-filtering-correlation-id: fab0d4a9-1ffd-4593-b36f-08db6c156c62 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +8OfZfygDDL5+eUX3LmemSS7sjam9PoZBylVNrmgSeexJ3g2dJoLSbhPlvV93cZnU79nQn8cOChUdqK5D8HqLcnAVNjCryjzzY4WuwhLVqmRKTCVKjBZRlsyaIFffCF0Ol6R+6UeBtuVwFsHr/RHbNBFHJnAcj4qNplr1gL6jSR4yHG0d5JMblj7wQhqjtyUPMm0p2HCxtfdPOScl49tKdhZGj3iBJ9bsPp6WSQgCTPPjjqyRU+8zNktF+52hxgPvBdFQ2tH+hzKRX2nuPBcy2cTTa3KNb2c7WsDft6NAEGlQop827CEGZzRCBq0NoC6fnoRYKKCcRBunYNIaHfyGvE4rq4xtJzKg01EZHoZgAIabvvOHlen0hUJlQ/GkgOJx4HbAMIuGYOZ7xOOMU7Gja5y7dUeAzTr2QslCHkzkY0qpWWgoMag4kqlMrjolx0+y4+hkbpxC8/F99qpVnt6ZBTuLMs2r0alsdTaLGNmBywYtqQ2K42IJxMaqx/1QUFdN6tZkmObjZRD+Eyatq2H06lawT7eml3pig5QtYq7GvglKAFdnF9RiB/y9Xovr7x7v54dAu4KnN1/4/FcyyxsG2VyYg6qxUz1gCYUNFV0rYmk9RF9KBDmRNfs1SWlJUpYb3qjaTXPhu3ks70lgWL/eQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4344.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(376002)(396003)(346002)(136003)(451199021)(2616005)(83380400001)(33656002)(86362001)(122000001)(36756003)(38100700002)(478600001)(38070700005)(110136005)(44832011)(4326008)(54906003)(71200400001)(84970400001)(6486002)(8936002)(30864003)(2906002)(8676002)(5660300002)(64756008)(66476007)(66556008)(66446008)(91956017)(66946007)(76116006)(41300700001)(316002)(53546011)(186003)(6506007)(6512007)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?akRRWTJ0ZFFFMnhSQjBXRmhKenFrMnNKQVVVSFZVTlk5cmZzSGczT0tSMk01?= =?utf-8?B?bnpSUEtEcDMrV1RacVNxa1FTMEJRSjZNWUZzM3NCd1BiQk9ET0RjeEV2Z3Zv?= =?utf-8?B?QjBWWG5PTU5xYmkrQ2ZPRURvcVJzQXIwZS8yZUMwaGMyTnFHSmtZbUdhQXZC?= =?utf-8?B?RVB4Tk5vQnYxa0prdmErT1RvRG8vNS85Ri9McnArRXhnK3E4aWp6eG9EOEtz?= =?utf-8?B?Z0JxbHBmaXkyaEZTQXNKV3pmK3VINzNwRlgrMkNmVHBRbURQRnNybnB6MzRi?= =?utf-8?B?M0dlUmlYWnRQVVB0NFdJSFpzRkxPSThTaXFnZkc2U3pvajljWXVlRkllWnV0?= =?utf-8?B?V1Y0bnVlVS9NZjZzZjNuNFU5RUFXeWJMN0VyZ0lJekt3dUJSelRJR0E4clpK?= =?utf-8?B?cEtRWTMzb3BDcjBMa2dXb21SU0JKa2MxOGdVdXU3NFlpMVJkQVpEbDk5NTl5?= =?utf-8?B?UVV1RW5WNEJ4c1FPK3FyNU5QRkh4cjFJK2NmcWNHeDZuK3p1aEE1bWpDeURz?= =?utf-8?B?U0tkWnBCN1JFRzBrUnpXZ0VSa1hCQkRUN3ArMHZ1NDJWQkZKMzVpWmkrdTEw?= =?utf-8?B?VDdZSFlzMW1KekNQTHV5VlVHd0hFZmtWV1AxaVNneTNQcUh1MURwTEYyeHM2?= =?utf-8?B?d1NpTEQ0WWFQWk1CWU9SUDBrRkw2SEpKNzlLY2wrbnJsYUZOTndKU1d4d3Nh?= =?utf-8?B?SEhTYnJlMitXYjlZK2plOERyL1pYTlA1YXI2dDBLUDE2ZDdaaU5UK3ErYmVP?= =?utf-8?B?M2g3elg2L2s4MzJXRGpZbDlsVGh2dWgwUE9LSFVORXI5T2MwY1NEVXZrT3ZJ?= =?utf-8?B?SFhKdHNHbnFPZnFwRW9oQVVzdHRUc1dSWGhpRzZmUnJQRnFkY1pzN2RrdzFQ?= =?utf-8?B?K0VUSU1zbVJoNGd1SERPV2J3dW5pQVdQVy9reFJ5c1A5QTU1SFNNZVYyVFRh?= =?utf-8?B?ZDUweVdya0JDMHZFckxxcVArUXpxTU50ODVSRVB4K3NnQ0FhNmR4WHVxc2VJ?= =?utf-8?B?Qi8vZXdaRVhzdHR6VFVyRFJUaGFhUFcvMEluQ0FPMjI5UVhxeTc4N3NqaTNJ?= =?utf-8?B?bWFmcXdyRGU4a3UybFFrbDlqSzU5czZMQ3I5OHlacStrUnpZYWJjaGxSaWJj?= =?utf-8?B?MGRVN0ZJcVRnZmtlZnM2Ri9TQmlNM0FYZHJUa1ZPbG0ySmVqL0xCSjZFNG1q?= =?utf-8?B?UWdpd01Fa3pnRjBFdzlXaEFMNmxoRzg4VXl5bDR1RUh4ZkpHZWhGcmtXTFJH?= =?utf-8?B?MXp3V0dVaTNaSjJFK2FTSGhMTDhoR2tWUUhYa3hld0dmcXM5TWZ3T3R2REZl?= =?utf-8?B?VmxUdTlBMUJHY2NYSHc3R1hhcmU2QkYzbnRuRFN1aHIrL3VPUXRjSlZVMUNE?= =?utf-8?B?WS9HQVRRNkJ5anVpN3loSWJSZnh0aS82bkozaHMvcXg5V3RHSzBONFB2QXVX?= =?utf-8?B?RS8xNGVhMk1HU2Z4L2dBT2E4YUd2RFgxTGRuYW1oSXBUUWtYSjlNRTBYZ1hU?= =?utf-8?B?b0YrYXJSQm92TlB0Nng3SUNKSDdFalFjT0ppNTRXR2x4QW5DM2ZYMUNZNEV4?= =?utf-8?B?MU8ySTR6MDB2aElxMlh1MEpVYTlHRDllaE1PVjhEdHNEV0tUYnlVbXlTQXhx?= =?utf-8?B?S3lzWDBCRXV3SDhzek1jV1A0NzFPS3FOUzhxSEt0RU1OSk92OTQwUlJGSS9F?= =?utf-8?B?OXkxVFRrcVlmOFVRaXZGcEFPOGRUalFDUTNDbUM2ZVN1NDY2OUN1YkhyS0Mx?= =?utf-8?B?eVVSTXJVOENKbEQvT3A3bHpIV0h5dkhYV2NyK2NDV0krMnhXcThpUjBPc2Z5?= =?utf-8?B?QmtiUWVFQjBtT0RDYkgxWFJXWXNEQlI2UFhQV3lLdFk2NXhGRkV6VXdpUVlT?= =?utf-8?B?U3lacjczNTFrbWQ3UVNGcGpYTldCNXpqWWM2bVkyWmZUcGFOY01uU2RVL3hN?= =?utf-8?B?OHROb3l5SEo3ZFI0UzBqQ2VpOGV1VVVZemlzRG8wWWhQWkE2QUp4MXBnU3FI?= =?utf-8?B?ZEVDd2tuRDlSS0d6S2NQcWRaUHFMd0VGcTRFUVhlQTBCL1ByOHdGZE05clN6?= =?utf-8?B?YWIwNnBtMUIyRDlxanBuMVNGTmlmVWhyTE5GVmZhTVJLSDJOeEs1SU9vVkRY?= =?utf-8?B?ZEV0S2k0aDJVSmdXT2FUK0JUM3JhU2pEcjBaWVdvbmpXTG9YMDF0bkFXVmZ2?= =?utf-8?Q?XTWtXHkjV3LdDMRWFLubrSA=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <3093F135BA11A14F94B0FA69720BFF6C@namprd10.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: =?utf-8?B?NENPa0JiNUNaU2NaeEZTUmVKaUZISkdrQVExNXBLL1hteXk0UExMdmtKdVZp?= =?utf-8?B?THJ4VjZpSllPeEltNzVSQzBFRHpINytHZlI5aDFkU2I2L2Fua05ldzNWWVdF?= =?utf-8?B?dGxwVG9Uc1gxYlVCdDZkeW5WdGc1SEZSaXVPc3BoMW5GYXpzeUNZcTdOZysx?= =?utf-8?B?ZHRpMlRkVk00T0NQc24wT0ZXQjU1NDRySnlJY1hpYjlNSGNRcERPNXpqV1Vw?= =?utf-8?B?ZWxEalhueVF3dWs2dmVrZ0hHSG83N1pwb1hhZ0N2V0VKbWZ4ME1yQW8zU1Yy?= =?utf-8?B?Qklxc1BmWVBmVjk4QjFuTURMNjlrR3kzM20xeFMrRTh5ZHlGOENGQVhrakRh?= =?utf-8?B?WXhBRmlTN2FXU2tndGJURVU3OTh0R2RlK2JEekU5SWROQXErcFl3NHYzeG9J?= =?utf-8?B?amdrbmFoY1pkaUlrVGVyY3JtelRJVUpxN0h4ZWxuRjcyQ1JDbWExWFhRaTR6?= =?utf-8?B?K3dmRFd5dDAxcjhJQ1QxbjN1aXdhL1JjdERINE0xY3ZLMnJMQXptNThuSG5o?= =?utf-8?B?RXBWMU85K0cyWGtWR1MwUjNwbHZ4K2hVeXIzTVlBVnRTYndzSzR6a3Vaajcv?= =?utf-8?B?SlFzVmR6dnBRaW40b2Z1c0h2N0RWa2ZPMUg4dGk2UzJpeGk0d1JqK2U1N0VS?= =?utf-8?B?STJ1YTZqNXNMdXpFVUhTSG44eW9hMDkyQjVlYnBEeENlRVVzakNZOTV0enFs?= =?utf-8?B?L2YyN1lWWWh3QVA0aFdnOXllOTNTeGRleWZCQWNOekpjbWdaa244L0xCYWFx?= =?utf-8?B?ajFEOFZBZ21INkx2b2xxdTdVQWYwQVRDNHpsSXFEM09lWG93SzZZQjdQdnRB?= =?utf-8?B?NUx3YThDdjlxb2ZWRHJ5VVZvUWtkeDJ5VDVkMit6Y1dGNTAvOGlRbXl6UmpL?= =?utf-8?B?QVZBbEFURloxdFFVQktqRkpqcDZOYmJuNjZGVDl6clBzc21hdnhwcWFJMHBl?= =?utf-8?B?OXNqNFZDL3pTMkp3MjAyRVQ2UUNSak5OYzRnTTVFZDc0Nm10QU5QQUN0NEND?= =?utf-8?B?TER2QlRyWmw3S0RFSWgxUWxPbFdFN0pLNDNVU2Z0UHpsRHQxM2NnUEtQNEFo?= =?utf-8?B?MnJhQlRDWUdWQWg0ek53bG5Vb3RyOEJuTVc5NE84alBhRHJkUlUrbWJPdVdk?= =?utf-8?B?T2hTOUNhYW8rOThmVFBJenJQYmF5Y2k1d2hFTXVvbHh5MStqbVk0RHp0eGFX?= =?utf-8?B?MFRoTHdoYmFjWFlWNXBkSW96UGJnSzFxUkczdVFyaCtUNDVBeGpocEtZMFJC?= =?utf-8?Q?bqmfQ9NZ8zMBTka?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fab0d4a9-1ffd-4593-b36f-08db6c156c62 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jun 2023 13:52:27.1576 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QQ2aIQXjLkXyL6UhJiTVBFqAaZLierp8s1aXV6Ud7h29C0xhfDboOqtG9DfN4gV0LG6p3xWFwRrNTbd8TgWsUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5343 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.573,FMLib:17.11.176.26 definitions=2023-06-13_04,2023-06-12_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 phishscore=0 malwarescore=0 mlxscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306130122 X-Proofpoint-GUID: swrImLP9jAtKdtIPDVPYRX_5JppBB4w- X-Proofpoint-ORIG-GUID: swrImLP9jAtKdtIPDVPYRX_5JppBB4w- X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: SGksDQoNCknigJlkIGxpa2UgdG8gcGluZyB0aGlzIHBhdGNoIGFnYWluIGZvciB0aGUgTWlkZGxl LWVuZCBhcHByb3ZhbCAob24gZ2NjL3RyZWUtb2JqZWN0LXNpemUuY2MgY2hhbmdlKS4NClRoaXMg aXMgYW4gaW1wb3J0YW50IHBhdGNoIHRvIExpbnV4IEtlcm5lbCBzZWN1cml0eS4gDQoNClRoZSBw YXRjaCBoYXMgYWRkcmVzc2VkIGFsbCB0aGUgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zIHJhaXNl ZCBkdXJpbmcgdGhlIHJldmlldyBwcm9jZXNzLiANClRoZSBDIEZFLCBEb2MgY2hhbmdlcyBoYXMg YmVlbiBhcHByb3ZlZC4NCk1vc3Qgb2YgdGhlIE1pZGRsZS1lbmQgY2hhbmdlcyBiZWVuIHJldmll d2VkIGJ5IFJpY2hhcmQgQmllbmVyIGFuZCBoYXZlIGJlZW4gdXBkYXRlZCBiYXNlZCBvbiBoaXMg c3VnZ2VzdGlvbnMuDQoNClRoZSBvbmx5IGNoYW5nZSB0aGF0IGhhcyBub3QgYmVlbiByZXZpZXdl ZCBpcyB0aGUgc2ltcGxlIGNoYW5nZSBpbiBnY2MvdHJlZS1vYmplY3Qtc2l6ZS5jYy4gIHdoaWNo IGlzIHNpbXBsZSBhbmQgc3RyYWlnaHRmb3J3YXJkLg0KUGxlYXNlIHJldmlldyB0aGlzIGNoYW5n ZSBhbmQgbGV0IG1lIGtub3cgd2hldGhlciBpdOKAmXMgb2theSBmb3IgY29tbWl0IHRvIHRydW5r Pw0KDQpUaGFua3MgYSBsb3QhDQoNClFpbmcNCg0KPiBPbiBKdW4gNSwgMjAyMywgYXQgMTE6MTIg QU0sIFFpbmcgWmhhbyB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPiB3 cm90ZToNCj4gDQo+IFBpbmcgb24gdGhpcyBwYXRjaC4NCj4gDQo+IFRoZSBDIEZFIGFuZCBEb2Mg Y2hhbmdlcyBoYXMgYmVlbiBhcHByb3ZlZC4NCj4gUGxlYXNlIGhlbHAgdG8gcmV2aWV3IGFuZCBh cHByb3ZlIHRoZSBNaWRkbGUtZW5kIGNoYW5nZS4NCj4gDQo+IE9yIHByb3ZpZGUgZ3VpZGUgb24g aG93IHRvIG1vdmUgdGhpcyBwYXRjaCBmb3J3YXJkLg0KPiANCj4gVGhhbmtzIGEgbG90IGZvciB0 aGUgaGVscC4NCj4gDQo+IFFpbmcNCj4gDQo+IEJlZ2luIGZvcndhcmRlZCBtZXNzYWdlOg0KPiAN Cj4gRnJvbTogUWluZyBaaGFvIDxxaW5nLnpoYW9Ab3JhY2xlLmNvbTxtYWlsdG86cWluZy56aGFv QG9yYWNsZS5jb20+Pg0KPiBTdWJqZWN0OiBbVjldW1BBVENIIDEvMl0gSGFuZGxlIGNvbXBvbmVu dF9yZWYgdG8gYSBzdHJ1Y3RyZS91bmlvbiBmaWVsZCBpbmNsdWRpbmcgZmxleGlibGUgYXJyYXkg bWVtYmVyIFtQUjEwMTgzMl0NCj4gRGF0ZTogTWF5IDMwLCAyMDIzIGF0IDI6MzA6MjggUE0gRURU DQo+IFRvOiBqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbTxtYWlsdG86am9zZXBoQGNvZGVzb3VyY2Vy eS5jb20+LCByaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbTxtYWlsdG86cmljaGFyZC5ndWVudGhl ckBnbWFpbC5jb20+LCBqYWt1YkByZWRoYXQuY29tPG1haWx0bzpqYWt1YkByZWRoYXQuY29tPiwg Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPg0K PiBDYzoga2Vlc2Nvb2tAY2hyb21pdW0ub3JnPG1haWx0bzprZWVzY29va0BjaHJvbWl1bS5vcmc+ LCBzaWRkaGVzaEBnb3RwbHQub3JnPG1haWx0bzpzaWRkaGVzaEBnb3RwbHQub3JnPiwgdWVja2Vy QHR1Z3Jhei5hdDxtYWlsdG86dWVja2VyQHR1Z3Jhei5hdD4sIFFpbmcgWmhhbyA8cWluZy56aGFv QG9yYWNsZS5jb208bWFpbHRvOnFpbmcuemhhb0BvcmFjbGUuY29tPj4NCj4gDQo+IFJpY2hhcmQg b3IgSmFrdWIsDQo+IA0KPiBjb3VsZCB5b3UgcGxlYXNlIHJldmlldyB0aGlzIHBhdGNoIGFuZCBz ZWUgd2hldGhlciBpdCdzIE9rYXkgdG8gY29tbWl0Pw0KPiANCj4gdGhhbmtzIGEgbG90Lg0KPiAN Cj4gUWluZw0KPiANCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gDQo+ IEdDQyBleHRlbnNpb24gYWNjZXB0cyB0aGUgY2FzZSB3aGVuIGEgc3RydWN0IHdpdGggYSBDOTkg ZmxleGlibGUgYXJyYXkgbWVtYmVyDQo+IGlzIGVtYmVkZGVkIGludG8gYW5vdGhlciBzdHJ1Y3Qg b3IgdW5pb24gKHBvc3NpYmx5IHJlY3Vyc2l2ZWx5KSBhcyB0aGUgbGFzdA0KPiBmaWVsZC4NCj4g X19idWlsdGluX29iamVjdF9zaXplIHNob3VsZCB0cmVhdCBzdWNoIHN0cnVjdCBhcyBmbGV4aWJs ZSBzaXplLg0KPiANCj4gZ2NjL2MvQ2hhbmdlTG9nOg0KPiANCj4gUFIgdHJlZS1vcHRpbWl6YXRp b24vMTAxODMyDQo+ICogYy1kZWNsLmNjPGh0dHA6Ly9jLWRlY2wuY2M+IChmaW5pc2hfc3RydWN0 KTogU2V0IFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZIGZvcg0KPiBzdHJ1Y3QvdW5pb24gdHlwZS4N Cj4gDQo+IGdjYy9sdG8vQ2hhbmdlTG9nOg0KPiANCj4gUFIgdHJlZS1vcHRpbWl6YXRpb24vMTAx ODMyDQo+ICogbHRvLWNvbW1vbi5jYzxodHRwOi8vbHRvLWNvbW1vbi5jYz4gKGNvbXBhcmVfdHJl ZV9zY2NzXzEpOiBDb21wYXJlIGJpdA0KPiBUWVBFX05PX05BTUVEX0FSR1NfU1REQVJHX1Agb3Ig VFlQRV9JTkNMVURFU19GTEVYQVJSQVkgcHJvcGVybHkNCj4gZm9yIGl0cyBjb3JyZXNwb25kaW5n IHR5cGUuDQo+IA0KPiBnY2MvQ2hhbmdlTG9nOg0KPiANCj4gUFIgdHJlZS1vcHRpbWl6YXRpb24v MTAxODMyDQo+ICogcHJpbnQtdHJlZS5jYzxodHRwOi8vcHJpbnQtdHJlZS5jYz4gKHByaW50X25v ZGUpOiBQcmludCBuZXcgYml0IHR5cGVfaW5jbHVkZXNfZmxleGFycmF5Lg0KPiAqIHRyZWUtY29y ZS5oIChzdHJ1Y3QgdHJlZV90eXBlX2NvbW1vbik6IFVzZSBiaXQgbm9fbmFtZWRfYXJnc19zdGRh cmdfcA0KPiBhcyB0eXBlX2luY2x1ZGVzX2ZsZXhhcnJheSBmb3IgUkVDT1JEX1RZUEUgb3IgVU5J T05fVFlQRS4NCj4gKiB0cmVlLW9iamVjdC1zaXplLmNjPGh0dHA6Ly90cmVlLW9iamVjdC1zaXpl LmNjPiAoYWRkcl9vYmplY3Rfc2l6ZSk6IEhhbmRsZSBzdHJ1Y3R1cmUvdW5pb24gdHlwZQ0KPiB3 aGVuIGl0IGhhcyBmbGV4aWJsZSBzaXplLg0KPiAqIHRyZWUtc3RyZWFtZXItaW4uY2M8aHR0cDov L3RyZWUtc3RyZWFtZXItaW4uY2M+ICh1bnBhY2tfdHNfdHlwZV9jb21tb25fdmFsdWVfZmllbGRz KTogU3RyZWFtDQo+IGluIGJpdCBub19uYW1lZF9hcmdzX3N0ZGFyZ19wIHByb3Blcmx5IGZvciBp dHMgY29ycmVzcG9uZGluZyB0eXBlLg0KPiAqIHRyZWUtc3RyZWFtZXItb3V0LmNjPGh0dHA6Ly90 cmVlLXN0cmVhbWVyLW91dC5jYz4gKHBhY2tfdHNfdHlwZV9jb21tb25fdmFsdWVfZmllbGRzKTog U3RyZWFtDQo+IG91dCBiaXQgbm9fbmFtZWRfYXJnc19zdGRhcmdfcCBwcm9wZXJseSBmb3IgaXRz IGNvcnJlc3BvbmRpbmcgdHlwZS4NCj4gKiB0cmVlLmggKFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZ KTogTmV3IG1hY3JvIFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZLg0KPiANCj4gZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6DQo+IA0KPiBQUiB0cmVlLW9wdGltaXphdGlvbi8xMDE4MzINCj4gKiBnY2Mu ZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1wcjEwMTgzMi5jOiBOZXcgdGVzdC4NCj4gDQo+IGNoYW5n ZSBUWVBFX0lOQ0xVREVTX0ZMRVhBUlJBWSB0byBUWVBFX0lOQ0xVREVTX0ZMRVhBUlJBWQ0KPiAt LS0NCj4gZ2NjL2MvYy1kZWNsLmNjPGh0dHA6Ly9jLWRlY2wuY2M+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDExICsrDQo+IGdjYy9sdG8vbHRvLWNvbW1vbi5jYzxodHRwOi8vbHRv LWNvbW1vbi5jYz4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKy0NCj4gZ2NjL3ByaW50 LXRyZWUuY2M8aHR0cDovL3ByaW50LXRyZWUuY2M+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgNSArDQo+IC4uLi9nY2MuZGcvYnVpbHRpbi1vYmplY3Qtc2l6ZS1wcjEwMTgzMi5jICAg ICB8IDEzNCArKysrKysrKysrKysrKysrKysNCj4gZ2NjL3RyZWUtY29yZS5oICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAyICsNCj4gZ2NjL3RyZWUtb2JqZWN0LXNpemUuY2M8aHR0 cDovL3RyZWUtb2JqZWN0LXNpemUuY2M+ICAgICAgICAgICAgICAgICAgICAgICB8ICAyMyArKy0N Cj4gZ2NjL3RyZWUtc3RyZWFtZXItaW4uY2M8aHR0cDovL3RyZWUtc3RyZWFtZXItaW4uY2M+ICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNSArLQ0KPiBnY2MvdHJlZS1zdHJlYW1lci1vdXQuY2M8 aHR0cDovL3RyZWUtc3RyZWFtZXItb3V0LmNjPiAgICAgICAgICAgICAgICAgICAgICB8ICAgNSAr LQ0KPiBnY2MvdHJlZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcg Ky0NCj4gOSBmaWxlcyBjaGFuZ2VkLCAxOTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkN Cj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2JqZWN0 LXNpemUtcHIxMDE4MzIuYw0KPiANCj4gZGlmZiAtLWdpdCBhL2djYy9jL2MtZGVjbC5jYzxodHRw Oi8vYy1kZWNsLmNjPiBiL2djYy9jL2MtZGVjbC5jYzxodHRwOi8vYy1kZWNsLmNjPg0KPiBpbmRl eCBiNWI0OTFjZjJkYS4uMGM3MTgxNTFmNmQgMTAwNjQ0DQo+IC0tLSBhL2djYy9jL2MtZGVjbC5j YzxodHRwOi8vYy1kZWNsLmNjPg0KPiArKysgYi9nY2MvYy9jLWRlY2wuY2M8aHR0cDovL2MtZGVj bC5jYz4NCj4gQEAgLTkyODIsNiArOTI4MiwxNyBAQCBmaW5pc2hfc3RydWN0IChsb2NhdGlvbl90 IGxvYywgdHJlZSB0LCB0cmVlIGZpZWxkbGlzdCwgdHJlZSBhdHRyaWJ1dGVzLA0KPiAgICAgIC8q IFNldCBERUNMX05PVF9GTEVYQVJSQVkgZmxhZyBmb3IgRklFTERfREVDTCB4LiAgKi8NCj4gICAg ICBERUNMX05PVF9GTEVYQVJSQVkgKHgpID0gIWlzX2ZsZXhpYmxlX2FycmF5X21lbWJlcl9wIChp c19sYXN0X2ZpZWxkLCB4KTsNCj4gDQo+ICsgICAgICAvKiBTZXQgVFlQRV9JTkNMVURFU19GTEVY QVJSQVkgZm9yIHRoZSBjb250ZXh0IG9mIHgsIHQuDQo+ICsgd2hlbiB4IGlzIGFuIGFycmF5IGFu ZCBpcyB0aGUgbGFzdCBmaWVsZC4gICovDQo+ICsgICAgICBpZiAoVFJFRV9DT0RFIChUUkVFX1RZ UEUgKHgpKSA9PSBBUlJBWV9UWVBFKQ0KPiArIFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZICh0KQ0K PiArICA9IGlzX2xhc3RfZmllbGQgJiYgZmxleGlibGVfYXJyYXlfbWVtYmVyX3R5cGVfcCAoVFJF RV9UWVBFICh4KSk7DQo+ICsgICAgICAvKiBSZWN1cnNpdmVseSBzZXQgVFlQRV9JTkNMVURFU19G TEVYQVJSQVkgZm9yIHRoZSBjb250ZXh0IG9mIHgsIHQNCj4gKyB3aGVuIHggaXMgYW4gdW5pb24g b3IgcmVjb3JkIGFuZCBpcyB0aGUgbGFzdCBmaWVsZC4gICovDQo+ICsgICAgICBlbHNlIGlmIChS RUNPUkRfT1JfVU5JT05fVFlQRV9QIChUUkVFX1RZUEUgKHgpKSkNCj4gKyBUWVBFX0lOQ0xVREVT X0ZMRVhBUlJBWSAodCkNCj4gKyAgPSBpc19sYXN0X2ZpZWxkICYmIFRZUEVfSU5DTFVERVNfRkxF WEFSUkFZIChUUkVFX1RZUEUgKHgpKTsNCj4gKw0KPiAgICAgIGlmIChERUNMX05BTUUgKHgpDQo+ IHx8IFJFQ09SRF9PUl9VTklPTl9UWVBFX1AgKFRSRUVfVFlQRSAoeCkpKQ0KPiBzYXdfbmFtZWRf ZmllbGQgPSB0cnVlOw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL2x0by9sdG8tY29tbW9uLmNjPGh0dHA6 Ly9sdG8tY29tbW9uLmNjPiBiL2djYy9sdG8vbHRvLWNvbW1vbi5jYzxodHRwOi8vbHRvLWNvbW1v bi5jYz4NCj4gaW5kZXggNTM3NTcwMjA0YjMuLmY2Yjg1YmJjNmY3IDEwMDY0NA0KPiAtLS0gYS9n Y2MvbHRvL2x0by1jb21tb24uY2M8aHR0cDovL2x0by1jb21tb24uY2M+DQo+ICsrKyBiL2djYy9s dG8vbHRvLWNvbW1vbi5jYzxodHRwOi8vbHRvLWNvbW1vbi5jYz4NCj4gQEAgLTEyNzUsNyArMTI3 NSwxMCBAQCBjb21wYXJlX3RyZWVfc2Njc18xICh0cmVlIHQxLCB0cmVlIHQyLCB0cmVlICoqbWFw KQ0KPiAgICAgIGlmIChBR0dSRUdBVEVfVFlQRV9QICh0MSkpDQo+IGNvbXBhcmVfdmFsdWVzIChU WVBFX1RZUEVMRVNTX1NUT1JBR0UpOw0KPiAgICAgIGNvbXBhcmVfdmFsdWVzIChUWVBFX0VNUFRZ X1ApOw0KPiAtICAgICAgY29tcGFyZV92YWx1ZXMgKFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdf UCk7DQo+ICsgICAgICBpZiAoRlVOQ19PUl9NRVRIT0RfVFlQRV9QICh0MSkpDQo+ICsgY29tcGFy ZV92YWx1ZXMgKFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdfUCk7DQo+ICsgICAgICBpZiAoUkVD T1JEX09SX1VOSU9OX1RZUEVfUCAodDEpKQ0KPiArIGNvbXBhcmVfdmFsdWVzIChUWVBFX0lOQ0xV REVTX0ZMRVhBUlJBWSk7DQo+ICAgICAgY29tcGFyZV92YWx1ZXMgKFRZUEVfUEFDS0VEKTsNCj4g ICAgICBjb21wYXJlX3ZhbHVlcyAoVFlQRV9SRVNUUklDVCk7DQo+ICAgICAgY29tcGFyZV92YWx1 ZXMgKFRZUEVfVVNFUl9BTElHTik7DQo+IGRpZmYgLS1naXQgYS9nY2MvcHJpbnQtdHJlZS5jYzxo dHRwOi8vcHJpbnQtdHJlZS5jYz4gYi9nY2MvcHJpbnQtdHJlZS5jYzxodHRwOi8vcHJpbnQtdHJl ZS5jYz4NCj4gaW5kZXggY2NlY2QzZGM2YTcuLjYyNDUxYjZjZjRlIDEwMDY0NA0KPiAtLS0gYS9n Y2MvcHJpbnQtdHJlZS5jYzxodHRwOi8vcHJpbnQtdHJlZS5jYz4NCj4gKysrIGIvZ2NjL3ByaW50 LXRyZWUuY2M8aHR0cDovL3ByaW50LXRyZWUuY2M+DQo+IEBAIC02MzIsNiArNjMyLDExIEBAIHBy aW50X25vZGUgKEZJTEUgKmZpbGUsIGNvbnN0IGNoYXIgKnByZWZpeCwgdHJlZSBub2RlLCBpbnQg aW5kZW50LA0KPiAmJiBUWVBFX0NYWF9PRFJfUCAobm9kZSkpDQo+IGZwdXRzICgiIGN4eC1vZHIt cCIsIGZpbGUpOw0KPiANCj4gKyAgICAgIGlmICgoY29kZSA9PSBSRUNPUkRfVFlQRQ0KPiArICAg fHwgY29kZSA9PSBVTklPTl9UWVBFKQ0KPiArICAmJiBUWVBFX0lOQ0xVREVTX0ZMRVhBUlJBWSAo bm9kZSkpDQo+ICsgZnB1dHMgKCIgaW5jbHVkZXMtZmxleGFycmF5IiwgZmlsZSk7DQo+ICsNCj4g ICAgICAvKiBUaGUgdHJhbnNwYXJlbnQtdW5pb24gZmxhZyBpcyB1c2VkIGZvciBkaWZmZXJlbnQg dGhpbmdzIGluDQo+IGRpZmZlcmVudCBub2Rlcy4gICovDQo+ICAgICAgaWYgKChjb2RlID09IFVO SU9OX1RZUEUgfHwgY29kZSA9PSBSRUNPUkRfVFlQRSkNCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtcHIxMDE4MzIuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtcHIxMDE4MzIuYw0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uNjAwNzhlMTE2MzQNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9idWlsdGluLW9iamVjdC1zaXplLXByMTAx ODMyLmMNCj4gQEAgLTAsMCArMSwxMzQgQEANCj4gKy8qIFBSIDEwMTgzMjoNCj4gKyAgIEdDQyBl eHRlbnNpb24gYWNjZXB0cyB0aGUgY2FzZSB3aGVuIGEgc3RydWN0IHdpdGggYSBDOTkgZmxleGli bGUgYXJyYXkNCj4gKyAgIG1lbWJlciBpcyBlbWJlZGRlZCBpbnRvIGFub3RoZXIgc3RydWN0IChw b3NzaWJseSByZWN1cnNpdmVseSkuDQo+ICsgICBfX2J1aWx0aW5fb2JqZWN0X3NpemUgd2lsbCB0 cmVhdCBzdWNoIHN0cnVjdCBhcyBmbGV4aWJsZSBzaXplLg0KPiArICAgSG93ZXZlciwgd2hlbiBh IHN0cnVjdHVyZSB3aXRoIG5vbi1DOTkgZmxleGlibGUgYXJyYXkgbWVtYmVyLCBpLmUsIHRyYWls aW5nDQo+ICsgICBbMF0sIFsxXSwgb3IgWzRdLCBpcyBlbWJlZGRlZCBpbnRvIGFudGhlciBzdHJ1 Y3QsIHRoZSBzdHVjdHVyZSB3aWxsIG5vdA0KPiArICAgYmUgdHJlYXRlZCBhcyBmbGV4aWJsZSBz aXplLiAgKi8NCj4gKy8qIHsgZGctZG8gcnVuIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLU8y IiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJidWlsdGluLW9iamVjdC1zaXplLWNvbW1vbi5oIg0K PiArDQo+ICsjZGVmaW5lIGV4cGVjdChwLCBfdikgZG8geyBcDQo+ICsgIHNpemVfdCB2ID0gX3Y7 IFwNCj4gKyAgaWYgKHAgPT0gdikgXA0KPiArICAgIF9fYnVpbHRpbl9wcmludGYgKCJvazogICVz ID09ICV6ZFxuIiwgI3AsIHApOyBcDQo+ICsgIGVsc2Uge1wNCj4gKyAgICBfX2J1aWx0aW5fcHJp bnRmICgiV0FUOiAlcyA9PSAlemQgKGV4cGVjdGVkICV6ZClcbiIsICNwLCBwLCB2KTsgXA0KPiAr ICAgIEZBSUwgKCk7IFwNCj4gKyAgfSBcDQo+ICt9IHdoaWxlICgwKTsNCj4gKw0KPiArDQo+ICtz dHJ1Y3QgQSB7DQo+ICsgIGludCBuOw0KPiArICBjaGFyIGRhdGFbXTsNCj4gK307DQo+ICsNCj4g K3N0cnVjdCBCIHsNCj4gKyAgaW50IG07DQo+ICsgIHN0cnVjdCBBIGE7DQo+ICt9Ow0KPiArDQo+ ICtzdHJ1Y3QgQyB7DQo+ICsgIGludCBxOw0KPiArICBzdHJ1Y3QgQiBiOw0KPiArfTsNCj4gKw0K PiArc3RydWN0IEEwIHsNCj4gKyAgaW50IG47DQo+ICsgIGNoYXIgZGF0YVswXTsNCj4gK307DQo+ ICsNCj4gK3N0cnVjdCBCMCB7DQo+ICsgIGludCBtOw0KPiArICBzdHJ1Y3QgQTAgYTsNCj4gK307 DQo+ICsNCj4gK3N0cnVjdCBDMCB7DQo+ICsgIGludCBxOw0KPiArICBzdHJ1Y3QgQjAgYjsNCj4g K307DQo+ICsNCj4gK3N0cnVjdCBBMSB7DQo+ICsgIGludCBuOw0KPiArICBjaGFyIGRhdGFbMV07 DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQjEgew0KPiArICBpbnQgbTsNCj4gKyAgc3RydWN0IEEx IGE7DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQzEgew0KPiArICBpbnQgcTsNCj4gKyAgc3RydWN0 IEIxIGI7DQo+ICt9Ow0KPiArDQo+ICtzdHJ1Y3QgQW4gew0KPiArICBpbnQgbjsNCj4gKyAgY2hh ciBkYXRhWzhdOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IEJuIHsNCj4gKyAgaW50IG07DQo+ICsg IHN0cnVjdCBBbiBhOw0KPiArfTsNCj4gKw0KPiArc3RydWN0IENuIHsNCj4gKyAgaW50IHE7DQo+ ICsgIHN0cnVjdCBCbiBiOw0KPiArfTsNCj4gKw0KPiArdm9sYXRpbGUgdm9pZCAqbWFnaWMxLCAq bWFnaWMyOw0KPiArDQo+ICtpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCj4gK3sN Cj4gKyAgc3RydWN0IEIgKm91dGVyOw0KPiArICBzdHJ1Y3QgQyAqb3V0ZXN0Ow0KPiArDQo+ICsg IC8qIE1ha2Ugc3VyZSBvcHRpbWl6YXRpb24gY2FuJ3QgZmluZCBzb21lIG90aGVyIG9iamVjdCBz aXplLiAqLw0KPiArICBvdXRlciA9ICh2b2lkICopbWFnaWMxOw0KPiArICBvdXRlc3QgPSAodm9p ZCAqKW1hZ2ljMjsNCj4gKw0KPiArICBleHBlY3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91 dGVyLT5hLCAxKSwgLTEpOw0KPiArICBleHBlY3QgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoJm91 dGVzdC0+YiwgMSksIC0xKTsNCj4gKyAgZXhwZWN0IChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKCZv dXRlc3QtPmIuYSwgMSksIC0xKTsNCj4gKw0KPiArICBzdHJ1Y3QgQjAgKm91dGVyMDsNCj4gKyAg c3RydWN0IEMwICpvdXRlc3QwOw0KPiArDQo+ICsgIC8qIE1ha2Ugc3VyZSBvcHRpbWl6YXRpb24g Y2FuJ3QgZmluZCBzb21lIG90aGVyIG9iamVjdCBzaXplLiAqLw0KPiArICBvdXRlcjAgPSAodm9p ZCAqKW1hZ2ljMTsNCj4gKyAgb3V0ZXN0MCA9ICh2b2lkICopbWFnaWMyOw0KPiArDQo+ICsgIGV4 cGVjdCAoX19idWlsdGluX29iamVjdF9zaXplICgmb3V0ZXIwLT5hLCAxKSwgc2l6ZW9mIChvdXRl cjAtPmEpKTsNCj4gKyAgZXhwZWN0IChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKCZvdXRlc3QwLT5i LCAxKSwgc2l6ZW9mIChvdXRlc3QwLT5iKSk7DQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVj dF9zaXplICgmb3V0ZXN0MC0+Yi5hLCAxKSwgc2l6ZW9mIChvdXRlc3QwLT5iLmEpKTsNCj4gKw0K PiArICBzdHJ1Y3QgQjEgKm91dGVyMTsNCj4gKyAgc3RydWN0IEMxICpvdXRlc3QxOw0KPiArDQo+ ICsgIC8qIE1ha2Ugc3VyZSBvcHRpbWl6YXRpb24gY2FuJ3QgZmluZCBzb21lIG90aGVyIG9iamVj dCBzaXplLiAqLw0KPiArICBvdXRlcjEgPSAodm9pZCAqKW1hZ2ljMTsNCj4gKyAgb3V0ZXN0MSA9 ICh2b2lkICopbWFnaWMyOw0KPiArDQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVjdF9zaXpl ICgmb3V0ZXIxLT5hLCAxKSwgc2l6ZW9mIChvdXRlcjEtPmEpKTsNCj4gKyAgZXhwZWN0IChfX2J1 aWx0aW5fb2JqZWN0X3NpemUgKCZvdXRlc3QxLT5iLCAxKSwgc2l6ZW9mIChvdXRlc3QxLT5iKSk7 DQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29iamVjdF9zaXplICgmb3V0ZXN0MS0+Yi5hLCAxKSwg c2l6ZW9mIChvdXRlc3QxLT5iLmEpKTsNCj4gKw0KPiArICBzdHJ1Y3QgQm4gKm91dGVybjsNCj4g KyAgc3RydWN0IENuICpvdXRlc3RuOw0KPiArDQo+ICsgIC8qIE1ha2Ugc3VyZSBvcHRpbWl6YXRp b24gY2FuJ3QgZmluZCBzb21lIG90aGVyIG9iamVjdCBzaXplLiAqLw0KPiArICBvdXRlcm4gPSAo dm9pZCAqKW1hZ2ljMTsNCj4gKyAgb3V0ZXN0biA9ICh2b2lkICopbWFnaWMyOw0KPiArDQo+ICsg IGV4cGVjdCAoX19idWlsdGluX29iamVjdF9zaXplICgmb3V0ZXJuLT5hLCAxKSwgc2l6ZW9mIChv dXRlcm4tPmEpKTsNCj4gKyAgZXhwZWN0IChfX2J1aWx0aW5fb2JqZWN0X3NpemUgKCZvdXRlc3Ru LT5iLCAxKSwgc2l6ZW9mIChvdXRlc3RuLT5iKSk7DQo+ICsgIGV4cGVjdCAoX19idWlsdGluX29i amVjdF9zaXplICgmb3V0ZXN0bi0+Yi5hLCAxKSwgc2l6ZW9mIChvdXRlc3RuLT5iLmEpKTsNCj4g Kw0KPiArICBET05FICgpOw0KPiArICByZXR1cm4gMDsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL2dj Yy90cmVlLWNvcmUuaCBiL2djYy90cmVlLWNvcmUuaA0KPiBpbmRleCA5ZDQ0YzA0YmYwMy4uYjJm NjE5YzVlZmMgMTAwNjQ0DQo+IC0tLSBhL2djYy90cmVlLWNvcmUuaA0KPiArKysgYi9nY2MvdHJl ZS1jb3JlLmgNCj4gQEAgLTE3MTIsNiArMTcxMiw4IEBAIHN0cnVjdCBHVFkoKCkpIHRyZWVfdHlw ZV9jb21tb24gew0KPiAgdW5zaWduZWQgdHlwZWxlc3Nfc3RvcmFnZSA6IDE7DQo+ICB1bnNpZ25l ZCBlbXB0eV9mbGFnIDogMTsNCj4gIHVuc2lnbmVkIGluZGl2aXNpYmxlX3AgOiAxOw0KPiArICAv KiBUWVBFX05PX05BTUVEX0FSR1NfU1REQVJHX1AgZm9yIGEgc3RkYXJnIGZ1bmN0aW9uLg0KPiAr ICAgICBPciBUWVBFX0lOQ0xVREVTX0ZMRVhBUlJBWSBmb3IgUkVDT1JEX1RZUEUgYW5kIFVOSU9O X1RZUEUuICAqLw0KPiAgdW5zaWduZWQgbm9fbmFtZWRfYXJnc19zdGRhcmdfcCA6IDE7DQo+ICB1 bnNpZ25lZCBzcGFyZSA6IDE7DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3RyZWUtb2JqZWN0LXNp emUuY2M8aHR0cDovL3RyZWUtb2JqZWN0LXNpemUuY2M+IGIvZ2NjL3RyZWUtb2JqZWN0LXNpemUu Y2M8aHR0cDovL3RyZWUtb2JqZWN0LXNpemUuY2M+DQo+IGluZGV4IDlhOTM2YTkxOTgzLi5hNjJh ZjA1MDA1NiAxMDA2NDQNCj4gLS0tIGEvZ2NjL3RyZWUtb2JqZWN0LXNpemUuY2M8aHR0cDovL3Ry ZWUtb2JqZWN0LXNpemUuY2M+DQo+ICsrKyBiL2djYy90cmVlLW9iamVjdC1zaXplLmNjPGh0dHA6 Ly90cmVlLW9iamVjdC1zaXplLmNjPg0KPiBAQCAtNjMzLDExICs2MzMsMzIgQEAgYWRkcl9vYmpl Y3Rfc2l6ZSAoc3RydWN0IG9iamVjdF9zaXplX2luZm8gKm9zaSwgY29uc3RfdHJlZSBwdHIsDQo+ ICAgdiA9IE5VTExfVFJFRTsNCj4gICBicmVhazsNCj4gY2FzZSBDT01QT05FTlRfUkVGOg0KPiAt ICAgIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAodikpICE9IEFSUkFZX1RZUEUpDQo+ICsgICAg LyogV2hlbiB0aGUgcmVmIGlzIG5vdCB0byBhbiBhZ2dyZWdhdGUgdHlwZSwgaS5lLCBhbiBhcnJh eSwNCj4gKyAgICAgICBhIHJlY29yZCBvciBhIHVuaW9uLCBpdCB3aWxsIG5vdCBoYXZlIGZsZXhp YmxlIHNpemUsDQo+ICsgICAgICAgY29tcHV0ZSB0aGUgb2JqZWN0IHNpemUgZGlyZWN0bHkuICAq Lw0KPiArICAgIGlmICghQUdHUkVHQVRFX1RZUEVfUCAoVFJFRV9UWVBFICh2KSkpDQo+ICAgICB7 DQo+IHYgPSBOVUxMX1RSRUU7DQo+IGJyZWFrOw0KPiAgICAgfQ0KPiArICAgIC8qIGlmIHRoZSBy ZWYgaXMgdG8gYSByZWNvcmQgb3IgdW5pb24gdHlwZSwgYnV0IHRoZSB0eXBlDQo+ICsgICAgICAg ZG9lcyBub3QgaW5jbHVkZSBhIGZsZXhpYmxlIGFycmF5IHJlY3Vyc2l2ZWx5LCBjb21wdXRlDQo+ ICsgICAgICAgdGhlIG9iamVjdCBzaXplIGRpcmVjdGx5LiAgKi8NCj4gKyAgICBpZiAoUkVDT1JE X09SX1VOSU9OX1RZUEVfUCAoVFJFRV9UWVBFICh2KSkpDQo+ICsgICAgICB7DQo+ICsgaWYgKCFU WVBFX0lOQ0xVREVTX0ZMRVhBUlJBWSAoVFJFRV9UWVBFICh2KSkpDQo+ICsgIHsNCj4gKyAgICB2 ID0gTlVMTF9UUkVFOw0KPiArICAgIGJyZWFrOw0KPiArICB9DQo+ICsgZWxzZQ0KPiArICB7DQo+ ICsgICAgdiA9IFRSRUVfT1BFUkFORCAodiwgMCk7DQo+ICsgICAgYnJlYWs7DQo+ICsgIH0NCj4g KyAgICAgIH0NCj4gKyAgICAvKiBOb3cgdGhlIHJlZiBpcyB0byBhbiBhcnJheSB0eXBlLiAgKi8N Cj4gKyAgICBnY2NfYXNzZXJ0IChUUkVFX0NPREUgKFRSRUVfVFlQRSAodikpID09IEFSUkFZX1RZ UEUpOw0KPiAgIGlzX2ZsZXhpYmxlX2FycmF5X21lbV9yZWYgPSBhcnJheV9yZWZfZmxleGlibGVf c2l6ZV9wICh2KTsNCj4gICB3aGlsZSAodiAhPSBwdF92YXIgJiYgVFJFRV9DT0RFICh2KSA9PSBD T01QT05FTlRfUkVGKQ0KPiAgICAgaWYgKFRSRUVfQ09ERSAoVFJFRV9UWVBFIChUUkVFX09QRVJB TkQgKHYsIDApKSkNCj4gZGlmZiAtLWdpdCBhL2djYy90cmVlLXN0cmVhbWVyLWluLmNjPGh0dHA6 Ly90cmVlLXN0cmVhbWVyLWluLmNjPiBiL2djYy90cmVlLXN0cmVhbWVyLWluLmNjPGh0dHA6Ly90 cmVlLXN0cmVhbWVyLWluLmNjPg0KPiBpbmRleCBjODAzODAwODYyYy4uYmUyYmRiYjc2OTkgMTAw NjQ0DQo+IC0tLSBhL2djYy90cmVlLXN0cmVhbWVyLWluLmNjPGh0dHA6Ly90cmVlLXN0cmVhbWVy LWluLmNjPg0KPiArKysgYi9nY2MvdHJlZS1zdHJlYW1lci1pbi5jYzxodHRwOi8vdHJlZS1zdHJl YW1lci1pbi5jYz4NCj4gQEAgLTM4Niw3ICszODYsMTAgQEAgdW5wYWNrX3RzX3R5cGVfY29tbW9u X3ZhbHVlX2ZpZWxkcyAoc3RydWN0IGJpdHBhY2tfZCAqYnAsIHRyZWUgZXhwcikNCj4gIGlmIChB R0dSRUdBVEVfVFlQRV9QIChleHByKSkNCj4gICAgVFlQRV9UWVBFTEVTU19TVE9SQUdFIChleHBy KSA9ICh1bnNpZ25lZCkgYnBfdW5wYWNrX3ZhbHVlIChicCwgMSk7DQo+ICBUWVBFX0VNUFRZX1Ag KGV4cHIpID0gKHVuc2lnbmVkKSBicF91bnBhY2tfdmFsdWUgKGJwLCAxKTsNCj4gLSAgVFlQRV9O T19OQU1FRF9BUkdTX1NUREFSR19QIChleHByKSA9ICh1bnNpZ25lZCkgYnBfdW5wYWNrX3ZhbHVl IChicCwgMSk7DQo+ICsgIGlmIChGVU5DX09SX01FVEhPRF9UWVBFX1AgKGV4cHIpKQ0KPiArICAg IFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdfUCAoZXhwcikgPSAodW5zaWduZWQpIGJwX3VucGFj a192YWx1ZSAoYnAsIDEpOw0KPiArICBpZiAoUkVDT1JEX09SX1VOSU9OX1RZUEVfUCAoZXhwcikp DQo+ICsgICAgVFlQRV9JTkNMVURFU19GTEVYQVJSQVkgKGV4cHIpID0gKHVuc2lnbmVkKSBicF91 bnBhY2tfdmFsdWUgKGJwLCAxKTsNCj4gIFRZUEVfUFJFQ0lTSU9OIChleHByKSA9IGJwX3VucGFj a192YXJfbGVuX3Vuc2lnbmVkIChicCk7DQo+ICBTRVRfVFlQRV9BTElHTiAoZXhwciwgYnBfdW5w YWNrX3Zhcl9sZW5fdW5zaWduZWQgKGJwKSk7DQo+ICNpZmRlZiBBQ0NFTF9DT01QSUxFUg0KPiBk aWZmIC0tZ2l0IGEvZ2NjL3RyZWUtc3RyZWFtZXItb3V0LmNjPGh0dHA6Ly90cmVlLXN0cmVhbWVy LW91dC5jYz4gYi9nY2MvdHJlZS1zdHJlYW1lci1vdXQuY2M8aHR0cDovL3RyZWUtc3RyZWFtZXIt b3V0LmNjPg0KPiBpbmRleCA1NzUxZjc3MjczYi4uNmQ0YTlkOTBkYTYgMTAwNjQ0DQo+IC0tLSBh L2djYy90cmVlLXN0cmVhbWVyLW91dC5jYzxodHRwOi8vdHJlZS1zdHJlYW1lci1vdXQuY2M+DQo+ ICsrKyBiL2djYy90cmVlLXN0cmVhbWVyLW91dC5jYzxodHRwOi8vdHJlZS1zdHJlYW1lci1vdXQu Y2M+DQo+IEBAIC0zNTUsNyArMzU1LDEwIEBAIHBhY2tfdHNfdHlwZV9jb21tb25fdmFsdWVfZmll bGRzIChzdHJ1Y3QgYml0cGFja19kICpicCwgdHJlZSBleHByKQ0KPiAgaWYgKEFHR1JFR0FURV9U WVBFX1AgKGV4cHIpKQ0KPiAgICBicF9wYWNrX3ZhbHVlIChicCwgVFlQRV9UWVBFTEVTU19TVE9S QUdFIChleHByKSwgMSk7DQo+ICBicF9wYWNrX3ZhbHVlIChicCwgVFlQRV9FTVBUWV9QIChleHBy KSwgMSk7DQo+IC0gIGJwX3BhY2tfdmFsdWUgKGJwLCBUWVBFX05PX05BTUVEX0FSR1NfU1REQVJH X1AgKGV4cHIpLCAxKTsNCj4gKyAgaWYgKEZVTkNfT1JfTUVUSE9EX1RZUEVfUCAoZXhwcikpDQo+ ICsgICAgYnBfcGFja192YWx1ZSAoYnAsIFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdfUCAoZXhw ciksIDEpOw0KPiArICBpZiAoUkVDT1JEX09SX1VOSU9OX1RZUEVfUCAoZXhwcikpDQo+ICsgICAg YnBfcGFja192YWx1ZSAoYnAsIFRZUEVfSU5DTFVERVNfRkxFWEFSUkFZIChleHByKSwgMSk7DQo+ ICBicF9wYWNrX3Zhcl9sZW5fdW5zaWduZWQgKGJwLCBUWVBFX1BSRUNJU0lPTiAoZXhwcikpOw0K PiAgYnBfcGFja192YXJfbGVuX3Vuc2lnbmVkIChicCwgVFlQRV9BTElHTiAoZXhwcikpOw0KPiB9 DQo+IGRpZmYgLS1naXQgYS9nY2MvdHJlZS5oIGIvZ2NjL3RyZWUuaA0KPiBpbmRleCAwYjcyNjYz ZTZhMS4uZDQ3NTUzMTdhNGMgMTAwNjQ0DQo+IC0tLSBhL2djYy90cmVlLmgNCj4gKysrIGIvZ2Nj L3RyZWUuaA0KPiBAQCAtNzg2LDcgKzc4NiwxMiBAQCBleHRlcm4gdm9pZCBvbXBfY2xhdXNlX3Jh bmdlX2NoZWNrX2ZhaWxlZCAoY29uc3RfdHJlZSwgY29uc3QgY2hhciAqLCBpbnQsDQo+ICAgKC4u LikgcHJvdG90eXBlLCB3aGVyZSBhcmd1bWVudHMgY2FuIGJlIGFjY2Vzc2VkIHdpdGggdmFfc3Rh cnQgYW5kDQo+ICAgdmFfYXJnKSwgYXMgb3Bwb3NlZCB0byBhbiB1bnByb3RvdHlwZWQgZnVuY3Rp b24uICAqLw0KPiAjZGVmaW5lIFRZUEVfTk9fTkFNRURfQVJHU19TVERBUkdfUChOT0RFKSBcDQo+ IC0gIChUWVBFX0NIRUNLIChOT0RFKS0+dHlwZV9jb21tb24ubm9fbmFtZWRfYXJnc19zdGRhcmdf cCkNCj4gKyAgKEZVTkNfT1JfTUVUSE9EX0NIRUNLIChOT0RFKS0+dHlwZV9jb21tb24ubm9fbmFt ZWRfYXJnc19zdGRhcmdfcCkNCj4gKw0KPiArLyogVHJ1ZSBpZiB0aGlzIFJFQ09SRF9UWVBFIG9y IFVOSU9OX1RZUEUgaW5jbHVkZXMgYSBmbGV4aWJsZSBhcnJheSBtZW1iZXINCj4gKyAgIGFzIHRo ZSBsYXN0IGZpZWxkIHJlY3Vyc2l2ZWx5LiAgKi8NCj4gKyNkZWZpbmUgVFlQRV9JTkNMVURFU19G TEVYQVJSQVkoTk9ERSkgXA0KPiArICAoUkVDT1JEX09SX1VOSU9OX0NIRUNLIChOT0RFKS0+dHlw ZV9jb21tb24ubm9fbmFtZWRfYXJnc19zdGRhcmdfcCkNCj4gDQo+IC8qIEluIGFuIElERU5USUZJ RVJfTk9ERSwgdGhpcyBtZWFucyB0aGF0IGFzc2VtYmxlX25hbWUgd2FzIGNhbGxlZCB3aXRoDQo+ ICAgdGhpcyBzdHJpbmcgYXMgYW4gYXJndW1lbnQuICAqLw0KPiAtLQ0KPiAyLjMxLjENCj4gDQo+ IA0KDQo=