From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 6D6E940B25 for ; Fri, 4 Feb 2022 06:48:54 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1DC368AB7C; Fri, 4 Feb 2022 08:48:51 +0200 (EET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2043.outbound.protection.outlook.com [40.92.23.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8827B68AB96 for ; Fri, 4 Feb 2022 08:48:44 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SaXq8keBfYyW5yIOG2TKIkbvlaTcVcxe5dLaXY+67ZHaggSuGyoHqSdMR1Pce93oO69nds51TCqGbAgB8oiBx06ZmuwXuQnOAsKl+3TtPwND3Q8P70oypiA5a4P327ZeC+htkH4Akqruv6cPv2gaqrK5MHFpUOFoY7sEjpBgO405gBhyh/nN58LXwhLzSX4dj1PrboT2GvP4+SoWOEES7hUWGgN9HLaJms96OArv1NXPdzf0arR1oaMEx1PTFgOQZAfqltj+RbEySV1beTHrVGazD/85TQSI+v1sp+CdkXuZ/7cfOiGbTGz/3dzYp+0q+5Pn9FReFKx07b3RQDrO1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gCrkHDadwCn3scpMUf+yuU4cFk6Ri1W/1vKCSjkgTb4=; b=gAMv0bBnd+FDHJA6fjt04hmNRQ9QHuYuiDY684HTybrixwbHgssT1YWfEAvDI1KHS2UlC55qUaXdW4O3mZyKgKeQhLwe5wdYZ+j1PO3/10Lcz4Iswr9LxclqSSg8nSKVRGKLV9as1n3ggOBSVY+XwCQqeC3v78PPK8Qa2XC7cscGrqTpqap1CerCQW9xze7/iilms/WuxjrQP6BYLHyszJY5RF7xzQlPtbGTg+wloYTgq1ykF3TrTOENN8l0XMJRJmOiuzT/rwe3G0g2MrkNZ+xJiwngCi//bESfWaP8zw0xl43eDC7QV0dcYaohMjqD/ku/wNFmtXRqnZPdcJ8Nrg== 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=gCrkHDadwCn3scpMUf+yuU4cFk6Ri1W/1vKCSjkgTb4=; b=Wvr3btgLnPfY+aEYVsf372HCThwjvNtAVqpv+ykDEcjeC7hTXEDuSb5JG0dP9PhFVhSxX9/Cbnapx8QfFZjdZNZq9pUTZavPve7lM8kkTH3u4fLUaPa2mZ0TpEIcPobbdF3XnirXpJWiKNf0W1U1bLLKEXNnCEh/q6jpZYE7aL3ZAsX2Jg43ywmcazURdnJjYtESM/2Dd4kJBRc3NLOD5eUxqZEOSSg+rMptXEjrmbYMBgk9POrNbhU2uWkzimtsWnJLcSZd1lXtXXumq/8jQN7jtIsBR3ItGYJJjy2oUai9kh97p6qrReYapMWQd/BIQ/4Yr3hMppCB2JQrb3Qyhg== Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM (20.182.50.244) by BL3P223MB0258.NAMP223.PROD.OUTLOOK.COM (10.242.159.197) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.12; Fri, 4 Feb 2022 06:48:40 +0000 Received: from DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::496c:9ebb:f23e:8e6b]) by DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM ([fe80::496c:9ebb:f23e:8e6b%5]) with mapi id 15.20.4951.014; Fri, 4 Feb 2022 06:48:40 +0000 From: Soft Works To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH 1/2] avcodec/{ass, webvttdec}: fix handling of backslashes Thread-Index: AQHYCwVRgXvA06Jx3E6UTvILqno24ax/DxUAgAAiirCAAAbTAIAAAGXwgAA3OwCAAEDQIIAA5q2AgAAExGCAAFZm8IAAPeOAgAE2mMCAAEgxgIAABc+AgAA1VICAACFrUA== Date: Fri, 4 Feb 2022 06:48:40 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-tmn: [OmAosGGqwuAXslJTp3aaZI4tjAzPp9Xx] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0d0cb8cb-0f51-4af4-0aa9-08d9e7aa60a3 x-ms-traffictypediagnostic: BL3P223MB0258:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gKsQZf0kcbCdxAA5zKxqYUwaDjg1nLJiWwgShC7dax2ALetd0wnK+SVp6Ss5GNugd6lEgzjE1fQaR2arxCYMYe3xa/2zr2H1rCHsuGB9RP3q4Nmubzqmu+iTzOyXmtyFNjCQrGmvW8BGvKN+vM+tjOHOqP4G06ouB/8KxyxY5sJ6x7Pyjfv+T6gTR53LJNIsL8fIw46GkuPQf7CURlTqgHhVN/ibr1tyxJEdh4NGJ92uDQ5mKCGlfn4f8ZqTNPcdlqjlVPaWfE/6bnXWDbJtaKMYI6f3yUWJLbgitydDoNAtgeD+uhyEz50QHud11R1xVhUzfgfZpigt6kCpSQrhTeLk6mhXjQgncjv14usUzGk47Zog1QYMCGRWAC9+ZdHwBxc0RUScL9UL0WoLFhg6JbyBPH5SWwi+NNxmV9agzUIDe8K/dms1YrZlsxp8DGBNWksbD0hpXyAV7rXdtyDWMBCHwyB7r5849WECShXyj4bH3H5XCtrfF0TfgiouL8ZhOMBO5CJ22d9VIDe7jsItsh+m4mPdYrQ/3Du3bMUnYQF2Nd4lgngyVU9EvTfp1qcFvEGxUCATtTayU4LKIzyGOR08TWtk5uLI8BdpMf6XoLfcQLglWB37/FGS2xpElfDJ x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cVJpS2U4eGNTY1pxalcrdVRlanA1bzVxUCtNbWpOYzVZTXNCeThQV200ZnhQ?= =?utf-8?B?THZiZDliWmwvNU44WEsxcjlQd21MTDVjM3hpRDU3bE5OQ2xuV2pxTXRwT2pG?= =?utf-8?B?enRjcVczdVNVWWtLd3NpVTUyY3JXL0tqSWFPUE9jaXJJNUM3QjFGUURYUms3?= =?utf-8?B?bXJwSm5WM3RabXRncEhkZXdoMjZPQTBqYkNwOEdMRU5ZVkNYM09mMXd6OEJh?= =?utf-8?B?bzlqMVowNHpMVWZZSnpEVnc5Y1hBTk1nNm1kM240ZW5Dd2QzR2J4aUl3TUhM?= =?utf-8?B?aXJ0a1ZTWFBUbXdFM1NndkJETlJuQ1pUWnU4SG9WTXpDNXRXS2JqUSsrRWp3?= =?utf-8?B?dG9Nbi9FcERNbFkrbFVIWGFRU21iZkt6c2JMVjEva09ZOE82ajdnWDBSdjV2?= =?utf-8?B?c21Ka0Vob1liR09YTmkvaG5TbWZySWxrbmRRVk5CNzVKMmUyazZkaUR4V0Zq?= =?utf-8?B?ci9LU3RGQTFrTXlJVDNzRko5ci9VM3R5QlFjWGlKaE1SajZ2WkZvZUdWMk00?= =?utf-8?B?SDByNDdtdDZnRG1BQTBLeHdPcXE5VVp2WnBBQTB1K1ZIblhJckE4YjdMQzJt?= =?utf-8?B?QlUwaXVzQW1Ta3hqcHc4NHJOSnlDdU1ta3lkNUF1V1l0aWF1L05hSlRlR3NU?= =?utf-8?B?SUJYZlJpRytTOTAyS3FxZFROSGJjaWx2ZDc1ZzA2d0NQblJSSXhyYmxHWmxv?= =?utf-8?B?cVJQYnU2aHpvNFpFUjBYbXp5NmVKSnU1VmMrT05RQUd2MGdlZWZtWmFUa2JQ?= =?utf-8?B?ZXcvN3Vta29ySjhCcFBSMXh4bExQZi85T09INVdUVDVLTDIyK29aTWZqRit4?= =?utf-8?B?TlFJV2lXbU5Pb3F2SUxUWVJzNTFlUlNCSExQampxUlQ3MkFROHorTHhreUJw?= =?utf-8?B?blZ3MWo4NDhaUFB2VzZBZ0NtTFlaNHJVMXQ5WHk3VGVRQTdQWTF5RXgyQ3o4?= =?utf-8?B?TmE1Z08xV3JSWGNSUXJvVDg4cE5FUnhYQnI3cy93QzFFWk55b2FGL3ozbk1t?= =?utf-8?B?cWhiNXlVRnM2bkhvSitnaHoveXFHaTJ2REN6VGdOblZyQ2toQzNscFNUT0JW?= =?utf-8?B?cm1rT25za3FYZkloQ0hvTGFTVDV6N3JqY1A3Y1V0TlRHMjRlK3lreFJaUVVX?= =?utf-8?B?bGh5bDYweUZJQ0c2bVlNaC9Ucm1nVGdBMXJvRkpDVWVDN2VQNDYwN3RVZkhm?= =?utf-8?B?SmtWYUY4VXJ3cWgySlF2ZGU3SCtYL21SWFlNR3dLR3daaGNCWm5EMVpuZmhO?= =?utf-8?B?ZDRtYVQrRE83UjZBUGRGYVlqbHk5QmNKckNHTmZDdzhlVkZ4QT09?= 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: DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 0d0cb8cb-0f51-4af4-0aa9-08d9e7aa60a3 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Feb 2022 06:48:40.0765 (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: BL3P223MB0258 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec/{ass, webvttdec}: fix handling of backslashes X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZmZtcGVnLWRldmVsIDxm Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgU29mdA0KPiBXb3Jr cw0KPiBTZW50OiBGcmlkYXksIEZlYnJ1YXJ5IDQsIDIwMjIgNjozNCBBTQ0KPiBUbzogRkZtcGVn IGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+IGRldmVsQGZm bXBlZy5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggMS8yXSBhdmNv ZGVjL3thc3MsIHdlYnZ0dGRlY306IGZpeA0KPiBoYW5kbGluZyBvZiBiYWNrc2xhc2hlcw0KPiAN Cj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogZmZtcGVn LWRldmVsIDxmZm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YNCj4g U29mdA0KPiA+IFdvcmtzDQo+ID4gU2VudDogRnJpZGF5LCBGZWJydWFyeSA0LCAyMDIyIDI6NTgg QU0NCj4gPiBUbzogRkZtcGVnIGRldmVsb3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxm Zm1wZWctDQo+ID4gZGV2ZWxAZmZtcGVnLm9yZz4NCj4gPiBTdWJqZWN0OiBSZTogW0ZGbXBlZy1k ZXZlbF0gW1BBVENIIDEvMl0gYXZjb2RlYy97YXNzLCB3ZWJ2dHRkZWN9Og0KPiBmaXgNCj4gPiBo YW5kbGluZyBvZiBiYWNrc2xhc2hlcw0KPiA+DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJv dW5jZXNAZmZtcGVnLm9yZz4gT24gQmVoYWxmIE9mDQo+ID4gPiBPbmVyaWMNCj4gPiA+IFNlbnQ6 IEZyaWRheSwgRmVicnVhcnkgNCwgMjAyMiAyOjAxIEFNDQo+ID4gPiBUbzogRkZtcGVnIGRldmVs b3BtZW50IGRpc2N1c3Npb25zIGFuZCBwYXRjaGVzIDxmZm1wZWctDQo+ID4gPiBkZXZlbEBmZm1w ZWcub3JnPg0KPiA+ID4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCAxLzJdIGF2 Y29kZWMve2Fzcywgd2VidnR0ZGVjfToNCj4gPiBmaXgNCj4gPiA+IGhhbmRsaW5nIG9mIGJhY2tz bGFzaGVzDQo+ID4gPg0KPiA+ID4gT24gVGh1LCBGZWIgMDMsIDIwMjIgYXQgMjA6NTE6MTYgKzAw MDAsIFNvZnQgV29ya3Mgd3JvdGU6DQo+ID4gPiA+IEkgdGhpbmsgd2hlbiB5b3UgaW5qZWN0IHRo YXQgd29yZC1qb2luZXIgYXMgYSB3b3JrYXJvdW5kIGZvciBhc3MNCj4gPiA+ID4gcGFyc2luZywg eW91J2xsIGFsc28gbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIHJlbW92ZWQNCj4gPiA+ ID4gd2hlbiBlbmNvZGluZyB0byBvdGhlciBmb3JtYXRzLg0KPiA+ID4NCj4gPiA+IFRoZXJlJ3Mg bm8gd2F5IG9mIGtub3dpbmcgd2hldGhlciB0aGUgd29yZC1qb2luZXIgY29tZXMgZnJvbQ0KPiA+ ID4gYSBjb252ZXJzaW9uIHBlcmZvcm1lZCBieSBmZm1wZWcgaW4gdGhlIHBhc3Qgb3IgYWxyZWFk eSBleGlzdGVkDQo+ID4gPiBpbiB0aGUgb3JpZ2luYWwgc291cmNlLg0KPiA+DQo+ID4gVGhhdCBt aWdodCBiZSB0cnVlLCBidXQgSSB0aGluayBpdCdzIHZhbGlkIHRvIHNheSB0aGF0IHN1Y2gNCj4g Y2hhcmFjdGVycw0KPiA+IGFyZSB2ZXJ5IHVudXN1YWwgIm9yaWdpbmFsIiBzdWJ0aXRsZSBzb3Vy Y2VzIGFuZCB0aGF0J3Mgd2h5IEkgZG9uJ3QNCj4gPiB0aGluayBpdCdzIGEgZ29vZCBpZGVhIGZv ciBmZm1wZWcgdG8gc3RhcnQgaW5qZWN0aW5nIHRoZW0uDQo+ID4NCj4gPiBTdWJ0aXRsZSBpbXBs ZW1lbnRhdGlvbnMgYXJlIG9mdGVuIHJhdGhlciBtaW5pbWFsLCBlc3BlY2lhbGx5IGluDQo+ID4g aGFyZHdhcmUgZGV2aWNlcyBhbmQgbWlnaHQgbm90IGFsd2F5cyBjb3ZlciB0aGUgZnVsbCByYW5n ZSBvZg0KPiA+IFVURi04IHNwZWNpZmljcy4NCj4gPg0KPiA+ID4gSG93ZXZlciwgdGhlIHdvcmRq b2luZXIgZG9lcyBub3QgYWx0ZXIgdGhlIHZpc3VhbGx5IGFwcGVhcmFuY2UgYW5kDQo+ID4gPiBp cyB1bmxpa2VseSB0byBjaGFuZ2UgbGluZS1icmVha2luZyBwcm9wZXJ0aWVzOyB0aGF0J3Mgd2h5 IEkgY2hvc2UNCj4gPiA+IGEgd29yZC1qb2luZXIuIFRoZXJlZm9yZSBJIGRvbid0IHRoaW5rIHJl bW92aW5nIChvbmx5KSB0aGUNCj4gaW5zZXJ0ZWQNCj4gPiA+IHdvcmQtam9pbmVycyBpcyBwb3Nz aWJsZSwNCj4gPg0KPiA+IFdoeSBub3Q/IEFzIGl0IHNlZW1zIHRvIGJlIHJlcXVpcmVkIGZvciBB U1MgZW5jb2Rpbmcgb25seSwgYWxsIG90aGVyDQo+ID4gb3V0cHV0IGZvcm1hdHMgc2hvdWxkIHJl bWFpbiB1bmFmZmVjdGVkLg0KPiA+DQo+ID4gPiBidXQgYWxzbyBub3QgbmVjZXNzYXJ5Lg0KPiA+ DQo+ID4gSSdtIG5vdCBzdXJlIHdoZXRoZXIgYWxsIGZmbXBlZyB0ZXh0LXN1YiBlbmNvZGVycyBj YW4gaGFuZGxlDQo+ID4gdGhvc2UgY2hhcnMgLSB3aGljaCBjb3VsZCBiZSB2ZXJpZmllZCBvZiBj b3Vyc2UuDQo+ID4NCj4gPiBCdXQgd2hhdCByZW1haW5zIGlzIHRoZSBxdWVzdGlvbiBhYm91dCB0 aGUgZWZmZWN0IG9uIGVuZCBkZXZpY2VzDQo+ID4gd2hpY2ggYXJlIGNvbnN1bWluZyB0aGF0IG91 dHB1dC4NCj4gPg0KPiA+IEZpbmFsbHksIHRob3NlIGNoYXJzIGFyZSBhIHBlc3QuIEknbSB1c2lu ZyB0aGVtIG15c2VsZiBmb3IgYQ0KPiA+IHNwZWNpZmljIHVzZSBjYXNlLCBidXQgd2hlbiB5b3Ug ZG9uJ3Qga25vdyB0aGV5IGFyZSB0aGVyZSwgaXQgY2FuDQo+ID4gZHJpdmUgeW91IHRvdGFsbHkg bWFkLCBldmVudHVhbGx5IGV2ZW4gdGhpbmtpbmcgeW91ciBzeXN0ZW0gb3INCj4gPiBzb2Z0d2Fy ZSBpcyBmYXVsdHkuDQo+ID4NCj4gPiBFeGFtcGxlOg0KPiA+DQo+ID4gT3BlbiB5b3VyIHBhdGNo IGZpbGUgWzIvMl0gYW5kIHNlYXJjaCBmb3IgdGhlIHN0cmluZw0KPiA+ICIxMjM0NTZcTkFzY2Vu ZGluZyIuIFlvdSBjYW4gc2VlIHRoZSBzdHJpbmcgaW4gdHdvIGxpbmVzLCBidXQgc2VhcmNoDQo+ ID4gd2lsbCBvbmx5IGZpbmQgb25lIG9mIHRoZW0uDQo+ID4NCj4gPiBPciBqdXN0IGxvb2sgYXQg dGhlIHR3byBsaW5lcyBkaXJlY3RseS4gVGhleSBhcmUgcHJlY2VkZWQgYnkgKyBhbmQgLQ0KPiA+ IGV2ZW4gdGhvdWdoIGJvdGggYXBwZWFyIGlkZW50aWNhbC4NCj4gPg0KPiA+DQo+ID4gU28sIHRo aXMgYWxzbyBuZWVkcyBjb25zaWRlcmF0aW9uIG9mIHRoZSBjb25zZXF1ZW5jZXMsIGxpa2UgaG93 DQo+ID4gbWFueSBkZXZlbG9wZXJzIChpbnNpZGUgYW5kIG91dHNpZGUgb2YgZmZtcGVnKSB0aGlz IHdvdWxkIGJlIGRyaXZpbmcNCj4gPiBudXRzIG92ZXIgdGhlIHllYXJzIGFuZCBtYWtlIHRoZW0g c3RhcnQgaGF0aW5nIGZmbXBlZyBmb3IgZG9pbmcgc28NCj4gPiBvbmNlIHRoZXkndmUgZm91bmQg b3V0Lg0KPiANCj4gQXMgSSByZWFsbHkgaGF0ZSBob3cgbWFueSBkZXZzIG9uIHRoaXMgTUwga2Vl cCBzYXlpbmcgJ25vJyB0bw0KPiBzdWJtaXR0ZWQNCj4gY29kZSB3aXRob3V0IGhhdmluZyBhIGJl dHRlciBzdWdnZXN0aW9uLCBhc3N1bWluZyB0aGF0IHRoaXMgaXMgYWxsDQo+IHRoYXQNCj4gaXQg dGFrZXMsIEkgZG9uJ3Qgd2FudCB0byBhc3NpbWlsYXRlIGluIHRoaXMgcmVnYXJkLg0KPiANCj4g SGVuY2UgSSB3YW50IHRvIHByb3Bvc2UgdGhlIGZvbGxvd2luZyBzb2x1dGlvbjoNCj4gDQo+IEZp cnN0IG9mIGFsbCwgdGhlIGV4aXN0aW5nIGNvZGUgaW4gZmZfYXNzX2JwcmludF90ZXh0X2V2ZW50 KCkgaXMNCj4gdG90YWxseQ0KPiB3cm9uZyBhbHJlYWR5LiBOb3Qgb25seSB3aXRoIHJlZ2FyZCB0 byB0aGUgYmFja3NsYXNoIGVzY2FwaW5nIChhcyB5b3UNCj4gaGF2ZSBhbHJlYWR5IHBvaW50ZWQg b3V0KSwgYnV0IGFsc28gdGhlIGN1cmx5IGJyYWNlIGVzY2FwaW5nIGlzDQo+IGludmFsaWQuDQo+ IFRoZXJlIGlzIG5vIGN1cmx5LWJyYWNlIGVzY2FwaW5nIGluIEFTUyBlaXRoZXIuDQo+IA0KPiBJ biBmYWN0IGl0IGlzIGltcG9zc2libGUgd2l0aCBBU1MgdG8gZGlzcGxheSBhbiBvcGVuaW5nIGN1 cmx5IGJyYWNlDQo+IGZvbGxvd2VkDQo+IGJ5IGEgY2xvc2luZyBjdXJseSBicmFjZSBhdCBhIHN1 YnNlcXVlbnQgcG9zaXRpb24gKGVhY2ggb25lIGFsb25lIG1heQ0KPiB3b3JrDQo+IGRlcGVuZGlu ZyBvbiBpbXBsZW1lbnRhdGlvbikuDQo+IA0KPiBJZiBpdCB3YXMgYWJvdXQgQVNTIGFsb25lLCB3 ZSBtaWdodCBqdXN0IGRyb3AgdGhvc2UgYnJhY2VzLCBzbyB3ZQ0KPiBjb3VsZA0KPiBhdCBsZWFz dCBhdm9pZCB0aGUgdGV4dCBpbi1iZXR3ZWVuIGZyb20gYmVpbmcgaGlkZGVuICh3aGVuIG91dHB1 dHRpbmcNCj4gQVNTKSwgYnV0IEFTUyBpcyBhbHNvIHRoZSBpbnRlcm5hbCAoInVuY29tcHJlc3Nl ZC9yYXciKSBzdWJ0aXRsZQ0KPiBmb3JtYXQNCj4gaW4gZmZtcGVnIHRoYXQgaXMgdXNlZCBmb3Ig Y29udmVyc2lvbiAoYW5kIHN1YnRpdGxlIGZpbHRlcmluZykuDQo+IFNvIGl0IHdvdWxkIGJlIGhh cmQtdG8tc2VsbCB3aGVuIGN1cmx5IGJyYWNlcyB3b3VsZCBnZXQgbG9zdCB3aGVuDQo+IGNvbnZl cnRpbmcgZnJvbSBvbmUgdGV4dC1zdWIgZm9ybWF0IHRvIGFub3RoZXIgd2l0aCBub25lIG9mIHRo ZW0NCj4gZXZlbiBiZWluZyBBU1MuDQo+IA0KPiBXaGF0IHdlIG5lZWQgaXMgdG8gc3RvcCBjcmVh dGluZyBpbnZhbGlkIEFTUyBhbmQgYXQgdGhlIHNhbWUgdGltZQ0KPiBlbnN1cmUgcHJvcGVyIGNv bnZlcnNpb24gb2YgY3VybHkgYnJhY2VzLiBIb3c/IFdlIHN1YnN0aXR1dGUgdGhlbSENCj4gDQo+ IEFuZCBzdGlsbCwgVVRGLTggY2FuIGNvbWUgdG8gdGhlIHJlc2N1ZS4gVGhlcmUgYXJlIHR3byBz dWl0YWJsZQ0KPiBjYW5kaWRhdGVzIGZvciB0aGF0Og0KPiANCj4gU01BTEwgTEVGVCBDVVJMWSBC UkFDS0VUIChVK0ZFNUIsIFBzKTog77mbDQo+IFNNQUxMIFJJR0hUIENVUkxZIEJSQUNLRVQgKFUr RkU1QywgUGUpOiDvuZwNCj4gRlVMTFdJRFRIIExFRlQgQ1VSTFkgQlJBQ0tFVCAoVStGRjVCLCBQ cyk6IO+9mw0KPiBGVUxMV0lEVEggUklHSFQgQ1VSTFkgQlJBQ0tFVCAoVStGRjVELCBQZSk6IO+9 nQ0KPiANCj4gU3Vic3RpdHV0aW9uIG9mIGN1cmx5IGJyYWNlcyB3aXRoIG9uZSBvZiB0aG9zZSB3 aWxsIHByZXZlbnQgQVNTIGZyb20NCj4gdHJlYXRpbmcNCj4gYW55IHBvc3NpYmxlIHN1YnRpdGxl IGNvbnRlbnQgYXMgb3ZlcnJpZGUgY29kZS4NCj4gDQo+IFdoYXQgcmVtYWlucyB0byBiZSBoYW5k bGVkIG5vdyBpcyB0aGUgYmFja3NsYXNoIGNhc2UuIE5vdyB0aGF0IHdlIGNhbg0KPiBiZSBzdXJl DQo+IHRoYXQgd2UgYXJlIG5ldmVyIGluc2lkZSBhIHNlcXVlbmNlIHRoYXQgQVNTIHdvdWxkIGNv bnNpZGVyIGFuDQo+IG92ZXJyaWRlIGNvZGUsDQo+IG9ubHkgMyBjYXNlcyBhcmUgcmVtYWluaW5n IHdoZXJlIHRoZSBiYWNrc2xhc2ggaGFzIGEgbWVhbmluZyBpbiBBU1MNCj4gZGlhbG9nDQo+IHRl eHQ6ICAnXG4nLCAnXE4nIGFuZCAnXGgnLg0KPiANCj4gV2UgY2FuIHNpbXBseSBlc2NhcGUgdGhv c2Ugc2VxdWVuY2VzIGJ5IGluc2VydGluZyBhIChuby1vcCkgb3ZlcnJpZGUNCj4gY29kZQ0KPiBi ZXR3ZWVuIHRoZSBiYWNrc2xhc2ggYW5kIHRoZSBjaGFyLiBTdWl0YWJsZSBmb3IgdGhpcyBpczog e1xyfQ0KPiBUaGlzIGNvZGUgcmVzZXRzIGlubGluZSBzdHlsZXMsIGJ1dCBzaW5jZSB3ZSBhcmUg Y29taW5nIGZyb20gcGxhaW4NCj4gdGV4dCBzdWJzDQo+IGluIGZmX2Fzc19icHJpbnRfdGV4dF9l dmVudCgpLCB3ZSBrbm93IHRoYXQgd2UgZG9uJ3QgaGF2ZSBhbnkgaW5saW5lDQo+IHN0eWxlcw0K PiBhbmQgaXQncyBhIG5vLW9wIHRvIHJlc2V0IHRoZSBzdHlsZS4NCj4gDQo+IE5lZWRsZXNzIHRv IHNheSB0aGF0IHdlIHdpbGwgb2YgY291cnNlIGNoYW5nZSB0aGUgc3Vic3RpdHV0ZWQgY3VybHkN Cj4gYnJhY2VzDQo+IGJhY2sgdG8gdGhlIHJlZ3VsYXIgb25lcyBhdCB0aGUgZW5jb2Rpbmcgc2lk ZSBmb3IgYWxsIGJ1dCBBU1MuDQo+IFJlbWFpbnMgdGhlIHF1ZXN0aW9uIHdoYXQgdG8gZG8gd2hl biBlbmNvZGluZyB0byBBU1M6IFdlIGNhbiBlaXRoZXINCj4ga2VlcCB0aGUgYWx0ZXJuYXRlIGJy YWNlIGNoYXJhY3RlcnMgb3IganVzdCByZW1vdmUgdGhlbSAob3IgbWF5YmUNCj4gcmVwbGFjZQ0K PiB3aXRoIHNxdWFyZSBicmFja2V0cykuDQo+IA0KPiBJJ20gbm90IHN1cmUgYWJvdXQgdGhhdCBs YXN0IHBvaW50LCBidXQgaW4gdG90YWwsIHRoaXMgd2lsbCBiZSBhIGNsZWFuDQo+IHNvbHV0aW9u DQo+IHdpdGhvdXQgaW5qZWN0aW5nIGFueSB3ZWlyZCBjaGFycyBpbnRvIHRoZSBzdWJ0aXRsZSBv dXRwdXQsIGFuZCBpdA0KPiB3aWxsIGZpeA0KPiBtdWx0aXBsZSBpbmNvcnJlY3QgYmVoYXZpb3Jz IGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLg0KDQoNCkkndmUgZm91bmQgb3V0IHdoZXJl IHRoZSBceyBhbmQgXH0gZXNjYXBpbmcgaGFzIGNvbWUgZnJvbTogbGliYXNzDQpUaGV5IGRlY2lk ZWQgYXQgc29tZSB0aW1lIHRvIGludHJvZHVjZSB0aGlzIGtpbmQgb2YgZXNjYXBpbmcgd2hpY2gN CmlzIGFjdHVhbGx5IGluY29tcGF0aWJsZSB3aXRoIG5vcm1hbCBBU1Mgc3ludGF4IGFuZCBsaWJh c3Mgc3BlY2lmaWM6DQpodHRwczovL2dpdGh1Yi5jb20vbGliYXNzL2xpYmFzcy9pc3N1ZXMvMTk0 I2lzc3VlY29tbWVudC0zNTIyMTMyMTANCg0KDQpUaGlzIGRvZXNuJ3QgbWVhbiB0aG91Z2gsIHRo YXQgdGhlIGZmbXBlZyBpbnRlcm5hbCBBU1MgZm9ybWF0IG5lZWRzDQp0byBmb2xsb3cgdGhlIGxp YmFzcyByb3V0ZSBpbiB0aGlzIHJlZ2FyZC4gSXQgb25seSBtYXR0ZXJzIGZvciB0aGUNCmxpYmFz cyBvdXRwdXQgZW5jb2RlciwgYmVjYXVzZSBce1xyfU4gaXMgYnJva2VuIGJ5IHRoYXQgbGliYXNz DQpkZWNpc2lvbiwgc28gZm9yIHRoaXMgY2FzZSwgd2UnbGwgbmVlZCBhIGRpZmZlcmVudCB3YXku DQoNCnN3DQoNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0 dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJz Y3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZm bXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==