From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by sourceware.org (Postfix) with ESMTPS id 79A993858C98 for ; Wed, 28 Feb 2024 10:37:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 79A993858C98 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 79A993858C98 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.10 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1709116633; cv=pass; b=RPjUyTEtYlmshWLw2rf1oZ1JhkYQijMplVt5TmTTZlBTPqVWqN0T2OIr2wWx9J/ZE4uYABEDY5WbLRqJrlt54EIgCDRHyX+o+QSZBX3U2rUrcqtcS+PnIMVkf9o2mw3EdCvYishbPIWaEbz8DLUQYXOwINcKGwjU2yWPPSVnI9s= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1709116633; c=relaxed/simple; bh=+hMLmJbNrRc8FyjtSXiJYXvvwv2VSqxflAs0fI56rAg=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=izy7b7BOA8R3F0yTyXmPjqsmW1ksT4iO8X7MMDTo0JoWu9h5lmztcnFwpCgjh9ZyGIIqisvIEi47dN4O0uP7Ghu+b31bcFOfL/d8jxeHWElogZywkXqX/sdfUeDZEP4uK1Y8TE4InnbOzqHFZ0urmz0H8wkciSSQdReMan1cU4s= 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=1709116630; x=1740652630; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+hMLmJbNrRc8FyjtSXiJYXvvwv2VSqxflAs0fI56rAg=; b=R73socebTxPr8FQfGrCrvEcoU70+9xGc+HZ63lmxC5/aBd6p2++GbHu2 /0qcRDwzKikyKP8TjQVHE2npLxM9UpjigP5KFsoQokPUB/lAtkVrZfvNP u5bWxq9iXC1Q9CYJ4TEKJWxrmHSXPGkU7jkU5MNMZb0PW/bjGZmLH0LBP 5xKKV1JG7hM2DPTTaHPm8pO0pP+WyGu6rxpOWRRXlrHxB7CS4NiNkTacz 6IpE/lVIhuRG3SexQ8j9pux0ADdgDOecnNyq+D1Yr5yV6/C9CNbjxNzMB 425IR50SmtTByROfWKGIKghxsoQLs12ftGBYjKUJY2PtGFK5OLzBEp7e7 A==; X-IronPort-AV: E=McAfee;i="6600,9927,10996"; a="20960254" X-IronPort-AV: E=Sophos;i="6.06,190,1705392000"; d="scan'208";a="20960254" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Feb 2024 02:37:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,190,1705392000"; d="scan'208";a="7768496" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 28 Feb 2024 02:37:10 -0800 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) 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; Wed, 28 Feb 2024 02:37:09 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Wed, 28 Feb 2024 02:37:09 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 28 Feb 2024 02:37:08 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mvFSguD5lAcJjmkI8E0R7FpGfAwpy+YC2ucUu3/5xfhdxpZW+5BbJ5MbcfWNVH2G+ntej/XgQO8F+1fX+Ieh1ctiX3q/02oYoXQR3p0M1u35YI7FfyyU6eiVaa6wzob0nrjmQlwBYuFE2aRchLa0m1lQVLOCWdNVmsNl9iFnvYG856QH50M3ByF7FncaiN/fhrYKMe1hsJGYBTWakAclB7c5keqbRtDzOVG0HXQbhF3aDnTGZzkDIs+EGmDsMXbZXlfC6EwJ7KxpkyadPMdA0FE1vvJQLIxt3Ri9Sqw1IHaqTR25zdJxMCXU7fQLYxeIaiVyVPVinhm0djHEEaoZUg== 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=+hMLmJbNrRc8FyjtSXiJYXvvwv2VSqxflAs0fI56rAg=; b=M32FQYPw5c1XP5F5XuvHNIICme6DJhvzXvbpS/wwvjbXOfij2wKV1uV9dIk71XTn6/7h+JGTudKMzGf6CcMvvh7zPCusK7yzGzRyiK8J57SBCt0I6XoCvwYfemjBR4gDkJG+wxIZwT0kf8DBY6+PZBy1YiQe/7W8INBHg8bWMvyswb2D6kxZRzZJ8Ai+H+f+ob5WUefDnsJx6w7RQAXHUlgzDKqub9ZpEcXOlg2EZSCevORmndPM/C+H4z29nitdsmhg0X0vIp02+wziyqabyxv9ttb/HdVV+BqblvyjLXz/v1fFN5/9CXOI3O6WxeXFgclt4kOqFdOI+/vlqFCdwA== 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 BN9PR11MB5354.namprd11.prod.outlook.com (2603:10b6:408:11b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.12; Wed, 28 Feb 2024 10:37:06 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::aaa8:bc22:5fb0:5ed0%6]) with mapi id 15.20.7339.022; Wed, 28 Feb 2024 10:37:06 +0000 From: "Li, Pan2" To: Kito Cheng CC: "gcc-patches@gcc.gnu.org" , "juzhe.zhong@rivai.ai" , "Wang, Yanzhang" , "rdapp.gcc@gmail.com" , "jeffreyalaw@gmail.com" Subject: RE: [PATCH v2] RISC-V: Introduce gcc option mrvv-vector-bits for RVV Thread-Topic: [PATCH v2] RISC-V: Introduce gcc option mrvv-vector-bits for RVV Thread-Index: AQHaafzyY1XkSZXu5kuZaG9+8OId07EfR1wAgAACbMCAAEYpYA== Date: Wed, 28 Feb 2024 10:37:06 +0000 Message-ID: References: <20240223080558.2644800-1-pan2.li@intel.com> <20240228041625.1469884-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_|BN9PR11MB5354:EE_ x-ms-office365-filtering-correlation-id: 7c85e3b6-f186-41d4-7d65-08dc384935b3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wzjAmVBjRbDkiELqAmYGWBWFQNU5eW7xXDd9NUS5v0PdzaZrt4ybemUTHfJ8S6es7Pc3v8B48b9YTwGbzwwtiR7/69nbx4/UT92Iui/506j/JtE6Z6yj4LC9PcSrPRSXu0nrjMc8zYaZYb7Tffd8Vu5mo3fEf7VTLSMOFnmQNPWSR+0RmA1/3wCViwz39IvNKlViOd7uN7O7iiiOv59/ISwjHil+NhGviRwtwupo4bITmoBT3nejF1wzXZNZCZoQ2jSWaZoZb18nCH6thsDNK85aIVKxdshr+ZRUr04q2TvIJKTHAEdGn2kKcvp+fPHlX5ss6zODcJZmteLpjeuWfMw6D5ZURHjhgZ8pXUe5Ip4WWCCI/YaW1rqokFK3/3yVQjPyzznFkPsl2nO0fMQ2xaj37on+jyg7hYJmg91gYZvfGxYgFe16pSoAxe/QpdULRnj6nCmQ/D27ngxwhJ3TP9eGHKeVX9vbx5KnRoodomJWivBhR03dvrBk76ejazfszsYryfXJMT7i/hM+gDwl/I6FqqwpRlChbQMCuXFHUpk+bK1HVkeFcNw135omT4cAcjWeME+oFWZpoZvkevhjXBKYs58flsITXWcYTE8ghOaszHjttdIb1G8jyhkN/yFGKMs/GUClmPTx6LQJrjdu6yxJ9/vDZtoaJbx8drbqOox06MbfoTZdgt6oqeSnnnvm2kMqKuxgHXueQeH/FWS4Cg== 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)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MjNsME85T2xNTm10anpyTWVhY2JqcVd1TmZzSnU2RCtsQ1VZdC9rM21kVTAw?= =?utf-8?B?eFA5bElCSy9zSzZ2WmkrcnlZVHJqQ2UreXc3d3lRaXRCS0g0SkJwcjVTcmcv?= =?utf-8?B?VWJtRmhvbktRTlJnUHZTaFJhakwyM0o1YnFXOHNSRkxodHRKdGVpMWlNem1G?= =?utf-8?B?blRYV20vZnVQNVlacmVzYk0rdjBPOUVPclNZU2gzaHVWVVFTSU9maVV1VE9Q?= =?utf-8?B?TTN2OWNKa0ZsUGlXQ1l1QkVSZWdZNXFBOVVxVUxpUUhZYWtLemJ0VWpvT3Q5?= =?utf-8?B?bzU3SWJ6VUJlVHRyMDdheXhXY2tjcnhuUkl2djZrVk5sRituUndkbGxDOHZD?= =?utf-8?B?eVFMeE04bm9LZEthb2pJQzAzV3NFMEJNZFVRWlJ5V0MrMjd6Unp4TjNiNWtR?= =?utf-8?B?UG0zOVNENUNvMStNQURJOU04RDVnTXRlQ0M2N05hdmZwZ2xyM2tZNSsrclp1?= =?utf-8?B?UmFIWnVIKzlSNkVxS1creUVYaUVxV3E5T0RnbVhKZ2ttMFo5UGoxWi9KcWpo?= =?utf-8?B?Y3RqbW5yN3gySUFUZDFiTWZaVElCV2hJcUxneUwzR1JDdFc3ZXQzdUJHejlB?= =?utf-8?B?V2hiT3RlN05zeWp4Ti9SRFZERTNhd2E4dVVUdTRrYnZ0Znh5VEhRSGtFTm9T?= =?utf-8?B?QmJXdFYxZHlFNktyUE80SVRDMjZ5b0RUWldMNmFWUmdxd2poYTF0QnMzUjNx?= =?utf-8?B?WjY4eEZvY1VJMVlBbW5aZlpET0MyS3c0WW4xd3FDaTc3Q1o3VnJ1RklQM2ZR?= =?utf-8?B?a0JIZTR2TWJvTHc2OXZ3Y1h0S29wSk5LdGdHekg2VkJrQmpnRUJKcXNETzBl?= =?utf-8?B?ZVlyaGI1RDc0aXZlaFFXQTdWU0MzcEp1Q1AzVHlhVjYvUC9iTlMwNFZab2xh?= =?utf-8?B?T09sUDVWWmtnZGFZUUtsK280YmVzbEpPK05tSjF5RjZJbllxZFFKL29RTTZh?= =?utf-8?B?K2I3REJEUmpObTVicWI3RkhLMzMxTVpuT21md2hTSThiL3ZIRG92Sm41Ky9J?= =?utf-8?B?dEFDSjJzUkZGNUxvSGtTUUdwcm9iZHk4OXdBRG8wN2NkRi9ITkY5cWJIWUNH?= =?utf-8?B?Zng4VEc3aEtiYkFrQlBtRjFKRThpaWVMYnVkMFF0blpnd1dYZnd6aURyb0d5?= =?utf-8?B?SzJlNFhxdVFRenQrMDRoa1oxdWhyOFJoMnpIdThBU0NhellBdVYxTTF4T3Z6?= =?utf-8?B?L2E4Y09uenROYUlsbmlHVTFSUFBOOUhRbGxLWWM1L1o1NmR3c0ZWbTFyc1hV?= =?utf-8?B?bFVkYmxvTC84aEJwQmd2RkpDWjMrY0FSbkgyVmgwYkVHekpsakR0NExBT3Zz?= =?utf-8?B?bXBhS1dMWVc1Qms1K0g4NmRRZVhUVmJjbVJSTjdYaXd4eEdSYmgwcEZKQnVt?= =?utf-8?B?SUwxdDFHK291U1ZaY2RuejMrWUFlWElkZVk2eWNjajRnRjJDOGlwYUg3aTJj?= =?utf-8?B?WU9Ba0tDWEJmN1lGa0pxam1sQVpuMGJRSVpuN1A1aXllcm9vcG0ra2ljVUlM?= =?utf-8?B?MzBCNVJGakFvL3BrTEhNTHdKSUpFNDR6VXFPVmFJSTE5MnZuZitEWVRIS2Fx?= =?utf-8?B?RGhJY3pRZ2dtZGorMUFZcnFLQ2tQRFhFZDFvRW9FUVlxSkdqNjdyTEJTMTNs?= =?utf-8?B?c1k0VWZ6ZWpDUUVPRkVxRHMzeDIwL3diVXNyTmxvS2t6Qkhzc2VsQm1lZVJO?= =?utf-8?B?Y2pGMkwwNEM5MjVGK01LbzVzam5QdGJkclNJczRHSW5qdWQxTDdER1BtN0Fx?= =?utf-8?B?SytvSVk1Vkl3bHNBdnB0K2wxK29oN1gwQnFScFdhUnpieFpGbmhrbjJFTS80?= =?utf-8?B?Q1czNDFUUzFkUVIyUE9MRHA0NHJ4bUlHV1B4V2NSNG1CaWd6cE9qUzYrdU1X?= =?utf-8?B?R2orRU1tTTd1ZyttSkdjNmZ1UXJkTS93WVRrakd6NnlqeUUvYmhhamxiQU11?= =?utf-8?B?WDB0b0VPaFFkZGFnOUJyZ1FXRVZTRVdkWjNlUjJ5alBiZGY2V0RnMnkxV2ND?= =?utf-8?B?cE9GQlpvRGNTeW0xNmtVajdkV2VwbFFZR3FtRTVpWTdqQUdXUkF3OHl4RnJ2?= =?utf-8?B?MEl4dTlGNFpyMG5NTVRhcjI3T05DMkljQU9ZTkNXTUtpL2FIN0Q4YWs5eE5s?= =?utf-8?Q?s3E0=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: 7c85e3b6-f186-41d4-7d65-08dc384935b3 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2024 10:37:06.4079 (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: KgannMji5Rt5v/lMfvuBa75tQ99EDOvCjJ1zCr0bDVgyba06zY8BJTCp4aDHtaM833M4aqpdXzdjD1lBNSlHJQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5354 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,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: VXBkYXRlZCBpbiB2MywgcGxlYXNlIGhlbHAgdG8gY29udGludWUgcmV2aWV3IGJlbG93IGxpbmsu IFNvcnJ5IGZvciBzZW5kaW5nIGFub3RoZXIgdjMgYnkgbWlzdGFrZS4NCg0KaHR0cHM6Ly9nY2Mu Z251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyNC1GZWJydWFyeS82NDY3MzQuaHRtbA0K DQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IExpLCBQYW4yIA0KU2Vu dDogV2VkbmVzZGF5LCBGZWJydWFyeSAyOCwgMjAyNCAyOjMzIFBNDQpUbzogS2l0byBDaGVuZyA8 a2l0by5jaGVuZ0BnbWFpbC5jb20+DQpDYzogZ2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc7IGp1emhl Lnpob25nQHJpdmFpLmFpOyBXYW5nLCBZYW56aGFuZyA8eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+ OyByZGFwcC5nY2NAZ21haWwuY29tOyBqZWZmcmV5YWxhd0BnbWFpbC5jb20NClN1YmplY3Q6IFJF OiBbUEFUQ0ggdjJdIFJJU0MtVjogSW50cm9kdWNlIGdjYyBvcHRpb24gbXJ2di12ZWN0b3ItYml0 cyBmb3IgUlZWDQoNCk9oLCBJIHNlZSwgdGhhdCBpbmRpY2F0ZXMgc2ltcGx5IGNvbnZlcnQgdGhp cyBvcHRpb24gdmFsdWUgdG8gcmlzY3ZfdmVjdG9yX2NodW5rcyBpcyBub3QgZ29vZCBlbm91Z2gg aGVyZS4NCg0KSSB0aG91Z2h0IHRoZSB0ZXJtIHp2bCogaW5kaWNhdGVzIHRoZSBtaW5pbWFsIHZl Y3RvciBsZW5ndGgoc29tZWhvdyBzaW1pbGFyIHRvIHRoZSBjb25jZXB0IG9mIHNjYWxhYmxlKQ0K aW4gcHJldmlvdXMsIHdoaWNoIGlzIG1lbnRpb25lZCBpbiB0aGUgUlZWIDEuMCBzcGVjIGlmIG15 IG1lbW9yeSBpcyBjb3JyZWN0Lg0KDQpMb29rcyBtYXJjaD16dmwqICsgbXJ2di12ZWN0b3ItYml0 cz16dmwgbWVhbnMgZXhhY3RseSB0aGUgVkxFTiBsaWtlIDEyOCBiaXRzLiBJIHdpbGwgdXBkYXRl IGl0IGluIA0KdjMgYWNjb3JkaW5nbHkgZm9yIHRoZSBkaWZmZXJlbmNlIHNlbWFudGljcyBoZXJl Lg0KDQpQYW4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEtpdG8gQ2hlbmcg PGtpdG8uY2hlbmdAZ21haWwuY29tPiANClNlbnQ6IFdlZG5lc2RheSwgRmVicnVhcnkgMjgsIDIw MjQgMjoxNyBQTQ0KVG86IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCkNjOiBnY2MtcGF0 Y2hlc0BnY2MuZ251Lm9yZzsganV6aGUuemhvbmdAcml2YWkuYWk7IFdhbmcsIFlhbnpoYW5nIDx5 YW56aGFuZy53YW5nQGludGVsLmNvbT47IHJkYXBwLmdjY0BnbWFpbC5jb207IGplZmZyZXlhbGF3 QGdtYWlsLmNvbQ0KU3ViamVjdDogUmU6IFtQQVRDSCB2Ml0gUklTQy1WOiBJbnRyb2R1Y2UgZ2Nj IG9wdGlvbiBtcnZ2LXZlY3Rvci1iaXRzIGZvciBSVlYNCg0KS2VlcCBTQ0FMQUJMRSwgc2luY2Ug aXQgaGFzIGRpZmZlcmVudCBzZW1hbnRpY3Mgd2l0aCBaVkw6DQoNCi1tcnZ2LXZlY3Rvci1iaXRz PXNjYWxibGUgbWVhbnMgenZsKmIgc3BlY2lmeSB0aGUgbWluaW1hbCBWTEVODQotbXJ2di12ZWN0 b3ItYml0cz16dmwgbWVhbnMgenZsKmIgc3BlY2lmeSB0aGUgZXhhY3RseSBWTEVODQoNCldoYXQn cyBkaWZmZXJlbmNlIGV4YWN0bHk/DQoNCi1tcnZ2LXZlY3Rvci1iaXRzPXNjYWxibGUgd2l0aCB6 dmwxMjhiIGNhbiBydW4gb24gYW55IG1hY2hpbmUgd2l0aCBWTEVOID49IDEyOA0KLW1ydnYtdmVj dG9yLWJpdHM9enZsIHdpdGggenZsMTI4YiBjYW4gKm9ubHkqIHJ1biBvbiB0aGUgbWFjaGluZSB3 aXRoDQpWTEVOID09IDEyOA0KDQpTaXplb2YgdmludDMybTFfdCBpcyBWTEVOIHVuZGVyIC1tcnZ2 LXZlY3Rvci1iaXRzPXNjYWxibGUgd2l0aCB6dmwxMjhiDQpTaXplb2YgdmludDMybTFfdCBpcyAx MjggdW5kZXIgLW1ydnYtdmVjdG9yLWJpdHM9enZsIHdpdGggenZsMTI4Yg0KDQpHaXZlIG1vcmUg cHJhY3RpY2FsIGV4YW1wbGUgb24gY29kZWdlbiB3aXRoIGNsYW5nOg0KaHR0cHM6Ly9nb2Rib2x0 Lm9yZy96L3ZoZG5HdkszNw0KDQpTbyBpdCBtb3JlIGxpa2UgYWxpYXMgb2YNCi0tcGFyYW09cmlz Y3YtYXV0b3ZlYy1wcmVmZXJlbmNlPWZpeGVkLXZsbWF4Ly0tcGFyYW09cmlzY3YtYXV0b3ZlYy1w cmVmZXJlbmNlPXNjYWxhYmxlLg0KDQpPbiBXZWQsIEZlYiAyOCwgMjAyNCBhdCAxMjoxN+KAr1BN IDxwYW4yLmxpQGludGVsLmNvbT4gd3JvdGU6DQo+DQo+IEZyb206IFBhbiBMaSA8cGFuMi5saUBp bnRlbC5jb20+DQo+DQo+IFRoaXMgcGF0Y2ggd291bGQgbGlrZSB0byBpbnRyb2R1Y2Ugb25lIG5l dyBnY2Mgb3B0aW9uIGZvciBSVlYuIFRvDQo+IGFwcG9pbnQgdGhlIGJpdHMgc2l6ZSBvZiBvbmUg UlZWIHZlY3RvciByZWdpc3Rlci4gVmFsaWQgYXJndW1lbnRzIHRvDQo+ICctbXJ2di12ZWN0b3It Yml0cz0nIGFyZToNCj4NCj4gKiB6dmwNCj4NCj4gVGhlIHp2bCB3aWxsIHBpY2sgdXAgdGhlIHp2 bCpiIGZyb20gdGhlIG1hcmNoIG9wdGlvbi4gRm9yIGV4YW1wbGUsDQo+IHRoZSBtcnZ2LXZlY3Rv ci1iaXRzIHdpbGwgYmUgMTAyNCB3aGVuIG1hcmNoPXJ2NjRnY3ZfenZsMTAyNGIuDQo+DQo+IFRo ZSBiZWxvdyB0ZXN0IGFyZSBwYXNzZWQgZm9yIHRoaXMgcGF0Y2guDQo+DQo+ICogVGhlIHJpc2N2 IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdC4NCj4NCj4gZ2NjL0NoYW5nZUxvZzoNCj4NCj4gICAgICAg ICAqIGNvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmggKGVudW0gcnZ2X3ZlY3Rvcl9iaXRzX2VudW0p OiBOZXcgZW51bSBmb3INCj4gICAgICAgICBkaWZmZXJlbnQgUlZWIHZlY3RvciBiaXRzLg0KPiAg ICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIChyaXNjdl9jb252ZXJ0X3ZlY3Rvcl9iaXRz KTogTmV3IGZ1bmMgdG8NCj4gICAgICAgICBnZXQgdGhlIFJWViB2ZWN0b3IgYml0cywgd2l0aCBn aXZlbiBtaW5fdmxlbi4NCj4gICAgICAgICAocmlzY3ZfY29udmVydF92ZWN0b3JfY2h1bmtzKTog Q29tYmluZSB0aGUgbXJ2di12ZWN0b3ItYml0cw0KPiAgICAgICAgIG9wdGlvbiB3aXRoIG1pbl92 bGVuIHRvIFJWViB2ZWN0b3IgY2h1bmtzLg0KPiAgICAgICAgIChyaXNjdl9vdmVycmlkZV9vcHRp b25zX2ludGVybmFsKTogVXBkYXRlIGNvbW1lbnRzIGFuZCByZW5hbWUgdGhlDQo+ICAgICAgICAg dmVjdG9yIGNodW5rcy4NCj4gICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi5vcHQ6IEFkZCBv cHRpb24gbXJ2di12ZWN0b3ItYml0cy4NCj4NCj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQo+ DQo+ICAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3J2di12ZWN0b3ItYml0cy0x LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9ydnYt dmVjdG9yLWJpdHMtMi5jOiBOZXcgdGVzdC4NCj4gICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTMuYzogTmV3IHRlc3QuDQo+DQo+IFNpZ25lZC1vZmYt Ynk6IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1vcHRzLmggICAgICAgICAgICAgICAgIHwgIDcgKysrKysNCj4gIGdjYy9jb25maWcv cmlzY3YvcmlzY3YuY2MgICAgICAgICAgICAgICAgICAgICB8IDMxICsrKysrKysrKysrKysrKy0t LS0NCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0ICAgICAgICAgICAgICAgICAgICB8IDEx ICsrKysrKysNCj4gIC4uLi9yaXNjdi9ydnYvYmFzZS9ydnYtdmVjdG9yLWJpdHMtMS5jICAgICAg ICB8ICA3ICsrKysrDQo+ICAuLi4vcmlzY3YvcnZ2L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTIuYyAg ICAgICAgfCAgNyArKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9iYXNlL3J2di12ZWN0b3ItYml0cy0z LmMgICAgICAgIHwgMjUgKysrKysrKysrKysrKysrDQo+ICA2IGZpbGVzIGNoYW5nZWQsIDgyIGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3J2di12ZWN0b3ItYml0cy0xLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jh c2UvcnZ2LXZlY3Rvci1iaXRzLTIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9ydnYtdmVjdG9yLWJpdHMtMy5jDQo+DQo+IGRp ZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaCBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3Ytb3B0cy5oDQo+IGluZGV4IDRlZGRkYmFkYzM3Li4wMTYyZTAwNTE1YiAxMDA2NDQN Cj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmgNCj4gKysrIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1vcHRzLmgNCj4gQEAgLTEyOSw2ICsxMjksMTMgQEAgZW51bSB2c2V0dmxf c3RyYXRlZ3lfZW51bSB7DQo+ICAgIFZTRVRWTF9PUFRfTk9fRlVTSU9OLA0KPiAgfTsNCj4NCj4g Ky8qIFJWViB2ZWN0b3IgYml0cyBmb3Igb3B0aW9uIC1tcnZ2LXZlY3Rvci1iaXRzDQo+ICsgICB6 dmwgaW5kaWNhdGVzIHRha2UgdGhlIGJpdHMgb2YgenZsKmIgcHJvdmlkZWQgYnkgbWFyY2ggYXMg dmVjdG9yIGJpdHMuDQo+ICsgKi8NCj4gK2VudW0gcnZ2X3ZlY3Rvcl9iaXRzX2VudW0gew0KPiAr ICBSVlZfVkVDVE9SX0JJVFNfWlZMLA0KPiArfTsNCj4gKw0KPiAgI2RlZmluZSBUQVJHRVRfWklD T05EX0xJS0UgKFRBUkdFVF9aSUNPTkQgfHwgKFRBUkdFVF9YVkVOVEFOQUNPTkRPUFMgJiYgVEFS R0VUXzY0QklUKSkNCj4NCj4gIC8qIEJpdCBvZiByaXNjdl96dmxfZmxhZ3Mgd2lsbCBzZXQgY29u dGludHVseSwgTi0xIGJpdCB3aWxsIHNldCBpZiBOLWJpdCBpcw0KPiBkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4gaW5k ZXggNWU5ODRlZTJhNTUuLmQxOGU1MjI2YmNlIDEwMDY0NA0KPiAtLS0gYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmNjDQo+ICsrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4gQEAgLTg4 MDEsMTMgKzg4MDEsMzIgQEAgcmlzY3ZfaW5pdF9tYWNoaW5lX3N0YXR1cyAodm9pZCkNCj4gICAg cmV0dXJuIGdnY19jbGVhcmVkX2FsbG9jPG1hY2hpbmVfZnVuY3Rpb24+ICgpOw0KPiAgfQ0KPg0K PiAtLyogUmV0dXJuIHRoZSBWTEVOIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCAtbWFyY2guDQo+ICtz dGF0aWMgaW50DQo+ICtyaXNjdl9jb252ZXJ0X3ZlY3Rvcl9iaXRzIChpbnQgbWluX3ZsZW4pDQo+ ICt7DQo+ICsgIGludCBydnZfYml0cyA9IDA7DQo+ICsNCj4gKyAgc3dpdGNoIChydnZfdmVjdG9y X2JpdHMpDQo+ICsgICAgew0KPiArICAgICAgY2FzZSBSVlZfVkVDVE9SX0JJVFNfWlZMOg0KPiAr ICAgICAgIHJ2dl9iaXRzID0gbWluX3ZsZW47DQo+ICsgICAgICAgYnJlYWs7DQo+ICsgICAgICBk ZWZhdWx0Og0KPiArICAgICAgIGdjY191bnJlYWNoYWJsZSAoKTsNCj4gKyAgICB9DQo+ICsNCj4g KyAgcmV0dXJuIHJ2dl9iaXRzOw0KPiArfQ0KPiArDQo+ICsvKiBSZXR1cm4gdGhlIFZMRU4gdmFs dWUgYXNzb2NpYXRlZCB3aXRoIC1tYXJjaCBhbmQgLW13cnZ2LXZlY3Rvci1iaXRzLg0KPiAgICAg VE9ETzogU28gZmFyIHdlIG9ubHkgc3VwcG9ydCBsZW5ndGgtYWdub3N0aWMgdmFsdWUuICovDQo+ ICBzdGF0aWMgcG9seV91aW50MTYNCj4gLXJpc2N2X2NvbnZlcnRfdmVjdG9yX2JpdHMgKHN0cnVj dCBnY2Nfb3B0aW9ucyAqb3B0cykNCj4gK3Jpc2N2X2NvbnZlcnRfdmVjdG9yX2NodW5rcyAoc3Ry dWN0IGdjY19vcHRpb25zICpvcHRzKQ0KPiAgew0KPiAgICBpbnQgY2h1bmtfbnVtOw0KPiAgICBp bnQgbWluX3ZsZW4gPSBUQVJHRVRfTUlOX1ZMRU5fT1BUUyAob3B0cyk7DQo+ICsgIGludCBydnZf Yml0cyA9IHJpc2N2X2NvbnZlcnRfdmVjdG9yX2JpdHMgKG1pbl92bGVuKTsNCj4gKw0KPiAgICBp ZiAobWluX3ZsZW4gPiAzMikNCj4gICAgICB7DQo+ICAgICAgICAvKiBXaGVuIHRhcmdldHRpbmcg bWluaW11bSBWTEVOID4gMzIsIHdlIHNob3VsZCB1c2UgNjQtYml0IGNodW5rIHNpemUuDQo+IEBA IC04ODI2LDcgKzg4NDUsNyBAQCByaXNjdl9jb252ZXJ0X3ZlY3Rvcl9iaXRzIChzdHJ1Y3QgZ2Nj X29wdGlvbnMgKm9wdHMpDQo+ICAgICAgICAgICAgLSBUQVJHRVRfTUlOX1ZMRU4gPSAyMDQ4Yml0 OiBbMjU2LDI1Nl0NCj4gICAgICAgICAgICAtIFRBUkdFVF9NSU5fVkxFTiA9IDQwOTZiaXQ6IFs1 MTIsNTEyXQ0KPiAgICAgICAgICAgIEZJWE1FOiBXZSBjdXJyZW50bHkgRE9OJ1Qgc3VwcG9ydCBU QVJHRVRfTUlOX1ZMRU4gPiA0MDk2Yml0LiAgKi8NCj4gLSAgICAgIGNodW5rX251bSA9IG1pbl92 bGVuIC8gNjQ7DQo+ICsgICAgICBjaHVua19udW0gPSBydnZfYml0cyAvIDY0Ow0KPiAgICAgIH0N Cj4gICAgZWxzZQ0KPiAgICAgIHsNCj4gQEAgLTg4NDgsNyArODg2Nyw3IEBAIHJpc2N2X2NvbnZl cnRfdmVjdG9yX2JpdHMgKHN0cnVjdCBnY2Nfb3B0aW9ucyAqb3B0cykNCj4gICAgaWYgKFRBUkdF VF9WRUNUT1JfT1BUU19QIChvcHRzKSkNCj4gICAgICB7DQo+ICAgICAgICBpZiAob3B0cy0+eF9y aXNjdl9hdXRvdmVjX3ByZWZlcmVuY2UgPT0gUlZWX0ZJWEVEX1ZMTUFYKQ0KPiAtICAgICAgIHJl dHVybiAoaW50KSBtaW5fdmxlbiAvIChyaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rICogOCk7 DQo+ICsgICAgICAgcmV0dXJuIChpbnQpIHJ2dl9iaXRzIC8gKHJpc2N2X2J5dGVzX3Blcl92ZWN0 b3JfY2h1bmsgKiA4KTsNCj4gICAgICAgIGVsc2UNCj4gICAgICAgICByZXR1cm4gcG9seV91aW50 MTYgKGNodW5rX251bSwgY2h1bmtfbnVtKTsNCj4gICAgICB9DQo+IEBAIC04OTIwLDggKzg5Mzks OCBAQCByaXNjdl9vdmVycmlkZV9vcHRpb25zX2ludGVybmFsIChzdHJ1Y3QgZ2NjX29wdGlvbnMg Km9wdHMpDQo+ICAgIGlmIChUQVJHRVRfVkVDVE9SICYmIFRBUkdFVF9CSUdfRU5ESUFOKQ0KPiAg ICAgIHNvcnJ5ICgiQ3VycmVudCBSSVNDLVYgR0NDIGRvZXMgbm90IHN1cHBvcnQgUlZWIGluIGJp Zy1lbmRpYW4gbW9kZSIpOw0KPg0KPiAtICAvKiBDb252ZXJ0IC1tYXJjaCB0byBhIGNodW5rcyBj b3VudC4gICovDQo+IC0gIHJpc2N2X3ZlY3Rvcl9jaHVua3MgPSByaXNjdl9jb252ZXJ0X3ZlY3Rv cl9iaXRzIChvcHRzKTsNCj4gKyAgLyogQ29udmVydCAtbWFyY2ggYW5kIC1tcnZ2LXZlY3Rvci1i aXRzIHRvIGEgY2h1bmtzIGNvdW50LiAgKi8NCj4gKyAgcmlzY3ZfdmVjdG9yX2NodW5rcyA9IHJp c2N2X2NvbnZlcnRfdmVjdG9yX2NodW5rcyAob3B0cyk7DQo+ICB9DQo+DQo+ICAvKiBJbXBsZW1l bnQgVEFSR0VUX09QVElPTl9PVkVSUklERS4gICovDQo+IGRpZmYgLS1naXQgYS9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2Lm9wdCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0DQo+IGluZGV4IDIw Njg1YzQyYWVkLi40MmVhOGVmZDA1ZCAxMDA2NDQNCj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5vcHQNCj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQNCj4gQEAgLTYwNywz ICs2MDcsMTQgQEAgRW51bShzdHJpbmdvcF9zdHJhdGVneSkgU3RyaW5nKHZlY3RvcikgVmFsdWUo U1RSQVRFR1lfVkVDVE9SKQ0KPiAgbXN0cmluZ29wLXN0cmF0ZWd5PQ0KPiAgVGFyZ2V0IFJlamVj dE5lZ2F0aXZlIEpvaW5lZCBFbnVtKHN0cmluZ29wX3N0cmF0ZWd5KSBWYXIoc3RyaW5nb3Bfc3Ry YXRlZ3kpIEluaXQoU1RSQVRFR1lfQVVUTykNCj4gIFNwZWNpZnkgc3RyaW5nb3AgZXhwYW5zaW9u IHN0cmF0ZWd5Lg0KPiArDQo+ICtFbnVtDQo+ICtOYW1lKHJ2dl92ZWN0b3JfYml0cykgVHlwZShl bnVtIHJ2dl92ZWN0b3JfYml0c19lbnVtKQ0KPiArVGhlIHBvc3NpYmxlIFJWViB2ZWN0b3IgcmVn aXN0ZXIgbGVuZ3RoczoNCj4gKw0KPiArRW51bVZhbHVlDQo+ICtFbnVtKHJ2dl92ZWN0b3JfYml0 cykgU3RyaW5nKHp2bCkgVmFsdWUoUlZWX1ZFQ1RPUl9CSVRTX1pWTCkNCj4gKw0KPiArbXJ2di12 ZWN0b3ItYml0cz0NCj4gK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQgRW51bShydnZfdmVj dG9yX2JpdHMpIFZhcihydnZfdmVjdG9yX2JpdHMpIEluaXQoUlZWX1ZFQ1RPUl9CSVRTX1pWTCkN Cj4gKy1tcnZ2LXZlY3Rvci1iaXRzPXp2bCAgU2V0IHRoZSBudW1iZXIgb2YgYml0cyBpbiB6dmwg Zm9yIGFuIFJWViB2ZWN0b3IgcmVnaXN0ZXIuDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9ydnYtdmVjdG9yLWJpdHMtMS5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi4yNGJjNDIxMWNkZQ0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YmFzZS9ydnYtdmVjdG9yLWJpdHMtMS5jDQo+IEBAIC0wLDAgKzEsNyBAQA0KPiArLyogeyBkZy1k byBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZsMjU2 YiAtbWFiaT1scDY0IC1tcnZ2LXZlY3Rvci1iaXRzPTEyOCAtTzMiIH0gKi8NCj4gKw0KPiArI2lu Y2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICsvKiB7IGRnLWVycm9yICJ1bnJlY29nbml6 ZWQgYXJndW1lbnQgaW4gb3B0aW9uICctbXJ2di12ZWN0b3ItYml0cz0xMjgnIiAiIiB7IHRhcmdl dCB7ICJyaXNjdiotKi0qIiB9IH0gMCB9ICovDQo+ICsvKiB7IGRnLW1lc3NhZ2UgIm5vdGU6IHZh bGlkIGFyZ3VtZW50cyB0byAnLW1ydnYtdmVjdG9yLWJpdHM9JyBhcmU6IHp2bCIgIiIgeyB0YXJn ZXQgeyAicmlzY3YqLSotKiIgfSB9IDAgfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3J2di12ZWN0b3ItYml0cy0yLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTIuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uZjRmOGZmNmE2ZmINCj4g LS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTIuYw0KPiBAQCAtMCwwICsxLDcgQEANCj4gKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2bDI1 NmIgLW1hYmk9bHA2NCAtbXJ2di12ZWN0b3ItYml0cz1pbnZhbGlkLWJpdHMgLU8zIiB9ICovDQo+ ICsNCj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4gKw0KPiArLyogeyBkZy1lcnJvciAi dW5yZWNvZ25pemVkIGFyZ3VtZW50IGluIG9wdGlvbiAnLW1ydnYtdmVjdG9yLWJpdHM9aW52YWxp ZC1iaXRzIiAiIiB7IHRhcmdldCB7ICJyaXNjdiotKi0qIiB9IH0gMCB9ICovDQo+ICsvKiB7IGRn LW1lc3NhZ2UgIm5vdGU6IHZhbGlkIGFyZ3VtZW50cyB0byAnLW1ydnYtdmVjdG9yLWJpdHM9JyBh cmU6IHp2bCIgIiIgeyB0YXJnZXQgeyAicmlzY3YqLSotKiIgfSB9IDAgfSAqLw0KPiBkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3J2di12ZWN0b3It Yml0cy0zLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcnZ2LXZl Y3Rvci1iaXRzLTMuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw MC4uOTYyY2M4ZmZhNmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcnZ2LXZlY3Rvci1iaXRzLTMuYw0KPiBAQCAtMCwwICsx LDI1IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICIt bWFyY2g9cnY2NGdjdl96dmwxMjhiIC1tYWJpPWxwNjQgLW1ydnYtdmVjdG9yLWJpdHM9enZsIC1P MyAtZm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQo+ICsvKiB7 IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQo+ICsNCj4g Ky8qDQo+ICsqKiB0ZXN0X3J2dl92ZWN0b3JfYml0c196dmw6DQo+ICsqKiAuLi4NCj4gKyoqIHZz ZXRpdmxpXHMremVybyxccyo0LFxzKmUzMixccyptMSxccyp0YSxccyptYQ0KPiArKiogdmxlMzJc LnZccyt2WzAtOV0rLFxzKjBcKGEwXCkNCj4gKyoqIHZsZTMyXC52XHMrdlswLTldKyxccyowXChh MVwpDQo+ICsqKiB2YWRkXC52dlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rDQo+ICsq KiB2c2UzMlwudlxzK3ZbMC05XSssXHMqMFwoYTJcKQ0KPiArKiogLi4uDQo+ICsqKiB2bGUzMlwu dlxzK3ZbMC05XSssXHMqMFwoYTBcKQ0KPiArKiogdmxlMzJcLnZccyt2WzAtOV0rLFxzKjBcKGEx XCkNCj4gKyoqIHZhZGRcLnZ2XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSsNCj4gKyoq IHZzZTMyXC52XHMrdlswLTldKyxccyowXChhMlwpDQo+ICsqKiByZXQNCj4gKyoqIC4uLg0KPiAr Ki8NCj4gK3ZvaWQgdGVzdF9ydnZfdmVjdG9yX2JpdHNfenZsIChpbnQgKmEsIGludCAqYiwgaW50 ICpvdXQpDQo+ICt7DQo+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKQ0KPiArICAgIG91 dFtpXSA9IGFbaV0gKyBiW2ldOw0KPiArfQ0KPiAtLQ0KPiAyLjM0LjENCj4NCg==