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 5BB623858C39 for ; Wed, 13 Mar 2024 19:17:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5BB623858C39 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 5BB623858C39 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=1710357440; cv=pass; b=Lxgas/gWNeZ1wrOnb2PWWNb0/WzHq/YFeREzvjpvvyh1ENqPSbUNDVknqJUs99uCdDmtO28P4aBQcLlND8jhgPhwWKQMrOB9MiHlq2UfsDGNN1kWX+IvFSVeJnHfxOYCuWmW/POkpm0lNOQsxvVdPRqlw/pM4MGXH0FifkAliNI= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1710357440; c=relaxed/simple; bh=XskZjb0OldrbL93W4LBV2AOO2uwRCFmbyvCLiH6Bk8k=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=dNS+x+n4g1rl5F3fMDQzHCXM7dRy2nZaOCXQ6kQr/5hnfF+KZCMZ5b2xjyQHdDkZd9RuE175M5E7ChnYZS7XzZvLpwJ5tCkwJEkiZM1QN+fP2EVOZhOsQTnp3N3MvI7stvSTmoAO+4rMYo70m6MON7kwegzTJxQWOn9G3/SMG0M= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 42DJHDs2011594; Wed, 13 Mar 2024 19:17:13 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 : mime-version; s=corp-2023-11-20; bh=XskZjb0OldrbL93W4LBV2AOO2uwRCFmbyvCLiH6Bk8k=; b=XkgHmfGQhRScBvyWApKkwQ5fzMd4FFTpI1p0WbkKKM3rwkTLrZ7i7KM2gYwEP6Eo5ygY SVLmaVjOxqxdOyCh4S847iApzi9gN66+ZYPiW9LrLfvB21H8pVv/NJ2l19Ya80b/WIev RApcEEu8ukjuOI0wbbvUrwkgOy3icBgZRiz2hz4Ep2Mvfii01lGL5965OBbdJAZBnFRl DyC/8oWjj33pw4sbc0erzejqGrAPTf7O6kWEKC9eb8zCrmo3C4fIeQYkxILFBmBnobtS 1sUUxMSAMaRFy+34YvsbekNGB8FyEVcu0GaH3f1J/ziOPXwzMf6GhkP/+YXhTQaHaw6a GQ== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3wrepd1pwe-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Mar 2024 19:17:12 +0000 Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 42DIXoOA028593; Wed, 13 Mar 2024 19:17:10 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3wre79axat-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 13 Mar 2024 19:17:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CRmSau/B0i/1/c5poBiDMh5UsO3KwOxNpaO2HMcQ+jCN0t73FA/5as2LVKC1lZsRftdspcNaqwW3AvjcJU3ith5/FB14LbstWn33JQhPzOQa8ef+VgWLp2G2HYLtErBVCOXvZ2sFNDDjlWkbMmb4HfrmNR2okPQjunBcKEIMRZfuCCb0sbN7iRdH+LRnu4stqDED7lX95gcRNINW6gPfu+4EZXLifg2EOva7847rTEW/kSq8R1N1/u9O+nBgny1J7lCI25mG0tTVGaSmzmRskS+92M97//z9EmaiYC9cuVb8tvHVmRqxU67ClL+oJmAOeKCXkLKa62rYUxSuFWH2Iw== 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=XskZjb0OldrbL93W4LBV2AOO2uwRCFmbyvCLiH6Bk8k=; b=KJDRe1c2Ua8ND+WIi9n80OxnNdd78fJgIIMwlxeB6TFcrxwysDeUCH/OVzo7OUKyOpoRu316+KdQRn34z8A2PMJvQS3+drU8gOEPp+aZUrCR0+ZDPgCc9Y4+eZb4DSFznpApovYWT7PGJcKNA2dxSE2iPXifGm6LizNWC2AvTdGl6kcaxr1R55iPqFvxtfxJ1ze5IBeoI5ZfqTUMMxK+rVQJqwsTN1xLzE+LujBkkEhwIHk74PS5V4Go7H/38zzU85u2bOpzKbcyUxdXhWdR4EcG8EMDrXh9hFBZzytsn6ytGRhVGsUtn8Cbd++bWnmGQVWdLFotrqo/kns32zzGrw== 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=XskZjb0OldrbL93W4LBV2AOO2uwRCFmbyvCLiH6Bk8k=; b=jLAi1LErUbN9RzX6kf7/hSxp2xfwcXaE4qLGXLIjbT+a7LgTT3Mkn68pjLiUeNTdLXI+VJ6+rgENfpqISBD2bYPwbTJkP2oAEUMcmJazxedMrY8rrr+M0LOlWGmCpZGre0Q5suefbasVJ64lW5IF1Uurc4Hd67QEe05Och5Ik8E= Received: from CY8PR10MB6538.namprd10.prod.outlook.com (2603:10b6:930:5a::17) by PH8PR10MB6597.namprd10.prod.outlook.com (2603:10b6:510:226::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.35; Wed, 13 Mar 2024 19:17:07 +0000 Received: from CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc]) by CY8PR10MB6538.namprd10.prod.outlook.com ([fe80::2dae:7852:9563:b4bc%6]) with mapi id 15.20.7386.017; Wed, 13 Mar 2024 19:17:07 +0000 From: Qing Zhao To: Siddhesh Poyarekar CC: Joseph Myers , "richard.guenther@gmail.com" , "uecker@tugraz.at" , "keescook@chromium.org" , "isanbard@gmail.com" , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH v6 3/5] Use the .ACCESS_WITH_SIZE in builtin object size. Thread-Topic: [PATCH v6 3/5] Use the .ACCESS_WITH_SIZE in builtin object size. Thread-Index: AQHaYREBMdNxrJPqjE+AGQiFEw2/qrEy7DsAgANHqIA= Date: Wed, 13 Mar 2024 19:17:07 +0000 Message-ID: <51BA04E3-1959-4862-AA59-A3B6E3B59F12@oracle.com> References: <20240216194723.391359-1-qing.zhao@oracle.com> <20240216194723.391359-4-qing.zhao@oracle.com> <40ae105f-c677-49c1-80e9-cf92d9bbda4c@gotplt.org> In-Reply-To: <40ae105f-c677-49c1-80e9-cf92d9bbda4c@gotplt.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3774.400.31) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CY8PR10MB6538:EE_|PH8PR10MB6597:EE_ x-ms-office365-filtering-correlation-id: 1c02d2ae-3173-44fb-92da-08dc43922c8a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sXOsbZ6MCQnwjt2QySb+ba0CyOclurIY4QkFu+xHDQxBQQqFqYK0RSvzq89/NZHFA2aNgyWmrNIF+Uo87dwCcW4RgW1/9lWcjyfZLTLy/OgZC2OLz5VQIs3hjS1gwA6ys6uGO1xi8XAt1Vxn7sFqRTLtktGYXf6B3N+PeSBOPs8L1WnSmVLFT9G74e9Ut9n/ksYV+uPwMyTxQiSr0tfEWthbxe7wRKo3uJZ5axGWvpfSJw+I/qpDEbI2o+Ka55i/j81t1fffarspvjaGseCUPKc72AoMogXGaP5iykj5sSY3QLt04EFjZDS43JILACe3amnewMNwHPO/kt1li73OHeHNxs6PjRIOqcLDKB4yy6xoqr5EUK35VkizaSWaIoyCEcv6PLKNNaWIXgOqWQ9cPS4wUcFIeq/Vg+vikis908tBXnGEA3Yn8ns9SL0pe2nvC/jyUOj5oJPwBCxpRSyTBZ3xlwlvFyq+eZtH6ltQGg00YxkJIk7Lhb36pCRxCNTAi0Qwtzdmxyyf++l+uW0GgxeIaxK4iB+NvwDYg7xgPTbzdYIiLtEzLWuXDnCwUYkzyZlsFEWRTWd1BCehe3rDI6q+mR1hw4HgBeMimr+IErcwIfhNV5ubVHpuJW9YE87+QYsd3v843gfSKKo8TKM92fxfymKQEZjVtbJR9bxRpoO2DGgejNPNkzQzFbrbpb5R x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR10MB6538.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUFWa0YwS2pCVjBNeGdIdnlDKzZnYmZ5VFhveWtDMkNhYnBMKzlvQ2kraElm?= =?utf-8?B?RzlYNjRNc1k3NU8yWHFkSlFJVldGWmtSY0xtMnlzSlJ2VDY2NmFKUFlndG9K?= =?utf-8?B?UkhEZXo0Lyt1dU40Ry9jbUViU2FIOFZRVllpN1RMMnNLWHBocHpGTFVhdlNM?= =?utf-8?B?dUc2SUEvMy9ueXMzZzlyOGJQczBHQStQTnhrdkU3SFo2S2loalhQeTZFdzJC?= =?utf-8?B?WGYzM0Z3cldSYkxrY3QwOWFMWTI3RFVFNXU5RURGZVI2cjd0QkNVNGpDd2tF?= =?utf-8?B?RS9zMFoyaTNMdkMvQ3I2eStqbjYzT09kdlhBNzR4blZYbjdhNTZhY2RncVd5?= =?utf-8?B?VGRMUUFEV2F0cnZ4emtvWVVOd0Fva0d1eFpoMWM4VytQaTIwRHpCZmRYMGl3?= =?utf-8?B?Yk1RUTd1RzRzMTArYzZPWGttd25YVkNjZGZ6Tm10UTBVTGhPUGRodFJkY01B?= =?utf-8?B?M3JKR21mRFM0VUNNamNBY29uOSsydkxISm93bVZuelNXMmZUS1grclBDaC95?= =?utf-8?B?VkNSQXhzWVRSZS9EaVB1aTBhTTNKREFtWDR4RU5uWnVMVkk1OHVaTDgyZW9H?= =?utf-8?B?bWt5bklwTGhvUXNUcVBsbFYxUExoa3pUdVNzUUJoTUVOT1hwZGtsaG5uaE91?= =?utf-8?B?dTN2MUk1T2Q4dGtlSGc5cVBzK1YzaGhOWDMrM0RxQzNlbzVscTNVd0xHZnJP?= =?utf-8?B?LzBBa2IvR00xbUR5aXV0c1Zaa3VZZE9VYm1jU2kycXNGNFBuU2k0MS9uUEF1?= =?utf-8?B?UzZsRGczc3JjMVh3cmJrMnBzbnBVbDNZNmttU3RPODBEMVpQdzFtd0xGV2Q5?= =?utf-8?B?bW5WRzM1RHBqcUtubHB2UVBVeU1ZcnJ0RkpwRVhFM090TjRyTFgyV0RBSncr?= =?utf-8?B?UDVEQUlEN0ZGcXdZcXgwU1dKSm52TG5aT2lBdFVBWS9sTVN2bk1EblQvOWFP?= =?utf-8?B?VENqM0t5UCt5amF0OStqVmhzTm44VW91bXFjbTlVc3pFaklNZW9FaVRKZUta?= =?utf-8?B?d0ZteTFsZXdPRFZnQWFmdDVIb0pqaFl3ckpZbWVRUE5nMFlET2RjcmpnOFVH?= =?utf-8?B?Q1VHWllDQjM4TjJhV2tsZ080cmEzWkNZZk5sT21wd3VydkgrT0pmdGdBMHhv?= =?utf-8?B?Y04vL0xQUmN3RDBwWGljbjBpbWQyVjJzbVpia2RHZ2FGUStBQ3RETEs0VjI0?= =?utf-8?B?WEI4OFU0Kzd1eVJTczB6UVRqcm9zSjVYOU5YZzRXN1YxbU9yL0l4dDRVMFJl?= =?utf-8?B?SnNQOHkvekFLQzhzMlE1cDJKRkpLSmZWaXhBMWR4cHcrRDRVUVBvUXlvSHB4?= =?utf-8?B?OGJobk1oV2JnTmhjTXdXZWVkVDhsRWpzOU1QUHBVeUIzKzRTL0tmcGRCcFYz?= =?utf-8?B?WmtYNFFDbFc4cU16U2lRbjl1MktXaTdCbEtuT2pWYWpvYW9FYVFzU05NdUpF?= =?utf-8?B?azdBZVpvVktIU1N5dXZIYndIMFozN1RCd2NSZVY0ejhtQURHSUEwM2ZHamZB?= =?utf-8?B?MmhhMTdpY21rU0FOWUxOMlA5UWR5QUNpanpNRFI1Z08rcHMyNTlRekVWWCtQ?= =?utf-8?B?V0k3RmgvQWh3dXRxRk0vajZMYnB3RlBmSmJSRG5jbWpubVJsWmM5RzFkd21s?= =?utf-8?B?VWlrTGF5R0wxRzg5M3ZkSXlxRXhiMTFIZ1l0TWc2SEZLdjR3U3p5R1cwc29k?= =?utf-8?B?R1JCVmtaaEdTeFVNdHpFbHJrZGszMmQxcmdpZzJ4NmNkL0dGZEY2KzZvRTZj?= =?utf-8?B?aEltR2FFc1NFdk1DejVFZDdUbFQxL1RtWkJsckFxNDRpMEQ4MzN4WTRnSGFh?= =?utf-8?B?ZjlXTnJBUWZ6Y3RKaWRJV1dES3FFYk9DRXlQSnRwemEyM1k1NE4zMWpMQ1RO?= =?utf-8?B?TEQvMFdTa3dDMGdadmdaZ1hRMThXeEQ2bzhkbmFIODA0V0xpMWVZNjhDY0pS?= =?utf-8?B?cStta0lyNERDY2tOTUpjeTNEakg1VnFoV2hIZG94Znh5eGdNRGliZVdiR0d3?= =?utf-8?B?MWR5bkN6TFoxa3pYWjhBZTlHTVgrcllUUVN5OVVJbTkyaFRZY0c4RTd0Ly9u?= =?utf-8?B?SmN1NWZuSTRkT014R3dodVBEK2tuVkc1UDRkQVIrUWgxaTNTTXJ0OU9IQVBm?= =?utf-8?Q?Ktfk+xgpxxIvP90wyf6wBDWAi?= Content-Type: multipart/alternative; boundary="_000_51BA04E319594862AA59A3B6E3B59F12oraclecom_" MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Hr/ItVFaw/f+N9LsSh+udFaZX0Zag+uF5Xq7GvmFu7rFwk8Da0vakuivDjAySJMh3/qA0pgjr2pKkF7rP6gQfcqbDOBh10UWelZ12CVmnasvOFWfIJXtcm/5DyvnOGYf2mfg5RDpUXR9nD85/5xlp0dcjRBmkPe2FMJTPYXd+kgxeEmMO1lUiZ0EjF0o0WGf5lONuK9FztKk6IWBc7FnouUng5kD+vS9ZsNnmIWPJXjpAWQFoHMztt6gbwXgqd2RPJuGsK4BZPNQ524irwAOuKSZtdGD6Tbkl82Yy9VFhO006mX99xaqW2QZcHvsjm7PPAEOA5vQCc6TOEnB7UfjbJAitZxG8iP9ZxRqjOOePoexR+6uqHWMR7I9iJwO28asVkGRBJytWKGYlfAgpMGufzOIADaHNlXEeUcldezqHEY3NyoXh1KfLt5oNp5KKc3ePICnwMuwby7+EdK5h47E4FahDGsD0bbAFI9G9DDoKr4OtwrhhOEliFVmUMAsfc1hia1M0OmIf8SguYdmGN60SMVAx24+Euggb9ciluE9paxBbiH5nfGrxspWv/TvsXSQtsaffx+UPqerFwbr8KsDX7C9BOsKZyk//3oo+WhOyKQ= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY8PR10MB6538.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c02d2ae-3173-44fb-92da-08dc43922c8a X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2024 19:17:07.0926 (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: eVnd4daXC0Fe0CSJqbmdlJ0hlXj4/YvmJBsnXCHgcXTncmfEp0UpH/k4OmpxnODSAhf4o7G2qcV0cp2ObnTPpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR10MB6597 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-13_09,2024-03-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 adultscore=0 mlxscore=0 phishscore=0 spamscore=0 suspectscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403130148 X-Proofpoint-ORIG-GUID: h1dg6ks50KNs-4eOcswsX_TO6OD1NHfy X-Proofpoint-GUID: h1dg6ks50KNs-4eOcswsX_TO6OD1NHfy 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,HTML_MESSAGE,KAM_SHORT,RCVD_IN_MSPIKE_H4,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: --_000_51BA04E319594862AA59A3B6E3B59F12oraclecom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCk9uIE1hciAxMSwgMjAyNCwgYXQgMTM6MTEsIFNpZGRoZXNoIFBveWFy ZWthciA8c2lkZGhlc2hAZ290cGx0Lm9yZz4gd3JvdGU6DQoNCg0KDQpPbiAy MDI0LTAyLTE2IDE0OjQ3LCBRaW5nIFpoYW8gd3JvdGU6DQpnY2MvQ2hhbmdl TG9nOg0KKiB0cmVlLW9iamVjdC1zaXplLmNjIChhY2Nlc3Nfd2l0aF9zaXpl X29iamVjdF9zaXplKTogTmV3IGZ1bmN0aW9uLg0KKGNhbGxfb2JqZWN0X3Np emUpOiBDYWxsIHRoZSBuZXcgZnVuY3Rpb24uDQpnY2MvdGVzdHN1aXRlL0No YW5nZUxvZzoNCiogZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtY29tbW9u Lmg6IEFkZCBhIG5ldyBtYWNybyBFWFBFQ1QuDQoqIGdjYy5kZy9mbGV4LWFy cmF5LWNvdW50ZWQtYnktMy5jOiBOZXcgdGVzdC4NCiogZ2NjLmRnL2ZsZXgt YXJyYXktY291bnRlZC1ieS00LmM6IE5ldyB0ZXN0Lg0KKiBnY2MuZGcvZmxl eC1hcnJheS1jb3VudGVkLWJ5LTUuYzogTmV3IHRlc3QuDQotLS0NCiAuLi4v Z2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtY29tbW9uLmggICAgICAgfCAg MTEgKysNCiAuLi4vZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS0zLmMg ICAgICAgICAgfCAgNjMgKysrKysrKw0KIC4uLi9nY2MuZGcvZmxleC1hcnJh eS1jb3VudGVkLWJ5LTQuYyAgICAgICAgICB8IDE3OCArKysrKysrKysrKysr KysrKysNCiAuLi4vZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS01LmMg ICAgICAgICAgfCAgNDggKysrKysNCiBnY2MvdHJlZS1vYmplY3Qtc2l6ZS5j YyAgICAgICAgICAgICAgICAgICAgICAgfCAgNTkgKysrKysrDQogNSBmaWxl cyBjaGFuZ2VkLCAzNTkgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQt YnktMy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS00LmMNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvZmxleC1hcnJheS1jb3VudGVk LWJ5LTUuYw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2J1 aWx0aW4tb2JqZWN0LXNpemUtY29tbW9uLmggYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9idWlsdGluLW9iamVjdC1zaXplLWNvbW1vbi5oDQppbmRleCA2NmZm N2NkZDk1M2EuLmI2NzcwNjdjNmU2YiAxMDA2NDQNCi0tLSBhL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUtY29tbW9uLmgNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2J1aWx0aW4tb2JqZWN0LXNpemUt Y29tbW9uLmgNCkBAIC0zMCwzICszMCwxNCBAQCB1bnNpZ25lZCBuZmFpbHMg PSAwOw0KICAgICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsgICAgICAgXA0KICAg ICByZXR1cm4gMDsgICAgICAgXA0KICAgfSB3aGlsZSAoMCkNCisNCisjZGVm aW5lIEVYUEVDVChwLCBfdikgZG8geyAgICAgICBcDQorICBzaXplX3QgdiA9 IF92OyAgICAgICBcDQorICBpZiAocCA9PSB2KSAgICAgICBcDQorICAgIF9f YnVpbHRpbl9wcmludGYgKCJvazogICVzID09ICV6ZFxuIiwgI3AsIHApOyAg ICAgICBcDQorICBlbHNlICAgICAgIFwNCisgICAgeyAgICAgICBcDQorICAg ICAgX19idWlsdGluX3ByaW50ZiAoIldBVDogJXMgPT0gJXpkIChleHBlY3Rl ZCAlemQpXG4iLCAjcCwgcCwgdik7ICAgICAgIFwNCisgICAgICBGQUlMICgp OyAgICAgICBcDQorICAgIH0gICAgICAgXA0KK30gd2hpbGUgKDApOw0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291 bnRlZC1ieS0zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4LWFycmF5 LWNvdW50ZWQtYnktMy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAwMDAwLi4wMDY2YzMyY2E4MDgNCi0tLSAvZGV2L251bGwNCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1i eS0zLmMNCkBAIC0wLDAgKzEsNjMgQEANCisvKiB0ZXN0IHRoZSBhdHRyaWJ1 dGUgY291bnRlZF9ieSBhbmQgaXRzIHVzYWdlIGluDQorICogX19idWlsdGlu X2R5bmFtaWNfb2JqZWN0X3NpemUuICAqLw0KKy8qIHsgZGctZG8gcnVuIH0g Ki8NCisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLw0KKw0KKyNpbmNsdWRl ICJidWlsdGluLW9iamVjdC1zaXplLWNvbW1vbi5oIg0KKw0KK3N0cnVjdCBm bGV4IHsNCisgIGludCBiOw0KKyAgaW50IGNbXTsNCit9ICphcnJheV9mbGV4 Ow0KKw0KK3N0cnVjdCBhbm5vdGF0ZWQgew0KKyAgaW50IGI7DQorICBpbnQg Y1tdIF9fYXR0cmlidXRlX18gKChjb3VudGVkX2J5IChiKSkpOw0KK30gKmFy cmF5X2Fubm90YXRlZDsNCisNCitzdHJ1Y3QgbmVzdGVkX2Fubm90YXRlZCB7 DQorICBzdHJ1Y3Qgew0KKyAgICB1bmlvbiB7DQorICAgICAgaW50IGI7DQor ICAgICAgZmxvYXQgZjsNCisgICAgfTsNCisgICAgaW50IG47DQorICB9Ow0K KyAgaW50IGNbXSBfX2F0dHJpYnV0ZV9fICgoY291bnRlZF9ieSAoYikpKTsN Cit9ICphcnJheV9uZXN0ZWRfYW5ub3RhdGVkOw0KKw0KK3ZvaWQgX19hdHRy aWJ1dGVfXygoX19ub2lubGluZV9fKSkgc2V0dXAgKGludCBub3JtYWxfY291 bnQsIGludCBhdHRyX2NvdW50KQ0KK3sNCisgIGFycmF5X2ZsZXgNCisgICAg PSAoc3RydWN0IGZsZXggKiltYWxsb2MgKHNpemVvZiAoc3RydWN0IGZsZXgp DQorICAgICAgKyBub3JtYWxfY291bnQgKiAgc2l6ZW9mIChpbnQpKTsNCisg IGFycmF5X2ZsZXgtPmIgPSBub3JtYWxfY291bnQ7DQorDQorICBhcnJheV9h bm5vdGF0ZWQNCisgICAgPSAoc3RydWN0IGFubm90YXRlZCAqKW1hbGxvYyAo c2l6ZW9mIChzdHJ1Y3QgYW5ub3RhdGVkKQ0KKyAgICsgYXR0cl9jb3VudCAq ICBzaXplb2YgKGludCkpOw0KKyAgYXJyYXlfYW5ub3RhdGVkLT5iID0gYXR0 cl9jb3VudDsNCisNCisgIGFycmF5X25lc3RlZF9hbm5vdGF0ZWQNCisgICAg PSAoc3RydWN0IG5lc3RlZF9hbm5vdGF0ZWQgKiltYWxsb2MgKHNpemVvZiAo c3RydWN0IG5lc3RlZF9hbm5vdGF0ZWQpDQorICArIGF0dHJfY291bnQgKiAg c2l6ZW9mIChpbnQpKTsNCisgIGFycmF5X25lc3RlZF9hbm5vdGF0ZWQtPmIg PSBhdHRyX2NvdW50Ow0KKw0KKyAgcmV0dXJuOw0KK30NCisNCit2b2lkIF9f YXR0cmlidXRlX18oKF9fbm9pbmxpbmVfXykpIHRlc3QgKCkNCit7DQorICAg IEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShhcnJheV9m bGV4LT5jLCAxKSwgLTEpOw0KKyAgICBFWFBFQ1QoX19idWlsdGluX2R5bmFt aWNfb2JqZWN0X3NpemUoYXJyYXlfYW5ub3RhdGVkLT5jLCAxKSwNCisgICAg YXJyYXlfYW5ub3RhdGVkLT5iICogc2l6ZW9mIChpbnQpKTsNCisgICAgRVhQ RUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKGFycmF5X25lc3Rl ZF9hbm5vdGF0ZWQtPmMsIDEpLA0KKyAgICBhcnJheV9uZXN0ZWRfYW5ub3Rh dGVkLT5iICogc2l6ZW9mIChpbnQpKTsNCit9DQorDQoraW50IG1haW4oaW50 IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCit7DQorICBzZXR1cCAoMTAsMTApOw0K KyAgdGVzdCAoKTsNCisgIERPTkUgKCk7DQorfQ0KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS00LmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4LWFycmF5LWNvdW50ZWQtYnkt NC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAw Li4zY2U3ZjM1NDU1NDkNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2ZsZXgtYXJyYXktY291bnRlZC1ieS00LmMNCkBAIC0w LDAgKzEsMTc4IEBADQorLyogdGVzdCB0aGUgYXR0cmlidXRlIGNvdW50ZWRf YnkgYW5kIGl0cyB1c2FnZSBpbg0KK19fYnVpbHRpbl9keW5hbWljX29iamVj dF9zaXplOiB3aGF0J3MgdGhlIGNvcnJlY3QgYmVoYXZpb3Igd2hlbiB0aGUN CithbGxvY2F0aW9uIHNpemUgbWlzbWF0Y2hlZCB3aXRoIHRoZSB2YWx1ZSBv ZiBjb3VudGVkX2J5IGF0dHJpYnV0ZT8NCit3ZSBzaG91bGQgYWx3YXlzIHVz ZSB0aGUgbGF0ZXN0IHZhbHVlIHRoYXQgaXMgaG9sZCBieSB0aGUgY291bnRl ZF9ieQ0KK2ZpZWxkLiAgKi8NCisvKiB7IGRnLWRvIHJ1biB9ICovDQorLyog eyBkZy1vcHRpb25zICItTyAtZnN0cmljdC1mbGV4LWFycmF5cz0zIiB9ICov DQorDQorI2luY2x1ZGUgImJ1aWx0aW4tb2JqZWN0LXNpemUtY29tbW9uLmgi DQorDQorc3RydWN0IGFubm90YXRlZCB7DQorICBzaXplX3QgZm9vOw0KKyAg Y2hhciBvdGhlcnM7DQorICBjaGFyIGFycmF5W10gX19hdHRyaWJ1dGVfXygo Y291bnRlZF9ieSAoZm9vKSkpOw0KK307DQorDQorI2RlZmluZSBub2lubGlu ZSBfX2F0dHJpYnV0ZV9fKChfX25vaW5saW5lX18pKQ0KKyNkZWZpbmUgU0la RV9CVU1QIDEwDQorI2RlZmluZSBNQVgoYSwgYikgKChhKSA+IChiKSA/IChh KSA6IChiKSkNCisNCisvKiBJbiBnZW5lcmFsLCBEdWUgdG8gdHlwZSBjYXN0 aW5nLCB0aGUgdHlwZSBmb3IgdGhlIHBvaW50ZWUgb2YgYSBwb2ludGVyDQor ICAgZG9lcyBub3Qgc2F5IGFueXRoaW5nIGFib3V0IHRoZSBvYmplY3QgaXQg cG9pbnRzIHRvLA0KKyAgIFNvLCBfX2J1aWx0aW5fb2JqZWN0X3NpemUgY2Fu IG5vdCBkaXJlY3RseSB1c2UgdGhlIHR5cGUgb2YgdGhlIHBvaW50ZWUNCisg ICB0byBkZWNpZGUgdGhlIHNpemUgb2YgdGhlIG9iamVjdCB0aGUgcG9pbnRl ciBwb2ludHMgdG8uDQorDQorICAgdGhlcmUgYXJlIG9ubHkgdHdvIHJlbGlh YmxlIHdheXM6DQorICAgQS4gb2JzZXJ2ZWQgYWxsb2NhdGlvbnMgIChjYWxs IHRvIHRoZSBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiB0aGUgcm91dGluZSkN CisgICBCLiBvYnNlcnZlZCBhY2Nlc3NlcyAgICAgKHJlYWQgb3Igd3JpdGUg YWNjZXNzIHRvIHRoZSBsb2NhdGlvbiBvZiB0aGUNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBvaW50ZXIgcG9pbnRzIHRvKQ0KKw0KKyAgIHRo YXQgcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdHlwZS9leGlzdGVu Y2Ugb2YgYW4gb2JqZWN0IGF0DQorICAgdGhlIGNvcnJlc3BvbmRpbmcgYWRk cmVzcy4NCisNCisgICBmb3IgQSwgd2UgdXNlIHRoZSAiYWxsb2Nfc2l6ZSIg YXR0cmlidXRlIGZvciB0aGUgY29ycmVzcG9uZGluZyBhbGxvY2F0aW9uDQor ICAgZnVuY3Rpb25zIHRvIGRldGVybWluZSB0aGUgb2JqZWN0IHNpemU7DQor ICAgKFdlIHRyZWF0IGNvdW50ZWRfYnkgYXR0cmlidXRlIHRoZSBzYW1lIGFz IHRoZSAiYWxsb2Nfc2l6ZSIgYXR0cmlidXRlKQ0KKw0KKyAgIEZvciBCLCB3 ZSB1c2UgdGhlIFNJWkUgaW5mbyBvZiB0aGUgVFlQRSBhdHRhY2hlZCB0byB0 aGUgY29ycmVzcG9uZGluZyBhY2Nlc3MuDQorDQorICAgVGhlIG9ubHkgb3Ro ZXIgd2F5IGluIEMgd2hpY2ggZW5zdXJlcyB0aGF0IGEgcG9pbnRlciBhY3R1 YWxseSBwb2ludHMNCisgICB0byBhbiBvYmplY3Qgb2YgdGhlIGNvcnJlY3Qg dHlwZSBpcyAnc3RhdGljJzoNCisNCisgICB2b2lkIGZvbyhzdHJ1Y3QgUCAq cFtzdGF0aWMgMV0pOw0KKw0KKyAgIFNlZSBodHRwczovL2djYy5nbnUub3Jn L3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIzLUp1bHkvNjI0ODE0Lmh0bWwN CisgICBmb3IgbW9yZSBkZXRhaWxzLiAgKi8NCisNCisvKiBpbiB0aGUgZm9s bG93aW5nIGZ1bmN0aW9uLCBtYWxsb2MgYWxsb2NhdGVkIG1vcmUgc3BhY2Ug dGhhbiB0aGUgdmFsdWUNCisgICBvZiBjb3VudGVkX2J5IGF0dHJpYnV0ZS4g IFRoZW4gd2hhdCdzIHRoZSBjb3JyZWN0IGJlaGF2aW9yIHdlIGV4cGVjdA0K KyAgIHRoZSBfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZSBzaG91bGQg aGF2ZSBmb3IgZWFjaCBvZiB0aGUgY2FzZXM/ICAqLw0KKw0KK3N0YXRpYyBz dHJ1Y3QgYW5ub3RhdGVkICogbm9pbmxpbmUgYWxsb2NfYnVmX21vcmUgKHNp emVfdCBpbmRleCkNCit7DQorICBzdHJ1Y3QgYW5ub3RhdGVkICpwOw0KKyAg c2l6ZV90IGFsbG9jYXRlZF9zaXplDQorICAgID0gTUFYIChzaXplb2YgKHN0 cnVjdCBhbm5vdGF0ZWQpLA0KKyAgICAoX19idWlsdGluX29mZnNldG9mIChz dHJ1Y3QgYW5ub3RhdGVkLCBhcnJheVswXSkNCisgICAgICsgKGluZGV4ICsg U0laRV9CVU1QKSAqIHNpemVvZiAoY2hhcikpKTsNCisgIHAgPSAoc3RydWN0 IGFubm90YXRlZCAqKSBtYWxsb2MgKGFsbG9jYXRlZF9zaXplKTsNCisNCisg IHAtPmZvbyA9IGluZGV4Ow0KKw0KKyAgLyp3aGVuIGNoZWNraW5nIHRoZSBv YnNlcnZlZCBhY2Nlc3MgcC0+YXJyYXksIHdlIGhhdmUgaW5mbyBvbiBib3Ro DQorICAgIG9ic2VydmVyZWQgYWxsb2NhdGlvbiBhbmQgb2JzZXJ2ZWQgYWNj ZXNzLA0KKyAgICBBLjEgZnJvbSBvYnNlcnZlZCBhbGxvY2F0aW9uOg0KKyAg ICAgYWxsb2NhdGVkX3NpemUgLSBvZmZzZXRvZiAoc3RydWN0IGFubm90YXRl ZCwgYXJyYXlbMF0pDQorDQorICAgIEEuMiBmcm9tIHRoZSBjb3VudGVkLWJ5 IGF0dHJpYnV0ZToNCisgICAgIHAtPmZvbyAqIHNpemVvZiAoY2hhcikNCisN CisgICAgd2UgYWx3YXlzIHVzZSB0aGUgbGF0ZXN0IHZhbHVlIHRoYXQgaXMg aG9sZCBieSB0aGUgY291bnRlZC1ieSBmaWVsZC4NCisgICAqLw0KKw0KKyAg RVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAtPmFycmF5 LCAwKSwNCisgIChwLT5mb28pICogc2l6ZW9mKGNoYXIpKTsNCisNCisgIEVY UEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLT5hcnJheSwg MSksDQorICAocC0+Zm9vKSAqIHNpemVvZihjaGFyKSk7DQorDQorICBFWFBF Q1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocC0+YXJyYXksIDIp LA0KKyAgKHAtPmZvbykgKiBzaXplb2YoY2hhcikpOw0KKw0KKyAgRVhQRUNU KF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAtPmFycmF5LCAzKSwN CisgIChwLT5mb28pICogc2l6ZW9mKGNoYXIpKTsNCisNCisgIC8qd2hlbiBj aGVja2luZyB0aGUgcG9pbnRlciBwLCB3ZSBvbmx5IGhhdmUgaW5mbyBvbiB0 aGUgb2JzZXJ2ZWQgYWxsb2NhdGlvbi4NCisgICAgU28sIHRoZSBvYmplY3Qg c2l6ZSBpbmZvIGNhbiBvbmx5IGJlZW4gb2J0YWluZWQgZnJvbSB0aGUgY2Fs bCB0byBtYWxsb2MuDQorICAgIGZvciBib3RoIE1BWElNVU0gYW5kIE1JTklN VU06IEEgPSAoaW5kZXggKyBTSVpFX0JVTVApICogc2l6ZW9mIChjaGFyKSAg Ki8NCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShw LCAwKSwgYWxsb2NhdGVkX3NpemUpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9k eW5hbWljX29iamVjdF9zaXplKHAsIDEpLCBhbGxvY2F0ZWRfc2l6ZSk7DQor ICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocCwgMiks IGFsbG9jYXRlZF9zaXplKTsNCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1p Y19vYmplY3Rfc2l6ZShwLCAzKSwgYWxsb2NhdGVkX3NpemUpOw0KKyAgcmV0 dXJuIHA7DQorfQ0KKw0KKy8qIGluIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb24s IG1hbGxvYyBhbGxvY2F0ZWQgbGVzcyBzcGFjZSB0aGFuIHRoZSB2YWx1ZQ0K KyAgIG9mIGNvdW50ZWRfYnkgYXR0cmlidXRlLiAgVGhlbiB3aGF0J3MgdGhl IGNvcnJlY3QgYmVoYXZpb3Igd2UgZXhwZWN0DQorICAgdGhlIF9fYnVpbHRp bl9keW5hbWljX29iamVjdF9zaXplIHNob3VsZCBoYXZlIGZvciBlYWNoIG9m IHRoZSBjYXNlcz8NCisgICBOT1RFOiB0aGlzIGlzIGFuIHVzZXIgZXJyb3Is IEdDQyBzaG91bGQgaXNzdWUgd2FybmluZ3MgZm9yIHN1Y2ggY2FzZS4NCisg ICB0aGlzIGlzIGEgc2VwZXJhdGUgaXNzdWUgd2Ugc2hvdWxkIGFkZHJlc3Mg bGF0ZXIuICAqLw0KKw0KK3N0YXRpYyBzdHJ1Y3QgYW5ub3RhdGVkICogbm9p bmxpbmUgYWxsb2NfYnVmX2xlc3MgKHNpemVfdCBpbmRleCkNCit7DQorICBz dHJ1Y3QgYW5ub3RhdGVkICpwOw0KKyAgc2l6ZV90IGFsbG9jYXRlZF9zaXpl DQorICAgID0gTUFYIChzaXplb2YgKHN0cnVjdCBhbm5vdGF0ZWQpLA0KKyAg ICAoX19idWlsdGluX29mZnNldG9mIChzdHJ1Y3QgYW5ub3RhdGVkLCBhcnJh eVswXSkNCisgICAgICsgKGluZGV4KSAqIHNpemVvZiAoY2hhcikpKTsNCisg IHAgPSAoc3RydWN0IGFubm90YXRlZCAqKSBtYWxsb2MgKGFsbG9jYXRlZF9z aXplKTsNCisNCisgIHAtPmZvbyA9IGluZGV4ICsgU0laRV9CVU1QOw0KKw0K KyAgLyp3aGVuIGNoZWNraW5nIHRoZSBvYnNlcnZlZCBhY2Nlc3MgcC0+YXJy YXksIHdlIGhhdmUgaW5mbyBvbiBib3RoDQorICAgIG9ic2VydmVyZWQgYWxs b2NhdGlvbiBhbmQgb2JzZXJ2ZWQgYWNjZXNzLA0KKyAgICBBLjEgZnJvbSBv YnNlcnZlZCBhbGxvY2F0aW9uOg0KKyAgICAgYWxsb2NhdGVkX3NpemUgLSBv ZmZzZXRvZiAoc3RydWN0IGFubm90YXRlZCwgYXJyYXlbMF0pDQorICAgIEEu MiBmcm9tIHRoZSBjb3VudGVkLWJ5IGF0dHJpYnV0ZToNCisgICAgIHAtPmZv byAqIHNpemVvZiAoY2hhcikNCisNCisgICAgd2UgYWx3YXlzIHVzZSB0aGUg bGF0ZXN0IHZhbHVlIHRoYXQgaXMgaG9sZCBieSB0aGUgY291bnRlZC1ieSBm aWVsZC4NCisgICAqLw0KKw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWlj X29iamVjdF9zaXplKHAtPmFycmF5LCAwKSwNCisgIChwLT5mb28pICogc2l6 ZW9mKGNoYXIpKTsNCisNCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19v YmplY3Rfc2l6ZShwLT5hcnJheSwgMSksDQorICAocC0+Zm9vKSAqIHNpemVv ZihjaGFyKSk7DQorDQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2Jq ZWN0X3NpemUocC0+YXJyYXksIDIpLA0KKyAgKHAtPmZvbykgKiBzaXplb2Yo Y2hhcikpOw0KKw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVj dF9zaXplKHAtPmFycmF5LCAzKSwNCisgIChwLT5mb28pICogc2l6ZW9mKGNo YXIpKTsNCisNCisgIC8qd2hlbiBjaGVja2luZyB0aGUgcG9pbnRlciBwLCB3 ZSBvbmx5IGhhdmUgaW5mbyBvbiB0aGUgb2JzZXJ2ZWQNCisgICAgYWxsb2Nh dGlvbi4gU28sIHRoZSBvYmplY3Qgc2l6ZSBpbmZvIGNhbiBvbmx5IGJlZW4g b2J0YWluZWQgZnJvbQ0KKyAgICB0aGUgY2FsbCB0byBtYWxsb2MuICAqLw0K KyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAsIDAp LCBhbGxvY2F0ZWRfc2l6ZSk7DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFt aWNfb2JqZWN0X3NpemUocCwgMSksIGFsbG9jYXRlZF9zaXplKTsNCisgIEVY UEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShwLCAyKSwgYWxs b2NhdGVkX3NpemUpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29i amVjdF9zaXplKHAsIDMpLCBhbGxvY2F0ZWRfc2l6ZSk7DQorICByZXR1cm4g cDsNCit9DQorDQoraW50IG1haW4gKCkNCit7DQorICBzdHJ1Y3QgYW5ub3Rh dGVkICpwLCAqcTsNCisgIHAgPSBhbGxvY19idWZfbW9yZSAoMTApOw0KKyAg cSA9IGFsbG9jX2J1Zl9sZXNzICgxMCk7DQorDQorICAvKndoZW4gY2hlY2tp bmcgdGhlIGFjY2VzcyBwLT5hcnJheSwgd2Ugb25seSBoYXZlIGluZm8gb24g dGhlIGNvdW50ZWQtYnkNCisgICAgdmFsdWUuICAqLw0KKyAgRVhQRUNUKF9f YnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAtPmFycmF5LCAwKSwgcC0+ Zm9vICogc2l6ZW9mKGNoYXIpKTsNCisgIEVYUEVDVChfX2J1aWx0aW5fZHlu YW1pY19vYmplY3Rfc2l6ZShwLT5hcnJheSwgMSksIHAtPmZvbyAqIHNpemVv ZihjaGFyKSk7DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0 X3NpemUocC0+YXJyYXksIDIpLCBwLT5mb28gKiBzaXplb2YoY2hhcikpOw0K KyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHAtPmFy cmF5LCAzKSwgcC0+Zm9vICogc2l6ZW9mKGNoYXIpKTsNCisgIC8qd2hlbiBj aGVja2luZyB0aGUgcG9pbnRlciBwLCB3ZSBoYXZlIG5vIG9ic2VydmVkIGFs bG9jYXRpb24gbm9yIG9ic2VydmVkDQorICAgIGFjY2VzcywgdGhlcmVmb3Jl LCB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBzaXplIGluZm8gaGVyZS4gICov DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3NpemUocCwg MCksIC0xKTsNCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19vYmplY3Rf c2l6ZShwLCAxKSwgLTEpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWlj X29iamVjdF9zaXplKHAsIDIpLCAwKTsNCisgIEVYUEVDVChfX2J1aWx0aW5f ZHluYW1pY19vYmplY3Rfc2l6ZShwLCAzKSwgMCk7DQorDQorICAvKndoZW4g Y2hlY2tpbmcgdGhlIGFjY2VzcyBwLT5hcnJheSwgd2Ugb25seSBoYXZlIGlu Zm8gb24gdGhlIGNvdW50ZWQtYnkNCisgICAgdmFsdWUuICAqLw0KKyAgRVhQ RUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKHEtPmFycmF5LCAw KSwgcS0+Zm9vICogc2l6ZW9mKGNoYXIpKTsNCisgIEVYUEVDVChfX2J1aWx0 aW5fZHluYW1pY19vYmplY3Rfc2l6ZShxLT5hcnJheSwgMSksIHEtPmZvbyAq IHNpemVvZihjaGFyKSk7DQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNf b2JqZWN0X3NpemUocS0+YXJyYXksIDIpLCBxLT5mb28gKiBzaXplb2YoY2hh cikpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXpl KHEtPmFycmF5LCAzKSwgcS0+Zm9vICogc2l6ZW9mKGNoYXIpKTsNCisgIC8q d2hlbiBjaGVja2luZyB0aGUgcG9pbnRlciBwLCB3ZSBoYXZlIG5vIG9ic2Vy dmVkIGFsbG9jYXRpb24gbm9yIG9ic2VydmVkDQorICAgIGFjY2VzcywgdGhl cmVmb3JlLCB3ZSBjYW5ub3QgZGV0ZXJtaW5lIHRoZSBzaXplIGluZm8gaGVy ZS4gICovDQorICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNfb2JqZWN0X3Np emUocSwgMCksIC0xKTsNCisgIEVYUEVDVChfX2J1aWx0aW5fZHluYW1pY19v YmplY3Rfc2l6ZShxLCAxKSwgLTEpOw0KKyAgRVhQRUNUKF9fYnVpbHRpbl9k eW5hbWljX29iamVjdF9zaXplKHEsIDIpLCAwKTsNCisgIEVYUEVDVChfX2J1 aWx0aW5fZHluYW1pY19vYmplY3Rfc2l6ZShxLCAzKSwgMCk7DQorDQorICBE T05FICgpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9mbGV4LWFycmF5LWNvdW50ZWQtYnktNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvZmxleC1hcnJheS1jb3VudGVkLWJ5LTUuYw0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uMzdmYzIxNWU1ZTVjDQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9mbGV4 LWFycmF5LWNvdW50ZWQtYnktNS5jDQpAQCAtMCwwICsxLDQ4IEBADQorLyog dGVzdCB0aGUgYXR0cmlidXRlIGNvdW50ZWRfYnkgYW5kIGl0cyB1c2FnZSBp bg0KKyAqIF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplLiB3aGVuIHRo ZSBjb3VudGVkX2J5IGZpZWxkIGlzIG5lZ2F0aXZlLiAgKi8NCisvKiB7IGRn LWRvIHJ1biB9ICovDQorLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8NCisN CisjaW5jbHVkZSAiYnVpbHRpbi1vYmplY3Qtc2l6ZS1jb21tb24uaCINCisN CitzdHJ1Y3QgYW5ub3RhdGVkIHsNCisgIGludCBiOw0KKyAgaW50IGNbXSBf X2F0dHJpYnV0ZV9fICgoY291bnRlZF9ieSAoYikpKTsNCit9ICphcnJheV9h bm5vdGF0ZWQ7DQorDQorc3RydWN0IG5lc3RlZF9hbm5vdGF0ZWQgew0KKyAg c3RydWN0IHsNCisgICAgdW5pb24gew0KKyAgICAgIGludCBiOw0KKyAgICAg IGZsb2F0IGY7DQorICAgIH07DQorICAgIGludCBuOw0KKyAgfTsNCisgIGlu dCBjW10gX19hdHRyaWJ1dGVfXyAoKGNvdW50ZWRfYnkgKGIpKSk7DQorfSAq YXJyYXlfbmVzdGVkX2Fubm90YXRlZDsNCisNCit2b2lkIF9fYXR0cmlidXRl X18oKF9fbm9pbmxpbmVfXykpIHNldHVwIChpbnQgYXR0cl9jb3VudCkNCit7 DQorICBhcnJheV9hbm5vdGF0ZWQNCisgICAgPSAoc3RydWN0IGFubm90YXRl ZCAqKW1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgYW5ub3RhdGVkKSk7DQorICBh cnJheV9hbm5vdGF0ZWQtPmIgPSBhdHRyX2NvdW50Ow0KKw0KKyAgYXJyYXlf bmVzdGVkX2Fubm90YXRlZA0KKyAgICA9IChzdHJ1Y3QgbmVzdGVkX2Fubm90 YXRlZCAqKW1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3QgbmVzdGVkX2Fubm90YXRl ZCkpOw0KKyAgYXJyYXlfbmVzdGVkX2Fubm90YXRlZC0+YiA9IGF0dHJfY291 bnQgLTE7DQorDQorICByZXR1cm47DQorfQ0KKw0KK3ZvaWQgX19hdHRyaWJ1 dGVfXygoX19ub2lubGluZV9fKSkgdGVzdCAoKQ0KK3sNCisgICAgRVhQRUNU KF9fYnVpbHRpbl9keW5hbWljX29iamVjdF9zaXplKGFycmF5X2Fubm90YXRl ZC0+YywgMSksIDApOw0KKyAgICBFWFBFQ1QoX19idWlsdGluX2R5bmFtaWNf b2JqZWN0X3NpemUoYXJyYXlfbmVzdGVkX2Fubm90YXRlZC0+YywgMSksIDAp Ow0KK30NCisNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQ0K K3sNCisgIHNldHVwICgtMTApOw0KKyAgdGVzdCAoKTsNCisgIERPTkUgKCk7 DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90cmVlLW9iamVjdC1zaXplLmNjIGIv Z2NjL3RyZWUtb2JqZWN0LXNpemUuY2MNCmluZGV4IDAxOGZiYzMwY2JiNi4u NjMwYjBhN2FhYTRiIDEwMDY0NA0KLS0tIGEvZ2NjL3RyZWUtb2JqZWN0LXNp emUuY2MNCisrKyBiL2djYy90cmVlLW9iamVjdC1zaXplLmNjDQpAQCAtMzcs NiArMzcsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJ TkczLiAgSWYgbm90IHNlZQ0KICNpbmNsdWRlICJhdHRyaWJzLmgiDQogI2lu Y2x1ZGUgImJ1aWx0aW5zLmgiDQogI2luY2x1ZGUgImdpbXBsaWZ5LW1lLmgi DQorI2luY2x1ZGUgImdpbXBsaWZ5LmgiDQogICBzdHJ1Y3Qgb2JqZWN0X3Np emVfaW5mbw0KIHsNCkBAIC02MCw2ICs2MSw3IEBAIHN0YXRpYyB0cmVlIGNv bXB1dGVfb2JqZWN0X29mZnNldCAodHJlZSwgY29uc3RfdHJlZSk7DQogc3Rh dGljIGJvb2wgYWRkcl9vYmplY3Rfc2l6ZSAoc3RydWN0IG9iamVjdF9zaXpl X2luZm8gKiwNCiAgICAgICAgY29uc3RfdHJlZSwgaW50LCB0cmVlICosIHRy ZWUgKnQgPSBOVUxMKTsNCiBzdGF0aWMgdHJlZSBhbGxvY19vYmplY3Rfc2l6 ZSAoY29uc3QgZ2NhbGwgKiwgaW50KTsNCitzdGF0aWMgdHJlZSBhY2Nlc3Nf d2l0aF9zaXplX29iamVjdF9zaXplIChjb25zdCBnY2FsbCAqLCBpbnQpOw0K IHN0YXRpYyB0cmVlIHBhc3NfdGhyb3VnaF9jYWxsIChjb25zdCBnY2FsbCAq KTsNCiBzdGF0aWMgdm9pZCBjb2xsZWN0X29iamVjdF9zaXplc19mb3IgKHN0 cnVjdCBvYmplY3Rfc2l6ZV9pbmZvICosIHRyZWUpOw0KIHN0YXRpYyB2b2lk IGV4cHJfb2JqZWN0X3NpemUgKHN0cnVjdCBvYmplY3Rfc2l6ZV9pbmZvICos IHRyZWUsIHRyZWUpOw0KQEAgLTc0OSw2ICs3NTEsNTkgQEAgYWRkcl9vYmpl Y3Rfc2l6ZSAoc3RydWN0IG9iamVjdF9zaXplX2luZm8gKm9zaSwgY29uc3Rf dHJlZSBwdHIsDQogICByZXR1cm4gZmFsc2U7DQogfQ0KICsvKiBDb21wdXRl IF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSBmb3IgYSBDQUxMIHRvIC5BQ0NFU1Nf V0lUSF9TSVpFLA0KKyAgIE9CSkVDVF9TSVpFX1RZUEUgaXMgdGhlIHNlY29u ZCBhcmd1bWVudCBmcm9tIF9fYnVpbHRpbl9vYmplY3Rfc2l6ZS4NCisgICB0 aGUgMm5kLCAzcmQsIGFuZCB0aGUgNHRoIHBhcmFtZXRlcnMgb2YgdGhlIGNh bGwgZGV0ZXJtaW5lIHRoZSBzaXplIG9mDQoNCkNhcGl0YWxpemUg4oCcVGhl 4oCdDQpPa2F5Lg0KDQorICAgdGhlIENBTEw6DQorDQorICAgMm5kIGFyZ3Vt ZW50IFJFRl9UT19TSVpFOiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBzaXplIG9m IHRoZSBvYmplY3QsDQorICAgM3JkIGFyZ3VtZW50IENMQVNTX09GX1NJWkU6 IFRoZSBzaXplIHJlZmVyZW5jZWQgYnkgdGhlIFJFRl9UT19TSVpFIHJlcHJl c2VudHMNCisgICAgIDA6IHVua25vd247DQorICAgICAxOiB0aGUgbnVtYmVy IG9mIHRoZSBlbGVtZW50cyBvZiB0aGUgb2JqZWN0IHR5cGU7DQorICAgICAy OiB0aGUgbnVtYmVyIG9mIGJ5dGVzOw0KKyAgIDR0aCBhcmd1bWVudCBUWVBF X09GX1NJWkU6IEEgY29uc3RhbnQgMCB3aXRoIHRoZSBUWVBFIG9mIHRoZSBv YmplY3QNCisgICAgIHJlZmVkIGJ5IFJFRl9UT19TSVpFDQoNCnMvcmVmZWQv cmVmZXJlbmNlZC8gTWF5YmUgcmVwaHJhc2UgdGhpcyBhcyB0aGUgZm9sbG93 aW5nPw0KDQogQSBjb25zdGFudCAwIHdpdGggaXRzIFRZUEUgYmVpbmcgdGhl IHNhbWUgYXMgdGhlIFRZUEUgb2YgdGhlIG9iamVjdA0KIHJlZmVyZW5jZWQg YnkgUkVGX1RPX1NJWkUuDQpPa2F5LCB3aWxsIHVwZGF0ZSB0aGlzLg0KDQor DQorICAgdGhlIHNpemUgb2YgdGhlIGVsZW1lbnQgY2FuIGJlIHJldHJpdmVk IGZyb20gdGhlIHJlc3VsdCB0eXBlIG9mIHRoZSBjYWxsLA0KDQpzL3JldHJp dmVkL3JldHJpZXZlZC8gIEFsc28gY2FwaXRhbGl6ZSB0aGUgZmlyc3QgIlRo ZeKAnS4NCk9rYXkuDQoNCisgICB3aGljaCBpcyB0aGUgcG9pbnRlciB0byB0 aGUgYXJyYXkgdHlwZS4gICovDQorc3RhdGljIHRyZWUNCithY2Nlc3Nfd2l0 aF9zaXplX29iamVjdF9zaXplIChjb25zdCBnY2FsbCAqY2FsbCwgaW50IG9i amVjdF9zaXplX3R5cGUpDQorew0KDQpUaGlzIHNob3VsZCBwcm9iYWJseSBi YWlsIG91dCBpZiBvYmplY3Rfc2l6ZV90eXBlICYgT1NUX0RZTkFNSUMgPT0g MC4NCk9rYXkuIFdpbGwgYWRkIHRoaXMuDQoNCisgIGdjY19hc3NlcnQgKGdp bXBsZV9jYWxsX2ludGVybmFsX3AgKGNhbGwsIElGTl9BQ0NFU1NfV0lUSF9T SVpFKSk7DQorICAvKiByZXN1bHQgdHlwZSBpcyBhIHBvaW50ZXIgdHlwZSB0 byB0aGUgb3JpZ2luYWwgZmxleGlibGUgYXJyYXkgdHlwZS4gICovDQorICB0 cmVlIHJlc3VsdF90eXBlID0gZ2ltcGxlX2NhbGxfcmV0dXJuX3R5cGUgKGNh bGwpOw0KKyAgZ2NjX2Fzc2VydCAoUE9JTlRFUl9UWVBFX1AgKHJlc3VsdF90 eXBlKSk7DQorICB0cmVlIGVsZW1lbnRfc2l6ZSA9IFRZUEVfU0laRV9VTklU IChUUkVFX1RZUEUgKFRSRUVfVFlQRSAocmVzdWx0X3R5cGUpKSk7DQorICB0 cmVlIHJlZl90b19zaXplID0gZ2ltcGxlX2NhbGxfYXJnIChjYWxsLCAxKTsN CisgIHVuc2lnbmVkIGludCB0eXBlX29mX3NpemUgPSBUUkVFX0lOVF9DU1Rf TE9XIChnaW1wbGVfY2FsbF9hcmcgKGNhbGwsIDIpKTsNCg0KU2hvdWxkbid0 IHRoaXMgYmUgY2xhc3Nfb2Zfc2l6ZT8NCg0KV2lsbCB1cGRhdGUgdGhpcyB3 aGVuIEkgY2hhbmdlZCB0aGUgM3JkIGFyZ3VtZW50IHBlciB0aGUgcHJldmlv dXMgZGlzY3Vzc2lvbi4NCg0KUWluZw0KDQorICB0cmVlIHR5cGUgPSBUUkVF X1RZUEUgKGdpbXBsZV9jYWxsX2FyZyAoY2FsbCwgMykpOw0KKw0KKyAgdHJl ZSBzaXplID0gZm9sZF9idWlsZDIgKE1FTV9SRUYsIHR5cGUsIHJlZl90b19z aXplLA0KKyAgICBidWlsZF9pbnRfY3N0IChwdHJfdHlwZV9ub2RlLCAwKSk7 DQorDQorICAvKiBJZiBzaXplIGlzIG5lZ2F0aXZlIHZhbHVlLCB0cmVhdCBp dCBhcyB6ZXJvLiAgKi8NCisgIGlmICghVFlQRV9VTlNJR05FRCAodHlwZSkp DQorICB7DQorICAgIHRyZWUgY29uZF9leHByID0gZm9sZF9idWlsZDIgKExU X0VYUFIsIGJvb2xlYW5fdHlwZV9ub2RlLA0KKyAgIHVuc2hhcmVfZXhwciAo c2l6ZSksIGJ1aWxkX3plcm9fY3N0ICh0eXBlKSk7DQorICAgIHNpemUgPSBm b2xkX2J1aWxkMyAoQ09ORF9FWFBSLCBpbnRlZ2VyX3R5cGVfbm9kZSwgY29u ZF9leHByLA0KKyBidWlsZF96ZXJvX2NzdCAodHlwZSksIHNpemUpOw0KKyAg fQ0KKw0KKyAgaWYgKHR5cGVfb2Zfc2l6ZSA9PSAwKQ0KKyAgICByZXR1cm4g c2l6ZV91bmtub3duIChvYmplY3Rfc2l6ZV90eXBlKTsNCisgIGVsc2UgaWYg KHR5cGVfb2Zfc2l6ZSA9PSAxKQ0KKyAgICBzaXplID0gc2l6ZV9iaW5vcCAo TVVMVF9FWFBSLA0KKyAgICAgICAgZm9sZF9jb252ZXJ0IChzaXpldHlwZSwg c2l6ZSksDQorICAgICAgICBmb2xkX2NvbnZlcnQgKHNpemV0eXBlLCBlbGVt ZW50X3NpemUpKTsNCisgIGVsc2UNCisgICAgc2l6ZSA9IGZvbGRfY29udmVy dCAoc2l6ZXR5cGUsIHNpemUpOw0KKw0KKyAgaWYgKCF0b2RvKQ0KKyAgICB0 b2RvID0gVE9ET191cGRhdGVfc3NhX29ubHlfdmlydHVhbHM7DQorDQorICBy ZXR1cm4gc2l6ZTsNCit9DQogICAvKiBDb21wdXRlIF9fYnVpbHRpbl9vYmpl Y3Rfc2l6ZSBmb3IgQ0FMTCwgd2hpY2ggaXMgYSBHSU1QTEVfQ0FMTC4NCiAg ICBIYW5kbGVzIGNhbGxzIHRvIGZ1bmN0aW9ucyBkZWNsYXJlZCB3aXRoIGF0 dHJpYnV0ZSBhbGxvY19zaXplLg0KQEAgLTEzNTAsOCArMTQwNSwxMiBAQCBj YWxsX29iamVjdF9zaXplIChzdHJ1Y3Qgb2JqZWN0X3NpemVfaW5mbyAqb3Np LCB0cmVlIHB0ciwgZ2NhbGwgKmNhbGwpDQogICAgIGJvb2wgaXNfc3RyZHVw ID0gZ2ltcGxlX2NhbGxfYnVpbHRpbl9wIChjYWxsLCBCVUlMVF9JTl9TVFJE VVApOw0KICAgYm9vbCBpc19zdHJuZHVwID0gZ2ltcGxlX2NhbGxfYnVpbHRp bl9wIChjYWxsLCBCVUlMVF9JTl9TVFJORFVQKTsNCisgIGJvb2wgaXNfYWNj ZXNzX3dpdGhfc2l6ZQ0KKyAgPSBnaW1wbGVfY2FsbF9pbnRlcm5hbF9wIChj YWxsLCBJRk5fQUNDRVNTX1dJVEhfU0laRSk7DQogICBpZiAoaXNfc3RyZHVw IHx8IGlzX3N0cm5kdXApDQogICAgIGJ5dGVzID0gc3RyZHVwX29iamVjdF9z aXplIChjYWxsLCBvYmplY3Rfc2l6ZV90eXBlLCBpc19zdHJuZHVwKTsNCisg IGVsc2UgaWYgKGlzX2FjY2Vzc193aXRoX3NpemUpDQorICAgIGJ5dGVzID0g YWNjZXNzX3dpdGhfc2l6ZV9vYmplY3Rfc2l6ZSAoY2FsbCwgb2JqZWN0X3Np emVfdHlwZSk7DQogICBlbHNlDQogICAgIGJ5dGVzID0gYWxsb2Nfb2JqZWN0 X3NpemUgKGNhbGwsIG9iamVjdF9zaXplX3R5cGUpOw0KDQo= --_000_51BA04E319594862AA59A3B6E3B59F12oraclecom_--