From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 3BA6E495F6 for ; Fri, 15 Mar 2024 02:23:18 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B7F9468D030; Fri, 15 Mar 2024 04:23:15 +0200 (EET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9C79968CDA0 for ; Fri, 15 Mar 2024 04:23:08 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1710469394; x=1742005394; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=X/W8gZXygdgBY+PWimW06TmiL84tBb2AFmrrkGWpMu8=; b=d8N+890c5TeotM/NK2jNZdQc422XHIVfuidwBmj+Cq35Yn/TRbyeYYvE vbopGfGcNm07s0ASihjF5Z/ZP1sik82ktq9NDTYC3MOmAxyxccSffjrgl ozNTMh53gkrVqFgqq/Q6the4F/waZ4MEqKDfUeOy1Da5ChfqEZPpwtN6+ +Rkc+2Jz/brmJ0Hfhf+hyzhsmgpL5wUBK7kfcxoaMVVSpwckI8Dz2rnI6 2toHgpoMpsRi+Ck0c8xC2p9WLzxwZW9+YIy3UMHaMVpIETejWG3kEb8qx 68LoD4d4dHg0vMnTvntPj30O8MThk81sqzfTRHSsJj6/ZlgfFKk53AUdE A==; X-IronPort-AV: E=McAfee;i="6600,9927,11013"; a="16723175" X-IronPort-AV: E=Sophos;i="6.07,127,1708416000"; d="scan'208";a="16723175" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Mar 2024 19:22:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,127,1708416000"; d="scan'208";a="43408241" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Mar 2024 19:22:49 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.35; Thu, 14 Mar 2024 19:22:48 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) 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; Thu, 14 Mar 2024 19:22:48 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) 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; Thu, 14 Mar 2024 19:22:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=i3/zSEEzXdSbsMsMfZJFhzZ2IZE7K0T/6nz7Zctb7Cs9Im7q+80VOd5vEp9zBvEYkNA+3UL+Vs9JzasHFJB6vZRQw07r29jT0pcuyvPHhCdDx6pCeYdJeE7tvKK5d4bknuMVdwcaWx88tzTdgb0vENqnBiGg+c+aGNGlAiuAtEMLpWxSj/jAV2ZhC5qEJR0i3KNXQIBNUH/KA8bH6WFLkqJtAmEpSziPuy+0hjthyNpbWFeYByZUP+rpYJmSPg0jwPJbcSAifB7ttw8vxhxZBnfu3ZCV8ECNXznzE6hQ93OkCjc+QOkXH9duWCu4pudzQgBGhYwUwCkwiYABnStjhw== 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=X/W8gZXygdgBY+PWimW06TmiL84tBb2AFmrrkGWpMu8=; b=N/UjIH4l+9ldlTIAgLL3o2npSi/y/paqoJPZoud8O8fcclA2J2TEb+Fv/BLsQH+ErXUwr+0nOspffglijF24fhrOKR3A6K46S/yJtT7PoESyoMneoamqKszYJD2gXxAlQOBxTbE93UaUNnckOAKDJPtydQh8grJmZrLffSqJXqZek9mcV6X9++KqY5vLAIrb9yrrqcl9Jv+Lgqlz3Y11ccG9FUQKinw+sHO3YaMvXb/Zer2/uUxzwEHXgeuRRDKKHdcNIWnmw0hPWfVU3aNTux0c/mk+rjsG81RSoZRkuUPmp9rX9TRgcHTg67V5YiH/umG/5u8BWPy91z4tcw9n5g== 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 DM3PR11MB8757.namprd11.prod.outlook.com (2603:10b6:8:1af::7) by DM4PR11MB8158.namprd11.prod.outlook.com (2603:10b6:8:18b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.19; Fri, 15 Mar 2024 02:22:46 +0000 Received: from DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::a4cc:a87a:820f:dc1b]) by DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::a4cc:a87a:820f:dc1b%4]) with mapi id 15.20.7386.017; Fri, 15 Mar 2024 02:22:46 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v2 2/2] lavc/vaapi_encode_h265: Set general_*_constriaint flags with profile Thread-Index: AQHacTVMYlOOxnHGdE2lu06oaWb+9LE4HOmA Date: Fri, 15 Mar 2024 02:22:46 +0000 Message-ID: References: <20240308084723.70916-1-fei.w.wang@intel.com> <20240308084723.70916-2-fei.w.wang@intel.com> In-Reply-To: <20240308084723.70916-2-fei.w.wang@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu2 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: DM3PR11MB8757:EE_|DM4PR11MB8158:EE_ x-ms-office365-filtering-correlation-id: b3557498-a7bb-47e3-3ced-08dc4496cdba x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7j34klo8ZoRFEai3NIxSKk9Q76tndTVGC+g1wspGpVP8WWtPg6mzR9Vj+G6GQIjaMDYVayyYkIhxxYuJgVFKiUdXBJMHCRvc0CTxVgS0T8TxTo4HHO5+t0DLAU0NP54mdpUD8nrJ4NMpRIwSEZZcC9RxSHAJETu4i7TpYFV81H5g1TJ7sggNwBgY62raBjnrc7Kw1a3aQDQ9bOEnU86LnsrQkrQlls6qfMnVDoGE+dIYdYj9ojxk0W5xEWnNsxv7AE2PwCqdsGRHTxdIAitEZpftfn0+Wqv55eItCk78mFTO54LI6w606rXwlKryEMtkTaPtb5jD4vzCnBVJfgUAuqps3eZAMlBt+ziasYO3HlAvOBSstgYrlcb7ooLKOaUuTWFwArDsSsz/MrUCFn8sjXBqzrcjz4n24p0TqI9mOSZ8USiAwXVIMGnSWkuP4axOy3nsFtty99E2MlrvyLYEOquoNDVTR/MBCIl8ksx/ISEsO7zck7Eo+p0tAlrHcbb9fQ6eGTmVedhGAVv492nApi3ghafAAcbTWsGu5VtjrTZnQM/QKmmYi+4dj1C+0e/cPWjwsdWaf5MRJ3/MBfNvHwor9UHCBooee9XIX8HtIDHvSpwM+vFgFTbMIwCKuVNICBxL+MPmUW3rN93xV2/rICUI1WA/i9Ben9gaHgKUJFJVaIzf8cJGUhMTkjfT7FUb/2qEpkZvfbaOFGVSw/HDmw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM3PR11MB8757.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?MU91S3U0blRhMmdIb1gwMGwyMUhnaW9UcTl0OUp5VkxpZGJGejdNL2VqMTdY?= =?utf-8?B?Y25YQ21FSXgzK21lWHJRWGk2anRVbEU4dFppQi9kK21FQjMwOG1uTi9sTmF0?= =?utf-8?B?MXBQeGhFc05TcHVxUGw5UlljVmw3Q3VVRTFOQSsxTDd1Q0FCV25UeTF3TmpV?= =?utf-8?B?MkQ4WitWa1ZQcVlYUllYNVBhNm9JdmoxamJkQURYTUdmQ3VPMlBWYVppL01B?= =?utf-8?B?S1c5SFpGTFgzSElzY29IL3ppcWhEWmRmdUg2d1BCOXcrZXpGL1dROTQyS2hZ?= =?utf-8?B?RGxtcU1SUGZlSzF0VlhWQTBkN1FWSXBTUTZRUGFhQ0xTMzFwZU9oNmdwbncy?= =?utf-8?B?L1dYbi9jNklyQlRnU1RwYlJGN2drc3NRaFcwcng2QWxXK0VSSkNZMEV2VlBR?= =?utf-8?B?OEFoSXl1NHZBeTdoQUw3aTN3WGo5dXdreDZMSU0zSTdLbE1zeWlFMDVST2dw?= =?utf-8?B?TjVDV0xaLzhraktxZTJmTXFWdU9UNnQ4TW82ZzdmNkdHdzlNSkVnTm5McXJ2?= =?utf-8?B?YnVQS0lLZllwank2QkFzYXVZSDNDdTRITHEzRVZGZ2E1UDZIK1cxMEpRUFJl?= =?utf-8?B?cmRWcmVxVy9qQ0RxMVczc1J2Z2d2WUxaNEo1ejIzQnAzQmRhaDJLc3MvMGQz?= =?utf-8?B?UVZDbWIrMWYzOHNSU01tdWR5S3BZQlVTSXdOa2pMb05tTnZWTzdPOXRTbXRq?= =?utf-8?B?NCtqVmJiQ3plZS90L0lMbk94bTF4SEFLbC9iMFpLVGNibTN1cHAvZHJzNFMz?= =?utf-8?B?djdkZC9LMUdSMWFpbDZ2aGZubzZkMHJRVjRET1R5bnA1QkhkMkhuZXpoR1RV?= =?utf-8?B?b0poM1ZHRVZqd2c2RGtWZ1JlWVoyTjJEQnltRDYwZmpaZlE3T1BMTkcxNnBN?= =?utf-8?B?bkJXbXl6L3RLSTdmdnRVbE4rM2EzVkZNM1VVNE9YSHJ0OEt4QzFYZnJGNUFo?= =?utf-8?B?VEZySFZtMHhiNzBidEFWd3ZsQ1djVW05RlZlcE1kYWY2L3dWbUxMLzZaeHhU?= =?utf-8?B?YkZCMU81alQvM3JLYVJEYTJ1Q0doQWlmN0pKeWJ4bnlNbDlkb1BxTktJaWpT?= =?utf-8?B?MGZkSE1kdXdCYWhJbDVML09jS0VWdGM2ek9USkxEMFRNSHFkOXo1T2syQzJR?= =?utf-8?B?blkxKzZkeHJrcjU2VGhvam9TRzZocys5blF0L2NhOGFkL2Y0VGZjKzBBclBy?= =?utf-8?B?N01kNmVnNTdXL1c4MHpmNTVQSFdRWDZzYlRSOGtGOHFyR2FJZDdLRlZZNTMv?= =?utf-8?B?ZGNMUjh6cGlwUGk3cU5laUxLMU1uem1HQ2NQU2ljbVV1aGRIaW1GZm5iOTJr?= =?utf-8?B?OGIxbUkvaFIvRU9BblJ2T2FnbFc5cXpRZGZiakc1K3BPczBuKyszSWlQaWR0?= =?utf-8?B?Yy9aM3RLbldQOVZMZ1Q4V0o1bjhNZ3l2bFNPN2VheldWRE9Ha0pUTmhTa01j?= =?utf-8?B?bGdpdUttYjluY3pmMkN6TXZTaVJwTktJd0xUNGdiVHh5NjNRNnFsaDc5bHZL?= =?utf-8?B?T1phTGVpaWdyUThVSi81RHordTlydVl0N2Fqak05RjdSZnhvU091TGpXb2Vt?= =?utf-8?B?bnE1b09ncy9WT3lpUzR0VXovMS91ajZ0VC85WFpZWnVRSlN1RHluaGVyYXB3?= =?utf-8?B?M0xuN1JicnhQRE1MV0o0eFRjNEhOZVJoUXNKN1FsTndWZWthSnJNdHBKdmNO?= =?utf-8?B?QjA0eVpIcFFuVytRZUg2bWJvY0RwRUFLc0tISjVkSERqWG1YNThYdGpCdmtY?= =?utf-8?B?NTV4bGVCOVhSQXQzQXN4dFNldzFOL2pYWXlhYW9laURJKzI0K2I1eHlSMThX?= =?utf-8?B?SUZVeVl1d3NBbmE2VUZRL3NYTnZtUVl2K01uMitjV0lxNVRyLzFQcEJ2TDlq?= =?utf-8?B?bGZZVFlSMmlUektXbklpZGFRWitqa3c4M2FEeTBwemtRc1VVQ3BpUithU3px?= =?utf-8?B?MFU1c2NQbEtBYjNSVW50bDJOMEU4RzlxbnN4WENMY0VIWDY1eEczUGRoalM5?= =?utf-8?B?c3hTalQ1UmRnZXhKVGlUaGc1MlIzeXFiN3RaaTBQczVMNmxzaEFtMUd4Q1Jq?= =?utf-8?B?NW5SV2VVdzBHUVdNZjNyeVJ4Z0lZMFZrcmpoelczY3FhYnhibngwbndTRDA1?= =?utf-8?B?THpFV29yOUZwZDZwT1lQK09hVFYvRzJQN2RBWEsvZDR6R1hYOHd3Y2JVUmk4?= =?utf-8?B?M3c9PQ==?= Content-ID: <9189D24E2F88CE47B1BD109D0E09EA0A@namprd11.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM3PR11MB8757.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3557498-a7bb-47e3-3ced-08dc4496cdba X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2024 02:22:46.6497 (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: /f6Eea2Wb7rPOIGK7QEf7rQ36wbeFEgzzUZaX0x3o9uf8q3B8ndJ45eZNucBM08q0RyadNERe4478Ly9TPPpTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB8158 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] lavc/vaapi_encode_h265: Set general_*_constriaint flags with profile X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: "Wang, Fei W" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gVnIsIDIwMjQtMDMtMDggYXQgMTY6NDcgKzA4MDAsIGZlaS53LndhbmctYXQtaW50ZWwuY29t QGZmbXBlZy5vcmcgd3JvdGU6Cj4gRnJvbTogRmVpIFdhbmcgPGZlaS53LndhbmdAaW50ZWwuY29t Pgo+IAo+IEFjY29yZGluZyB0byBUYWJsZSBBLjIgaW4gc3BlYy4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBGZWkgV2FuZyA8ZmVpLncud2FuZ0BpbnRlbC5jb20+Cj4gLS0tCj4gwqBsaWJhdmNvZGVjL3Zh YXBpX2VuY29kZV9oMjY1LmMgfCAxODEgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t Cj4gwqAxIGZpbGUgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMoKyksIDUzIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL3ZhYXBpX2VuY29kZV9oMjY1LmMgYi9saWJhdmNv ZGVjL3ZhYXBpX2VuY29kZV9oMjY1LmMKPiBpbmRleCA0Mzc1NWUyMTg4Li43Yzk5MTZlYWM4IDEw MDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfZW5jb2RlX2gyNjUuYwo+ICsrKyBiL2xpYmF2 Y29kZWMvdmFhcGlfZW5jb2RlX2gyNjUuYwo+IEBAIC0yNTgsNiArMjU4LDEyOSBAQCBmYWlsOgo+ IMKgwqDCoMKgIHJldHVybiBlcnI7Cj4gwqB9Cj4gwqAKPiArc3RhdGljIGludCB2YWFwaV9lbmNv ZGVfaDI2NV9pbml0X3B0bChBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gK3sKPiArwqDCoMKgIFZB QVBJRW5jb2RlQ29udGV4dMKgwqDCoMKgwqAgKmN0eCA9IGF2Y3R4LT5wcml2X2RhdGE7Cj4gK8Kg wqDCoCBWQUFQSUVuY29kZUgyNjVDb250ZXh0ICpwcml2ID0gYXZjdHgtPnByaXZfZGF0YTsKPiAr wqDCoMKgIEgyNjVSYXdWUFPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqdnBzID0gJnByaXYt PnJhd192cHM7Cj4gK8KgwqDCoCBIMjY1UmF3UHJvZmlsZVRpZXJMZXZlbCAqcHRsID0gJnZwcy0+ cHJvZmlsZV90aWVyX2xldmVsOwo+ICsKPiArwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX3Nw YWNlID0gMDsKPiArwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2lkY8KgwqAgPSBhdmN0eC0+ cHJvZmlsZTsKPiArwqDCoMKgIHB0bC0+Z2VuZXJhbF90aWVyX2ZsYWfCoMKgwqDCoCA9IHByaXYt PnRpZXI7Cj4gKwo+ICvCoMKgwqAgcHRsLT5nZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9m bGFnW3B0bC0+Z2VuZXJhbF9wcm9maWxlX2lkY10gPSAxOwo+ICsKPiArwqDCoMKgIGlmIChwdGwt PmdlbmVyYWxfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdbMV0pCj4gK8KgwqDCoMKgwqDCoMKg IHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ1syXSA9IDE7Cj4gK8KgwqDC oCBpZiAocHRsLT5nZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9mbGFnWzNdKSB7Cj4gK8Kg wqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ1sxXSA9 IDE7Cj4gK8KgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlf ZmxhZ1syXSA9IDE7Cj4gK8KgwqDCoCB9Cj4gKwo+ICvCoMKgwqAgcHRsLT5nZW5lcmFsX3Byb2dy ZXNzaXZlX3NvdXJjZV9mbGFnwqDCoMKgID0gMTsKPiArwqDCoMKgIHB0bC0+Z2VuZXJhbF9pbnRl cmxhY2VkX3NvdXJjZV9mbGFnwqDCoMKgwqAgPSAwOwo+ICvCoMKgwqAgcHRsLT5nZW5lcmFsX25v bl9wYWNrZWRfY29uc3RyYWludF9mbGFnID0gMTsKPiArwqDCoMKgIHB0bC0+Z2VuZXJhbF9mcmFt ZV9vbmx5X2NvbnN0cmFpbnRfZmxhZyA9IDE7Cj4gKwo+ICvCoMKgwqAgaWYgKGF2Y3R4LT5wcm9m aWxlID49IDQpIHsKPiArwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX2ludHJhX2NvbnN0cmFp bnRfZmxhZ8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgPSBjdHgtPmdvcF9zaXplID09IDE7Cj4gK8Kg wqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9vbmVfcGljdHVyZV9vbmx5X2NvbnN0cmFpbnRfZmxh ZyA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9sb3dlcl9iaXRfcmF0ZV9jb25z dHJhaW50X2ZsYWfCoMKgID0gMTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgIHN3aXRjaCAoY3R4LT52 YV9wcm9maWxlKSB7Cj4gKyNpZiBWQV9DSEVDS19WRVJTSU9OKDEsIDIsIDApCj4gK8KgwqDCoMKg wqDCoMKgIGNhc2UgVkFQcm9maWxlSEVWQ01haW4xMjoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAvLyBNYWluIDEyCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF8x NGJpdF9jb25zdHJhaW50X2ZsYWfCoMKgwqDCoMKgID0gMDsKClRoZXJlIGlzbid0IGEgcmVxdWly ZW1lbnQgYWJvdXQgZ2VuZXJhbF9tYXhfMTRiaXRfY29uc3RyYWludF9mbGFnIGluIFRhYmxlIEEu MiwKaXQgaXMgdW5uZWNlc3NhcnkgdG8gc2V0IHRoaXMgZmxhZyBoZXJlLgoKVGhhbmtzCkhhaWhh bwoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4XzEyYml0X2NvbnN0 cmFpbnRfZmxhZ8KgwqDCoMKgwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+ Z2VuZXJhbF9tYXhfMTBiaXRfY29uc3RyYWludF9mbGFnwqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxhZ8Kg wqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21h eF80MjJjaHJvbWFfY29uc3RyYWludF9mbGFnwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHB0bC0+Z2VuZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gMTsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4X21vbm9jaHJvbWVfY29uc3Ry YWludF9mbGFnID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiArwqDCoMKg wqDCoMKgwqAgY2FzZSBWQVByb2ZpbGVIRVZDTWFpbjQyMl8xMDoKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAvLyBNYWluIDQ6MjoyIDEwCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5n ZW5lcmFsX21heF8xNGJpdF9jb25zdHJhaW50X2ZsYWfCoMKgwqDCoMKgID0gMDsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4XzEyYml0X2NvbnN0cmFpbnRfZmxhZ8Kg wqDCoMKgwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhf MTBiaXRfY29uc3RyYWludF9mbGFnwqDCoMKgwqDCoCA9IDE7Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqDCoCA9 IDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF80MjJjaHJvbWFf Y29uc3RyYWludF9mbGFnwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2Vu ZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gMDsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4X21vbm9jaHJvbWVfY29uc3RyYWludF9mbGFnID0g MDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiArwqDCoMKgwqDCoMKgwqAgY2Fz ZSBWQVByb2ZpbGVIRVZDTWFpbjQyMl8xMjoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBN YWluIDQ6MjoyIDEyCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF8x NGJpdF9jb25zdHJhaW50X2ZsYWfCoMKgwqDCoMKgID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBwdGwtPmdlbmVyYWxfbWF4XzEyYml0X2NvbnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqAgPSAx Owo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfMTBiaXRfY29uc3Ry YWludF9mbGFnwqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5n ZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF80MjJjaHJvbWFfY29uc3RyYWludF9m bGFnwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfNDIw Y2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBw dGwtPmdlbmVyYWxfbWF4X21vbm9jaHJvbWVfY29uc3RyYWludF9mbGFnID0gMDsKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiArwqDCoMKgwqDCoMKgwqAgY2FzZSBWQVByb2ZpbGVI RVZDTWFpbjQ0NDoKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBNYWluIDQ6NDo0Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF8xNGJpdF9jb25zdHJhaW50X2Zs YWfCoMKgwqDCoMKgID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxf bWF4XzEyYml0X2NvbnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfMTBiaXRfY29uc3RyYWludF9mbGFnwqDCoMKgwqDC oCA9IDE7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2Nv bnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqDCoCA9IDE7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg cHRsLT5nZW5lcmFsX21heF80MjJjaHJvbWFfY29uc3RyYWludF9mbGFnwqAgPSAwOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRf ZmxhZ8KgID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4X21v bm9jaHJvbWVfY29uc3RyYWludF9mbGFnID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBi cmVhazsKPiArwqDCoMKgwqDCoMKgwqAgY2FzZSBWQVByb2ZpbGVIRVZDTWFpbjQ0NF8xMDoKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBNYWluIDQ6NDo0IDEwCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF8xNGJpdF9jb25zdHJhaW50X2ZsYWfCoMKgwqDCoMKg ID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4XzEyYml0X2Nv bnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0 bC0+Z2VuZXJhbF9tYXhfMTBiaXRfY29uc3RyYWludF9mbGFnwqDCoMKgwqDCoCA9IDE7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxh Z8KgwqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFs X21heF80MjJjaHJvbWFfY29uc3RyYWludF9mbGFnwqAgPSAwOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gMDsK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4X21vbm9jaHJvbWVfY29u c3RyYWludF9mbGFnID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiArwqDC oMKgwqDCoMKgwqAgY2FzZSBWQVByb2ZpbGVIRVZDTWFpbjQ0NF8xMjoKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAvLyBNYWluIDQ6NDo0IDEyCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRs LT5nZW5lcmFsX21heF8xNGJpdF9jb25zdHJhaW50X2ZsYWfCoMKgwqDCoMKgID0gMDsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4XzEyYml0X2NvbnN0cmFpbnRfZmxh Z8KgwqDCoMKgwqAgPSAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9t YXhfMTBiaXRfY29uc3RyYWludF9mbGFnwqDCoMKgwqDCoCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxhZ8KgwqDCoMKgwqDC oCA9IDA7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX21heF80MjJjaHJv bWFfY29uc3RyYWludF9mbGFnwqAgPSAwOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+ Z2VuZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gMDsKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4X21vbm9jaHJvbWVfY29uc3RyYWludF9mbGFn ID0gMDsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiArI2VuZGlmCj4gK8KgwqDC oMKgwqDCoMKgIGRlZmF1bHQ6Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGF2Y3R4 LCBBVl9MT0dfRVJST1IsICJVbmtub3duIHByb2ZpbGUgdG8gaW5pdCBQVEwuXG4iKTsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+ICvCoMKgwqDCoMKg wqDCoCB9Cj4gK8KgwqDCoCB9Cj4gKwo+ICvCoMKgwqAgaWYgKGF2Y3R4LT5sZXZlbCAhPSBBVl9M RVZFTF9VTktOT1dOKSB7Cj4gK8KgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9sZXZlbF9pZGMg PSBhdmN0eC0+bGV2ZWw7Cj4gK8KgwqDCoCB9IGVsc2Ugewo+ICvCoMKgwqDCoMKgwqDCoCBjb25z dCBIMjY1TGV2ZWxEZXNjcmlwdG9yICpsZXZlbDsKPiArCj4gK8KgwqDCoMKgwqDCoMKgIGxldmVs ID0gZmZfaDI2NV9ndWVzc19sZXZlbChwdGwsIGF2Y3R4LT5iaXRfcmF0ZSwKPiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBjdHgtPnN1cmZhY2Vfd2lkdGgsIGN0eC0+c3VyZmFjZV9oZWlnaHQsCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY3R4LT5uYl9zbGljZXMsIGN0eC0+dGlsZV9yb3dzLCBjdHgtCj4gPnRpbGVfY29scywK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAoY3R4LT5iX3Blcl9wID4gMCkgKyAxKTsKPiArwqDCoMKgwqDCoMKg wqAgaWYgKGxldmVsKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGF2Y3R4LCBB Vl9MT0dfVkVSQk9TRSwgIlVzaW5nIGxldmVsICVzLlxuIiwgbGV2ZWwtPm5hbWUpOwo+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9sZXZlbF9pZGMgPSBsZXZlbC0+bGV2ZWxf aWRjOwo+ICvCoMKgwqDCoMKgwqDCoCB9IGVsc2Ugewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGF2X2xvZyhhdmN0eCwgQVZfTE9HX1ZFUkJPU0UsICJTdHJlYW0gd2lsbCBub3QgY29uZm9ybSB0 byAiCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiYW55IG5vcm1hbCBs ZXZlbDsgdXNpbmcgbGV2ZWwgOC41LlxuIik7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRs LT5nZW5lcmFsX2xldmVsX2lkYyA9IDI1NTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvLyBU aGUgdGllciBmbGFnIG11c3QgYmUgc2V0IGluIGxldmVsIDguNS4KPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBwdGwtPmdlbmVyYWxfdGllcl9mbGFnID0gMTsKPiArwqDCoMKgwqDCoMKgwqAgfQo+ ICvCoMKgwqAgfQo+ICsKPiArwqDCoMKgIHJldHVybiAwOwo+ICt9Cj4gKwo+IMKgc3RhdGljIGlu dCB2YWFwaV9lbmNvZGVfaDI2NV9pbml0X3NlcXVlbmNlX3BhcmFtcyhBVkNvZGVjQ29udGV4dCAq YXZjdHgpCj4gwqB7Cj4gwqDCoMKgwqAgVkFBUElFbmNvZGVDb250ZXh0wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICpjdHggPSBhdmN0eC0+cHJpdl9kYXRhOwo+IEBAIC0yNjUsMTMgKzM4 OCwxMiBAQCBzdGF0aWMgaW50Cj4gdmFhcGlfZW5jb2RlX2gyNjVfaW5pdF9zZXF1ZW5jZV9wYXJh bXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+IMKgwqDCoMKgIEgyNjVSYXdWUFPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICp2cHMgPSAmcHJpdi0+cmF3X3Zw czsKPiDCoMKgwqDCoCBIMjY1UmF3U1BTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqc3BzID0gJnByaXYtPnJhd19zcHM7Cj4gwqDCoMKgwqAgSDI2NVJhd1BQ U8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKnBwcyA9ICZw cml2LT5yYXdfcHBzOwo+IC3CoMKgwqAgSDI2NVJhd1Byb2ZpbGVUaWVyTGV2ZWzCoMKgwqDCoMKg wqDCoMKgwqDCoCAqcHRsID0gJnZwcy0+cHJvZmlsZV90aWVyX2xldmVsOwo+IMKgwqDCoMKgIEgy NjVSYXdWVUnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICp2 dWkgPSAmc3BzLT52dWk7Cj4gwqDCoMKgwqAgVkFFbmNTZXF1ZW5jZVBhcmFtZXRlckJ1ZmZlckhF VkMgKnZzZXEgPSBjdHgtPmNvZGVjX3NlcXVlbmNlX3BhcmFtczsKPiDCoMKgwqDCoCBWQUVuY1Bp Y3R1cmVQYXJhbWV0ZXJCdWZmZXJIRVZDwqAgKnZwaWMgPSBjdHgtPmNvZGVjX3BpY3R1cmVfcGFy YW1zOwo+IMKgwqDCoMKgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYzsKPiDCoMKgwqDC oCBpbnQgY2hyb21hX2Zvcm1hdCwgYml0X2RlcHRoOwo+IC3CoMKgwqAgaW50IGk7Cj4gK8KgwqDC oCBpbnQgaSwgZXJyOwo+IMKgCj4gwqDCoMKgwqAgbWVtc2V0KHZwcywgMCwgc2l6ZW9mKCp2cHMp KTsKPiDCoMKgwqDCoCBtZW1zZXQoc3BzLCAwLCBzaXplb2YoKnNwcykpOwo+IEBAIC0zMTQsNTcg KzQzNiwxMCBAQCBzdGF0aWMgaW50Cj4gdmFhcGlfZW5jb2RlX2gyNjVfaW5pdF9zZXF1ZW5jZV9w YXJhbXMoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+IMKgwqDCoMKgIHZwcy0+dnBzX21heF9zdWJf bGF5ZXJzX21pbnVzMcKgwqDCoMKgID0gMDsKPiDCoMKgwqDCoCB2cHMtPnZwc190ZW1wb3JhbF9p ZF9uZXN0aW5nX2ZsYWfCoCA9IDE7Cj4gwqAKPiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxl X3NwYWNlID0gMDsKPiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2lkY8KgwqAgPSBhdmN0 eC0+cHJvZmlsZTsKPiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF90aWVyX2ZsYWfCoMKgwqDCoCA9IHBy aXYtPnRpZXI7Cj4gLQo+IC3CoMKgwqAgcHRsLT5nZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0 eV9mbGFnW3B0bC0+Z2VuZXJhbF9wcm9maWxlX2lkY10gPSAxOwo+IC0KPiAtwqDCoMKgIGlmIChw dGwtPmdlbmVyYWxfcHJvZmlsZV9jb21wYXRpYmlsaXR5X2ZsYWdbMV0pCj4gLcKgwqDCoMKgwqDC oMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ1syXSA9IDE7Cj4gLcKg wqDCoCBpZiAocHRsLT5nZW5lcmFsX3Byb2ZpbGVfY29tcGF0aWJpbGl0eV9mbGFnWzNdKSB7Cj4g LcKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxpdHlfZmxhZ1sx XSA9IDE7Cj4gLcKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF9wcm9maWxlX2NvbXBhdGliaWxp dHlfZmxhZ1syXSA9IDE7Cj4gLcKgwqDCoCB9Cj4gLQo+IC3CoMKgwqAgcHRsLT5nZW5lcmFsX3By b2dyZXNzaXZlX3NvdXJjZV9mbGFnwqDCoMKgID0gMTsKPiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF9p bnRlcmxhY2VkX3NvdXJjZV9mbGFnwqDCoMKgwqAgPSAwOwo+IC3CoMKgwqAgcHRsLT5nZW5lcmFs X25vbl9wYWNrZWRfY29uc3RyYWludF9mbGFnID0gMTsKPiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF9m cmFtZV9vbmx5X2NvbnN0cmFpbnRfZmxhZyA9IDE7Cj4gLQo+IC3CoMKgwqAgcHRsLT5nZW5lcmFs X21heF8xNGJpdF9jb25zdHJhaW50X2ZsYWcgPSBiaXRfZGVwdGggPD0gMTQ7Cj4gLcKgwqDCoCBw dGwtPmdlbmVyYWxfbWF4XzEyYml0X2NvbnN0cmFpbnRfZmxhZyA9IGJpdF9kZXB0aCA8PSAxMjsK PiAtwqDCoMKgIHB0bC0+Z2VuZXJhbF9tYXhfMTBiaXRfY29uc3RyYWludF9mbGFnID0gYml0X2Rl cHRoIDw9IDEwOwo+IC3CoMKgwqAgcHRsLT5nZW5lcmFsX21heF84Yml0X2NvbnN0cmFpbnRfZmxh Z8KgID0gYml0X2RlcHRoID09wqAgODsKPiAtCj4gLcKgwqDCoCBwdGwtPmdlbmVyYWxfbWF4XzQy MmNocm9tYV9jb25zdHJhaW50X2ZsYWfCoCA9IGNocm9tYV9mb3JtYXQgPD0gMjsKPiAtwqDCoMKg IHB0bC0+Z2VuZXJhbF9tYXhfNDIwY2hyb21hX2NvbnN0cmFpbnRfZmxhZ8KgID0gY2hyb21hX2Zv cm1hdCA8PSAxOwo+IC3CoMKgwqAgcHRsLT5nZW5lcmFsX21heF9tb25vY2hyb21lX2NvbnN0cmFp bnRfZmxhZyA9IGNocm9tYV9mb3JtYXQgPT0gMDsKPiAtCj4gLcKgwqDCoCBwdGwtPmdlbmVyYWxf aW50cmFfY29uc3RyYWludF9mbGFnID0gY3R4LT5nb3Bfc2l6ZSA9PSAxOwo+IC3CoMKgwqAgcHRs LT5nZW5lcmFsX29uZV9waWN0dXJlX29ubHlfY29uc3RyYWludF9mbGFnID0gMDsKPiAtCj4gLcKg wqDCoCBwdGwtPmdlbmVyYWxfbG93ZXJfYml0X3JhdGVfY29uc3RyYWludF9mbGFnID0gMTsKPiAt Cj4gLcKgwqDCoCBpZiAoYXZjdHgtPmxldmVsICE9IEFWX0xFVkVMX1VOS05PV04pIHsKPiAtwqDC oMKgwqDCoMKgwqAgcHRsLT5nZW5lcmFsX2xldmVsX2lkYyA9IGF2Y3R4LT5sZXZlbDsKPiAtwqDC oMKgIH0gZWxzZSB7Cj4gLcKgwqDCoMKgwqDCoMKgIGNvbnN0IEgyNjVMZXZlbERlc2NyaXB0b3Ig KmxldmVsOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqAgbGV2ZWwgPSBmZl9oMjY1X2d1ZXNzX2xldmVs KHB0bCwgYXZjdHgtPmJpdF9yYXRlLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGN0eC0+c3VyZmFjZV93aWR0 aCwgY3R4LT5zdXJmYWNlX2hlaWdodCwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdHgtPm5iX3NsaWNlcywg Y3R4LT50aWxlX3Jvd3MsIGN0eC0KPiA+dGlsZV9jb2xzLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChjdHgt PmJfcGVyX3AgPiAwKSArIDEpOwo+IC3CoMKgwqDCoMKgwqDCoCBpZiAobGV2ZWwpIHsKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBhdl9sb2coYXZjdHgsIEFWX0xPR19WRVJCT1NFLCAiVXNpbmcg bGV2ZWwgJXMuXG4iLCBsZXZlbC0+bmFtZSk7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRs LT5nZW5lcmFsX2xldmVsX2lkYyA9IGxldmVsLT5sZXZlbF9pZGM7Cj4gLcKgwqDCoMKgwqDCoMKg IH0gZWxzZSB7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGF2Y3R4LCBBVl9MT0df VkVSQk9TRSwgIlN0cmVhbSB3aWxsIG5vdCBjb25mb3JtIHRvICIKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICJhbnkgbm9ybWFsIGxldmVsOyB1c2luZyBsZXZlbCA4LjUu XG4iKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGwtPmdlbmVyYWxfbGV2ZWxfaWRjID0g MjU1Owo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8vIFRoZSB0aWVyIGZsYWcgbXVzdCBiZSBz ZXQgaW4gbGV2ZWwgOC41Lgo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB0bC0+Z2VuZXJhbF90 aWVyX2ZsYWcgPSAxOwo+IC3CoMKgwqDCoMKgwqDCoCB9Cj4gK8KgwqDCoCBlcnIgPSB2YWFwaV9l bmNvZGVfaDI2NV9pbml0X3B0bChhdmN0eCk7Cj4gK8KgwqDCoCBpZiAoZXJyIDwgMCkgewo+ICvC oMKgwqDCoMKgwqDCoCBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byBpbml0 IFBUTC5cbiIpOwo+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZXJyOwo+IMKgwqDCoMKgIH0KPiDC oAo+IMKgwqDCoMKgIHZwcy0+dnBzX3N1Yl9sYXllcl9vcmRlcmluZ19pbmZvX3ByZXNlbnRfZmxh ZyA9IDA7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpm Zm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5v cmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==