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 704AF446FE for ; Wed, 21 Sep 2022 10:50:20 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AADB868BB9F; Wed, 21 Sep 2022 13:50:16 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2074.outbound.protection.outlook.com [40.92.91.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ECACC68BB88 for ; Wed, 21 Sep 2022 13:50:10 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bYFzmwsWch3uQkxPkaWvZgVhkcIduiyDNCPvxXqTBdgDLLRiCsKcQoVQmYK+XztNc7EhEoxBEllPbd8reeByKrJhhkrYBDbPauWAwdYpG2pUzCIxco30FI9ZYjojROm0HPRa1oeclbR2LPSTxYVhuL4Kfii/zm9YAywY+yOU4EoJSSEwq+QOOc5BRkL8QNJuCbvlPshrAUUumh+G+fntdlpdo0pp+9/ntlJsvrWvcgSIiSAQYeC2vQsaoJ5gkkEDZ2XIdAQU1h9QtadVc2HzVSskiuY2N4EPgcGG+vZBoEa1QR5DcHTjBmfkzkO9MaZf476kZEm69tXl+njU2Fttcw== 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=WYDkHjzWVv6u/z9cBSVkiYB39aDstdi3Cj76CfUr1PI=; b=IMEun1X2cO9lx9geHH6j+xW/wkSuhrO74w+9D4RewIpgRRVc7Gc/Z+tam6oR2PLl+OOqRTHffJYt12Y3KryPmuDvuUQpuktKRO9Zu8cwPrVxmFhSRpG/UQ67c9ydyGm/t9t5Druc/X0mhHFeilQ4LIdSo9uV7bQRLms18+buVrcNyDinpWhdFsK9r2cUEiMvxI5M8u64GoW6BnAboChUplq4WTtCbvRBufg04dvUGxzoMS/5Px6xzvTUx+YdF634vgUrVtlIb4oagHr8qfkEQkHbXkkXMLOygWvqSRVjGNPpyMx9OPGIKkB9uDQS/1ESGj7Up3MiKbgdc9uHRaXryg== 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=WYDkHjzWVv6u/z9cBSVkiYB39aDstdi3Cj76CfUr1PI=; b=sK0trE/yl5BysfaPE9w739XM+F9RiOld3nfTtksnYiUqQ4roj5L80K36YxDuidC2efZmRQSuokd7KzfSXQaFi50s0OP6MXiXwDQx+SAN7ZvivrXGfdHtjqkgbl/p+rZFzjxzCNpx8NTPORJ02yUtCfOxtrMSughcU6H6bNnmMwhXdro0g+9uO5vdIneR8G0M800b7JzOOk6XZxkuFJ8gcp7CBkBDOGpIui0QPgE5AAc7tpoZQvnNUJxk/9/i8Ors1nV6/Qojc8WdxK6hI9+ej7jTB+r/HKPaM9Fs7xspBKyo+nNr2FWvwwTIMTboBy9KMaoJkM5fhI0GzsP8uOlNuQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0719.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:53a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.14; Wed, 21 Sep 2022 10:50:09 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::f3f2:4362:56:4785%8]) with mapi id 15.20.5632.019; Wed, 21 Sep 2022 10:50:09 +0000 Message-ID: Date: Wed, 21 Sep 2022 12:50:12 +0200 Content-Language: en-US To: Shiyou Yin , FFmpeg development discussions and patches References: <20220829112656.9229-1-chenhao@loongson.cn> <20220829112656.9229-4-chenhao@loongson.cn> From: Andreas Rheinhardt In-Reply-To: X-TMN: [P1JmCOcrD9QqV0gXxikpFt5n150E2XqV1IhRdJO/ixI=] X-ClientProxiedBy: ZR2P278CA0021.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:46::17) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <099e1473-af32-b579-9845-338b0b2389f9@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0719:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f776948-065d-49dc-7e9c-08da9bbf0d1d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kLWjKb5t6ypIC5BDdRs2Wx0cvkqaihXJPnxtnUrRVoAZo35+soxWP7+yGW0T+oxa/DCPRygJfomLZFcygdFLJekTERGhpPC8YNNtSKBix3+Mcn1I1Izr4/GPd2dG96u0bggd0E83CrR3qS2ZW/KI50InVEvQdHY1h3NPz5GxyhZjJANGCac19GR/yzzqVG1bzfzIdm+zw+RurcUVyAQLNMesE+Ivpic/4iQ+oRz+NIOw6zQr8e21EO6YmvdoMOJgctZmy14rBL5BTjGbc4UOzVA63wMJc3dk0RFGNZaLIAM2KJYazSERiEFseio//FyX3aAmsxeTe14ic7TijENzn1K3xId2ndewMm9GnWv8r8CDdEjNsFrxWUFSt4igPJ46PC4Q4oMarHTTNJKA3MBvgPYt1wLvST5c6Hmr1snX3vf3tUl2xy19ZD8ZuyK+yna8Q6aL69YBM1v9/utLCU0A1Giq73pW5jG/qEAcw1lVdzCeqTa6zWIRXoXwJ7sjH1hZlrve5ip+Fe9NvN9ODz6ISauaIoWKQLLt6eDV/X4rLmuxqgb9HgMaZIsoNvRVFWtQTkY5B5urQfOrKNTkhCt2oE5Gst9VydXQENHw7M7Gq7LNvJWrJ97KHRkAdpehH0KomxqtZywbnFiuRKd5vvR377hBNgPRKA60jSXdi3p6PSyFr4Tk6RNTA5Ls1/z99wyvK9DR7KmuqnN4SVWQRKxBnvbF3WZhT8QBhMusgudWPt0= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UUd3RHM2WXc1M25kRGR1UHd0SU5VemcrcmdReklYaVhibmtqaVVFbjU1TFhY?= =?utf-8?B?THhzaDI4VHRrVkFuMzI0Q2N1b3BQTVZUS05kdEx1byt5SFJNbUlqR1pVVnla?= =?utf-8?B?M3BQMU9vYzBSSno4VXNiUFFnVlFDWEFvZzdPaUc0RzFTNFEwYVhmbDJxeUJs?= =?utf-8?B?VW44cXo2azYwdnltZmhtSVQreDIrbFZoeS9UeGVLb3Z0WE5Idm1sZGNVZFBx?= =?utf-8?B?TVh5VEFtbFhFVnBKT2hRUU9JdGxQQUFrdGpsdHp1aTJNbk56aHlXcks5K1BI?= =?utf-8?B?MEFma2tFczhIU3lzQ2ZibW1RRjhrUDlyWjRUcFZ2Y0pkQTBZendRZ1VkQzQ5?= =?utf-8?B?R1VEWDhhYW55N0EzbDBDSHNiYWtacHZxWm9ZODV3bW85a1dWUkppRHBiMzlO?= =?utf-8?B?dENrbXNEUWViNW1Wc2c2M21wcDk3SVNZeFluVHJsWVJXVGJwL0YxRjYxdE1Z?= =?utf-8?B?SDBSQ1hBelVrbU93c1FxVGpOakoxUFhLSFo0bXlMcjl2dStBamt5REVmNWpx?= =?utf-8?B?S1N6UW1IUHRmV3cySlhyWjBieUlGQjh4RWRMTzBJeG9zY0l0ekhocXIwdGNs?= =?utf-8?B?bkVLTkUxNGtDVW9BZ2cxa2JZNWlEK3FHNDhteW12bEtMYjNUMkVkc3pLbVJY?= =?utf-8?B?REpEM24wcHdBZW0vSG9JSWx1U0N2VGprYjFVRVNQd1BvOUZEUFIvbHZUV0RW?= =?utf-8?B?ZnVQWlltaFdOakFwRWxjS1VPVml3VGhJbWNQLytITkxSdmtKWjNib054Q1V2?= =?utf-8?B?MnQ5QjZRRi9naXRITVZUTE9KVnNWNTloY2ljZkM3SjROUnJHeTI3ZXVjaWV5?= =?utf-8?B?WUpjb3hZS1dFTS94ZjN5a2czWm9hQjRZTnVoMkptSUprVUxLRDFxa21rMXBs?= =?utf-8?B?cTNJbkJlVzRBNWt5b1J3V3BtOS9yUEQ3ay82YkthemxienFVb2lCeUpLZTAv?= =?utf-8?B?QmpuS2FyYXIxMlZpNTZiK3RSY1NqTU9oSlIrNDUzUWs2Yk5YeWp5Mk9UYngx?= =?utf-8?B?d1FKZ0pMS1JYeXd2UDliTWVFNjA1RTVPeDVNNEFTbzJ6M1NFQk84Z0x3WTZ6?= =?utf-8?B?OEpCQ2dTZWczc1ZibnltNGFwNE5BTHYyUGNnQmdjZzFMeTg4VjhqTGhpS01R?= =?utf-8?B?QlhmRWJ5dEorWndYODFQelBiNHIvZFVxQmdKYS9PUTJjNFk0MEdWaE5VNlE4?= =?utf-8?B?QlpvcFBYeVZUbW1xdVkyT2Q1dUFIOEo5Q09rQ2prK09hbDlTRUMyMFZ1ZXl5?= =?utf-8?B?TVhnaEFhWlEreVVwbnYzUDQySkcrckQwL0JlNzZIa0h2TU5SdWJOWFlSV3JB?= =?utf-8?B?Q05jdDZqVGNWR1Z4VmM2LzNIMnpNTVRQS1YvL21oc3F4NEZaUDRIMWFOQTJL?= =?utf-8?B?Ykhsb1Z0ZXArMEFkbFNtWHEwaXc2eGZveDF6S3RmRHhYb0FjT2x0OWs3QU9H?= =?utf-8?B?K1lMMEdrZnN2MEJhOVpBUzEyS1BlaXJwcVJuZnVKODBzTTcvTHpNTGNaNHBY?= =?utf-8?B?b1VRVXdRcUlhakVLWnN5clpWK0hIWkJTZjBkZ2ZNZ3l6bkxlMG5ZUU01Tkd2?= =?utf-8?B?aVFlbW1HS0VqekhkdlloRVU1MU80M0VMQmlNSVQwZVg3Q2o4ck1OSzkyTmhK?= =?utf-8?B?Y1FRY2hTR2xCTThMSSs5MW5lWjYycDdXRHQ5VFdsampteWtKZVoyZHUxYlRV?= =?utf-8?B?cGgvc0V6N0Q3UE9PL3licytUR2xRK2ZiYXVBQ0h3QWR5WFpsbjEzN3lqOE9X?= =?utf-8?Q?Pb18N5ZU1pGp3UJkCi6JbgYcWcYs5epwo6s6Klj?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f776948-065d-49dc-7e9c-08da9bbf0d1d X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2022 10:50:08.9641 (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: AS8P250MB0719 Subject: Re: [FFmpeg-devel] [PATCH v1 3/3] swscale/la: Add output_lasx.c file. 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: U2hpeW91IFlpbjoKPiAKPiAKPj4gMjAyMuW5tDnmnIgxMeaXpSAxMDowNu+8jFNoaXlvdSBZaW4g PHlpbnNoaXlvdS1oZkBsb29uZ3Nvbi5jbj4g5YaZ6YGT77yaCj4+Cj4+Cj4+Cj4+PiAyMDIy5bm0 OeaciDnml6UgMjE6MTHvvIxBbmRyZWFzIFJoZWluaGFyZHQgPGFuZHJlYXMucmhlaW5oYXJkdEBv dXRsb29rLmNvbSA8bWFpbHRvOmFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4+IOWGmemB k++8mgo+Pj4KPj4+IFNoaXlvdSBZaW46Cj4+Pj4KPj4+Pgo+Pj4+PiAyMDIy5bm0OeaciDbml6Ug MTY6MTLvvIxTaGl5b3UgWWluIDx5aW5zaGl5b3UtaGZAbG9vbmdzb24uY24gPG1haWx0bzp5aW5z aGl5b3UtaGZAbG9vbmdzb24uY24+PiDlhpnpgZPvvJoKPj4+Pj4KPj4+Pj4+Cj4+Pj4+PiAyMDIy 5bm0OOaciDI55pelIDIwOjMw77yMQW5kcmVhcyBSaGVpbmhhcmR0IDxhbmRyZWFzLnJoZWluaGFy ZHRAb3V0bG9vay5jb20gPG1haWx0bzphbmRyZWFzLnJoZWluaGFyZHRAb3V0bG9vay5jb20+IDxt YWlsdG86YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tIDxtYWlsdG86YW5kcmVhcy5yaGVp bmhhcmR0QG91dGxvb2suY29tPj4+IOWGmemBk++8mgo+Pj4+Pj4KPj4+Pj4+IEhhbyBDaGVuOgo+ Pj4+Pj4+IGZmbXBlZyAtaSB+L21lZGlhLzFfaDI2NF8xMDgwcF8zMGZwc18zTWJwcy5tcDQgLWYg cmF3dmlkZW8gLXMgNjQweDQ4MCAtcGl4X2ZtdAo+Pj4+Pj4+IHJnYjI0IC15IC9kZXYvbnVsbCAt YW4KPj4+Pj4+PiBiZWZvcmU6IDE1MGZwcwo+Pj4+Pj4+IGFmdGVyOiAxODNmcHMKPj4+Pj4+Pgo+ Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhbyBDaGVuIDxjaGVuaGFvQGxvb25nc29uLmNuIDxtYWls dG86Y2hlbmhhb0Bsb29uZ3Nvbi5jbj4+Cj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4gbGlic3dzY2FsZS9s b29uZ2FyY2gvTWFrZWZpbGUgfCAzICstCj4+Pj4+Pj4gbGlic3dzY2FsZS9sb29uZ2FyY2gvb3V0 cHV0X2xhc3guYyB8IDE5ODIgKysrKysrKysrKysrKysrKysKPj4+Pj4+PiBsaWJzd3NjYWxlL2xv b25nYXJjaC9zd3NjYWxlX2luaXRfbG9vbmdhcmNoLmMgfCAzICsKPj4+Pj4+PiBsaWJzd3NjYWxl L2xvb25nYXJjaC9zd3NjYWxlX2xvb25nYXJjaC5oIHwgNiArCj4+Pj4+Pj4gNCBmaWxlcyBjaGFu Z2VkLCAxOTkzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4+Pj4+PiBjcmVhdGUgbW9k ZSAxMDA2NDQgbGlic3dzY2FsZS9sb29uZ2FyY2gvb3V0cHV0X2xhc3guYwo+Pj4+Pj4+Cj4+Pj4K Pj4+Pj4+PiArc3RhdGljIHZvaWQKPj4+Pj4+PiAreXV2MnJnYl8yX3RlbXBsYXRlX2xhc3goU3dz Q29udGV4dCAqYywgY29uc3QgaW50MTZfdCAqYnVmWzJdLAo+Pj4+Pj4+ICsgY29uc3QgaW50MTZf dCAqdWJ1ZlsyXSwgY29uc3QgaW50MTZfdCAqdmJ1ZlsyXSwKPj4+Pj4+PiArIGNvbnN0IGludDE2 X3QgKmFidWZbMl0sIHVpbnQ4X3QgKmRlc3QsIGludCBkc3RXLAo+Pj4+Pj4+ICsgaW50IHlhbHBo YSwgaW50IHV2YWxwaGEsIGludCB5LAo+Pj4+Pj4+ICsgZW51bSBBVlBpeGVsRm9ybWF0IHRhcmdl dCwgaW50IGhhc0FscGhhKQo+Pj4+Pj4+ICt7Cj4+Pj4+Pj4gKyBjb25zdCBpbnQxNl90ICpidWYw ID0gYnVmWzBdLCAqYnVmMSA9IGJ1ZlsxXSwKPj4+Pj4+PiArICp1YnVmMCA9IHVidWZbMF0sICp1 YnVmMSA9IHVidWZbMV0sCj4+Pj4+Pj4gKyAqdmJ1ZjAgPSB2YnVmWzBdLCAqdmJ1ZjEgPSB2YnVm WzFdOwo+Pj4+Pj4+ICsgaW50IHlhbHBoYTEgPSA0MDk2IC0geWFscGhhOwo+Pj4+Pj4+ICsgaW50 IHV2YWxwaGExID0gNDA5NiAtIHV2YWxwaGE7Cj4+Pj4+Pj4gKyBpbnQgaSwgY291bnQgPSAwOwo+ Pj4+Pj4+ICsgaW50IGxlbiA9IGRzdFcgLSAxNTsKPj4+Pj4+PiArIGludCBsZW5fY291bnQgPSAo ZHN0VyArIDEpID4+IDE7Cj4+Pj4+Pj4gKyBjb25zdCB2b2lkICpyLCAqZywgKmI7Cj4+Pj4+Pj4g KyBpbnQgaGVhZCA9IFlVVlJHQl9UQUJMRV9IRUFEUk9PTTsKPj4+Pj4+PiArIF9fbTI1Nmkgdl95 YWxwaGExID0gX19sYXN4X3h2cmVwbGdyMnZyX3coeWFscGhhMSk7Cj4+Pj4+Pj4gKyBfX20yNTZp IHZfdXZhbHBoYTEgPSBfX2xhc3hfeHZyZXBsZ3IydnJfdyh1dmFscGhhMSk7Cj4+Pj4+Pj4gKyBf X20yNTZpIHZfeWFscGhhID0gX19sYXN4X3h2cmVwbGdyMnZyX3coeWFscGhhKTsKPj4+Pj4+PiAr IF9fbTI1Nmkgdl91dmFscGhhID0gX19sYXN4X3h2cmVwbGdyMnZyX3codXZhbHBoYSk7Cj4+Pj4+ Pj4gKyBfX20yNTZpIGhlYWRyb29tID0gX19sYXN4X3h2cmVwbGdyMnZyX3coaGVhZCk7Cj4+Pj4+ Pj4gKwo+Pj4+Pj4+ICsgZm9yIChpID0gMDsgaSA8IGxlbjsgaSArPSAxNikgewo+Pj4+Pj4+ICsg aW50IFkxLCBZMiwgVSwgVjsKPj4+Pj4+PiArIGludCBpX2RleCA9IGkgPDwgMTsKPj4+Pj4+PiAr IGludCBjX2RleCA9IGNvdW50IDw8IDE7Cj4+Pj4+Pj4gKyBfX20yNTZpIHkwX2gsIHkwX2wsIHkw LCB1MCwgdjA7Cj4+Pj4+Pj4gKyBfX20yNTZpIHkxX2gsIHkxX2wsIHkxLCB1MSwgdjE7Cj4+Pj4+ Pj4gKyBfX20yNTZpIHlfbCwgeV9oLCB1LCB2Owo+Pj4+Pj4+ICsKPj4+Pj4+PiArIERVUDRfQVJH MihfX2xhc3hfeHZsZHgsIGJ1ZjAsIGlfZGV4LCB1YnVmMCwgY19kZXgsIHZidWYwLCBjX2RleCwK Pj4+Pj4+PiArIGJ1ZjEsIGlfZGV4LCB5MCwgdTAsIHYwLCB5MSk7Cj4+Pj4+Pj4gKyBEVVAyX0FS RzIoX19sYXN4X3h2bGR4LCB1YnVmMSwgY19kZXgsIHZidWYxLCBjX2RleCwgdTEsIHYxKTsKPj4+ Pj4+PiArIERVUDJfQVJHMihfX2xhc3hfeHZzbGx3aWxfd19oLCB5MCwgMCwgeTEsIDAsIHkwX2ws IHkxX2wpOwo+Pj4+Pj4+ICsgRFVQMl9BUkcxKF9fbGFzeF94dmV4dGhfd19oLCB5MCwgeTEsIHkw X2gsIHkxX2gpOwo+Pj4+Pj4+ICsgRFVQNF9BUkcxKF9fbGFzeF92ZXh0Mnh2X3dfaCwgdTAsIHUx LCB2MCwgdjEsIHUwLCB1MSwgdjAsIHYxKTsKPj4+Pj4+PiArIHkwX2wgPSBfX2xhc3hfeHZtdWxf dyh5MF9sLCB2X3lhbHBoYTEpOwo+Pj4+Pj4+ICsgeTBfaCA9IF9fbGFzeF94dm11bF93KHkwX2gs IHZfeWFscGhhMSk7Cj4+Pj4+Pj4gKyB1MCA9IF9fbGFzeF94dm11bF93KHUwLCB2X3V2YWxwaGEx KTsKPj4+Pj4+PiArIHYwID0gX19sYXN4X3h2bXVsX3codjAsIHZfdXZhbHBoYTEpOwo+Pj4+Pj4+ ICsgeV9sID0gX19sYXN4X3h2bWFkZF93KHkwX2wsIHZfeWFscGhhLCB5MV9sKTsKPj4+Pj4+PiAr IHlfaCA9IF9fbGFzeF94dm1hZGRfdyh5MF9oLCB2X3lhbHBoYSwgeTFfaCk7Cj4+Pj4+Pj4gKyB1 ID0gX19sYXN4X3h2bWFkZF93KHUwLCB2X3V2YWxwaGEsIHUxKTsKPj4+Pj4+PiArIHYgPSBfX2xh c3hfeHZtYWRkX3codjAsIHZfdXZhbHBoYSwgdjEpOwo+Pj4+Pj4+ICsgeV9sID0gX19sYXN4X3h2 c3JhaV93KHlfbCwgMTkpOwo+Pj4+Pj4+ICsgeV9oID0gX19sYXN4X3h2c3JhaV93KHlfaCwgMTkp Owo+Pj4+Pj4+ICsgdSA9IF9fbGFzeF94dnNyYWlfdyh1LCAxOSk7Cj4+Pj4+Pj4gKyB2ID0gX19s YXN4X3h2c3JhaV93KHYsIDE5KTsKPj4+Pj4+PiArIHUgPSBfX2xhc3hfeHZhZGRfdyh1LCBoZWFk cm9vbSk7Cj4+Pj4+Pj4gKyB2ID0gX19sYXN4X3h2YWRkX3codiwgaGVhZHJvb20pOwo+Pj4+Pj4+ ICsgV1JJVEVfWVVWMlJHQih5X2wsIHlfbCwgdSwgdiwgMCwgMSwgMCwgMCk7Cj4+Pj4+Pj4gKyBX UklURV9ZVVYyUkdCKHlfbCwgeV9sLCB1LCB2LCAyLCAzLCAxLCAxKTsKPj4+Pj4+PiArIFdSSVRF X1lVVjJSR0IoeV9oLCB5X2gsIHUsIHYsIDAsIDEsIDIsIDIpOwo+Pj4+Pj4+ICsgV1JJVEVfWVVW MlJHQih5X2gsIHlfaCwgdSwgdiwgMiwgMywgMywgMyk7Cj4+Pj4+Pj4gKyBXUklURV9ZVVYyUkdC KHlfbCwgeV9sLCB1LCB2LCA0LCA1LCA0LCA0KTsKPj4+Pj4+PiArIFdSSVRFX1lVVjJSR0IoeV9s LCB5X2wsIHUsIHYsIDYsIDcsIDUsIDUpOwo+Pj4+Pj4+ICsgV1JJVEVfWVVWMlJHQih5X2gsIHlf aCwgdSwgdiwgNCwgNSwgNiwgNik7Cj4+Pj4+Pj4gKyBXUklURV9ZVVYyUkdCKHlfaCwgeV9oLCB1 LCB2LCA2LCA3LCA3LCA3KTsKPj4+Pj4+PiArIH0KPj4+Pj4+PiArIGlmIChkc3RXIC0gaSA+PSA4 KSB7Cj4+Pj4+Pj4gKyBpbnQgWTEsIFkyLCBVLCBWOwo+Pj4+Pj4+ICsgaW50IGlfZGV4ID0gaSA8 PCAxOwo+Pj4+Pj4+ICsgX19tMjU2aSB5MF9sLCB5MCwgdTAsIHYwOwo+Pj4+Pj4+ICsgX19tMjU2 aSB5MV9sLCB5MSwgdTEsIHYxOwo+Pj4+Pj4+ICsgX19tMjU2aSB5X2wsIHUsIHY7Cj4+Pj4+Pj4g Kwo+Pj4+Pj4+ICsgeTAgPSBfX2xhc3hfeHZsZHgoYnVmMCwgaV9kZXgpOwo+Pj4+Pj4KPj4+Pj4+ IDEuIE5vdCBsb25nIGFnbywgSSB0cmllZCB0byBjb25zdGlmeSB0aGUgc3JjIHBvaW50ZXIgb2Yg c2V2ZXJhbCBhc20KPj4+Pj4+IGZ1bmN0aW9ucyBhbmQgbm90aWNlZCB0aGF0IHRoZXkgcHJvZHVj ZWQgbmV3IHdhcm5pbmdzIGZvciBsb29uZ2FyY2gKPj4+Pj4+IChhY2NvcmRpbmcgdG8gcGF0Y2h3 b3JrOgo+Pj4+Pj4gaHR0cHM6Ly9wYXRjaHdvcmsuZmZtcGVnLm9yZy9wcm9qZWN0L2ZmbXBlZy9w YXRjaC9EQjZQUjAxMDFNQjIyMTQxNzhEM0U2QjhEQ0E1Qjg2RjgxOThGOUE5QERCNlBSMDEwMU1C MjIxNC5ldXJwcmQwMS5wcm9kLmV4Y2hhbmdlbGFicy5jb20vIDxodHRwczovL3BhdGNod29yay5m Zm1wZWcub3JnL3Byb2plY3QvZmZtcGVnL3BhdGNoL0RCNlBSMDEwMU1CMjIxNDE3OEQzRTZCOERD QTVCODZGODE5OEY5QTlAREI2UFIwMTAxTUIyMjE0LmV1cnByZDAxLnByb2QuZXhjaGFuZ2VsYWJz LmNvbS8+KSwKPj4+Pj4+IGV2ZW4gdGhvdWdoIEkgd2FzIHN1cmUgdGhhdCB0aGUgY29kZSBpcyBj b25zdC1jb3JyZWN0LiBBZnRlciBmaW5kaW5nCj4+Pj4+PiAodmlhIGh0dHBzOi8vZ2l0aHViLmNv bS9vcGVuY3Yvb3BlbmN2L3B1bGwvMjE4MzMgPGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3Bl bmN2L3B1bGwvMjE4MzM+KSBhIHRvb2xjaGFpbgo+Pj4+Pj4gKGh0dHBzOi8vZ2l0ZWUuY29tL3dl bnV4L2Nyb3NzLWNvbXBpbGVyLWxhLW9uLXg4NiA8aHR0cHM6Ly9naXRlZS5jb20vd2VudXgvY3Jv c3MtY29tcGlsZXItbGEtb24teDg2PikgdGhhdCBjYW4gYnVpbGQgdGhlCj4+Pj4+PiBsYXN4IGFu ZCBsc3ggY29kZSAodXBzdHJlYW0gR0NDIHNlZW1zIHRvIGJlIGxhY2tpbmcgbHN4IGFuZCBsYXN4 IHN1cHBvcnQKPj4+Pj4+IGF0IHRoZSBtb21lbnQ7IGF0IGxlYXN0LCBteSBzZWxmLWNvbXBpbGVk IGxvb25nYXJjaC1HQ0MgZGlkIG5vdCBzdXBwb3J0Cj4+Pj4+PiBsc3ggYW5kIGxhc3gpIHRoZSBp c3N1ZSB3YXMgY2xlYXI6IGxzeGludHJpbi5oIGFuZCBsYXN4aW50cmluLmggZG8gbm90Cj4+Pj4+ PiB1c2UgY29uc3QgYXQgYWxsLCBldmVuIGZvciBmdW5jdGlvbnMgdGhhdCBvbmx5IHJlYWQgZGF0 YSAoSSBwcmVzdW1lIHRoZQo+Pj4+Pj4gdmwgaW4gX19sc3hfdmxkeCBzdGFuZHMgZm9yICJ2ZWN0 b3IgbG9hZCI/KS4KPj4+Pj4+IFNvIEkgc2VudCBhbm90aGVyIGl0ZXJhdGlvbgo+Pj4+Pj4gaHR0 cHM6Ly9mZm1wZWcub3JnL3BpcGVybWFpbC9mZm1wZWctZGV2ZWwvMjAyMi1BdWd1c3QvMjk5NTYy Lmh0bWwgPGh0dHBzOi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMjItQXVn dXN0LzI5OTU2Mi5odG1sPiBvZgo+Pj4+Pj4gdGhhdCBwYXRjaHNldCB0aGF0IG5vdyBhZGRlZCB3 cmFwcGVycyBmb3IgX19sc3hfdmxkeCgpIGFuZAo+Pj4+Pj4gX19sYXN4X3h2bGR4KCkgYW5kIGNj J2VkIHlvdSBhbmQgc29tZSBvdGhlciBkZXZlbG9wZXJzIGZyb20gbG9vbmdzb24gdG8KPj4+Pj4+ IGFsZXJ0IHlvdSBvZiB0aGUgaXNzdWUgaW4gdGhlIGhvcGUgdGhhdCB5b3UgZml4IHRoZSBoZWFk ZXJzLCBzbyB0aGF0IG15Cj4+Pj4+PiB3cmFwcGVycyB3b3VsZG4ndCBuZWVkIHRvIGJlIGFwcGxp ZWQuIFRoYXQgZGlkbid0IHdvcmssIGFzIG15IG1haWxzCj4+Pj4+PiBjb3VsZCBub3QgYmUgZGVs aXZlcmVkIHRvIHlvdS4gU28gSSBhcHBsaWVkIHRoZSBwYXRjaHNldC4KPj4+Pj4+IDIuIFlvdSB1 c2UgX19sYXN4X3h2bGR4KCkgdG8gcmVhZCBmcm9tIGEgY29uc3QgaW50MTZfdC4gVGhpcyB3aWxs IGdpdmUKPj4+Pj4+IG5ldyB3YXJuaW5ncyB1bmxlc3MgdGhlIGFib3ZlIGlzc3VlIGhhcyBiZWVu IGZpeGVkLiBIYXMgaXQ/Cj4+Pj4+PiAzLiBJIGRvbid0IGtub3cgd2hldGhlciBpdCBoYXMsIGFz IHBhdGNod29yaydzIGZhdGUgdGVzdHMgZG9uJ3Qgd29yayBmb3IKPj4+Pj4+IGEgZmV3IGRheXMg YWxyZWFkeS4gR2l2ZW4gdGhhdCB0aGUgbWFpbHMgSSByZWNlaXZlIGZyb20gcGF0Y2h3b3JrIHdo ZW4KPj4+Pj4+IGl0IGRvZXNuJ3QgbGlrZSBhIGNvbW1pdCBtZXNzYWdlIGFycml2ZSBmcm9tICJQ YXRjaHdvcmsKPj4+Pj4+IDx5aW5zaGl5b3UtaGZAbG9vbmdzb24uY24gPG1haWx0bzp5aW5zaGl5 b3UtaGZAbG9vbmdzb24uY24+PiIgSSBwcmVzdW1lIHRoYXQgbG9vbmdzb24gaXMgbm93IHNvbWVo b3cKPj4+Pj4+IHJ1bm5pbmcgcGF0Y2h3b3JrLCBzbyB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gaW5m b3JtIHRoZSByaWdodCBwZW9wbGUgdG8KPj4+Pj4+IGZpeCBpdC4KPj4+Pj4+IDQuIElmIHlvdSBm aXhlZCB0aGUgY29uc3QtaXNzdWUsIGNhbiB5b3UgcGxlYXNlIG1ha2UgYW4gdXBkYXRlZAo+Pj4+ Pj4gdG9vbGNoYWluIHdpdGggbHN4IGFuZCBsYXN4IHN1cHBvcnQgZW5hYmxlZCBhdmFpbGFibGUg dG8gdXM/Cj4+Pj4+Pgo+Pj4+Pj4gLSBBbmRyZWFzCj4+Pj4+Pgo+Pj4+Pgo+Pj4+PiBIaSBBbmRy ZWFzLAo+Pj4+Pgo+Pj4+PiBTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHkuCj4+Pj4+IFRoaXMgaXNz dWUgd2lsbCBiZSBmaXhlZCBieSB1c2luZyBjb25zdCBmb3IgdjEgb2YgX19sc3hfdmxkeCwgYW5k IEkgd2lsbCB1cGRhdGUgdG9vbGNoYWluIG9mIExvb25nQXJjaCBwYXRjaHdvcmsgcnVubmVyIEFT QVAuCj4+Pj4+IFRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIGFuYWx5emluZyB0aGlzIHByb2JsZW0g YW5kIGdpdmluZyBzdWdnZXN0aW9uLiAKPj4+Pj4KPj4+Pj4gVGhhbmtzLAo+Pj4+PiBTaGl5b3UK Pj4+Pgo+Pj4+IEhpIEFuZHJlYXMsCj4+Pj4gSGFzIHVwZGF0ZWQgcGF0Y2h3b3JrIHJ1bm5lciBl bnZpcm9ubWVudCwgeW91IGNhbiByZXZlcnQgdGhlIHBhdGNoc2V0IHdoaWNoIGFkZCB3cmFwcGVy cyBmb3IgX19sc3hfW3hddmxkeC4KPj4+Pgo+Pj4KPj4+IEp1c3Qgc2VudCB0aGUgcGF0Y2hlczoK Pj4+IGh0dHBzOi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMjItU2VwdGVt YmVyLzMwMTIwMS5odG1sIDxodHRwczovL2ZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZl bC8yMDIyLVNlcHRlbWJlci8zMDEyMDEuaHRtbD4KPj4+IENhbiB5b3UgcHJvdmlkZSBhbiB1cGRh dGVkIHRvb2xjaGFpbiAod2l0aCB4ODYgaG9zdCkgYWJsZSB0byBjb21waWxlIGxzeAo+Pj4gYW5k IGxhc3g/Cj4+Pgo+Pj4gLSBBbmRyZWFzCj4+Cj4+IENvbXBpbGVyIHRlYW0gaGF2ZW7igJl0IHJl bGVhc2UgdGhpcyB2ZXJzaW9uIHlldChtYXliZSBhdCBTZXAgMTMpLCB5b3UgY2FuIGNoZWNrIGhl cmUgOgo+PiBodHRwOi8vZnRwLmxvb25nbml4LmNuL3Rvb2xjaGFpbi9nY2MvcmVsZWFzZS9sb29u Z2FyY2gvZ2NjOC8gPGh0dHA6Ly9mdHAubG9vbmduaXguY24vdG9vbGNoYWluL2djYy9yZWxlYXNl L2xvb25nYXJjaC9nY2M4Lz4KPj4gSWYgeW91IHdhbnQgdG8gdHJ5IGl0IG5vdywgeW91IGNhbiB1 cGRhdGUgYXR0YWNobWVudCBmaWxlIGZpcnN0Lgo+Pgo+Pgo+IHRvb2xjaGFpbiBoYXMgYmVlbiB1 cGxvYWRlZCB0byBodHRwOi8vZnRwLmxvb25nbml4LmNuL3Rvb2xjaGFpbi9nY2MvcmVsZWFzZS9s b29uZ2FyY2gvZ2NjOC8gPGh0dHA6Ly9mdHAubG9vbmduaXguY24vdG9vbGNoYWluL2djYy9yZWxl YXNlL2xvb25nYXJjaC9nY2M4Lz4KPiBsb29uZ3Nvbi1nbnUtdG9vbGNoYWluLTguMy1zcmMtbG9v bmdhcmNoNjQtbGludXgtZ251LXJjMS4xLnRhciA8aHR0cDovL2Z0cC5sb29uZ25peC5jbi90b29s Y2hhaW4vZ2NjL3JlbGVhc2UvbG9vbmdhcmNoL2djYzgvbG9vbmdzb24tZ251LXRvb2xjaGFpbi04 LjMtc3JjLWxvb25nYXJjaDY0LWxpbnV4LWdudS1yYzEuMS50YXI+ICAKPiBsb29uZ3Nvbi1nbnUt dG9vbGNoYWluLTguMy14ODZfNjQtbG9vbmdhcmNoNjQtbGludXgtZ251LXJjMS4xLnRhci54eiA8 aHR0cDovL2Z0cC5sb29uZ25peC5jbi90b29sY2hhaW4vZ2NjL3JlbGVhc2UvbG9vbmdhcmNoL2dj YzgvbG9vbmdzb24tZ251LXRvb2xjaGFpbi04LjMteDg2XzY0LWxvb25nYXJjaDY0LWxpbnV4LWdu dS1yYzEuMS50YXIueHo+Cj4gbG9vbmdzb24tZ251LXRvb2xjaGFpbi04LjMteDg2XzY0LWxvb25n YXJjaDY0LWxpbnV4LWdudS1yYzEuMS50YXIueHoubWQ1IDxodHRwOi8vZnRwLmxvb25nbml4LmNu L3Rvb2xjaGFpbi9nY2MvcmVsZWFzZS9sb29uZ2FyY2gvZ2NjOC9sb29uZ3Nvbi1nbnUtdG9vbGNo YWluLTguMy14ODZfNjQtbG9vbmdhcmNoNjQtbGludXgtZ251LXJjMS4xLnRhci54ei5tZDU+ICAK PiAKPiBUaGFua3MsCj4gU2hpeW91CgpZZXMsIEkgaGF2ZSBhbHJlYWR5IG5vdGljZWQgdGhpcyBh bmQgaGF2ZSB0aGVyZWZvcmUgYWxyZWFkeSByZXZlcnRlZCBteQp3cmFwcGVyIHBhdGNoZXMuIFRo YW5rcy4KCi0gQW5kcmVhcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3Jn Cmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0 QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==