From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 512FE3858D38 for ; Tue, 16 Jan 2024 20:26:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 512FE3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 512FE3858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705436766; cv=pass; b=kp3nLi84vSQnj21LAHY2Gar795EgsStziFlBTIcjEQdbIh4Ns4ttyxogKQsetPQJpvZdota9Slm+JZHw+8aROgc4h290x+qKAb7SJ1BM2EzQmnqcm0AswKpWvrJynqklk7b6xsu2yqwpFSBHtewbkf1nNt0w+okQuvTkIZPfpKo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1705436766; c=relaxed/simple; bh=502/+d5wMr/SejIRP6Aj/OqbC/wwbmUwv2AzfDGvn88=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=V7OL3NMjQuvX4x43nt6tNQvPMHiWNSIt1/Li3cUPaEuXxphrArbSkcOwqzaKoSDPEwlKKG0INKnJcO+lt4LyCfDf50nOv6cPdXJ8OwqHSp843192eO7NtKUlzTjiWWEGfh4JeEEhb60BPrttwbEaKBo3d/3MqndN7cSxnCT1E/4= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 40GKEO9t031443; Tue, 16 Jan 2024 20:26:01 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-11-20; bh=502/+d5wMr/SejIRP6Aj/OqbC/wwbmUwv2AzfDGvn88=; b=lsK6PrGhVoXwPf9W68O+kix39Dl3gG7asVWrWtOU4D8WHqPIAqqWk/GOBOk+0kpf1Y4L yxNz6ctPP3IYwSLi7NEkKTXSOnSIKpt04XXqRxKtDPlqDSeC8mXsaPuZX8ormVlpz1Pd vP7bhfcTMPFPVItOx3+vcy8KwFc40tKKl6NdTr4KwLXCvanbjs50YG+8ljiR1U8gqGsa Ze53DUOK7fyryEIhQRK0HXiEiWqM41ZL+xZPy6lXwnxCh/HslLLyJpJTbY/Hy56gPIQ2 7IsrNasOgD/LUZSIbi7R/iaj4yRvzbMUhzbBne9G5kak5ElqvTh2v2843MOToK+TVkMc jw== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3vkk2u5x5x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 16 Jan 2024 20:26:01 +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 40GIfETc035833; Tue, 16 Jan 2024 20:25:59 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3vkgy8scq2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 16 Jan 2024 20:25:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jjOinMH2PwFWGELW9jXG/GCCLzYUqBdOD0/fPUUCgbHVp6UXZBwh+TKDb3UEOZA50C5TKuO+VdVg8POpp4W9Lp+kzksvQ5lKnHewLbQAe26ZkZrio8UVK87SOaFZ/KSUmbQ4ElfPM30LbjijwVt2TQmCdfhP3jvNAoaYPGRsyZNZpFEv3+R9JcCCylzF5a0ajd0LH3mb8WiVPxAdF+/Wev1AzJE9a0b6Wt7fP87I41vH3E7QElIOJmyWuZQk7GLaqG8hA0KX/T1ccVa94y5/AnxDNxAuk5H4u9NUCweUp8WPVAn3HFSX7UOSYvaMvFZBKya3FP53He9+Z6aZyfP8yQ== 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=502/+d5wMr/SejIRP6Aj/OqbC/wwbmUwv2AzfDGvn88=; b=gqeLsZIzc32NTwEG+lZsMfFI5d7049N2y3biBbo7jWNmqzJrOyTSzwqrQRdLr8gG98n3p3hX1gwVnXMVLB1y3UrSPAJJifaZN9N7iWobgTZ/9uugDCgpEyM2cMtlJ9U9kd0Ym+iFugjWKYm3d6oSThe2GHRiNx2LOijhvlxQ5bTlWvqf45LqqdpRPuoXb0jLczVpVUiXJVf3xCcsNNAJQX6OHNxP0JAuy/zC1ZQRNqn4NaXOa56zA4JLf1W7yj8DtrmYwEFqhrQmmvJsHZ/JzKbW1Qbmauy+z6Qwms8V3sc1Qob4foo1O2HKcwluFPl0PuPHdzn284hV8ceYTgUWEw== 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=502/+d5wMr/SejIRP6Aj/OqbC/wwbmUwv2AzfDGvn88=; b=DR4T+XInTuQR7hipTQZRd+BdIB3oreyFWZ2/mBKstD35laLUL7jbORbGhWJ0LuIpogFHVMSE4UvLTAVeka+g6vtATE+XGzdPEgmiW7DqplvK9uB/A2VvpgFPO3yTB7MyX4ffKbKfQhYl78rVUZi+v3aP+eygXrgOeOSbKkOinHs= Received: from CH3PR10MB7957.namprd10.prod.outlook.com (2603:10b6:610:1bf::19) by SJ0PR10MB4735.namprd10.prod.outlook.com (2603:10b6:a03:2d1::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.18; Tue, 16 Jan 2024 20:25:56 +0000 Received: from CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::437b:d21c:4013:e014]) by CH3PR10MB7957.namprd10.prod.outlook.com ([fe80::437b:d21c:4013:e014%6]) with mapi id 15.20.7181.019; Tue, 16 Jan 2024 20:25:56 +0000 From: Qing Zhao To: Richard Biener , "jakub@redhat.com" CC: gcc Patches Subject: Re: HELP: Questions on unshare_expr Thread-Topic: HELP: Questions on unshare_expr Thread-Index: AQHaRW+uruqoybhuuUCPXa2beNzsb7DWXdUAgAARQACABDFGAIACSSOA Date: Tue, 16 Jan 2024 20:25:56 +0000 Message-ID: <4D91B027-0B34-4DB4-9338-1B9DE6E2EB00@oracle.com> References: <50C8811D-9C2A-4FFB-9FC5-D24C5A76F868@oracle.com> <70C34042-B741-4697-9524-396CB9D40DF8@gmail.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.3731.700.6) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR10MB7957:EE_|SJ0PR10MB4735:EE_ x-ms-office365-filtering-correlation-id: 484100cf-e3f3-4d76-522b-08dc16d15821 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +LQwvrbPUvgSui5idz9cyHm8/nagKG3lxPMDq0kVX9uuP1GJ7rBhPiIuWuK/8qHlaXP1MTsQeYjeilpc9mMeLwtfonWhPEqg7Qxl1SJ4B3+n6kGfmUICWwrQz1JEcDAu4VmCW/r4VC9DIjR5qleTA0NZjeh/T7qSYW84v6Xzr2RkoDX0o0YcqFNgVaBicFRbxEw0Y+NHHjOPQPO472YbZFLsgRyTOd6AU1U0S0pHzA1JtPBeoeYrmyliZXuw6NOEhqG7lhYuYYixEYX7vT/ams6c5uR8GkudkzrklJJ4/Roq+e+3wqwNPzl4Y6ClHHdRU3NT0fEjGzJu3MOh67mLkwV6WfSCse2pvfbUxRgfmUexFRRO7F/mjYvOXb2qMdgVj8Z4ht7cnYtIBBQEUsVy2XYqBvdui7N6ucB7OfkfnsUkOHDkdzy2I5L9C3mvJsJcr4YhuLtB7GvqZ71h+FKXmfKjv0fBJqhuq5bRGOCytMNYHUBrYJqLSQ1xysrMPv8tFDtDnTefOjCWvc7NbD66xLDgCvbkBon5Wkdrf0srXGubD+Lltay73txO07PL+26Ie5oPH39QHoyzqpK593LQeBnwxPe15JeFvijeMU/bCjj0yem4yl5RIGiGns/ajT8XnbwwKoMdqjaHY3mmiiI4Dw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR10MB7957.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(396003)(376002)(346002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(5660300002)(4326008)(2906002)(8676002)(8936002)(44832011)(66556008)(66946007)(53546011)(6512007)(76116006)(71200400001)(64756008)(316002)(66476007)(91956017)(66446008)(6506007)(110136005)(966005)(6486002)(478600001)(41300700001)(122000001)(38070700009)(86362001)(33656002)(38100700002)(2616005)(36756003)(83380400001)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N3BraW5QVnc0M0VXRmFramF3eUJlbnlhOFFOa1FwaWVjOVUzQ0pWSUxXZzk2?= =?utf-8?B?eldSR2Evc0pQWnBCaGxia3NXZ0RsaU5vSm9NT2dCVHhMTjlhcUZMV3hnT251?= =?utf-8?B?TklMNmxWSHZKNnRJSDgydm9YNXhKRzdpSzkvTWgydnU1MkJOM0NOcWhJMnNj?= =?utf-8?B?WUxKNEJ6K0hEOWdGRjVEdVU5VEhTck9SRyt4OXlMY0w5L3VEM2FHWlpOelNw?= =?utf-8?B?d0hKOHVITzJ6azBJQ1k1a2JDZzVwOWJJWVhIVDVZM1RaUFU2NFZOd01uTmIx?= =?utf-8?B?YjlMUmlDcXB5WWtYdXFwMmpFMENDNG1KeFlSblZjbWJsZ1daeEtlRDlrRyta?= =?utf-8?B?amt3VU84Rnh3Q29IOXJkOWxyRkQ2KzFldC93RjVpV0dXOEZJZ1NFWHBDQ1JT?= =?utf-8?B?cVVuaDRCR0dUNEdDY0xrRFFhZk02QmJ3ODc5U0hxSTZ6bzc3M2swZGJiVG9i?= =?utf-8?B?NHV1VmJvRCtlSEdLRUJHa3Y0ZDNWMlF4TDBxOVJrazYxQ3NCQXZGbnpEZ3VC?= =?utf-8?B?R2JEVjlkdm5mNkVvdGxJKys0THpiODUrSFdrTGM2NUJQajFka3dWR3ZhK3Ax?= =?utf-8?B?bUc5ak9GanNmVjlTL2c5TmlieURmNUtHZXJxQVhlZkVqaGE0b1o5eE94bVJH?= =?utf-8?B?ZFdZckZGaVNkcXZRK0pOcmYyNFpkTjcwQVlYMGRXL0Z1VEVEdzR1a2FsWWgz?= =?utf-8?B?ZVBHaFhOMWF2eXdyd3lrWDZSWGkzUTU4NDRvNEZPcEcrKzdKTjd6bTVWVWQ2?= =?utf-8?B?Vm1uRmJVRG9VZHNlelFrK0EzRFNHTE1jR3VnVmMyODE0UlZYRWo1aFlqRUtB?= =?utf-8?B?dndWeWMrcXkydHgyOGsyWW9YNVN4c3plQmtTVW85R0dtV2VMaDg3YStuUnhI?= =?utf-8?B?MlQxOUwrZWk4U0hMd3ZUYjRwSmM4Q1d2cUNIWUdIZi9hR0QwQ1FsbWNpM2Jo?= =?utf-8?B?L2FZSzlMM0xBcTNCMzI3TWZ5SkZDR0VVUWpJcUd4a2FGRmlNM1A2RVFrVFFL?= =?utf-8?B?RkF3OEZOY1phSWJuekN0MmkreTF6ZmZCVSs0YzhFaXc5cTZUbWUxMDhaMjND?= =?utf-8?B?ZzZOdEpDZFZncy9UY2NnWG9wMkFHWGtrN0dwL2k5cS9nSGRsQ3dxSkJqN0lz?= =?utf-8?B?WTVEeXFrcGFFd0NRc3RCcGlWQ0JBLzJtLy9LeGRpejhJYnVoY2VXU3U2OFpW?= =?utf-8?B?NkhGeThLOWsxRGNudVF1bVN4RzJ0K2VsMlNoRTk2U1JnTG56VXJvV1dNSm9J?= =?utf-8?B?LytHQW04TW9KVlZna1VSWDhLdmp2NlV4L1ZNbUpRWVgrd0xESTI3Q01wc2hB?= =?utf-8?B?T3hHRnBFcVZjcFV2ZHJ3UUtsNHZHQnFjS1B0MkZ4SDRyNXd1TWpXanRtVWtM?= =?utf-8?B?N3lqczJpQWNOYXlIM09xMHA3eUppOW5JUjFNSDQ2TUQwVWVkL0p0U1ducGE3?= =?utf-8?B?N2xSdnlXZkhqSXZhcERwT1FjRHYrTU9EVUxycnI5TmhpeXNKQVI0aGdmWTly?= =?utf-8?B?WUh0RUxJdzhCWDRRUk01RjRhN2cvVWthWklGbkhFaml6Mzh3Z1NSRFZBL01o?= =?utf-8?B?L0RXcmtxWlRyRjVhZlhRQlJJc1hoYUFud2ZmVkJNTWgxa2laSlJWZ3lDTjM3?= =?utf-8?B?SCtLVmQwQ2ZidFFsem0yZW1lNWZJUVE5N2hVcFd4Qzhwb242Y0lyanN6T1NE?= =?utf-8?B?bnphYW9IK2RUVlE4SG41dTBlQVhJQ3RiYm96SGpJdU5iWEhYWGhjZkRzVVpv?= =?utf-8?B?aSsxWXhtV1p2bHhDUVlOa1dWNDBJVE5nRlJNaHAvbGxETHVpbXE0OUZWYTFQ?= =?utf-8?B?UkVTbm8ydGVLd05YY3V5WlVTVzNhcGpjWlBCaGozWWJ3eUpNdXl1NU9Nd0Yx?= =?utf-8?B?c3dkTitNSjNHa1NMdTMxYW0wejJqK0tPT1g1TDFPajJiWDZQbXprNzdnNStt?= =?utf-8?B?RjBtcmxHVy91M0IxTS9lN2pIRmVNS016VkM3cy9QL2N1bTJTMXB4amNPemVG?= =?utf-8?B?aUtTNFYzMDlqK01US1JNVzg2OHJ4ZWJBWjNvWG1ObjBoYmV1akIxd2FiVlJI?= =?utf-8?B?REpXdWtoSCtCb2oydGZwR1hLRU83R0Y0dnVCbHBDeE9EMmdGbnhGSWMrWHU3?= =?utf-8?B?ZDRMeUNKOUl3ZWY1Z3h5bEdQYVhMbDBQV1BTUGc2cVFwM1JPS0RhSzYvc25V?= =?utf-8?Q?Pr8ErsA9NMwI/BxJbqCjr3s=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 2I3boG7Y7BKo4kRjaNVB9mKZ5zvcXjUFVxXZCAeBz9aokYEgYY6L2aSgLyeqyfzpp2sbXkJ3KuCVDbyFyhjjEFSnOl1EDcEK47Xyapp6q/UMOkxxPZyVoY9820kahkCsqGo+57P/3Dguy/tBeJweYzUQKEHHwu0BGt62nSvg4w/U2aZG2Txbp+NxRzfRWWSsy8+NI1iufueVxGwnskE7VoXjjJ/aROFUbWusx/8WpFgR2hQnmbC17Gb8Hy4msNxCKpuaE+YX6IlNrJISR9e3gx66Lxf/wj0wm28O/A+VLXaoDJlVVkTuWt/5hUyQIsU0qb3SbH32mbZDxsTHNw39IDth5PgOdR2ZWh2eDD7hOgZ3xwbJsdWvATxI9+/AubOULFGIfiHN6lY0QnXNqpURn+qQbhGbZw/Re7X1NUFDAGD25Ibrx+glxxQe2NFT2ltbpSRSpAJi8tThdRam7sooC6ysFBkJdjua+XmTt0C6OSEhQI2AE3ba2WhGc1O+/HUytWOIKxdHTyRQzlPA9WITYk92Zjw43NU56+46RuVqPMVqCg5FjuCUx7lsP2d2X2mRIpjsJz18mGe52cYb1RSPz0tsw7E41J16sNC6QY7ZTf8= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR10MB7957.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 484100cf-e3f3-4d76-522b-08dc16d15821 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2024 20:25:56.1902 (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: OqEHr1NJPppMzurDq4yklEjp+UBrqLQbvjsp/I/xcjZFNgvcfWefTcIJeeeVVsWYPu/ay6/Szd5eCIpLZ5W/9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR10MB4735 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-16_12,2024-01-16_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 adultscore=0 phishscore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401160161 X-Proofpoint-ORIG-GUID: cT192t-bc0szzW9zcvqPj2UsFjyWeRSr X-Proofpoint-GUID: cT192t-bc0szzW9zcvqPj2UsFjyWeRSr X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,WEIRD_PORT 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: DQoNCj4gT24gSmFuIDE1LCAyMDI0LCBhdCA0OjMxIEFNLCBSaWNoYXJkIEJpZW5lciA8cmljaGFy ZC5ndWVudGhlckBnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4+IEFsbCBteSBxdWVzdGlvbnMgZm9y IHVuc2hhcmVfZXhwciByZWxhdGUgdG8gYSAgTFRPIGJ1ZyB0aGF0IEkgY3VycmVudGx5IHN0dWNr IHdpdGgNCj4+IHdoZW4gdXNpbmcgLkFDQ0VTU19XSVRIX1NJWkUgaW4gYm91bmQgc2FuaXRpemVy IChvbmx5IHdpdGggLWZsdG8sIHdpdGhvdXQgLWZsdG8sIG5vIGlzc3VlKToNCj4+IA0KPj4gW29w Y0BxaW56aGFvLWFhcmNoNjQtb2w4IGdjY10kIHNoIHQNCj4+IGR1cmluZyBJUEEgcGFzczogbW9k cmVmDQo+PiB0LmM6MjA6MTogaW50ZXJuYWwgY29tcGlsZXIgZXJyb3I6IHRyZWUgY29kZSDigJhz c2FfbmFtZeKAmSBpcyBub3Qgc3VwcG9ydGVkIGluIExUTyBzdHJlYW1zDQo+PiAweDE0YzM5OTMg bHRvX3dyaXRlX3RyZWUNCj4+ICAgICAgICAuLi8uLi9sYXRlc3QtZ2NjLXdyaXRlL2djYy9sdG8t c3RyZWFtZXItb3V0LmNjOjU2MQ0KPj4gMHgxNGMzYWViIGx0b19vdXRwdXRfdHJlZV8xDQo+PiAN Cj4+IEFuZCB0aGUgdmFsdWUgb2YgdGhlIHRyZWUgbm9kZSB0aGF0IHRyaWdnZXJlZCB0aGUgSUNF IGlzOg0KPj4gKGdkYikgY2FsbCBkZWJ1Z190cmVlKGV4cHIpDQo+PiA8c3NhX25hbWUgMHhmZmZm ZjU3NjFlNjAgdHlwZSA8ZXJyb3JfbWFyayAweGZmZmZmNTZjMGU1OD4NCj4+ICAgIG5vdGhyb3cN Cj4+ICAgIGRlZl9zdG10DQo+PiAgICB2ZXJzaW9uOjEzIGluLWZyZWUtbGlzdD4NCj4+IA0KPj4g SXMgdGhlcmUgYW55IGdvb2Qgd2F5IHRvIGRlYnVnIExUTyBidWc/DQo+IA0KPiBUaGlzIGhhcHBl bnMgdXN1YWxseSB3aGVuIHlvdSBoYXZlIGEgVkxBIHR5cGUgYW5kIGl0cyB0eXBlIGZpZWxkcyBh cmUgbm90DQo+IHByb3Blcmx5IGdpbXBsaWZpZWQgd2hpY2ggdXN1YWxseSBoYXBwZW5zIGJlY2F1 c2UgdGhlIGZyb250ZW5kIGZhaWxzIHRvDQo+IGluc2VydCBhIGdpbXBsaWZpY2F0aW9uIHBvaW50 IGZvciBpdCAoYSBERUNMX0VYUFIpLg0KDQpJIGZvdW5kIGFuIG9sZCBnY2MgYnVnIA0KaHR0cHM6 Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTcxNzINCklDRTogdHJlZSBj b2RlIOKAmHNzYV9uYW1l4oCZIGlzIG5vdCBzdXBwb3J0ZWQgaW4gTFRPIHN0cmVhbXMgc2luY2Ug cjExLTMzMDMtZzY0NTBmMDczODhmOWZlNTcNCg0KV2hpY2ggaXMgdmVyeSBzaW1pbGFyIHRvIHRo ZSBidWcgSSBhbSBoYXZpbmcgcmlnaHQgbm93LiANCg0KQWZ0ZXIgZnVydGhlciBzdHVkeSwgSSBz dXNwZWN0IHRoYXQgdGhlIGlzc3VlIEkgYW0gaGF2aW5nIHJpZ2h0IG5vdyB3aXRoIHRoZSBMVE8g c3RyZWFtaW5nIGFsc28gDQpyZWxhdGUgdG8g4oCcdW5zaGFyZV9leHBy4oCdLCDigJxzYXZlX2V4 cHLigJ0sIGFuZCB0aGUgY29tYmluYXRpb24gb2YgdGhlc2UgdHdvLCBJIHN1c3BlY3QgdGhhdA0K dGhlIGN1cnJlbnQgZ2NjIGNhbm5vdCBoYW5kbGUgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZXNlIHR3 byBjb3JyZWN0bHkgZm9yIG15IGNhc2UuIA0KDQpNeSB0ZXN0aW5nIGNhc2UgaXM6DQoNCiNpbmNs dWRlIDxzdGRsaWIuaD4NCnZvaWQgX19hdHRyaWJ1dGVfXygoX19ub2lubGluZV9fKSkgc2V0dXBf YW5kX3Rlc3RfdmxhIChpbnQgbjEsIGludCBuMiwgaW50IG0pDQp7DQogICBzdHJ1Y3QgZm9vIHsN CiAgICAgICBpbnQgbjsNCiAgICAgICBpbnQgcFtdW24yXVtuMV0gX19hdHRyaWJ1dGVfXygoY291 bnRlZF9ieShuKSkpOw0KICAgfSAqZjsNCg0KICAgZiA9IChzdHJ1Y3QgZm9vICopIG1hbGxvYyAo c2l6ZW9mKHN0cnVjdCBmb28pICsgbSpzaXplb2YoaW50W24yXVtuMV0pKTsNCiAgIGYtPm4gPSBt Ow0KICAgZi0+cFttXVtuMl1bbjFdPTE7DQogICByZXR1cm47DQp9DQoNCmludCBtYWluKGludCBh cmdjLCBjaGFyICphcmd2W10pDQp7DQogIHNldHVwX2FuZF90ZXN0X3ZsYSAoMTAsIDExLCAyMCk7 DQogIHJldHVybiAwOw0KfQ0KDQpGYWlsZWQgd2l0aCANCm15X2djYyAtT3MgLWZzYW5pdGl6ZT1i b3VuZHMgLWZsdG8NCg0KSWYgY2hhbmdpbmcgZWl0aGVyIG4xIG9yIG4yIHRvIGEgY29uc3RhbnQs IHRoZSB0ZXN0aW5nIHBhc3NlZC4gDQpJZiBkZWxldGluZyAtZmx0bywgdGhlIHRlc3RpbmcgcGFz c2VkIHRvby4gDQoNCkkgZG91YmxlIGNoZWNrZWQgbXkgY29kZSBwZXIgdGhlIHN1Z2dlc3Rpb25z IHByb3ZpZGVkIGJ5IHlvdSBhbmQgSmFrdWIgaW4gdGhpcw0KZW1haWwgdGhyZWFkLCBhbmQgSSB0 aGluayB0aGUgY29kZSBzaG91bGQgYmUgZmluZS4NCg0KVGhlIGNvZGUgaXMgZm9sbG93aW5nOg0K DQo9PT09PQ0KNTA0IC8qIEluc3RydW1lbnQgYXJyYXkgYm91bmRzIGZvciBJTkRJUkVDVF9SRUZz IHdob3NlIHBvaW50ZXJzIGFyZQ0KNTA1ICAgIFBPSU5URVJfUExVU19FWFBScyBvZiBjYWxscyB0 byAuQUNDRVNTX1dJVEhfU0laRS4gV2UgY3JlYXRlIHNwZWNpYWwNCjUwNiAgICBidWlsdGlucyB0 aGF0IGdldHMgZXhwYW5kZWQgaW4gdGhlIHNhbm9wdCBwYXNzLCBhbmQgbWFrZSBhbiBhcnJheQ0K NTA3ICAgIGRpbWVuc2lvbiBvZiBpdC4gIEFSUkFZIGlzIHRoZSBwb2ludGVyIHRvIHRoZSBiYXNl IG9mIHRoZSBhcnJheSwNCjUwOCAgICB3aGljaCBpcyBhIGNhbGwgdG8gLkFDQ0VTU19XSVRIX1NJ WkUsICpPRkZTRVQgaXMgdGhlIG9mZnNldCB0byB0aGUNCjUwOSAgICBiZWdpbm5pbmcgb2YgYXJy YXkuDQo1MTAgICAgUmV0dXJuIE5VTExfVFJFRSBpZiBubyBpbnN0cnVtZW50YXRpb24gaXMgZW1p dHRlZC4gICovDQo1MTEgIA0KNTEyIHRyZWUNCjUxMyB1YnNhbl9pbnN0cnVtZW50X2JvdW5kc19p bmRpcmVjdF9yZWYgKGxvY2F0aW9uX3QgbG9jLCB0cmVlIGFycmF5LCB0cmVlICpvZmZzZXQpDQo1 MTQgew0KNTE1ICAgaWYgKCFpc19hY2Nlc3Nfd2l0aF9zaXplX3AgKGFycmF5KSkNCjUxNiAgICAg cmV0dXJuIE5VTExfVFJFRTsNCjUxNyAgIHRyZWUgYm91bmQgPSBnZXRfYm91bmRfZnJvbV9hY2Nl c3Nfd2l0aF9zaXplIChhcnJheSk7DQo1MTggICAvKiBUaGUgdHlwZSBvZiB0aGUgY2FsbCB0byAu QUNDRVNTX1dJVEhfU0laRSBpcyBhIHBvaW50ZXIgdHlwZSB0bw0KNTE5ICAgICAgdGhlIGVsZW1l bnQgb2YgdGhlIGFycmF5LiAgKi8NCjUyMCAgIHRyZWUgZWxlbWVudF9zaXplID0gVFlQRV9TSVpF X1VOSVQgKFRSRUVfVFlQRSAoVFJFRV9UWVBFIChhcnJheSkpKTsNCjUyMSAgIGdjY19hc3NlcnQg KGJvdW5kKTsNCjUyMiANCjUyMyAgIC8qIEdpdmVuIHRoZSBvZmZzZXQsIGFuZCB0aGUgc2l6ZSBv ZiBlYWNoIGVsZW1lbnQsIHRoZSBpbmRleCBjYW4gYmUNCjUyNCAgICAgIGNvbXB1dGVkIGFzOiBv ZmZzZXQvZWxlbWVudF9zaXplLiAgKi8NCjUyNSAgICpvZmZzZXQgPSBzYXZlX2V4cHIgKCpvZmZz ZXQpOw0KNTI2ICAgdHJlZSBpbmRleCA9IGZvbGRfYnVpbGQyIChFWEFDVF9ESVZfRVhQUiwNCjUy NyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpldHlwZSwgKm9mZnNldCwNCjUyOCAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNoYXJlX2V4cHIgKGVsZW1lbnRfc2l6ZSkpOw0KNTI5 ICAgLyogQ3JlYXRlIGEgIihUICopIDAiIHRyZWUgbm9kZSB0byBkZXNjcmliZSB0aGUgb3JpZ2lu YWwgYXJyYXkgdHlwZS4NCjUzMCAgICAgIFdlIGdldCB0aGUgb3JpZ2luYWwgYXJyYXkgdHlwZSBm cm9tIHRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgY2FsbCB0bw0KNTMxICAgICAgLkFDQ0VTU19X SVRIX1NJWkUgKFJFRiwgQ09VTlRFRF9CWV9SRUYsIDEsIG51bV9ieXRlcywgLTEpLg0KNTMyICAN CjUzMyAgICAgIE9yaWdpbmFsbHksIFJFRiBpcyBhIENPTVBPTkVOVF9SRUYgd2l0aCB0aGUgb3Jp Z2luYWwgYXJyYXkgdHlwZSwNCjUzNCAgICAgIGl0IHdhcyBjb252ZXJ0ZWQgdG8gYSBwb2ludGVy IHRvIGFuIEFERFJfRVhQUiwgYW5kIHRoZSBBRERSX0VYUFIncw0KNTM1ICAgICAgZmlyc3Qgb3Bl cmFuZCBpcyB0aGUgb3JpZ2luYWwgQ09NUE9ORU5UX1JFRi4gICovDQo1MzYgICB0cmVlIHJlZiA9 IENBTExfRVhQUl9BUkcgKGFycmF5LCAwKTsNCjUzNyAgIHRyZWUgYXJyYXlfdHlwZQ0KNTM4ICAg ICA9IHVuc2hhcmVfZXhwciAoVFJFRV9UWVBFIChUUkVFX09QRVJBTkQgKFRSRUVfT1BFUkFORChy ZWYsIDApLCAwKSkpOw0KNTM5ICAgdHJlZSB6ZXJvX3dpdGhfdHlwZSA9IGJ1aWxkX2ludF9jc3Qg KGJ1aWxkX3BvaW50ZXJfdHlwZSAoYXJyYXlfdHlwZSksIDApOw0KNTQwICAgcmV0dXJuIGJ1aWxk X2NhbGxfZXhwcl9pbnRlcm5hbF9sb2MgKGxvYywgSUZOX1VCU0FOX0JPVU5EUywNCjU0MSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkX3R5cGVfbm9kZSwgMywgemVy b193aXRoX3R5cGUsDQo1NDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5kZXgsIGJvdW5kKTsNCjU0MyB9DQoNCj09PT09DQoNCkluc2lkZSBnZGIsIHRoZSBndWlsdHkg SVIgZmFpbGVkIGluIExUTyBzdHJlYW1pbmcgaXMgZnJvbSB0aGUgYWJvdmUgbGluZSA1MjA6DQpU WVBFX1NJWkVfVU5JVCAoVFJFRV9UWVBFIChUUkVFX1RZUEUgKGFycmF5KSkpLA0KDQpXaGVuIEkg dXNlIHRoaXMgdHJlZSBub2RlIGFzIGFuIG9wZXJhbmQgb2YgdGhlIGV4cHJlc3Npb24gYXQgbGlu ZSA1MjYsIEkgYWRkZWQgDQp1bnNoYXJlX2V4cHIuIA0KDQpIb3dldmVyLCBJIHN0aWxsIHNlZSB0 aGUgZ3VpbHR5IElSIGFzIGluIGdkYjoNCg0KICAgICAgICAgICAgdW5pdC1zaXplIDxtdWx0X2V4 cHIgMHhmZmZmZjVhYWJmOTAgdHlwZSA8aW50ZWdlcl90eXBlIDB4ZmZmZmY1N2MwMDAwIHNpemV0 eXBlPg0KICAgICAgICAgICAgICAgIHNpZGUtZWZmZWN0cw0KICAgICAgICAgICAgICAgIGFyZzow IDxtdWx0X2V4cHIgMHhmZmZmZjVhYWJmNjggdHlwZSA8aW50ZWdlcl90eXBlIDB4ZmZmZmY1N2Mw MDAwIHNpemV0eXBlPg0KDQogICAgICAgICAgICAgICAgICAgIGFyZzowIDxzc2FfbmFtZSAweGZm ZmZmNTc2MWUxOCB0eXBlIDxlcnJvcl9tYXJrIDB4ZmZmZmY1NmMwZTU4Pg0KICAgICAgICAgICAg ICAgICAgICAgICAgbm90aHJvdw0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmX3N0bXQNCiAg ICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb246MTIgaW4tZnJlZS1saXN0Pg0KICAgICAgICAg ICAgICAgICAgICBhcmc6MSA8c3NhX25hbWUgMHhmZmZmZjU3NjFlNjAgdHlwZSA8ZXJyb3JfbWFy ayAweGZmZmZmNTZjMGU1OD4NCiAgICAgICAgICAgICAgICAgICAgICAgIG5vdGhyb3cNCiAgICAg ICAgICAgICAgICAgICAgICAgIGRlZl9zdG10DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJz aW9uOjEzIGluLWZyZWUtbGlzdD4+DQogICAgICAgICAgICAgICAgYXJnOjEgPGludGVnZXJfY3N0 IDB4ZmZmZmY1NmMxMGM4IGNvbnN0YW50IDQ+Pg0KDQoNCkkgaGF2ZSBiZWVuIHN0dWNrIHdpdGgg dGhpcyBidWcgZm9yIHF1aXRlIHNvbWUgdGltZS4gDQpBbnkgaGVscCBpcyBoZWxwZnVsLg0KDQpR aW5nDQoNCj4gDQo+PiBUaGFua3MgYSBsb3QgZm9yIHRoZSBoZWxwLg0KPj4gDQo+PiBRaW5nDQo+ PiANCg0K