From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by passt.top (Postfix) with ESMTP id 76AA65A0082 for ; Mon, 9 Jan 2023 15:14:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1673273677; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kq/XsPmNHiPR29rZeyLcWWN4JkxxXT/6g0KIfDyiaPg=; b=gp0xBON5gA5YEqEWOB5Hz3Wsx17dbt0X89UGH5Ij0jspcuFzbZUD6MDbo2hEBD+rDTbf+i szuQHXDpv26XKASq2GbBP3OCX57R8ApjZlGocph0142X2ZmSTkcaaS9WKCMGsweamVtbdc cdldbWnHyZEzn47sGRV1Mug2o/Zz50M= Received: from mail-vk1-f197.google.com (mail-vk1-f197.google.com [209.85.221.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-496-jRzHMf9PP0yYGv9f21k-2A-1; Mon, 09 Jan 2023 09:14:36 -0500 X-MC-Unique: jRzHMf9PP0yYGv9f21k-2A-1 Received: by mail-vk1-f197.google.com with SMTP id b72-20020a1fb24b000000b003d58fdc33fcso2679213vkf.10 for ; Mon, 09 Jan 2023 06:14:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kq/XsPmNHiPR29rZeyLcWWN4JkxxXT/6g0KIfDyiaPg=; b=vcW5Kke215Cx5xFb0F5sd7ikd20A+PQjwgXp44Ole6AMp/q+EVW2K1aq3M8IK3+lzf 0Jr+f6XTUV4M2ftU/xgihsHk+RPyCSlO3ZHo+c1KcqkcltLInvpwBdQ9Yn++C48ZjXUt t4uMbvYTTvYdR0LSqqye1Q7jgmzwn7sFGOr6Dj4GqA9/70PUDhmeGS5zHSZS1AqCxDVT NbYgV8C0/B71NjVTZrSxVAWv8hlzoDMnQWI1wKtzhyJ0Iu+rS9ue/XUBNnVBl9Ch0ais qjfURJapJjrEhvKOSyUivawXhX0Ww9SyklHZm/0skP4mffHqeXFc3Qh9/AG4ijF6YQRu Qa2Q== X-Gm-Message-State: AFqh2kp24J83LswBYWZoN+gi/5XAZ7OdFXoyFEKNT0qCgPaw62nepeUX RImXwROmndCR8yywERNp76LXr/vI0SwOVDLkJmNm2i9mcVt2Nt93e4fUlHwJVXFZB5f6vgSaBiJ zeOgE90telQfH X-Received: by 2002:a1f:5746:0:b0:3da:a048:5dfd with SMTP id l67-20020a1f5746000000b003daa0485dfdmr1339299vkb.10.1673273675289; Mon, 09 Jan 2023 06:14:35 -0800 (PST) X-Google-Smtp-Source: AMrXdXuaGH0CJqwOOi0myGuDjaawUqdfFGpF+/Ur9cFV7P+C8dcEJp0vCeDYxr0/SmQEwnneWE+Oxw== X-Received: by 2002:a1f:5746:0:b0:3da:a048:5dfd with SMTP id l67-20020a1f5746000000b003daa0485dfdmr1339275vkb.10.1673273674884; Mon, 09 Jan 2023 06:14:34 -0800 (PST) Received: from ?IPV6:2600:8805:3a00:3:d764:fb52:bfdf:c85c? ([2600:8805:3a00:3:d764:fb52:bfdf:c85c]) by smtp.gmail.com with ESMTPSA id m8-20020a05620a290800b006fb8239db65sm5431516qkp.43.2023.01.09.06.14.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 09 Jan 2023 06:14:34 -0800 (PST) Message-ID: Date: Mon, 9 Jan 2023 09:14:33 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: [libvirt PATCH 8/9] qemu: hook up passt config to qemu domains To: Libvirt References: <20230109041112.368790-1-laine@redhat.com> <20230109041112.368790-9-laine@redhat.com> From: Laine Stump Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: P6V4MOH2BBJEER24HXSLW5DOZ6OXNHZK X-Message-ID-Hash: P6V4MOH2BBJEER24HXSLW5DOZ6OXNHZK X-MailFrom: laine@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: sbrivio@redhat.com, passt-dev@passt.top, =?UTF-8?Q?J=c3=a1n_Tomko?= X-Mailman-Version: 3.3.3 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: T24gMS85LzIzIDI6MzIgQU0sIErDoW4gVG9ta28gd3JvdGU6DQo+IE9uIGEgU3VuZGF5IGluIDIw MjMsIExhaW5lIFN0dW1wIHdyb3RlOg0KPj4gVGhpcyBjb25zaXN0cyBvZiAoMSkgYWRkaW5nIHRo ZSBuZWNlc3NhcnkgYXJncyB0byB0aGUgcWVtdSBjb21tYW5kbGluZQ0KPj4gbmV0ZGV2IG9wdGlv biwgYW5kICgyKSBzdGFydGluZyBhIHBhc3N0IHByb2Nlc3MgcHJpb3IgdG8gc3RhcnRpbmcNCj4+ IHFlbXUsIGFuZCBtYWtpbmcgc3VyZSB0aGF0IGl0IGlzIHRlcm1pbmF0ZWQgd2hlbiBpdCdzIG5v IGxvbmdlcg0KPj4gbmVlZGVkLiBVbmRlciBub3JtYWwgY2lyY3Vtc3RhbmNlcywgcGFzc3Qgd2ls bCB0ZXJtaW5hdGUgaXRzZWxmIGFzDQo+PiBzb29uIGFzIHFlbXUgY2xvc2VzIGl0cyBzb2NrZXQs IGJ1dCBpbiBjYXNlIG9mIHNvbWUgZXJyb3Igd2hlcmUgcWVtdQ0KPj4gaXMgbmV2ZXIgc3RhcnRl ZCwgb3IgZmFpbHMgdG8gc3RhcnR1cCBjb21wbGV0ZWx5LCB3ZSBuZWVkIHRvIHRlcm1pbmF0ZQ0K Pj4gcGFzc3QgbWFudWFsbHkuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogTGFpbmUgU3R1bXAgPGxh aW5lQHJlZGhhdC5jb20+DQo+PiAtLS0NCj4+IG1lc29uLmJ1aWxkwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAg MSArDQo+PiBwby9QT1RGSUxFU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKw0KPj4gc3JjL3FlbXUvbWVz b24uYnVpbGTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB8wqDCoCAyICsNCj4+IHNyYy9xZW11L3FlbXVfY29tbWFuZC5jwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDExICstDQo+PiBzcmMvcWVtdS9xZW11X2Nv bW1hbmQuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKg IDMgKy0NCj4+IHNyYy9xZW11L3FlbXVfZG9tYWluLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDUgKy0NCj4+IHNyYy9xZW11L3FlbXVfZG9tYWlu LmjCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDMg Ky0NCj4+IHNyYy9xZW11L3FlbXVfZXh0ZGV2aWNlLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHzCoCAyNSArLQ0KPj4gc3JjL3FlbXUvcWVtdV9ob3RwbHVnLmPCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMjYgKy0NCj4+IHNy Yy9xZW11L3FlbXVfcGFzc3QuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8IDI4NCArKysrKysrKysrKysrKysrKysNCj4+IHNyYy9xZW11L3FlbXVfcGFz c3QuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAg MzggKysrDQo+PiBzcmMvcWVtdS9xZW11X3Byb2Nlc3MuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKw0KPj4gc3JjL3FlbXUvcWVtdV92YWxpZGF0 ZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDkgKy0N Cj4+IHRlc3RzL3FlbXV4bWwyYXJndmRhdGEvbmV0LXVzZXItcGFzc3QuYXJnc8KgwqDCoCB8wqAg MzQgKysrDQo+PiAuLi4vbmV0LXVzZXItcGFzc3QueDg2XzY0LWxhdGVzdC5hcmdzwqDCoMKgwqDC oMKgwqDCoCB8wqAgMzcgKysrDQo+PiB0ZXN0cy9xZW11eG1sMmFyZ3Z0ZXN0LmPCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgwqAgMiArDQo+PiAxNiBmaWxlcyBj aGFuZ2VkLCA0NzAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pDQo+PiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3FlbXUvcWVtdV9wYXNzdC5jDQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L3FlbXUvcWVtdV9wYXNzdC5oDQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvcWVtdXhtbDJh cmd2ZGF0YS9uZXQtdXNlci1wYXNzdC5hcmdzDQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgDQo+PiB0 ZXN0cy9xZW11eG1sMmFyZ3ZkYXRhL25ldC11c2VyLXBhc3N0Lng4Nl82NC1sYXRlc3QuYXJncw0K Pj4NCj4+IGRpZmYgLS1naXQgYS9zcmMvcWVtdS9xZW11X3Bhc3N0LmMgYi9zcmMvcWVtdS9xZW11 X3Bhc3N0LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwLi41 OTQxNTk0ODExDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9zcmMvcWVtdS9xZW11X3Bhc3N0 LmMNCj4+IEBAIC0wLDAgKzEsMjg0IEBADQo+PiArLyoNCj4+ICsgKiBxZW11X3Bhc3N0LmM6IFFF TVUgcGFzc3Qgc3VwcG9ydA0KPj4gKyAqDQo+PiArICogQ29weXJpZ2h0IChDKSAyMDIyIFJlZCBI YXQsIEluYy4NCj4+ICsgKg0KPj4gKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCj4+ICsgKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQo+PiArICogTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyDQo+PiAr ICogdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uDQo+PiArICoNCj4+ICsgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCj4+ICsgKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KPj4gKyAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS7CoCBT ZWUgdGhlIEdOVQ0KPj4gKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuDQo+PiArICoNCj4+ICsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljDQo+PiArICogTGljZW5zZSBhbG9uZyB3 aXRoIHRoaXMgbGlicmFyeS7CoCBJZiBub3QsIHNlZQ0KPj4gKyAqIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4NCj4+ICsgKi8NCj4+ICsNCj4+ICsjaW5jbHVkZSA8Y29uZmlnLmg+DQo+ PiArDQo+PiArI2luY2x1ZGUgInFlbXVfZGJ1cy5oIg0KPj4gKyNpbmNsdWRlICJxZW11X2V4dGRl dmljZS5oIg0KPj4gKyNpbmNsdWRlICJxZW11X3NlY3VyaXR5LmgiDQo+PiArI2luY2x1ZGUgInFl bXVfcGFzc3QuaCINCj4+ICsjaW5jbHVkZSAidmlyZW51bS5oIg0KPj4gKyNpbmNsdWRlICJ2aXJl cnJvci5oIg0KPj4gKyNpbmNsdWRlICJ2aXJqc29uLmgiDQo+PiArI2luY2x1ZGUgInZpcmxvZy5o Ig0KPj4gKyNpbmNsdWRlICJ2aXJwaWRmaWxlLmgiDQo+PiArDQo+PiArI2RlZmluZSBWSVJfRlJP TV9USElTIFZJUl9GUk9NX05PTkUNCj4+ICsNCj4+ICtWSVJfTE9HX0lOSVQoInFlbXUucGFzc3Qi KTsNCj4+ICsNCj4+ICsNCj4+ICtzdGF0aWMgY2hhciAqDQo+PiArcWVtdVBhc3N0Q3JlYXRlUGlk RmlsZW5hbWUodmlyRG9tYWluT2JqICp2bSwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZpckRvbWFpbk5ldERlZiAqbmV0KQ0KPj4gK3sN Cj4+ICvCoMKgwqAgcWVtdURvbWFpbk9ialByaXZhdGUgKnByaXYgPSB2bS0+cHJpdmF0ZURhdGE7 DQo+PiArwqDCoMKgIHZpclFFTVVEcml2ZXIgKmRyaXZlciA9IHByaXYtPmRyaXZlcjsNCj4+ICvC oMKgwqAgZ19hdXRvcHRyKHZpclFFTVVEcml2ZXJDb25maWcpIGNmZyA9IHZpclFFTVVEcml2ZXJH ZXRDb25maWcoZHJpdmVyKTsNCj4+ICvCoMKgwqAgZ19hdXRvZnJlZSBjaGFyICpuYW1lID0gTlVM TDsNCj4+ICsNCj4+ICvCoMKgwqAgbmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiJXMtJXMtcGFzc3Qi LCB2bS0+ZGVmLT5uYW1lLCANCj4+IG5ldC0+aW5mby5hbGlhcyk7DQo+IA0KPiBQbGVhc2UgdXNl IHZpckRvbWFpbkRlZkdldFNob3J0TmFtZSBmb3IgZmlsZW5hbWUgcHVycG9zZXMuDQoNCldoeT8g SWYgSSB1c2UgR2V0U2hvcnROYW1lLCB0aGVuIHRoZXJlJ3MgdGhlIHBvc3NpYmlsaXR5IHRoYXQg dHdvIA0KZG9tYWlucyB3b3VsZCB3YW50IHRvIHVzZSB0aGUgc2FtZSBuYW1lIGZvciB0aGUgcGlk ZmlsZS4NCg0KV291bGQgaXQgYmUgYmV0dGVyIHRvIHVzZSB0aGUgZG9tYWluJ3MgVVVJRCAoYXMg SSBkaWQgZm9yIHRoZSBzb2NrZXQgDQpwYXRoPykgVGhlIGFkdmFudGFnZSBvZiB1c2luZyB0aGUg bmFtZSBpcyB0aGF0IGl0J3MgZWFzaWVyIGZvciBhIGh1bWFuIA0KdG8gZmluZCwgYnV0IHdoaWxl IHRoZSB1dWlkIGlzIHVzdWFsbHkgbG9uZ2VyLCBpdHMgbGVuZ3RoIGlzIGF0IGxlYXN0IA0KcHJl ZGljdGFibGUvY29uc2lzdGVudCwgYW5kIEkgc3VwcG9zZSBhIGh1bWFuIHdpbGwgcHJvYmFibHkg bmV2ZXIgbmVlZCANCnRvIGZpbmQgdGhlIHBpZGZpbGUgYW55d2F5Li4uDQoNCj4gDQo+PiArDQo+ PiArwqDCoMKgIHJldHVybiB2aXJQaWRGaWxlQnVpbGRQYXRoKGNmZy0+cGFzc3RTdGF0ZURpciwg bmFtZSk7DQo+PiArfQ0KPj4gKw0KPj4gKw0KPiANCj4gWy4uLl0NCj4gDQo+PiAraW50DQo+PiAr cWVtdVBhc3N0QWRkTmV0UHJvcHModmlyRG9tYWluT2JqICp2bSwNCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZpckRvbWFpbk5ldERlZiAqbmV0LA0KPj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmlySlNPTlZhbHVlICoqbmV0 cHJvcHMpDQo+PiArew0KPj4gK8KgwqDCoCBnX2F1dG9mcmVlIGNoYXIgKnBhc3N0U29ja2V0TmFt ZSA9IHFlbXVQYXNzdENyZWF0ZVNvY2tldFBhdGgodm0sIA0KPj4gbmV0KTsNCj4+ICvCoMKgwqAg Z19hdXRvcHRyKHZpckpTT05WYWx1ZSkgYWRkcnByb3BzID0gTlVMTDsNCj4+ICsNCj4+ICvCoMKg wqAgaWYgKHZpckpTT05WYWx1ZU9iamVjdEFkZCgmYWRkcnByb3BzLA0KPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInM6dHlwZSIs ICJ1bml4IiwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgICJzOnBhdGgiLCBwYXNzdFNvY2tldE5hbWUsDQo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBOVUxMKSA8 IDApIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLTE7DQo+PiArwqDCoMKgIH0NCj4+ICsN Cj4+ICvCoMKgwqAgaWYgKHZpckpTT05WYWx1ZU9iamVjdEFkZChuZXRwcm9wcywNCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJz OnR5cGUiLCAic3RyZWFtIiwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJhOmFkZHIiLCAmYWRkcnByb3BzLA0KPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgImI6 c2VydmVyIiwgZmFsc2UsDQo+IA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyrCoCAidTpyZWNvbm5lY3QiLCA1LCAqLw0KPiAN Cj4gRGVidWdnaW5nIGxlZnRvdmVyPw0KDQpJdCdzIGEgbmV3IG9wdGlvbiB0aGF0IGhhc24ndCBi ZWVuIHB1c2hlZCB0byBRRU1VIHVwc3RyZWFtIHlldC4gSSBoYWQgDQptZWFudCB0byBjb21wbGV0 ZWx5IHJlbW92ZSBpdCwgYnV0IGZvcmdvdC4gSSdsbCBnZXQgcmlkIG9mIGl0IGJlZm9yZSBJIHB1 c2guDQoNCg0K