From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by sourceware.org (Postfix) with ESMTPS id 2C4353858403 for ; Mon, 25 Mar 2024 12:14:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2C4353858403 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 2C4353858403 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.20 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711368848; cv=pass; b=lbRsWUURljiXyYv76QSiEm/vuilRq2sPdvr0NcPT46exTmILIlYvvJIele9UkLz5QUMIi3tCk/Z0Z4pnAg5rX2Aa/epmygAd+37Fv8mwiRjoOBmOFoFCToQ2ZV8OZ+xhQRri574VzfsG2b8NzVSph4ZyKy6UjFwkqRA2ClIlVJ0= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1711368848; c=relaxed/simple; bh=U8JHUNvc1oPNSvo8n0nVa56KEQXXTKk85NPsSrVWt/4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=VByxUNWtzjdXtpqDbVJ9JMfjqDnqc75d2aIgD6HPSRKkdxhY0boK6Zijs7joGrBxuSsVKRwKw/xVgmDPuQiRQgaXUrBVzmbx/dLDqSzCVsATwbahnLyOtxTElztJpr9EHFHSOHrnpdqXqFqHz6f5AClMZsbnWxib9hTKaZgP8XM= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711368845; x=1742904845; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=U8JHUNvc1oPNSvo8n0nVa56KEQXXTKk85NPsSrVWt/4=; b=MZ7Z/y5uNsXmIm0mSVCL0sN4TwWTzwVm5Lrq14N5w9A/UMmLPwA20n63 kSb6r7KJWZohkBh22zHf1XqwIvnmEygg9qo2i3zOl1s5Xy1yixkNElVs6 CtxgHP4nljBs9dEETRb8JtIbMEmK3XuNivnce3WQGPaV+rCHqlleULhEm JIbNmxszeXBDfQFqnRuubcKPJUP1ovIDBM4XmDDRS9o76bWKiFIihxxIm MxE5G+9wIQANs/md8hLlmwOEir6E0wbOnNfWkFJQfk4XZ1DsScj8OTzfI QMIjU9DCaqZYJCEo/oNXrjn0qenHN6kAWRGndyhx47Jv7Kuq5bGrcTcKm Q==; X-IronPort-AV: E=McAfee;i="6600,9927,11023"; a="6260918" X-IronPort-AV: E=Sophos;i="6.07,153,1708416000"; d="scan'208";a="6260918" Received: from orviesa003.jf.intel.com ([10.64.159.143]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Mar 2024 05:14:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,153,1708416000"; d="scan'208";a="20265902" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa003.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 25 Mar 2024 05:14:03 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Mon, 25 Mar 2024 05:14:02 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Mon, 25 Mar 2024 05:14:02 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.100) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 25 Mar 2024 05:14:02 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YO5XbSLnJBWmzLYtddayWc5ha0NsnEEG0ssdBmJKzR10nk9ZVdvJjGtPXMRiOv+zbA9x6mLdSd7Ks/0fDXqoL2R9e9qyagcMCncJXeQtbhinXLHTSaWJ009dDxxI39Pw51f2Beuz7+0UEvDvI5a+mw3XJUT9CY0hKxPer3XSQvf3ICVbUInVffmP3KkqAQxr/bxxAnTmiAIkofUA/sXiQM1nu4ntvkhqe1dN6xG/UVHHZDRzu3JdSD9nl2MPVOD+uffdneAGRZyUE/Pomz4MfzBvJQFtftGLRuhIQLhsswlVO+eS0CHEl5VAphLsg9wIwhnFsB4LjbIwwHlMXd8HPA== 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=U8JHUNvc1oPNSvo8n0nVa56KEQXXTKk85NPsSrVWt/4=; b=dExCxIGo4l67J2SP9i/wh3fntfQFfmom+hfGCOgsqOI/3DajjG9o+hSidjTP5aPAZjLevRRoyjKrcE8KmSlLFkHXkpJlxoxLFCIw1Sfc9i91V3qorJyfsvhbqrloiaOnS5DFHElMXMHoNNPMyiS0QpQ+x670daLccYAB3KuPY9wM2nEW+k0rEMvF/yjpElaYoP3JyFnfSvF5tpSl+Qt69NKe0gbQn1MpDoGVaCYkGl/QOi7RBEhaqEtL8ZSDSaGSTHlYYlMzYmHF/bE5HiuwdFPapMVWCS5XNeWAu2SJf2vRb9eMFQu7tckcZ1/dBp8SIeGp0u4lHIRGpJD/Hh1VWA== 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 MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by DM6PR11MB4756.namprd11.prod.outlook.com (2603:10b6:5:2a7::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Mon, 25 Mar 2024 12:13:58 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%4]) with mapi id 15.20.7409.028; Mon, 25 Mar 2024 12:13:58 +0000 From: "Li, Pan2" To: Kito Cheng CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" Subject: RE: [PATCH v1] RISC-V: Allow RVV intrinsic when function target("arch=+v") Thread-Topic: [PATCH v1] RISC-V: Allow RVV intrinsic when function target("arch=+v") Thread-Index: AQHafogEdIdenpxnYkGDBZu9MjI/S7FIXAiAgAACoRA= Date: Mon, 25 Mar 2024 12:13:58 +0000 Message-ID: References: <20240325074222.2442975-1-pan2.li@intel.com> In-Reply-To: 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: MW5PR11MB5908:EE_|DM6PR11MB4756:EE_ x-ms-office365-filtering-correlation-id: 4163618a-0f67-401b-a95e-08dc4cc50ce4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: nGqVF5D6pk03j+12p9Sy9ORh7uf6JKAzzb8SOfSVC7z4oV0xwQ9av806jqPBM8Kqmq2Ffoj56FnOvgS9t/KF7jS/TpHDUdUxWWF5gvo9z/cqrOBB0cF1bGsnUIcIAVy/25n7qWGiHGUYm5dmvOTNSfJ1nJt22/fPU7QZ8wX3XCNjbBdUCnAbskPGWm6xR7lz+XQeyz/C62tRRtNGJZUpiIPsZnUuRpBaxS6CPvAQYc2KAZIyvHoY3a6in6gbbyYIIO/Oy/PVqvOSqW9Wh0aCoCdYHQRrvQxu42gH091MUY/2tWkwID02Wn5w/EwkEcJDF8Xm6j1tTobfnN+vKkFEy9owcTZTntw03J6JLlcR7+PMi7ZPZmNFOSPPh4Zm8waTqnhV42/EIjJVd4yea+vqWs9tJ/BQENBY1y64gIRKQwwqvzKzCT9GOeCzpzIXE/DYbI3VPjCvrodVzN5OCQt10QHcw8zA+ONT3v6I6VKpNJUM4F2xqMh+pfQe8SyYC/cG7dMWTm6njU2zFpkzkdx2C8RwtpAau0jXfHAGRpW+0+ZIXmzkXme0xEAj3en4nKMYCN0FM63vPx1M84wsUcClvFzWdPG1PS0KvVXh+7E5KNwFSovb2DEpdI1zbjdOWQoLhye2tI8ahZZ7VYPOci896SwmH7wWYpIfloNN2OVYwvA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005)(366007)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWdQZzQxVk9CNDhpRUVza2Evak9Bem5sNjFFVkhXT0NObmROZDZyditpUzBL?= =?utf-8?B?OGhLc0E1SmVkbnArTHNNUkg3Q2haU210ZnN1VlltZ2xjL2xpNkJlNlZwYWp0?= =?utf-8?B?bDFxRjZKcEpVdjhHRXBuVVlieDVvdnZkY0R2ZUtBeWhjWllkV0hvQUQ2VGlY?= =?utf-8?B?M0hzNGsvcmtNdlVPUENNaDRaWmdTUE10NUNaTHdGdnFZdFRieDVsa1hwVG5y?= =?utf-8?B?dlJCVXBmaHhsVHdNWVVoWFZnLzRUM1h0MVNMWDF0Y0dtbVBTVzVlL1ZQYXVM?= =?utf-8?B?L0JTRXdjaHVUcXZnR0t5TXYwOGpNVFdnSitFSDBGaFI1STRscnVGWndwWkNY?= =?utf-8?B?N1hQV1JWbDRwbmswV05hTHJaWWk0NTc5TGx6cU50YmhmTVJkSkdxbUpITjFy?= =?utf-8?B?VUQ2SXJnRFl3eTQ2UWs3RjZsL0Q3eFI4NENiS1NaTk9yV2dydHkzZmRFTTdx?= =?utf-8?B?Zlg5MlNaMmlKZUdGeU0vZXB6QjVmUVRiczJCODFjVnNsS21JT0xVK0FQZ0dL?= =?utf-8?B?WmhYbnZ0N05ha2hLaVpRbmtUSVNiTzdmT01DdndRZEdVcTZTNndvZWI2SWdR?= =?utf-8?B?Zk43ekQ1Mit0cnNUVVl6QS85Y0hNVmJFODc0WStNSGtoYkUxa1NsRDVlM0tj?= =?utf-8?B?VXpCUzNWenl3UkZnQVp2M1o2V25TRUp4NTV1RmZ4UjZyOU5sa3l6eWhPcHhj?= =?utf-8?B?T0QvY3BzTEo1d0R6M1Q4WU5qQ0N2eGR2RGdyR296emJacU1XRzR2aUtHQkFz?= =?utf-8?B?ZmlVYnhVK2huOFJua2N3R2t5QjdWVkFKQ2RjSHhwbHVxZ1ZMWEZza0VhS21t?= =?utf-8?B?QklYaWtYbHVxNHZGdkpOUklaTkV6VzZYTTN4V0lJOURBSkJySVl5VXo4RnZ4?= =?utf-8?B?VVY3TzlxWGN6ejN5K2k4V0lSczE1c2FRcVZWUW54V1F6ekh1VFA5eTVER2FZ?= =?utf-8?B?M05haktCdzNvYmRUUTNVcWN2MlQwNXN0WDdZN2dzSzdUY0Z0QlYxaTNlNFk3?= =?utf-8?B?Ymdxd21lNTg1d2dqRkxVWVJRNExLandnd0pYSXViaE1KWllHSXgyV3ZQTUVz?= =?utf-8?B?WUEzaktINUVEcDlFOFNVSXZmRmNJUFBpTFJhY3ZNZitVeXdvQ2ZvZ1ROd1pp?= =?utf-8?B?M25JOVpEeGU3MytTbEVhR01aN1Nqbkx0MGZkRUJicFVTWWdVYXdDckpETkRS?= =?utf-8?B?RWFTaXRLNnhacFVyd2pmQWNDc0tlVnNkT0tycS9yQi96RFg4S0JxMkMya3V0?= =?utf-8?B?MzdxbmFxS1JWd2xxWHRUWHJ5UzBtbXh6RkJ0TEN0Q3JGb3ZHWkVSQkRMTFNH?= =?utf-8?B?bEMvRlcrdnhJS3MvWVpvc21vTGZ0OXMxNVNPUTMzLzBRUTcxeGFBQ2FPOVFw?= =?utf-8?B?d01VRkJ5cTM0VFRqZ1RPWllyaW4wM3kxOUVOVE9rUmxQL0N6OGxBMFVaRjdz?= =?utf-8?B?Zy9hdkd6elpaMjRDM1hpc1NNeFVWSWVRMml3NnhBVkFGeWNVaGFUOEVqTFdi?= =?utf-8?B?UnFNbEV3djZIMTBEV1hKZ0gxbzErQ3lFMy9uRUo1a0w1VmJ6RUJyVElhWWFG?= =?utf-8?B?bW1vdEUzY3M4VTdJRXlwUkhVdjJEblNnYVgzOFdnMmUzb2hMRk5TK3ZxaTBu?= =?utf-8?B?RFdJdkhBbGlwSmlGK05xMWZoVEhTRWFaODN0K3NGSWQ2N3YxeEFLZXhmemUz?= =?utf-8?B?QklsOGJoUnVHanVCR2Z4YnRvN3IweE9BWTN5d3NnaFJlUDd5TTdFQjN4bWl5?= =?utf-8?B?Q1kyc0tVMlZlSTZ2QlhQbEp3WjBlWlBTZDRzZ0JZSGNoVmRqMEtLSlY1TG8v?= =?utf-8?B?YUh1cE8zUGJDN2VOT3I5NWRhVldMd0l5TVkxSGgwMCtUZ1VXWCtEVUpOZ3hV?= =?utf-8?B?WDdoVlJIWUdZZGRITnZ6MkFpZzEreDJEUTZhUkxlSXgrbnhqWHBTbDJHbnJB?= =?utf-8?B?ZWFSOHRIMjF5SHdQTzFVZzdvVFMyRmJmUTA1RDlFOUtybGVqRitUdEhDUUFw?= =?utf-8?B?ZkpIaDJDZWVsUkE2WDdFakJrSTVmcTZHR2RqMlkraC9yck5LR2tQOUhkTXgv?= =?utf-8?B?UWZHbFJkQ0NIamoxS2xqc21ISnF0N1VRUW9ndXRpYVdTSzF1WFYrRnpqNGxa?= =?utf-8?Q?xpFM=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4163618a-0f67-401b-a95e-08dc4cc50ce4 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2024 12:13:58.8096 (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: I3Iooq4lPU8GCWRD4ioLjQE4a80/V7//u8KsHaznqRBLU3Aazh3nqympPfZTK/KZIqrho8anEDEbf+GdgFu3Sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4756 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE,TXREP 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: Q29tbWl0dGVkLCB0aGFua3Mga2l0by4NCg0KUGFuDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tDQpGcm9tOiBLaXRvIENoZW5nIDxraXRvLmNoZW5nQGdtYWlsLmNvbT4gDQpTZW50OiBNb25k YXksIE1hcmNoIDI1LCAyMDI0IDg6MDQgUE0NClRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5j b20+DQpDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IGp1emhlLnpob25nQHJpdmFpLmFpOyBX YW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BB VENIIHYxXSBSSVNDLVY6IEFsbG93IFJWViBpbnRyaW5zaWMgd2hlbiBmdW5jdGlvbiB0YXJnZXQo ImFyY2g9K3YiKQ0KDQpMR1RNLCB0aGFua3MgOikNCg0KT24gTW9uLCBNYXIgMjUsIDIwMjQgYXQg Mzo0MuKAr1BNIDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+IEZyb206IFBhbiBMaSA8 cGFuMi5saUBpbnRlbC5jb20+DQo+DQo+IFRoaXMgcGF0Y2ggd291bGQgbGlrZSB0byBhbGxvdyB0 aGUgUlZWIGludHJpbnNpYyB3aGVuIGZ1bmN0aW9uIGlzDQo+IGF0dHJpYnV0ZWQgYXMgdGFyZ2V0 KCJhcmNoPSt2IikgYW5kIGJ1aWxkIHdpdGggcnY2NGdjLiAgRm9yIGV4YW1wbGU6DQo+DQo+IHZp bnQzMm0xX3QNCj4gX19hdHRyaWJ1dGVfXygodGFyZ2V0KCJhcmNoPSt2IikpKQ0KPiB0ZXN0XzEg KHZpbnQzMm0xX3QgYSwgdmludDMybTFfdCBiLCBzaXplX3QgdmwpDQo+IHsNCj4gICByZXR1cm4g X19yaXNjdl92YWRkX3Z2X2kzMm0xIChhLCBiLCB2bCk7DQo+IH0NCj4NCj4gYnVpbGQgd2l0aCAt bWFyY2g9cnY2NGdjIC1tYWJpPWxwNjRkIC1PMywgd2Ugd2lsbCBoYXZlIGFzbSBsaWtlIGJlbG93 Og0KPiB0ZXN0XzE6DQo+ICAgLm9wdGlvbiBwdXNoDQo+ICAgLm9wdGlvbiBhcmNoLCBydjY0aTJw MV9tMnAwX2EycDFfZjJwMl9kMnAyX2MycDBfdjFwMF96aWNzcjJwMF9cDQo+IHppZmVuY2VpMnAw X3p2ZTMyZjFwMF96dmUzMngxcDBfenZlNjRkMXAwX3p2ZTY0ZjFwMF96dmU2NHgxcDBfenZsMTI4 YjFwMF96dmwzMmIxcDBfenZsNjRiMXAwDQo+ICAgdnNldHZsaSB6ZXJvLGEwLGUzMixtMSx0YSxt YQ0KPiAgIHZhZGQudnYgdjgsdjgsdjkNCj4gICByZXQNCj4NCj4gVGhlIHJpc2N2X3ZlY3Rvci5o IG11c3QgYmUgaW5jbHVkZWQgd2hlbiBsZXZlcmFnZSBpbnRyaW5pc2MgdHlwZShzKSBhbmQNCj4g QVBJKHMpLiAgQW5kIHRoZSBzY29wZSBvZiB0aGlzIGF0dHJpYnV0ZSBzaG91bGQgbm90IGV4Y2Nl ZCB0aGUgZnVuY3Rpb24NCj4gYm9keS4gIE1lYW53aGlsZSwgdG8gbWFrZSBydnYgdHlwZXMgYW5k IEFQSShzKSBhdmFpbGFibGUgZm9yIHRoaXMgYXR0cmlidXRlLA0KPiBpbmNsdWRlIHJpc2N2X3Zl Y3Rvci5oIHdpbGwgbm90IHJlcG9ydCBlcnJvciBmb3Igbm93IGlmIHYgaXMgbm90IHByZXNlbnQN Cj4gaW4gbWFyY2guDQo+DQo+IEJlbG93IHRlc3QgYXJlIHBhc3NlZCBmb3IgdGhpcyBwYXRjaDoN Cj4gKiBUaGUgcmlzY3YgZnVsbHkgcmVncmVzc2lvbiB0ZXN0Lg0KPg0KPiBnY2MvQ2hhbmdlTG9n Og0KPg0KPiAgICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LWMuY2MgKHJpc2N2X3ByYWdtYV9p bnRyaW5zaWMpOiBSZW1vdmUgZXJyb3INCj4gICAgICAgICB3aGVuIFYgaXMgZGlzYWJsZWQgYW5k IGluaXQgdGhlIFJWViB0eXBlcyBhbmQgaW50cmluaWMgQVBJcy4NCj4gICAgICAgICAqIGNvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MgKGV4cGFuZF9idWlsdGluKTogUmVwb3J0 DQo+ICAgICAgICAgZXJyb3IgaWYgViBleHQgaXMgZGlzYWJsZWQuDQo+ICAgICAgICAgKiBjb25m aWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X3JldHVybl92YWx1ZV9pc192ZWN0b3JfdHlwZV9wKToN Cj4gICAgICAgICBEaXR0by4NCj4gICAgICAgICAocmlzY3ZfYXJndW1lbnRzX2lzX3ZlY3Rvcl90 eXBlX3ApOiBEaXR0by4NCj4gICAgICAgICAocmlzY3ZfdmVjdG9yX2NjX2Z1bmN0aW9uX3ApOiBE aXR0by4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdl92ZWN0b3IuaDogUmVtb3ZlIGVy cm9yIGlmIFYgaXMgZGlzYWJsZS4NCj4NCj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+DQo+ ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0xLmM6IFJlbW92ZS4N Cj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92 X3dpdGhfaW50cmluc2ljLTEuYzogTmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy0yLmM6IE5ldyB0 ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmli dXRlX3Zfd2l0aF9pbnRyaW5zaWMtMy5jOiBOZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTQuYzog TmV3IHRlc3QuDQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9h dHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy01LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICogZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMt Ni5jOiBOZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFy Z2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTcuYzogTmV3IHRlc3QuDQo+ICAgICAgICAg KiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJp bnNpYy04LmM6IE5ldyB0ZXN0Lg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBhbjIubGlA aW50ZWwuY29tPg0KPiAtLS0NCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YtYy5jYyAgICAgICAg ICAgICAgICAgICB8IDE4ICsrKysrKystLS0tDQo+ICBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZl Y3Rvci1idWlsdGlucy5jYyAgICAgfCAgNSArKysrDQo+ICBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmNjICAgICAgICAgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrKysrLS0tDQo+ICBnY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2X3ZlY3Rvci5oICAgICAgICAgICAgICAgfCAgNCAtLS0NCj4gIC4u Li9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0xLmMgICAgICB8ICA0IC0tLQ0KPiAg Li4uL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy0xLmMgICAgIHwgIDUgKysrKw0K PiAgLi4uL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy0yLmMgICAgIHwgMTggKysr KysrKysrKysNCj4gIC4uLi90YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtMy5jICAg ICB8IDEzICsrKysrKysrDQo+ICAuLi4vdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2lj LTQuYyAgICAgfCAxMCArKysrKysrDQo+ICAuLi4vdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50 cmluc2ljLTUuYyAgICAgfCAxMiArKysrKysrKw0KPiAgLi4uL3RhcmdldF9hdHRyaWJ1dGVfdl93 aXRoX2ludHJpbnNpYy02LmMgICAgIHwgMTIgKysrKysrKysNCj4gIC4uLi90YXJnZXRfYXR0cmli dXRlX3Zfd2l0aF9pbnRyaW5zaWMtNy5jICAgICB8ICA5ICsrKysrKw0KPiAgLi4uL3RhcmdldF9h dHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy04LmMgICAgIHwgMjMgKysrKysrKysrKysrKysNCj4g IDEzIGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4g IGRlbGV0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvcHJhZ21hLTEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtMS5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy0yLmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0 X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTMuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmlidXRlX3Zf d2l0aF9pbnRyaW5zaWMtNC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNp Yy01LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTYuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90 YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtNy5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1 dGVfdl93aXRoX2ludHJpbnNpYy04LmMNCj4NCj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtYy5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtYy5jYw0KPiBpbmRleCBlZGI4 NjZkNTFlNC4uMDEzMTQwMzc0NjEgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlzY3Yvcmlz Y3YtYy5jYw0KPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWMuY2MNCj4gQEAgLTIwMSwx NCArMjAxLDIwIEBAIHJpc2N2X3ByYWdtYV9pbnRyaW5zaWMgKGNwcF9yZWFkZXIgKikNCj4gICAg aWYgKHN0cmNtcCAobmFtZSwgInZlY3RvciIpID09IDANCj4gICAgICAgIHx8IHN0cmNtcCAobmFt ZSwgInh0aGVhZHZlY3RvciIpID09IDApDQo+ICAgICAgew0KPiAtICAgICAgaWYgKCFUQVJHRVRf VkVDVE9SKQ0KPiArICAgICAgaWYgKFRBUkdFVF9WRUNUT1IpDQo+ICsgICAgICAgcmlzY3ZfdmVj dG9yOjpoYW5kbGVfcHJhZ21hX3ZlY3RvciAoKTsNCj4gKyAgICAgIGVsc2UgLyogSW5kaWNhdGVz IHJpc2N2X3ZlY3Rvci5oIGlzIGluY2x1ZGVkIGJ1dCB2IGlzIG1pc3NpbmcgaW4gYXJjaCAgKi8N Cj4gICAgICAgICB7DQo+IC0gICAgICAgICBlcnJvciAoIiU8I3ByYWdtYSByaXNjdiBpbnRyaW5z aWMlPiBvcHRpb24gJXFzIG5lZWRzICdWJyBvciAiDQo+IC0gICAgICAgICAgICAgICAgIidYVEhF QURWRUNUT1InIGV4dGVuc2lvbiBlbmFibGVkIiwNCj4gLSAgICAgICAgICAgICAgICBuYW1lKTsN Cj4gLSAgICAgICAgIHJldHVybjsNCj4gKyAgICAgICAgIC8qIFRvIG1ha2UgdGhlIHRoZSBydnYg dHlwZXMgYW5kIGludHJpbnNpYyBBUEkgYXZhaWxhYmxlIGZvciB0aGUNCj4gKyAgICAgICAgICAg IHRhcmdldCgiYXJjaD0rdiIpIGF0dHJpYnV0ZSwgIHdlIG5lZWQgdG8gdGVtcG9yYWxseSBlbmFi bGUgdGhlDQo+ICsgICAgICAgICAgICBUQVJHRVRfVkVDVE9SLCBhbmQgZGlzYWJsZSBpdCBhZnRl ciBhbGwgaW5pdGlhbGl6ZWQuICAqLw0KPiArICAgICAgICAgdGFyZ2V0X2ZsYWdzIHw9IE1BU0tf VkVDVE9SOw0KPiArDQo+ICsgICAgICAgICByaXNjdl92ZWN0b3I6OmluaXRfYnVpbHRpbnMgKCk7 DQo+ICsgICAgICAgICByaXNjdl92ZWN0b3I6OmhhbmRsZV9wcmFnbWFfdmVjdG9yICgpOw0KPiAr DQo+ICsgICAgICAgICB0YXJnZXRfZmxhZ3MgJj0gfk1BU0tfVkVDVE9SOw0KPiAgICAgICAgIH0N Cj4gLSAgICAgIHJpc2N2X3ZlY3Rvcjo6aGFuZGxlX3ByYWdtYV92ZWN0b3IgKCk7DQo+ICAgICAg fQ0KPiAgICBlbHNlDQo+ICAgICAgZXJyb3IgKCJ1bmtub3duICU8I3ByYWdtYSByaXNjdiBpbnRy aW5zaWMlPiBvcHRpb24gJXFzIiwgbmFtZSk7DQo+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLmNjDQo+IGluZGV4IGM1ODgxYTUwMWQxLi5lMDczNzNkOGI1NyAxMDA2NDQN Cj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MNCj4gKysr IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MNCj4gQEAgLTQ1ODYs NiArNDU4NiwxMSBAQCBydHgNCj4gIGV4cGFuZF9idWlsdGluICh1bnNpZ25lZCBpbnQgY29kZSwg dHJlZSBleHAsIHJ0eCB0YXJnZXQpDQo+ICB7DQo+ICAgIHJlZ2lzdGVyZWRfZnVuY3Rpb24gJnJm biA9ICooKnJlZ2lzdGVyZWRfZnVuY3Rpb25zKVtjb2RlXTsNCj4gKw0KPiArICBpZiAoIVRBUkdF VF9WRUNUT1IpDQo+ICsgICAgZXJyb3JfYXQgKEVYUFJfTE9DQVRJT04gKGV4cCksDQo+ICsgICAg ICAgICAgICAgImJ1aWx0aW4gZnVuY3Rpb24gJXFFIHJlcXVpcmVzIHRoZSBWIElTQSBleHRlbnNp b24iLCBleHApOw0KPiArDQo+ICAgIHJldHVybiBmdW5jdGlvbl9leHBhbmRlciAocmZuLmluc3Rh bmNlLCByZm4uZGVjbCwgZXhwLCB0YXJnZXQpLmV4cGFuZCAoKTsNCj4gIH0NCj4NCj4gZGlmZiAt LWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmNjDQo+IGluZGV4IDZkMTE1NzZhOGZkLi5mZTk5NzZiZmZmZSAxMDA2NDQNCj4gLS0tIGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNj DQo+IEBAIC01NDY3LDcgKzU0NjcsMTUgQEAgcmlzY3ZfcmV0dXJuX3ZhbHVlX2lzX3ZlY3Rvcl90 eXBlX3AgKGNvbnN0X3RyZWUgZm50eXBlKQ0KPiAgew0KPiAgICB0cmVlIHJldHVybl90eXBlID0g VFJFRV9UWVBFIChmbnR5cGUpOw0KPg0KPiAtICByZXR1cm4gcmlzY3ZfdmVjdG9yX3R5cGVfcCAo cmV0dXJuX3R5cGUpOw0KPiArICBpZiAocmlzY3ZfdmVjdG9yX3R5cGVfcCAocmV0dXJuX3R5cGUp KQ0KPiArICAgIHsNCj4gKyAgICAgIGlmICghVEFSR0VUX1ZFQ1RPUikNCj4gKyAgICAgICBlcnJv cl9hdCAoaW5wdXRfbG9jYXRpb24sDQo+ICsgICAgICAgICAgICAgICAgICJyZXR1cm4gdHlwZSAl cVQgcmVxdWlyZXMgdGhlIFYgSVNBIGV4dGVuc2lvbiIsIHJldHVybl90eXBlKTsNCj4gKyAgICAg IHJldHVybiB0cnVlOw0KPiArICAgIH0NCj4gKyAgZWxzZQ0KPiArICAgIHJldHVybiBmYWxzZTsN Cj4gIH0NCj4NCj4gIC8qIFJldHVybiB0cnVlIGlmIGEgZnVuY3Rpb24gd2l0aCB0eXBlIEZOVFlQ RSB0YWtlcyBhcmd1bWVudHMgaW4NCj4gQEAgLTU0ODEsNyArNTQ4OSwxMyBAQCByaXNjdl9hcmd1 bWVudHNfaXNfdmVjdG9yX3R5cGVfcCAoY29uc3RfdHJlZSBmbnR5cGUpDQo+ICAgICAgew0KPiAg ICAgICAgdHJlZSBhcmdfdHlwZSA9IFRSRUVfVkFMVUUgKGNoYWluKTsNCj4gICAgICAgIGlmIChy aXNjdl92ZWN0b3JfdHlwZV9wIChhcmdfdHlwZSkpDQo+IC0gICAgICAgcmV0dXJuIHRydWU7DQo+ ICsgICAgICAgew0KPiArICAgICAgICAgaWYgKCFUQVJHRVRfVkVDVE9SKQ0KPiArICAgICAgICAg ICBlcnJvcl9hdCAoaW5wdXRfbG9jYXRpb24sDQo+ICsgICAgICAgICAgICAgICAgICAgICAiYXJn dW1lbnQgdHlwZSAlcVQgcmVxdWlyZXMgdGhlIFYgSVNBIGV4dGVuc2lvbiIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICBhcmdfdHlwZSk7DQo+ICsgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gKyAg ICAgICB9DQo+ICAgICAgfQ0KPg0KPiAgICByZXR1cm4gZmFsc2U7DQo+IEBAIC01NDkzLDggKzU1 MDcsMTYgQEAgcmlzY3ZfYXJndW1lbnRzX2lzX3ZlY3Rvcl90eXBlX3AgKGNvbnN0X3RyZWUgZm50 eXBlKQ0KPiAgc3RhdGljIGJvb2wNCj4gIHJpc2N2X3ZlY3Rvcl9jY19mdW5jdGlvbl9wIChjb25z dF90cmVlIGZudHlwZSkNCj4gIHsNCj4gLSAgcmV0dXJuIGxvb2t1cF9hdHRyaWJ1dGUgKCJ2ZWN0 b3JfY2MiLCBUWVBFX0FUVFJJQlVURVMgKGZudHlwZSkpICE9IE5VTExfVFJFRQ0KPiAtICAgICAg ICB8fCBsb29rdXBfYXR0cmlidXRlICgicmlzY3ZfdmVjdG9yX2NjIiwgVFlQRV9BVFRSSUJVVEVT IChmbnR5cGUpKSAhPSBOVUxMX1RSRUU7DQo+ICsgIHRyZWUgYXR0ciA9IFRZUEVfQVRUUklCVVRF UyAoZm50eXBlKTsNCj4gKyAgYm9vbCB2ZWN0b3JfY2NfcCA9IGxvb2t1cF9hdHRyaWJ1dGUgKCJ2 ZWN0b3JfY2MiLCBhdHRyKSAhPSBOVUxMX1RSRUUNCj4gKyAgICB8fCBsb29rdXBfYXR0cmlidXRl ICgicmlzY3ZfdmVjdG9yX2NjIiwgYXR0cikgIT0gTlVMTF9UUkVFOw0KPiArDQo+ICsgIGlmICh2 ZWN0b3JfY2NfcCAmJiAhVEFSR0VUX1ZFQ1RPUikNCj4gKyAgICBlcnJvcl9hdCAoaW5wdXRfbG9j YXRpb24sDQo+ICsgICAgICAgICAgICAgImZ1bmN0aW9uIGF0dHJpYnV0ZSAlcXMgcmVxdWlyZXMg dGhlIFYgSVNBIGV4dGVuc2lvbiIsDQo+ICsgICAgICAgICAgICAgInJpc2N2X3ZlY3Rvcl9jYyIp Ow0KPiArDQo+ICsgIHJldHVybiB2ZWN0b3JfY2NfcDsNCj4gIH0NCj4NCj4gIC8qIEltcGxlbWVu dCBUQVJHRVRfRk5UWVBFX0FCSS4gICovDQo+IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2X3ZlY3Rvci5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl92ZWN0b3IuaA0KPiBpbmRl eCBjMmZjNGIzNTI0Mi4uYWEwYzNhYTY5YzAgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3ZfdmVjdG9yLmgNCj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdl92ZWN0b3Iu aA0KPiBAQCAtMjgsOSArMjgsNiBAQA0KPiAgI2luY2x1ZGUgPHN0ZGludC5oPg0KPiAgI2luY2x1 ZGUgPHN0ZGRlZi5oPg0KPg0KPiAtI2lmbmRlZiBfX3Jpc2N2X3ZlY3Rvcg0KPiAtI2Vycm9yICJW ZWN0b3IgaW50cmluc2ljcyByZXF1aXJlIHRoZSB2ZWN0b3IgZXh0ZW5zaW9uLiINCj4gLSNlbHNl DQo+ICAjaWZkZWYgX19jcGx1c3BsdXMNCj4gIGV4dGVybiAiQyIgew0KPiAgI2VuZGlmDQo+IEBA IC00NSw1ICs0Miw0IEBAIGV4dGVybiAiQyIgew0KPiAgI2lmZGVmIF9fY3BsdXNwbHVzDQo+ICB9 DQo+ICAjZW5kaWYgLy8gX19jcGx1c3BsdXMNCj4gLSNlbmRpZiAvLyBfX3Jpc2N2X3ZlY3Rvcg0K PiAgI2VuZGlmIC8vIF9fUklTQ1ZfVkVDVE9SX0gNCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcmFnbWEtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByYWdtYS0xLmMNCj4gZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IGVmMzI5ZTMwNzg1Li4wMDAwMDAwMDAwMA0KPiAtLS0gYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHJhZ21hLTEuYw0KPiArKysgL2Rldi9u dWxsDQo+IEBAIC0xLDQgKzAsMCBAQA0KPiAtLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gLS8q IHsgZGctb3B0aW9ucyAiLU8zIC1tYXJjaD1ydjMyZ2MgLW1hYmk9aWxwMzJkIiB9ICovDQo+IC0N Cj4gLSNwcmFnbWEgcmlzY3YgaW50cmluc2ljICJ2ZWN0b3IiIC8qIHsgZGctZXJyb3IgeyNwcmFn bWEgcmlzY3YgaW50cmluc2ljJyBvcHRpb24gJ3ZlY3RvcicgbmVlZHMgJ1YnIG9yICdYVEhFQURW RUNUT1InIGV4dGVuc2lvbiBlbmFibGVkfSB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50 cmluc2ljLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJn ZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtMS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5kZmU4MTkxMDIxZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmli dXRlX3Zfd2l0aF9pbnRyaW5zaWMtMS5jDQo+IEBAIC0wLDAgKzEsNSBAQA0KPiArLyogVGVzdCB0 aGF0IHdlIGRvIG5vdCBoYXZlIGVycm9yIHdoZW4gY29tcGlsZSAqLw0KPiArLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnYyAtbWFiaT1scDY0 ZCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiBkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRy aWJ1dGVfdl93aXRoX2ludHJpbnNpYy0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTIuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uOTk5MjM0N2ZlNmINCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTIuYw0KPiBAQCAtMCwwICsxLDE4 IEBADQo+ICsvKiBUZXN0IHRoYXQgd2UgZG8gbm90IGhhdmUgZXJyb3Igd2hlbiBjb21waWxlICov DQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9 cnY2NGdjIC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVj dG9yLmgiDQo+ICsNCj4gK3ZpbnQzMm0xX3QNCj4gK19fYXR0cmlidXRlX18oKHRhcmdldCgiYXJj aD0rdiIpKSkNCj4gK3Rlc3RfMSAodmludDMybTFfdCBhLCB2aW50MzJtMV90IGIsIHNpemVfdCB2 bCkNCj4gK3sNCj4gKyAgcmV0dXJuIF9fcmlzY3ZfdmFkZF92dl9pMzJtMSAoYSwgYiwgdmwpOw0K PiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0XzIgKCkNCj4gK3sNCj4gKyAgdmludDMybTFfdCBh Ow0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy0zLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50 cmluc2ljLTMuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4u NTkwMzQzZGRiZmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTMu Yw0KPiBAQCAtMCwwICsxLDEzIEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjIC1tYWJpPWxwNjRkIC1PMyAtV25vLWltcGxpY2l0 LWludCIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4gK3Zp bnQzMm0xX3QNCj4gK19fYXR0cmlidXRlX18oKHRhcmdldCgiYXJjaD0remJiIikpKQ0KPiArdGVz dF8xICh2aW50MzJtMV90IGEsIHZpbnQzMm0xX3QgYiwgc2l6ZV90IHZsKQ0KPiArew0KPiArICBy ZXR1cm4gX19yaXNjdl92YWRkX3Z2X2kzMm0xIChhLCBiLCB2bCk7DQo+ICt9DQo+ICsNCj4gKy8q IHsgZGctZXJyb3IgInJldHVybiB0eXBlICd2aW50MzJtMV90JyByZXF1aXJlcyB0aGUgViBJU0Eg ZXh0ZW5zaW9uIiAiIiB7IHRhcmdldCB7ICJyaXNjdiotKi0qIiB9IH0gMCB9ICovDQo+IGRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0 dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtNC5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi4wYWNlY2U3NjQwYw0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS90YXJnZXRfYXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtNC5jDQo+IEBAIC0wLDAgKzEs MTAgQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1t YXJjaD1ydjY0Z2MgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJyaXNj dl92ZWN0b3IuaCINCj4gKw0KPiArdm9pZA0KPiArdGVzdF8xICh2aW50MzJtMV90IGEpIC8qIHsg ZGctZXJyb3Ige2FyZ3VtZW50IHR5cGUgJ3ZpbnQzMm0xX3QnIHJlcXVpcmVzIHRoZSBWIElTQSBl eHRlbnNpb259IH0gKi8NCj4gK3sNCj4gKyAgcmV0dXJuOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVf dl93aXRoX2ludHJpbnNpYy01LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTUuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uMmRjNDIxN2ZmMzINCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFy Z2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmluc2ljLTUuYw0KPiBAQCAtMCwwICsxLDEyIEBADQo+ ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2 NGdjIC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQo+ICsNCj4gK3ZpbnQzMm0xX3QgdGVzdF8xICgpDQo+ICt7DQo+ICsgIHZpbnQzMm0xX3Qg YTsNCj4gKyAgcmV0dXJuIGE7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZXJyb3IgInJldHVybiB0 eXBlICd2aW50MzJtMV90JyByZXF1aXJlcyB0aGUgViBJU0EgZXh0ZW5zaW9uIiAiIiB7IHRhcmdl dCB7ICJyaXNjdiotKi0qIiB9IH0gMCB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50cmlu c2ljLTYuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRf YXR0cmlidXRlX3Zfd2l0aF9pbnRyaW5zaWMtNi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAwLi41NjJiYjUwOWU5ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmlidXRl X3Zfd2l0aF9pbnRyaW5zaWMtNi5jDQo+IEBAIC0wLDAgKzEsMTIgQEANCj4gKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2MgLW1hYmk9bHA2 NGQgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4gKw0KPiAr aW50DQo+ICtfX2F0dHJpYnV0ZV9fKChyaXNjdl92ZWN0b3JfY2MpKQ0KPiArdGVzdF8xIChpbnQg YSkNCj4gK3sNCj4gKyAgcmV0dXJuIGEgKyAxOw0KPiArfQ0KPiArLyogeyBkZy1lcnJvciAiZnVu Y3Rpb24gYXR0cmlidXRlICdyaXNjdl92ZWN0b3JfY2MnIHJlcXVpcmVzIHRoZSBWIElTQSBleHRl bnNpb24iICIiIHsgdGFyZ2V0IHsgInJpc2N2Ki0qLSoiIH0gfSAwIH0gKi8NCj4gZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS90YXJnZXRfYXR0cmli dXRlX3Zfd2l0aF9pbnRyaW5zaWMtNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy03LmMNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjUyMGIyZTU5ZmFlDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy03LmMNCj4gQEAgLTAsMCArMSw5IEBA DQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9 cnY2NGdjIC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVj dG9yLmgiDQo+ICsNCj4gK3NpemVfdCB0ZXN0XzEgKHNpemVfdCB2bCkNCj4gK3sNCj4gKyAgcmV0 dXJuIF9fcmlzY3ZfdnNldHZsX2U4bTQgKHZsKTsgLyogeyBkZy1lcnJvciB7YnVpbHRpbiBmdW5j dGlvbiAnX19yaXNjdl92c2V0dmxfZThtNFwodmxcKScgcmVxdWlyZXMgdGhlIFYgSVNBIGV4dGVu c2lvbn0gfSAqLw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3RhcmdldF9hdHRyaWJ1dGVfdl93aXRoX2ludHJpbnNpYy04LmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92 X3dpdGhfaW50cmluc2ljLTguYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwMC4uOTAzMmQ5ZDBiNDMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvdGFyZ2V0X2F0dHJpYnV0ZV92X3dpdGhfaW50 cmluc2ljLTguYw0KPiBAQCAtMCwwICsxLDIzIEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAq Lw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjIC1tYWJpPWxwNjRkIC1PMyIgfSAq Lw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4gK3ZpbnQzMm0xX3QN Cj4gK19fYXR0cmlidXRlX18oKHRhcmdldCgiYXJjaD0rdiIpKSkNCj4gK3Rlc3RfMSAodmludDMy bTFfdCBhLCB2aW50MzJtMV90IGIsIHNpemVfdCB2bCkNCj4gK3sNCj4gKyAgcmV0dXJuIF9fcmlz Y3ZfdmFkZF92dl9pMzJtMSAoYSwgYiwgdmwpOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0 XzIgKCkNCj4gK3sNCj4gKyAgdmludDMybTFfdCBhOw0KPiArfQ0KPiArDQo+ICtzaXplX3QNCj4g K3Rlc3RfMyAoc2l6ZV90IHZsKQ0KPiArew0KPiArICByZXR1cm4gX19yaXNjdl92c2V0dmxfZTht NCAodmwpOyAvKiB7IGRnLWVycm9yIHtidWlsdGluIGZ1bmN0aW9uICdfX3Jpc2N2X3ZzZXR2bF9l OG00XCh2bFwpJyByZXF1aXJlcyB0aGUgViBJU0EgZXh0ZW5zaW9ufSB9ICovDQo+ICt9DQo+IC0t DQo+IDIuMzQuMQ0KPg0K