From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 8259E4BCE3 for ; Tue, 3 Jun 2025 14:34:14 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 28B0968BF90; Tue, 3 Jun 2025 17:34:03 +0300 (EEST) Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03olkn2052.outbound.protection.outlook.com [40.92.57.52]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E30D568D61A for ; Tue, 3 Jun 2025 17:33:56 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aHecw8zPJ8aYs+TZwUbcshIZNiZewhooUagIdXokxj18Nn6sXRfl11E+DL0TJCD6e3FZLl9i9z7jUa9ZK8fWhW5iI/RhwbfZ6ODcpPLDsxxkP48iX3y81eIL1BozzNaYCv2P0KNZHhKNnJnyIBTxOlJB2kFJJLNSZJric3MNWFxcFdjX75C3psvEG8pfn+eCmFNoj95XwnUPxdr80QFCUFY9YTKRFEnU9cfhVA37qgU8o5tbDZKl6MdTukazpQiY4Ef4rk5h0ehweckhftFKTH/y7D9F4TaWmnqyVGZhwK2QGW+C/Xyac4z3tvZ8dqIU4Am0PimIUjQG4zJ1WWTqYQ== 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=3WdtsQvZl6ZEFmxUo4km0UXF1msbI0VEGZ9hVybVm5Q=; b=f6yHBn0pFEZVZYwAWzWFDUUfbhIKoKN1jSpdlj8KYzdTjbXLRmWqA8ylXFwDblf5jaYzJEkAzfQnQOAcqMj6TdNvsBQ6o9V8TD7pP4Lj5sZzM77TN4Gb0z0Lh68uU1YyCy+G5LJqeeBHP28HnWVbvczAh1hPEuaGILWMcESKTlMqngql5gri+XCPnbK5fffpvW27To4cSMMPL08Yp07W8Oi2U7R+WzN7i1L6Y14KVuGSx6qUdNAiu6BWHuEfAYu/fNq1KuL0xsvPtdCJQOOPZ9fB3KURXAI60vjRlIxWFHRRr0eJEgvAyXAknCTscs22WjcFGGgPiHvTqTBgv0pEJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3WdtsQvZl6ZEFmxUo4km0UXF1msbI0VEGZ9hVybVm5Q=; b=E6KM/MVLzyPxNk2XWblqmsQXFgvUeorLVcOOMNX1YbASbyaWhklTy4MwJlwDF0TPecyBINYrRyAw5vp/JXGVCdy9XNM5LIxsJPmgZ5+hWrBIs20fqi7zIHMFNTFIL3lm+olSwwiEGVacoKGC8/z4eqddVHoZ6yNP0mS+SJeml38vX10emeJUkv44jTaLYCIO282gg5z7HQz8Sr3EzPtaToiM1GYR1cAJ1VADbykqvOch8DFjwtuDKgg2td6KVNnZSPZoKA3+8SGhPNAGibOMNUPENG/AEtbSL/kl/KDd99nE7bwogjgAsZGBugj18Zi2Kc0o2kZGrEr/7HyBPS3ugg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by GV2P250MB1023.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:db::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8792.33; Tue, 3 Jun 2025 14:33:54 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::d6a1:e3af:a5f1:b614%5]) with mapi id 15.20.8769.035; Tue, 3 Jun 2025 14:33:54 +0000 Content-Type: multipart/mixed; boundary="------------77MvI01S5gvzj0mnjjhIbjnv" Message-ID: Date: Tue, 3 Jun 2025 16:33:52 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-ClientProxiedBy: FR4P281CA0015.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c8::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <9ca9f39a-d534-4973-8b3c-5821aa5c39c9@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|GV2P250MB1023:EE_ X-MS-Office365-Filtering-Correlation-Id: b978e25f-6e5d-4885-6414-08dda2abaa24 X-MS-Exchange-SLBlob-MailProps: ZILSnhm0P3lHiyvRcoHGa9sE1qcXYJ30I928yLfxHJWG7e9B2J8nZdbgxxsJcKgONhC1eNnB89hdJoOVjUNV3eS5eBLjqIEuVTeDTp9GEip7fWwo6MJaRK1VazqSzMZh/eFeCEw7I7uPJ3Ghd0Oqs8rykrq2azGuDnBum8+NuOizylAYeMMOWMgiv457Ut7IeG8cEFQsAWvUHGFNPzH5gaoYJGe/MGcwNCOq3opsU3V314IHx2kB2hYh5j7P3httt7KiMrxRB1akKnKdaK/vSPPEUyQggWN8CuMjeRVU2E93l96EuJ+gCC90lc4FQWVl8H7lgBNtHhqu59uCSfwlT6H0s1WaYzgi6Y6yEyARtggTEzlQ2kKElAfYc7tSS2hOxasdzrSJz6RK0ptwda+vGQ0ewqM/1NzaNCXPgIkiH1gtN6f6Ru5dzLLgKlo4lkRZLIgwo0Y7k/X3vALfOLdeA6NeeGnjCSgQRxg8h3BpujAFi8ELTZLY9JuFWEwsw0G7m4s/pjwwmBaRh/HSDiUfO6y1ehQinWXsZvfrU6NEwVrnxIvycd1VMZpVGdvdCtmAbpGealtpea1WYMOUiOSRmMIbGIu+Bf2xyK+eVAasLLJZJ3FSeaBeDE91F1Z5e5sYxN79cGnZVNyPfDJSrav8j/M3+XWnGoQDNG4yoYSKvO1ksFWa9aqSkfAncAzF2SbbQj+cRMGh1aJW4nS+Qcyka9Jm0UlnUkA0Xl7rnBeISLuxh1UN93TS3RPt42U0mODP7RxnlRxj5nG7zZ4qqGiJYbpgL9+YsbPT X-Microsoft-Antispam: BCL:0; ARA:14566002|6092099012|15080799009|19110799006|5072599009|7092599006|12121999007|8060799009|461199028|20055399003|440099028|4302099013|3412199025|1602099012; X-Microsoft-Antispam-Message-Info: =?utf-8?B?N2hzSE5KYzc3N1Rrd1VLaFFsRFNQclVlaEdYNzVVYmtOU3JIU2luR1A0T3Rw?= =?utf-8?B?L2h6cWpYK2RsYkxGRUhXNWt5YW5kUktTZlBONkJYUnB6YTZTSisxb3ZhSlc4?= =?utf-8?B?eDdPSXhRdmV6YVdROWdiK0ZlQTFXcVUvM2d6elNCUjdaMTZaYTJqMmo0UE00?= =?utf-8?B?dG45czFGbUtRbVc4TGRvYlZDcnlkWlo3ZzR1K0RER2xxVkZVR2xSU1lUV044?= =?utf-8?B?a0VLMnpScjBqbTc4OGsyUlEybHBWWFYwS2Nqc2dqcm55WTQ4VWM0aDRvNyt0?= =?utf-8?B?S0ZJeW5sUlc0azNyeWdObGUvRTJXcTFjaTBWVithUjVraldWSFZqbUFPa2h6?= =?utf-8?B?cHF5ZjRzOEwyMFQ3UUtNZFJDbCtrdGlBbDYvWEpZRFRNdk1MNkhOZHY0Mkdo?= =?utf-8?B?SVVFTjBiSG1xaHdGRUtoZTdaOG5lMW9YZGRCbGtVTEJnaHRjdDZlTUxjRXND?= =?utf-8?B?THBFL21USGlLNlJvNnZjaENzS0lwVERYUXprN2tzcUduUEZ3SlFCL1Y3R3hs?= =?utf-8?B?a2UweEJ4WWY3UmJrWmlRLzNLWTJBVmZndXJBcUlqNS9UOCtJcXFWbmt4SVJY?= =?utf-8?B?K0NwODFneUoxSEZhUEFzK3RHN1AxMUgzbUtpOFVTSm9WeW9YSDdsQkdKQWwv?= =?utf-8?B?b0ZObDhIMkcydkJMNVA2R0ZodmtUc3E3SGVYNExHcWRMazQ5alQwdmdoVlBw?= =?utf-8?B?Y2cwUzh0eTJHVUw3SGhtZmxLMlRha2Yzbk9nM0V0MXJjRWh0aWcvZ2N1aGcx?= =?utf-8?B?ZkFjazBxeTFBNnV6djYrK2NLQjl4NU9wMkpzc093RUZQQThxY1pocTMvUi9z?= =?utf-8?B?anloYkpqZHozaEhadlRKaVF2d1dSdUZBV1pqaVd3UDIxMkRMb2ZNcFVYZXlz?= =?utf-8?B?bzVIa0FWd21DU1J5UUdTaEtuMlpTWVlDQlMwdFNZQy9sZkFUY1lXRkM2QTRK?= =?utf-8?B?cEVCVTVYbnVJN0orM3Q4THFyVVZ4R3JVMkE0Y2lUQmg4empxVVhENk1tayt1?= =?utf-8?B?YzBTcHdNWVM1WnhvQktUSnVLODZzQ1JkaTcxckc5a2VsRk5ENEZxV2VVZUtN?= =?utf-8?B?OUVFdC85NzhGaEJuVGROZWVjSWRzZjA4bjJDRGo0b05waUtMTlF3L0xvVVd4?= =?utf-8?B?ajRlVkFKdkRiKzV6K0NEenZNb3lVZlRaVnI1THFETlhDcmpjRkJhT0ZkZll5?= =?utf-8?B?Y3k4ZUZDMXFpcWVDWmJEck9kOVIvd0lpYklRRmg1L1FYWVhUWkZpR0pIOW9I?= =?utf-8?B?YWxiWUVaOGZHZEl4TC93WjVkUFc5L1FIRjc2dVBRZkdXSjlRYmhsd1ZablRl?= =?utf-8?B?VTJXYnhJVzg1VllDUjlJeEJZcThsOE1hNWNyb2U0VFNXeUthdit3MUxIcGh5?= =?utf-8?B?RlpWQXFDOW00VzNWRWkyZGV5SEkzMU1ONVA3Mm5MZTNOWFE0ckRaVHNTNlFq?= =?utf-8?B?T3F3VmxpWlV3OE5mN2pQMGI1YzlLSkY3dVE5cTd0d2h6b0FFQ21pMzN1dUVy?= =?utf-8?B?WGNPNjR2cEI2djkzSXpPTldlZWd5VXFSdTBZdFlIdFplWDc2QkZEWFc2Q2RI?= =?utf-8?B?N2drRHhmKytHTkU3SndBcnlZOVVVNnFGVkhpTmlPS2JkenNyTEpwSWhjb3pz?= =?utf-8?B?Skg4MzRDOHM4aUZWa1hmMzhmclBaMkFaVG44a09RbWtIUjdLMHpXQ1JicTE3?= =?utf-8?B?QlhUeGZyTmF5dk9iTkE2Qzh1SjIydklvRjlZcjJVOHB4ZkFKcjdYM0lEeUdl?= =?utf-8?Q?FD2VqwBRhqvy/PTOxQ=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ync3V1FUYUpyem5SZEVnNnlHSndGSUVPK2M1VnNzclA2a28rQnpGRWY3SGgw?= =?utf-8?B?VVEyb1FIcHVZZ1ZwM2NuSmtYSEMwTEUvZGFnOXlIZWFQOUhRNkpBUWFNZVI2?= =?utf-8?B?d3VkMUZpWHYvY3A3R0ZEN3IzUVNvb2ZhYWFpUFZ1QzVNdkowUWxVYWY0cjdV?= =?utf-8?B?bnhxZFVvRUtYalczOHVlNkhNVUZZY3lnMXpmZnd2OUtsT0NyUlBja1dpOGI4?= =?utf-8?B?cGIrSmVEOE5aL1p2UVBzc0FSWmZlRC8vYmFRdnhFQlVCM2d1angrUUpnSjdU?= =?utf-8?B?Z3FDTVI4NkxRaWZTOHNzdHVCSFg1RDFac2Zpb1dad1VhLytyR3dUT3A0eWt0?= =?utf-8?B?ODNLMUtJSnRTdUJXY0EraU1lY05sMnl1SDZWcFZ6amhQRFNiVlQ4Q3haRjB3?= =?utf-8?B?UVc3alNrbThEclJDRzlHYmlQU3BNVTlTNHZUSVZPVnBpcS9hVzFsdnFBaGxD?= =?utf-8?B?M21sVXlRdCt1ZmU5WW9qR1djNVcwckI0UWFFV3pnRWNzdmpJTTJta291WXdo?= =?utf-8?B?YktsY29oZHRnN0hJdU1wMXBTZjZZRFg0VVdEZkNGakd3cU5uenNCUXhiTlNE?= =?utf-8?B?Q3VzMnFNaVRpNzAwRzc3Nno1U2RTTlNWYkowZDlMUjZmMXhxUTJ5OVVsQWI0?= =?utf-8?B?NkVNcjdoZnBGTXo5YmdsN3d2QlhhdGFON0dJR20za0RpdmJJSXkxS0RyUUlD?= =?utf-8?B?V0FjMEx4MHpFZFdvZ3lOMm1OR0dzeWxnMklCQWFCd3F3dWFTdzc4UnJKdTd3?= =?utf-8?B?RXQxUWJPNGh5MFB4Yzh6WVBoa2tkU0hiV3M5SUUyQ1I0cDRGTmhvTGl3ckI3?= =?utf-8?B?KzNzUzkrUnUzZWlncG1vRFpRT3c0dGFJeTZISnlyRFNqVWZOeFFoam9UWGEw?= =?utf-8?B?OEFVbUNqY3dTZ1dzOHB3dFRZS3BRcUpzQWZWNElkNU9IaFpjVlZod2tSalJC?= =?utf-8?B?SEY4b2VtVXVwVWQ4M1BHenJWSlhsK0l0SitXcHNPZmdDK0w4V1ZsWURqSkh1?= =?utf-8?B?NTBzQVYyN2pDWDVEMGJ4SmxjZC9iK3NvUXJRcFhER3BRMlRDNW1wSG5wK1pJ?= =?utf-8?B?ZXh4UmNOK0R6NVd3NXdIc2t3Q1RkV0ZGYkhHZ1lvY2NmOEw3WFpzU1lnbU1w?= =?utf-8?B?Q3RxZ2xJL1RldktIaTZkVXVCd1IvNExlM1hVbXJaVkJDMTdYdFRRblhQeVpt?= =?utf-8?B?ekNEQjhIREowV1N5ZG1VTzl6d2c4KzgzbXN2NllGNWxwMnBzQnJrOHovUDlT?= =?utf-8?B?eW9rL3BkYU9uekRaWFJNQnRTSlNaNUUyNWYxWDMrc2hCakYzeTBxQ3g4VGJv?= =?utf-8?B?ZThjcjVFcm1pR1hFT2RuN3VaSGtxYm91VWpqYitrcTk4NnBpVXpuaHFXTDFx?= =?utf-8?B?SkViMTkrMGpnL3JWc3hYWUJHN0FzMHpzZ0xjY0FhRzZmVFgzNDBJakZIbXcx?= =?utf-8?B?TFdUWkZOQzNqaTdnNmRGTS85WXlVT05FdUwzKytNRTVxbzloMDQ3d0M0YU52?= =?utf-8?B?RWM0MXhRZUpoZGhIOEYzQ2x0M2RScWtMeEYycmd4NHJiVE9HMlFsM0l4bUN1?= =?utf-8?B?VjBxQUkrekgxRkgza253RU55OUMwdnc0Snh3SVpjZXJLQm5WTS9hWkdCYklN?= =?utf-8?B?ck8wNS9EOGptakN1UExlQ1RvSDV2Vm1KMUZjUmZZSk01RmdNcUtQcytIZEdy?= =?utf-8?B?QW5lNzlRZTk2WTJDOGVhMlNOYVRLMXpzcms0WVoxVDVKQjZ3ZWJCd085aTJt?= =?utf-8?B?c3ZreW8zSm9vMnMvTXkyQ0o0Y2tVQllMRnBOV2dPM2tMbEZMSmN4OFdZQmUr?= =?utf-8?B?bEpUbXFaMHpQTVFCVjVDdz09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b978e25f-6e5d-4885-6414-08dda2abaa24 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jun 2025 14:33:53.9880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2P250MB1023 Subject: Re: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use zlib directly instead of gzip 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit softworkz .: > > >> -----Original Message----- >> From: ffmpeg-devel On Behalf Of Andreas >> Rheinhardt >> Sent: Montag, 2. Juni 2025 04:39 >> To: FFmpeg development discussions and patches >> Subject: [FFmpeg-devel] [PATCH WIP 01/10] ffbuild/bin2c: Use zlib directly >> instead of gzip >> >> This is a WIP patchset to further improve the resource manager. The >> configure bits are the one that need more work: How do we detect zlib >> (and the required library to link to) on the host system? >> > > Hi, > > I ran CI builds for the whole Patchset > https://github.com/ffstaging/FFmpeg/pull/91 > > > Mac build fails (all others are fine) > https://dev.azure.com/githubsync/ffmpeg/_build/results?buildId=91751&view=logs > > > > Undefined symbols for architecture x86_64: > Undefined symbols for architecture x86_64: > "_ff_vf_yadif_videotoolbox_metallib_len", referenced from: > _do_init in libavfilter.a[397](vf_yadif_videotoolbox.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation) > make: *** [ffprobe_g] Error 1 > "_ff_vf_yadif_videotoolbox_metallib_len", referenced from: > _do_init in libavfilter.a[397](vf_yadif_videotoolbox.o) > ld: symbol(s) not found for architecture x86_64 > clang: error: linker command failed with exit code 1 (use -v to see invocation) > make: *** [ffplay_g] Error 1 > Thanks for the test. I overlooked that this was also used by metal. Updated version attached and also available at https://github.com/mkver/FFmpeg/tree/bin2c. Btw: The non-bin2c patches are actually logically independent from the bin2c patches and don't need to wait for them (there will be rebase conflicts when changing the order, but fixing them would be on me). The metal bits are untested, but should work. I have not worked on the configure bits. - Andreas --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-ffbuild-bin2c-Use-zlib-directly-instead-of-gzip.patch" Content-Disposition: attachment; filename*0="v2-0001-ffbuild-bin2c-Use-zlib-directly-instead-of-gzip.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSBiOGNmZTJkYmVjZTljOTRiMjc3ZGQzMGMyMTJlZjZkNjc1OTljMWZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogU3VuLCAxIEp1biAyMDI1IDIyOjM4OjI4ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDEvMTBdIGZmYnVpbGQvYmluMmM6IFVzZSB6bGliIGRpcmVjdGx5 IGluc3RlYWQgb2YgZ3ppcAoKUGVyZm9ybSB6bGliIGNvbXByZXNzaW9uIGRpcmVjdGx5IGluIGJp bjJjLmMgaW5zdGVhZCBvZgp1c2luZyBnemlwIGZvciBjb21wcmVzc2lvbiwgZm9sbG93ZWQgYnkg YmluMmMgdG8KcHV0IHRoZSBmaWxlIGluIHRoZSBiaW5hcnkuIFRoaXMgaGFzIHRoZSBhZHZhbnRh Z2Ugb2YKYXZvaWRpbmcgaW50ZXJtZWRpYXRlIGZpbGVzIGFuZCBhbHNvIHNhdmVzIGEgZmV3IGJ5 dGVzCih0aGUgZ3ppcCBoZWFkZXIgaXMgbG9uZ2VyIHRoYW4gdGhlIHpsaWIgaGVhZGVyKS4KSXQg YWxzbyBhdm9pZHMgdGhlIGh5cG90aGV0aWNhbCBwcm9ibGVtIG9mIHRoZSBidWlsZCBzeXN0ZW0K c3VwcG9ydGluZyBnemlwIHdpdGggdGhlIHpsaWIgdmVyc2lvbiB1c2VkIGF0IHJ1bnRpbWUKbm90 IHN1cHBvcnRpbmcgZ3ppcC4KCkJ1dCB0aGUgcmVhbCBhZHZhbnRhZ2VzIHdpbGwgYmVjb21lIGFw cGFyZW50IGluIGZ1dHVyZSBjb21taXRzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBSaGVpbmhh cmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+Ci0tLQogLmdpdGlnbm9yZSAgICAg ICAgICAgICAgICAgICAgIHwgICAxIC0KIGZmYnVpbGQvYmluMmMuYyAgICAgICAgICAgICAgICB8 IDE1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIGZmYnVpbGQvY29tbW9uLm1h ayAgICAgICAgICAgICB8ICA0NCArKy0tLS0tLS0tCiBmZnRvb2xzL3Jlc291cmNlcy8uZ2l0aWdu b3JlICAgfCAgIDMgLQogZmZ0b29scy9yZXNvdXJjZXMvTWFrZWZpbGUgICAgIHwgICAyICstCiBm ZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYyAgICAgfCAgIDYgKy0KIGxpYmF2ZmlsdGVyL2N1ZGEv bG9hZF9oZWxwZXIuYyB8ICAgMiArLQogNyBmaWxlcyBjaGFuZ2VkLCAxNTEgaW5zZXJ0aW9ucygr KSwgNjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggNTljODlkYTVlMC4uOTAxYjQ3ZTc2YiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysg Yi8uZ2l0aWdub3JlCkBAIC0yNSw3ICsyNSw2IEBACiAqLm1ldGFsbGliLmMKICoucHR4CiAqLnB0 eC5jCi0qLnB0eC5negogKl9nCiBcIyoKIC5cIyoKZGlmZiAtLWdpdCBhL2ZmYnVpbGQvYmluMmMu YyBiL2ZmYnVpbGQvYmluMmMuYwppbmRleCA5MWYyZDgxZTViLi4yMWJkNWVjYjc1IDEwMDY0NAot LS0gYS9mZmJ1aWxkL2JpbjJjLmMKKysrIGIvZmZidWlsZC9iaW4yYy5jCkBAIC0yMCw0OCArMjAs MTc0IEBACiAgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiAgKi8KIAorI2luY2x1ZGUgImNv bmZpZy5oIgorCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5j bHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+ CiAjaW5jbHVkZSA8c3RkaW8uaD4KIAorI2luY2x1ZGUgImxpYmF2dXRpbC9hdHRyaWJ1dGVzLmgi CisjaW5jbHVkZSAibGliYXZ1dGlsL21hY3Jvcy5oIgorCisjaWYgQ09ORklHX1BUWF9DT01QUkVT U0lPTiB8fCBDT05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJT04KKyNpbmNsdWRlIDx6bGliLmg+CisK KyNkZWZpbmUgTUFYX0JVRl9TSVpFIFVJTlQzMl9NQVgKKworc3RhdGljIGludCByZWFkX2ZpbGVf YW5kX2NvbXByZXNzKHVuc2lnbmVkIGNoYXIgKipjb21wcmVzc2VkX2RhdGFwLCB1aW50MzJfdCAq Y29tcHJlc3NlZF9zaXplcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxF ICppbnB1dCkKK3sKKyAgICB6X3N0cmVhbSB6c3RyZWFtID0geyAwIH07CisgICAgaW50IHJldCwg enJldCA9IGRlZmxhdGVJbml0KCZ6c3RyZWFtLCA5KTsKKworICAgIGlmICh6cmV0ICE9IFpfT0sp CisgICAgICAgIHJldHVybiAtMTsKKworICAgIHVpbnQzMl90IGJ1ZmZlcl9zaXplID0gMCwgY29t cHJlc3NlZF9zaXplID0gMDsKKyAgICB1bnNpZ25lZCBjaGFyICpjb21wcmVzc2VkX2RhdGEgPSBO VUxMOworICAgIGludCBmbHVzaCA9IFpfTk9fRkxVU0g7CisKKyAgICBkbyB7CisgICAgICAgIHVu c2lnbmVkIGNoYXIgdG1wWzQwOTZdOworICAgICAgICBzaXplX3QgcmVhZCA9IGZyZWFkKHRtcCwg MSwgc2l6ZW9mKHRtcCksIGlucHV0KTsKKyAgICAgICAgaWYgKHJlYWQgPCBzaXplb2YodG1wKSkK KyAgICAgICAgICAgIGZsdXNoID0gWl9GSU5JU0g7CisKKyAgICAgICAgenN0cmVhbS5uZXh0X2lu ICA9IHRtcDsKKyAgICAgICAgenN0cmVhbS5hdmFpbF9pbiA9IHJlYWQ7CisKKyAgICAgICAgZG8g eworICAgICAgICAgICAgaWYgKGNvbXByZXNzZWRfc2l6ZSA+PSBidWZmZXJfc2l6ZSkgeworICAg ICAgICAgICAgICAgIGlmIChidWZmZXJfc2l6ZSA9PSBNQVhfQlVGX1NJWkUpIHsKKyAgICAgICAg ICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBidWZmZXJfc2l6ZSA9IGJ1ZmZlcl9z aXplID8gRkZNSU4oY29tcHJlc3NlZF9zaXplICogMmxsLCBNQVhfQlVGX1NJWkUpIDogNDA5NjsK KyAgICAgICAgICAgICAgICB2b2lkICp0bXBfcHRyID0gcmVhbGxvYyhjb21wcmVzc2VkX2RhdGEs IGJ1ZmZlcl9zaXplKTsKKyAgICAgICAgICAgICAgICBpZiAoIXRtcF9wdHIpIHsKKyAgICAgICAg ICAgICAgICAgICAgcmV0ID0gLTE7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY29tcHJlc3NlZF9kYXRhID0gdG1wX3B0 cjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgenN0cmVhbS5uZXh0X291dCAgPSBjb21w cmVzc2VkX2RhdGEgKyBjb21wcmVzc2VkX3NpemU7CisgICAgICAgICAgICB6c3RyZWFtLmF2YWls X291dCA9IGJ1ZmZlcl9zaXplIC0gY29tcHJlc3NlZF9zaXplOworCisgICAgICAgICAgICB6cmV0 ID0gZGVmbGF0ZSgmenN0cmVhbSwgZmx1c2gpOworICAgICAgICAgICAgY29tcHJlc3NlZF9zaXpl ID0gYnVmZmVyX3NpemUgLSB6c3RyZWFtLmF2YWlsX291dDsKKyAgICAgICAgICAgIGlmICh6cmV0 ID09IFpfU1RSRUFNX0VORCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlm ICh6cmV0ICE9IFpfT0spIHsKKyAgICAgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAg ICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKHpzdHJlYW0u YXZhaWxfaW4gPiAwIHx8IHpzdHJlYW0uYXZhaWxfb3V0ID09IDApOworICAgIH0gd2hpbGUgKGZs dXNoICE9IFpfRklOSVNIKTsKKworICAgIGRlZmxhdGVFbmQoJnpzdHJlYW0pOworICAgICpjb21w cmVzc2VkX2RhdGFwID0gY29tcHJlc3NlZF9kYXRhOworICAgICpjb21wcmVzc2VkX3NpemVwID0g Y29tcHJlc3NlZF9zaXplOworCisgICAgcmV0dXJuIDA7CitmYWlsOgorICAgIGZyZWUoY29tcHJl c3NlZF9kYXRhKTsKKyAgICBkZWZsYXRlRW5kKCZ6c3RyZWFtKTsKKworICAgIHJldHVybiByZXQ7 Cit9CisKK3N0YXRpYyBpbnQgaGFuZGxlX2NvbXByZXNzZWRfZmlsZShGSUxFICppbnB1dCwgRklM RSAqb3V0cHV0LCB1bnNpZ25lZCAqY29tcHJlc3NlZF9zaXplcCkKK3sKKyAgICB1bnNpZ25lZCBj aGFyICpjb21wcmVzc2VkX2RhdGE7CisgICAgdWludDMyX3QgY29tcHJlc3NlZF9zaXplOworCisg ICAgaW50IGVyciA9IHJlYWRfZmlsZV9hbmRfY29tcHJlc3MoJmNvbXByZXNzZWRfZGF0YSwgJmNv bXByZXNzZWRfc2l6ZSwgaW5wdXQpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBlcnI7 CisKKyAgICAqY29tcHJlc3NlZF9zaXplcCA9IGNvbXByZXNzZWRfc2l6ZTsKKworICAgIGZvciAo dW5zaWduZWQgaSA9IDA7IGkgPCBjb21wcmVzc2VkX3NpemU7ICsraSkKKyAgICAgICAgZnByaW50 ZihvdXRwdXQsICIweCUwMngsICIsIGNvbXByZXNzZWRfZGF0YVtpXSk7CisKKyAgICBmcmVlKGNv bXByZXNzZWRfZGF0YSk7CisKKyAgICByZXR1cm4gMDsKK30KKyNlbmRpZgorCiBpbnQgbWFpbihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCiB7CiAgICAgY29uc3QgY2hhciAqbmFtZTsKICAgICBGSUxF ICppbnB1dCwgKm91dHB1dDsKICAgICB1bnNpZ25lZCBpbnQgbGVuZ3RoID0gMDsKICAgICB1bnNp Z25lZCBjaGFyIGRhdGE7CisgICAgYXZfdW51c2VkIGludCBjb21wcmVzc2lvbiA9IDA7CisgICAg aW50IGFyZ19pZHggPSAxOwogCi0gICAgaWYgKGFyZ2MgPCAzIHx8IGFyZ2MgPiA0KQorICAgIGlm IChhcmdjIDwgMykKICAgICAgICAgcmV0dXJuIDE7CiAKLSAgICBpbnB1dCA9IGZvcGVuKGFyZ3Zb MV0sICJyYiIpOworICAgIGlmICghc3RyY21wKGFyZ3ZbYXJnX2lkeF0sICItLWNvbXByZXNzIikp IHsKKyNpZiAhQ09ORklHX1BUWF9DT01QUkVTU0lPTiAmJiAhQ09ORklHX1JFU09VUkNFX0NPTVBS RVNTSU9OCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ29tcHJlc3Npb24gdW5zdXBwb3J0ZWQg aW4gdGhpcyBjb25maWd1cmF0aW9uLiAiCisgICAgICAgICAgICAgICAgICAgICAgICAiVGhpcyBp cyBhIGJ1Zy4gUGxlYXNlIHJlcG9ydCBpdC5cbiIpOworICAgICAgICByZXR1cm4gLTE7CisjZW5k aWYKKyAgICAgICAgY29tcHJlc3Npb24gPSAxOworICAgICAgICArK2FyZ19pZHg7CisgICAgfQor CisgICAgaWYgKGFyZ2MgLSBhcmdfaWR4IDwgMiB8fCBhcmdjIC0gYXJnX2lkeCA+IDMpCisgICAg ICAgIHJldHVybiAxOworCisgICAgY2hhciAqaW5wdXRfbmFtZSA9IGFyZ3ZbYXJnX2lkeCsrXTsK KyAgICBpbnB1dCA9IGZvcGVuKGlucHV0X25hbWUsICJyYiIpOwogICAgIGlmICghaW5wdXQpCiAg ICAgICAgIHJldHVybiAtMTsKIAotICAgIG91dHB1dCA9IGZvcGVuKGFyZ3ZbMl0sICJ3YiIpOwor ICAgIG91dHB1dCA9IGZvcGVuKGFyZ3ZbYXJnX2lkeCsrXSwgIndiIik7CiAgICAgaWYgKCFvdXRw dXQpIHsKICAgICAgICAgZmNsb3NlKGlucHV0KTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0K IAotICAgIGlmIChhcmdjID09IDQpIHsKLSAgICAgICAgbmFtZSA9IGFyZ3ZbM107CisgICAgaWYg KGFyZ19pZHggPCBhcmdjKSB7CisgICAgICAgIG5hbWUgPSBhcmd2W2FyZ19pZHgrK107CiAgICAg fSBlbHNlIHsKLSAgICAgICAgc2l6ZV90IGFyZ2xlbiA9IHN0cmxlbihhcmd2WzFdKTsKLSAgICAg ICAgbmFtZSA9IGFyZ3ZbMV07CisgICAgICAgIHNpemVfdCBhcmdsZW4gPSBzdHJsZW4oaW5wdXRf bmFtZSk7CisgICAgICAgIG5hbWUgPSBpbnB1dF9uYW1lOwogCiAgICAgICAgIGZvciAoaW50IGkg PSAwOyBpIDwgYXJnbGVuOyBpKyspIHsKLSAgICAgICAgICAgIGlmIChhcmd2WzFdW2ldID09ICcu JykKLSAgICAgICAgICAgICAgICBhcmd2WzFdW2ldID0gJ18nOwotICAgICAgICAgICAgZWxzZSBp ZiAoYXJndlsxXVtpXSA9PSAnLycpCi0gICAgICAgICAgICAgICAgbmFtZSA9ICZhcmd2WzFdW2kr MV07CisgICAgICAgICAgICBpZiAoaW5wdXRfbmFtZVtpXSA9PSAnLicpCisgICAgICAgICAgICAg ICAgaW5wdXRfbmFtZVtpXSA9ICdfJzsKKyAgICAgICAgICAgIGVsc2UgaWYgKGlucHV0X25hbWVb aV0gPT0gJy8nKQorICAgICAgICAgICAgICAgIG5hbWUgPSAmaW5wdXRfbmFtZVtpKzFdOwogICAg ICAgICB9CiAgICAgfQogCiAgICAgZnByaW50ZihvdXRwdXQsICJjb25zdCB1bnNpZ25lZCBjaGFy IGZmXyVzX2RhdGFbXSA9IHsgIiwgbmFtZSk7CiAKLSAgICB3aGlsZSAoZnJlYWQoJmRhdGEsIDEs IDEsIGlucHV0KSA+IDApIHsKLSAgICAgICAgZnByaW50ZihvdXRwdXQsICIweCUwMngsICIsIGRh dGEpOwotICAgICAgICBsZW5ndGgrKzsKKyNpZiBDT05GSUdfUFRYX0NPTVBSRVNTSU9OIHx8IENP TkZJR19SRVNPVVJDRV9DT01QUkVTU0lPTgorICAgIGlmIChjb21wcmVzc2lvbikgeworICAgICAg ICBpbnQgZXJyID0gaGFuZGxlX2NvbXByZXNzZWRfZmlsZShpbnB1dCwgb3V0cHV0LCAmbGVuZ3Ro KTsKKyAgICAgICAgaWYgKGVycikgeworICAgICAgICAgICAgZmNsb3NlKGlucHV0KTsKKyAgICAg ICAgICAgIGZjbG9zZShvdXRwdXQpOworICAgICAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAg fQorICAgIH0gZWxzZQorI2VuZGlmCisgICAgeworICAgICAgICB3aGlsZSAoZnJlYWQoJmRhdGEs IDEsIDEsIGlucHV0KSA+IDApIHsKKyAgICAgICAgICAgIGZwcmludGYob3V0cHV0LCAiMHglMDJ4 LCAiLCBkYXRhKTsKKyAgICAgICAgICAgIGxlbmd0aCsrOworICAgICAgICB9CiAgICAgfQogCiAg ICAgZnByaW50ZihvdXRwdXQsICIweDAwIH07XG4iKTsKZGlmZiAtLWdpdCBhL2ZmYnVpbGQvY29t bW9uLm1hayBiL2ZmYnVpbGQvY29tbW9uLm1hawppbmRleCBkZGY0ODkyM2VhLi5iODMwZjk4NjJi IDEwMDY0NAotLS0gYS9mZmJ1aWxkL2NvbW1vbi5tYWsKKysrIGIvZmZidWlsZC9jb21tb24ubWFr CkBAIC0xMTMsNyArMTEzLDcgQEAgQ09NUElMRV9MQVNYID0gJChjYWxsIENPTVBJTEUsQ0MsTEFT WEZMQUdTKQogCSQoUSllY2hvICcjaW5jbHVkZSAiJCouaCInID4kQAogCiAkKEJJTjJDRVhFKTog ZmZidWlsZC9iaW4yY19ob3N0Lm8KLQkkKEhPU1RMRCkgJChIT1NUTERGTEFHUykgJChIT1NUTERf TykgJF4gJChIT1NURVhUUkFMSUJTKQorCSQoSE9TVExEKSAkKEhPU1RMREZMQUdTKSAkKEhPU1RM RF9PKSAkXiAkKEhPU1RFWFRSQUxJQlMpICQoaWYgJChDT05GSUdfUFRYX0NPTVBSRVNTSU9OKSQo Q09ORklHX1JFU09VUkNFX0NPTVBSRVNTSU9OKSwtbHopCiAKICUubWV0YWwuYWlyOiAlLm1ldGFs CiAJJChNRVRBTENDKSAkPCAtbyAkQApAQCAtMTI3LDE3ICsxMjcsOCBAQCAkKEJJTjJDRVhFKTog ZmZidWlsZC9iaW4yY19ob3N0Lm8KICUucHR4OiAlLmN1ICQoU1JDX1BBVEgpL2NvbXBhdC9jdWRh L2N1ZGFfcnVudGltZS5oCiAJJChDT01QSUxFX05WQ0MpCiAKLWlmZGVmIENPTkZJR19QVFhfQ09N UFJFU1NJT04KLSUucHR4Lmd6OiBUQUcgPSBHWklQCi0lLnB0eC5nejogJS5wdHgKLQkkKE0pZ3pp cCAtbmM5ICQocGF0c3Vic3QgJChTUkNfUEFUSCkvJSwkKFNSQ19MSU5LKS8lLCQ8KSA+JEAKLQot JS5wdHguYzogJS5wdHguZ3ogJChCSU4yQ0VYRSkKLQkkKEJJTjJDKSAkKHBhdHN1YnN0ICQoU1JD X1BBVEgpLyUsJChTUkNfTElOSykvJSwkPCkgJEAgJChzdWJzdCAuLF8sJChiYXNlbmFtZSAkKG5v dGRpciAkQCkpKQotZWxzZQogJS5wdHguYzogJS5wdHggJChCSU4yQ0VYRSkKLQkkKEJJTjJDKSAk KHBhdHN1YnN0ICQoU1JDX1BBVEgpLyUsJChTUkNfTElOSykvJSwkPCkgJEAgJChzdWJzdCAuLF8s JChiYXNlbmFtZSAkKG5vdGRpciAkQCkpKQotZW5kaWYKKwkkKEJJTjJDKSAkKGlmICQoQ09ORklH X1BUWF9DT01QUkVTU0lPTiksLS1jb21wcmVzcykgJChwYXRzdWJzdCAkKFNSQ19QQVRIKS8lLCQo U1JDX0xJTkspLyUsJDwpICRAICQoc3Vic3QgLixfLCQoYmFzZW5hbWUgJChub3RkaXIgJEApKSkK IAogIyAxKSBQcmVwcm9jZXNzIENTUyB0byBhIG1pbmlmaWVkIHZlcnNpb24KICUuY3NzLm1pbjog VEFHID0gU0VECkBAIC0xNDgsMzYgKzEzOSwxMyBAQCBlbmRpZgogCXwgc2VkICdzL14gLy87IHMv ICQkLy8nIFwKIAk+ICRACiAKLWlmZGVmIENPTkZJR19SRVNPVVJDRV9DT01QUkVTU0lPTgotCi0j IDIpIEd6aXAgdGhlIG1pbmlmaWVkIENTUwotJS5jc3MubWluLmd6OiBUQUcgPSBHWklQCi0lLmNz cy5taW4uZ3o6ICUuY3NzLm1pbgotCSQoTSlnemlwIC1uYzkgJDwgPiAkQAotCi0jIDMpIENvbnZl cnQgdGhlIGd6aXBwZWQgQ1NTIHRvIGEgLmMgYXJyYXkKLSUuY3NzLmM6ICUuY3NzLm1pbi5neiAk KEJJTjJDRVhFKQotCSQoQklOMkMpICQ8ICRAICQoc3Vic3QgLixfLCQoYmFzZW5hbWUgJChub3Rk aXIgJEApKSkKLQotIyA0KSBHemlwIHRoZSBIVE1MIGZpbGUgKG5vIG1pbmlmaWNhdGlvbiBuZWVk ZWQpCi0lLmh0bWwuZ3o6IFRBRyA9IEdaSVAKLSUuaHRtbC5nejogJS5odG1sCi0JJChNKWd6aXAg LW5jOSAkPCA+ICRACi0KLSMgNSkgQ29udmVydCB0aGUgZ3ppcHBlZCBIVE1MIHRvIGEgLmMgYXJy YXkKLSUuaHRtbC5jOiAlLmh0bWwuZ3ogJChCSU4yQ0VYRSkKLQkkKEJJTjJDKSAkPCAkQCAkKHN1 YnN0IC4sXywkKGJhc2VuYW1lICQobm90ZGlyICRAKSkpCi0KLWVsc2UgICAjIE5PIENPTVBSRVNT SU9OCi0KICMgMikgQ29udmVydCB0aGUgbWluaWZpZWQgQ1NTIHRvIGEgLmMgYXJyYXkKICUuY3Nz LmM6ICUuY3NzLm1pbiAkKEJJTjJDRVhFKQotCSQoQklOMkMpICQ8ICRAICQoc3Vic3QgLixfLCQo YmFzZW5hbWUgJChub3RkaXIgJEApKSkKKwkkKEJJTjJDKSAkKGlmICQoQ09ORklHX1JFU09VUkNF X0NPTVBSRVNTSU9OKSwtLWNvbXByZXNzKSAkPCAkQCAkKHN1YnN0IC4sXywkKGJhc2VuYW1lICQo bm90ZGlyICRAKSkpCiAKICMgMykgQ29udmVydCB0aGUgcGxhaW4gSFRNTCB0byBhIC5jIGFycmF5 CiAlLmh0bWwuYzogJS5odG1sICQoQklOMkNFWEUpCi0JJChCSU4yQykgJDwgJEAgJChzdWJzdCAu LF8sJChiYXNlbmFtZSAkKG5vdGRpciAkQCkpKQotZW5kaWYKKwkkKEJJTjJDKSAkKGlmICQoQ09O RklHX1JFU09VUkNFX0NPTVBSRVNTSU9OKSwtLWNvbXByZXNzKSAkPCAkQCAkKHN1YnN0IC4sXywk KGJhc2VuYW1lICQobm90ZGlyICRAKSkpCiAKIGNsZWFuOjoKIAkkKFJNKSAkKEJJTjJDRVhFKSAk KENMRUFOU1VGRklYRVM6JT1mZmJ1aWxkLyUpCkBAIC0yMzIsNyArMjAwLDcgQEAgUFRYT0JKUyAg ICAgID0gJChmaWx0ZXIgJS5wdHgubywkKE9CSlMpKQogUkVTT1VSQ0VPQkpTID0gJChmaWx0ZXIg JS5jc3MubyAlLmh0bWwubywkKE9CSlMpKQogJChIT0JKUyk6ICAgICBDQ0ZMQUdTICs9ICQoQ0ZM QUdTX0hFQURFUlMpCiBjaGVja2hlYWRlcnM6ICQoSE9CSlMpCi0uU0VDT05EQVJZOiAgICQoSE9C SlM6Lm89LmMpICQoUFRYT0JKUzoubz0uYykgJChQVFhPQkpTOi5vPS5neikgJChQVFhPQkpTOi5v PSkgJChSRVNPVVJDRU9CSlM6Lm89LmMpICQoUkVTT1VSQ0VPQkpTOiUuY3NzLm89JS5jc3MubWlu KSAkKFJFU09VUkNFT0JKUzolLmNzcy5vPSUuY3NzLm1pbi5neikgJChSRVNPVVJDRU9CSlM6JS5o dG1sLm89JS5odG1sLmd6KSAkKFJFU09VUkNFT0JKUzoubz0pCisuU0VDT05EQVJZOiAgICQoSE9C SlM6Lm89LmMpICQoUFRYT0JKUzoubz0uYykgJChQVFhPQkpTOi5vPSkgJChSRVNPVVJDRU9CSlM6 Lm89LmMpICQoUkVTT1VSQ0VPQkpTOiUuY3NzLm89JS5jc3MubWluKSAkKFJFU09VUkNFT0JKUzou bz0pCiAKIGFsbHRvb2xzOiAkKFRPT0xTKQogCkBAIC0yNTIsNyArMjIwLDcgQEAgJChUT09MT0JK Uyk6IHwgdG9vbHMKIAogT1VURElSUyA6PSAkKE9VVERJUlMpICQoZGlyICQoT0JKUykgJChIT0JK UykgJChIT1NUT0JKUykgJChTSExJQk9CSlMpICQoU1RMSUJPQkpTKSAkKFRFU1RPQkpTKSkKIAot Q0xFQU5TVUZGSVhFUyAgICAgPSAqLmQgKi5nY2RhICouZ2NubyAqLmguYyAqLmhvICoubWFwICou byAqLm9ianMgKi5wYyAqLnB0eCAqLnB0eC5neiAqLnB0eC5jICoudmVyICoudmVyc2lvbiAqLmh0 bWwuZ3ogKi5odG1sLmMgKi5jc3MuZ3ogKi5jc3MuYyAgKiQoREVGQVVMVF9YODZBU01EKS5hc20g Kn4gKi5pbGsgKi5wZGIKK0NMRUFOU1VGRklYRVMgICAgID0gKi5kICouZ2NkYSAqLmdjbm8gKi5o LmMgKi5obyAqLm1hcCAqLm8gKi5vYmpzICoucGMgKi5wdHggKi5wdHguYyAqLnZlciAqLnZlcnNp b24gKi5odG1sLmMgKi5jc3MuYyAgKiQoREVGQVVMVF9YODZBU01EKS5hc20gKn4gKi5pbGsgKi5w ZGIKIExJQlNVRkZJWEVTICAgICAgID0gKi5hICoubGliICouc28gKi5zby4qICouZHlsaWIgKi5k bGwgKi5kZWYgKi5kbGwuYQogCiBkZWZpbmUgUlVMRVMKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvcmVz b3VyY2VzLy5naXRpZ25vcmUgYi9mZnRvb2xzL3Jlc291cmNlcy8uZ2l0aWdub3JlCmluZGV4IGJk YTJjNTlhMWMuLjY1ZmViZGYxM2IgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvcmVzb3VyY2VzLy5naXRp Z25vcmUKKysrIGIvZmZ0b29scy9yZXNvdXJjZXMvLmdpdGlnbm9yZQpAQCAtMSw2ICsxLDMgQEAK ICouaHRtbC5jCiAqLmNzcy5jCi0qLmh0bWwuZ3oKLSouY3NzLmd6CiAqLm1pbgotKi5taW4uZ3oK ZGlmZiAtLWdpdCBhL2ZmdG9vbHMvcmVzb3VyY2VzL01ha2VmaWxlIGIvZmZ0b29scy9yZXNvdXJj ZXMvTWFrZWZpbGUKaW5kZXggODU3OWE1MjY3OC4uYWViNjMxZjIwNiAxMDA2NDQKLS0tIGEvZmZ0 b29scy9yZXNvdXJjZXMvTWFrZWZpbGUKKysrIGIvZmZ0b29scy9yZXNvdXJjZXMvTWFrZWZpbGUK QEAgLTUsNyArNSw3IEBAIHZwYXRoICUuaHRtbCAkKFNSQ19QQVRIKQogdnBhdGggJS5jc3MgICQo U1JDX1BBVEgpCiAKICMgVW5jb21tZW50IHRvIHByZXZlbnQgZGVsZXRpb24gZHVyaW5nIGJ1aWxk Ci0jLlBSRUNJT1VTOiAlLmNzcy5jICUuY3NzLm1pbiAlLmNzcy5neiAlLmNzcy5taW4uZ3ogJS5o dG1sLmd6ICUuaHRtbC5jCisjLlBSRUNJT1VTOiAlLmNzcy5jICUuY3NzLm1pbiAlLmh0bWwuYwog CiBPQkpTLXJlc21hbiArPSAgICAgICAgICAgICAgICAgICAgIFwKICAgICBmZnRvb2xzL3Jlc291 cmNlcy9yZXNtYW4ubyAgICAgXApkaWZmIC0tZ2l0IGEvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFu LmMgYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYwppbmRleCBhYTUzZTk2YmY0Li5mZGY3M2Mz NmQ1IDEwMDY0NAotLS0gYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYworKysgYi9mZnRvb2xz L3Jlc291cmNlcy9yZXNtYW4uYwpAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgUmVzb3VyY2VNYW5h Z2VyQ29udGV4dCByZXNtYW5fY3R4ID0geyAuY2xhc3MgPSAmcmVzbWFuX2NsYXNzIH07CiAKICNp ZiBDT05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJT04KIAotc3RhdGljIGludCBkZWNvbXByZXNzX2d6 aXAoUmVzb3VyY2VNYW5hZ2VyQ29udGV4dCAqY3R4LCB1aW50OF90ICppbiwgdW5zaWduZWQgaW5f bGVuLCBjaGFyICoqb3V0LCBzaXplX3QgKm91dF9sZW4pCitzdGF0aWMgaW50IGRlY29tcHJlc3Nf emxpYihSZXNvdXJjZU1hbmFnZXJDb250ZXh0ICpjdHgsIHVpbnQ4X3QgKmluLCB1bnNpZ25lZCBp bl9sZW4sIGNoYXIgKipvdXQsIHNpemVfdCAqb3V0X2xlbikKIHsKICAgICB6X3N0cmVhbSBzdHJt OwogICAgIHVuc2lnbmVkIGNodW5rID0gNjU1MzQ7CkBAIC04Myw3ICs4Myw3IEBAIHN0YXRpYyBp bnQgZGVjb21wcmVzc19nemlwKFJlc291cmNlTWFuYWdlckNvbnRleHQgKmN0eCwgdWludDhfdCAq aW4sIHVuc2lnbmVkIGluCiAgICAgfQogCiAgICAgLy8gMTUgKyAxNiB0ZWxscyB6bGliIHRvIGRl dGVjdCBHWklQIG9yIHpsaWIgYXV0b21hdGljYWxseQotICAgIHJldCA9IGluZmxhdGVJbml0Migm c3RybSwgMTUgKyAxNik7CisgICAgcmV0ID0gaW5mbGF0ZUluaXQoJnN0cm0pOwogICAgIGlmIChy ZXQgIT0gWl9PSykgewogICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJFcnJvciBk dXJpbmcgemxpYiBpbml0aWFsaXphdGlvbjogJXNcbiIsIHN0cm0ubXNnKTsKICAgICAgICAgYXZf ZnJlZShidWYpOwpAQCAtMTU2LDcgKzE1Niw3IEBAIGNoYXIgKmZmX3Jlc21hbl9nZXRfc3RyaW5n KEZGUmVzb3VyY2VJZCByZXNvdXJjZV9pZCkKICAgICAgICAgY2hhciAqb3V0ID0gTlVMTDsKICAg ICAgICAgc2l6ZV90IG91dF9sZW47CiAKLSAgICAgICAgaW50IHJldCA9IGRlY29tcHJlc3NfZ3pp cChjdHgsICh1aW50OF90ICopcmVzb3VyY2VfZGVmaW5pdGlvbi5kYXRhLCAqcmVzb3VyY2VfZGVm aW5pdGlvbi5kYXRhX2xlbiwgJm91dCwgJm91dF9sZW4pOworICAgICAgICBpbnQgcmV0ID0gZGVj b21wcmVzc196bGliKGN0eCwgKHVpbnQ4X3QgKilyZXNvdXJjZV9kZWZpbml0aW9uLmRhdGEsICpy ZXNvdXJjZV9kZWZpbml0aW9uLmRhdGFfbGVuLCAmb3V0LCAmb3V0X2xlbik7CiAKICAgICAgICAg aWYgKHJldCkgewogICAgICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiVW5hYmxl IHRvIGRlY29tcHJlc3MgdGhlIHJlc291cmNlIHdpdGggSUQgJWRcbiIsIHJlc291cmNlX2lkKTsK ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9oZWxwZXIuYyBiL2xpYmF2ZmlsdGVy L2N1ZGEvbG9hZF9oZWxwZXIuYwppbmRleCBiMDQ5ZWM3MTMwLi43YzYyNzkzMDc3IDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci9jdWRhL2xvYWRfaGVscGVyLmMKKysrIGIvbGliYXZmaWx0ZXIvY3Vk YS9sb2FkX2hlbHBlci5jCkBAIC00Myw3ICs0Myw3IEBAIGludCBmZl9jdWRhX2xvYWRfbW9kdWxl KHZvaWQgKmF2Y3R4LCBBVkNVREFEZXZpY2VDb250ZXh0ICpod2N0eCwgQ1Vtb2R1bGUgKmN1X21v CiAgICAgdWludDY0X3QgYnVmX3NpemU7CiAgICAgaW50IHJldDsKIAotICAgIGlmIChpbmZsYXRl SW5pdDIoJnN0cmVhbSwgMzIgKyAxNSkgIT0gWl9PSykgeworICAgIGlmIChpbmZsYXRlSW5pdCgm c3RyZWFtKSAhPSBaX09LKSB7CiAgICAgICAgIGF2X2xvZyhhdmN0eCwgQVZfTE9HX0VSUk9SLCAi RXJyb3IgZHVyaW5nIHpsaWIgaW5pdGlhbGlzYXRpb246ICVzXG4iLCBzdHJlYW0ubXNnKTsKICAg ICAgICAgcmV0dXJuIEFWRVJST1IoRU5PU1lTKTsKICAgICB9Ci0tIAoyLjQ1LjIKCg== --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0002-fftools-resources-resman-Don-t-mix-FFmpeg-and-zli.patch" Content-Disposition: attachment; filename*0="v2-0002-fftools-resources-resman-Don-t-mix-FFmpeg-and-zli.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyYWRiMGI3ZWVhZWZkNTBhMmY3YTMwMGIxMThmMzRiYWZlN2JmYTlmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAyOjQ2OjU4ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDIvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogRG9uJ3Qg bWl4IEZGbXBlZyBhbmQKIHpsaWIgZXJyb3JzCgpBbHNvIHJlbW92ZSBzb21lIGFsd2F5cy1mYWxz ZSBjaGVja3MuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhl aW5oYXJkdEBvdXRsb29rLmNvbT4KLS0tCiBmZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYyB8IDQg KystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYyBiL2ZmdG9vbHMvcmVzb3VyY2Vz L3Jlc21hbi5jCmluZGV4IGZkZjczYzM2ZDUuLmY5MTA1MzU3NTAgMTAwNjQ0Ci0tLSBhL2ZmdG9v bHMvcmVzb3VyY2VzL3Jlc21hbi5jCisrKyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCkBA IC0xMDAsNyArMTAwLDcgQEAgc3RhdGljIGludCBkZWNvbXByZXNzX3psaWIoUmVzb3VyY2VNYW5h Z2VyQ29udGV4dCAqY3R4LCB1aW50OF90ICppbiwgdW5zaWduZWQgaW4KICAgICAgICAgYXZfbG9n KGN0eCwgQVZfTE9HX0VSUk9SLCAiSW5mbGF0ZSBmYWlsZWQ6ICVkLCAlc1xuIiwgcmV0LCBzdHJt Lm1zZyk7CiAgICAgICAgIGluZmxhdGVFbmQoJnN0cm0pOwogICAgICAgICBhdl9mcmVlKGJ1Zik7 Ci0gICAgICAgIHJldHVybiAocmV0ID09IFpfU1RSRUFNX0VORCkgPyBaX09LIDogKChyZXQgPT0g Wl9PSykgPyBaX0JVRl9FUlJPUiA6IHJldCk7CisgICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVS TkFMOwogICAgIH0KIAogICAgIGlmIChzdHJtLmF2YWlsX291dCA9PSAwKSB7CkBAIC0xMTMsNyAr MTEzLDcgQEAgc3RhdGljIGludCBkZWNvbXByZXNzX3psaWIoUmVzb3VyY2VNYW5hZ2VyQ29udGV4 dCAqY3R4LCB1aW50OF90ICppbiwgdW5zaWduZWQgaW4KIAogICAgIGluZmxhdGVFbmQoJnN0cm0p OwogICAgICpvdXQgPSAoY2hhciAqKWJ1ZjsKLSAgICByZXR1cm4gWl9PSzsKKyAgICByZXR1cm4g MDsKIH0KICNlbmRpZgogCi0tIAoyLjQ1LjIKCg== --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0003-fftools-resources-resman-Remove-unused-function-p.patch" Content-Disposition: attachment; filename*0="v2-0003-fftools-resources-resman-Remove-unused-function-p.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyNjRjZTk5MDE0NWI5YmI3ZDJjZjgzMWVjZjQ4ODA3MjY0ZGM2YmMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAyOjUzOjI0ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDMvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogUmVtb3Zl IHVudXNlZCBmdW5jdGlvbgogcGFyYW1ldGVyCgpBbHNvIGNvbnN0aWZ5IGluLgoKU2lnbmVkLW9m Zi1ieTogQW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+ Ci0tLQogZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMgfCA4ICsrKy0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZmdG9v bHMvcmVzb3VyY2VzL3Jlc21hbi5jIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKaW5kZXgg ZjkxMDUzNTc1MC4uOTlkMzEyYmFkOCAxMDA2NDQKLS0tIGEvZmZ0b29scy9yZXNvdXJjZXMvcmVz bWFuLmMKKysrIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKQEAgLTY1LDcgKzY1LDcgQEAg c3RhdGljIFJlc291cmNlTWFuYWdlckNvbnRleHQgcmVzbWFuX2N0eCA9IHsgLmNsYXNzID0gJnJl c21hbl9jbGFzcyB9OwogCiAjaWYgQ09ORklHX1JFU09VUkNFX0NPTVBSRVNTSU9OCiAKLXN0YXRp YyBpbnQgZGVjb21wcmVzc196bGliKFJlc291cmNlTWFuYWdlckNvbnRleHQgKmN0eCwgdWludDhf dCAqaW4sIHVuc2lnbmVkIGluX2xlbiwgY2hhciAqKm91dCwgc2l6ZV90ICpvdXRfbGVuKQorc3Rh dGljIGludCBkZWNvbXByZXNzX3psaWIoUmVzb3VyY2VNYW5hZ2VyQ29udGV4dCAqY3R4LCBjb25z dCB1aW50OF90ICppbiwgdW5zaWduZWQgaW5fbGVuLCBjaGFyICoqb3V0KQogewogICAgIHpfc3Ry ZWFtIHN0cm07CiAgICAgdW5zaWduZWQgY2h1bmsgPSA2NTUzNDsKQEAgLTEwOCw4ICsxMDgsNyBA QCBzdGF0aWMgaW50IGRlY29tcHJlc3NfemxpYihSZXNvdXJjZU1hbmFnZXJDb250ZXh0ICpjdHgs IHVpbnQ4X3QgKmluLCB1bnNpZ25lZCBpbgogICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfV0FS TklORywgIkRlY29tcHJlc3Npb24gYnVmZmVyIG1heSBiZSB0b28gc21hbGxcbiIpOwogICAgIH0K IAotICAgICpvdXRfbGVuID0gY2h1bmsgLSBzdHJtLmF2YWlsX291dDsKLSAgICBidWZbKm91dF9s ZW5dID0gMDsgLy8gRW5zdXJlIG51bGwgdGVybWluYXRpb24KKyAgICBidWZbY2h1bmsgLSBzdHJt LmF2YWlsX291dF0gPSAwOyAvLyBFbnN1cmUgbnVsbCB0ZXJtaW5hdGlvbgogCiAgICAgaW5mbGF0 ZUVuZCgmc3RybSk7CiAgICAgKm91dCA9IChjaGFyICopYnVmOwpAQCAtMTU0LDkgKzE1Myw4IEBA IGNoYXIgKmZmX3Jlc21hbl9nZXRfc3RyaW5nKEZGUmVzb3VyY2VJZCByZXNvdXJjZV9pZCkKICNp ZiBDT05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJT04KIAogICAgICAgICBjaGFyICpvdXQgPSBOVUxM OwotICAgICAgICBzaXplX3Qgb3V0X2xlbjsKIAotICAgICAgICBpbnQgcmV0ID0gZGVjb21wcmVz c196bGliKGN0eCwgKHVpbnQ4X3QgKilyZXNvdXJjZV9kZWZpbml0aW9uLmRhdGEsICpyZXNvdXJj ZV9kZWZpbml0aW9uLmRhdGFfbGVuLCAmb3V0LCAmb3V0X2xlbik7CisgICAgICAgIGludCByZXQg PSBkZWNvbXByZXNzX3psaWIoY3R4LCByZXNvdXJjZV9kZWZpbml0aW9uLmRhdGEsICpyZXNvdXJj ZV9kZWZpbml0aW9uLmRhdGFfbGVuLCAmb3V0KTsKIAogICAgICAgICBpZiAocmV0KSB7CiAgICAg ICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJVbmFibGUgdG8gZGVjb21wcmVzcyB0 aGUgcmVzb3VyY2Ugd2l0aCBJRCAlZFxuIiwgcmVzb3VyY2VfaWQpOwotLSAKMi40NS4yCgo= --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0004-ffbuild-bin2c-Avoid-reallocations-when-uncompress.patch" Content-Disposition: attachment; filename*0="v2-0004-ffbuild-bin2c-Avoid-reallocations-when-uncompress.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxZDQ5OTQ0ZDdlMWQ4OWQ4ZTJkMmY4NDcyYjA4YjY5ZmZhMmMxZjI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogU3VuLCAxIEp1biAyMDI1IDIzOjE5OjI5ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDQvMTBdIGZmYnVpbGQvYmluMmM6IEF2b2lkIHJlYWxsb2NhdGlv bnMgd2hlbgogdW5jb21wcmVzc2luZyBjb2RlLHJlc291cmNlcwoKVGhpcyBjYW4gYmUgZWFzaWx5 IGFjaGlldmVkIGJ5IHN0b3JpbmcgdGhlIHVuY29tcHJlc3NlZCBzaXplCnRvZ2V0aGVyIHdpdGgg dGhlIGFjdHVhbCB6bGliIGRhdGEuIEl0IGFsc28gYWxsb3dzIHRvIHVzZQp6bGliJ3MgdW5jb21w cmVzcygpIHV0aWxpdHkgZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIFJoZWluaGFy ZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4KLS0tCiBmZmJ1aWxkL2JpbjJjLmMg ICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysrKystLS0KIGZmdG9vbHMvcmVzb3VyY2VzL3Jl c21hbi5jICAgICB8IDQ0ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYmF2ZmlsdGVyL2N1 ZGEvbG9hZF9oZWxwZXIuYyB8IDYwICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgODcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZmZidWlsZC9iaW4yYy5jIGIvZmZidWlsZC9iaW4yYy5jCmluZGV4IDIxYmQ1ZWNi NzUuLmI0NTgxZjk4NzIgMTAwNjQ0Ci0tLSBhL2ZmYnVpbGQvYmluMmMuYworKysgYi9mZmJ1aWxk L2JpbjJjLmMKQEAgLTM4LDcgKzM4LDcgQEAKICNkZWZpbmUgTUFYX0JVRl9TSVpFIFVJTlQzMl9N QVgKIAogc3RhdGljIGludCByZWFkX2ZpbGVfYW5kX2NvbXByZXNzKHVuc2lnbmVkIGNoYXIgKipj b21wcmVzc2VkX2RhdGFwLCB1aW50MzJfdCAqY29tcHJlc3NlZF9zaXplcCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBGSUxFICppbnB1dCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCAqdW5jb21wcmVzc2VkX3NpemVwLCBGSUxFICppbnB1dCkK IHsKICAgICB6X3N0cmVhbSB6c3RyZWFtID0geyAwIH07CiAgICAgaW50IHJldCwgenJldCA9IGRl ZmxhdGVJbml0KCZ6c3RyZWFtLCA5KTsKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RhdGljIGludCByZWFk X2ZpbGVfYW5kX2NvbXByZXNzKHVuc2lnbmVkIGNoYXIgKipjb21wcmVzc2VkX2RhdGFwLCB1aW50 MzJfdCAqY28KICAgICBpZiAoenJldCAhPSBaX09LKQogICAgICAgICByZXR1cm4gLTE7CiAKLSAg ICB1aW50MzJfdCBidWZmZXJfc2l6ZSA9IDAsIGNvbXByZXNzZWRfc2l6ZSA9IDA7CisgICAgdWlu dDMyX3QgYnVmZmVyX3NpemUgPSAwLCBjb21wcmVzc2VkX3NpemUgPSAwLCB1bmNvbXByZXNzZWRf c2l6ZSA9IDA7CiAgICAgdW5zaWduZWQgY2hhciAqY29tcHJlc3NlZF9kYXRhID0gTlVMTDsKICAg ICBpbnQgZmx1c2ggPSBaX05PX0ZMVVNIOwogCkBAIC01Niw2ICs1NiwxMiBAQCBzdGF0aWMgaW50 IHJlYWRfZmlsZV9hbmRfY29tcHJlc3ModW5zaWduZWQgY2hhciAqKmNvbXByZXNzZWRfZGF0YXAs IHVpbnQzMl90ICpjbwogICAgICAgICBpZiAocmVhZCA8IHNpemVvZih0bXApKQogICAgICAgICAg ICAgZmx1c2ggPSBaX0ZJTklTSDsKIAorICAgICAgICB1bmNvbXByZXNzZWRfc2l6ZSArPSByZWFk OworICAgICAgICBpZiAodW5jb21wcmVzc2VkX3NpemUgPCByZWFkKSB7IC8vIG92ZXJmbG93Cisg ICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQor CiAgICAgICAgIHpzdHJlYW0ubmV4dF9pbiAgPSB0bXA7CiAgICAgICAgIHpzdHJlYW0uYXZhaWxf aW4gPSByZWFkOwogCkBAIC05Miw2ICs5OCw3IEBAIHN0YXRpYyBpbnQgcmVhZF9maWxlX2FuZF9j b21wcmVzcyh1bnNpZ25lZCBjaGFyICoqY29tcHJlc3NlZF9kYXRhcCwgdWludDMyX3QgKmNvCiAg ICAgZGVmbGF0ZUVuZCgmenN0cmVhbSk7CiAgICAgKmNvbXByZXNzZWRfZGF0YXAgPSBjb21wcmVz c2VkX2RhdGE7CiAgICAgKmNvbXByZXNzZWRfc2l6ZXAgPSBjb21wcmVzc2VkX3NpemU7CisgICAg KnVuY29tcHJlc3NlZF9zaXplcCA9IHVuY29tcHJlc3NlZF9zaXplOwogCiAgICAgcmV0dXJuIDA7 CiBmYWlsOgpAQCAtMTAxLDE3ICsxMDgsMjggQEAgZmFpbDoKICAgICByZXR1cm4gcmV0OwogfQog CisvLy8gV3JpdGUgYSAzMmJpdCBpbnRlZ2VyIGFjY29yZGluZyB0byB0aGUgdGFyZ2V0J3MgZW5k aWFubmVzcy4KK3N0YXRpYyB2b2lkIHdyaXRlX3UzMihGSUxFICpvdXRwdXQsIHVpbnQzMl90IG51 bSkKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDQ7ICsraSkKKyAgICAgICAgZnByaW50Zihv dXRwdXQsICIweCUwMngsICIsCisgICAgICAgICAgICAgICAgKG51bSA+PiAoSEFWRV9CSUdFTkRJ QU4gPyAoMjQgLSA4ICogaSkgOiA4ICogaSkpICYgMHhmZik7Cit9CisKIHN0YXRpYyBpbnQgaGFu ZGxlX2NvbXByZXNzZWRfZmlsZShGSUxFICppbnB1dCwgRklMRSAqb3V0cHV0LCB1bnNpZ25lZCAq Y29tcHJlc3NlZF9zaXplcCkKIHsKICAgICB1bnNpZ25lZCBjaGFyICpjb21wcmVzc2VkX2RhdGE7 Ci0gICAgdWludDMyX3QgY29tcHJlc3NlZF9zaXplOworICAgIHVpbnQzMl90IGNvbXByZXNzZWRf c2l6ZSwgdW5jb21wcmVzc2VkX3NpemU7CiAKLSAgICBpbnQgZXJyID0gcmVhZF9maWxlX2FuZF9j b21wcmVzcygmY29tcHJlc3NlZF9kYXRhLCAmY29tcHJlc3NlZF9zaXplLCBpbnB1dCk7CisgICAg aW50IGVyciA9IHJlYWRfZmlsZV9hbmRfY29tcHJlc3MoJmNvbXByZXNzZWRfZGF0YSwgJmNvbXBy ZXNzZWRfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdW5jb21w cmVzc2VkX3NpemUsIGlucHV0KTsKICAgICBpZiAoZXJyKQogICAgICAgICByZXR1cm4gZXJyOwog CiAgICAgKmNvbXByZXNzZWRfc2l6ZXAgPSBjb21wcmVzc2VkX3NpemU7CiAKKyAgICB3cml0ZV91 MzIob3V0cHV0LCB1bmNvbXByZXNzZWRfc2l6ZSk7CisKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw OyBpIDwgY29tcHJlc3NlZF9zaXplOyArK2kpCiAgICAgICAgIGZwcmludGYob3V0cHV0LCAiMHgl MDJ4LCAiLCBjb21wcmVzc2VkX2RhdGFbaV0pOwogCmRpZmYgLS1naXQgYS9mZnRvb2xzL3Jlc291 cmNlcy9yZXNtYW4uYyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCmluZGV4IDk5ZDMxMmJh ZDguLjY5ODUyOWFjYTEgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCisr KyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCkBAIC0zMyw5ICszMyw4IEBACiAKICNpbmNs dWRlICJyZXNtYW4uaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvYXZhc3NlcnQuaCIKLSNpbmNsdWRl ICJsaWJhdnV0aWwvcGl4ZGVzYy5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9pbnRyZWFkd3JpdGUu aCIKICNpbmNsdWRlICJsaWJhdnV0aWwvZGljdC5oIgotI2luY2x1ZGUgImxpYmF2dXRpbC9jb21t b24uaCIKIAogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmZfZ3JhcGhfaHRtbF9kYXRhW107 CiBleHRlcm4gY29uc3QgdW5zaWduZWQgaW50IGZmX2dyYXBoX2h0bWxfbGVuOwpAQCAtNjcsNTAg KzY2LDIzIEBAIHN0YXRpYyBSZXNvdXJjZU1hbmFnZXJDb250ZXh0IHJlc21hbl9jdHggPSB7IC5j bGFzcyA9ICZyZXNtYW5fY2xhc3MgfTsKIAogc3RhdGljIGludCBkZWNvbXByZXNzX3psaWIoUmVz b3VyY2VNYW5hZ2VyQ29udGV4dCAqY3R4LCBjb25zdCB1aW50OF90ICppbiwgdW5zaWduZWQgaW5f bGVuLCBjaGFyICoqb3V0KQogewotICAgIHpfc3RyZWFtIHN0cm07Ci0gICAgdW5zaWduZWQgY2h1 bmsgPSA2NTUzNDsKLSAgICBpbnQgcmV0OwotICAgIHVpbnQ4X3QgKmJ1ZjsKLQotICAgICpvdXQg PSBOVUxMOwotICAgIG1lbXNldCgmc3RybSwgMCwgc2l6ZW9mKHN0cm0pKTsKLQogICAgIC8vIEFs bG9jYXRlIG91dHB1dCBidWZmZXIgd2l0aCBleHRyYSBieXRlIGZvciBudWxsIHRlcm1pbmF0aW9u Ci0gICAgYnVmID0gKHVpbnQ4X3QgKilhdl9tYWxsb2N6KGNodW5rICsgMSk7CisgICAgdWludDMy X3QgdW5jb21wcmVzc2VkX3NpemUgPSBBVl9STjMyKGluKTsKKyAgICB1aW50OF90ICpidWYgPSBh dl9tYWxsb2ModW5jb21wcmVzc2VkX3NpemUgKyAxKTsKICAgICBpZiAoIWJ1ZikgewogICAgICAg ICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJGYWlsZWQgdG8gYWxsb2NhdGUgZGVjb21wcmVz c2lvbiBidWZmZXJcbiIpOwogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgIH0K LQotICAgIC8vIDE1ICsgMTYgdGVsbHMgemxpYiB0byBkZXRlY3QgR1pJUCBvciB6bGliIGF1dG9t YXRpY2FsbHkKLSAgICByZXQgPSBpbmZsYXRlSW5pdCgmc3RybSk7Ci0gICAgaWYgKHJldCAhPSBa X09LKSB7Ci0gICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkVycm9yIGR1cmluZyB6 bGliIGluaXRpYWxpemF0aW9uOiAlc1xuIiwgc3RybS5tc2cpOwotICAgICAgICBhdl9mcmVlKGJ1 Zik7Ci0gICAgICAgIHJldHVybiBBVkVSUk9SKEVOT1NZUyk7Ci0gICAgfQotCi0gICAgc3RybS5h dmFpbF9pbiAgPSBpbl9sZW47Ci0gICAgc3RybS5uZXh0X2luICAgPSBpbjsKLSAgICBzdHJtLmF2 YWlsX291dCA9IGNodW5rOwotICAgIHN0cm0ubmV4dF9vdXQgID0gYnVmOwotCi0gICAgcmV0ID0g aW5mbGF0ZSgmc3RybSwgWl9GSU5JU0gpOwotICAgIGlmIChyZXQgIT0gWl9PSyAmJiByZXQgIT0g Wl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIkluZmxh dGUgZmFpbGVkOiAlZCwgJXNcbiIsIHJldCwgc3RybS5tc2cpOwotICAgICAgICBpbmZsYXRlRW5k KCZzdHJtKTsKKyAgICB1TG9uZ2YgYnVmX3NpemUgPSB1bmNvbXByZXNzZWRfc2l6ZTsKKyAgICBp bnQgcmV0ID0gdW5jb21wcmVzcyhidWYsICZidWZfc2l6ZSwgaW4gKyA0LCBpbl9sZW4pOworICAg IGlmIChyZXQgIT0gWl9PSyB8fCB1bmNvbXByZXNzZWRfc2l6ZSAhPSBidWZfc2l6ZSkgeworICAg ICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJFcnJvciB1bmNvbXByZXNzaW5nIHJlc291 cmNlLiB6bGliIHJldHVybmVkICVkXG4iLCByZXQpOwogICAgICAgICBhdl9mcmVlKGJ1Zik7CiAg ICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVSTkFMOwogICAgIH0KIAotICAgIGlmIChzdHJtLmF2 YWlsX291dCA9PSAwKSB7Ci0gICAgICAgIC8vIFRPRE86IEVycm9yIG9yIGxvb3AgZGVjb2Rpbmc/ Ci0gICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19XQVJOSU5HLCAiRGVjb21wcmVzc2lvbiBidWZm ZXIgbWF5IGJlIHRvbyBzbWFsbFxuIik7Ci0gICAgfQotCi0gICAgYnVmW2NodW5rIC0gc3RybS5h dmFpbF9vdXRdID0gMDsgLy8gRW5zdXJlIG51bGwgdGVybWluYXRpb24KKyAgICBidWZbdW5jb21w cmVzc2VkX3NpemVdID0gMDsgLy8gRW5zdXJlIG51bGwgdGVybWluYXRpb24KIAotICAgIGluZmxh dGVFbmQoJnN0cm0pOwogICAgICpvdXQgPSAoY2hhciAqKWJ1ZjsKICAgICByZXR1cm4gMDsKIH0K ZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9oZWxwZXIuYyBiL2xpYmF2ZmlsdGVy L2N1ZGEvbG9hZF9oZWxwZXIuYwppbmRleCA3YzYyNzkzMDc3Li4wMjg4ZWE0OWJiIDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci9jdWRhL2xvYWRfaGVscGVyLmMKKysrIGIvbGliYXZmaWx0ZXIvY3Vk YS9sb2FkX2hlbHBlci5jCkBAIC0yMSwxMSArMjEsMTEgQEAKICNpbmNsdWRlICJsaWJhdnV0aWwv aHdjb250ZXh0LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL2h3Y29udGV4dF9jdWRhX2ludGVybmFs LmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL2N1ZGFfY2hlY2suaCIKKyNpbmNsdWRlICJsaWJhdnV0 aWwvaW50cmVhZHdyaXRlLmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL21lbS5oIgogCiAjaWYgQ09O RklHX1BUWF9DT01QUkVTU0lPTgogI2luY2x1ZGUgPHpsaWIuaD4KLSNkZWZpbmUgQ0hVTktfU0la RSAxMDI0ICogNjQKICNlbmRpZgogCiAjaW5jbHVkZSAibG9hZF9oZWxwZXIuaCIKQEAgLTM4LDU3 ICszOCwyMyBAQCBpbnQgZmZfY3VkYV9sb2FkX21vZHVsZSh2b2lkICphdmN0eCwgQVZDVURBRGV2 aWNlQ29udGV4dCAqaHdjdHgsIENVbW9kdWxlICpjdV9tbwogICAgIEN1ZGFGdW5jdGlvbnMgKmN1 ID0gaHdjdHgtPmludGVybmFsLT5jdWRhX2RsOwogCiAjaWYgQ09ORklHX1BUWF9DT01QUkVTU0lP TgotICAgIHpfc3RyZWFtIHN0cmVhbSA9IHsgMCB9OwotICAgIHVpbnQ4X3QgKmJ1ZiwgKnRtcDsK LSAgICB1aW50NjRfdCBidWZfc2l6ZTsKLSAgICBpbnQgcmV0OwotCi0gICAgaWYgKGluZmxhdGVJ bml0KCZzdHJlYW0pICE9IFpfT0spIHsKLSAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJS T1IsICJFcnJvciBkdXJpbmcgemxpYiBpbml0aWFsaXNhdGlvbjogJXNcbiIsIHN0cmVhbS5tc2cp OwotICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9TWVMpOwotICAgIH0KLQotICAgIGJ1Zl9zaXpl ID0gQ0hVTktfU0laRSAqIDQ7Ci0gICAgYnVmID0gYXZfcmVhbGxvYyhOVUxMLCBidWZfc2l6ZSk7 Ci0gICAgaWYgKCFidWYpIHsKLSAgICAgICAgaW5mbGF0ZUVuZCgmc3RyZWFtKTsKKyAgICB1aW50 MzJfdCB1bmNvbXByZXNzZWRfc2l6ZSA9IEFWX1JOMzIoZGF0YSk7CisgICAgdWludDhfdCAqYnVm ID0gYXZfcmVhbGxvYyhOVUxMLCB1bmNvbXByZXNzZWRfc2l6ZSArIDEpOworICAgIGlmICghYnVm KQogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwotICAgIH0KLQotICAgIHN0cmVhbS5u ZXh0X2luID0gZGF0YTsKLSAgICBzdHJlYW0uYXZhaWxfaW4gPSBsZW5ndGg7Ci0KLSAgICBkbyB7 Ci0gICAgICAgIHN0cmVhbS5hdmFpbF9vdXQgPSBidWZfc2l6ZSAtIHN0cmVhbS50b3RhbF9vdXQ7 Ci0gICAgICAgIHN0cmVhbS5uZXh0X291dCA9IGJ1ZiArIHN0cmVhbS50b3RhbF9vdXQ7Ci0KLSAg ICAgICAgcmV0ID0gaW5mbGF0ZSgmc3RyZWFtLCBaX0ZJTklTSCk7Ci0gICAgICAgIGlmIChyZXQg IT0gWl9PSyAmJiByZXQgIT0gWl9TVFJFQU1fRU5EICYmIHJldCAhPSBaX0JVRl9FUlJPUikgewot ICAgICAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1IsICJ6bGliIGluZmxhdGUgZXJy b3IoJWQpOiAlc1xuIiwgcmV0LCBzdHJlYW0ubXNnKTsKLSAgICAgICAgICAgIGluZmxhdGVFbmQo JnN0cmVhbSk7Ci0gICAgICAgICAgICBhdl9mcmVlKGJ1Zik7Ci0gICAgICAgICAgICByZXR1cm4g QVZFUlJPUihFSU5WQUwpOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHN0cmVhbS5hdmFpbF9v dXQgPT0gMCkgewotICAgICAgICAgICAgYnVmX3NpemUgKz0gQ0hVTktfU0laRTsKLSAgICAgICAg ICAgIHRtcCA9IGF2X3JlYWxsb2MoYnVmLCBidWZfc2l6ZSk7Ci0gICAgICAgICAgICBpZiAoIXRt cCkgewotICAgICAgICAgICAgICAgIGluZmxhdGVFbmQoJnN0cmVhbSk7Ci0gICAgICAgICAgICAg ICAgYXZfZnJlZShidWYpOwotICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01FTSk7 Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBidWYgPSB0bXA7Ci0gICAgICAgIH0KLSAgICB9 IHdoaWxlIChyZXQgIT0gWl9TVFJFQU1fRU5EKTsKIAorICAgIHVMb25nZiBidWZfc2l6ZSA9IHVu Y29tcHJlc3NlZF9zaXplOworICAgIGludCByZXQgPSB1bmNvbXByZXNzKGJ1ZiwgJmJ1Zl9zaXpl LCBkYXRhICsgNCwgbGVuZ3RoKTsKKyAgICBpZiAocmV0ICE9IFpfT0sgfHwgdW5jb21wcmVzc2Vk X3NpemUgIT0gYnVmX3NpemUpIHsKKyAgICAgICAgYXZfbG9nKGF2Y3R4LCBBVl9MT0dfRVJST1Is ICJFcnJvciB1bmNvbXByZXNzaW5nIGN1ZGEgY29kZS4gemxpYiByZXR1cm5lZCAlZFxuIiwgcmV0 KTsKKyAgICAgICAgcmV0ID0gQVZFUlJPUl9FWFRFUk5BTDsKKyAgICAgICAgZ290byBmYWlsOwor ICAgIH0KICAgICAvLyBOVUxMLXRlcm1pbmF0ZSBzdHJpbmcKLSAgICAvLyB0aGVyZSBpcyBndWFy YW50ZWVkIHRvIGJlIHNwYWNlIGZvciB0aGlzLCBkdWUgdG8gY29uZGl0aW9uIGluIGxvb3AKLSAg ICBidWZbc3RyZWFtLnRvdGFsX291dF0gPSAwOwotCi0gICAgaW5mbGF0ZUVuZCgmc3RyZWFtKTsK KyAgICBidWZbdW5jb21wcmVzc2VkX3NpemVdID0gMDsKIAogICAgIHJldCA9IENIRUNLX0NVKGN1 LT5jdU1vZHVsZUxvYWREYXRhKGN1X21vZHVsZSwgYnVmKSk7CitmYWlsOgogICAgIGF2X2ZyZWUo YnVmKTsKICAgICByZXR1cm4gcmV0OwogI2Vsc2UKLS0gCjIuNDUuMgoK --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0005-ffbuild-bin2c-Store-compressed-size-in-band.patch" Content-Disposition: attachment; filename*0="v2-0005-ffbuild-bin2c-Store-compressed-size-in-band.patch" Content-Transfer-Encoding: base64 RnJvbSBhMjRiNmU4OTdmYzUwNDllMzhjYTQwODIwMzM5ODQ4Njk2MjU5NjVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogU3VuLCAxIEp1biAyMDI1IDIzOjM3OjU0ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDUvMTBdIGZmYnVpbGQvYmluMmM6IFN0b3JlIGNvbXByZXNzZWQg c2l6ZSBpbi1iYW5kCgpUaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2YgdXNlcnMgb2YgYmluMmM6CmEp IFVzZXJzIHRoYXQgd2FudCB0byBlbWJlZCBhIEMtc3RyaW5nLiBUaGUgcmVzb3VyY2VzIGZvcgp0 aGUgZmZ0b29scyBhcyB3ZWxsIGFzIGN1ZGEgbW9kdWxlcyBjYW4gYmUgb2YgdGhpcyB0eXBlCihp ZiBjb21wcmVzc2lvbiBpcyBkaXNhYmxlZCkuCmIpIElmIGNvbXByZXNzaW9uIGlzIG5vdCBkaXNh YmxlZCwgdGhlIHNhbWUgdXNlcnMgd2FudCB0byBzdG9yZQpjb21wcmVzc2VkIGRhdGEuCmMpIFVz ZXJzIHRoYXQganVzdCB3YW50IHRvIHN0b3JlIGFyYml0cmFyeSBiaW5hcnkgZGF0YS4KVGhpcyBp cyBjdXJyZW50bHkgb25seSB0aGUgdmlkZW90b29sYm94IHlhZGlmIGZpbHRlcgpmb3IgaXRzIG1l dGFsIHNoYWRlcnMuCgpVcCB1bnRpbCBub3csIGJpbjJjIHVuY29uZGl0aW9uYWxseSBjcmVhdGVk IGEgbGVuZ3RoIGZpZWxkCmZvciB0aGUgZGF0YS4gVXNlcnMgb2YgdHlwZSBhKSBkaWRuJ3QgbmVl ZCBpdCAoYW5kIGluIGZhY3QgYWN0dWFsbHkKZGlkbid0IHVzZSBpdCk7IGZvciB1c2VycyBvZiB0 eXBlIGIpLCBwdXR0aW5nIHRoZSBzaXplCm9mIHRoZSBjb21wcmVzc2VkIGRhdGEgaW4tYmFuZCAo aS5lLiBiZWZvcmUgdGhlIGFjdHVhbCBjb21wcmVzc2VkIGRhdGEpCmlzIHNpbXBsZXIuIFVzZXJz IG9mIHR5cGUgYykgY291bGQgY3VycmVudGx5IHVzZSBlaXRoZXIgYW4gaW4tYmFuZApzaXplIGZp ZWxkIG9yIGFuIGV4dGVybmFsIHNpemUgZmllbGQuCgpUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBj YXNlcyBhKSBhbmQgYikgdG8gbm8gbG9uZ2VyIG91dHB1dAphbiBleHRlcm5hbCBsZW5ndGggZmll bGQ7IGluIGNhc2UgYikgdGhlIHNpemUgaXMgc3RvcmVkIGluLWJhbmQgaW5zdGVhZAooYW5kIHRo ZSBkYXRhIGlzIG5vIGxvbmdlciB6ZXJvLXRlcm1pbmF0ZWQpLgpOb3RoaW5nIGNoYW5nZXMgZm9y IGMpLCBhcyB0aGVyZSBpcyBubyByZWFsIGJlbmVmaXQgaW4gZG9pbmcgc28KYW5kIEkgd2FudGVk IHRvIHJldGFpbiB0aGUgYWJpbGl0eSBvZiB1c2luZyBleHRlcm5hbCBzaXplcwpqdXN0IGluIGNh c2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KLS0tCiBmZmJ1aWxkL2JpbjJjLmMgICAgICAgICAgICAgICAgICB8IDMw ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogZmZidWlsZC9jb21tb24ubWFrICAgICAg ICAgICAgICAgfCAgMiArLQogZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMgICAgICAgfCAxNCAr KysrKy0tLS0tLS0tLQogZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmggICAgICAgfCAgMiAtLQog bGliYXZmaWx0ZXIvY3VkYS9sb2FkX2hlbHBlci5jICAgfCAgNCArKy0tCiBsaWJhdmZpbHRlci9j dWRhL2xvYWRfaGVscGVyLmggICB8ICAyICstCiBsaWJhdmZpbHRlci92Zl9iaWxhdGVyYWxfY3Vk YS5jICB8ICAzICstLQogbGliYXZmaWx0ZXIvdmZfYndkaWZfY3VkYS5jICAgICAgfCAgMyArLS0K IGxpYmF2ZmlsdGVyL3ZmX2Nocm9tYWtleV9jdWRhLmMgIHwgIDMgKy0tCiBsaWJhdmZpbHRlci92 Zl9jb2xvcnNwYWNlX2N1ZGEuYyB8ICA0ICstLS0KIGxpYmF2ZmlsdGVyL3ZmX292ZXJsYXlfY3Vk YS5jICAgIHwgIDMgKy0tCiBsaWJhdmZpbHRlci92Zl9zY2FsZV9jdWRhLmMgICAgICB8ICAzICst LQogbGliYXZmaWx0ZXIvdmZfdGh1bWJuYWlsX2N1ZGEuYyAgfCAgMyArLS0KIGxpYmF2ZmlsdGVy L3ZmX3lhZGlmX2N1ZGEuYyAgICAgIHwgIDMgKy0tCiAxNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNl cnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mZmJ1aWxkL2JpbjJjLmMg Yi9mZmJ1aWxkL2JpbjJjLmMKaW5kZXggYjQ1ODFmOTg3Mi4uZTg2NDNjYTc5MiAxMDA2NDQKLS0t IGEvZmZidWlsZC9iaW4yYy5jCisrKyBiL2ZmYnVpbGQvYmluMmMuYwpAQCAtMjksNyArMjksNiBA QAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKLSNpbmNsdWRlICJs aWJhdnV0aWwvYXR0cmlidXRlcy5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9tYWNyb3MuaCIKIAog I2lmIENPTkZJR19QVFhfQ09NUFJFU1NJT04gfHwgQ09ORklHX1JFU09VUkNFX0NPTVBSRVNTSU9O CkBAIC0xMTYsNyArMTE1LDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfdTMyKEZJTEUgKm91dHB1dCwg dWludDMyX3QgbnVtKQogICAgICAgICAgICAgICAgIChudW0gPj4gKEhBVkVfQklHRU5ESUFOID8g KDI0IC0gOCAqIGkpIDogOCAqIGkpKSAmIDB4ZmYpOwogfQogCi1zdGF0aWMgaW50IGhhbmRsZV9j b21wcmVzc2VkX2ZpbGUoRklMRSAqaW5wdXQsIEZJTEUgKm91dHB1dCwgdW5zaWduZWQgKmNvbXBy ZXNzZWRfc2l6ZXApCitzdGF0aWMgaW50IGhhbmRsZV9jb21wcmVzc2VkX2ZpbGUoRklMRSAqaW5w dXQsIEZJTEUgKm91dHB1dCkKIHsKICAgICB1bnNpZ25lZCBjaGFyICpjb21wcmVzc2VkX2RhdGE7 CiAgICAgdWludDMyX3QgY29tcHJlc3NlZF9zaXplLCB1bmNvbXByZXNzZWRfc2l6ZTsKQEAgLTEy Niw5ICsxMjUsOCBAQCBzdGF0aWMgaW50IGhhbmRsZV9jb21wcmVzc2VkX2ZpbGUoRklMRSAqaW5w dXQsIEZJTEUgKm91dHB1dCwgdW5zaWduZWQgKmNvbXByZXNzZQogICAgIGlmIChlcnIpCiAgICAg ICAgIHJldHVybiBlcnI7CiAKLSAgICAqY29tcHJlc3NlZF9zaXplcCA9IGNvbXByZXNzZWRfc2l6 ZTsKLQogICAgIHdyaXRlX3UzMihvdXRwdXQsIHVuY29tcHJlc3NlZF9zaXplKTsKKyAgICB3cml0 ZV91MzIob3V0cHV0LCBjb21wcmVzc2VkX3NpemUpOwogCiAgICAgZm9yICh1bnNpZ25lZCBpID0g MDsgaSA8IGNvbXByZXNzZWRfc2l6ZTsgKytpKQogICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjB4 JTAyeCwgIiwgY29tcHJlc3NlZF9kYXRhW2ldKTsKQEAgLTE0MywxMCArMTQxLDkgQEAgaW50IG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewogICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAg RklMRSAqaW5wdXQsICpvdXRwdXQ7Ci0gICAgdW5zaWduZWQgaW50IGxlbmd0aCA9IDA7CiAgICAg dW5zaWduZWQgY2hhciBkYXRhOwotICAgIGF2X3VudXNlZCBpbnQgY29tcHJlc3Npb24gPSAwOwot ICAgIGludCBhcmdfaWR4ID0gMTsKKyAgICBpbnQgY29tcHJlc3Npb24gPSAwOworICAgIGludCBh cmdfaWR4ID0gMSwgZXh0ZXJuYWxfc2l6ZSA9IDA7CiAKICAgICBpZiAoYXJnYyA8IDMpCiAgICAg ICAgIHJldHVybiAxOwpAQCAtMTYwLDYgKzE1NywxNCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCiAgICAgICAgIGNvbXByZXNzaW9uID0gMTsKICAgICAgICAgKythcmdfaWR4Owog ICAgIH0KKyAgICBpZiAoIXN0cmNtcChhcmd2W2FyZ19pZHhdLCAiLS1leHRlcm5hbC1zaXplIikp IHsKKyAgICAgICAgaWYgKGNvbXByZXNzaW9uKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgIkNvbXByZXNzaW9uIGFuZCBleHRlcm5hbCBzaXplIG1ha2Ugbm8gc2Vuc2UuXG4iKTsKKyAg ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBleHRlcm5hbF9zaXplID0g MTsKKyAgICAgICAgKythcmdfaWR4OworICAgIH0KIAogICAgIGlmIChhcmdjIC0gYXJnX2lkeCA8 IDIgfHwgYXJnYyAtIGFyZ19pZHggPiAzKQogICAgICAgICByZXR1cm4gMTsKQEAgLTE5MywyNCAr MTk4LDI3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogI2lmIENPTkZJR19Q VFhfQ09NUFJFU1NJT04gfHwgQ09ORklHX1JFU09VUkNFX0NPTVBSRVNTSU9OCiAgICAgaWYgKGNv bXByZXNzaW9uKSB7Ci0gICAgICAgIGludCBlcnIgPSBoYW5kbGVfY29tcHJlc3NlZF9maWxlKGlu cHV0LCBvdXRwdXQsICZsZW5ndGgpOworICAgICAgICBpbnQgZXJyID0gaGFuZGxlX2NvbXByZXNz ZWRfZmlsZShpbnB1dCwgb3V0cHV0KTsKICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAg ZmNsb3NlKGlucHV0KTsKICAgICAgICAgICAgIGZjbG9zZShvdXRwdXQpOwogICAgICAgICAgICAg cmV0dXJuIGVycjsKICAgICAgICAgfQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIn07XG4iKTsK ICAgICB9IGVsc2UKICNlbmRpZgogICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGxlbmd0aCA9 IDA7CisKICAgICAgICAgd2hpbGUgKGZyZWFkKCZkYXRhLCAxLCAxLCBpbnB1dCkgPiAwKSB7CiAg ICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjB4JTAyeCwgIiwgZGF0YSk7CiAgICAgICAgICAg ICBsZW5ndGgrKzsKICAgICAgICAgfQorICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjB4MDAgfTtc biIpOworICAgICAgICBpZiAoZXh0ZXJuYWxfc2l6ZSkKKyAgICAgICAgICAgIGZwcmludGYob3V0 cHV0LCAiY29uc3QgdW5zaWduZWQgaW50IGZmXyVzX2xlbiA9ICV1O1xuIiwgbmFtZSwgbGVuZ3Ro KTsKICAgICB9CiAKLSAgICBmcHJpbnRmKG91dHB1dCwgIjB4MDAgfTtcbiIpOwotICAgIGZwcmlu dGYob3V0cHV0LCAiY29uc3QgdW5zaWduZWQgaW50IGZmXyVzX2xlbiA9ICV1O1xuIiwgbmFtZSwg bGVuZ3RoKTsKLQogICAgIGZjbG9zZShvdXRwdXQpOwogCiAgICAgaWYgKGZlcnJvcihpbnB1dCkg fHwgIWZlb2YoaW5wdXQpKSB7CmRpZmYgLS1naXQgYS9mZmJ1aWxkL2NvbW1vbi5tYWsgYi9mZmJ1 aWxkL2NvbW1vbi5tYWsKaW5kZXggYjgzMGY5ODYyYi4uMDIxYmI1MjFkOCAxMDA2NDQKLS0tIGEv ZmZidWlsZC9jb21tb24ubWFrCisrKyBiL2ZmYnVpbGQvY29tbW9uLm1hawpAQCAtMTIyLDcgKzEy Miw3IEBAICQoQklOMkNFWEUpOiBmZmJ1aWxkL2JpbjJjX2hvc3QubwogCSQoTUVUQUxMSUIpIC0t c3BsaXQtbW9kdWxlLXdpdGhvdXQtbGlua2luZyAkPCAtbyAkQAogCiAlLm1ldGFsbGliLmM6ICUu bWV0YWxsaWIgJChCSU4yQ0VYRSkKLQkkKEJJTjJDKSAkPCAkQCAkKHN1YnN0IC4sXywkKGJhc2Vu YW1lICQobm90ZGlyICRAKSkpCisJJChCSU4yQykgLS1leHRlcm5hbC1zaXplICQ8ICRAICQoc3Vi c3QgLixfLCQoYmFzZW5hbWUgJChub3RkaXIgJEApKSkKIAogJS5wdHg6ICUuY3UgJChTUkNfUEFU SCkvY29tcGF0L2N1ZGEvY3VkYV9ydW50aW1lLmgKIAkkKENPTVBJTEVfTlZDQykKZGlmZiAtLWdp dCBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFu LmMKaW5kZXggNjk4NTI5YWNhMS4uZmMwMDQ2NTc3NSAxMDA2NDQKLS0tIGEvZmZ0b29scy9yZXNv dXJjZXMvcmVzbWFuLmMKKysrIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKQEAgLTM3LDE0 ICszNywxMSBAQAogI2luY2x1ZGUgImxpYmF2dXRpbC9kaWN0LmgiCiAKIGV4dGVybiBjb25zdCB1 bnNpZ25lZCBjaGFyIGZmX2dyYXBoX2h0bWxfZGF0YVtdOwotZXh0ZXJuIGNvbnN0IHVuc2lnbmVk IGludCBmZl9ncmFwaF9odG1sX2xlbjsKLQogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmZf Z3JhcGhfY3NzX2RhdGFbXTsKLWV4dGVybiBjb25zdCB1bnNpZ25lZCBmZl9ncmFwaF9jc3NfbGVu OwogCiBzdGF0aWMgY29uc3QgRkZSZXNvdXJjZURlZmluaXRpb24gcmVzb3VyY2VfZGVmaW5pdGlv bnNbXSA9IHsKLSAgICBbRkZfUkVTT1VSQ0VfR1JBUEhfQ1NTXSAgID0geyBGRl9SRVNPVVJDRV9H UkFQSF9DU1MsICAgImdyYXBoLmNzcyIsICAgJmZmX2dyYXBoX2Nzc19kYXRhWzBdLCAgICZmZl9n cmFwaF9jc3NfbGVuICAgfSwKLSAgICBbRkZfUkVTT1VSQ0VfR1JBUEhfSFRNTF0gID0geyBGRl9S RVNPVVJDRV9HUkFQSF9IVE1MLCAgImdyYXBoLmh0bWwiLCAgJmZmX2dyYXBoX2h0bWxfZGF0YVsw XSwgICZmZl9ncmFwaF9odG1sX2xlbiAgfSwKKyAgICBbRkZfUkVTT1VSQ0VfR1JBUEhfQ1NTXSAg ID0geyBGRl9SRVNPVVJDRV9HUkFQSF9DU1MsICAgImdyYXBoLmNzcyIsICAgZmZfZ3JhcGhfY3Nz X2RhdGEgIH0sCisgICAgW0ZGX1JFU09VUkNFX0dSQVBIX0hUTUxdICA9IHsgRkZfUkVTT1VSQ0Vf R1JBUEhfSFRNTCwgICJncmFwaC5odG1sIiwgIGZmX2dyYXBoX2h0bWxfZGF0YSB9LAogfTsKIAog CkBAIC02NCw3ICs2MSw3IEBAIHN0YXRpYyBSZXNvdXJjZU1hbmFnZXJDb250ZXh0IHJlc21hbl9j dHggPSB7IC5jbGFzcyA9ICZyZXNtYW5fY2xhc3MgfTsKIAogI2lmIENPTkZJR19SRVNPVVJDRV9D T01QUkVTU0lPTgogCi1zdGF0aWMgaW50IGRlY29tcHJlc3NfemxpYihSZXNvdXJjZU1hbmFnZXJD b250ZXh0ICpjdHgsIGNvbnN0IHVpbnQ4X3QgKmluLCB1bnNpZ25lZCBpbl9sZW4sIGNoYXIgKipv dXQpCitzdGF0aWMgaW50IGRlY29tcHJlc3NfemxpYihSZXNvdXJjZU1hbmFnZXJDb250ZXh0ICpj dHgsIGNvbnN0IHVpbnQ4X3QgKmluLCBjaGFyICoqb3V0KQogewogICAgIC8vIEFsbG9jYXRlIG91 dHB1dCBidWZmZXIgd2l0aCBleHRyYSBieXRlIGZvciBudWxsIHRlcm1pbmF0aW9uCiAgICAgdWlu dDMyX3QgdW5jb21wcmVzc2VkX3NpemUgPSBBVl9STjMyKGluKTsKQEAgLTc0LDcgKzcxLDcgQEAg c3RhdGljIGludCBkZWNvbXByZXNzX3psaWIoUmVzb3VyY2VNYW5hZ2VyQ29udGV4dCAqY3R4LCBj b25zdCB1aW50OF90ICppbiwgdW5zaWcKICAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVNKTsK ICAgICB9CiAgICAgdUxvbmdmIGJ1Zl9zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0gICAgaW50 IHJldCA9IHVuY29tcHJlc3MoYnVmLCAmYnVmX3NpemUsIGluICsgNCwgaW5fbGVuKTsKKyAgICBp bnQgcmV0ID0gdW5jb21wcmVzcyhidWYsICZidWZfc2l6ZSwgaW4gKyA4LCBBVl9STjMyKGluICsg NCkpOwogICAgIGlmIChyZXQgIT0gWl9PSyB8fCB1bmNvbXByZXNzZWRfc2l6ZSAhPSBidWZfc2l6 ZSkgewogICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJFcnJvciB1bmNvbXByZXNz aW5nIHJlc291cmNlLiB6bGliIHJldHVybmVkICVkXG4iLCByZXQpOwogICAgICAgICBhdl9mcmVl KGJ1Zik7CkBAIC0xMjYsOCArMTIzLDcgQEAgY2hhciAqZmZfcmVzbWFuX2dldF9zdHJpbmcoRkZS ZXNvdXJjZUlkIHJlc291cmNlX2lkKQogCiAgICAgICAgIGNoYXIgKm91dCA9IE5VTEw7CiAKLSAg ICAgICAgaW50IHJldCA9IGRlY29tcHJlc3NfemxpYihjdHgsIHJlc291cmNlX2RlZmluaXRpb24u ZGF0YSwgKnJlc291cmNlX2RlZmluaXRpb24uZGF0YV9sZW4sICZvdXQpOwotCisgICAgICAgIGlu dCByZXQgPSBkZWNvbXByZXNzX3psaWIoY3R4LCByZXNvdXJjZV9kZWZpbml0aW9uLmRhdGEsICZv dXQpOwogICAgICAgICBpZiAocmV0KSB7CiAgICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0df RVJST1IsICJVbmFibGUgdG8gZGVjb21wcmVzcyB0aGUgcmVzb3VyY2Ugd2l0aCBJRCAlZFxuIiwg cmVzb3VyY2VfaWQpOwogICAgICAgICAgICAgZ290byBlbmQ7CmRpZmYgLS1naXQgYS9mZnRvb2xz L3Jlc291cmNlcy9yZXNtYW4uaCBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5oCmluZGV4IDY0 ODVkYjUwOTEuLmFkNTdhMTAyMDQgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21h bi5oCisrKyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5oCkBAIC0zOSw4ICszOSw2IEBAIHR5 cGVkZWYgc3RydWN0IEZGUmVzb3VyY2VEZWZpbml0aW9uIHsKICAgICBjb25zdCBjaGFyICpuYW1l OwogCiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKLSAgICBjb25zdCB1bnNpZ25lZCAq ZGF0YV9sZW47Ci0KIH0gRkZSZXNvdXJjZURlZmluaXRpb247CiAKIHZvaWQgZmZfcmVzbWFuX3Vu aW5pdCh2b2lkKTsKZGlmZiAtLWdpdCBhL2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9oZWxwZXIuYyBi L2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9oZWxwZXIuYwppbmRleCAwMjg4ZWE0OWJiLi5lNDdmMDQy MWVmIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci9jdWRhL2xvYWRfaGVscGVyLmMKKysrIGIvbGli YXZmaWx0ZXIvY3VkYS9sb2FkX2hlbHBlci5jCkBAIC0zMyw3ICszMyw3IEBACiAjZGVmaW5lIENI RUNLX0NVKHgpIEZGX0NVREFfQ0hFQ0tfREwoYXZjdHgsIGN1LCB4KQogCiBpbnQgZmZfY3VkYV9s b2FkX21vZHVsZSh2b2lkICphdmN0eCwgQVZDVURBRGV2aWNlQ29udGV4dCAqaHdjdHgsIENVbW9k dWxlICpjdV9tb2R1bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBj aGFyICpkYXRhLCBjb25zdCB1bnNpZ25lZCBpbnQgbGVuZ3RoKQorICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKICAgICBDdWRhRnVuY3Rpb25zICpj dSA9IGh3Y3R4LT5pbnRlcm5hbC0+Y3VkYV9kbDsKIApAQCAtNDQsNyArNDQsNyBAQCBpbnQgZmZf Y3VkYV9sb2FkX21vZHVsZSh2b2lkICphdmN0eCwgQVZDVURBRGV2aWNlQ29udGV4dCAqaHdjdHgs IENVbW9kdWxlICpjdV9tbwogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogCiAgICAg dUxvbmdmIGJ1Zl9zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0gICAgaW50IHJldCA9IHVuY29t cHJlc3MoYnVmLCAmYnVmX3NpemUsIGRhdGEgKyA0LCBsZW5ndGgpOworICAgIGludCByZXQgPSB1 bmNvbXByZXNzKGJ1ZiwgJmJ1Zl9zaXplLCBkYXRhICsgOCwgQVZfUk4zMihkYXRhICsgNCkpOwog ICAgIGlmIChyZXQgIT0gWl9PSyB8fCB1bmNvbXByZXNzZWRfc2l6ZSAhPSBidWZfc2l6ZSkgewog ICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkVycm9yIHVuY29tcHJlc3Npbmcg Y3VkYSBjb2RlLiB6bGliIHJldHVybmVkICVkXG4iLCByZXQpOwogICAgICAgICByZXQgPSBBVkVS Uk9SX0VYVEVSTkFMOwpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvY3VkYS9sb2FkX2hlbHBlci5o IGIvbGliYXZmaWx0ZXIvY3VkYS9sb2FkX2hlbHBlci5oCmluZGV4IDQ1NWJmMzZhMjMuLmQyNWFh MGFlMjcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9oZWxwZXIuaAorKysgYi9s aWJhdmZpbHRlci9jdWRhL2xvYWRfaGVscGVyLmgKQEAgLTIzLDYgKzIzLDYgQEAKICAqIExvYWRz IGEgQ1VEQSBtb2R1bGUgYW5kIGFwcGxpZXMgYW55IGRlY29tcHJlc3Npb24sIGlmIG5lY2Vzc2Fy eS4KICAqLwogaW50IGZmX2N1ZGFfbG9hZF9tb2R1bGUodm9pZCAqYXZjdHgsIEFWQ1VEQURldmlj ZUNvbnRleHQgKmh3Y3R4LCBDVW1vZHVsZSAqY3VfbW9kdWxlLAotICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgY29uc3QgdW5zaWduZWQgaW50IGxlbmd0 aCk7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKTsK IAogI2VuZGlmIC8qIEFWRklMVEVSX0NVREFfTE9BRF9IRUxQRVJfSCAqLwpkaWZmIC0tZ2l0IGEv bGliYXZmaWx0ZXIvdmZfYmlsYXRlcmFsX2N1ZGEuYyBiL2xpYmF2ZmlsdGVyL3ZmX2JpbGF0ZXJh bF9jdWRhLmMKaW5kZXggNzExNWZhOWUwNS4uNTBkZGFhZDIxMyAxMDA2NDQKLS0tIGEvbGliYXZm aWx0ZXIvdmZfYmlsYXRlcmFsX2N1ZGEuYworKysgYi9saWJhdmZpbHRlci92Zl9iaWxhdGVyYWxf Y3VkYS5jCkBAIC0yMTcsMTQgKzIxNywxMyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgY3VkYV9iaWxh dGVyYWxfbG9hZF9mdW5jdGlvbnMoQVZGaWx0ZXJDb250ZXh0ICpjdHgpCiAgICAgaW50IHJldDsK IAogICAgIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIGZmX3ZmX2JpbGF0ZXJhbF9jdWRhX3B0 eF9kYXRhW107Ci0gICAgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCBmZl92Zl9iaWxhdGVyYWxf Y3VkYV9wdHhfbGVuOwogCiAgICAgcmV0ID0gQ0hFQ0tfQ1UoY3UtPmN1Q3R4UHVzaEN1cnJlbnQo Y3VkYV9jdHgpKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKIAogICAg IHJldCA9IGZmX2N1ZGFfbG9hZF9tb2R1bGUoY3R4LCBzLT5od2N0eCwgJnMtPmN1X21vZHVsZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZmX3ZmX2JpbGF0ZXJhbF9jdWRhX3B0eF9k YXRhLCBmZl92Zl9iaWxhdGVyYWxfY3VkYV9wdHhfbGVuKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZmX3ZmX2JpbGF0ZXJhbF9jdWRhX3B0eF9kYXRhKTsKICAgICBpZiAocmV0IDwg MCkKICAgICAgICAgZ290byBmYWlsOwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92Zl9id2Rp Zl9jdWRhLmMgYi9saWJhdmZpbHRlci92Zl9id2RpZl9jdWRhLmMKaW5kZXggY2M5NTRhYjFkMy4u ODJjNDY4ODZmMyAxMDA2NDQKLS0tIGEvbGliYXZmaWx0ZXIvdmZfYndkaWZfY3VkYS5jCisrKyBi L2xpYmF2ZmlsdGVyL3ZmX2J3ZGlmX2N1ZGEuYwpAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUg ImN1ZGEvbG9hZF9oZWxwZXIuaCIKIAogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmZfdmZf YndkaWZfY3VkYV9wdHhfZGF0YVtdOwotZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCBmZl92Zl9i d2RpZl9jdWRhX3B0eF9sZW47CiAKIHR5cGVkZWYgc3RydWN0IERlaW50Q1VEQUNvbnRleHQgewog ICAgIFlBRElGQ29udGV4dCB5YWRpZjsKQEAgLTMwNSw3ICszMDQsNyBAQCBzdGF0aWMgaW50IGNv bmZpZ19vdXRwdXQoQVZGaWx0ZXJMaW5rICpsaW5rKQogICAgIGlmIChyZXQgPCAwKQogICAgICAg ICBnb3RvIGV4aXQ7CiAKLSAgICByZXQgPSBmZl9jdWRhX2xvYWRfbW9kdWxlKGN0eCwgcy0+aHdj dHgsICZzLT5jdV9tb2R1bGUsIGZmX3ZmX2J3ZGlmX2N1ZGFfcHR4X2RhdGEsIGZmX3ZmX2J3ZGlm X2N1ZGFfcHR4X2xlbik7CisgICAgcmV0ID0gZmZfY3VkYV9sb2FkX21vZHVsZShjdHgsIHMtPmh3 Y3R4LCAmcy0+Y3VfbW9kdWxlLCBmZl92Zl9id2RpZl9jdWRhX3B0eF9kYXRhKTsKICAgICBpZiAo cmV0IDwgMCkKICAgICAgICAgZ290byBleGl0OwogCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci92 Zl9jaHJvbWFrZXlfY3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZfY2hyb21ha2V5X2N1ZGEuYwppbmRl eCA0M2Y1MGM1YTlhLi5lNjA2ZGEwMWFjIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9jaHJv bWFrZXlfY3VkYS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX2Nocm9tYWtleV9jdWRhLmMKQEAgLTIy MCwxNCArMjIwLDEzIEBAIHN0YXRpYyBhdl9jb2xkIGludCBjdWRhY2hyb21ha2V5X2xvYWRfZnVu Y3Rpb25zKEFWRmlsdGVyQ29udGV4dCAqY3R4KQogICAgIGludCByZXQ7CiAKICAgICBleHRlcm4g Y29uc3QgdW5zaWduZWQgY2hhciBmZl92Zl9jaHJvbWFrZXlfY3VkYV9wdHhfZGF0YVtdOwotICAg IGV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgZmZfdmZfY2hyb21ha2V5X2N1ZGFfcHR4X2xlbjsK IAogICAgIHJldCA9IENIRUNLX0NVKGN1LT5jdUN0eFB1c2hDdXJyZW50KGN1ZGFfY3R4KSk7CiAg ICAgaWYgKHJldCA8IDApCiAgICAgICAgIHJldHVybiByZXQ7CiAKICAgICByZXQgPSBmZl9jdWRh X2xvYWRfbW9kdWxlKGN0eCwgcy0+aHdjdHgsICZzLT5jdV9tb2R1bGUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmZl92Zl9jaHJvbWFrZXlfY3VkYV9wdHhfZGF0YSwgZmZfdmZfY2hy b21ha2V5X2N1ZGFfcHR4X2xlbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZl92 Zl9jaHJvbWFrZXlfY3VkYV9wdHhfZGF0YSk7CiAgICAgaWYgKHJldCA8IDApCiAgICAgICAgIGdv dG8gZmFpbDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfY29sb3JzcGFjZV9jdWRhLmMg Yi9saWJhdmZpbHRlci92Zl9jb2xvcnNwYWNlX2N1ZGEuYwppbmRleCA1NGQ2MjI4Y2QxLi4yZDky MjQzMGU0IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9jb2xvcnNwYWNlX2N1ZGEuYworKysg Yi9saWJhdmZpbHRlci92Zl9jb2xvcnNwYWNlX2N1ZGEuYwpAQCAtMTk4LDE1ICsxOTgsMTMgQEAg c3RhdGljIGF2X2NvbGQgaW50IGN1ZGFjb2xvcnNwYWNlX2xvYWRfZnVuY3Rpb25zKEFWRmlsdGVy Q29udGV4dCogY3R4KQogICAgIGludCByZXQ7CiAKICAgICBleHRlcm4gY29uc3QgdW5zaWduZWQg Y2hhciBmZl92Zl9jb2xvcnNwYWNlX2N1ZGFfcHR4X2RhdGFbXTsKLSAgICBleHRlcm4gY29uc3Qg dW5zaWduZWQgaW50IGZmX3ZmX2NvbG9yc3BhY2VfY3VkYV9wdHhfbGVuOwogCiAgICAgcmV0ID0g Q0hFQ0tfQ1UoY3UtPmN1Q3R4UHVzaEN1cnJlbnQoY3VkYV9jdHgpKTsKICAgICBpZiAocmV0IDwg MCkKICAgICAgICAgcmV0dXJuIHJldDsKIAogICAgIHJldCA9IGZmX2N1ZGFfbG9hZF9tb2R1bGUo Y3R4LCBzLT5od2N0eCwgJnMtPmN1X21vZHVsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZmX3ZmX2NvbG9yc3BhY2VfY3VkYV9wdHhfZGF0YSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZmX3ZmX2NvbG9yc3BhY2VfY3VkYV9wdHhfbGVuKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZmX3ZmX2NvbG9yc3BhY2VfY3VkYV9wdHhfZGF0YSk7CiAgICAgaWYg KHJldCA8IDApCiAgICAgICAgIGdvdG8gZmFpbDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIv dmZfb3ZlcmxheV9jdWRhLmMgYi9saWJhdmZpbHRlci92Zl9vdmVybGF5X2N1ZGEuYwppbmRleCA0 NzA4YjM0ZDMwLi43N2RhNWI1ZTAxIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9vdmVybGF5 X2N1ZGEuYworKysgYi9saWJhdmZpbHRlci92Zl9vdmVybGF5X2N1ZGEuYwpAQCAtNDE1LDcgKzQx NSw2IEBAIHN0YXRpYyBpbnQgb3ZlcmxheV9jdWRhX2FjdGl2YXRlKEFWRmlsdGVyQ29udGV4dCAq YXZjdHgpCiBzdGF0aWMgaW50IG92ZXJsYXlfY3VkYV9jb25maWdfb3V0cHV0KEFWRmlsdGVyTGlu ayAqb3V0bGluaykKIHsKICAgICBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBmZl92Zl9vdmVy bGF5X2N1ZGFfcHR4X2RhdGFbXTsKLSAgICBleHRlcm4gY29uc3QgdW5zaWduZWQgaW50IGZmX3Zm X292ZXJsYXlfY3VkYV9wdHhfbGVuOwogCiAgICAgaW50IGVycjsKICAgICBGaWx0ZXJMaW5rICAg ICAgICpvdXRsID0gZmZfZmlsdGVyX2xpbmsob3V0bGluayk7CkBAIC00OTQsNyArNDkzLDcgQEAg c3RhdGljIGludCBvdmVybGF5X2N1ZGFfY29uZmlnX291dHB1dChBVkZpbHRlckxpbmsgKm91dGxp bmspCiAgICAgICAgIHJldHVybiBlcnI7CiAgICAgfQogCi0gICAgZXJyID0gZmZfY3VkYV9sb2Fk X21vZHVsZShjdHgsIGN0eC0+aHdjdHgsICZjdHgtPmN1X21vZHVsZSwgZmZfdmZfb3ZlcmxheV9j dWRhX3B0eF9kYXRhLCBmZl92Zl9vdmVybGF5X2N1ZGFfcHR4X2xlbik7CisgICAgZXJyID0gZmZf Y3VkYV9sb2FkX21vZHVsZShjdHgsIGN0eC0+aHdjdHgsICZjdHgtPmN1X21vZHVsZSwgZmZfdmZf b3ZlcmxheV9jdWRhX3B0eF9kYXRhKTsKICAgICBpZiAoZXJyIDwgMCkgewogICAgICAgICBDSEVD S19DVShjdS0+Y3VDdHhQb3BDdXJyZW50KCZkdW1teSkpOwogICAgICAgICByZXR1cm4gZXJyOwpk aWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfc2NhbGVfY3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZf c2NhbGVfY3VkYS5jCmluZGV4IDQ0ZWVmMjA3Y2EuLjZlMjM4YzdjNzMgMTAwNjQ0Ci0tLSBhL2xp YmF2ZmlsdGVyL3ZmX3NjYWxlX2N1ZGEuYworKysgYi9saWJhdmZpbHRlci92Zl9zY2FsZV9jdWRh LmMKQEAgLTI5MCw3ICsyOTAsNiBAQCBzdGF0aWMgYXZfY29sZCBpbnQgY3VkYXNjYWxlX2xvYWRf ZnVuY3Rpb25zKEFWRmlsdGVyQ29udGV4dCAqY3R4KQogICAgIGNvbnN0IGNoYXIgKmZ1bmN0aW9u X2luZml4ID0gIiI7CiAKICAgICBleHRlcm4gY29uc3QgdW5zaWduZWQgY2hhciBmZl92Zl9zY2Fs ZV9jdWRhX3B0eF9kYXRhW107Ci0gICAgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCBmZl92Zl9z Y2FsZV9jdWRhX3B0eF9sZW47CiAKICAgICBzd2l0Y2gocy0+aW50ZXJwX2FsZ28pIHsKICAgICBj YXNlIElOVEVSUF9BTEdPX05FQVJFU1Q6CkBAIC0zMjQsNyArMzIzLDcgQEAgc3RhdGljIGF2X2Nv bGQgaW50IGN1ZGFzY2FsZV9sb2FkX2Z1bmN0aW9ucyhBVkZpbHRlckNvbnRleHQgKmN0eCkKICAg ICAgICAgcmV0dXJuIHJldDsKIAogICAgIHJldCA9IGZmX2N1ZGFfbG9hZF9tb2R1bGUoY3R4LCBz LT5od2N0eCwgJnMtPmN1X21vZHVsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZm X3ZmX3NjYWxlX2N1ZGFfcHR4X2RhdGEsIGZmX3ZmX3NjYWxlX2N1ZGFfcHR4X2xlbik7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmZl92Zl9zY2FsZV9jdWRhX3B0eF9kYXRhKTsKICAg ICBpZiAocmV0IDwgMCkKICAgICAgICAgZ290byBmYWlsOwogCmRpZmYgLS1naXQgYS9saWJhdmZp bHRlci92Zl90aHVtYm5haWxfY3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZfdGh1bWJuYWlsX2N1ZGEu YwppbmRleCAxMjEyNzRkZTExLi5iZWEwN2Y3MDQxIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92 Zl90aHVtYm5haWxfY3VkYS5jCisrKyBiL2xpYmF2ZmlsdGVyL3ZmX3RodW1ibmFpbF9jdWRhLmMK QEAgLTM2OCw3ICszNjgsNiBAQCBzdGF0aWMgaW50IGNvbmZpZ19wcm9wcyhBVkZpbHRlckxpbmsg KmlubGluaykKICAgICBpbnQgcmV0OwogCiAgICAgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIg ZmZfdmZfdGh1bWJuYWlsX2N1ZGFfcHR4X2RhdGFbXTsKLSAgICBleHRlcm4gY29uc3QgdW5zaWdu ZWQgaW50IGZmX3ZmX3RodW1ibmFpbF9jdWRhX3B0eF9sZW47CiAKICAgICBzLT5od2N0eCA9IGRl dmljZV9od2N0eDsKICAgICBzLT5jdV9zdHJlYW0gPSBzLT5od2N0eC0+c3RyZWFtOwpAQCAtMzc3 LDcgKzM3Niw3IEBAIHN0YXRpYyBpbnQgY29uZmlnX3Byb3BzKEFWRmlsdGVyTGluayAqaW5saW5r KQogICAgIGlmIChyZXQgPCAwKQogICAgICAgICByZXR1cm4gcmV0OwogCi0gICAgcmV0ID0gZmZf Y3VkYV9sb2FkX21vZHVsZShjdHgsIGRldmljZV9od2N0eCwgJnMtPmN1X21vZHVsZSwgZmZfdmZf dGh1bWJuYWlsX2N1ZGFfcHR4X2RhdGEsIGZmX3ZmX3RodW1ibmFpbF9jdWRhX3B0eF9sZW4pOwor ICAgIHJldCA9IGZmX2N1ZGFfbG9hZF9tb2R1bGUoY3R4LCBkZXZpY2VfaHdjdHgsICZzLT5jdV9t b2R1bGUsIGZmX3ZmX3RodW1ibmFpbF9jdWRhX3B0eF9kYXRhKTsKICAgICBpZiAocmV0IDwgMCkK ICAgICAgICAgcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfeWFkaWZf Y3VkYS5jIGIvbGliYXZmaWx0ZXIvdmZfeWFkaWZfY3VkYS5jCmluZGV4IDUwYWM2MWFkOGEuLmNk OWE1YmEyZTcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX3lhZGlmX2N1ZGEuYworKysgYi9s aWJhdmZpbHRlci92Zl95YWRpZl9jdWRhLmMKQEAgLTI5LDcgKzI5LDYgQEAKICNpbmNsdWRlICJj dWRhL2xvYWRfaGVscGVyLmgiCiAKIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIGZmX3ZmX3lh ZGlmX2N1ZGFfcHR4X2RhdGFbXTsKLWV4dGVybiBjb25zdCB1bnNpZ25lZCBpbnQgZmZfdmZfeWFk aWZfY3VkYV9wdHhfbGVuOwogCiB0eXBlZGVmIHN0cnVjdCBEZWludENVREFDb250ZXh0IHsKICAg ICBZQURJRkNvbnRleHQgeWFkaWY7CkBAIC0yOTEsNyArMjkwLDcgQEAgc3RhdGljIGludCBjb25m aWdfb3V0cHV0KEFWRmlsdGVyTGluayAqbGluaykKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAg Z290byBleGl0OwogCi0gICAgcmV0ID0gZmZfY3VkYV9sb2FkX21vZHVsZShjdHgsIHMtPmh3Y3R4 LCAmcy0+Y3VfbW9kdWxlLCBmZl92Zl95YWRpZl9jdWRhX3B0eF9kYXRhLCBmZl92Zl95YWRpZl9j dWRhX3B0eF9sZW4pOworICAgIHJldCA9IGZmX2N1ZGFfbG9hZF9tb2R1bGUoY3R4LCBzLT5od2N0 eCwgJnMtPmN1X21vZHVsZSwgZmZfdmZfeWFkaWZfY3VkYV9wdHhfZGF0YSk7CiAgICAgaWYgKHJl dCA8IDApCiAgICAgICAgIGdvdG8gZXhpdDsKIAotLSAKMi40NS4yCgo= --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0006-ffbuild-bin2c-Allow-to-use-aligned-reads.patch" Content-Disposition: attachment; filename="v2-0006-ffbuild-bin2c-Allow-to-use-aligned-reads.patch" Content-Transfer-Encoding: base64 RnJvbSBlM2QyYmUxZWMwYTJiN2JiNGJlZWJjNGMyYTNjYmVkZTRiYmJmNDM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAwOjA4OjMxICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDYvMTBdIGZmYnVpbGQvYmluMmM6IEFsbG93IHRvIHVzZSBhbGln bmVkIHJlYWRzCgpQb3NzaWJsZSBpZiBvbmUgYWxpZ25zIHRoZSBidWZmZXIuCgpTaWduZWQtb2Zm LWJ5OiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4K LS0tCiBmZmJ1aWxkL2JpbjJjLmMgICAgICAgICAgICAgICAgfCAxMCArKysrKystLS0tCiBmZnRv b2xzL3Jlc291cmNlcy9yZXNtYW4uYyAgICAgfCAgNCArKy0tCiBsaWJhdmZpbHRlci9jdWRhL2xv YWRfaGVscGVyLmMgfCAgNCArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyks IDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZmZidWlsZC9iaW4yYy5jIGIvZmZidWlsZC9i aW4yYy5jCmluZGV4IGU4NjQzY2E3OTIuLmMzODBhMGFjNDMgMTAwNjQ0Ci0tLSBhL2ZmYnVpbGQv YmluMmMuYworKysgYi9mZmJ1aWxkL2JpbjJjLmMKQEAgLTExNSwxMSArMTE1LDE0IEBAIHN0YXRp YyB2b2lkIHdyaXRlX3UzMihGSUxFICpvdXRwdXQsIHVpbnQzMl90IG51bSkKICAgICAgICAgICAg ICAgICAobnVtID4+IChIQVZFX0JJR0VORElBTiA/ICgyNCAtIDggKiBpKSA6IDggKiBpKSkgJiAw eGZmKTsKIH0KIAotc3RhdGljIGludCBoYW5kbGVfY29tcHJlc3NlZF9maWxlKEZJTEUgKmlucHV0 LCBGSUxFICpvdXRwdXQpCitzdGF0aWMgaW50IGhhbmRsZV9jb21wcmVzc2VkX2ZpbGUoRklMRSAq aW5wdXQsIEZJTEUgKm91dHB1dCwgY29uc3QgY2hhciAqbmFtZSkKIHsKICAgICB1bnNpZ25lZCBj aGFyICpjb21wcmVzc2VkX2RhdGE7CiAgICAgdWludDMyX3QgY29tcHJlc3NlZF9zaXplLCB1bmNv bXByZXNzZWRfc2l6ZTsKIAorICAgIGZwcmludGYob3V0cHV0LCAiI2luY2x1ZGUgXCJsaWJhdnV0 aWwvbWVtX2ludGVybmFsLmhcIlxuIik7CisgICAgZnByaW50ZihvdXRwdXQsICJERUNMQVJFX0FM SUdORURfNChjb25zdCB1bnNpZ25lZCBjaGFyLCBmZl8lc19kYXRhKVtdID0geyAiLCBuYW1lKTsK KwogICAgIGludCBlcnIgPSByZWFkX2ZpbGVfYW5kX2NvbXByZXNzKCZjb21wcmVzc2VkX2RhdGEs ICZjb21wcmVzc2VkX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnVuY29tcHJlc3NlZF9zaXplLCBpbnB1dCk7CiAgICAgaWYgKGVycikKQEAgLTE5NCwxMSArMTk3 LDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICB9CiAgICAgfQog Ci0gICAgZnByaW50ZihvdXRwdXQsICJjb25zdCB1bnNpZ25lZCBjaGFyIGZmXyVzX2RhdGFbXSA9 IHsgIiwgbmFtZSk7Ci0KICNpZiBDT05GSUdfUFRYX0NPTVBSRVNTSU9OIHx8IENPTkZJR19SRVNP VVJDRV9DT01QUkVTU0lPTgogICAgIGlmIChjb21wcmVzc2lvbikgewotICAgICAgICBpbnQgZXJy ID0gaGFuZGxlX2NvbXByZXNzZWRfZmlsZShpbnB1dCwgb3V0cHV0KTsKKyAgICAgICAgaW50IGVy ciA9IGhhbmRsZV9jb21wcmVzc2VkX2ZpbGUoaW5wdXQsIG91dHB1dCwgbmFtZSk7CiAgICAgICAg IGlmIChlcnIpIHsKICAgICAgICAgICAgIGZjbG9zZShpbnB1dCk7CiAgICAgICAgICAgICBmY2xv c2Uob3V0cHV0KTsKQEAgLTIxMCw2ICsyMTEsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBpbnQgbGVuZ3RoID0gMDsKIAorICAgICAg ICBmcHJpbnRmKG91dHB1dCwgImNvbnN0IHVuc2lnbmVkIGNoYXIgZmZfJXNfZGF0YVtdID0geyAi LCBuYW1lKTsKICAgICAgICAgd2hpbGUgKGZyZWFkKCZkYXRhLCAxLCAxLCBpbnB1dCkgPiAwKSB7 CiAgICAgICAgICAgICBmcHJpbnRmKG91dHB1dCwgIjB4JTAyeCwgIiwgZGF0YSk7CiAgICAgICAg ICAgICBsZW5ndGgrKzsKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jIGIv ZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKaW5kZXggZmMwMDQ2NTc3NS4uMDA5NGVjZDRjNSAx MDA2NDQKLS0tIGEvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKKysrIGIvZmZ0b29scy9yZXNv dXJjZXMvcmVzbWFuLmMKQEAgLTY0LDE0ICs2NCwxNCBAQCBzdGF0aWMgUmVzb3VyY2VNYW5hZ2Vy Q29udGV4dCByZXNtYW5fY3R4ID0geyAuY2xhc3MgPSAmcmVzbWFuX2NsYXNzIH07CiBzdGF0aWMg aW50IGRlY29tcHJlc3NfemxpYihSZXNvdXJjZU1hbmFnZXJDb250ZXh0ICpjdHgsIGNvbnN0IHVp bnQ4X3QgKmluLCBjaGFyICoqb3V0KQogewogICAgIC8vIEFsbG9jYXRlIG91dHB1dCBidWZmZXIg d2l0aCBleHRyYSBieXRlIGZvciBudWxsIHRlcm1pbmF0aW9uCi0gICAgdWludDMyX3QgdW5jb21w cmVzc2VkX3NpemUgPSBBVl9STjMyKGluKTsKKyAgICB1aW50MzJfdCB1bmNvbXByZXNzZWRfc2l6 ZSA9IEFWX1JOMzJBKGluKTsKICAgICB1aW50OF90ICpidWYgPSBhdl9tYWxsb2ModW5jb21wcmVz c2VkX3NpemUgKyAxKTsKICAgICBpZiAoIWJ1ZikgewogICAgICAgICBhdl9sb2coY3R4LCBBVl9M T0dfRVJST1IsICJGYWlsZWQgdG8gYWxsb2NhdGUgZGVjb21wcmVzc2lvbiBidWZmZXJcbiIpOwog ICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogICAgIH0KICAgICB1TG9uZ2YgYnVmX3Np emUgPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSAgICBpbnQgcmV0ID0gdW5jb21wcmVzcyhidWYsICZi dWZfc2l6ZSwgaW4gKyA4LCBBVl9STjMyKGluICsgNCkpOworICAgIGludCByZXQgPSB1bmNvbXBy ZXNzKGJ1ZiwgJmJ1Zl9zaXplLCBpbiArIDgsIEFWX1JOMzJBKGluICsgNCkpOwogICAgIGlmIChy ZXQgIT0gWl9PSyB8fCB1bmNvbXByZXNzZWRfc2l6ZSAhPSBidWZfc2l6ZSkgewogICAgICAgICBh dl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJFcnJvciB1bmNvbXByZXNzaW5nIHJlc291cmNlLiB6 bGliIHJldHVybmVkICVkXG4iLCByZXQpOwogICAgICAgICBhdl9mcmVlKGJ1Zik7CmRpZmYgLS1n aXQgYS9saWJhdmZpbHRlci9jdWRhL2xvYWRfaGVscGVyLmMgYi9saWJhdmZpbHRlci9jdWRhL2xv YWRfaGVscGVyLmMKaW5kZXggZTQ3ZjA0MjFlZi4uNzllYzM3YzdjZCAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvY3VkYS9sb2FkX2hlbHBlci5jCisrKyBiL2xpYmF2ZmlsdGVyL2N1ZGEvbG9hZF9o ZWxwZXIuYwpAQCAtMzgsMTMgKzM4LDEzIEBAIGludCBmZl9jdWRhX2xvYWRfbW9kdWxlKHZvaWQg KmF2Y3R4LCBBVkNVREFEZXZpY2VDb250ZXh0ICpod2N0eCwgQ1Vtb2R1bGUgKmN1X21vCiAgICAg Q3VkYUZ1bmN0aW9ucyAqY3UgPSBod2N0eC0+aW50ZXJuYWwtPmN1ZGFfZGw7CiAKICNpZiBDT05G SUdfUFRYX0NPTVBSRVNTSU9OCi0gICAgdWludDMyX3QgdW5jb21wcmVzc2VkX3NpemUgPSBBVl9S TjMyKGRhdGEpOworICAgIHVpbnQzMl90IHVuY29tcHJlc3NlZF9zaXplID0gQVZfUk4zMkEoZGF0 YSk7CiAgICAgdWludDhfdCAqYnVmID0gYXZfcmVhbGxvYyhOVUxMLCB1bmNvbXByZXNzZWRfc2l6 ZSArIDEpOwogICAgIGlmICghYnVmKQogICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwog CiAgICAgdUxvbmdmIGJ1Zl9zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0gICAgaW50IHJldCA9 IHVuY29tcHJlc3MoYnVmLCAmYnVmX3NpemUsIGRhdGEgKyA4LCBBVl9STjMyKGRhdGEgKyA0KSk7 CisgICAgaW50IHJldCA9IHVuY29tcHJlc3MoYnVmLCAmYnVmX3NpemUsIGRhdGEgKyA4LCBBVl9S TjMyQShkYXRhICsgNCkpOwogICAgIGlmIChyZXQgIT0gWl9PSyB8fCB1bmNvbXByZXNzZWRfc2l6 ZSAhPSBidWZfc2l6ZSkgewogICAgICAgICBhdl9sb2coYXZjdHgsIEFWX0xPR19FUlJPUiwgIkVy cm9yIHVuY29tcHJlc3NpbmcgY3VkYSBjb2RlLiB6bGliIHJldHVybmVkICVkXG4iLCByZXQpOwog ICAgICAgICByZXQgPSBBVkVSUk9SX0VYVEVSTkFMOwotLSAKMi40NS4yCgo= --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0007-fftools-resources-resman-Use-pointer-to-resource-.patch" Content-Disposition: attachment; filename*0="v2-0007-fftools-resources-resman-Use-pointer-to-resource-.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAwNzA4ZThhYTM5NjE2NmJiOThiNTc1NGRlNDg3NmYxYjEyOWI5ZTk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAzOjA5OjQ1ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDcvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogVXNlIHBv aW50ZXIgdG8KIHJlc291cmNlIGRlZmluaXRpb24KCkl0IGRvZXMgbm90IHJlYWxseSBtYXR0ZXIg b24gaXRzIG93biBnaXZlbiB0aGF0IEZGUmVzb3VyY2VEZWZpbml0aW9uCmlzIHNvIHNtYWxsOyBp dCBpcyBtb3N0bHkgaW4gcHJlcGFyYXRpb24gZm9yIHRoZSBuZXh0IGNvbW1pdC4KClNpZ25lZC1v ZmYtYnk6IEFuZHJlYXMgUmhlaW5oYXJkdCA8YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29t PgotLS0KIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jIHwgMTggKysrKysrKysrLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVz bWFuLmMKaW5kZXggMDA5NGVjZDRjNS4uMWRlOTg0NzVjMyAxMDA2NDQKLS0tIGEvZmZ0b29scy9y ZXNvdXJjZXMvcmVzbWFuLmMKKysrIGIvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmMKQEAgLTk4 LDIzICs5OCwyMyBAQCB2b2lkIGZmX3Jlc21hbl91bmluaXQodm9pZCkKIGNoYXIgKmZmX3Jlc21h bl9nZXRfc3RyaW5nKEZGUmVzb3VyY2VJZCByZXNvdXJjZV9pZCkKIHsKICAgICBSZXNvdXJjZU1h bmFnZXJDb250ZXh0ICpjdHggPSAmcmVzbWFuX2N0eDsKLSAgICBGRlJlc291cmNlRGVmaW5pdGlv biByZXNvdXJjZV9kZWZpbml0aW9uID0geyAwIH07CisgICAgY29uc3QgRkZSZXNvdXJjZURlZmlu aXRpb24gKnJlc291cmNlX2RlZmluaXRpb24gPSBOVUxMOwogICAgIEFWRGljdGlvbmFyeUVudHJ5 ICpkaWNfZW50cnk7CiAgICAgY2hhciAqcmVzID0gTlVMTDsKIAogICAgIGZvciAodW5zaWduZWQg aSA9IDA7IGkgPCBGRl9BUlJBWV9FTEVNUyhyZXNvdXJjZV9kZWZpbml0aW9ucyk7ICsraSkgewot ICAgICAgICBGRlJlc291cmNlRGVmaW5pdGlvbiBkZWYgPSByZXNvdXJjZV9kZWZpbml0aW9uc1tp XTsKLSAgICAgICAgaWYgKGRlZi5yZXNvdXJjZV9pZCA9PSByZXNvdXJjZV9pZCkgeworICAgICAg ICBjb25zdCBGRlJlc291cmNlRGVmaW5pdGlvbiAqZGVmID0gJnJlc291cmNlX2RlZmluaXRpb25z W2ldOworICAgICAgICBpZiAoZGVmLT5yZXNvdXJjZV9pZCA9PSByZXNvdXJjZV9pZCkgewogICAg ICAgICAgICAgcmVzb3VyY2VfZGVmaW5pdGlvbiA9IGRlZjsKICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICB9CiAgICAgfQogCi0gICAgYXZfYXNzZXJ0MShyZXNvdXJjZV9kZWZpbml0aW9uLm5h bWUpOworICAgIGF2X2Fzc2VydDEocmVzb3VyY2VfZGVmaW5pdGlvbik7CiAKICAgICBmZl9tdXRl eF9sb2NrKCZtdXRleCk7CiAKLSAgICBkaWNfZW50cnkgPSBhdl9kaWN0X2dldChjdHgtPnJlc291 cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi5uYW1lLCBOVUxMLCAwKTsKKyAgICBkaWNfZW50 cnkgPSBhdl9kaWN0X2dldChjdHgtPnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi0+ bmFtZSwgTlVMTCwgMCk7CiAKICAgICBpZiAoIWRpY19lbnRyeSkgewogICAgICAgICBpbnQgZGlj dF9yZXQ7CkBAIC0xMjMsMTMgKzEyMywxMyBAQCBjaGFyICpmZl9yZXNtYW5fZ2V0X3N0cmluZyhG RlJlc291cmNlSWQgcmVzb3VyY2VfaWQpCiAKICAgICAgICAgY2hhciAqb3V0ID0gTlVMTDsKIAot ICAgICAgICBpbnQgcmV0ID0gZGVjb21wcmVzc196bGliKGN0eCwgcmVzb3VyY2VfZGVmaW5pdGlv bi5kYXRhLCAmb3V0KTsKKyAgICAgICAgaW50IHJldCA9IGRlY29tcHJlc3NfemxpYihjdHgsIHJl c291cmNlX2RlZmluaXRpb24tPmRhdGEsICZvdXQpOwogICAgICAgICBpZiAocmV0KSB7CiAgICAg ICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJVbmFibGUgdG8gZGVjb21wcmVzcyB0 aGUgcmVzb3VyY2Ugd2l0aCBJRCAlZFxuIiwgcmVzb3VyY2VfaWQpOwogICAgICAgICAgICAgZ290 byBlbmQ7CiAgICAgICAgIH0KIAotICAgICAgICBkaWN0X3JldCA9IGF2X2RpY3Rfc2V0KCZjdHgt PnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi5uYW1lLCBvdXQsIDApOworICAgICAg ICBkaWN0X3JldCA9IGF2X2RpY3Rfc2V0KCZjdHgtPnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVm aW5pdGlvbi0+bmFtZSwgb3V0LCAwKTsKICAgICAgICAgaWYgKGRpY3RfcmV0IDwgMCkgewogICAg ICAgICAgICAgYXZfbG9nKGN0eCwgQVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRvIHN0b3JlIGRlY29t cHJlc3NlZCByZXNvdXJjZSBpbiBkaWN0aW9uYXJ5OiAlZFxuIiwgZGljdF9yZXQpOwogICAgICAg ICAgICAgYXZfZnJlZXAoJm91dCk7CkBAIC0xMzksMTQgKzEzOSwxNCBAQCBjaGFyICpmZl9yZXNt YW5fZ2V0X3N0cmluZyhGRlJlc291cmNlSWQgcmVzb3VyY2VfaWQpCiAgICAgICAgIGF2X2ZyZWVw KCZvdXQpOwogI2Vsc2UKIAotICAgICAgICBkaWN0X3JldCA9IGF2X2RpY3Rfc2V0KCZjdHgtPnJl c291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi5uYW1lLCAoY29uc3QgY2hhciAqKXJlc291 cmNlX2RlZmluaXRpb24uZGF0YSwgMCk7CisgICAgICAgIGRpY3RfcmV0ID0gYXZfZGljdF9zZXQo JmN0eC0+cmVzb3VyY2VfZGljLCByZXNvdXJjZV9kZWZpbml0aW9uLT5uYW1lLCAoY29uc3QgY2hh ciAqKXJlc291cmNlX2RlZmluaXRpb24tPmRhdGEsIDApOwogICAgICAgICBpZiAoZGljdF9yZXQg PCAwKSB7CiAgICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJGYWlsZWQgdG8g c3RvcmUgcmVzb3VyY2UgaW4gZGljdGlvbmFyeTogJWRcbiIsIGRpY3RfcmV0KTsKICAgICAgICAg ICAgIGdvdG8gZW5kOwogICAgICAgICB9CiAKICNlbmRpZgotICAgICAgICBkaWNfZW50cnkgPSBh dl9kaWN0X2dldChjdHgtPnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi5uYW1lLCBO VUxMLCAwKTsKKyAgICAgICAgZGljX2VudHJ5ID0gYXZfZGljdF9nZXQoY3R4LT5yZXNvdXJjZV9k aWMsIHJlc291cmNlX2RlZmluaXRpb24tPm5hbWUsIE5VTEwsIDApOwogCiAgICAgICAgIGlmICgh ZGljX2VudHJ5KSB7CiAgICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJGYWls ZWQgdG8gcmV0cmlldmUgcmVzb3VyY2UgZnJvbSBkaWN0aW9uYXJ5IGFmdGVyIHN0b3JpbmcgaXRc biIpOwotLSAKMi40NS4yCgo= --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0008-fftools-resources-resman-Constify-ret-of-ff_resma.patch" Content-Disposition: attachment; filename*0="v2-0008-fftools-resources-resman-Constify-ret-of-ff_resma.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA5NzVhMDhmOWI5ODhjZmM2MjhkMTk0MWFlOGZlYzVlNmI0NmJhOTQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAzOjE0OjM2ICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDgvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogQ29uc3Rp ZnkgcmV0IG9mCiBmZl9yZXNtYW5fZ2V0X3N0cmluZygpCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFz IFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4KLS0tCiBmZnRvb2xz L3Jlc291cmNlcy9yZXNtYW4uYyB8IDQgKystLQogZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmgg fCAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYyBiL2ZmdG9vbHMvcmVzb3Vy Y2VzL3Jlc21hbi5jCmluZGV4IDFkZTk4NDc1YzMuLmFhOTllMDdmNTAgMTAwNjQ0Ci0tLSBhL2Zm dG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCisrKyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5j CkBAIC05NSwxMiArOTUsMTIgQEAgdm9pZCBmZl9yZXNtYW5fdW5pbml0KHZvaWQpCiB9CiAKIAot Y2hhciAqZmZfcmVzbWFuX2dldF9zdHJpbmcoRkZSZXNvdXJjZUlkIHJlc291cmNlX2lkKQorY29u c3QgY2hhciAqZmZfcmVzbWFuX2dldF9zdHJpbmcoRkZSZXNvdXJjZUlkIHJlc291cmNlX2lkKQog ewogICAgIFJlc291cmNlTWFuYWdlckNvbnRleHQgKmN0eCA9ICZyZXNtYW5fY3R4OwogICAgIGNv bnN0IEZGUmVzb3VyY2VEZWZpbml0aW9uICpyZXNvdXJjZV9kZWZpbml0aW9uID0gTlVMTDsKICAg ICBBVkRpY3Rpb25hcnlFbnRyeSAqZGljX2VudHJ5OwotICAgIGNoYXIgKnJlcyA9IE5VTEw7Cisg ICAgY29uc3QgY2hhciAqcmVzID0gTlVMTDsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg PCBGRl9BUlJBWV9FTEVNUyhyZXNvdXJjZV9kZWZpbml0aW9ucyk7ICsraSkgewogICAgICAgICBj b25zdCBGRlJlc291cmNlRGVmaW5pdGlvbiAqZGVmID0gJnJlc291cmNlX2RlZmluaXRpb25zW2ld OwpkaWZmIC0tZ2l0IGEvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmggYi9mZnRvb2xzL3Jlc291 cmNlcy9yZXNtYW4uaAppbmRleCBhZDU3YTEwMjA0Li5kNDFjODljZTM3IDEwMDY0NAotLS0gYS9m ZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uaAorKysgYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4u aApAQCAtNDMsNiArNDMsNiBAQCB0eXBlZGVmIHN0cnVjdCBGRlJlc291cmNlRGVmaW5pdGlvbiB7 CiAKIHZvaWQgZmZfcmVzbWFuX3VuaW5pdCh2b2lkKTsKIAotY2hhciAqZmZfcmVzbWFuX2dldF9z dHJpbmcoRkZSZXNvdXJjZUlkIHJlc291cmNlX2lkKTsKK2NvbnN0IGNoYXIgKmZmX3Jlc21hbl9n ZXRfc3RyaW5nKEZGUmVzb3VyY2VJZCByZXNvdXJjZV9pZCk7CiAKICNlbmRpZiAvKiBGRlRPT0xT X1JFU09VUkNFU19SRVNNQU5fSCAqLwotLSAKMi40NS4yCgo= --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0009-fftools-resources-resman-Avoid-AVDictionary.patch" Content-Disposition: attachment; filename*0="v2-0009-fftools-resources-resman-Avoid-AVDictionary.patch" Content-Transfer-Encoding: base64 RnJvbSA0NmFmYmUzMWZkNTE1NmI2ZDg0ZGE2MDdhNjMwNGRmYTc2NzE0N2U5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAzOjM3OjQzICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMDkvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogQXZvaWQg QVZEaWN0aW9uYXJ5CgpVc2luZyBpdCBpbmN1cnMgYW4gdW5uZWNlc3NhcnkgZHVwbGljYXRpb24g KHRlbXBvcmFyeSB3aGVuCmNvbXByZXNzaW9uIGlzIGVuYWJsZWQpLiBJdCBmdXJ0aGVybW9yZSBp bmN1cnMgY2hlY2tzCmZvciBhdl9kaWN0X3NldCgpL2F2X2RpY3RfZ2V0KCkuIFVzaW5nIGFuIGFy cmF5IG9mIHBvaW50ZXJzCmlzIHNpbXBsZXIuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIFJoZWlu aGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4KLS0tCiBmZnRvb2xzL3Jlc291 cmNlcy9yZXNtYW4uYyB8IDY0ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBmZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uaCB8ICAxIC0KIDIgZmlsZXMgY2hhbmdlZCwgMTgg aW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZmZ0b29scy9yZXNv dXJjZXMvcmVzbWFuLmMgYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYwppbmRleCBhYTk5ZTA3 ZjUwLi40NDk3ZDY1ZjNkIDEwMDY0NAotLS0gYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYwor KysgYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYwpAQCAtMzQsMjQgKzM0LDIzIEBACiAjaW5j bHVkZSAicmVzbWFuLmgiCiAjaW5jbHVkZSAibGliYXZ1dGlsL2F2YXNzZXJ0LmgiCiAjaW5jbHVk ZSAibGliYXZ1dGlsL2ludHJlYWR3cml0ZS5oIgotI2luY2x1ZGUgImxpYmF2dXRpbC9kaWN0Lmgi CiAKIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIGZmX2dyYXBoX2h0bWxfZGF0YVtdOwogZXh0 ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmZfZ3JhcGhfY3NzX2RhdGFbXTsKIAogc3RhdGljIGNv bnN0IEZGUmVzb3VyY2VEZWZpbml0aW9uIHJlc291cmNlX2RlZmluaXRpb25zW10gPSB7Ci0gICAg W0ZGX1JFU09VUkNFX0dSQVBIX0NTU10gICA9IHsgRkZfUkVTT1VSQ0VfR1JBUEhfQ1NTLCAgICJn cmFwaC5jc3MiLCAgIGZmX2dyYXBoX2Nzc19kYXRhICB9LAotICAgIFtGRl9SRVNPVVJDRV9HUkFQ SF9IVE1MXSAgPSB7IEZGX1JFU09VUkNFX0dSQVBIX0hUTUwsICAiZ3JhcGguaHRtbCIsICBmZl9n cmFwaF9odG1sX2RhdGEgfSwKKyAgICBbRkZfUkVTT1VSQ0VfR1JBUEhfQ1NTXSAgID0geyBGRl9S RVNPVVJDRV9HUkFQSF9DU1MsICAgZmZfZ3JhcGhfY3NzX2RhdGEgIH0sCisgICAgW0ZGX1JFU09V UkNFX0dSQVBIX0hUTUxdICA9IHsgRkZfUkVTT1VSQ0VfR1JBUEhfSFRNTCwgIGZmX2dyYXBoX2h0 bWxfZGF0YSB9LAogfTsKIAotCisjaWYgQ09ORklHX1JFU09VUkNFX0NPTVBSRVNTSU9OCiBzdGF0 aWMgY29uc3QgQVZDbGFzcyByZXNtYW5fY2xhc3MgPSB7CiAgICAgLmNsYXNzX25hbWUgPSAiUmVz b3VyY2VNYW5hZ2VyIiwKIH07CiAKIHR5cGVkZWYgc3RydWN0IFJlc291cmNlTWFuYWdlckNvbnRl eHQgewogICAgIGNvbnN0IEFWQ2xhc3MgKmNsYXNzOwotICAgIEFWRGljdGlvbmFyeSAqcmVzb3Vy Y2VfZGljOworICAgIGNoYXIgKnJlc291cmNlc1tGRl9BUlJBWV9FTEVNUyhyZXNvdXJjZV9kZWZp bml0aW9ucyldOwogfSBSZXNvdXJjZU1hbmFnZXJDb250ZXh0OwogCiBzdGF0aWMgQVZNdXRleCBt dXRleCA9IEFWX01VVEVYX0lOSVRJQUxJWkVSOwpAQCAtNTksOCArNTgsNiBAQCBzdGF0aWMgQVZN dXRleCBtdXRleCA9IEFWX01VVEVYX0lOSVRJQUxJWkVSOwogc3RhdGljIFJlc291cmNlTWFuYWdl ckNvbnRleHQgcmVzbWFuX2N0eCA9IHsgLmNsYXNzID0gJnJlc21hbl9jbGFzcyB9OwogCiAKLSNp ZiBDT05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJT04KLQogc3RhdGljIGludCBkZWNvbXByZXNzX3ps aWIoUmVzb3VyY2VNYW5hZ2VyQ29udGV4dCAqY3R4LCBjb25zdCB1aW50OF90ICppbiwgY2hhciAq Km91dCkKIHsKICAgICAvLyBBbGxvY2F0ZSBvdXRwdXQgYnVmZmVyIHdpdGggZXh0cmEgYnl0ZSBm b3IgbnVsbCB0ZXJtaW5hdGlvbgpAQCAtODcsNzYgKzg0LDUxIEBAIHN0YXRpYyBpbnQgZGVjb21w cmVzc196bGliKFJlc291cmNlTWFuYWdlckNvbnRleHQgKmN0eCwgY29uc3QgdWludDhfdCAqaW4s IGNoYXIKIAogdm9pZCBmZl9yZXNtYW5fdW5pbml0KHZvaWQpCiB7CisjaWYgQ09ORklHX1JFU09V UkNFX0NPTVBSRVNTSU9OCiAgICAgZmZfbXV0ZXhfbG9jaygmbXV0ZXgpOwogCi0gICAgYXZfZGlj dF9mcmVlKCZyZXNtYW5fY3R4LnJlc291cmNlX2RpYyk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7 IGkgPCBGRl9BUlJBWV9FTEVNUyhyZXNtYW5fY3R4LnJlc291cmNlcyk7ICsraSkKKyAgICAgICAg YXZfZnJlZXAoJnJlc21hbl9jdHgucmVzb3VyY2VzW2ldKTsKIAogICAgIGZmX211dGV4X3VubG9j aygmbXV0ZXgpOworI2VuZGlmCiB9CiAKIAogY29uc3QgY2hhciAqZmZfcmVzbWFuX2dldF9zdHJp bmcoRkZSZXNvdXJjZUlkIHJlc291cmNlX2lkKQogewotICAgIFJlc291cmNlTWFuYWdlckNvbnRl eHQgKmN0eCA9ICZyZXNtYW5fY3R4OwogICAgIGNvbnN0IEZGUmVzb3VyY2VEZWZpbml0aW9uICpy ZXNvdXJjZV9kZWZpbml0aW9uID0gTlVMTDsKLSAgICBBVkRpY3Rpb25hcnlFbnRyeSAqZGljX2Vu dHJ5OwogICAgIGNvbnN0IGNoYXIgKnJlcyA9IE5VTEw7CisgICAgYXZfdW51c2VkIHVuc2lnbmVk IGlkeDsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBGRl9BUlJBWV9FTEVNUyhyZXNv dXJjZV9kZWZpbml0aW9ucyk7ICsraSkgewogICAgICAgICBjb25zdCBGRlJlc291cmNlRGVmaW5p dGlvbiAqZGVmID0gJnJlc291cmNlX2RlZmluaXRpb25zW2ldOwogICAgICAgICBpZiAoZGVmLT5y ZXNvdXJjZV9pZCA9PSByZXNvdXJjZV9pZCkgewogICAgICAgICAgICAgcmVzb3VyY2VfZGVmaW5p dGlvbiA9IGRlZjsKKyAgICAgICAgICAgIGlkeCA9IGk7CiAgICAgICAgICAgICBicmVhazsKICAg ICAgICAgfQogICAgIH0KIAogICAgIGF2X2Fzc2VydDEocmVzb3VyY2VfZGVmaW5pdGlvbik7CiAK LSAgICBmZl9tdXRleF9sb2NrKCZtdXRleCk7Ci0KLSAgICBkaWNfZW50cnkgPSBhdl9kaWN0X2dl dChjdHgtPnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi0+bmFtZSwgTlVMTCwgMCk7 Ci0KLSAgICBpZiAoIWRpY19lbnRyeSkgewotICAgICAgICBpbnQgZGljdF9yZXQ7Ci0KICNpZiBD T05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJT04KKyAgICBmZl9tdXRleF9sb2NrKCZtdXRleCk7CiAK LSAgICAgICAgY2hhciAqb3V0ID0gTlVMTDsKKyAgICBSZXNvdXJjZU1hbmFnZXJDb250ZXh0ICpj dHggPSAmcmVzbWFuX2N0eDsKIAotICAgICAgICBpbnQgcmV0ID0gZGVjb21wcmVzc196bGliKGN0 eCwgcmVzb3VyY2VfZGVmaW5pdGlvbi0+ZGF0YSwgJm91dCk7CisgICAgaWYgKCFjdHgtPnJlc291 cmNlc1tpZHhdKSB7CisgICAgICAgIGludCByZXQgPSBkZWNvbXByZXNzX3psaWIoY3R4LCByZXNv dXJjZV9kZWZpbml0aW9uLT5kYXRhLCAmY3R4LT5yZXNvdXJjZXNbaWR4XSk7CiAgICAgICAgIGlm IChyZXQpIHsKICAgICAgICAgICAgIGF2X2xvZyhjdHgsIEFWX0xPR19FUlJPUiwgIlVuYWJsZSB0 byBkZWNvbXByZXNzIHRoZSByZXNvdXJjZSB3aXRoIElEICVkXG4iLCByZXNvdXJjZV9pZCk7CiAg ICAgICAgICAgICBnb3RvIGVuZDsKICAgICAgICAgfQotCi0gICAgICAgIGRpY3RfcmV0ID0gYXZf ZGljdF9zZXQoJmN0eC0+cmVzb3VyY2VfZGljLCByZXNvdXJjZV9kZWZpbml0aW9uLT5uYW1lLCBv dXQsIDApOwotICAgICAgICBpZiAoZGljdF9yZXQgPCAwKSB7Ci0gICAgICAgICAgICBhdl9sb2co Y3R4LCBBVl9MT0dfRVJST1IsICJGYWlsZWQgdG8gc3RvcmUgZGVjb21wcmVzc2VkIHJlc291cmNl IGluIGRpY3Rpb25hcnk6ICVkXG4iLCBkaWN0X3JldCk7Ci0gICAgICAgICAgICBhdl9mcmVlcCgm b3V0KTsKLSAgICAgICAgICAgIGdvdG8gZW5kOwotICAgICAgICB9Ci0KLSAgICAgICAgYXZfZnJl ZXAoJm91dCk7Ci0jZWxzZQotCi0gICAgICAgIGRpY3RfcmV0ID0gYXZfZGljdF9zZXQoJmN0eC0+ cmVzb3VyY2VfZGljLCByZXNvdXJjZV9kZWZpbml0aW9uLT5uYW1lLCAoY29uc3QgY2hhciAqKXJl c291cmNlX2RlZmluaXRpb24tPmRhdGEsIDApOwotICAgICAgICBpZiAoZGljdF9yZXQgPCAwKSB7 Ci0gICAgICAgICAgICBhdl9sb2coY3R4LCBBVl9MT0dfRVJST1IsICJGYWlsZWQgdG8gc3RvcmUg cmVzb3VyY2UgaW4gZGljdGlvbmFyeTogJWRcbiIsIGRpY3RfcmV0KTsKLSAgICAgICAgICAgIGdv dG8gZW5kOwotICAgICAgICB9Ci0KLSNlbmRpZgotICAgICAgICBkaWNfZW50cnkgPSBhdl9kaWN0 X2dldChjdHgtPnJlc291cmNlX2RpYywgcmVzb3VyY2VfZGVmaW5pdGlvbi0+bmFtZSwgTlVMTCwg MCk7Ci0KLSAgICAgICAgaWYgKCFkaWNfZW50cnkpIHsKLSAgICAgICAgICAgIGF2X2xvZyhjdHgs IEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byByZXRyaWV2ZSByZXNvdXJjZSBmcm9tIGRpY3Rpb25h cnkgYWZ0ZXIgc3RvcmluZyBpdFxuIik7Ci0gICAgICAgICAgICBnb3RvIGVuZDsKLSAgICAgICAg fQogICAgIH0KLQotICAgIHJlcyA9IGRpY19lbnRyeS0+dmFsdWU7Ci0KKyAgICByZXMgPSBjdHgt PnJlc291cmNlc1tpZHhdOwogZW5kOgogICAgIGZmX211dGV4X3VubG9jaygmbXV0ZXgpOworI2Vs c2UKKyAgICByZXMgPSByZXNvdXJjZV9kZWZpbml0aW9uLT5kYXRhOworI2VuZGlmCiAgICAgcmV0 dXJuIHJlczsKIH0KZGlmZiAtLWdpdCBhL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5oIGIvZmZ0 b29scy9yZXNvdXJjZXMvcmVzbWFuLmgKaW5kZXggZDQxYzg5Y2UzNy4uZWUyMmU5NjBkMyAxMDA2 NDQKLS0tIGEvZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmgKKysrIGIvZmZ0b29scy9yZXNvdXJj ZXMvcmVzbWFuLmgKQEAgLTM2LDcgKzM2LDYgQEAgdHlwZWRlZiBlbnVtIHsKIAogdHlwZWRlZiBz dHJ1Y3QgRkZSZXNvdXJjZURlZmluaXRpb24gewogICAgIEZGUmVzb3VyY2VJZCByZXNvdXJjZV9p ZDsKLSAgICBjb25zdCBjaGFyICpuYW1lOwogCiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0 YTsKIH0gRkZSZXNvdXJjZURlZmluaXRpb247Ci0tIAoyLjQ1LjIKCg== --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/x-patch; charset=UTF-8; name="v2-0010-fftools-resources-resman-Improve-headers.patch" Content-Disposition: attachment; filename="v2-0010-fftools-resources-resman-Improve-headers.patch" Content-Transfer-Encoding: base64 RnJvbSBkOWM3MDA5OTNjMjgxZDEwMzdlMDI4M2QxODc5MjBlNmRmMGY5ODg1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4KRGF0ZTogTW9uLCAyIEp1biAyMDI1IDAzOjQ4OjUwICswMjAwClN1Ympl Y3Q6IFtQQVRDSCBXSVAgdjIgMTAvMTBdIGZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbjogSW1wcm92 ZSBoZWFkZXJzCgpEb24ndCByZWx5IG9uIGltcGxpY2l0IGluY2x1c2lvbnMgb2YgbGF2dS90aHJl YWQuaCBhbmQgbGF2dS9tZW0uaC4KClNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgUmhlaW5oYXJkdCA8 YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgotLS0KIGZmdG9vbHMvcmVzb3VyY2VzL3Jl c21hbi5jIHwgNSArKysrLQogZmZ0b29scy9yZXNvdXJjZXMvcmVzbWFuLmggfCA4IC0tLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uYyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jl c21hbi5jCmluZGV4IDQ0OTdkNjVmM2QuLjliOGY2ZTQwNmEgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMv cmVzb3VyY2VzL3Jlc21hbi5jCisrKyBiL2ZmdG9vbHMvcmVzb3VyY2VzL3Jlc21hbi5jCkBAIC0y NSwxMCArMjUsMTMgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaW5jbHVkZSA8c3RyaW5n Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CiAKICNpZiBDT05GSUdfUkVTT1VSQ0VfQ09NUFJFU1NJ T04KICNpbmNsdWRlIDx6bGliLmg+CisjaW5jbHVkZSAibGliYXZ1dGlsL2ludHJlYWR3cml0ZS5o IgorI2luY2x1ZGUgImxpYmF2dXRpbC9tZW0uaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvdGhyZWFk LmgiCiAjZW5kaWYKIAogI2luY2x1ZGUgInJlc21hbi5oIgpkaWZmIC0tZ2l0IGEvZmZ0b29scy9y ZXNvdXJjZXMvcmVzbWFuLmggYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uaAppbmRleCBlZTIy ZTk2MGQzLi4yMGU2YjEwMzdjIDEwMDY0NAotLS0gYS9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4u aAorKysgYi9mZnRvb2xzL3Jlc291cmNlcy9yZXNtYW4uaApAQCAtMjEsMTQgKzIxLDYgQEAKICNp Zm5kZWYgRkZUT09MU19SRVNPVVJDRVNfUkVTTUFOX0gKICNkZWZpbmUgRkZUT09MU19SRVNPVVJD RVNfUkVTTUFOX0gKIAotI2luY2x1ZGUgPHN0ZGludC5oPgotCi0jaW5jbHVkZSAiY29uZmlnLmgi Ci0jaW5jbHVkZSAiZmZ0b29scy9mZm1wZWcuaCIKLSNpbmNsdWRlICJsaWJhdnV0aWwvYXZ1dGls LmgiCi0jaW5jbHVkZSAibGliYXZ1dGlsL2JwcmludC5oIgotI2luY2x1ZGUgImZmdG9vbHMvdGV4 dGZvcm1hdC9hdnRleHRmb3JtYXQuaCIKLQogdHlwZWRlZiBlbnVtIHsKICAgICBGRl9SRVNPVVJD RV9HUkFQSF9DU1MsCiAgICAgRkZfUkVTT1VSQ0VfR1JBUEhfSFRNTCwKLS0gCjIuNDUuMgoK --------------77MvI01S5gvzj0mnjjhIbjnv Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --------------77MvI01S5gvzj0mnjjhIbjnv--