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 D92BD4B609 for ; Sun, 9 Jun 2024 15:36:29 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4EE3968D544; Sun, 9 Jun 2024 18:36:26 +0300 (EEST) Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EE0DA68D410 for ; Sun, 9 Jun 2024 18:36:19 +0300 (EEST) Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1f480624d0fso30184565ad.1 for ; Sun, 09 Jun 2024 08:36:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717947378; x=1718552178; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=HQOmyOIL3KukRR/b0LHADnH1YVhI5fLMTcECkghs/WI=; b=g+iRJhny5BYBdUfQKPbbupjcX6Ghp5zDK4PWj+BBb5VATLp6VjMD5gNFoMea6iiz02 AhblfsZXjPvXRVx4DafYtPCr7Fijey3N8Rmv4MVoW8wWpFP0RKfHg2AUkO2JAKWBcq4U GeyrFxZWP68xvMvj/aduxl9JI+1KrvckeodtzBplekdViRzBeRwMJEN/SdpPaKgCtXV4 LFl3oHLTlsM/UgcwOAeQ77kP6r2Dc8E7RVofafmemfN+YiMH5SZVdg1DoHArQcwILHBw fk7s6cQhrfqddCv2mtT1DSo+3dhXek2fu/u4GEMXQwZycVcWSWmwkBYQcG/qTn89F0Kh Qa4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717947378; x=1718552178; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=HQOmyOIL3KukRR/b0LHADnH1YVhI5fLMTcECkghs/WI=; b=aca/CGN1q93BNLdA2pnVd+wBdquVkqHYrqUJPKjRF2lpwxUHQrLsLa0NxidDoOPAzM gP1AH0HRYct4+Y6ZUVOr/QPju2YpVmMWubqD1SmKYrcleBrd+95hUhMqnyW17BtcLyXm I3JBgIwlGIgPTof21gahMYhbTwEWE3mXJSA6tuDYNUeKojWLLa81d6FmSp+E2uYEh+QI GFyt/51+oA/bF/+H+vqKC8wYfBBSRv+EaVX+RZVkXKRb5wnTrslfTYpSDyO6LszxllbY aDTGmfX/fRLOAevk7qlTvpm65MAqi6+yYw83gqiRQ/R8hDJxIyDm/GDzzbcb8hrXyQv3 rbgQ== X-Gm-Message-State: AOJu0Yysv9kIOcc532Rtw5gM47X15X6XhFskNQlnw3n2me4ygr+ItoKO /DZue5fqLrtJc0BkiNlRInqU2zs+BMplW5wNtupAmiRhEUu3LugY7ROGeA== X-Google-Smtp-Source: AGHT+IGzYUNE9kQCxUS9cLsbWCAiJbQJUH5TxAKoxTOua33e1XrczxspAaT4R+5+lNOgjshEmiIq2w== X-Received: by 2002:a17:903:11ce:b0:1f6:3b15:82a0 with SMTP id d9443c01a7336-1f6d03f13c7mr79017055ad.64.1717947377309; Sun, 09 Jun 2024 08:36:17 -0700 (PDT) Received: from [192.168.0.16] ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f6f03b7079sm28954155ad.143.2024.06.09.08.36.16 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 09 Jun 2024 08:36:16 -0700 (PDT) Message-ID: <0bd4d84b-83a0-4b94-95f2-63bcd971a7c6@gmail.com> Date: Sun, 9 Jun 2024 12:36:35 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240605205116.3258-1-jamrial@gmail.com> <20240606141505.132-1-jamrial@gmail.com> <748be8f7-6dde-49c5-bf8a-66b8f7e8f3f0@gmail.com> Content-Language: en-US From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH] swscale/x86/rgb2rgb: add SSE2 shuffle_bytes functions 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gNi84LzIwMjQgMTI6NTUgUE0sIEFuZHJlYXMgUmhlaW5oYXJkdCB3cm90ZToKPiBKYW1lcyBB bG1lcjoKPj4gT24gNi82LzIwMjQgMTE6NDggQU0sIEFuZHJlYXMgUmhlaW5oYXJkdCB3cm90ZToK Pj4+IEphbWVzIEFsbWVyOgo+Pj4+IEFuZCByZW1vdmUgc2h1ZmZsZV9ieXRlc18yMTAzX21teGV4 dC4KPj4+Pgo+Pj4+IHNodWZmbGVfYnl0ZXNfMDMyMV9jOiAyOC4xCj4+Pj4gc2h1ZmZsZV9ieXRl c18wMzIxX3NzZTI6IDEzLjYKPj4+PiBzaHVmZmxlX2J5dGVzXzAzMjFfc3NzZTM6IDkuNgo+Pj4+ IHNodWZmbGVfYnl0ZXNfMDMyMV9hdngyOiA3LjEKPj4+PiBzaHVmZmxlX2J5dGVzXzEyMzBfYzog NTIuNgo+Pj4+IHNodWZmbGVfYnl0ZXNfMTIzMF9zc2UyOiAxMi4xCj4+Pj4gc2h1ZmZsZV9ieXRl c18xMjMwX3Nzc2UzOiA4LjYKPj4+PiBzaHVmZmxlX2J5dGVzXzEyMzBfYXZ4MjogNi42Cj4+Pj4g c2h1ZmZsZV9ieXRlc18yMTAzX2M6IDI5LjEKPj4+PiBzaHVmZmxlX2J5dGVzXzIxMDNfbW14ZXh0 OiAyOS4zIC8vIHJlbW92ZWQKPj4+PiBzaHVmZmxlX2J5dGVzXzIxMDNfc3NlMjogMTIuNQo+Pj4+ IHNodWZmbGVfYnl0ZXNfMjEwM19zc3NlMzogOC42Cj4+Pj4gc2h1ZmZsZV9ieXRlc18yMTAzX2F2 eDI6IDcuMQo+Pj4+IHNodWZmbGVfYnl0ZXNfMzAxMl9jOiA1Mi4xCj4+Pj4gc2h1ZmZsZV9ieXRl c18zMDEyX3NzZTI6IDEyLjEKPj4+PiBzaHVmZmxlX2J5dGVzXzMwMTJfc3NzZTM6IDguNgo+Pj4+ IHNodWZmbGVfYnl0ZXNfMzAxMl9hdngyOiA3LjEKPj4+PiBzaHVmZmxlX2J5dGVzXzMyMTBfYzog NTAuNgo+Pj4+IHNodWZmbGVfYnl0ZXNfMzIxMF9zc2UyOiAxNC42Cj4+Pj4gc2h1ZmZsZV9ieXRl c18zMjEwX3Nzc2UzOiA4LjYKPj4+PiBzaHVmZmxlX2J5dGVzXzMyMTBfYXZ4MjogNy4xCj4+Pj4K Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Cj4+Pj4g LS0tCj4+Pj4gIMKgIGxpYnN3c2NhbGUveDg2L3JnYjJyZ2IuY8KgwqDCoMKgIHwgMTQgKysrKy0t Cj4+Pj4gIMKgIGxpYnN3c2NhbGUveDg2L3JnYl8yX3JnYi5hc20gfCA4MyArKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0KPj4+PiAgwqAgMiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNl cnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9saWJzd3Nj YWxlL3g4Ni9yZ2IycmdiLmMgYi9saWJzd3NjYWxlL3g4Ni9yZ2IycmdiLmMKPj4+PiBpbmRleCAy MWNjZmFmZTUxLi45ZjZjOGVmYzcyIDEwMDY0NAo+Pj4+IC0tLSBhL2xpYnN3c2NhbGUveDg2L3Jn YjJyZ2IuYwo+Pj4+ICsrKyBiL2xpYnN3c2NhbGUveDg2L3JnYjJyZ2IuYwo+Pj4+IEBAIC0xMTYs NyArMTE2LDExIEBAIERFQ0xBUkVfQUxJR05FRCg4LCBleHRlcm4gY29uc3QgdWludDY0X3QsCj4+ Pj4gZmZfYmdyMlVWT2Zmc2V0KTsKPj4+PiAgwqAgwqAgI2VuZGlmIC8qIEhBVkVfSU5MSU5FX0FT TSAqLwo+Pj4+ICDCoCAtdm9pZCBmZl9zaHVmZmxlX2J5dGVzXzIxMDNfbW14ZXh0KGNvbnN0IHVp bnQ4X3QgKnNyYywgdWludDhfdAo+Pj4+ICpkc3QsIGludCBzcmNfc2l6ZSk7Cj4+Pj4gK3ZvaWQg ZmZfc2h1ZmZsZV9ieXRlc18yMTAzX3NzZTIoY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpk c3QsCj4+Pj4gaW50IHNyY19zaXplKTsKPj4+PiArdm9pZCBmZl9zaHVmZmxlX2J5dGVzXzAzMjFf c3NlMihjb25zdCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRzdCwKPj4+PiBpbnQgc3JjX3NpemUp Owo+Pj4+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMTIzMF9zc2UyKGNvbnN0IHVpbnQ4X3QgKnNy YywgdWludDhfdCAqZHN0LAo+Pj4+IGludCBzcmNfc2l6ZSk7Cj4+Pj4gK3ZvaWQgZmZfc2h1ZmZs ZV9ieXRlc18zMDEyX3NzZTIoY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4+Pj4g aW50IHNyY19zaXplKTsKPj4+PiArdm9pZCBmZl9zaHVmZmxlX2J5dGVzXzMyMTBfc3NlMihjb25z dCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRzdCwKPj4+PiBpbnQgc3JjX3NpemUpOwo+Pj4+ICDC oCB2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMjEwM19zc3NlMyhjb25zdCB1aW50OF90ICpzcmMsIHVp bnQ4X3QgKmRzdCwKPj4+PiBpbnQgc3JjX3NpemUpOwo+Pj4+ICDCoCB2b2lkIGZmX3NodWZmbGVf Ynl0ZXNfMDMyMV9zc3NlMyhjb25zdCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRzdCwKPj4+PiBp bnQgc3JjX3NpemUpOwo+Pj4+ICDCoCB2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMTIzMF9zc3NlMyhj b25zdCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRzdCwKPj4+PiBpbnQgc3JjX3NpemUpOwo+Pj4+ IEBAIC0xNTQsMTAgKzE1OCwxMiBAQCBhdl9jb2xkIHZvaWQgcmdiMnJnYl9pbml0X3g4Nih2b2lk KQo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgcmdiMnJnYl9pbml0X2F2eCgpOwo+Pj4+ICDCoCAj ZW5kaWYgLyogSEFWRV9JTkxJTkVfQVNNICovCj4+Pj4gIMKgIC3CoMKgwqAgaWYgKEVYVEVSTkFM X01NWEVYVChjcHVfZmxhZ3MpKSB7Cj4+Pj4gLcKgwqDCoMKgwqDCoMKgIHNodWZmbGVfYnl0ZXNf MjEwMyA9IGZmX3NodWZmbGVfYnl0ZXNfMjEwM19tbXhleHQ7Cj4+Pj4gLcKgwqDCoCB9Cj4+Pj4g IMKgwqDCoMKgwqAgaWYgKEVYVEVSTkFMX1NTRTIoY3B1X2ZsYWdzKSkgewo+Pj4+ICvCoMKgwqDC oMKgwqDCoCBzaHVmZmxlX2J5dGVzXzIxMDMgPSBmZl9zaHVmZmxlX2J5dGVzXzIxMDNfc3NlMjsK Pj4+PiArwqDCoMKgwqDCoMKgwqAgc2h1ZmZsZV9ieXRlc18wMzIxID0gZmZfc2h1ZmZsZV9ieXRl c18wMzIxX3NzZTI7Cj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHNodWZmbGVfYnl0ZXNfMTIzMCA9IGZm X3NodWZmbGVfYnl0ZXNfMTIzMF9zc2UyOwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBzaHVmZmxlX2J5 dGVzXzMwMTIgPSBmZl9zaHVmZmxlX2J5dGVzXzMwMTJfc3NlMjsKPj4+PiArwqDCoMKgwqDCoMKg wqAgc2h1ZmZsZV9ieXRlc18zMjEwID0gZmZfc2h1ZmZsZV9ieXRlc18zMjEwX3NzZTI7Cj4+Pj4g IMKgICNpZiBBUkNIX1g4Nl82NAo+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgdXl2eXRveXV2NDIy ID0gZmZfdXl2eXRveXV2NDIyX3NzZTI7Cj4+Pj4gIMKgICNlbmRpZgo+Pj4+IGRpZmYgLS1naXQg YS9saWJzd3NjYWxlL3g4Ni9yZ2JfMl9yZ2IuYXNtIGIvbGlic3dzY2FsZS94ODYvcmdiXzJfcmdi LmFzbQo+Pj4+IGluZGV4IDBiZjEyNzg3MTguLjlmYzE5NzQzODkgMTAwNjQ0Cj4+Pj4gLS0tIGEv bGlic3dzY2FsZS94ODYvcmdiXzJfcmdiLmFzbQo+Pj4+ICsrKyBiL2xpYnN3c2NhbGUveDg2L3Jn Yl8yX3JnYi5hc20KPj4+PiBAQCAtMjUsNyArMjUsNiBAQAo+Pj4+ICDCoCDCoCBTRUNUSU9OX1JP REFUQQo+Pj4+ICDCoCAtcGJfbWFza19zaHVmZmxlMjEwM19tbXggdGltZXMgOCBkdyAyNTUKPj4+ PiAgwqAgcGJfc2h1ZmZsZTIxMDM6IGRiIDIsIDEsIDAsIDMsIDYsIDUsIDQsIDcsIDEwLCA5LCA4 LCAxMSwgMTQsIDEzLAo+Pj4+IDEyLCAxNQo+Pj4+ICDCoCBwYl9zaHVmZmxlMDMyMTogZGIgMCwg MywgMiwgMSwgNCwgNywgNiwgNSwgOCwgMTEsIDEwLCA5LCAxMiwgMTUsCj4+Pj4gMTQsIDEzCj4+ Pj4gIMKgIHBiX3NodWZmbGUxMjMwOiBkYiAxLCAyLCAzLCAwLCA1LCA2LCA3LCA0LCA5LCAxMCwg MTEsIDgsIDEzLCAxNCwKPj4+PiAxNSwgMTIKPj4+PiBAQCAtNTAsMTEgKzQ5LDUwIEBAIFNFQ1RJ T04gLnRleHQKPj4+PiAgIAo+Pj4+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+PiAgwqAgOyBz aHVmZmxlX2J5dGVzXzIxMDNfbW1leHQgKGNvbnN0IHVpbnQ4X3QgKnNyYywgdWludDhfdCAqZHN0 LCBpbnQKPj4+PiBzcmNfc2l6ZSkKPj4+PiAgIAo+Pj4+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Pj4+PiAtSU5JVF9NTVggbW14ZXh0Cj4+Pj4gLWNnbG9iYWwgc2h1ZmZsZV9ieXRlc18yMTAzLCAz LCA1LCA4LCBzcmMsIGRzdCwgdywgdG1wLCB4Cj4+Pj4gLcKgwqDCoCBtb3ZhwqDCoCBtNiwgW3Bi X21hc2tfc2h1ZmZsZTIxMDNfbW14XQo+Pj4+IC3CoMKgwqAgbW92YcKgwqAgbTcsIG02Cj4+Pj4g LcKgwqDCoCBwc2xsccKgIG03LCA4Cj4+Pj4gKwo+Pj4+ICslbWFjcm8gU0hVRkZMRTIxMDNfU1NF MiAwCj4+Pj4gK8KgwqDCoCBwc2h1Zmx3wqDCoCBtMSwgbTAsIDB4YjEKPj4+PiArwqDCoMKgIHBz aHVmaHfCoMKgIG0xLCBtMSwgMHhiMQo+Pj4+ICsKPj4+PiArwqDCoMKgIHBhbmTCoMKgwqDCoCBt MCwgbTMKPj4+PiArwqDCoMKgIHBhbmTCoMKgwqDCoCBtMSwgbTIKPj4+PiArJWVuZG1hY3JvCj4+ Pj4gKwo+Pj4+ICslbWFjcm8gU0hVRkZMRTAzMjFfU1NFMiAwCj4+Pj4gK8KgwqDCoCBwc2h1Zmx3 wqDCoCBtMSwgbTAsIDB4YjEKPj4+PiArwqDCoMKgIHBzaHVmaHfCoMKgIG0xLCBtMSwgMHhiMQo+ Pj4+ICsKPj4+PiArwqDCoMKgIHBhbmTCoMKgwqDCoCBtMCwgbTIKPj4+PiArwqDCoMKgIHBhbmTC oMKgwqDCoCBtMSwgbTMKPj4+PiArJWVuZG1hY3JvCj4+Pj4gKwo+Pj4+ICslbWFjcm8gU0hVRkZM RTEyMzBfU1NFMiAwCj4+Pj4gK8KgwqDCoCBwc2xsZMKgwqDCoCBtMSwgbTAsIDI0Cj4+Pj4gK8Kg wqDCoCBwc3JsZMKgwqDCoCBtMCwgOAo+Pj4+ICslZW5kbWFjcm8KPj4+PiArCj4+Pj4gKyVtYWNy byBTSFVGRkxFMzAxMl9TU0UyIDAKPj4+PiArwqDCoMKgIHBzbGxkwqDCoMKgIG0xLCBtMCwgOAo+ Pj4+ICvCoMKgwqAgcHNybGTCoMKgwqAgbTAsIDI0Cj4+Pj4gKyVlbmRtYWNybwo+Pj4+ICsKPj4+ PiArJW1hY3JvIFNIVUZGTEUzMjEwX1NTRTIgMAo+Pj4+ICvCoMKgwqAgcHNodWZsd8KgwqAgbTEs IG0wLCAweGIxCj4+Pj4gK8KgwqDCoCBwc2h1Zmh3wqDCoCBtMSwgbTEsIDB4YjEKPj4+PiArCj4+ Pj4gK8KgwqDCoCBwc3Jsd8KgwqDCoMKgIG0wLCBtMSwgOAo+Pj4+ICvCoMKgwqAgcHNsbHfCoMKg wqDCoCBtMSwgOAo+Pj4+ICslZW5kbWFjcm8KPj4+PiArCj4+Pj4gKzsgJTEtNCBpbmRleCBzaHVm ZmxlCj4+Pj4gKzsgJTUgbG9hZCBtYXNrCj4+Pj4gKyVtYWNybyBTSFVGRkxFX0JZVEVTX1NTRTIg NQo+Pj4+ICtjZ2xvYmFsIHNodWZmbGVfYnl0ZXNfJTElMiUzJTQsIDMsIDUsIDQsIHNyYywgZHN0 LCB3LCB0bXAsIHgKPj4+PiArJWlmICU1Cj4+Pj4gK8KgwqDCoCBwY21wZXF3wqDCoMKgwqDCoMKg wqAgbTIsIG0yCj4+Pj4gK8KgwqDCoCBwc2xsd8KgwqDCoMKgwqDCoMKgwqDCoCBtMywgbTIsIDgg OyAod29yZCkgeyAweGZmMDAgfSB4NAo+Pj4+ICvCoMKgwqAgcHNybHfCoMKgwqDCoMKgwqDCoMKg wqAgbTIsIDjCoMKgwqDCoCA7ICh3b3JkKSB7IDB4MDBmZiB9IHg0Cj4+Pj4gKyVlbmRpZgo+Pj4+ ICDCoCDCoMKgwqDCoMKgIG1vdnN4ZGlmbmlkbiB3cSwgd2QKPj4+PiAgwqDCoMKgwqDCoCBtb3Yg eHEsIHdxCj4+Pj4gQEAgLTY4LDEzICsxMDYsMTMgQEAgY2dsb2JhbCBzaHVmZmxlX2J5dGVzXzIx MDMsIDMsIDUsIDgsIHNyYywgZHN0LAo+Pj4+IHcsIHRtcCwgeAo+Pj4+ICDCoMKgwqDCoMKgIGpl IC5sb29wX3NpbWQKPj4+PiAgwqAgwqAgLmxvb3Bfc2NhbGFyOgo+Pj4+IC3CoMKgIG1vdsKgwqDC oMKgwqDCoMKgwqDCoCB0bXBiLCBbc3JjcSArIHdxICsgMl0KPj4+PiArwqDCoCBtb3bCoMKgwqDC oMKgwqDCoMKgwqAgdG1wYiwgW3NyY3EgKyB3cSArICUxXQo+Pj4+ICDCoMKgwqDCoCBtb3YgW2Rz dHErd3EgKyAwXSwgdG1wYgo+Pj4+IC3CoMKgIG1vdsKgwqDCoMKgwqDCoMKgwqDCoCB0bXBiLCBb c3JjcSArIHdxICsgMV0KPj4+PiArwqDCoCBtb3bCoMKgwqDCoMKgwqDCoMKgwqAgdG1wYiwgW3Ny Y3EgKyB3cSArICUyXQo+Pj4+ICDCoMKgwqDCoCBtb3YgW2RzdHErd3EgKyAxXSwgdG1wYgo+Pj4+ IC3CoMKgIG1vdsKgwqDCoMKgwqDCoMKgwqDCoCB0bXBiLCBbc3JjcSArIHdxICsgMF0KPj4+PiAr wqDCoCBtb3bCoMKgwqDCoMKgwqDCoMKgwqAgdG1wYiwgW3NyY3EgKyB3cSArICUzXQo+Pj4+ICDC oMKgwqDCoCBtb3YgW2RzdHErd3EgKyAyXSwgdG1wYgo+Pj4+IC3CoMKgIG1vdsKgwqDCoMKgwqDC oMKgwqDCoCB0bXBiLCBbc3JjcSArIHdxICsgM10KPj4+PiArwqDCoCBtb3bCoMKgwqDCoMKgwqDC oMKgwqAgdG1wYiwgW3NyY3EgKyB3cSArICU0XQo+Pj4+ICDCoMKgwqDCoCBtb3YgW2RzdHErd3Eg KyAzXSwgdG1wYgo+Pj4+ICDCoMKgwqDCoCBhZGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdxLCA0 Cj4+Pj4gIMKgwqDCoMKgIHN1YsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeHEsIDQKPj4+PiBAQCAt ODYsMjkgKzEyNCwyNiBAQCBqZ2UgLmVuZAo+Pj4+ICDCoCDCoCAubG9vcF9zaW1kOgo+Pj4+ICDC oMKgwqDCoMKgIG1vdnXCoMKgwqDCoCBtMCwgW3NyY3Erd3FdCj4+Pj4gLcKgwqDCoCBtb3Z1wqDC oMKgwqAgbTEsIFtzcmNxK3dxKzhdCj4+Pj4gLQo+Pj4+IC3CoMKgwqAgcHNodWZ3wqDCoCBtMywg bTAsIDE3Nwo+Pj4+IC3CoMKgwqAgcHNodWZ3wqDCoCBtNSwgbTEsIDE3Nwo+Pj4+IC0KPj4+PiAt wqDCoMKgIHBhbmTCoMKgwqDCoCBtMCwgbTcKPj4+PiAtwqDCoMKgIHBhbmTCoMKgwqDCoCBtMywg bTYKPj4+PiAgwqAgLcKgwqDCoCBwYW5kwqDCoMKgwqAgbTEsIG03Cj4+Pj4gLcKgwqDCoCBwYW5k wqDCoMKgwqAgbTUsIG02Cj4+Pj4gK8KgwqDCoCBTSFVGRkxFJTElMiUzJTRfU1NFMgo+Pj4+ICDC oCAtwqDCoMKgIHBvcsKgwqDCoMKgwqAgbTAsIG0zCj4+Pj4gLcKgwqDCoCBwb3LCoMKgwqDCoMKg IG0xLCBtNQo+Pj4+ICvCoMKgwqAgcG9ywqDCoMKgwqDCoCBtMCwgbTEKPj4+PiAgwqAgwqDCoMKg wqDCoCBtb3Z1wqDCoMKgwqDCoCBbZHN0cSt3cV0sIG0wCj4+Pj4gLcKgwqDCoCBtb3Z1wqAgW2Rz dHErd3EgKyA4XSwgbTEKPj4+PiAgwqAgLcKgwqDCoCBhZGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB3cSwgbW1zaXplKjIKPj4+PiArwqDCoMKgIGFkZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHdxLCBtbXNpemUKPj4+PiAgwqDCoMKgwqDCoCBqbCAubG9vcF9zaW1kCj4+Pj4gIMKgIMKg IC5lbmQ6Cj4+Pj4gLcKgwqDCoCBlbW1zCj4+Pj4gIMKgwqDCoMKgwqAgUkVUCj4+Pj4gKyVlbmRt YWNybwo+Pj4+ICsKPj4+PiArSU5JVF9YTU0gc3NlMgo+Pj4+ICtTSFVGRkxFX0JZVEVTX1NTRTIg MiwgMSwgMCwgMywgMQo+Pj4+ICtTSFVGRkxFX0JZVEVTX1NTRTIgMCwgMywgMiwgMSwgMQo+Pj4+ ICtTSFVGRkxFX0JZVEVTX1NTRTIgMSwgMiwgMywgMCwgMAo+Pj4+ICtTSFVGRkxFX0JZVEVTX1NT RTIgMywgMCwgMSwgMiwgMAo+Pj4+ICtTSFVGRkxFX0JZVEVTX1NTRTIgMywgMiwgMSwgMCwgMAo+ Pj4+ICAgICAKPj4+PiA7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+Pj4gIMKgIDsgc2h1ZmZsZV9i eXRlc18jIyAoY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsIGludCBzcmNfc2l6ZSkK Pj4+Cj4+PiBIb3cgb2xkIGFyZSB0aGUgeW91bmdlc3QgcHJvY2Vzc29ycyB3aXRoIFNTRTIsIGJ1 dCB3aXRob3V0IFNTU0UzPwo+Pgo+PiBBTUQgUGhlbm9tL0sxMC4KPj4KPj4+IEFjY29yZGluZyB0 byBXaWtpcGVkaWEsIG5lYXJseSAxNSB5ZWFycy4gV2hpY2ggbWFrZXMgbWUgYmVsaWV2ZSB0aGF0 IHRoZQo+Pj4gU1NFMiB2ZXJzaW9ucyBhcmUgbm90IHdvcnRoIGl0IChob3cgbWFueSBvZiB0aGVz ZSBDUFVzIHdpbGwgdXNlIGEgbmV3Cj4+PiBGRm1wZWcgYW55d2F5PykuCj4+Cj4+IFNpbXBseSBi eSB1c2luZyB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgYSB2aWRlbyBwbGF5ZXIgdGhhdCB1c2VzIGZm bXBlZyBpcwo+PiBlbm91Z2ggdG8gYmUgYWJsZSB0byBydW4gdGhlIG5ld2VzdCBjb2RlLgo+IAo+ IEkgYXNrZWQgImhvdyBtYW55Iiwgbm90ICJob3ciLgoKSSBvYnZpb3VzbHkgZG9uJ3QgaGF2ZSB0 aGF0IGtpbmQgb2YgaW5mb3JtYXRpb24uIFlvdSdkIG5lZWQgdG8gbG9vayBhdCAKdGhpbmdzIGxp a2UgU3RlYW0ncywgRmlyZWZveCdzIG9yIENocm9tZSdzIGhhcmR3YXJlIHN1cnZleXMuCgo+IAo+ PiBJdCB3YXMgZWFzeSB0byB3cml0ZSBhbmQgaSBkb24ndCBmZWVsIHBhcnRpY3VsYXJseSBpbnRl cmVzdGVkIGVub3VnaCB0bwo+PiBhcmd1ZSwgc28gaWYgeW91IHRoaW5rIGl0J3Mgbm90IHdvcnRo IGFkZGluZywgaSBjYW4ganVzdCByZW1vdmUgdGhlCj4+IG1teGV4dCB2ZXJzaW9uIGFuZCBza2lw IGFkZGluZyBhbnl0aGluZy4KPiAKPiBJIHRoaW5rIHdlIHNob3VsZCBub3Qgb3B0aW1pemUgZm9y IENQVXMgdGhhdCBkbyBub3QgZXZlbiBoYXZlIHg4Ni02NCB2Mi4KCldoYXQgaXMgeDg2LTY0IHYy PwoKPiBTbyBJIHdvdWxkIG5vdCBhZGQgdGhlc2UgU1NFMiB2ZXJzaW9ucy4gQnV0IHRoZSBvbmUg bWlzc2luZyBTU1NFMwoKT2ssIEknbGwganVzdCByZW1vdmUgdGhlIG1teGV4dCBvbmUsIHRoZW4u Cgo+IHZlcnNpb24gKHNodWZmbGVfYnl0ZXNfMjEwM19zc3NlMykgaXMgb2YgY291cnNlIHdvcnRo IGl0LgoKSSB3aWxsIGxvb2sgaW50byB0aGF0LgoKPiAKPiAtIEFuZHJlYXMKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+IAo+IFRvIHVuc3Vic2NyaWJlLCB2aXNp dCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcg d2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVs QGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRl dmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K