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 77D1C4B3C0 for ; Mon, 5 Aug 2024 01:49:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2119868D8D7; Mon, 5 Aug 2024 04:48:59 +0300 (EEST) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 93B4F68D8D7 for ; Mon, 5 Aug 2024 04:48:51 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1722822537; x=1754358537; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=WuAweVXqY7BWdRl5utjcQ2VXdnBBmtzfz0Oi7cwfLRI=; b=ZJ0aj4oKtZSaFBOQY55yxlWhQvyFZV7qBlvtPIrL7rCA5LNaTMdISIqw MvQDRWhC1uH9WTSeyJb5q/p2QNyBd9hO5tXc6mO3Qza8G2c5PbeqI5eXD mPnosBFWkck8AKXwS2EoPMJcoLTtU+BmdnsAOzgQZYGMQ3w+f+gTvK1LS G1MamNQM70N3OGSWOnDs4H+vttcBN7QbGnRAc7K3dLJVHJbOz0czSWpgs StWQhGY/E3hY7v9nQ1vl6PRZa+6rZz2YiLnZOpvivM/nuANaMM+h7ZAWl hg5xEqsgDSqbizTI69IDPb/+oSLZaA2uMJONoFCeWR2mj6rj1n4JOKvRA g==; X-CSE-ConnectionGUID: Co0Ig8SBRS2S+bbsQEDC2g== X-CSE-MsgGUID: oK40+5CgSguNIcBYfzf68w== X-IronPort-AV: E=McAfee;i="6700,10204,11154"; a="43288968" X-IronPort-AV: E=Sophos;i="6.09,263,1716274800"; d="scan'208";a="43288968" Received: from orviesa006.jf.intel.com ([10.64.159.146]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2024 18:48:49 -0700 X-CSE-ConnectionGUID: 0RvZXLBRR+emgSOV4kH95g== X-CSE-MsgGUID: U7rF2+k8SPK69DXNVKbZFw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,263,1716274800"; d="scan'208";a="56209166" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orviesa006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 04 Aug 2024 18:48:50 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 4 Aug 2024 18:48:48 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 4 Aug 2024 18:48:47 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Sun, 4 Aug 2024 18:48:47 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.44) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 4 Aug 2024 18:48:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UUSh1km3ZPak7TpBzyiKwVplr/+X46CWz1Y943B/WR93JLnOcYIKydDL4ZDvmPYlHabWbjDCt7f5FqdPKO9CJ495fYFtq5w5MlHUrixyYKBvwc7QO5Ef7GQ7UvqsOhNR9zNGh8Yc5ShW9f2ORK1iBgse5UayL6Yv1gQHkSYvH8FDB5aH3RTQgbTAuwHw0Ih/JyXNgqa+dMbPYCQyekBAt6vQ6wclX9jJlumKo4LwAEmFOjf4xs8EwIfcDZDDhFakue2Tp/6m7zTUTZHybLCjOzku7Adnr1iMvYvQOYlQDPlRd+WQhMhQX18B7bMXOJqe0qBdK1qVA9EhYlOHa5ywfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=WuAweVXqY7BWdRl5utjcQ2VXdnBBmtzfz0Oi7cwfLRI=; b=BwX+jYFLKLeFG5+igeNIc1gvXNrPqnoxvMDRjDszci0+NXQXJ64Sl7jKLRY2BalyvzAZNBkEakiGvTL/H6Ni6CHPj32AohYQ4KtuHs74HY5tifGFJk4Pr2hJ0QUO4UebMtkVekXy9T4HB1PCrCNcRlKu3NwGflNi8EEEt+VvLamGie0QPjQhCUNQ+k0vvtt8z126s4ngoDSqOkryLY3zNyzTgOOGjA1Wl/7vKHk5drTh0MI+lNOiOCEtB4GC6vWeES3pvs7T8lR+ONcZO9klX+y7aNL1XMksnFA4KgXhnVqrSkWi0Dj5b+0IWgpxiSPADSKTKgdhjndim6Ipgq0CUA== 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 SA1PR11MB7062.namprd11.prod.outlook.com (2603:10b6:806:2b3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.22; Mon, 5 Aug 2024 01:48:44 +0000 Received: from DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96]) by DM3PR11MB8757.namprd11.prod.outlook.com ([fe80::103a:9795:6ae2:7c96%5]) with mapi id 15.20.7828.023; Mon, 5 Aug 2024 01:48:44 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH 1/2] lavc/vaapi_decode: Make it possible to send multiple slice params buffers Thread-Index: AQHamT2jWuRYJ0MLK0KKoOhY4HgQxLGLZdEAgIQuQQCACOykgA== Date: Mon, 5 Aug 2024 01:48:44 +0000 Message-ID: <553903d82e30afea46a7539d3aed61d53e03665b.camel@intel.com> References: <20240428072650.168514-1-nowrep@gmail.com> In-Reply-To: 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_|SA1PR11MB7062:EE_ x-ms-office365-filtering-correlation-id: 12f59f1c-cab8-449c-063a-08dcb4f0bd72 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?QTRxSnVoYnFBYXprZ2xON0ltSk93KzRGT01nZFRMMnBNaXc2MWtaVjlxd1hF?= =?utf-8?B?aDYyUkVBb05pSnVCdlBjZlpqMnBKZ0orRVhwcnpWWXBhc1BDRy9pbTBMbzJL?= =?utf-8?B?VW5iS0Y1VzhQd1hrQldWZ0N6Q2szMEYyM2tzZlhvTmRENllLUWxwbFFJeEtH?= =?utf-8?B?ODlhSzk3NHpzRVltMFV6V2tDTDZXc214M05mSlh6STNZQ0MrRkRFSkNCUXgz?= =?utf-8?B?ZXV1UUttc2hkTVQrRGxDVnZEL1FpSUZSdlcxYVpkNmE0MkhWNC8zTEpWVlJ0?= =?utf-8?B?WE0yZFF0VFdMdjc5T3FvYnB2OWFFRDZNeFJHejdXbnhJVVdZQW1qM2NxOStn?= =?utf-8?B?cHhxaUROS0o4TWd5SkQwQ3R2aGpTSHZaZHpXa2dja1pZemhnYTNPMFVCM0F4?= =?utf-8?B?c0ViWTE2MFpsSUFKUERCOWthZW5ZQ1c5dVlnRXFtU1pUU1pPc2R3VFE5VjFH?= =?utf-8?B?KzRYTWUvTFpMRzc4b29ySFdqVEFTT2lOOWZkdkdiV0JndFlaZytnYnJ3U05p?= =?utf-8?B?bWZoOGdKUnJBRTZFbWNsRklKM2lDcDllQUYrK05ha1N3bVBXdEsyais1bkV5?= =?utf-8?B?THBOWm83M2pWSTN0K2thUFg4aXhpeGtYcVV6YWMzRlZaYklRcEVDVjJGbGsr?= =?utf-8?B?am1IdEliSlM0RVpGT0svdFFiZ1pxZlplVlNOZ3BhUXpob2RJRUFFRUd3dnk4?= =?utf-8?B?Q0xnZmRjMFdmS1g1MnYwZHNjSkppTHJvV2I4MXNGRmJRcWlNVG5EMWx1VkEr?= =?utf-8?B?MkJ4bmQzcGFHMC9ndnZFZEY2OFBQbzl3aWZmU3RiWXlrSzBXbENsN2Zkc1N2?= =?utf-8?B?dWh3N2FHaUVnRVNDSWVMRit1eVZjSEJJcG5CVjR6YlJaeU5ISCt1cERkWFQ2?= =?utf-8?B?Sjg0WjZ0RWlhSjlvOVN2MWxtZGxrL2tWYzJqeVJMQ1IyMHV5WmV3dStTbitB?= =?utf-8?B?eTBVWmhjdjFxdzdoT0FhYU54T0Jta2lZbmJaQU1Ga1VTMlBDUThGV1RhR1Vz?= =?utf-8?B?eU5CRkRnK05tZjJ6VWFYc0pKMGovMjlKQlBlT3pUUUN5MHA1aStnZWppRnI2?= =?utf-8?B?NlFMZ0pRRjFYRW1VUXFXMkpGQUZhMFRSRUNBbHRNVWJQVGVDYmNISWdQR1RH?= =?utf-8?B?U0hEYXVlcktoNzYrRFY1N2pURzRuMHBaZTVUMkRHNi80L0hRWGhOcGxNRWcv?= =?utf-8?B?VHo1WTZyZDduaHIxV0R6aTZSc3BUUWZRUjZVVTRrRk1NY1JQV1Yvd3VZSG1k?= =?utf-8?B?dzhWakI2YWt0Rmg1NUltVG1yc09jVW42TmNEWHNUUFcrbGVlS20xS1diZ2ZJ?= =?utf-8?B?eVcyeXh4bDJ5cnBnL3hHWGVrbDhlQ1BFSFYxSVA3THZhN0pIZWgwT1BFaWcx?= =?utf-8?B?Q3E0cW5VSnlGUW9EVjNnZWgvdFVteXZWZFF0UlhRYk5LcmNQUXprWFBLbXhV?= =?utf-8?B?YjE2WG5DS3FxV3owK0lkUUlaYS9ZRVRpODlBdjRKeU45NGUwWHdrTE8wSjNT?= =?utf-8?B?bXZMMEwvV2ZQUDZSYWxhZ0xTZWdrNVhCVVQrc2p0eU5JQklOZXdFZ2VFaHBC?= =?utf-8?B?c3Q2cS81UmhFdlNVQkFqVFBlKzF2c0pTUmllSGs1TWdaUCtUNGhmNlMxNk5z?= =?utf-8?B?dVpvY0tUQTYvVG9ZM3JRMjVTMmhYMGNJZU1OUU9ZNGkvQjF0SzQ5RjRFejFB?= =?utf-8?B?S2FiYzlHSjRQeVpkQkpHYXE0M1Rlb3krK1AxUTUrRzFMbFE2NG1xaHB5bFBu?= =?utf-8?B?WDlRU0N2bFl0SlpSZExublJVcTJsUi9JNVZOazgxa3RacG83UkxZUXl5aVg2?= =?utf-8?B?WThBUFYrUG5NQ0ZOc3RCMTBzRFdtY2U5ZnhpM204Szd4dmFYVTdSMlBsOFdV?= =?utf-8?B?eHpENUtPRmVqcGR1aGhPSTZ5d3FKNW9vUTk4a2JHREE0SWc9PQ==?= 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:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NXRmd1pmR1BSQW1EZ0haWVRGWEdzVkp5M1JESWErUWZNeXU1YjNRR09jdFBQ?= =?utf-8?B?STZJMDlnbzc4czVCY21JSFp5M3NSU0t3NHg1M1E1bU5qTUNsaFlMYkZmb2V4?= =?utf-8?B?MjZUR0ZUVGd5dE43R3NjRTE5NWYyYXg4aG1mREpweTlWZEJZYVZvZkFSR3A5?= =?utf-8?B?UElCdW9xZnpGcHNibUozMFZzL0JRaWsydXBhYVNjcWJoM3loVEkwOEhyaXRL?= =?utf-8?B?c0dlazhabkZTVlBPWlFwN2xKejA2aENFbkd0RlZoQVIrZHNxT1Y3MWtDSTZa?= =?utf-8?B?Ym50VDNBRlZoUktKWWEvTkd0MjdGa1NvdWwzbU9BVWkxb092cHIwNUxYZlJa?= =?utf-8?B?a1pEUGNReE9XNXl1S0FDbE9IZWJ2R3E0eGVRT1FOWUNCU0h4K1F4YTc5enZI?= =?utf-8?B?MjN3TEFjYWJHRklXeTU0WlFkaVpwYWJ3bWFITmQ3OFdlMEFiaWcyVSswZ0Ju?= =?utf-8?B?VjdyUU05QnptVG1LdmRQTVQvYTQzckNaSS9NSGNxZWVhRjhKS2xOU3Myd0FN?= =?utf-8?B?Yk45ZVRGRE5WQkt4eDJ2NURDQ3BBYnJPWUpVV3QyQ0hiQmgrN0g1Ym9pb3NM?= =?utf-8?B?L0Z1QlJlWEVQZkttbU1USklkbWdaMlVvUkd5UGpCOUZ6TUVyUU5IVklvUzZQ?= =?utf-8?B?aVVPVGlZT2MrQ1puTENoVlYzeUpnSnpZUVZpY2RqTllBeWhiS3NEVU5ST2dY?= =?utf-8?B?V2pZYjRuK2FndnB0MDljTzAvcHl5dlIyRUVDNnpFRmJWN3V6RFZ2S0dONkFh?= =?utf-8?B?N2ZpYitoMUhHckFwcjlLT1YwUFkzSXVFVUJFUWF1c3ZHR1VkSFZKNHpCRkNW?= =?utf-8?B?Tyt2ZGZUUGhYVzdqNmVqT3p5YTB3Q3ZjQ1d5cDUrTXlEMDVrTngzU1hTT0ty?= =?utf-8?B?Yi9pcUF0dzd2cUo4S2M1K1VpbjVhM1Q2YUxKSkV1VFhEV1FQb3U5OXlxRXB2?= =?utf-8?B?VWhmRW1obTByVlg5aE13V1QzZVA0dDYyWW05MkpVdlBTMzJXS2pCYThoUUxl?= =?utf-8?B?Z2ZGZ3o0V3cwY3NDL04wcTZHVGhqK29qekJIRFRkbWZScmdrdjBEVmlGNGpU?= =?utf-8?B?WkhUWndaZTBVNUdnT1Q0ZDk1c1lpU0dHT2RERVZBWnFwdnVxdWZUenAwK0dm?= =?utf-8?B?dkcvYlpwcHU5TkV2Rm80eXVPUCt0U1kyZmlYZmNwMVFEOVJpUnRkZnB3dGxr?= =?utf-8?B?ZjdTNGR6NmJlN3RiVFBub0FodkF2bDVFaForMjc0YU5kNWlmRFBsbVdMektZ?= =?utf-8?B?R0I1ZHNpdGJkODNlUWpsWE1iQTJxQ0pwYnAxZm1tRjBleG9zOERpaG5sOVc0?= =?utf-8?B?cXNTcnpwQnFodXNkR0xxMjVFQmdaVXhaODZsdDRVT25HamFWS3lOWVhvTWVC?= =?utf-8?B?bDk3QXYycFlKUmlkWmxIR3pnK2VOOFVuWkREcUkvLzduKzBBMS9PTVJYdlo5?= =?utf-8?B?VDlMZmFvMmJGWmJzSDV1WHBBLzhhTXpzYVZoMk5ZeGxJU1F6RmJ4MlkxRDl4?= =?utf-8?B?c0hNa3lVclRIZ1BFaW45NFNRbE5tWUZPb3liSjBqWjFIZnM0MXNaZkRhRjY3?= =?utf-8?B?NHp3U2pzMllNUWI4dXF1VjNMb3V1RWRJQlJFOEdUaDhVVWpzTTdXOThpY2xW?= =?utf-8?B?UkJ1WkZ2R2ZnSjFhS3c5QVZnOHM3bWhVbVU2VG1qZnhFajdVNTZxM1RYU1Yr?= =?utf-8?B?SU44REZCMFppRGxWRU1jQVFPbXdFNEpiY3ZHNFhnM2pmNkwybm5iU001QWhV?= =?utf-8?B?aFFhZ2pTY0hpQmY2ZkRubDlpeFIwRitkOXU2d1FoQndud1lUcXl3NXRhTEFE?= =?utf-8?B?bm5WeEt3VHlXSDdqa1dGUUJUUzltZzE0QldUUkZFaFNHOGxndVRPOTFMUFdn?= =?utf-8?B?czhLUUtXWlpzNndFNlU4VDFmS1RQWW1kblpWMFdiRHhuZUFjQUIwOWNxdUUr?= =?utf-8?B?OGIxRWdydXorRmI3b2YwazVybUNIU3doVzgzV2VWQlhLQkRKUE1hdlpTL3pO?= =?utf-8?B?VkVTdzJ5QnFvQ21EMWQra3JtNzJxVm92amFEQ2RuZ3o5eXhXUjJMQ1UybDBZ?= =?utf-8?B?b1hWQXVIMFNXVU5iVHAwSXg5Q01scFJCZ3AyaStIZkphcCtSemR5c1NPY3Z3?= =?utf-8?B?UzJQMC9sQ0NQazU2TGsvRjY0M3RHN0hUdWZTMkNYV3llQmVJb1lCMDJIaHpY?= =?utf-8?B?Z3c9PQ==?= Content-ID: 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: 12f59f1c-cab8-449c-063a-08dcb4f0bd72 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2024 01:48:44.3218 (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: Vw7eKofQCDSF3k/CpCosH1nlcJJFPtclZuNqMk33X/k++aGX09GfW3Dlp3bhBTLmaUvsVGOnw/0CUpSiNeTiUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB7062 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH 1/2] lavc/vaapi_decode: Make it possible to send multiple slice params buffers 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 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: T24gRGksIDIwMjQtMDctMzAgYXQgMTE6MzEgKzAyMDAsIFNlYmFzdGlhbiBSYW1hY2hlciB3cm90 ZToKPiBPbiAyMDI0LTA1LTA3IDA2OjU5OjUxICswMDAwLCBYaWFuZywgSGFpaGFvIHdyb3RlOgo+ ID4gT24gU28sIDIwMjQtMDQtMjggYXQgMDk6MjYgKzAyMDAsIERhdmlkIFJvc2NhIHdyb3RlOgo+ ID4gPiAtLS0KPiA+ID4gwqBsaWJhdmNvZGVjL3ZhYXBpX2F2MS5jwqDCoMKgIHwgMiArLQo+ID4g PiDCoGxpYmF2Y29kZWMvdmFhcGlfZGVjb2RlLmMgfCAzICsrLQo+ID4gPiDCoGxpYmF2Y29kZWMv dmFhcGlfZGVjb2RlLmggfCAxICsKPiA+ID4gwqBsaWJhdmNvZGVjL3ZhYXBpX2gyNjQuY8KgwqAg fCAyICstCj4gPiA+IMKgbGliYXZjb2RlYy92YWFwaV9oZXZjLmPCoMKgIHwgNCArKy0tCj4gPiA+ IMKgbGliYXZjb2RlYy92YWFwaV9tanBlZy5jwqAgfCAyICstCj4gPiA+IMKgbGliYXZjb2RlYy92 YWFwaV9tcGVnMi5jwqAgfCAyICstCj4gPiA+IMKgbGliYXZjb2RlYy92YWFwaV9tcGVnNC5jwqAg fCAyICstCj4gPiA+IMKgbGliYXZjb2RlYy92YWFwaV92YzEuY8KgwqDCoCB8IDIgKy0KPiA+ID4g wqBsaWJhdmNvZGVjL3ZhYXBpX3ZwOC5jwqDCoMKgIHwgMiArLQo+ID4gPiDCoGxpYmF2Y29kZWMv dmFhcGlfdnA5LmPCoMKgwqAgfCAyICstCj4gPiA+IMKgMTEgZmlsZXMgY2hhbmdlZCwgMTMgaW5z ZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvbGli YXZjb2RlYy92YWFwaV9hdjEuYyBiL2xpYmF2Y29kZWMvdmFhcGlfYXYxLmMKPiA+ID4gaW5kZXgg MWY1NjM0ODNiOS4uNGE5MGRiMWUwOSAxMDA2NDQKPiA+ID4gLS0tIGEvbGliYXZjb2RlYy92YWFw aV9hdjEuYwo+ID4gPiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX2F2MS5jCj4gPiA+IEBAIC00MDks NyArNDA5LDcgQEAgc3RhdGljIGludCB2YWFwaV9hdjFfZGVjb2RlX3NsaWNlKEFWQ29kZWNDb250 ZXh0Cj4gPiA+ICphdmN0eCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC50Z19lbmTC oMKgwqDCoMKgwqDCoMKgwqDCoMKgID0gcy0+dGdfZW5kLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKg IH07Cj4gPiA+IMKgCj4gPiA+IC3CoMKgwqDCoMKgwqDCoCBlcnIgPSBmZl92YWFwaV9kZWNvZGVf bWFrZV9zbGljZV9idWZmZXIoYXZjdHgsIHBpYywgJnNsaWNlX3BhcmFtLAo+ID4gPiArwqDCoMKg wqDCoMKgwqAgZXJyID0gZmZfdmFhcGlfZGVjb2RlX21ha2Vfc2xpY2VfYnVmZmVyKGF2Y3R4LCBw aWMsICZzbGljZV9wYXJhbSwKPiA+ID4gMSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgCj4gPiA+IHNpemVvZihWQVNsaWNlUGFyYW1ldGVyQnVmZmVyQVYxKSwK PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZmZlciwKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemUpOwo+ID4gPiBk aWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92YWFwaV9kZWNvZGUuYyBiL2xpYmF2Y29kZWMvdmFhcGlf ZGVjb2RlLmMKPiA+ID4gaW5kZXggMjFiMjczY2QwZi4uOGU5ZjY0N2MyMCAxMDA2NDQKPiA+ID4g LS0tIGEvbGliYXZjb2RlYy92YWFwaV9kZWNvZGUuYwo+ID4gPiArKysgYi9saWJhdmNvZGVjL3Zh YXBpX2RlY29kZS5jCj4gPiA+IEBAIC02Myw2ICs2Myw3IEBAIGludCBmZl92YWFwaV9kZWNvZGVf bWFrZV9wYXJhbV9idWZmZXIoQVZDb2RlY0NvbnRleHQKPiA+ID4gKmF2Y3R4LAo+ID4gPiDCoGlu dCBmZl92YWFwaV9kZWNvZGVfbWFrZV9zbGljZV9idWZmZXIoQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFZBQVBJRGVjb2RlUGljdHVyZSAqcGljLAo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHZvaWQgKnBhcmFtc19kYXRhLAo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgaW50IG5iX3BhcmFtcywKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz aXplX3QgcGFyYW1zX3NpemUsCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgdm9pZCAq c2xpY2VfZGF0YSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaXplX3Qgc2xpY2Vfc2l6ZSkK PiA+ID4gQEAgLTg4LDcgKzg5LDcgQEAgaW50IGZmX3ZhYXBpX2RlY29kZV9tYWtlX3NsaWNlX2J1 ZmZlcihBVkNvZGVjQ29udGV4dAo+ID4gPiAqYXZjdHgsCj4gPiA+IMKgCj4gPiA+IMKgwqDCoMKg IHZhcyA9IHZhQ3JlYXRlQnVmZmVyKGN0eC0+aHdjdHgtPmRpc3BsYXksIGN0eC0+dmFfY29udGV4 dCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgVkFTbGljZVBhcmFtZXRlckJ1ZmZlclR5cGUsCj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGFyYW1zX3NpemUsIDEsICh2b2lkKilwYXJh bXNfZGF0YSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBwYXJhbXNfc2l6ZSwgbmJfcGFyYW1zLCAodm9pZCopcGFyYW1zX2RhdGEsCj4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZwaWMt PnNsaWNlX2J1ZmZlcnNbaW5kZXhdKTsKPiA+ID4gwqDCoMKgwqAgaWYgKHZhcyAhPSBWQV9TVEFU VVNfU1VDQ0VTUykgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhhdmN0eCwgQVZfTE9H X0VSUk9SLCAiRmFpbGVkIHRvIGNyZWF0ZSBzbGljZSAiCj4gPiA+IGRpZmYgLS1naXQgYS9saWJh dmNvZGVjL3ZhYXBpX2RlY29kZS5oIGIvbGliYXZjb2RlYy92YWFwaV9kZWNvZGUuaAo+ID4gPiBp bmRleCA2YmVkYTE0ZTUyLi43MDIxNzFlMTA4IDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmNvZGVj L3ZhYXBpX2RlY29kZS5oCj4gPiA+ICsrKyBiL2xpYmF2Y29kZWMvdmFhcGlfZGVjb2RlLmgKPiA+ ID4gQEAgLTczLDYgKzczLDcgQEAgaW50IGZmX3ZhYXBpX2RlY29kZV9tYWtlX3BhcmFtX2J1ZmZl cihBVkNvZGVjQ29udGV4dAo+ID4gPiAqYXZjdHgsCj4gPiA+IMKgaW50IGZmX3ZhYXBpX2RlY29k ZV9tYWtlX3NsaWNlX2J1ZmZlcihBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgVkFBUElEZWNvZGVQaWN0dXJlICpwaWMsCj4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgY29uc3Qgdm9pZCAqcGFyYW1zX2RhdGEsCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBp bnQgbmJfcGFyYW1zLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVfdCBwYXJhbXNfc2l6 ZSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCB2b2lkICpzbGljZV9kYXRhLAo+ID4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVfdCBzbGljZV9zaXplKTsKPiA+ID4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvdmFhcGlfaDI2NC5jIGIvbGliYXZjb2RlYy92YWFwaV9oMjY0LmMKPiA+ ID4gaW5kZXggNTVjZjVhMDVlZS4uYjQ3NTMxY2UxYyAxMDA2NDQKPiA+ID4gLS0tIGEvbGliYXZj b2RlYy92YWFwaV9oMjY0LmMKPiA+ID4gKysrIGIvbGliYXZjb2RlYy92YWFwaV9oMjY0LmMKPiA+ ID4gQEAgLTM3NSw3ICszNzUsNyBAQCBzdGF0aWMgaW50IHZhYXBpX2gyNjRfZGVjb2RlX3NsaWNl KEFWQ29kZWNDb250ZXh0Cj4gPiA+ICphdmN0eCwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHNsaWNlX3BhcmFtLmNocm9tYV9vZmZzZXRfbDEpOwo+ID4gPiDCoAo+ID4gPiDCoMKgwqDCoCBl cnIgPSBmZl92YWFwaV9kZWNvZGVfbWFrZV9zbGljZV9idWZmZXIoYXZjdHgsIHBpYywKPiA+ID4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzbGljZV9wYXJhbSwKPiA+ID4gc2l6ZW9m KHNsaWNlX3BhcmFtKSwKPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZzbGlj ZV9wYXJhbSwgMSwKPiA+ID4gc2l6ZW9mKHNsaWNlX3BhcmFtKSwKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBidWZmZXIsIHNpemUpOwo+ID4gPiDCoMKgwqDCoCBpZiAoZXJy KSB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgZmZfdmFhcGlfZGVjb2RlX2NhbmNlbChhdmN0eCwg cGljKTsKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmFhcGlfaGV2Yy5jIGIvbGliYXZj b2RlYy92YWFwaV9oZXZjLmMKPiA+ID4gaW5kZXggM2JkZDJkZDFiOC4uMzkzN2I3NTc0YSAxMDA2 NDQKPiA+ID4gLS0tIGEvbGliYXZjb2RlYy92YWFwaV9oZXZjLmMKPiA+ID4gKysrIGIvbGliYXZj b2RlYy92YWFwaV9oZXZjLmMKPiA+ID4gQEAgLTM1Myw3ICszNTMsNyBAQCBzdGF0aWMgaW50IHZh YXBpX2hldmNfZW5kX2ZyYW1lKEFWQ29kZWNDb250ZXh0ICphdmN0eCkKPiA+ID4gwqDCoMKgwqAg aWYgKHBpYy0+bGFzdF9zaXplKSB7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgbGFzdF9zbGljZV9w YXJhbS0+TG9uZ1NsaWNlRmxhZ3MuZmllbGRzLkxhc3RTbGljZU9mUGljID0gMTsKPiA+ID4gwqDC oMKgwqDCoMKgwqDCoCByZXQgPSBmZl92YWFwaV9kZWNvZGVfbWFrZV9zbGljZV9idWZmZXIoYXZj dHgsICZwaWMtPnBpYywKPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgJnBpYy0+bGFzdF9zbGljZV9wYXJhbSwKPiA+ID4gc2xpY2VfcGFyYW1fc2l6ZSwKPiA+ID4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnBpYy0+bGFzdF9zbGljZV9w YXJhbSwKPiA+ID4gMSwKPiA+ID4gc2xpY2VfcGFyYW1fc2l6ZSwKPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBpYy0+bGFzdF9idWZmZXIsIHBpYy0KPiA+ID4g PiBsYXN0X3NpemUpOwo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGlmIChyZXQgPCAwKQo+ID4gPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBmYWlsOwo+ID4gPiBAQCAtNDcxLDcgKzQ3MSw3 IEBAIHN0YXRpYyBpbnQgdmFhcGlfaGV2Y19kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQKPiA+ ID4gKmF2Y3R4LAo+ID4gPiDCoAo+ID4gPiDCoMKgwqDCoCBpZiAoIXNoLT5maXJzdF9zbGljZV9p bl9waWNfZmxhZykgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGVyciA9IGZmX3ZhYXBpX2RlY29k ZV9tYWtlX3NsaWNlX2J1ZmZlcihhdmN0eCwgJnBpYy0+cGljLAo+ID4gPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcGljLT5sYXN0X3NsaWNlX3BhcmFtLAo+ID4gPiBz bGljZV9wYXJhbV9zaXplLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAmcGljLT5sYXN0X3NsaWNlX3BhcmFtLAo+ID4gPiAxLAo+ID4gPiBzbGljZV9wYXJhbV9z aXplLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGljLT5s YXN0X2J1ZmZlciwgcGljLQo+ID4gPiA+IGxhc3Rfc2l6ZSk7Cj4gPiA+IMKgwqDCoMKgwqDCoMKg wqAgcGljLT5sYXN0X2J1ZmZlciA9IE5VTEw7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgcGljLT5s YXN0X3NpemXCoMKgID0gMDsKPiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmFhcGlfbWpw ZWcuYyBiL2xpYmF2Y29kZWMvdmFhcGlfbWpwZWcuYwo+ID4gPiBpbmRleCA1YjhkNDdiYjJhLi45 NTU3Y2Y1ZjliIDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmNvZGVjL3ZhYXBpX21qcGVnLmMKPiA+ ID4gKysrIGIvbGliYXZjb2RlYy92YWFwaV9tanBlZy5jCj4gPiA+IEBAIC0xMzEsNyArMTMxLDcg QEAgc3RhdGljIGludCB2YWFwaV9tanBlZ19kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQKPiA+ ID4gKmF2Y3R4LAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIHNwLmNvbXBvbmVudHNbaV0uYWNfdGFi bGVfc2VsZWN0b3LCoCA9IHMtPmFjX2luZGV4W2ldOwo+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+IMKg Cj4gPiA+IC3CoMKgwqAgZXJyID0gZmZfdmFhcGlfZGVjb2RlX21ha2Vfc2xpY2VfYnVmZmVyKGF2 Y3R4LCBwaWMsICZzcCwgc2l6ZW9mKHNwKSwKPiA+ID4gYnVmZmVyLCBzaXplKTsKPiA+ID4gK8Kg wqDCoCBlcnIgPSBmZl92YWFwaV9kZWNvZGVfbWFrZV9zbGljZV9idWZmZXIoYXZjdHgsIHBpYywg JnNwLCAxLAo+ID4gPiBzaXplb2Yoc3ApLAo+ID4gPiBidWZmZXIsIHNpemUpOwo+ID4gPiDCoMKg wqDCoCBpZiAoZXJyKQo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZmFpbDsKPiA+ID4gwqAK PiA+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdmFhcGlfbXBlZzIuYyBiL2xpYmF2Y29kZWMv dmFhcGlfbXBlZzIuYwo+ID4gPiBpbmRleCBlZWI0ZTg3MzIxLi4xNzFhNzQyYzdmIDEwMDY0NAo+ ID4gPiAtLS0gYS9saWJhdmNvZGVjL3ZhYXBpX21wZWcyLmMKPiA+ID4gKysrIGIvbGliYXZjb2Rl Yy92YWFwaV9tcGVnMi5jCj4gPiA+IEBAIC0xNjIsNyArMTYyLDcgQEAgc3RhdGljIGludCB2YWFw aV9tcGVnMl9kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRleHQKPiA+ID4gKmF2Y3R4LAo+ID4gPiBj b25zdCB1aW50OF90ICpidWZmZXIKPiA+ID4gwqDCoMKgwqAgfTsKPiA+ID4gwqAKPiA+ID4gwqDC oMKgwqAgZXJyID0gZmZfdmFhcGlfZGVjb2RlX21ha2Vfc2xpY2VfYnVmZmVyKGF2Y3R4LCBwaWMs Cj4gPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmc2xpY2VfcGFyYW0sCj4gPiA+ IHNpemVvZihzbGljZV9wYXJhbSksCj4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAmc2xpY2VfcGFyYW0sIDEsCj4gPiA+IHNpemVvZihzbGljZV9wYXJhbSksCj4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnVmZmVyLCBzaXplKTsKPiA+ID4gwqDCoMKgwqAg aWYgKGVyciA8IDApIHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBmZl92YWFwaV9kZWNvZGVfY2Fu Y2VsKGF2Y3R4LCBwaWMpOwo+ID4gPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92YWFwaV9tcGVn NC5jIGIvbGliYXZjb2RlYy92YWFwaV9tcGVnNC5jCj4gPiA+IGluZGV4IDM2M2I2ODZlNDIuLjYx MmRlMTBjZDcgMTAwNjQ0Cj4gPiA+IC0tLSBhL2xpYmF2Y29kZWMvdmFhcGlfbXBlZzQuYwo+ID4g PiArKysgYi9saWJhdmNvZGVjL3ZhYXBpX21wZWc0LmMKPiA+ID4gQEAgLTE2OSw3ICsxNjksNyBA QCBzdGF0aWMgaW50IHZhYXBpX21wZWc0X2RlY29kZV9zbGljZShBVkNvZGVjQ29udGV4dAo+ID4g PiAqYXZjdHgsCj4gPiA+IGNvbnN0IHVpbnQ4X3QgKmJ1ZmZlcgo+ID4gPiDCoMKgwqDCoCB9Owo+ ID4gPiDCoAo+ID4gPiDCoMKgwqDCoCBlcnIgPSBmZl92YWFwaV9kZWNvZGVfbWFrZV9zbGljZV9i dWZmZXIoYXZjdHgsIHBpYywKPiA+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZz bGljZV9wYXJhbSwKPiA+ID4gc2l6ZW9mKHNsaWNlX3BhcmFtKSwKPiA+ID4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICZzbGljZV9wYXJhbSwgMSwKPiA+ID4gc2l6ZW9mKHNsaWNlX3Bh cmFtKSwKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBidWZmZXIsIHNpemUp Owo+ID4gPiDCoMKgwqDCoCBpZiAoZXJyIDwgMCkgewo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIGZm X3ZhYXBpX2RlY29kZV9jYW5jZWwoYXZjdHgsIHBpYyk7Cj4gPiA+IGRpZmYgLS1naXQgYS9saWJh dmNvZGVjL3ZhYXBpX3ZjMS5jIGIvbGliYXZjb2RlYy92YWFwaV92YzEuYwo+ID4gPiBpbmRleCA1 NTk0MTE4YTY5Li5hYmJlODc3ZGQ4IDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmNvZGVjL3ZhYXBp X3ZjMS5jCj4gPiA+ICsrKyBiL2xpYmF2Y29kZWMvdmFhcGlfdmMxLmMKPiA+ID4gQEAgLTQ5MCw3 ICs0OTAsNyBAQCBzdGF0aWMgaW50IHZhYXBpX3ZjMV9kZWNvZGVfc2xpY2UoQVZDb2RlY0NvbnRl eHQKPiA+ID4gKmF2Y3R4LAo+ID4gPiBjb25zdCB1aW50OF90ICpidWZmZXIsCj4gPiA+IMKgwqDC oMKgIH07Cj4gPiA+IMKgCj4gPiA+IMKgwqDCoMKgIGVyciA9IGZmX3ZhYXBpX2RlY29kZV9tYWtl X3NsaWNlX2J1ZmZlcihhdmN0eCwgcGljLAo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgJnNsaWNlX3BhcmFtLAo+ID4gPiBzaXplb2Yoc2xpY2VfcGFyYW0pLAo+ID4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnNsaWNlX3BhcmFtLCAxLAo+ID4gPiBzaXplb2Yo c2xpY2VfcGFyYW0pLAo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZmZl ciwgc2l6ZSk7Cj4gPiA+IMKgwqDCoMKgIGlmIChlcnIgPCAwKSB7Cj4gPiA+IMKgwqDCoMKgwqDC oMKgwqAgZmZfdmFhcGlfZGVjb2RlX2NhbmNlbChhdmN0eCwgcGljKTsKPiA+ID4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvdmFhcGlfdnA4LmMgYi9saWJhdmNvZGVjL3ZhYXBpX3ZwOC5jCj4gPiA+ IGluZGV4IDMxMTM3YTQ1YmQuLjY2ZmRkZTFmMzkgMTAwNjQ0Cj4gPiA+IC0tLSBhL2xpYmF2Y29k ZWMvdmFhcGlfdnA4LmMKPiA+ID4gKysrIGIvbGliYXZjb2RlYy92YWFwaV92cDguYwo+ID4gPiBA QCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRpYyBpbnQgdmFhcGlfdnA4X2RlY29kZV9zbGljZShBVkNv ZGVjQ29udGV4dAo+ID4gPiAqYXZjdHgsCj4gPiA+IMKgwqDCoMKgIGZvciAoaSA9IDA7IGkgPCA4 OyBpKyspCj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgc3AucGFydGl0aW9uX3NpemVbaSsxXSA9IHMt PmNvZWZmX3BhcnRpdGlvbl9zaXplW2ldOwo+ID4gPiDCoAo+ID4gPiAtwqDCoMKgIGVyciA9IGZm X3ZhYXBpX2RlY29kZV9tYWtlX3NsaWNlX2J1ZmZlcihhdmN0eCwgcGljLCAmc3AsIHNpemVvZihz cCksCj4gPiA+IGRhdGEsIGRhdGFfc2l6ZSk7Cj4gPiA+ICvCoMKgwqAgZXJyID0gZmZfdmFhcGlf ZGVjb2RlX21ha2Vfc2xpY2VfYnVmZmVyKGF2Y3R4LCBwaWMsICZzcCwgMSwKPiA+ID4gc2l6ZW9m KHNwKSwKPiA+ID4gZGF0YSwgZGF0YV9zaXplKTsKPiA+ID4gwqDCoMKgwqAgaWYgKGVycikKPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGZhaWw7Cj4gPiA+IMKgCj4gPiA+IGRpZmYgLS1naXQg YS9saWJhdmNvZGVjL3ZhYXBpX3ZwOS5jIGIvbGliYXZjb2RlYy92YWFwaV92cDkuYwo+ID4gPiBp bmRleCBiOGU3NjBjODA3Li5hMjhmYzc1YTU5IDEwMDY0NAo+ID4gPiAtLS0gYS9saWJhdmNvZGVj L3ZhYXBpX3ZwOS5jCj4gPiA+ICsrKyBiL2xpYmF2Y29kZWMvdmFhcGlfdnA5LmMKPiA+ID4gQEAg LTE1OCw3ICsxNTgsNyBAQCBzdGF0aWMgaW50IHZhYXBpX3ZwOV9kZWNvZGVfc2xpY2UoQVZDb2Rl Y0NvbnRleHQKPiA+ID4gKmF2Y3R4LAo+ID4gPiDCoMKgwqDCoCB9Cj4gPiA+IMKgCj4gPiA+IMKg wqDCoMKgIGVyciA9IGZmX3ZhYXBpX2RlY29kZV9tYWtlX3NsaWNlX2J1ZmZlcihhdmN0eCwgcGlj LAo+ID4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnNsaWNlX3BhcmFtLAo+ID4g PiBzaXplb2Yoc2xpY2VfcGFyYW0pLAo+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgJnNsaWNlX3BhcmFtLCAxLAo+ID4gPiBzaXplb2Yoc2xpY2VfcGFyYW0pLAo+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZmZlciwgc2l6ZSk7Cj4gPiA+IMKgwqDCoMKg IGlmIChlcnIpIHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBmZl92YWFwaV9kZWNvZGVfY2FuY2Vs KGF2Y3R4LCBwaWMpOwo+ID4gCj4gPiBQYXRjaHNldCBMR1RNIGFuZCBpdCB3b3JrcyB3ZWxsIGZv ciBtZS4gSSdsbCBtZXJnZSBpdCBpZiBubyBvbmUgb2JqZWN0cy4KPiAKPiBXZSBoYXZlIGJlZW4g YXNrZWQgdG8gYXBwbHkgdGhpcyBwYXRjaHNldCB0byB0aGUgZmZtcGVnIHBhY2thZ2UgaW4KPiBE ZWJpYW4gKGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9 MTA3MjAzOCkuCj4gQ291bGQgeW91IHBsZWFzZSBiYWNrcG9ydCB0aGlzIHBhdGNoc2V0IHRvIDcu MD8KPiAKPiBDaGVlcnMKCkNoZXJyeS1waWNrZWQgdGhlIHBhdGNoc2V0IHRvIDcuMCwKCkJScwpI YWloYW8KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpm Zm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8v ZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUs IHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5v cmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==