From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id EB93A4CE60 for <ffmpegdev@gitmailbox.com>; Mon, 14 Apr 2025 15:53:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E49E4687C78; Mon, 14 Apr 2025 18:53:22 +0300 (EEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2020.outbound.protection.outlook.com [40.92.19.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E740E687B57 for <ffmpeg-devel@ffmpeg.org>; Mon, 14 Apr 2025 18:53:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Vd9xQH0PIPKM6Ee45uzZKmmRn5xShTgSLoUA7coFI7V7b+smT+Ugh4Ka/8AeyAln7gjdLtV3cjWAL7kP1zb385Xv/SlqIp/uuuP0wKkSLQZ/nXTIR9TI1TY7yYB0XKa37377iaDRRyjMeP1956BqyVq/lQrPfdthCeZVjOFGV1dk/F9tAQxWW7BiXzoxK8L9OaV1cNW+6n3AejIBSfP6omenqJQwx+2p1pS8TTLcakA1dNpQQpY8MizwvasmKqWafyqOFZjfuQPVo+Y0Rsw9IA3kyR6q4wCJj5V7ZNT+SyYIN0l50fgNctAM5v7TaZrkxjGGGoggnnaZcnuGAtDQSA== 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=bdzgZ84lCO1wmZCiRLA5nji3RkeCwgTq+0n3o0HcZlY=; b=lTJrVKmxQmbVbBOL1WHi3YQyWwxfJFu3p7jnQZjlkPnRAY5vIxzEtYWBGcDIVSFzXIlsZ61SjargP02Cdo6B1IdpOf+7nX5K6fkCw+EfkjOBLcLmv0/BXQMSmssPZ9ZfQjoWefVK25V56cP/JKCWlTdMnh4BFG2EsO74Gx2bvuaYU6l7G2CvwzbUQ4tgLZXq62qImHt+pmVZ+Q7LoGIrbwkBwartovJlYG7PWRsBKoZzo2KHQNg4HwSA56kLlEvWG+WShvjJZ2ssS+pM7Vm6GjzW2wTmdEI6xMvio3Rb+0t3Mg/+kwTxLrLZ9Cm0p7T4mO+wRX/Ck1Ut08oHaUCVVw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bdzgZ84lCO1wmZCiRLA5nji3RkeCwgTq+0n3o0HcZlY=; b=KemCfYh6YjEYQOvwDT6b/ZitCc9hAkzSwrX33swb2oX6VKte6ffXqrMILt7mut/PFwCn5u9jhmpOC9mcJlcCy80+TEXt0tBausDhFxvgA+SZBgiW29OXLQ/5NsitowpMa8KY2LObmXRahUYEH5O0rDT9bZvlzWa14OtWtdC/KQdrIy1KQNFJDTyb5NHNStIJMkAHCBJV034HQHWifqGfIaUdLHjnQbMQgBtrSBD5pzzVo3SOBOh+ApC0cTdr7Nn+S8bFYHdTCvCeuGz+ZdDscc6tqhwqxQ9WM9FSB95m19FIgEvar4yO+BmGUdNDZAr2PmX6OY3gJhsjBtrATxOfuA== Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:145::16) by CH2P223MB1417.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:281::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.35; Mon, 14 Apr 2025 15:53:12 +0000 Received: from BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM ([fe80::c63a:275a:b3f4:fae9]) by BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM ([fe80::c63a:275a:b3f4:fae9%5]) with mapi id 15.20.8632.025; Mon, 14 Apr 2025 15:53:12 +0000 From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Thread-Topic: [FFmpeg-devel] [PATCH v5] libavcodec/dvbsubenc.c: add a disable_2bpp option to work around some decoders. Thread-Index: AQHbi5fmkoleGSTAo0en5El6loab3bNgTrTQgAibDQCAIrkqgIAX7pcg Date: Mon, 14 Apr 2025 15:53:11 +0000 Message-ID: <BN0P223MB0358E0D9C319CD7A93075805BAB32@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM> References: <DM8P223MB036502E46137DD7E252AF669BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <20250302172331.57779-1-waider@waider.ie> <DM8P223MB036556909A24803D3FAC1D10BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <B53782C0-2E44-4BC8-8462-9612DBA9A03D@waider.ie> <A292891E-00A3-4E00-8CF4-508AA4A5D196@waider.ie> In-Reply-To: <A292891E-00A3-4E00-8CF4-508AA4A5D196@waider.ie> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN0P223MB0358:EE_|CH2P223MB1417:EE_ x-ms-office365-filtering-correlation-id: d534ed4c-3e7a-49b7-7b2c-08dd7b6c75cc x-microsoft-antispam: BCL:0; ARA:14566002|19110799003|15080799006|7092599003|461199028|8062599003|8060799006|3412199025|440099028|102099032|41001999003; x-microsoft-antispam-message-info: =?utf-8?B?eFFwaTZIZ1JiVHpTazJoSDk0NEdMeXhySFpPTEExWUt1YUpkUFF6NHNCUk9y?= =?utf-8?B?YjU2UW9JYjFMeERwRkI1THpSMTVYWjUwVTV0Kzl6aTF0Q1poR1RxcVdwWXRn?= =?utf-8?B?OHB6emowYzB6SlF1czU4N1lzM0FNQlF6eHBOY3ZpVUpYdnRyY0RKdnBlMmh6?= =?utf-8?B?Ly9xQURNVmF6Rk5KZVZ5azd6QU1GNUR0ZEVwdXNHQm5lVkdWa3UrZGRvVjR5?= =?utf-8?B?RTZoU3R4Smw5dkZZSmk1SStqeXlaVGtEa2Z6VS9UY01Nb1FaeGFscmd2WStW?= =?utf-8?B?cUJienViR1lCbTBabEprNUZJTi9FNEN4cFgyQkFmdHVPajdTdS9nTUVwdlpC?= =?utf-8?B?SllTb0k2Y1I5eDNUQXZMK2tUNVAyb3Q2VGo3STJVTUwvdUZrb0lOeXZweGF6?= =?utf-8?B?L3BQcEN1MXBoSHJGb3dFMTBmY0hlR0F0Sy9nL2lkUzdwUlJPWjVEc2pSbmhW?= =?utf-8?B?SE5tYWRsSXJ0bDQ5SzM1QW5oNjUrd1RPVkU0OUROS005ejNkM1dzUGxkM0hp?= =?utf-8?B?Lzh6bmR2bEhKZmk1Y2ppUlZwUVZtak5TNTJPVC9vT3l0elFGUnZoZFlSUU9w?= =?utf-8?B?NWFwYWVtRXU1bndNV2phdk11SDluUCt3UWwvazhRUEFzZ0ZSWmFvOUtiemVq?= =?utf-8?B?VXM5TkI1ckpTYTBvemxjdmxkSEJZOE5UMzFidGlIeURobUFxNnFncTU5NFE2?= =?utf-8?B?SGljemRyeXRKZThTOVFDSE42SVFSRnU0TjNaY1FheER1VDFPYVZyV29meEZ5?= =?utf-8?B?R2FHczJJNzlzbkZjcjBuQ1F3dHlZaHhOMnJMd3BHblN1c1EyWC9WaDR3aVdi?= =?utf-8?B?cTZ0NUN1UHpIUVZNSlJTY01uZVc4U1ZUWnVkYm8ya1FkRnJkMFFOb3psQnYr?= =?utf-8?B?MHhWWEVTTjJsOUw5NTNPeERWaGlNY3phQWgraUNaZ3N2Z1IwU2dWeUFnVmMw?= =?utf-8?B?a1ZNTDhVcWwydjVSNWszZ3lIY2J2Z1RlNUpMSklhc1grYTlYVFJsbUhYVnlz?= =?utf-8?B?dG9ZWDNmbld5V2RBM3MwZlNxUUpvTWNMOW16L0h1YUdMWmdPa25MTnY4ZVZr?= =?utf-8?B?N09hdXlwOXM4OGJJNnhScmlMaE5RREMyTXY4SlE5QzI3TXhBbnFyZFoyTmls?= =?utf-8?B?QWFFWW9wdE9NSFNQTHByY09CR2I1Tk8wK0VYOXJKZnY3NHBlSHlkY0gxVHpV?= =?utf-8?B?TEJERWM4ckZDS2RzeEpsWXpDS2tkNDNlbXcwd3h3cFdkeHlnQUgxeVVzVElK?= =?utf-8?B?TEoxL1VPQkRqcmR4N25ZajdObDhXRU92SjlXRnRoUlV3RU1jeVp0WDZmSUNa?= =?utf-8?B?LzVyNlpsTTN3c05CMm04VlpacXg2WHdVVGZyaE0xVVMvMWYvN3NFeTErSTBm?= =?utf-8?B?T0FWcEhycUs0OWlaUjVJVFlHZTczeFhMckQ4RHUrblFKQ1dwVDVnb3dQRU1H?= =?utf-8?B?UUdXT3kzcnhaOThSTm1sMmwvUVFLV0N1TUN5VmlZRjEzYk1nTVlDNUU0U01v?= =?utf-8?B?TkN0RkJ6empyc250c2hGdlZRRUs0UVVhSU1YbDZZMHhZR1h0cnpJdkkwUVdw?= =?utf-8?B?NEZ5Zz09?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UzFjeGZ2czU3MFhaN1pHVXhOL2ZudDIzVytMNk9KTkZDL2ZJSlhqUVdBdWxr?= =?utf-8?B?enJHZExPa3Fab090dklmSnl4dmRpTzRzbHVHSEx3YkpVSUY3c1dLb3lIYXdZ?= =?utf-8?B?MjU1UHlZUzJWY2J0VTdXV0ljaUZaMURoK0VLT1owRTBYdnpxRk9XWDdNZUdP?= =?utf-8?B?Vjh5OEs0VzRkbDJNLzFsWFZPZm9SYnZwVG5idWUyU0NQeXBJOWJPTmpHWDIr?= =?utf-8?B?YnZWNXhYUVJrRUQ1ekRDSjB6bnJkVHp5RkNocnRHbWdxNmlYWmxBQTZrSWhH?= =?utf-8?B?aTlFa2tEYVFSUWxGejBkN2JWQnAxNmU4ZmxFSnVkajFuejB3OEZVaE1HTWNS?= =?utf-8?B?ZmUvVkNpSDdneXRlNmE2YnNyd1lhRzV2MkIwemRhT2tuQWNYRjV2VzV0NzYx?= =?utf-8?B?Z3NBMEF2enZ6OVQyWm9tdTNJa0ZpRzVQdEFmQUV5K3EvYVBUL2F5UDRJd3Jn?= =?utf-8?B?T2xZdGE3RDNrb01uMFZ2dHJaWUVyekI4cnlqOXV6MTdobTA1N0NwaU9hV25S?= =?utf-8?B?b2VEVUhiUDIwbW50WkZiWVdzY0QrZzNmRWhSb3NlSjJQR29XbkUyeGY4bWRW?= =?utf-8?B?ZmtzQi9od2tCZkI2ck5EaHhyMWJVam45L0FNbVRWS2Ria0V2eW1NOGtoaXEz?= =?utf-8?B?SWZHZEVwU1JPaXZpTTlIY2FubzlJSUpOZDRSb3VTTmJWL0RJNGpMbUN3ZVZs?= =?utf-8?B?ZkQ5cC9nM0EzN0dXaG9lQU9nbjhsK2ZMKzJ0QVNOQ2x1Vm9xMStsSE9hYWpR?= =?utf-8?B?RUZuYWQ5U1ovTVlJQ1VVOFlyUWY5WWRVVVNGQjIrYndMVlBxV05iZTRla1c0?= =?utf-8?B?c2hDOGZkRjZ5SEtCV2tlckg5cE1uNXZJMmZEUnQyWFViNk5tRGxsTjFHaFlN?= =?utf-8?B?S2xuNWUwOWlSUjFiOTBnSEU4R203NmdYa0h6U0IzQ0ViVys0WWNWZHpnOGpm?= =?utf-8?B?cDl6T3B5cWNnaktaV1crWjNVUlB2WHhadWhQSGZDOTd4SVp2aXZoaGlGb1h0?= =?utf-8?B?Qk9TMEVDY3FaRHo5a09mWnVtRlVPbkR5UUJUcnBsY0lmbFhqSG5jWEpFK2pV?= =?utf-8?B?QVJQZDcyZjZqL3BxSE9kb3RsamJiTnNtcG9zWWZVTUMyaUZMd1VsOTdRYndm?= =?utf-8?B?VFNWaWt1bWdhN1BYbU1tdXlWbTh1aGdZUTk5b3NtNGhKU0IzaWwyQVd6eGZw?= =?utf-8?B?TWpmWVlYaTAxWThQNUxJb3ltVFM0QWY3bDN6QWdUYlZwWnNma0szc2I2TUo1?= =?utf-8?B?RzB3T0lyTVo3azhDU1JEZDJDY3RqZFNrQ2plNThUNmdtc3NuK1ZUSDhTREdK?= =?utf-8?B?bmRianBWdzlQVklhYlh6eUkwQXlHWldLWlRpVmswTk1DMllyTHh2ZTJQVVNm?= =?utf-8?B?TzlIRFg5aGVESVFlaGVZZ3RONmtibzRIUGRsdUREcDJ6VExCaXgzcmJYRTZD?= =?utf-8?B?UHlwUUc2YjBrWXNWZE8yTE5VVEFaUk9WWDh2SitwZ05na1U3cjJYZmZqK1hL?= =?utf-8?B?L085WEtjTW1WSkZESURwZWpzREdPNVNWdkdmWTdZN3JRYmdUdFFqVFI4VUVz?= =?utf-8?B?ZHpTMzhVYmNNeFNpQmU2T0U1Wk9XSmlTVklCOFIxcXhuaFBIQ3N4S1EyVGJo?= =?utf-8?Q?y7chaxWF1FzeDp5CZsPUywKxVReBRq+sulsNbntRZQtU=3D?= MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-1ff67.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: d534ed4c-3e7a-49b7-7b2c-08dd7b6c75cc X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2025 15:53:11.8926 (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: CH2P223MB1417 Subject: Re: [FFmpeg-devel] [PATCH v5] libavcodec/dvbsubenc.c: add a disable_2bpp option to work around some decoders. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/BN0P223MB0358E0D9C319CD7A93075805BAB32@BN0P223MB0358.NAMP223.PROD.OUTLOOK.COM/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gUm9uYW4gV2Fp ZGUNCj4gU2VudDogU29ubnRhZywgMzAuIE3DpHJ6IDIwMjUgMTI6MTgNCj4gVG86IEZGbXBlZyBk ZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLQ0KPiBkZXZlbEBmZm1w ZWcub3JnPg0KPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1kZXZlbF0gW1BBVENIIHY1XSBsaWJhdmNv ZGVjL2R2YnN1YmVuYy5jOiBhZGQgYQ0KPiBkaXNhYmxlXzJicHAgb3B0aW9uIHRvIHdvcmsgYXJv dW5kIHNvbWUgZGVjb2RlcnMuDQo+IA0KPiANCj4gDQo+ID4gT24gOCBNYXIgMjAyNSwgYXQgMDg6 MDIsIFJvbmFuIFdhaWRlIDx3YWlkZXJAd2FpZGVyLmllPiB3cm90ZToNCj4gPg0KPiA+DQo+ID4N Cj4gPj4gT24gMiBNYXIgMjAyNSwgYXQgMjA6MzgsIFNvZnQgV29ya3MgPHNvZnR3b3Jrei1hdC0N Cj4gaG90bWFpbC5jb21AZmZtcGVnLm9yZz4gd3JvdGU6DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4gUm9uYW4NCj4g Pj4+IFdhaWRlDQo+ID4+PiBTZW50OiBTb25udGFnLCAyLiBNw6RyeiAyMDI1IDE4OjI0DQo+ID4+ PiBUbzogZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcNCj4gPj4+IENjOiBSb25hbiBXYWlkZSA8d2Fp ZGVyQHdhaWRlci5pZT4NCj4gPj4+IFN1YmplY3Q6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2NV0g bGliYXZjb2RlYy9kdmJzdWJlbmMuYzogYWRkIGENCj4gPj4+IGRpc2FibGVfMmJwcCBvcHRpb24g dG8gd29yayBhcm91bmQgc29tZSBkZWNvZGVycy4NCj4gPj4+DQo+ID4+PiBBcyBub3RlZCBpbiB0 aGUgY29kZSBpbiBzZXZlcmFsIHBsYWNlcywgc29tZSBEVkIgc3VidGl0bGUgZGVjb2RlcnMNCj4g Pj4+IGRvbid0IGhhbmRsZSAyYnBwIGNvbG9yLiBUaGlzIHBhdGNoIGFkZHMgYSBkaXNhYmxlXzJi cHAgb3B0aW9uDQo+IHdoaWNoDQo+ID4+PiBkaXNhYmxlcyB0aGUgMmJwcCBmb3JtYXQ7IHN1YnRp dGxlcyB3aGljaCB3b3VsZCB1c2UgMmJwcCB3aWxsIGJlDQo+IGJ1bXBlZA0KPiA+Pj4gdXAgdG8g NGJwcC4gUGVyIHN1Z2dlc3Rpb24gZnJvbSBzdywgZGlzYWJsZV8ycHAgZGVmYXVsdHMgdG8gdHJ1 ZS4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5OiBSb25hbiBXYWlkZSA8d2FpZGVyQHdhaWRl ci5pZT4NCj4gPj4+IC0tLQ0KPiA+Pj4gZG9jL2VuY29kZXJzLnRleGkgICAgICB8IDI3ICsrKysr KysrKysrKysrKysrDQo+ID4+PiBsaWJhdmNvZGVjL2R2YnN1YmVuYy5jIHwgNjkgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCj4gLS0tLQ0KPiA+Pj4gMiBmaWxlcyBjaGFu Z2VkLCA3OCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkNCj4gPj4+DQo+ID4+PiBkaWZm IC0tZ2l0IGEvZG9jL2VuY29kZXJzLnRleGkgYi9kb2MvZW5jb2RlcnMudGV4aQ0KPiA+Pj4gaW5k ZXggZjNmY2MxYWE2MC4uNmVlMDA2NWM3ZCAxMDA2NDQNCj4gPj4+IC0tLSBhL2RvYy9lbmNvZGVy cy50ZXhpDQo+ID4+PiArKysgYi9kb2MvZW5jb2RlcnMudGV4aQ0KPiA+Pj4gQEAgLTQ0ODQsNiAr NDQ4NCwzMyBAQCBSZWR1Y2VzIGRldGFpbCBidXQgYXR0ZW1wdHMgdG8gcHJlc2VydmUNCj4gY29s b3IgYXQNCj4gPj4+IGV4dHJlbWVseSBsb3cgYml0cmF0ZXMuDQo+ID4+PiBAY2hhcHRlciBTdWJ0 aXRsZXMgRW5jb2RlcnMNCj4gPj4+IEBjIG1hbiBiZWdpbiBTVUJUSVRMRVMgRU5DT0RFUlMNCj4g Pj4+DQo+ID4+PiArQHNlY3Rpb24gZHZic3ViDQo+ID4+PiArDQo+ID4+PiArVGhpcyBjb2RlYyBl bmNvZGVzIHRoZSBiaXRtYXAgc3VidGl0bGUgZm9ybWF0IHRoYXQgaXMgdXNlZCBpbiBEVkINCj4g Pj4+ICticm9hZGNhc3RzIGFuZCByZWNvcmRpbmdzLiBUaGUgYml0bWFwcyBhcmUgdHlwaWNhbGx5 IGVtYmVkZGVkIGluDQo+IGENCj4gPj4+ICtjb250YWluZXIgc3VjaCBhcyBNUEVHLVRTIGFzIGEg c2VwYXJhdGUgc3RyZWFtLg0KPiA+Pj4gKw0KPiA+Pj4gK0BzdWJzZWN0aW9uIE9wdGlvbnMNCj4g Pj4+ICsNCj4gPj4+ICtAdGFibGUgQG9wdGlvbg0KPiA+Pj4gK0BpdGVtIGRpc2FibGVfMmJwcCBA dmFye2Jvb2xlYW59DQo+ID4+PiArRGlzYWJsZSB0aGUgMiBiaXRzLXBlci1waXhlbCBlbmNvZGlu ZyBmb3JtYXQuDQo+ID4+PiArDQo+ID4+PiArRFZCIHN1cHBvcnRzIDIsIDQsIGFuZCA4IGJpdHMt cGVyLXBpeGVsIGNvbG9yIGxvb2t1cCB0YWJsZXMuDQo+IEhvd2V2ZXIsDQo+ID4+PiArbm90IGFs bCBwbGF5ZXJzIHN1cHBvcnQgb3IgcHJvcGVybHkgc3VwcG9ydCAyIGJpdHMtcGVyLXBpeGVsLA0K PiA+Pj4gK3Jlc3VsdGluZyBpbiB1bnVzYWJsZSBzdWJ0aXRsZXMuDQo+ID4+PiArQHRhYmxlIEBv cHRpb24NCj4gPj4+ICtAaXRlbSAwDQo+ID4+PiArVGhlIDIgYml0cy1wZXItcGl4ZWwgZW5jb2Rp bmcgZm9ybWF0IHdpbGwgYmUgdXNlZCBmb3Igc3VidGl0bGVzDQo+IHdpdGggNA0KPiA+Pj4gK2Nv bG9ycyBvciBsZXNzLg0KPiA+Pj4gKw0KPiA+Pj4gK0BpdGVtIDENCj4gPj4+ICtUaGUgMiBiaXRz LXBlci1waXhlbCBlbmNvZGluZyBmb3JtYXQgd2lsbCBiZSBkaXNhYmxlZCwgYW5kDQo+IHN1YnRp dGxlcw0KPiA+Pj4gK3dpdGggNCBjb2xvcnMgb3IgbGVzcyB3aWxsIHVzZSBhIDQgYml0cy1wZXIt cGl4ZWwgZm9ybWF0Lg0KPiAoZGVmYXVsdCkNCj4gPj4+ICtAZW5kIHRhYmxlDQo+ID4+PiArDQo+ ID4+PiArQGVuZCB0YWJsZQ0KPiA+Pj4gKw0KPiA+Pj4gQHNlY3Rpb24gZHZkc3ViDQo+ID4+Pg0K PiA+Pj4gVGhpcyBjb2RlYyBlbmNvZGVzIHRoZSBiaXRtYXAgc3VidGl0bGUgZm9ybWF0IHRoYXQg aXMgdXNlZCBpbg0KPiBEVkRzLg0KPiA+Pj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvZHZic3Vi ZW5jLmMgYi9saWJhdmNvZGVjL2R2YnN1YmVuYy5jDQo+ID4+PiBpbmRleCA4MjJlM2E1MzA5Li40 ZGIyZTFkZGRhIDEwMDY0NA0KPiA+Pj4gLS0tIGEvbGliYXZjb2RlYy9kdmJzdWJlbmMuYw0KPiA+ Pj4gKysrIGIvbGliYXZjb2RlYy9kdmJzdWJlbmMuYw0KPiA+Pj4gQEAgLTIyLDkgKzIyLDEyIEBA DQo+ID4+PiAjaW5jbHVkZSAiYnl0ZXN0cmVhbS5oIg0KPiA+Pj4gI2luY2x1ZGUgImNvZGVjX2lu dGVybmFsLmgiDQo+ID4+PiAjaW5jbHVkZSAibGliYXZ1dGlsL2NvbG9yc3BhY2UuaCINCj4gPj4+ ICsjaW5jbHVkZSAibGliYXZ1dGlsL29wdC5oIg0KPiA+Pj4NCj4gPj4+IHR5cGVkZWYgc3RydWN0 IERWQlN1YnRpdGxlQ29udGV4dCB7DQo+ID4+PiArICAgIEFWQ2xhc3MgKiBjbGFzczsNCj4gPj4+ ICAgIGludCBvYmplY3RfdmVyc2lvbjsNCj4gPj4+ICsgICAgaW50IGRpc2FibGVfMmJwcDsNCj4g Pj4+IH0gRFZCU3VidGl0bGVDb250ZXh0Ow0KPiA+Pj4NCj4gPj4+ICNkZWZpbmUgUFVUQklUUzIo dmFsKVwNCj4gPj4+IEBAIC0yNzQsMTMgKzI3NywxNSBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNv ZGUoQVZDb2RlY0NvbnRleHQNCj4gKmF2Y3R4LA0KPiA+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQg YnVmX3NpemUsDQo+ID4+PiB7DQo+ID4+PiAgICBEVkJTdWJ0aXRsZUNvbnRleHQgKnMgPSBhdmN0 eC0+cHJpdl9kYXRhOw0KPiA+Pj4gICAgdWludDhfdCAqcSwgKnBzZWdfbGVuOw0KPiA+Pj4gLSAg ICBpbnQgcGFnZV9pZCwgcmVnaW9uX2lkLCBjbHV0X2lkLCBvYmplY3RfaWQsIGksIGJwcF9pbmRl eCwNCj4gPj4+IHBhZ2Vfc3RhdGU7DQo+ID4+PiArICAgIGludCBwYWdlX2lkLCByZWdpb25faWQs IGNsdXRfaWQsIG9iamVjdF9pZCwgaSwgYnBwX2luZGV4LA0KPiA+Pj4gcGFnZV9zdGF0ZSwgbWlu X2NvbG9yczsNCj4gPj4+DQo+ID4+Pg0KPiA+Pj4gICAgcSA9IG91dGJ1ZjsNCj4gPj4+DQo+ID4+ PiAgICBwYWdlX2lkID0gMTsNCj4gPj4+DQo+ID4+PiArICAgIG1pbl9jb2xvcnMgPSBzLT5kaXNh YmxlXzJicHAgPyAxNiA6IDA7DQo+ID4+PiArDQo+ID4+PiAgICBpZiAoaC0+bnVtX3JlY3RzICYm ICFoLT5yZWN0cykNCj4gPj4+ICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOw0KPiA+Pj4N Cj4gPj4+IEBAIC0zMjYsMTggKzMzMSwyMCBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNvZGUoQVZD b2RlY0NvbnRleHQNCj4gKmF2Y3R4LA0KPiA+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3Np emUsDQo+ID4+Pg0KPiA+Pj4gICAgaWYgKGgtPm51bV9yZWN0cykgew0KPiA+Pj4gICAgICAgIGZv ciAoY2x1dF9pZCA9IDA7IGNsdXRfaWQgPCBoLT5udW1fcmVjdHM7IGNsdXRfaWQrKykgew0KPiA+ Pj4gLSAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IDYgKyBoLT5yZWN0c1tjbHV0X2lkXS0+bmJf Y29sb3JzICogNikNCj4gPj4+ICsgICAgICAgICAgICBpbnQgbmJfY29sb3JzID0gRkZNQVgobWlu X2NvbG9ycywgaC0+cmVjdHNbY2x1dF9pZF0tDQo+ID4+Pj4gbmJfY29sb3JzKTsNCj4gPj4+ICsN Cj4gPj4+ICsgICAgICAgICAgICBpZiAoYnVmX3NpemUgPCA2ICsgbmJfY29sb3JzICogNikNCj4g Pj4+ICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0JVRkZFUl9UT09fU01BTEw7DQo+ID4+ Pg0KPiA+Pj4gICAgICAgICAgICAvKiBDTFVUIHNlZ21lbnQgKi8NCj4gPj4+DQo+ID4+PiAtICAg ICAgICAgICAgaWYgKGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMgPD0gNCkgew0KPiA+Pj4g KyAgICAgICAgICAgIGlmIChuYl9jb2xvcnMgPD0gNCkgew0KPiA+Pj4gICAgICAgICAgICAgICAg LyogMiBicHAsIHNvbWUgZGVjb2RlcnMgZG8gbm90IHN1cHBvcnQgaXQgY29ycmVjdGx5DQo+ICov DQo+ID4+PiAgICAgICAgICAgICAgICBicHBfaW5kZXggPSAwOw0KPiA+Pj4gLSAgICAgICAgICAg IH0gZWxzZSBpZiAoaC0+cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9ycyA8PSAxNikgew0KPiA+Pj4g KyAgICAgICAgICAgIH0gZWxzZSBpZiAobmJfY29sb3JzIDw9IDE2KSB7DQo+ID4+PiAgICAgICAg ICAgICAgICAvKiA0IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8NCj4gPj4+ICAgICAgICAgICAg ICAgIGJwcF9pbmRleCA9IDE7DQo+ID4+PiAtICAgICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0 c1tjbHV0X2lkXS0+bmJfY29sb3JzIDw9IDI1Nikgew0KPiA+Pj4gKyAgICAgICAgICAgIH0gZWxz ZSBpZiAobmJfY29sb3JzIDw9IDI1Nikgew0KPiA+Pj4gICAgICAgICAgICAgICAgLyogOCBicHAs IHN0YW5kYXJkIGVuY29kaW5nICovDQo+ID4+PiAgICAgICAgICAgICAgICBicHBfaW5kZXggPSAy Ow0KPiA+Pj4gICAgICAgICAgICB9IGVsc2Ugew0KPiA+Pj4gQEAgLTM1NCwxNiArMzYxLDI0IEBA IHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dA0KPiAqYXZjdHgsDQo+ID4+ PiB1aW50OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwNCj4gPj4+ICAgICAgICAgICAgKnErKyA9 IGNsdXRfaWQ7DQo+ID4+PiAgICAgICAgICAgICpxKysgPSAoMCA8PCA0KSB8IDB4ZjsgLyogdmVy c2lvbiA9IDAgKi8NCj4gPj4+DQo+ID4+PiAtICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgaC0+ cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9yczsgaSsrKSB7DQo+ID4+PiArICAgICAgICAgICAgZm9y KGkgPSAwOyBpIDwgbmJfY29sb3JzOyBpKyspIHsNCj4gPj4+ICAgICAgICAgICAgICAgICpxKysg PSBpOyAvKiBjbHV0X2VudHJ5X2lkICovDQo+ID4+PiAgICAgICAgICAgICAgICAqcSsrID0gKDEg PDwgKDcgLSBicHBfaW5kZXgpKSB8ICgweGYgPDwgMSkgfCAxOyAvKg0KPiAyDQo+ID4+PiBiaXRz L3BpeGVsIGZ1bGwgcmFuZ2UgKi8NCj4gPj4+ICAgICAgICAgICAgICAgIHsNCj4gPj4+ICAgICAg ICAgICAgICAgICAgICBpbnQgYSwgciwgZywgYjsNCj4gPj4+IC0gICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IHg9ICgodWludDMyX3QqKWgtPnJlY3RzW2NsdXRfaWRdLQ0KPiA+Pj4+IGRhdGFb MV0pW2ldOw0KPiA+Pj4gLSAgICAgICAgICAgICAgICAgICAgYSA9ICh4ID4+IDI0KSAmIDB4ZmY7 DQo+ID4+PiAtICAgICAgICAgICAgICAgICAgICByID0gKHggPj4gMTYpICYgMHhmZjsNCj4gPj4+ IC0gICAgICAgICAgICAgICAgICAgIGcgPSAoeCA+PiAgOCkgJiAweGZmOw0KPiA+Pj4gLSAgICAg ICAgICAgICAgICAgICAgYiA9ICh4ID4+ICAwKSAmIDB4ZmY7DQo+ID4+PiArICAgICAgICAgICAg ICAgICAgICBpZiAoaSA8IGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMpIHsNCj4gPj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB4PSAoKHVpbnQzMl90KiloLQ0KPiA+cmVj dHNbY2x1dF9pZF0tDQo+ID4+Pj4gZGF0YVsxXSlbaV07DQo+ID4+PiArICAgICAgICAgICAgICAg ICAgICAgICAgYSA9ICh4ID4+IDI0KSAmIDB4ZmY7DQo+ID4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgciA9ICh4ID4+IDE2KSAmIDB4ZmY7DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAg ICAgZyA9ICh4ID4+ICA4KSAmIDB4ZmY7DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAg YiA9ICh4ID4+ICAwKSAmIDB4ZmY7DQo+ID4+PiArICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug ew0KPiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIHBhZCBvdXQgdGhlIENMVVQgKi8N Cj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBhID0gMDsNCj4gPj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICByID0gMDsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBnID0g MDsNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBiID0gMDsNCj4gPj4+ICsgICAgICAg ICAgICAgICAgICAgIH0NCj4gPj4+DQo+ID4+PiAgICAgICAgICAgICAgICAgICAgKnErKyA9IFJH Ql9UT19ZX0NDSVIociwgZywgYik7DQo+ID4+PiAgICAgICAgICAgICAgICAgICAgKnErKyA9IFJH Ql9UT19WX0NDSVIociwgZywgYiwgMCk7DQo+ID4+PiBAQCAtMzczLDcgKzM4OCw3IEBAIHN0YXRp YyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dA0KPiAqYXZjdHgsDQo+ID4+PiB1aW50 OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwNCj4gPj4+ICAgICAgICAgICAgfQ0KPiA+Pj4NCj4g Pj4+ICAgICAgICAgICAgYnl0ZXN0cmVhbV9wdXRfYmUxNigmcHNlZ19sZW4sIHEgLSBwc2VnX2xl biAtIDIpOw0KPiA+Pj4gLSAgICAgICAgICAgIGJ1Zl9zaXplIC09IDYgKyBoLT5yZWN0c1tjbHV0 X2lkXS0+bmJfY29sb3JzICogNjsNCj4gPj4+ICsgICAgICAgICAgICBidWZfc2l6ZSAtPSA2ICsg bmJfY29sb3JzICogNjsNCj4gPj4+ICAgICAgICB9DQo+ID4+Pg0KPiA+Pj4gICAgICAgIGlmIChi dWZfc2l6ZSA8IGgtPm51bV9yZWN0cyAqIDIyKQ0KPiA+Pj4gQEAgLTM4MSwxNCArMzk2LDE1IEBA IHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dA0KPiAqYXZjdHgsDQo+ID4+ PiB1aW50OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwNCj4gPj4+ICAgICAgICBmb3IgKHJlZ2lv bl9pZCA9IDA7IHJlZ2lvbl9pZCA8IGgtPm51bV9yZWN0czsgcmVnaW9uX2lkKyspDQo+IHsNCj4g Pj4+DQo+ID4+PiAgICAgICAgICAgIC8qIHJlZ2lvbiBjb21wb3NpdGlvbiBzZWdtZW50ICovDQo+ ID4+PiArICAgICAgICAgICAgaW50IG5iX2NvbG9ycyA9IEZGTUFYKG1pbl9jb2xvcnMsIGgtDQo+ ID5yZWN0c1tyZWdpb25faWRdLQ0KPiA+Pj4+IG5iX2NvbG9ycyk7DQo+ID4+Pg0KPiA+Pj4gLSAg ICAgICAgICAgIGlmIChoLT5yZWN0c1tyZWdpb25faWRdLT5uYl9jb2xvcnMgPD0gNCkgew0KPiA+ Pj4gKyAgICAgICAgICAgIGlmIChuYl9jb2xvcnMgPD0gNCkgew0KPiA+Pj4gICAgICAgICAgICAg ICAgLyogMiBicHAsIHNvbWUgZGVjb2RlcnMgZG8gbm90IHN1cHBvcnQgaXQgY29ycmVjdGx5DQo+ ICovDQo+ID4+PiAgICAgICAgICAgICAgICBicHBfaW5kZXggPSAwOw0KPiA+Pj4gLSAgICAgICAg ICAgIH0gZWxzZSBpZiAoaC0+cmVjdHNbcmVnaW9uX2lkXS0+bmJfY29sb3JzIDw9IDE2KSB7DQo+ ID4+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMTYpIHsNCj4gPj4+ICAg ICAgICAgICAgICAgIC8qIDQgYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLw0KPiA+Pj4gICAgICAg ICAgICAgICAgYnBwX2luZGV4ID0gMTsNCj4gPj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgt PnJlY3RzW3JlZ2lvbl9pZF0tPm5iX2NvbG9ycyA8PSAyNTYpIHsNCj4gPj4+ICsgICAgICAgICAg ICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYpIHsNCj4gPj4+ICAgICAgICAgICAgICAgIC8q IDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLw0KPiA+Pj4gICAgICAgICAgICAgICAgYnBwX2lu ZGV4ID0gMjsNCj4gPj4+ICAgICAgICAgICAgfSBlbHNlIHsNCj4gPj4+IEBAIC00MjQsMTcgKzQ0 MCwxOSBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQNCj4gKmF2Y3R4 LA0KPiA+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsDQo+ID4+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiaXRtYXAsIGludA0KPiBsaW5l c2l6ZSwNCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQg aCk7DQo+ID4+Pg0KPiA+Pj4gKyAgICAgICAgICAgIGludCBuYl9jb2xvcnMgPSBGRk1BWChtaW5f Y29sb3JzLCBoLQ0KPiA+cmVjdHNbb2JqZWN0X2lkXS0NCj4gPj4+PiBuYl9jb2xvcnMpOw0KPiA+ Pj4gKw0KPiA+Pj4gICAgICAgICAgICBpZiAoYnVmX3NpemUgPCAxMykNCj4gPj4+ICAgICAgICAg ICAgICAgIHJldHVybiBBVkVSUk9SX0JVRkZFUl9UT09fU01BTEw7DQo+ID4+Pg0KPiA+Pj4gICAg ICAgICAgICAvKiBicHBfaW5kZXggbWF0aHMgKi8NCj4gPj4+IC0gICAgICAgICAgICBpZiAoaC0+ cmVjdHNbb2JqZWN0X2lkXS0+bmJfY29sb3JzIDw9IDQpIHsNCj4gPj4+ICsgICAgICAgICAgICBp ZiAobmJfY29sb3JzIDw9IDQpIHsNCj4gPj4+ICAgICAgICAgICAgICAgIC8qIDIgYnBwLCBzb21l IGRlY29kZXJzIGRvIG5vdCBzdXBwb3J0IGl0IGNvcnJlY3RseQ0KPiAqLw0KPiA+Pj4gICAgICAg ICAgICAgICAgZHZiX2VuY29kZV9ybGUgPSBkdmJfZW5jb2RlX3JsZTI7DQo+ID4+PiAtICAgICAg ICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5uYl9jb2xvcnMgPD0gMTYpIHsN Cj4gPj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAxNikgew0KPiA+Pj4g ICAgICAgICAgICAgICAgLyogNCBicHAsIHN0YW5kYXJkIGVuY29kaW5nICovDQo+ID4+PiAgICAg ICAgICAgICAgICBkdmJfZW5jb2RlX3JsZSA9IGR2Yl9lbmNvZGVfcmxlNDsNCj4gPj4+IC0gICAg ICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW29iamVjdF9pZF0tPm5iX2NvbG9ycyA8PSAyNTYp IHsNCj4gPj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYpIHsNCj4g Pj4+ICAgICAgICAgICAgICAgIC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLw0KPiA+Pj4g ICAgICAgICAgICAgICAgZHZiX2VuY29kZV9ybGUgPSBkdmJfZW5jb2RlX3JsZTg7DQo+ID4+PiAg ICAgICAgICAgIH0gZWxzZSB7DQo+ID4+PiBAQCAtNTA2LDYgKzUyNCwyMCBAQCBzdGF0aWMgaW50 IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQNCj4gKmF2Y3R4LA0KPiA+Pj4gdWludDhfdCAq b3V0YnVmLCBpbnQgYnVmX3NpemUsDQo+ID4+PiAgICByZXR1cm4gcSAtIG91dGJ1ZjsNCj4gPj4+ IH0NCj4gPj4+DQo+ID4+PiArI2RlZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoRFZCU3VidGl0bGVD b250ZXh0LCB4KQ0KPiA+Pj4gKyNkZWZpbmUgU0UgQVZfT1BUX0ZMQUdfU1VCVElUTEVfUEFSQU0g fA0KPiBBVl9PUFRfRkxBR19FTkNPRElOR19QQVJBTQ0KPiA+Pj4gK3N0YXRpYyBjb25zdCBBVk9w dGlvbiBvcHRpb25zW10gPSB7DQo+ID4+PiArICAgIHsiZGlzYWJsZV8yYnBwIiwgImRpc2FibGUg dGhlIDJicHAgc3VidGl0bGUgZW5jb2RlciIsDQo+ID4+PiBPRkZTRVQoZGlzYWJsZV8yYnBwKSwg QVZfT1BUX1RZUEVfQk9PTCwgey5pNjQgPSAxfSwgMCwgMSwgU0V9LA0KPiA+Pj4gKyAgICB7IE5V TEwgfSwNCj4gPj4+ICt9Ow0KPiA+Pj4gKw0KPiA+Pj4gK3N0YXRpYyBjb25zdCBBVkNsYXNzIGR2 YnN1YmVuY19jbGFzcyA9IHsNCj4gPj4+ICsgICAgLmNsYXNzX25hbWUgPSAiRFZCU1VCIHN1YnRp dGxlIGVuY29kZXIiLA0KPiA+Pj4gKyAgICAuaXRlbV9uYW1lICA9IGF2X2RlZmF1bHRfaXRlbV9u YW1lLA0KPiA+Pj4gKyAgICAub3B0aW9uICAgICA9IG9wdGlvbnMsDQo+ID4+PiArICAgIC52ZXJz aW9uICAgID0gTElCQVZVVElMX1ZFUlNJT05fSU5ULA0KPiA+Pj4gK307DQo+ID4+PiArDQo+ID4+ PiBjb25zdCBGRkNvZGVjIGZmX2R2YnN1Yl9lbmNvZGVyID0gew0KPiA+Pj4gICAgLnAubmFtZSAg ICAgICAgID0gImR2YnN1YiIsDQo+ID4+PiAgICBDT0RFQ19MT05HX05BTUUoIkRWQiBzdWJ0aXRs ZXMiKSwNCj4gPj4+IEBAIC01MTMsNCArNTQ1LDUgQEAgY29uc3QgRkZDb2RlYyBmZl9kdmJzdWJf ZW5jb2RlciA9IHsNCj4gPj4+ICAgIC5wLmlkICAgICAgICAgICA9IEFWX0NPREVDX0lEX0RWQl9T VUJUSVRMRSwNCj4gPj4+ICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihEVkJTdWJ0aXRsZUNv bnRleHQpLA0KPiA+Pj4gICAgRkZfQ09ERUNfRU5DT0RFX1NVQl9DQihkdmJzdWJfZW5jb2RlKSwN Cj4gPj4+ICsgICAgLnAucHJpdl9jbGFzcyAgID0gJmR2YnN1YmVuY19jbGFzcywNCj4gPj4+IH07 DQo+ID4+PiAtLQ0KPiA+Pg0KPiA+PiBUZXN0ZWQgJiBMR1RNDQo+ID4+DQo+ID4+IFRoYW5rcyBm b3IgdGhlIHBhdGNoIQ0KPiA+DQo+ID4gSGVsbG8sDQo+ID4NCj4gPiBudWRnaW5nIG9uIHRoaXMg LSBkb2VzIGl0IG5lZWQgYW55IG1vcmUgd29yaywgb3Igd2lsbCBpdCBiZSBtZXJnZWQ/DQo+ID4N Cj4gPiBDaGVlcnMsDQo+ID4gV2FpZGVyLg0KPiA+IC0tDQo+ID4gUm9uYW4gV2FpZGUNCj4gPiB3 YWlkZXJAd2FpZGVyLmllDQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gDQo+IEhlbGxvIGFnYWluLA0K PiANCj4gdGhpcyBzdGlsbCBhcHBsaWVzIGNsZWFubHkgdG8gdGhlIGN1cnJlbnQgSEVBRCwgaS5l LiBubyBjb25mbGljdHMgb24NCj4gcmViYXNlLiBXb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBtZXJn ZSBpdCwgb3IgaXMgdGhlcmUgYWRkaXRpb25hbCB3b3JrDQo+IHJlcXVpcmVkPw0KPiANCj4gY2hl ZXJzLA0KPiBXYWlkZXIuDQo+IC0tDQo+IFJvbmFuIFdhaWRlDQo+IHdhaWRlckB3YWlkZXIuaWUN Cg0KDQpIZWxsbyBSb25hbiwNCg0KSSdsbCB0cnkgdG8gcGljayB0aGlzIHVwIG5leHQgb3IgMm5k LW5leHQgd2Vlay4gUGF0Y2ggbG9va2VkIGdvb2QgDQpidXQgSSB3YW50IHRvIHRlc3QgaXQgbG9j YWxseSBiZWZvcmUgbWFraW5nIGEgbGFzdCBjYWxsIGFuZCBhcHBseWluZw0KaXQgLSBhc3N1bWlu ZyBhbGwgZ29lcyB3ZWxsLiANCg0KVGhhbmtzDQpzdw0KDQoNCg0KDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCg==