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 85C1C43B2B for ; Wed, 13 Jul 2022 15:54:30 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7913268B9BF; Wed, 13 Jul 2022 18:54:27 +0300 (EEST) Received: from sonic305-20.consmr.mail.ir2.yahoo.com (sonic305-20.consmr.mail.ir2.yahoo.com [77.238.177.82]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 04E196806E8 for ; Wed, 13 Jul 2022 18:54:20 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.it; s=s2048; t=1657727659; bh=06xDzva5Lrv0qzpFbn55aSTE3i13CgAZPDefWYhxhU0=; h=Date:From:Reply-To:To:In-Reply-To:References:Subject:From:Subject:Reply-To; b=srvElkDPXFN8ClhKxkTvpCpJSZ6DdBFDLol4rwH+nFI6eKl2mJXLQOerZbu6KyRzVmdujGjW/jcE401yu9950v9+pDGH2O+QFijpxUrKEzYmv5YS6KpV638JtUFyWsy+jdPKgkkH76427dVbHYyJDIZprRzD6j+2Mv3wcBHDZx/f2qw/0s6vZGfaKV96sYbwj9REekDGIfhgZC77EC5KQWurTsN9+PrV7zveeuwuDjucniiyxgWcwzNTE9/+x8IKEejr4XftUDXuaBNCYvSnlX1uYnGQaGRlXNZlQiWOLawb3CGpWMyCdpLqF4FQYQUSxxPEcKneOlXcDLs2v1zCxw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1657727659; bh=rCBhjO2YRtIYtY/nlPNrKk9sgwWIOQX2bGATf5IoydA=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=Mnx8zF1JzzRaWGnz66L4E6oRVFrnx+ur8zwj3vJZCmx18JSkx78kh+H/wLrqQ9/li6QNWlL6cez5xf2gy/lsuAsCaAmxPvHpv3/Ut6LeGuXZoYQvuo1nDdN6ESHbWPxsF5KqjUkrlLhUutr1bA1cpX40tcaA8Pq8/dYhd+oYffC2WbWVvwD0VD/kbngJrfzZyZ3vhqZ+7GykbGhTv1+83md/Pr8mIy2ncQhe0qkDo8TItE1ZERm2f0FjaFg3h32CJOpua+Qeud8WC7G6ebv9rozSLnoWtpQBsHgRRNAW3nzEw0S6w6GtvN73iAtX2GST2qhAvft/Pz7/fWBOX5Shmw== X-YMail-OSG: DWKc9.sVM1nsqWhKGKdP2JWY_QKQ815Sfr5sEuaCh2e8wMnJYnKXufkJD8Q0buh W3L6iNL6zBNTu_u2BAkiXWJmwXX3fWl.G2j57deZAvTqjsaTr0pV3mbGLN2UP6Lqonl1_WNygJ8R 0VWjjRmqhEJo1R6LVgj6CuQjOC9d32bTkyAaMPk1vcmDkO9dD48qFQHQFEe5XETjo_rc1qqVm7vR WdcxMO9x2yQ95V8U7iyw7cQjbHDWRiw5SOew6OOdpJRNlPVU0NnxbNTR8d9D2pYZz.eealSpplP_ 2bVw409kbl2ZhN_Lpfy9PYY_x08eAArQ.aQHO7HJKon3c0rad3fW2fsLVtBqdzx5rx4DmR2Hd7q2 ERx8E_W706jYDQqwjnnrNFyYPaMj3cJKkm7FqTXpGPFtZkg3bmoQX2_.qExRK_acMFxl64Isogg6 ltnl3xU1Lo2afc4CvYofvS8bgN1uRB1puverxYn9GcuQdlq7MzGNdPoyEdDpXffIsTL.sHznlox4 wgyXJgUpGueIHUMxRlm5_hE_rK61KHmrKi_fb6f1OiAIyVYMGwHK9fELkbPIb2VQH7FR0lx1fnfT McxTNIueH7U059iRTuhgWhvSgtKEO.Pzdt2kgCI6jaNIVOx7xJ6KRsQouPMlF80JRfoyXUfncmhL MuP50MMveIHdxp58nXiVTo1Tpq5BAXOImz3_7Pakg3FtPEucEUyfG4N9UEWoYgWLp1inkRxYnDvy QHqTejTTn2d80bbOoVUzvxfXU8QTJEKDEuZWPMjBpujQlopnetqXr8ATL30qD54U_puizppZHcYU fb_MQG2zrSqA2CGyaN4i.a4nxED2ztHe2KOYkUQu_pk3cIS0LKPCGVuR.mPfrRh9KdW6UAYE7boY dxqNBx8u_bVYyGlbD0IEd_GkdBfPUN6.GYtAwlNHJ.hM9stVazy9kNQLRSZtqq7L6wW0_ontZlvT nQGD5XhYD4XXp4aSw.lS7XRqAHEDer3EWwQu4JhlflWu1uq6D9i_A8hYxb_3YoPgI4y51kd3ZTfi e8m5ntNHbjKcwugI68KA6Wc_J_VCQS5Rx_Fp_9adl7yTC9uUGUw0nhCm8tURk6Z9XByXX5hYvwQP 11Jp7XvgweGZw2WA2G7ZV7FekJIK5HbBASFhwFvj1V4Tz2vwJ9izsWzUZZIRnfCvjgF4HYgnaTIH j9ophdc.fmRGWO9iHPQ.22Dr8LPk6Ya1dsR8X3cKcRTihGmF.Y7wkJZDYIxFyA2hjaiFax7r7sLe 2OvrJqrDgDGbPSZ1OqkXgs4XSPZBJhY.rRqD1xDnB8QPO41gUCTvEG3TFOavOVgcSsxAUf0IUGiU kxscF7sMqE2keRwk12Lf3YAZR.VJ_jUHEJkcUw8Z0nskIb92x4lKHVbpTXXEAPBewMg7smG3x.vS v4i2rLN.tH6ps6DYJsLAopj4ajJ3nJ9vHVlO6.kQyrdC6GggkwdUrRM96W64AV3MHZhgAmNK7xUp tI9krixC_RLBzDpSGLElOGagCwuy3zD_tNIenrg_Vdt0YiPEQ.JH4Zl41HYtiKpmgn3k0h8DFKr3 FAVCGbSVOe.tF944BNVv6OcGdJubmiYjO7XCZ.DGfTzQsC8ShkQbEUCZ084SH4vAArdAMFZ4qu2m CQOFiA48aKBAFB2aZdvKr6SEg3xXHjPcOPFrUyTee4L.Kd25hbawLnjcIJH3EqSm_7ZedKN0WMUR g7wajQ2_59HysTvHtgon7V1pQ2W17RtkK2y8le_wxy1ohF1OWWlpTc46GVapcaZU31NIFC6HAfJ4 jj_gpXdRJjD41TgoVctqh0tkFNSH2t_vsEXnDygb6i29TkqFJ3D_WhHXe1gUtazVYPfmFo3fnK5t Mflw_VzJ3EzscUh8LE8k3Ga7nPsLVLOLgB84KSv3WvmXUTSfPm8lLN8tT54_o4M1lpitrjb7cYRH Bxeqp8l_diLJZJWTJqcV9RSwmDY1Z9WgNaWAW45N579yt.BBeLAP2H6oqrVvv.TOMdxns6l4r6Vk k8OQvehf8sbesotkB2cNHQ4K4HobeNz5MV2LOQUgjc3W1DAfiMVgbhm9QhVTMwHQfxJI1v_PKTA8 LBsMCUCQG2TJTdEzT_YiZuB9_r5K25kAMAZcaAHtmR5_r4TxdppwyedDk7bfDGBHn0bElmh4fI28 H41uY1n6CurVnbKOqm47AETdHUZSIrUN13cDF0.JT6mxuLPL87OKIqEVwxE3MGJsvW2x78YxV6mu 596Lo5gCRNjeO5DUUdV7Kf.j6JmdYV5ChvRxFuD6rnFQ.M7apSL6Hmjfkx2rzeS8XW3_xRAtD6ng 9h8DYAlaJOhVma2Wvcr49m38u_Mv0gJY292WhLS25SnI- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ir2.yahoo.com with HTTP; Wed, 13 Jul 2022 15:54:19 +0000 Date: Wed, 13 Jul 2022 15:54:16 +0000 (UTC) From: Marco Vianini To: FFmpeg development discussions and patches Message-ID: <606778079.1512531.1657727656800@mail.yahoo.com> In-Reply-To: References: <632087708.1175797.1657705107285.ref@mail.yahoo.com> <632087708.1175797.1657705107285@mail.yahoo.com> <1557769752.1457983.1657724008350@mail.yahoo.com> MIME-Version: 1.0 X-Mailer: WebService/1.1.20407 YMailNorrin Subject: Re: [FFmpeg-devel] Performances improvement in "image_copy_plane" 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: CgoKCgoKCk9uIFdlZG5lc2RheSwgSnVseSAxMywgMjAyMiBhdCAwNTowODoyNyBQTSBHTVQrMiwg UGF1bCBCIE1haG9sIDxvbmVtZGFAZ21haWwuY29tPiB3cm90ZTogCgoKCgoKT24gV2VkLCBKdWwg MTMsIDIwMjIgYXQgNTowMiBQTSBNYXJjbyBWaWFuaW5pIDwKbWFyY29fdmlhbmluaS1hdC15YWhv by5pdEBmZm1wZWcub3JnPiB3cm90ZToKCj7CoCBJIGRpZCBmb2xsb3dpbmcgdGVzdHMgb24gV2lu ZG93cyAxMCA2NGJpdC5JIGNvbXBpbGVkIGNvZGUgaW4gUmVsZWFzZS4KPiBJIGNvcGllZCBteSBw YyBjYW1lcmEgZnJhbWVzIDEwMDAgdGltZXMgKHJlc29sdXRpb24gMTkyMHgxMDgwKToKPiBXaXRo IENvYWxlc2NlIChNWSBQQVRDSCk6Y29weV9jbnQ9MTAwwqAgc2l6ZT0xOTIweDEwODAKPiB0b3Rf dGltZV9jb3B5KHVzKT0zNjU3NCAoYXZlcmFnZT0zNjUuNzQpY29weV9jbnQ9MjAwwqAgc2l6ZT0x OTIweDEwODAKPiB0b3RfdGltZV9jb3B5KHVzKT03ODIwNyAoYXZlcmFnZT0zOTEuMDM1KWNvcHlf Y250PTMwMMKgIHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9MTIyMTcwKGF2ZXJh Z2U9NDA3LjIzMyljb3B5X2NudD00MDDCoCBzaXplPTE5MjB4MTA4MAo+IHRvdF90aW1lX2NvcHko dXMpPTE2MzY3OChhdmVyYWdlPTQwOS4xOTUpY29weV9jbnQ9NTAwwqAgc2l6ZT0xOTIweDEwODAK PiB0b3RfdGltZV9jb3B5KHVzKT0yMDE4NzIoYXZlcmFnZT00MDMuNzQ0KWNvcHlfY250PTYwMMKg IHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9MjQ2MTc0KGF2ZXJhZ2U9NDEwLjI5 KWNvcHlfY250PTcwMMKgIHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9Mjg3MDQz KGF2ZXJhZ2U9NDEwLjA2MSljb3B5X2NudD04MDDCoCBzaXplPTE5MjB4MTA4MAo+IHRvdF90aW1l X2NvcHkodXMpPTMyNjQ2MihhdmVyYWdlPTQwOC4wNzcpY29weV9jbnQ9OTAwwqAgc2l6ZT0xOTIw eDEwODAKPiB0b3RfdGltZV9jb3B5KHVzKT0zNTY4ODIoYXZlcmFnZT0zOTYuNTM2KWNvcHlfY250 PTEwMDAgc2l6ZT0xOTIweDEwODAKPiB0b3RfdGltZV9jb3B5KHVzKT0zOTQ1NjYoYXZlcmFnZT0z OTQuNTY2KQo+IFdpdGhvdXQgQ29hbGVzY2U6Y29weV9jbnQ9MTAwwqAgc2l6ZT0xOTIweDEwODAg dG90X3RpbWVfY29weSh1cyk9NDQzMDMKPiAoYXZlcmFnZT00NDMuMDMpY29weV9jbnQ9MjAwwqAg c2l6ZT0xOTIweDEwODAKPiB0b3RfdGltZV9jb3B5KHVzKT0xMDA1MDEoYXZlcmFnZT01MDIuNTA1 KWNvcHlfY250PTMwMMKgIHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9MTUwMDk3 KGF2ZXJhZ2U9NTAwLjMyMyljb3B5X2NudD00MDDCoCBzaXplPTE5MjB4MTA4MAo+IHRvdF90aW1l X2NvcHkodXMpPTIwMTAxMChhdmVyYWdlPTUwMi41MjUpY29weV9jbnQ9NTAwwqAgc2l6ZT0xOTIw eDEwODAKPiB0b3RfdGltZV9jb3B5KHVzKT0yNTY4MTgoYXZlcmFnZT01MTMuNjM2KWNvcHlfY250 PTYwMMKgIHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9MzAzMjczKGF2ZXJhZ2U9 NTA1LjQ1NSljb3B5X2NudD03MDDCoCBzaXplPTE5MjB4MTA4MAo+IHRvdF90aW1lX2NvcHkodXMp PTM1OTE1MihhdmVyYWdlPTUxMy4wNzQpY29weV9jbnQ9ODAwwqAgc2l6ZT0xOTIweDEwODAKPiB0 b3RfdGltZV9jb3B5KHVzKT00MTQ0MTMoYXZlcmFnZT01MTguMDE2KWNvcHlfY250PTkwMMKgIHNp emU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9NDY1MzE1KGF2ZXJhZ2U9NTE3LjAxNylj b3B5X2NudD0xMDAwIHNpemU9MTkyMHgxMDgwCj4gdG90X3RpbWVfY29weSh1cyk9NTIwMzgxKGF2 ZXJhZ2U9NTIwLjM4MSkKPiBJIHRoaW5rIHRoZSByZXN1bHRzIGFyZSB2ZXJ5IGdvb2QuV2hhdCBk byB5b3UgdGhpbmsgYWJvdXQ/Cj4gVGhhbmsgWW91Cj4KPgpGaXJzdCBzdG9wIHRvcCBwb3N0aW5n LgoKV2hlcmUgaXMgcGF0Y2g/CgoKPgo+wqAgwqAgSWwgbWVyY29sZWTDrCAxMyBsdWdsaW8gMjAy MiAxMTo1MjoyMyBDRVNULCBQYXVsIEIgTWFob2wgPAo+IG9uZW1kYUBnbWFpbC5jb20+IGhhIHNj cml0dG86Cj4KPsKgIE9uIFdlZCwgSnVsIDEzLCAyMDIyIGF0IDExOjM4IEFNIE1hcmNvIFZpYW5p bmkgPAo+IG1hcmNvX3ZpYW5pbmktYXQteWFob28uaXRAZmZtcGVnLm9yZz4gd3JvdGU6Cj4KPiA+ wqAgWW91IGNhbiBnZXQgYSB2ZXJ5IGJpZyBpbXByb3ZlbWVudCBvZiBwZXJmb3JtYW5jZXMgaW4g dGhlIHNwZWNpYWwgKGJ1dAo+ID4gdmVyeSBsaWtlbHkpIGNhc2Ugb2Y6ICIoZHN0X2xpbmVzaXpl ID09IGJ5dGV3aWR0aCAmJiBzcmNfbGluZXNpemUgPT0KPiA+IGJ5dGV3aWR0aCkiCj4gPgo+ID4g SW4gdGhpcyBjYXNlIGluIGZhY3QgV2UgY2FuICJDb2FsZXNjZSByb3dzIiwgdGhhdCBpcyB1c2lu ZyBPTkxZIE9ORQo+ID4gTUVNQ1BZLCBpbnN0ZWFkIG9mIGEgc21hbGxlciBtZW1jcHkgZm9yIGV2 ZXJ5IHJvdyAodGhhdCBpcyBsb29waW5nIGZvcgo+ID4gaGVpZ2h0IHRpbWVzKS4KPiA+Cj4gPiBD b2RlOiJzdGF0aWMgdm9pZCBpbWFnZV9jb3B5X3BsYW5lKHVpbnQ4X3TCoCDCoCDCoCAqZHN0LCBw dHJkaWZmX3QKPiA+IGRzdF9saW5lc2l6ZSzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBjb25zdCB1aW50OF90ICpzcmMsIHB0cmRpZmZfdAo+ID4gc3JjX2xpbmVzaXpl LMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHB0cmRpZmZfdCBieXRl d2lkdGgsIGludAo+ID4gaGVpZ2h0KXvCoCDCoCBpZiAoIWRzdCB8fCAhc3JjKcKgIMKgIMKgIMKg IHJldHVybjsKPiA+IGF2X2Fzc2VydDAoYWJzKHNyY19saW5lc2l6ZSkgPj0gYnl0ZXdpZHRoKTsK PiBhdl9hc3NlcnQwKGFicyhkc3RfbGluZXNpemUpCj4gPiA+PSBieXRld2lkdGgpOyAvLyBNWSBQ QVRDSCBTVEFSVMKgIMKgIC8vIENvYWxlc2NlIHJvd3MuwqAgwqAgaWYgKGRzdF9saW5lc2l6ZQo+ ID4gPT0gYnl0ZXdpZHRoICYmIHNyY19saW5lc2l6ZSA9PSBieXRld2lkdGgpIHvCoCDCoCDCoCBi eXRld2lkdGggKj0gaGVpZ2h0Owo+ID4gaGVpZ2h0ID0gMTvCoCDCoCDCoCBzcmNfbGluZXNpemUg PSBkc3RfbGluZXNpemUgPSAwO8KgIMKgIH0vLyBNWSBQQVRDSCBTVE9QCj4gPsKgIMKgIGZvciAo O2hlaWdodCA+IDA7IGhlaWdodC0tKSB7wqAgwqAgwqAgwqAgbWVtY3B5KGRzdCwgc3JjLCBieXRl d2lkdGgpOwo+ID7CoCBkc3QgKz0gZHN0X2xpbmVzaXplO8KgIMKgIMKgIMKgIHNyYyArPSBzcmNf bGluZXNpemU7wqAgwqAgfX0iCj4gPiBXaGF0IGRvIFlvdSB0aGluayBhYm91dD9UaGFuayBZb3UK PiA+Cj4KPiBTaG93IHRoZSBiZW5jaG1hcmsgbnVtYmVycy4KPgo+Cj4gPiBNYXJjbyBWaWFuaW5p Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+ID4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiA+ IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4KPiA+ IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ID4gZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPiA+Cj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWct ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2Zm bXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBl Zy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCgo+Cj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9s aXN0aW5mby9mZm1wZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0 ICJ1bnN1YnNjcmliZSIuCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9y ZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVu c3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVz dEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgoKClNvcnJ5LCBteSBtYWls IGNsaWVudCB3YXMgdXNpbmcgaHRtbCBmb3JtYXQuCkkgaG9wZSBub3cgdGhlIG1haWwgd2lsbCBi ZSBzZW50IGNvcnJlY3RseS4KCgpZb3UgY2FuIGdldCBhIHZlcnkgYmlnIGltcHJvdmVtZW50IG9m IHBlcmZvcm1hbmNlcyBpbiB0aGUgc3BlY2lhbCAoYnV0IHZlcnkgbGlrZWx5KSBjYXNlIG9mOiAi KGRzdF9saW5lc2l6ZSA9PSBieXRld2lkdGggJiYgc3JjX2xpbmVzaXplID09IGJ5dGV3aWR0aCki CgpJbiB0aGlzIGNhc2UgaW4gZmFjdCBXZSBjYW4gIkNvYWxlc2NlIHJvd3MiLCB0aGF0IGlzIHVz aW5nIE9OTFkgT05FIE1FTUNQWSwgaW5zdGVhZCBvZiBhIHNtYWxsZXIgbWVtY3B5IGZvciBldmVy eSByb3cgKHRoYXQgaXMgbG9vcGluZyBmb3IgaGVpZ2h0IHRpbWVzKS4KCkNvZGU6CiIKc3RhdGlj IHZvaWQgaW1hZ2VfY29weV9wbGFuZSh1aW50OF90wqAgwqAgwqAgwqAqZHN0LCBwdHJkaWZmX3Qg ZHN0X2xpbmVzaXplLArCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oGNvbnN0IHVpbnQ4X3QgKnNyYywgcHRyZGlmZl90IHNyY19saW5lc2l6ZSwKwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBwdHJkaWZmX3QgYnl0ZXdpZHRoLCBpbnQg aGVpZ2h0KQp7CsKgIMKgIGlmICghZHN0IHx8ICFzcmMpCsKgIMKgIMKgIMKgIHJldHVybjsKwqAg wqAgYXZfYXNzZXJ0MChhYnMoc3JjX2xpbmVzaXplKSA+PSBieXRld2lkdGgpOwrCoCDCoCBhdl9h c3NlcnQwKGFicyhkc3RfbGluZXNpemUpID49IGJ5dGV3aWR0aCk7CsKgIMKgwqAKwqAgwqAgLy8v IE1ZIFBBVENIIFNUQVJUCsKgIMKgIC8vLyBDb2FsZXNjZSByb3dzLgrCoCDCoCBpZiAoZHN0X2xp bmVzaXplID09IGJ5dGV3aWR0aCAmJiBzcmNfbGluZXNpemUgPT0gYnl0ZXdpZHRoKSB7CsKgIMKg IMKgIGJ5dGV3aWR0aCAqPSBoZWlnaHQ7CsKgIMKgIMKgIGhlaWdodCA9IDE7CsKgIMKgIMKgIHNy Y19saW5lc2l6ZSA9IGRzdF9saW5lc2l6ZSA9IDA7CsKgIMKgIH0KwqAgwqAgLy8vIE1ZIFBBVENI IFNUT1AKCsKgIMKgIGZvciAoO2hlaWdodCA+IDA7IGhlaWdodC0tKSB7CsKgIMKgIMKgIMKgIG1l bWNweShkc3QsIHNyYywgYnl0ZXdpZHRoKTsKwqAgwqAgwqAgwqAgZHN0ICs9IGRzdF9saW5lc2l6 ZTsKwqAgwqAgwqAgwqAgc3JjICs9IHNyY19saW5lc2l6ZTsKwqAgwqAgfQp9CiIKCgpJIGRpZCBm b2xsb3dpbmcgdGVzdHMgb24gV2luZG93cyAxMCA2NGJpdC4KSSBjb21waWxlZCBjb2RlIGluIFJl bGVhc2UuCkkgY29waWVkIG15IHBjIGNhbWVyYSBmcmFtZXMgMTAwMCB0aW1lcyAocmVzb2x1dGlv biAxOTIweDEwODApOgoKV2l0aCBDb2FsZXNjZToKY29weV9jbnQ9MTAwwqAgc2l6ZT0xOTIweDEw ODAgdG90X3RpbWVfY29weSh1cyk9MzY1NzQgKGF2ZXJhZ2U9MzY1Ljc0KQpjb3B5X2NudD0yMDDC oCBzaXplPTE5MjB4MTA4MCB0b3RfdGltZV9jb3B5KHVzKT03ODIwNyAoYXZlcmFnZT0zOTEuMDM1 KQpjb3B5X2NudD0zMDDCoCBzaXplPTE5MjB4MTA4MCB0b3RfdGltZV9jb3B5KHVzKT0xMjIxNzAo YXZlcmFnZT00MDcuMjMzKQpjb3B5X2NudD00MDDCoCBzaXplPTE5MjB4MTA4MCB0b3RfdGltZV9j b3B5KHVzKT0xNjM2NzgoYXZlcmFnZT00MDkuMTk1KQpjb3B5X2NudD01MDDCoCBzaXplPTE5MjB4 MTA4MCB0b3RfdGltZV9jb3B5KHVzKT0yMDE4NzIoYXZlcmFnZT00MDMuNzQ0KQpjb3B5X2NudD02 MDDCoCBzaXplPTE5MjB4MTA4MCB0b3RfdGltZV9jb3B5KHVzKT0yNDYxNzQoYXZlcmFnZT00MTAu MjkpCmNvcHlfY250PTcwMMKgIHNpemU9MTkyMHgxMDgwIHRvdF90aW1lX2NvcHkodXMpPTI4NzA0 MyhhdmVyYWdlPTQxMC4wNjEpCmNvcHlfY250PTgwMMKgIHNpemU9MTkyMHgxMDgwIHRvdF90aW1l X2NvcHkodXMpPTMyNjQ2MihhdmVyYWdlPTQwOC4wNzcpCmNvcHlfY250PTkwMMKgIHNpemU9MTky MHgxMDgwIHRvdF90aW1lX2NvcHkodXMpPTM1Njg4MihhdmVyYWdlPTM5Ni41MzYpCmNvcHlfY250 PTEwMDAgc2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1cyk9Mzk0NTY2KGF2ZXJhZ2U9Mzk0 LjU2NikKCldpdGhvdXQgQ29hbGVzY2U6CmNvcHlfY250PTEwMMKgIHNpemU9MTkyMHgxMDgwIHRv dF90aW1lX2NvcHkodXMpPTQ0MzAzIChhdmVyYWdlPTQ0My4wMykKY29weV9jbnQ9MjAwwqAgc2l6 ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1cyk9MTAwNTAxKGF2ZXJhZ2U9NTAyLjUwNSkKY29w eV9jbnQ9MzAwwqAgc2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1cyk9MTUwMDk3KGF2ZXJh Z2U9NTAwLjMyMykKY29weV9jbnQ9NDAwwqAgc2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1 cyk9MjAxMDEwKGF2ZXJhZ2U9NTAyLjUyNSkKY29weV9jbnQ9NTAwwqAgc2l6ZT0xOTIweDEwODAg dG90X3RpbWVfY29weSh1cyk9MjU2ODE4KGF2ZXJhZ2U9NTEzLjYzNikKY29weV9jbnQ9NjAwwqAg c2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1cyk9MzAzMjczKGF2ZXJhZ2U9NTA1LjQ1NSkK Y29weV9jbnQ9NzAwwqAgc2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29weSh1cyk9MzU5MTUyKGF2 ZXJhZ2U9NTEzLjA3NCkKY29weV9jbnQ9ODAwwqAgc2l6ZT0xOTIweDEwODAgdG90X3RpbWVfY29w eSh1cyk9NDE0NDEzKGF2ZXJhZ2U9NTE4LjAxNikKY29weV9jbnQ9OTAwwqAgc2l6ZT0xOTIweDEw ODAgdG90X3RpbWVfY29weSh1cyk9NDY1MzE1KGF2ZXJhZ2U9NTE3LjAxNykKY29weV9jbnQ9MTAw MCBzaXplPTE5MjB4MTA4MCB0b3RfdGltZV9jb3B5KHVzKT01MjAzODEoYXZlcmFnZT01MjAuMzgx KQoKCkkgdGhpbmsgdGhlIHJlc3VsdHMgYXJlIHZlcnkgZ29vZC4KV2hhdCBkbyB5b3UgdGhpbmsg YWJvdXQ/CgoKVGhhbmsgWW91CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=