From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 81C151FF165 for ; Thu, 23 Oct 2025 10:36:17 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 27FA23ADC; Thu, 23 Oct 2025 10:36:44 +0200 (CEST) Message-ID: <806d934f-c128-4fe3-a073-4a4397e5c692@proxmox.com> Date: Thu, 23 Oct 2025 10:36:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Beta From: Thomas Lamprecht To: Lukas Wagner , Proxmox Datacenter Manager development discussion References: <20251017121009.212499-1-l.wagner@proxmox.com> <20251017121009.212499-12-l.wagner@proxmox.com> <4381330b-7db7-427e-b82a-653d10dd4aa5@proxmox.com> Content-Language: en-US In-Reply-To: X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1761208561192 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.176 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pdm-devel] [PATCH datacenter-manager v2 11/13] ui: add remote update view X-BeenThere: pdm-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Datacenter Manager development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pdm-devel-bounces@lists.proxmox.com Sender: "pdm-devel" QW0gMjIuMTAuMjUgdW0gMTI6MjIgc2NocmllYiBMdWthcyBXYWduZXI6PiBPbiBUdWUgT2N0IDIx LCAyMDI1IGF0IDk6MTggUE0gQ0VTVCwgVGhvbWFzIExhbXByZWNodCB3cm90ZToKPj4gTmljZSB3 b3JrIG92ZXJhbGwsIHNvbWUgdGhpbmdzIHRoYXQgSSBub3RpY2VkIGlubGluZS4KPj4KPj4gQW0g MTcuMTAuMjUgdW0gMTQ6MTAgc2NocmllYiBMdWthcyBXYWduZXI6Cj4+PiArZm4gcmVuZGVyX3Jl bW90ZV9zdW1tYXJ5X2NvdW50ZXIoY291bnQ6IHUzMiwgdGFza19jbGFzczogUmVtb3RlU3VtbWFy eUljb24pIC0+IEh0bWwgewo+Pj4gKyAgICBsZXQgKGljb25fY2xhc3MsIGljb25fc2NoZW1lLCBz dGF0ZV90ZXh0KSA9IG1hdGNoIHRhc2tfY2xhc3Mgewo+Pj4gKyAgICAgICAgUmVtb3RlU3VtbWFy eUljb246OlVwVG9EYXRlID0+ICgKPj4+ICsgICAgICAgICAgICAiY2hlY2siLAo+Pj4gKyAgICAg ICAgICAgIEZvbnRDb2xvcjo6U3VjY2VzcywKPj4+ICsgICAgICAgICAgICB0ciEoIk9uZSBub2Rl IGlzIHVwLXRvLWRhdGUuIiB8ICJ7bn0gbm9kZXMgYXJlIHVwLXRvLWRhdGUuIiAlIGNvdW50KSwK Pj4+ICsgICAgICAgICksCj4+PiArICAgICAgICBSZW1vdGVTdW1tYXJ5SWNvbjo6RXJyb3IgPT4g KAo+Pj4gKyAgICAgICAgICAgICJ0aW1lcy1jaXJjbGUiLAo+Pj4gKyAgICAgICAgICAgIEZvbnRD b2xvcjo6RXJyb3IsCj4+PiArICAgICAgICAgICAgdHIhKCJGYWlsZWQgdG8gcmV0cmlldmUgdXBk YXRlIGluZm8gZm9yIG9uZSBub2RlLiIKPj4+ICsgICAgICAgICAgICAgICAgfCAiRmFpbGVkIHRv IHJldHJpZXZlIHVwZGF0ZSBpbmZvIGZvciB7bn0gbm9kZXMuIiAlIGNvdW50KSwKPj4+ICsgICAg ICAgICksCj4+PiArICAgICAgICBSZW1vdGVTdW1tYXJ5SWNvbjo6VXBkYXRhYmxlID0+ICgKPj4+ ICsgICAgICAgICAgICAicmVmcmVzaCIsCj4+PiArICAgICAgICAgICAgRm9udENvbG9yOjpQcmlt YXJ5LAo+Pj4gKyAgICAgICAgICAgIHRyISgiT25lIG5vZGUgaGFzIHVwZGF0ZXMgYXZhaWxhYmxl LiIgfCAie259IG5vZGVzIGhhdmUgdXBkYXRlcyBhdmFpbGFibGUuIiAlIGNvdW50KSwKPj4+ICsg ICAgICAgICksCj4+PiArICAgIH07Cj4+PiArCj4+PiArICAgIGxldCBpY29uID0gRmE6Om5ldyhp Y29uX2NsYXNzKS5tYXJnaW5fZW5kKDMpLmNsYXNzKGljb25fc2NoZW1lKTsKPj4+ICsKPj4+ICsg ICAgVG9vbHRpcDo6bmV3KAo+Pj4gKyAgICAgICAgQ29udGFpbmVyOjpmcm9tX3RhZygic3BhbiIp Cj4+PiArICAgICAgICAgICAgLndpdGhfY2hpbGQoaWNvbikKPj4+ICsgICAgICAgICAgICAud2l0 aF9jaGlsZChjb3VudCkKPj4+ICsgICAgICAgICAgICAubWFyZ2luX2VuZCg1KSwKPj4+ICsgICAg KQo+Pj4gKyAgICAudGlwKHN0YXRlX3RleHQpCj4+Cj4+IEkgZm91bmQgdGhlIHN0YW5kYWxvbmUg bnVtYmVycyBhIGJpdCBjb25mdXNpbmcsIGkuZS4gaW50ZXJwcmV0ZWQgdGhlbSBhcyAiWCB1cGRh dGVzCj4+IGF2YWlsYWJsZSIgYXQgZmlyc3QuIEFzIHdlIGdvdCB0aGUgaG9yaXpvbnRhbCBzcGFj ZSwgd2hhdCBhYm91dCBtb3ZpbmcgdGhlIHN0YXRlX3RleHQKPj4gb3V0IG9mIGEgdG9vbHRpcCBh bmQgbWFrZSBpdCB0aGUgYWx3YXlzIHZpc2libGUgdGV4dD8KPj4KPiAKPiBGYWlyIHBvaW50LCBJ IGNhbiBzZWUgaG93IHRoYXQgY291bGQgYmUgY29uZnVzaW5nLgo+IAo+IFRoZSBtYWluIGlzc3Vl IGlzIHRoYXQgYSByZW1vdGUgYXMgYSB3aG9sZSBjYW4gaGF2ZSBtdWx0aXBsZSBzdGF0ZXMgYXQK PiB0aGUgc2FtZSB0aW1lLCBvbmUgZm9yIGVhY2ggbm9kZS4gRm9yIGV4YW1wbGUsIGEgcmVtb3Rl IHdpdGggZm91ciBub2Rlcwo+IGNvdWxkIGhhdmUgYWxsIG9mIHRoZXNlIGF0IHRoZSBzYW1lIHRp bWU6Cj4gCj4gICAtIE9uZSBub2RlIGlzIHVwLXRvLWRhdGUKPiAgIC0gVHdvIG5vZGVzIGhhdmUg dXBkYXRlcyBhdmFpbGFibGUKPiAgIC0gT25lIG5vZGUgbm90IHJlYWNoYWJsZQo+ICAgLSAoUmVw byBjb25maWd1cmF0aW9uIGlzc3VlcyAtIG9uY2UgaW1wbGVtZW50ZWQpCgpJJ2QgbW9zdGx5IHVz ZSAiU29tZSIgYW5kICJBbGwiIHRvIGRpZmZlcmVudGlhdGUgZGlmZmVyZW50IHVwZGF0ZSBsZXZl bHMKYW5kIHNob3cgdGhlIHVuYXZhaWxhYmlsaXR5IG9mIG5vZGVzIHNlcGFyYXRlbHkuIEkgd2ls bCBzZWxkb21seSBjYXJlIGhvdwptYW55IG5vZGVzIGdvdCB1cGRhdGVzIGF2YWlsYWJsZSwgb25s eSBpZiBhbGwgaXMgT0sgKGFsbCB1cC1kby1kYXRlKSBvcgpzb21lIG5lZWQgdG8gYmUgdXBkYXRl ZCBzb29uIChhdCBsZWFzdCBvbmUgbm90IHVwLWRvLWRhdGUpLgpTYW1lIGZvciByZXBvIHN0YXR1 cy4KCklmIHlvdSB3YW50IHRvIHNob3cgbnVtYmVycyB0aGUgdG90YWwgbnVtYmVyIGNvdW50IG5l ZWRzIHRvIGJlIGluY2x1ZGVkIHRvCm1ha2UgaXQgYWN0dWFsbHkgdGVsbGluZywgbGlrZQoKIntj b3VudH0gb3V0IG9mIHt0b3RhbH0gbm9kZXMgaGF2ZSBwZW5kaW5nIHVwZGF0ZXMiCgpJdCBtaWdo dCBiZSBhbHNvIGEgZ29vZCBvcHRpb24gdG8gdXNlIHRocmVlIGRlZGljYXRlZCBjb2x1bW5zIGhl cmUsIHRoZQooc29tZSkgbm9kZSB1bmtub3duIHN0YXR1cyBjb3VsZCBiZSBpbiB0aGUgZnJvbnQg d2l0aCB0aGUgdHlwZSBpY29uLCB0aGUKcmVwbyBzdGF0dXMgYSBkZWRpY2F0ZWQgY29sdW1uIGFu ZCB0aGUgdXBkYXRlIHN0YXR1cyB0b28uCgoKPiBGb3IgYSBjb2xsYXBzZWQgdHJlZSBpdGVtIHRo YXQgcmVwcmVzZW50cyB0aGUgZW50aXJlIHJlbW90ZSwgaXQncyBwcmV0dHkKPiBoYXJkIHRvICdz dW1tYXJpc2UnIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSBsaW5lIGluIHRleHQgZm9ybSBhbmQg c3RpbGwKPiBmaXQgdGhlIHZpZXcsIGFuZCB0aGF0IGlzIHdoeSBJIHdlbnQgd2l0aCB0aGUgc3Rh dHVzIGljb25zIHBsdXMgdGhlCj4gbnVtYmVyIG9mIG5vZGVzIHRoYXQgaGF2ZSB0aGUgZ2l2ZW4g c3RhdHVzLgoKSSBtZWFuLCB0aGUgbW9zdCBjb21wbGV4IG9uZSBwcm9iYWJseSB3b3VsZCBiZToK CiJ7Y291bnR9IG91dCBvZiB7dG90YWx9IG5vZGVzIGhhdmUgcGVuZGluZyB1cGRhdGVzLCB7dW5r bm93bn0gY291bGQgbm90IGJlIHJlYWNoZWQiCgpXaGljaCBzZWVtcyBzdGlsbCBPSyB0byBtZSB0 byBoYXZlIGhlcmUuCgpBcyBpbjogeW91IGRvIG5vdCBuZWVkIHRvIGFsd2F5cyBzaG93IGV2ZXJ5 IHBvc3NpYmxlIHN0YXR1cy4gV2Ugd2FudCB0bwpwdXQgYXR0ZW50aW9uIG9uIHBvdGVudGlhbCBw cm9ibGVtcyBhbmQgZWFzaWx5IHNob3cgaWYgYWxsIGlzIE9LLCBub3QKYWx3YXlzIGluY2x1ZGUg YWxsIHBvdGVudGlhbCBkZXRhaWxzLCB0aGF0J3Mgbm90IHRoYXQgaGVscGZ1bCB3aGVuIG1hbmFn aW5nCm1hbnkgcmVtb3Rlcy9ub2Rlcy4KCgo+IEFmdGVyIGV2YWx1YXRpbmcgeW91ciBzdWdnZXN0 aW9uLCBJIGRpc2N1c3NlZCB0aGUgaXNzdWUgd2l0aAo+IE1heGltaWxpYW5vLiBPbmUgaWRlYSB0 aGF0IGNhbWUgdXAgd2FzIHRvIHJlbW92ZSB0aGUgY291bnRlciB0byBhdm9pZAo+IGFueSBjb25m dXNpb24gYW5kIHRvIGp1c3Qgc2hvdyB0aGUgaWNvbiBpdHNlbGYuIEFmdGVyIGFsbCwgYXQgYSBn bGFuY2UsCj4gZm9yIHRoZSBzdW1tYXJ5IGl0IGRvZXMgbm90IG1hdHRlciB0aGF0IG11Y2ggKmhv dyBtYW55KiBub2RlcyBoYXZlCj4gdXBkYXRlcywgYnV0IHRoYXQgKnNvbWUqIG5vZGVzIGhhdmUg dXBkYXRlcyBhdmFpbGFibGUsIG9yIGluIGdlbmVyYWwsCj4gbmVlZCBhdHRlbnRpb24uIFRvIGdl dCB0aGUgZnVsbCBwaWN0dXJlIGZvciBhIHJlbW90ZSwgb25lIGNhbiBhbHdheXMKPiBqdXN0IGV4 cGFuZCB0aGUgaXRlbSBpbiB0aGUgdHJlZS4KCkknZCBzdGlsbCBzaG93IGEgdGV4dCwganVzdCBp Y29ucyBvbmx5IGdvIHNvIGZhciB3LnIudC4gVVguCgo+IAo+IFdlIGFsc28gZGlzY3Vzc2VkIHdo ZXRoZXIgaXQgd291bGQgbWFrZSBzZW5zZSB0byBub3Qgc2hvdyB0aGUgJ2dyZWVuCj4gY2hlY2tt YXJrJyBhdCBhbGwgaW4gdGhlIHN1bW1hcnkgKHdoZW4gdGhlIHJlbW90ZSBpcyBjb2xsYXBzZWQp IGFuZCBqdXN0Cj4gdXNlIGljb25zIHdoZXJlIGl0IG1ha2VzIHNlbnNlIHRvIGRyYXcgYXR0ZW50 aW9uIGZyb20gdGhlIHVzZXIgKHVwZGF0ZXMKPiBhdmFpbGFibGUsIHNvbWUgZXJyb3IsIHdhcm5p bmdzIGFib3V0IHRoZSByZXBvIGNvbmZpZ3VyYXRpb24pLgo+IFRoaXMgY291bGQgbWFrZSBpdCBl YXNpZXIgdG8gc3BvdCBhY3Rpb25hYmxlIHJlbW90ZXMgcXVpY2tseS4KPiBXaGVuIHRoZSBpdGVt IGlzIGV4cGFuZGVkLCB3ZSB3b3VsZCBzdGlsbCBzaG93IHRoZSBncmVlbiBjaGVja21hcmsgcGx1 cwo+IHRleHQgZm9yIHVwLXRvLWRhdGUgbm9kZXMuCj4gCj4gVEw7RFI6IE15IG5leHQgYXBwcm9h Y2ggd291bGQgYmUgdG8gZHJvcCB0aGUgY291bnRlciBhbmQgYWxzbyBza2lwIHRoZQo+IGdyZWVu IGNoZWNrbWFyayBpbiBjYXNlIGV2ZXJ5dGhpbmcgaXMgdXAtdG8tZGF0ZSAoZm9yIHRoZSBjb2xs YXBzZWQKPiByZW1vdGUgaXRlbSBpbiB0aGUgdHJlZSwgdGhlIG5vZGUgJ2xlYXZlcycgd291bGQg c3RheSB0aGUgc2FtZSkKCkluIGdlbmVyYWwgSSBsaWtlIHRoZSBpZGVhcyBvZiBpc3N1ZXMgc3Rh bmRpbmcgb3V0LCB0aGF0J3MgSU1PIGEgY29yZQpkZXNpZ24gcG9saWN5IGZvciBob3cvd2hlbiBQ RE0gc2hvdWxkIHRyeSB0byBzaWduYWwgc3RhdGUuCgo+IFdoYXQgZG8geW91IHRoaW5rPwoKSXQn cyBhIGJpdCBoYXJkIHRvIHNpZ24gb2ZmIG9uIHRoaXMgd2l0aG91dCB0cnlpbmcgdGhlIHZhcmlh bnRzLCBidXQgSQp0aGluayB3ZSBhcmUgbm93IG9uIHRoZSBzYW1lIHBhZ2Ugdy5yLnQuIHRoZSBj b3JlIFVYIGRlc2lnbiBpZGVhLCBtYXliZQphYm92ZSBpbnB1dCBoZWxwcyB0byBmaW5lLXR1bmUg dGhhdCBhIGJpdC4KClNvbWUgYWRkaXRpb25hbCBpZGVhcyB0aGF0IG1pZ2h0IG5vdCBiZSB0aGF0 IGhhcmQgdG8gYWxyZWFkeSBpbmNsdWRlIG5vdwooYXMgaW46IGFzIGZvbGxvdy11cCBzdGlsbCBm b3IgMS4wLCBub3QgbmVjZXNzYXJpbHkgdGhpcyBzZXJpZXMpCgpTaG93IGFsc28gdGhlIG1haW4g dmVyc2lvbiBvZiB0aGUgbm9kZSwgbGlrZSB0aGUgb25lIHdlIHNob3cgYXQgdGhlIHRvcApvZiB0 aGUgd2ViIFVJLgoKV2UgY291bGQgYWxzbyBzaG93IGEgc3VtbWFyeSBjYXJkIG9yIHRoZSBsaWtl IG9uIHRvcCB3aXRoIHRoZSBvdmVyYWxsCmNvdW50ZXJzLCBsaWtlOgoKWCBub2RlcyBkbyBub3Qg aGF2ZSBhIHZhbGlkIHJlcG8gc2V0dXAKWSBub2RlcyBoYXZlIHVwZGF0ZXMgcGVuZGluZwpaIG5v ZGVzIGFyZSB1cC1kby1kYXRlCkEgbm9kZXMgcnVuIGFuIG9sZC1zdGFibGUgcmVsZWFzZS4KQiBu b2RlcyBydW4gYW4gRW5kLW9mLVN1cHBvcnQgcmVsZWFzZS4KCgpGaWx0ZXJzIG1pZ2h0IGJlIGFs c28gbmljZSB0byBoYXZlIGZyb20gdGhlIGdldCBnbywgc28gdGhhdCwgZS5nLiwgb25lIGNhbgpv bmx5IGxpc3Qgbm9kZXMgdGhhdCBoYXZlIHVwZGF0ZXMgcGVuZGluZywgd2hpY2ggY2FuIGJlIGdy ZWF0IGluIGNvbXBsZXgKc2V0dXBzLiBBbGJlaXQsIGlmIHdlIGRvIHRoZSB2aWV3cyBkeW5hbWlj IHdlIGNvdWxkIGV2ZW4gaGFuZGxlIHRoZXNlIHRoaW5ncwp0aGVyZSBhbmQgY3JlYXRlIGEgIk5v ZGVzIHdpdGggUGVuZGluZyBVcGRhdGVzIG9yIFByb2JsZW1hdGljIFJlcG9zIiB2aWV3LgpTbyB0 aGlzIG9uZSBpcyBvbmUgY291bGQgYmUgc29sdmVkIG9uIGFub3RoZXIgbGV2ZWwgdGhhbiBpbi1s aW5lLCBidXQgY291bGQKYmUgYWxzbyBmaW5lIHRvIGhhdmUgYm90aCDigJMganVzdCB3YW50ZWQg dG8gcHV0IHRoZSBpZGVhIG91dCB0aGVyZSwgaXQncyBJTU8Kc29tZXRoaW5nIHRoYXQgd291bGQg YmUgcXVpdGUgbmljZSB0byBoYXZlIGZvciBQRE0gdXNlcnMgY2FyaW5nIGFib3V0IHRoZWlyCnN5 c3RlbXMgcnVubmluZyB1cC1kby1kYXRlLgoKPiAKPj4gYnR3LiBjb3VsZCBiZSBuaWNlIHRvIHNo b3cgc2luZ2xlLW5vZGUgcmVtb3RlcyAoUEJTLCBzaW5nbGUtbm9kZSBQVkVzIGFuZCBwb3RlbnRp YWxseQo+PiBQTUcgaW4gdGhlIGZ1dHVyZSkgZGlyZWN0bHkgYXQgdGhlIHRvcCBsZXZlbCwgaS5l LiB3aXRob3V0IGEgbmVzdGluZyBsZXZlbCBpbmRpcmVjdGlvbi4KPj4gVGhhdCB3b3VsZCBzYXZl IGEgYml0IHZlcnRpY2FsIHNwYWNlIGFuZCBhdm9pZCBjbGlja3MuCj4gCj4gWWVhaCwgSSBoYWQg YSBzaW1pbGFyIGlkZWEgYWxyZWFkeSwgYW5kIGdlbmVyYWxseSBJIGJlbGlldmUgdGhpcyBjb3Vs ZAo+IGJlIGEgZ29vZCBhZGRpdGlvbiB0byBpbXByb3ZlIFVYLiBUaGF0IGJlaW5nIHNhaWQsIEkg dGhpbmsgd2l0aCB0aGUgaWRlYQo+IGRlc2NyaWJlZCBhYm92ZSwgd2hlcmUgd2Ugc2hvdyBhbiBp Y29uLW9ubHkgc3VtbWFyeSBmb3IgZXhwYW5kYWJsZSBpdGVtcwo+IGluIHRoZSB0cmVlLCBpdCBj b3VsZCBsb29rIGEgYml0IG9kZCBpZiB3ZSBzaG93IGl0IGRpcmVjdGx5IGF0IHRoZSB0b3AKPiBs ZXZlbCwgc2luY2UgdGhlbiB5b3Ugd291bGQgaGF2ZSBpY29uLW9ubHkgYW5kICdpY29uICsgdGV4 dCcgdHJlZSBpdGVtcwo+IHNpZGUtYnktc2lkZSwgYXQgdGhlIHNhbWUgbGV2ZWwuIEknbGwgaGF2 ZSB0byBhY3R1YWxseSB0cnkgdGhpcyBvdXQgYW5kCj4gc2VlIGhvdyAnYmFkJyB0aGlzIGlzLCBi dXQgSSdsbCBkZWZpbml0ZWx5IGtlZXAgaXQgaW4gbWluZC4KPiAKPiBJJ2Qgc2F5IHRoaXMgd291 bGQgZGVmaW5pdGVseSBiZSBtYXRlcmlhbCBmb3IgYSBmb2xsb3ctdXAgcGF0Y2guCj4gCj4+Cj4+ IFNvbWUgb3RoZXIgdGhpbmdzIHRoYXQgbWlnaHQgbm90IGJlbG9uZyB0byB0aGlzIHJlcGx5IGJ1 dCBJIG5vdGljZWQ6Cj4+IC0gZG8gd2UgaGF2ZSB0aGUgbGFzdCBhcHQgdXBkYXRlIHRpbWUgYXZh aWxhYmxlPyBjb3VsZCBiZSBuaWNlIHRvIHNob3cgdGhhdCBhcyBjb2x1bW4sCj4+ICAgZS5nLiBj b2xvcmVkIGFzIHdhcm5pbmcgaWYgaXQncyBvbGRlciB0aGFuIGEgZGF5IG9yIHNvIChidXQgY2Fu IGJlIGFkZGVkIGFueXRpbWUgc28KPj4gICBkZWZpbml0aXZlbHkgbm90IGEgYmxvY2tlciBub3cp Lgo+IAo+IFJpZ2h0IG5vdywgd2Ugc2F2ZSB0aGUgdGltZXN0YW1wIG9mIHdoZW4gd2Ugc3VjY2Vz c2Z1bGx5IHBvbGxlZCBhIGxpc3QKPiBvZiB1cGRhdGVzIGZyb20gYSBub2RlLCBidXQgdGhhdCdz IHB1cmVseSBkb25lIG9uIHRoZSBQRE0gc2lkZSAtIHdlCj4gZG9uJ3QgcmVhbGx5IGtub3cgaG93 IGZyZXNoIHRoZSBhcHQgZGF0YWJhc2Ugb24gdGhlIG5vZGUgaXMgYW5kIHRoZXJlIGlzCj4gYXQg dGhlIG1vbWVudCBubyBBUEkgZm9yIHRoaXMuIEZvciBhdXRvbWF0aWMgcmVmcmVzaGVzIG9mIHRo ZSBjYWNoZWQKPiB1cGRhdGUgc3RhdGUsIHdlIGRvbid0IGFjdHVhbGx5IGludm9rZSAnYXB0IHVw ZGF0ZScgb24gdGhlIG5vZGUsIGJ1dAo+IHJlbHkgb24gdGhlIGRhaWx5IHVwZGF0ZSB0YXNrIG9u IHRoZSBub2RlIGl0c2VsZi4KPiAKPiBBIG5pY2UgYWRkaXRpb24gdGhhdCBJIGFscmVhZHkgaGFk IGluIG1pbmQgd291bGQgYmUgdG8gYXVnbWVudCB0aGUgCj4gR0VUIC9ub2Rlcy8uLi4vYXB0L3Vw ZGF0ZSBlbmRwb2ludCBpbiBQVkUvUEJTIHRvIGFsc28gcmV0dXJuIHRoZSB0aW1lc3RhbXAKPiBv ZiB0aGUgbGFzdCAnYXB0IHVwZGF0ZScgKG9yIGFkZCBhIG5ldyBlbmRwb2ludCwgaWYgYWRkaW5n IGl0IHRvIHRoZQo+IGV4aXN0aW5nIG9uZSB0dXJucyBvdXQgdG8gYmUgaGFyZCBkdWUgdG8gdGhl IHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UpLgoKWWVhaCwgdGhhdCB3b3VsZCBpbmRlZWQgYmUg bmljZS4KCj4+IC0gTWlnaHQgYmUgbmljZXIgdG8gYWRkIHRoZSBob3Jpem9udGFsIHNjcm9sbGlu ZyB0byB0aGUgaW5uZXIgdmlld3MsIGFzIHdpdGggMTQ0MHg5MDAKPj4gICB0aGVyZSBhcmUgYWxy ZWFkeSBjb2x1bW5zIGN1dC1vZmYgaW4gdGhlIFVwZGF0ZSBMaXN0IHZpZXcgb24gdGhlIHJpZ2h0 LCBhbmQgdGhhdAo+PiAgIHJlc29sdXRpb24gaXMgZGVmaW5pdGl2ZWx5IG9uZSB0aGF0IHNob3Vs ZCBzdGlsbCBiZSB1c2FibGUgKGJ1dCBkb2Vzbid0IGhhdmUgdG8gbG9vawo+PiAgIGdyZWF0KS4K PiAKPiBGb3IgbWUgaG9yaXpvbnRhbCBzY3JvbGxpbmcgYWxyZWFkeSB3b3JrcyBmb3IgdGhlIHVw ZGF0ZSBsaXN0IG9uIHRoZQo+IHJpZ2h0LCBidXQgbWF5YmUgSSBtaXN1bmRlcnN0YW5kIHlvdT8K CkhtbSwgbWF5YmUganVzdCBub3QgaWYgaXQncyBlbXB0eTsgd2hpY2ggaXMgYSBiaXQgb2YgYSBz cGVjaWFsIGNhc2UuCgo+IAo+IFNvbWUgaWRlYSB0aGF0IEkgYWxyZWFkeSBoYWQgd2FzIHRvIGhp ZGUgdGhlICdEZXNjcmlwdGlvbicgY29sdW1uIGJ5Cj4gZGVmYXVsdCBmb3IgdGhlICdoYWxmLXdp ZHRoJyB1cGRhdGUgbGlzdHMgbGlrZSBoZXJlIGFuZCB0aGVuIGZpbmQgc29tZQo+IG90aGVyIHdh eSB0byBkaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvbiBkZW1hbmQgKGUuZy4gbW91c2Utb3Zlciwg b3IKPiBjaGFuZ2UgdGhlICdDaGFuZ2Vsb2cnIGJ1dHRvbiB0byBhICdEZXRhaWxzJyBidXR0b24s IHdoaWNoIHRoZW4gc2hvd3MKPiB0aGUgZGVzY3JpcHRpb24gKmFuZCogdGhlIGNoYW5nZWxvZyBp biBhIGRpYWxvZykKClllYWggdGhhdCBtaWdodCBiZSBPSyB0byBkbywgbWF5YmUgcmVwbGFjZSBp dCB3aXRoIGEgaW5mby1pY29uIHRoYXQgZ290IGEKdG9vbHRpcCB0aGF0IHNob3dzIGp1c3QgdGhl IGRlc2NyaXB0aW9uIHN1bW1hcnkgKGZpcnN0IGxpbmUgaW4gZC9jb250cm9sKQpvbiBuYXJyb3cg dmlld3MgYW5kIGNhbiBiZSBjbGlja2VkIHRvIHNob3cgYSBmdWxsIHZpZXcgb2YgdGhlIHBhY2th Z2UsIGkuZS4KYWxsIGRldGFpbHMgd2UgZ290IGFuZCBtYXliZSBhbHNvIHRoZSBjaGFuZ2Vsb2cu Cgo+PiAtIFJlcG8gc3RhdGUgd291bGQgYmUgcmVhbGx5IGdvb2QgdG8gc2VlIGhlcmUsIGFzIGVs c2Ugb25lIG1pZ2h0IGdldCBhIGZhbHNlIHNlbnNlCj4+ICAgb2Ygc2VjdXJpdHkvc2FmZXR5IGlm IGFsbCBpcyBncmVlbiBjaGVja21hcmtzLCBidXQgdGhhdCB0aGVuIGJlaW5nIHRoZSByZXN1bHQg b2YKPj4gICBiYWQvbm8gcmVwb3MgY29uZmlndXJlZCBvdmVyIHRoZSBzeXN0ZW0gYmVpbmcgYWN0 dWFsbHkgZnVsbHkgdXAtdG8tZGF0ZS4KPiAKPiBOb3RlZCBhbmQgYWxyZWFkeSBwbGFubmVkIGZv ciB0aGUgZnV0dXJlLCB0aGUgQVBJIGFuZCB0aGUgVUkgd2VyZQo+IGFscmVhZHkgZGVzaWduZWQg d2l0aCB0aGlzIGluIG1pbmQuCgpBY2ssIGdvb2QgdG8gaGVhciwgZm9yIGEgUERNIDEuMCB0aGlz IHJlYWxseSBpcyBhIG11c3QgaGF2ZSBJTU8uCgo+IAo+Pgo+PiBCZXNpZGVzIHRoZSB1bmxhYmVs ZWQgbnVtYmVyIHRoZXNlIGNhbiBhbGwgYmUgZm9sbG93IHVwcyAoaWYgYXQgYWxsKSwgc28gSSdt IGZpbmUgd2l0aAo+PiBhcHBseWluZyB0aGlzIGFzIGlzLCBidXQgeW91IG1pZ2h0IGhhdmUgYSBi ZXR0ZXIgZ3V0IGZlZWxpbmcgaWYgaXQncyBmaW5lIHRvIGRvIGZvbGxvdy11cHMKPj4gb3ZlciBh IHYzLCBzbyBqdXN0IHRlbGwgbWUgd2hhdCB5b3UgcHJlZmVyLgo+Pgo+IAo+IEknbGwgcG9zdCBh IHYzIHdpdGggdGhlIGljb24tb25seSBzdGF0dXMgY29sdW1uIHNvIHRoYXQgeW91IGNhbiB0cnkg dGhpcwo+IG91dCBhbmQgZ2l2ZSB5b3VyIG9waW5pb24uIHYzIGFsc28gZml4ZXMgc29tZSBzbWFs bCBidWcgdGhhdCBJIGZvdW5kCj4gd2hpbGUgdG95aW5nIGFyb3VuZCB3aXRoIGRpZmZlcmVudCBp ZGVhcyBmb3IgdGhlIGljb24tb25seSBzdGF0dXMgbGluZS4KCmFjay4KCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwZG0tZGV2ZWwgbWFpbGluZyBsaXN0 CnBkbS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2Nn aS1iaW4vbWFpbG1hbi9saXN0aW5mby9wZG0tZGV2ZWwK