From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by sourceware.org (Postfix) with ESMTPS id 9B4593858C1F for ; Thu, 15 Jun 2023 05:50:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9B4593858C1F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686808258; x=1718344258; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=g1xTocjMp8SIZC/ORdjRCymshV56AEax5eVZEYpNFAM=; b=Q6dqjLiJvZo7QNSmpy6Rx4wqDKD9FjCfgPicpWZ8KKBeVsB0OAcCfmOt Riew7cn4dhFxrvCze7K1VU2OwiePPNVlqPetHp5SuIOo6zsUfncX9BSJX qzQoMKGhkD3VwxF7nwyCVoXaObnVtlqYUnLdU7PZeI6p0dJmNo3BRS1O1 MdGUPo0D2tFCPCdYvkE4I07QitSlf7mVMZ3d7jDhUvgkzG16nInbSabj/ A2oeZxPZokKQB8V+Aj/tzMk51iLLJwCFSXF3dhfxU3wPzoT4men+pSBFB tIZbbsy51Z7aFlJMBxwDHHz417E+j5u411gjJ7mF/LIi44ZSlgX1D0vIx A==; X-IronPort-AV: E=McAfee;i="6600,9927,10741"; a="361297514" X-IronPort-AV: E=Sophos;i="6.00,244,1681196400"; d="scan'208";a="361297514" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2023 22:50:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10741"; a="662651996" X-IronPort-AV: E=Sophos;i="6.00,244,1681196400"; d="scan'208";a="662651996" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga003.jf.intel.com with ESMTP; 14 Jun 2023 22:50:49 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 14 Jun 2023 22:50:49 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Wed, 14 Jun 2023 22:50:48 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.23 via Frontend Transport; Wed, 14 Jun 2023 22:50:48 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.102) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Wed, 14 Jun 2023 22:50:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VZCunfWCeOaaWo5sBVCgzB+atjAa48SXoSRT7Mpv+2VXPAqBSVLJAXSwZsRjjmv/Cx9FeQcYm6wpnY1b01PJXNncq542CuIzfWDVt0dlFzN54xNIwH+0cSwTqvd4u5iXZwrfMJ0Cs2E+tHYq6eLhuxO3tgaxhjup6RTqO9GeI74nru0Z9JOb1j1YXkgTYxPkWTXnK202GI6KoHn8574ppT+fVqPe9cx8JS7v26fOK8qso2LhXlu8EO6MrPrCF2p6aG65f5IBdNClTlHrAzns1mS1g2PwgkdvDqeJtYyP+MUuvjEBQ7jcPAFSUqTaDjfIcsLcGgjTXKHHCzBdm0ckQg== 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=g1xTocjMp8SIZC/ORdjRCymshV56AEax5eVZEYpNFAM=; b=P2JS8zvHRPW188uBkdgfR2cAgyiN2Ezwef7j5wpEIVWANqXAGayh2igdTKFiM/VD6/jNkScZSPPShH813ndrO3p649dPyo1VnN/ruser6W1/0P4+N6RMQz59npNfWR8emGn93c2R+TMMheLY+Yj8zDY/mNOhAuYuDjEe1+jOtlKow1trW4vsjt1CceqlX65h012KxgbkHHjkWSJ/upBXPKd734ufxGrc6jVyFbRlVtg4JOmMT/bFNYzsz0Bsw4hVR3nNrv7k/PJyfpFFTAKEiCuHVSL03xGKSwfbNT5BQUCsLw799Ex/FXGVJ9MKq8GOkE2AvGc90VD+bY75KTu30A== 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 SA1PR11MB6757.namprd11.prod.outlook.com (2603:10b6:806:25c::13) by DM6PR11MB4706.namprd11.prod.outlook.com (2603:10b6:5:2a5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.37; Thu, 15 Jun 2023 05:50:46 +0000 Received: from SA1PR11MB6757.namprd11.prod.outlook.com ([fe80::4581:ef15:db10:adeb]) by SA1PR11MB6757.namprd11.prod.outlook.com ([fe80::4581:ef15:db10:adeb%4]) with mapi id 15.20.6477.037; Thu, 15 Jun 2023 05:50:46 +0000 From: "Liu, Hongtao" To: Richard Biener , Andrew Stubbs CC: "gcc-patches@gcc.gnu.org" , "richard.sandiford@arm.com" , Jan Hubicka , "kirill.yukhin@gmail.com" Subject: RE: [PATCH 3/3] AVX512 fully masked vectorization Thread-Topic: [PATCH 3/3] AVX512 fully masked vectorization Thread-Index: AQHZnsxT6886ORJos06EvMzRfEDveq+KW8YAgAD/9nA= Date: Thu, 15 Jun 2023 05:50:45 +0000 Message-ID: References: <8aab0039-56a5-5bb8-e58a-29f13a9a6737@codesourcery.com> In-Reply-To: Accept-Language: zh-CN, 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: SA1PR11MB6757:EE_|DM6PR11MB4706:EE_ x-ms-office365-filtering-correlation-id: 3f2c46be-f431-48f7-4028-08db6d6476b1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: C9LwJJaD/e4y/2wDNUtim1vdWHnr5kTjTxnyoETdvxVWqfiehDKFIOLTzS7JqSkzRo0dOoj56pWL/dF3baLXLYh4HB2NaQCri2po6+6SjIstw2Wj4XAld50Au20VNrmg1qHuRTrfvJexVgMKmdyZBd5LdZVF1RQg34vO1rq2lBHCBz36GGrm3bm57Eii+2K68Ful+9krNDleTPBcmBhzhKMTBh0MJtQvCB9hJAfhelJADhPtRZYbKkhjDQ5FmqHlsf6LPbzr8UczArZjx47b7rVlY4wni+6Rf0UpEC0P7XmEIqOy0ODz3yWRAIjqFdS1oTo535aCKyBQZEYqYkBe5CBPXowaOtK9AJigaglAu4YVY3dggHoMH9hVJZA1EsCtJgPfUBi+bX9mmebdsvvtfkl1WWgOh/W+QmjjohoW8gGH+ngF++c1Xlv4sV8Ickn2yal+YLUmYvvohcIKcVpOb2klGAsMjnQfIHS/E0MFY9Rv+UvQdFnMGJNzcGLN3VLjhcB/XB/IB9PVa2yrS0M2uIceBc/lnel1WE2YaXxK4bkvPhtmqof2VxEZ9m7BMAo4Y2uFuDNDZlEzuz/WSJrpX8x+L7g5koC3dKo5/+flSC0go2GPsIYnvWsMUNbPf6d6 x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6757.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(346002)(39860400002)(136003)(451199021)(83380400001)(55016003)(66899021)(4326008)(5660300002)(64756008)(76116006)(54906003)(110136005)(66946007)(316002)(53546011)(8676002)(52536014)(8936002)(86362001)(66476007)(26005)(9686003)(6506007)(41300700001)(122000001)(33656002)(2906002)(38100700002)(38070700005)(82960400001)(66556008)(66446008)(71200400001)(186003)(478600001)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?alpia29la05MemJNdVVIN3VyNGoxeDdEeE5jelN6amJnY2RSY0xsR1kvSC83?= =?utf-8?B?M1d0eUMvSU9oRlBWTHJFa3diWDRTakdwU0ZOMkQ0Q1ZXTVNNZnpMZW1XQ1V1?= =?utf-8?B?dld4a09Qc0o0NmVrUmZVRXhpeHE2Z203L1ZiZ2dwek5jYVE4TG4rQlJsdGhR?= =?utf-8?B?TjhZeHZmS25SVWx4QWpKQi9ud2VwZHNnMWZtKzZEN3NVVFN5OVNxMExhR1dl?= =?utf-8?B?dklJRVphaWovanR0SWFvWnQ4QWtMckMrMFFWVEdtSTk4UFliNTlvYTh1L1c2?= =?utf-8?B?NjZzUzdCcVNFV3FMUk1Vd21WMFZjWnpvN0dCRldmL1c5U3JRT2tpQ1h5cTY3?= =?utf-8?B?ci9DVmtrTklWWFozM1lBSldIdVdXdk9LWWRUSWcvS1JJcDhERGcyOS9xTTBH?= =?utf-8?B?TTlFQzhzakVPZ1k1Q0F5SldPZTJFaHZLWlg2akdweFBDZzZQMzJ5VjRHcWJC?= =?utf-8?B?WnFBNmFwVlJaOGNmbk9mUmhHUjRiOWcyQTVHeXpuSnlwSStyaHgrR3RLcGc0?= =?utf-8?B?UXRMMTliVUxFaXFFMERIc1diVkYzeS9SbFlYSWtDaFJCekxIUyt6VDFNejlY?= =?utf-8?B?WXRGaHVlUUluNExmVi9rUGZ1ZHM5bkthZmMxZFVicFFVNVFneG1zUlR0Y1FQ?= =?utf-8?B?RFA0V1J2cVoxaDlSZ3JkQXZJS3VlWHVSaWkxQmF4TGdDVWxKb1R1VjQ1V1VC?= =?utf-8?B?cCtCYVJaOUVCOFBMektqUFVpYUhxZWQ4ck1RbGlITmxuckMyUU9DOGV6VXB1?= =?utf-8?B?SnVFWENYY21qMWlqUVY4SDVQUG8xVlJ4UkNmUWdSN1crK2pUc0VpZUVNeTN3?= =?utf-8?B?TFREOEJ0WC9IZktyMjFaL0pwL3M1aUFDcmJGSldBK2RFWDdqejhtREZPVXNi?= =?utf-8?B?YUN6TlVDWmMwa2NQdUc1eXo0ejZ5SDJxdW04aTlKbHoydGJVSDZXclpzV2lC?= =?utf-8?B?UGszdk4wTnBSb01CWDUzWUJIbXQvd015NDlORWlPOG9UTER4ZGF1WTBGTGNG?= =?utf-8?B?aEtVUE1yY2ZRZmZGNXBTdE1yZHZ1VkpqOTZHTmRPS3B4WGpvQnA0LzRFVytM?= =?utf-8?B?UERYQ1NIMG5VbDllSU4rQk55VHBDM0huRnptNVhLdjhqV215bVBqK3NHTFJl?= =?utf-8?B?WnUrUU9lcHh4cFdmaWdZWXc2OEV0UllmQi9ReDU2V0pOTXhKTTJnRnpZSkNB?= =?utf-8?B?Yk9ZTmFYZjVYZEk1VnA5MlViYUdJVTg1LzJDMDlLVmFNdWxhVG5rN0g0RjBG?= =?utf-8?B?aG5URTl5Slp1N1BxWE1sQnkrMDhvbk0vdDIrR2NYWUNxNitHZXh6MDFXM0Ew?= =?utf-8?B?RTJkSFRSbS9lYjNVOHExUHBuMWlHT09uaUhUWE1XbThhZHlNYjVvL244WEJS?= =?utf-8?B?OHlkOStGMmx1N2kzNzd5K25Mcy94OUp6YjJEUWZRdkVVK0hKV3FoQWVqZk5D?= =?utf-8?B?TXBjUm5xNzUxeWFWdjR2Y1ZhSEo3VHVacUU1eEFoVm5ZWUVuTjkzWEdlQlBw?= =?utf-8?B?UDdraVoxWjlmKzRuamVJbkRxM0huQStYTDhVcDRjMUE2MGZKaVIyQTg3N1pm?= =?utf-8?B?Umt0cUZhek1ZUDU1VVZ1ZnNDc0xrY1NDRUhaR0hxWHpmdCtZM1JFTXJpYTlG?= =?utf-8?B?dlB6SDVKR0VYWSt2TmVIVVpSQ2dMelpoVzJON2hNOGQxZDI1RWdlT3NtMXRt?= =?utf-8?B?dW1HcFdJSGNtblJ5R0J3VWpQVFArMy9nUlFSRHZ3RmVBZGpvS1BCa1ViSEQv?= =?utf-8?B?K1JXRkJZTDdIZ1d1d2pHamZnYUExZkxtVm5PTUNFY0wxbjNNK2RvNVYxak1P?= =?utf-8?B?VTM5anJZclI4T0tJM0VVMDROUzRRQSt3MFUyYS91YlFWWngxNXR3R0NSSXNS?= =?utf-8?B?MlVsTDdvQXJSNTZ2M0k3azZCWFcvaDBRS0hqMnNEUDM2TnJ6Ti9lazZRUk1U?= =?utf-8?B?TkNkOXI0aFVZd3NGM3M1QWJmUHJvVUEzcTJFL3hrY0R1VU44Tkk4THhsamE1?= =?utf-8?B?SGh0U2JoWTQ1aUNZNEFYZ3A3dHRzazhkTU85M3d6YVRoNDl2WE51ZHVmZGN2?= =?utf-8?B?VkNvOFdJZGt1ZmZPSEowenZxcFFZREcranVJTjA2dmdKVVZxVm5kWmRFUW90?= =?utf-8?Q?gf3suRnCCRSkyOoDb9SL8SppY?= 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: SA1PR11MB6757.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3f2c46be-f431-48f7-4028-08db6d6476b1 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jun 2023 05:50:45.8387 (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: CaEAaJwa71yD/1sNz78ud6+HZpMy4nHVSy2MGEvPPf/KHyfl0ek+OmBjgIaFEx8MdfFDD0AKH6Zw8kfdEtXQCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4706 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H3,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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUmljaGFyZCBCaWVuZXIg PHJndWVudGhlckBzdXNlLmRlPg0KPiBTZW50OiBXZWRuZXNkYXksIEp1bmUgMTQsIDIwMjMgMTA6 MzAgUE0NCj4gVG86IEFuZHJldyBTdHViYnMgPGFtc0Bjb2Rlc291cmNlcnkuY29tPg0KPiBDYzog Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb207IEphbiBI dWJpY2thDQo+IDxodWJpY2thQHVjdy5jej47IExpdSwgSG9uZ3RhbyA8aG9uZ3Rhby5saXVAaW50 ZWwuY29tPjsNCj4ga2lyaWxsLnl1a2hpbkBnbWFpbC5jb20NCj4gU3ViamVjdDogUmU6IFtQQVRD SCAzLzNdIEFWWDUxMiBmdWxseSBtYXNrZWQgdmVjdG9yaXphdGlvbg0KPiANCj4gDQo+IA0KPiA+ IEFtIDE0LjA2LjIwMjMgdW0gMTY6Mjcgc2NocmllYiBBbmRyZXcgU3R1YmJzDQo+IDxhbXNAY29k ZXNvdXJjZXJ5LmNvbT46DQo+ID4NCj4gPiDvu79PbiAxNC8wNi8yMDIzIDEyOjU0LCBSaWNoYXJk IEJpZW5lciB2aWEgR2NjLXBhdGNoZXMgd3JvdGU6DQo+ID4+IFRoaXMgaW1wbGVtZW5zIGZ1bGx5 IG1hc2tlZCB2ZWN0b3JpemF0aW9uIG9yIGEgbWFza2VkIGVwaWxvZyBmb3INCj4gPj4gQVZYNTEy IHN0eWxlIG1hc2tzIHdoaWNoIHNpbmdsZSB0aGVtc2VsdmVzIG91dCBieSByZXByZXNlbnRpbmcg ZWFjaA0KPiA+PiBsYW5lIHdpdGggYSBzaW5nbGUgYml0IGFuZCBieSB1c2luZyBpbnRlZ2VyIG1v ZGVzIGZvciB0aGUgbWFzayAoYm90aA0KPiA+PiBpcyBtdWNoIGxpa2UgR0NOKS4NCj4gPj4gQVZY NTEyIGlzIGFsc28gc3BlY2lhbCBpbiB0aGF0IGl0IGRvZXNuJ3QgaGF2ZSBhbnkgaW5zdHJ1Y3Rp b24gdG8NCj4gPj4gY29tcHV0ZSB0aGUgbWFzayBmcm9tIGEgc2NhbGFyIElWIGxpa2UgU1ZFIGhh cyB3aXRoIHdoaWxlX3VsdC4NCj4gPj4gSW5zdGVhZCB0aGUgbWFza3MgYXJlIHByb2R1Y2VkIGJ5 IHZlY3RvciBjb21wYXJlcyBhbmQgdGhlIGxvb3ANCj4gPj4gY29udHJvbCByZXRhaW5zIHRoZSBz Y2FsYXIgSVYgKG1haW5seSB0byBhdm9pZCBkZXBlbmRlbmNlcyBvbiBtYXNrDQo+ID4+IGdlbmVy YXRpb24sIGEgc3VpdGFibGUgbWFzayB0ZXN0IGluc3RydWN0aW9uIGlzIGF2YWlsYWJsZSkuDQo+ ID4NCj4gPiBUaGlzIGlzIGFsc28gc291bmRzIGxpa2UgR0NOLiBXZSBjdXJyZW50bHkgdXNlIFdI SUxFX1VMVCBpbiB0aGUgbWlkZGxlIGVuZA0KPiB3aGljaCBleHBhbmRzIHRvIGEgdmVjdG9yIGNv bXBhcmUgYWdhaW5zdCBhIHZlY3RvciBvZiBzdGVwcGVkIHZhbHVlcy4gVGhpcw0KPiByZXF1aXJl cyBhbiBhZGRpdGlvbmFsIGluc3RydWN0aW9uIHRvIHByZXBhcmUgdGhlIGNvbXBhcmlzb24gdmVj dG9yDQo+IChjb21wYXJlZCB0byBTVkUpLCBidXQgdGhlICJ3aGlsZV91bHR2NjRzaWRpIiBwYXR0 ZXJuIChmb3IgZXhhbXBsZSkgcmV0dXJucw0KPiB0aGUgREltb2RlIGJpdG1hc2ssIHNvIGl0IHdv cmtzIHJlYXNvbmFibHkgd2VsbC4NCj4gPg0KPiA+PiBMaWtlIFJWViBjb2RlIGdlbmVyYXRpb24g cHJlZmVycyBhIGRlY3JlbWVudGluZyBJViB0aG91Z2ggSVZPUFRzDQo+ID4+IG1lc3NlcyB0aGlu Z3MgdXAgaW4gc29tZSBjYXNlcyByZW1vdmluZyB0aGF0IElWIHRvIGVsaW1pbmF0ZSBpdCB3aXRo DQo+ID4+IGFuIGluY3JlbWVudGluZyBvbmUgdXNlZCBmb3IgYWRkcmVzcyBnZW5lcmF0aW9uLg0K PiA+PiBPbmUgb2YgdGhlIG1vdGl2YXRpbmcgdGVzdGNhc2VzIGlzIGZyb20gUFIxMDg0MTAgd2hp Y2ggaW4gdHVybiBpcw0KPiA+PiBleHRyYWN0ZWQgZnJvbSB4MjY0IHdoZXJlIGxhcmdlIHNpemUg dmVjdG9yaXphdGlvbiBzaG93cyBpc3N1ZXMgd2l0aA0KPiA+PiBzbWFsbCB0cmlwIGxvb3BzLiAg RXhlY3V0aW9uIHRpbWUgdGhlcmUgaW1wcm92ZXMgY29tcGFyZWQgdG8gY2xhc3NpYw0KPiA+PiBB Vlg1MTIgd2l0aCBBVlgyIGVwaWxvZ3VlcyBmb3IgdGhlIGNhc2VzIG9mIGxlc3MgdGhhbiAzMiBp dGVyYXRpb25zLg0KPiA+PiBzaXplICAgc2NhbGFyICAgICAxMjggICAgIDI1NiAgICAgNTEyICAg IDUxMmUgICAgNTEyZg0KPiA+PiAgICAgMSAgICA5LjQyICAgMTEuMzIgICAgOS4zNSAgIDExLjE3 ICAgMTUuMTMgICAxNi44OQ0KPiA+PiAgICAgMiAgICA1LjcyICAgIDYuNTMgICAgNi42NiAgICA2 LjY2ICAgIDcuNjIgICAgOC41Ng0KPiA+PiAgICAgMyAgICA0LjQ5ICAgIDUuMTAgICAgNS4xMCAg ICA1Ljc0ICAgIDUuMDggICAgNS43Mw0KPiA+PiAgICAgNCAgICA0LjEwICAgIDQuMzMgICAgNC4y OSAgICA1LjIxICAgIDMuNzkgICAgNC4yNQ0KPiA+PiAgICAgNiAgICAzLjc4ICAgIDMuODUgICAg My44NiAgICA0Ljc2ICAgIDIuNTQgICAgMi44NQ0KPiA+PiAgICAgOCAgICAzLjY0ICAgIDEuODkg ICAgMy43NiAgICA0LjUwICAgIDEuOTIgICAgMi4xNg0KPiA+PiAgICAxMiAgICAzLjU2ICAgIDIu MjEgICAgMy43NSAgICA0LjI2ICAgIDEuMjYgICAgMS40Mg0KPiA+PiAgICAxNiAgICAzLjM2ICAg IDAuODMgICAgMS4wNiAgICA0LjE2ICAgIDAuOTUgICAgMS4wNw0KPiA+PiAgICAyMCAgICAzLjM5 ICAgIDEuNDIgICAgMS4zMyAgICA0LjA3ICAgIDAuNzUgICAgMC44NQ0KPiA+PiAgICAyNCAgICAz LjIzICAgIDAuNjYgICAgMS43MiAgICA0LjIyICAgIDAuNjIgICAgMC43MA0KPiA+PiAgICAyOCAg ICAzLjE4ICAgIDEuMDkgICAgMi4wNCAgICA0LjIwICAgIDAuNTQgICAgMC42MQ0KPiA+PiAgICAz MiAgICAzLjE2ICAgIDAuNDcgICAgMC40MSAgICAwLjQxICAgIDAuNDcgICAgMC41Mw0KPiA+PiAg ICAzNCAgICAzLjE2ICAgIDAuNjcgICAgMC42MSAgICAwLjU2ICAgIDAuNDQgICAgMC41MA0KPiA+ PiAgICAzOCAgICAzLjE5ICAgIDAuOTUgICAgMC45NSAgICAwLjgyICAgIDAuNDAgICAgMC40NQ0K PiA+PiAgICA0MiAgICAzLjA5ICAgIDAuNTggICAgMS4yMSAgICAxLjEzICAgIDAuMzYgICAgMC40 MA0KPiA+PiAnc2l6ZScgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgYWN0dWFsIGl0ZXJhdGlvbnMs IDUxMmUgaXMgZm9yIGENCj4gPj4gbWFza2VkIGVwaWxvZyBhbmQgNTEyZiBmb3IgdGhlIGZ1bGx5 IG1hc2tlZCBsb29wLiAgRnJvbQ0KPiA+PiA0IHNjYWxhciBpdGVyYXRpb25zIG9uIHRoZSBBVlg1 MTIgbWFza2VkIGVwaWxvZyBjb2RlIGlzIGNsZWFybHkgdGhlDQo+ID4+IHdpbm5lciwgdGhlIGZ1 bGx5IG1hc2tlZCB2YXJpYW50IGlzIGNsZWFybHkgd29yc2UgYW5kIGl0J3Mgc2l6ZQ0KPiA+PiBi ZW5lZml0IGlzIGFsc28gdGlueS4NCj4gPg0KPiA+IExldCBtZSBjaGVjayBJIHVuZGVyc3RhbmQg Y29ycmVjdGx5LiBJbiB0aGUgZnVsbHkgbWFza2VkIGNhc2UsIHRoZXJlIGlzIGENCj4gc2luZ2xl IGxvb3AgaW4gd2hpY2ggYSBuZXcgbWFzayBpcyBnZW5lcmF0ZWQgYXQgdGhlIHN0YXJ0IG9mIGVh Y2ggaXRlcmF0aW9uLiBJbg0KPiB0aGUgbWFza2VkIGVwaWxvZ3VlIGNhc2UsIHRoZSBtYWluIGxv b3AgdXNlcyBubyBtYXNraW5nIHdoYXRzb2V2ZXIsIHRodXMNCj4gYXZvaWRpbmcgdGhlIG5lZWQg Zm9yIGdlbmVyYXRpbmcgYSBtYXNrLCBjYXJyeWluZyB0aGUgbWFzaywgaW5zZXJ0aW5nDQo+IHZl Y19tZXJnZSBvcGVyYXRpb25zLCBldGMsIGFuZCB0aGVuIHRoZSBlcGlsb2d1ZSBsb29rcyBtdWNo IGxpa2UgdGhlIGZ1bGx5DQo+IG1hc2tlZCBjYXNlLCBidXQgdW5saWtlIHNtYWxsZXIgbW9kZSBl cGlsb2d1ZXMgdGhlcmUgaXMgbm8gbG9vcCBiZWNhdXNlIHRoZQ0KPiBlcGxvZ3VlIHZlY3RvciBz aXplIGlzIHRoZSBzYW1lLiBJcyB0aGF0IHJpZ2h0Pw0KPiANCj4gWWVzLg0KV2hhdCBhYm91dCB2 ZWN0b3JpemVyIGFuZCB1bnJvbGwsIHdoZW4gdmVjdG9yIHNpemUgaXMgdGhlIHNhbWUsIHVucm9s bCBmYWN0b3IgaXMgTiwgYnV0IHRoZXJlJ3JlIGF0IG1vc3QgTiAtIDEgaXRlcmF0aW9ucyBmb3Ig ZXBpbG9ndWUgbG9vcCwgd2lsbCB0aGVyZSBzdGlsbCBhIGxvb3A/IA0KPiA+IFRoaXMgc2NoZW1l IHNlZW1zIGxpa2UgaXQgbWlnaHQgYWxzbyBiZW5lZml0IEdDTiwgaW4gc28gbXVjaCBhcyBpdCBz aW1wbGlmaWVzDQo+IHRoZSBob3QgY29kZSBwYXRoLg0KPiA+DQo+ID4gR0NOIGRvZXMgbm90IGFj dHVhbGx5IGhhdmUgc21hbGxlciB2ZWN0b3Igc2l6ZXMsIHNvIHRoZXJlJ3Mgbm8gYW5hbG9ndWUg dG8NCj4gQVZYMiAod2UgcHJldGVuZCB3ZSBoYXZlIHNvbWUgc21hbGxlciBzaXplcywgYnV0IHRo YXQncyBiZWNhdXNlIHRoZQ0KPiBtaWRkbGUgZW5kIGNhbid0IGRvIG1hc2tpbmcgZXZlcnl3aGVy ZSB5ZXQsIGFuZCBpdCBoZWxwcyBtYWtlIHNvbWUgdmVjdG9yDQo+IGNvbnN0YW50cyBzbWFsbGVy LCBwZXJoYXBzKS4NCj4gPg0KPiA+PiBUaGlzIHBhdGNoIGRvZXMgbm90IGVuYWJsZSB1c2luZyBm dWxseSBtYXNrZWQgbG9vcHMgb3IgbWFza2VkDQo+ID4+IGVwaWxvZ3VlcyBieSBkZWZhdWx0LiAg TW9yZSB3b3JrIG9uIGNvc3QgbW9kZWxpbmcgYW5kIHZlY3Rvcml6YXRpb24NCj4gPj4ga2luZCBz ZWxlY3Rpb24gb24geDg2XzY0IGlzIG5lY2Vzc2FyeSBmb3IgdGhpcy4NCj4gPj4gSW1wbGVtZW50 YXRpb24gd2lzZSB0aGlzIGludHJvZHVjZXMNCj4gTE9PUF9WSU5GT19QQVJUSUFMX1ZFQ1RPUlNf U1RZTEUNCj4gPj4gd2hpY2ggY291bGQgYmUgZXhwbG9pdGVkIGZ1cnRoZXIgdG8gdW5pZnkgc29t ZSBvZiB0aGUgZmxhZ3Mgd2UgaGF2ZQ0KPiA+PiByaWdodCBub3cgYnV0IHRoZXJlIGRpZG4ndCBz ZWVtIHRvIGJlIG1hbnkgZWFzeSB0aGluZ3MgdG8gbWVyZ2UsIHNvDQo+ID4+IEknbSBsZWF2aW5n IHRoaXMgZm9yIGZvbGxvd3Vwcy4NCj4gPj4gTWFzayByZXF1aXJlbWVudHMgYXMgcmVnaXN0ZXJl ZCBieSB2ZWN0X3JlY29yZF9sb29wX21hc2sgYXJlIGtlcHQgaW4NCj4gPj4gdGhlaXIgb3JpZ2lu YWwgZm9ybSBhbmQgcmVjb3JkZWQgaW4gYSBoYXNoX3NldCBub3cgaW5zdGVhZCBvZiBiZWluZw0K PiA+PiBwcm9jZXNzZWQgdG8gYSB2ZWN0b3Igb2Ygcmdyb3VwX2NvbnRyb2xzLiAgSW5zdGVhZCB0 aGF0J3Mgbm93IGxlZnQgdG8NCj4gPj4gdGhlIGZpbmFsIGFuYWx5c2lzIHBoYXNlIHdoaWNoIHRy aWVzIGZvcm1pbmcgdGhlIHJncm91cF9jb250cm9scw0KPiA+PiB2ZWN0b3IgdXNpbmcgd2hpbGVf dWx0IGFuZCBpZiB0aGF0IGZhaWxzIG5vdyB0cmllcyBBVlg1MTIgc3R5bGUgd2hpY2gNCj4gPj4g bmVlZHMgYSBkaWZmZXJlbnQgb3JnYW5pemF0aW9uIGFuZCBpbnN0ZWFkIGZpbGxzIGEgaGFzaF9t YXAgd2l0aCB0aGUNCj4gPj4gcmVsZXZhbnQgaW5mby4gIHZlY3RfZ2V0X2xvb3BfbWFzayBub3cg aGFzIHR3byBpbXBsZW1lbnRhdGlvbnMsIG9uZQ0KPiA+PiBmb3IgdGhlIHR3byBtYXNrIHN0eWxl cyB3ZSB0aGVuIGhhdmUuDQo+ID4+IEkgaGF2ZSBkZWNpZGVkIGFnYWluc3QgaW50ZXJ3ZWF2aW5n DQo+ID4+IHZlY3Rfc2V0X2xvb3BfY29uZGl0aW9uX3BhcnRpYWxfdmVjdG9ycw0KPiA+PiB3aXRo IGNvbmRpdGlvbnMgdG8gZG8gQVZYNTEyIHN0eWxlIG1hc2tpbmcgYW5kIGluc3RlYWQgb3B0ZWQg dG8NCj4gPj4gImR1cGxpY2F0ZSIgdGhpcyB0byB2ZWN0X3NldF9sb29wX2NvbmRpdGlvbl9wYXJ0 aWFsX3ZlY3RvcnNfYXZ4NTEyLg0KPiA+PiBMaWtld2lzZSBmb3IgdmVjdF92ZXJpZnlfZnVsbF9t YXNraW5nIHZzDQo+IHZlY3RfdmVyaWZ5X2Z1bGxfbWFza2luZ19hdng1MTIuDQo+ID4+IEkgd2Fz IHNwbGl0IGJldHdlZW4gbWFraW5nICd2ZWNfbG9vcF9tYXNrcycgYSBjbGFzcyB3aXRoIG1ldGhv ZHMsDQo+ID4+IHBvc3NpYmx5IG1lcmdpbmcgaW4gdGhlIF9sZW4gc3R1ZmYgaW50byBhIHNpbmds ZSByZWdpc3RyeS4gIEl0IHNlZW1lZA0KPiA+PiB0byBiZSB0b28gbWFueSBjaGFuZ2VzIGZvciB0 aGUgcHVycG9zZSBvZiBnZXR0aW5nIEFWWDUxMiB3b3JraW5nLg0KPiA+PiBJJ20gZ29pbmcgdG8g cGxheSB3YWl0IGFuZCBzZWUgd2hhdCBoYXBwZW5zIHdpdGggUklTQy1WIGhlcmUgc2luY2UNCj4g Pj4gdGhleSBhcmUgZ29pbmcgdG8gZ2V0IGJvdGggbWFza3MgYW5kIGxlbmd0aHMgcmVnaXN0ZXJl ZCBJIHRoaW5rLg0KPiA+PiBUaGUgdmVjdF9wcmVwYXJlX2Zvcl9tYXNrZWRfcGVlbHMgaHVuayBt aWdodCBydW4gaW50byBpc3N1ZXMgd2l0aA0KPiA+PiBTVkUsIEkgZGlkbid0IGNoZWNrIHlldCBi dXQgdXNpbmcgTE9PUF9WSU5GT19SR1JPVVBfQ09NUEFSRV9UWVBFDQo+ID4+IGxvb2tlZCBvZGQu DQo+ID4+IEJvb3RzdHJhcHBlZCBhbmQgdGVzdGVkIG9uIHg4Nl82NC11bmtub3duLWxpbnV4LWdu dS4gIEkndmUgcnVuIHRoZQ0KPiA+PiB0ZXN0c3VpdGUgd2l0aCAtLXBhcmFtIHZlY3QtcGFydGlh bC12ZWN0b3ItdXNhZ2U9MiB3aXRoIGFuZCB3aXRob3V0DQo+ID4+IC1mbm8tdmVjdC1jb3N0LW1v ZGVsIGFuZCBmaWxlZCB0d28gYnVncywgb25lIElDRSAoUFIxMTAyMjEpIGFuZCBvbmUNCj4gPj4g bGF0ZW50IHdyb25nLWNvZGUgKFBSMTEwMjM3KS4NCj4gPj4gVGhlcmUncyBmb2xsb3d1cCB3b3Jr IHRvIGJlIGRvbmUgdG8gdHJ5IGVuYWJsaW5nIG1hc2tlZCBlcGlsb2d1ZXMgZm9yDQo+ID4+IHg4 Ni02NCBieSBkZWZhdWx0ICh3aGVuIEFWWDUxMiBpcyBlbmFibGVkLCBwb3NzaWJseSBvbmx5IHdo ZW4NCj4gPj4gLW1wcmVmZXItdmVjdG9yLXdpZHRoPTUxMikuICBHZXR0aW5nIGNvc3QgbW9kZWxp bmcgYW5kIGRlY2lzaW9uIHJpZ2h0DQo+ID4+IGlzIGdvaW5nIHRvIGJlIGNoYWxsZW5naW5nLg0K PiA+PiBBbnkgY29tbWVudHM/DQo+ID4+IE9LPw0KPiA+PiBCdHcsIHRlc3Rpbmcgb24gR0NOIHdv dWxkIGJlIHdlbGNvbWUgLSB0aGUgX2F2eDUxMiBwYXRocyBjb3VsZCB3b3JrDQo+ID4+IGZvciBp dCBzbyBpbiBjYXNlIHRoZSB3aGlsZV91bHQgcGF0aCBmYWlscyAobm90IHN1cmUgaWYgaXQgZXZl ciBkb2VzKQ0KPiA+PiBpdCBjb3VsZCBnZXQgX2F2eDUxMiBzdHlsZSBtYXNraW5nLiAgTGlrZXdp c2UgdGVzdGluZyBvbiBBUk0ganVzdCB0bw0KPiA+PiBzZWUgSSBkaWRuJ3QgYnJlYWsgYW55dGhp bmcgaGVyZS4NCj4gPj4gSSBkb24ndCBoYXZlIFNWRSBoYXJkd2FyZSBzbyB0ZXN0aW5nIGlzIHBy b2JhYmx5IG1lYW5pbmdsZXNzLg0KPiA+DQo+ID4gSSBjYW4gc2V0IHNvbWUgdGVzdHMgZ29pbmcu IElzIHZlY3QuZXhwIGVub3VnaD8NCj4gDQo+IFdlbGwsIG9ubHkgeW91IGtub3cgKGZyb20gZXhw ZXJpZW5jZSksIGJ1dCBzdXJlIHRoYXTigJlzIGEgbmljZSBzdGFydC4NCj4gDQo+IFJpY2hhcmQN Cj4gDQo+ID4gQW5kcmV3DQo+ID4NCg==