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 025BE1FF161 for ; Wed, 18 Dec 2024 17:20:50 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id AC6361A956; Wed, 18 Dec 2024 17:20:50 +0100 (CET) From: Alexander Zeidler To: pve-devel@lists.proxmox.com Date: Wed, 18 Dec 2024 17:19:47 +0100 Message-Id: <20241218161948.3-1-a.zeidler@proxmox.com> X-Mailer: git-send-email 2.39.5 MIME-Version: 1.0 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.318 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH docs v2 1/2] pvesr: update the chapter and bring it into good condition X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" KiByZXN0cnVjdHVyZSBhbmQgcmV2aXNlIHRoZSBpbnRyb2R1Y3Rpb24KKiBhZGQgc3ViY2hhcHRl ciAiUmVjb21tZW5kYXRpb25zIgoqIHJlbW92ZSB0aGUgc3ViY2hhcHRlciAiU2NoZWR1bGUgRm9y bWF0IiB3aXRoIGl0cyBvbmUgbGluZSBvZiBjb250ZW50CiAgYW5kIGxpbmsgd2hlcmUgYXBwcm9w cmlhdGUgZGlyZWN0bHkgdG8gdGhlIGNvcHkgdW5kZXIgIjI1LiBBcHBlbmRpeCBEOgogIENhbGVu ZGFyIEV2ZW50cyIuIFRoZSBoZWxwIGJ1dHRvbiBhdCBhZGRpbmcvZWRpdGluZyBhIGpvYiBsaW5r cyBub3cgdG8KICB0aGUgc3ViY2hhcHRlciAiTWFuYWdpbmcgSm9icyIuCiogcHJvdmlkZSBkZXRh aWxzIG9uIGpvYiByZW1vdmFsIGFuZCBob3cgdG8gZW5mb3JjZSBpdCBpZiBuZWNlc3NhcnkKKiBh ZGQgbW9yZSBoZWxwZnVsIENMSSBleGFtcGxlcyBhbmQgaW1wcm92ZSBleGlzdGluZyBvbmVzCiog cmVzdHJ1Y3R1cmUgYW5kIHJldmlzZSB0aGUgc3ViY2hhcHRlciAiRXJyb3IgSGFuZGxpbmciCgpT aWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgWmVpZGxlciA8YS56ZWlkbGVyQHByb3htb3guY29tPgot LS0KdjI6Ciogbm8gY2hhbmdlcywgb25seSBhZGQgbWlzc2luZyBwdmUtbWFuYWdlciBwYXRjaAoK IHB2ZWNtLmFkb2MgfCAgIDIgKwogcHZlc3IuYWRvYyB8IDQwMiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNzkg aW5zZXJ0aW9ucygrKSwgMTI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3B2ZWNtLmFkb2Mg Yi9wdmVjbS5hZG9jCmluZGV4IDE1ZGRhNGUuLjQwMjhlOTIgMTAwNjQ0Ci0tLSBhL3B2ZWNtLmFk b2MKKysrIGIvcHZlY20uYWRvYwpAQCAtNDg2LDYgKzQ4Niw3IEBAIGF1dGhlbnRpY2F0aW9uLiBZ b3Ugc2hvdWxkIGZpeCB0aGlzIGJ5IHJlbW92aW5nIHRoZSByZXNwZWN0aXZlIGtleXMgZnJvbSB0 aGUKICcvZXRjL3B2ZS9wcml2L2F1dGhvcml6ZWRfa2V5cycgZmlsZS4KIAogCitbW3B2ZWNtX3F1 b3J1bV1dCiBRdW9ydW0KIC0tLS0tLQogCkBAIC05NjMsNiArOTY0LDcgQEAgY2FzZSAkLSBpbgog ZXNhYwogLS0tLQogCitbW3B2ZWNtX2V4dGVybmFsX3ZvdGVdXQogQ29yb3N5bmMgRXh0ZXJuYWwg Vm90ZSBTdXBwb3J0CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0 IGEvcHZlc3IuYWRvYyBiL3B2ZXNyLmFkb2MKaW5kZXggOWFkMDJmNS4uZGUyOTI0MCAxMDA2NDQK LS0tIGEvcHZlc3IuYWRvYworKysgYi9wdmVzci5hZG9jCkBAIC0yNCw0OCArMjQsNjUgQEAgU3Rv cmFnZSBSZXBsaWNhdGlvbgogOnB2ZS10b3BsZXZlbDoKIGVuZGlmOjptYW52b2xudW1bXQogCi1U aGUgYHB2ZXNyYCBjb21tYW5kLWxpbmUgdG9vbCBtYW5hZ2VzIHRoZSB7UFZFfSBzdG9yYWdlIHJl cGxpY2F0aW9uCi1mcmFtZXdvcmsuIFN0b3JhZ2UgcmVwbGljYXRpb24gYnJpbmdzIHJlZHVuZGFu Y3kgZm9yIGd1ZXN0cyB1c2luZwotbG9jYWwgc3RvcmFnZSBhbmQgcmVkdWNlcyBtaWdyYXRpb24g dGltZS4KLQotSXQgcmVwbGljYXRlcyBndWVzdCB2b2x1bWVzIHRvIGFub3RoZXIgbm9kZSBzbyB0 aGF0IGFsbCBkYXRhIGlzIGF2YWlsYWJsZQotd2l0aG91dCB1c2luZyBzaGFyZWQgc3RvcmFnZS4g UmVwbGljYXRpb24gdXNlcyBzbmFwc2hvdHMgdG8gbWluaW1pemUgdHJhZmZpYwotc2VudCBvdmVy IHRoZSBuZXR3b3JrLiBUaGVyZWZvcmUsIG5ldyBkYXRhIGlzIHNlbnQgb25seSBpbmNyZW1lbnRh bGx5IGFmdGVyCi10aGUgaW5pdGlhbCBmdWxsIHN5bmMuIEluIHRoZSBjYXNlIG9mIGEgbm9kZSBm YWlsdXJlLCB5b3VyIGd1ZXN0IGRhdGEgaXMKLXN0aWxsIGF2YWlsYWJsZSBvbiB0aGUgcmVwbGlj YXRlZCBub2RlLgotCi1UaGUgcmVwbGljYXRpb24gaXMgZG9uZSBhdXRvbWF0aWNhbGx5IGluIGNv bmZpZ3VyYWJsZSBpbnRlcnZhbHMuCi1UaGUgbWluaW11bSByZXBsaWNhdGlvbiBpbnRlcnZhbCBp cyBvbmUgbWludXRlLCBhbmQgdGhlIG1heGltYWwgaW50ZXJ2YWwKLW9uY2UgYSB3ZWVrLiBUaGUg Zm9ybWF0IHVzZWQgdG8gc3BlY2lmeSB0aG9zZSBpbnRlcnZhbHMgaXMgYSBzdWJzZXQgb2YKLWBz eXN0ZW1kYCBjYWxlbmRhciBldmVudHMsIHNlZQoteHJlZjpwdmVzcl9zY2hlZHVsZV90aW1lX2Zv cm1hdFtTY2hlZHVsZSBGb3JtYXRdIHNlY3Rpb246Ci0KLUl0IGlzIHBvc3NpYmxlIHRvIHJlcGxp Y2F0ZSBhIGd1ZXN0IHRvIG11bHRpcGxlIHRhcmdldCBub2RlcywKLWJ1dCBub3QgdHdpY2UgdG8g dGhlIHNhbWUgdGFyZ2V0IG5vZGUuCi0KLUVhY2ggcmVwbGljYXRpb25zIGJhbmR3aWR0aCBjYW4g YmUgbGltaXRlZCwgdG8gYXZvaWQgb3ZlcmxvYWRpbmcgYSBzdG9yYWdlCi1vciBzZXJ2ZXIuCi0K LU9ubHkgY2hhbmdlcyBzaW5jZSB0aGUgbGFzdCByZXBsaWNhdGlvbiAoc28tY2FsbGVkIGBkZWx0 YXNgKSBuZWVkIHRvIGJlCi10cmFuc2ZlcnJlZCBpZiB0aGUgZ3Vlc3QgaXMgbWlncmF0ZWQgdG8g YSBub2RlIHRvIHdoaWNoIGl0IGFscmVhZHkgaXMKLXJlcGxpY2F0ZWQuIFRoaXMgcmVkdWNlcyB0 aGUgdGltZSBuZWVkZWQgc2lnbmlmaWNhbnRseS4gVGhlIHJlcGxpY2F0aW9uCi1kaXJlY3Rpb24g YXV0b21hdGljYWxseSBzd2l0Y2hlcyBpZiB5b3UgbWlncmF0ZSBhIGd1ZXN0IHRvIHRoZSByZXBs aWNhdGlvbgotdGFyZ2V0IG5vZGUuCi0KLUZvciBleGFtcGxlOiBWTTEwMCBpcyBjdXJyZW50bHkg b24gYG5vZGVBYCBhbmQgZ2V0cyByZXBsaWNhdGVkIHRvIGBub2RlQmAuCi1Zb3UgbWlncmF0ZSBp dCB0byBgbm9kZUJgLCBzbyBub3cgaXQgZ2V0cyBhdXRvbWF0aWNhbGx5IHJlcGxpY2F0ZWQgYmFj ayBmcm9tCi1gbm9kZUJgIHRvIGBub2RlQWAuCi0KLUlmIHlvdSBtaWdyYXRlIHRvIGEgbm9kZSB3 aGVyZSB0aGUgZ3Vlc3QgaXMgbm90IHJlcGxpY2F0ZWQsIHRoZSB3aG9sZSBkaXNrCi1kYXRhIG11 c3Qgc2VuZCBvdmVyLiBBZnRlciB0aGUgbWlncmF0aW9uLCB0aGUgcmVwbGljYXRpb24gam9iIGNv bnRpbnVlcyB0bwotcmVwbGljYXRlIHRoaXMgZ3Vlc3QgdG8gdGhlIGNvbmZpZ3VyZWQgbm9kZXMu CitTdG9yYWdlIHJlcGxpY2F0aW9uIGlzIHBhcnRpY3VsYXJseSBpbnRlcmVzdGluZyBmb3Igc21h bGwgY2x1c3RlcnMgaWYKK2d1ZXN0IHZvbHVtZXMgYXJlIHBsYWNlZCBvbiBhIGxvY2FsIHN0b3Jh Z2UgaW5zdGVhZCBvZiBhIHNoYXJlZCBvbmUuCitCeSByZXBsaWNhdGluZyB0aGUgdm9sdW1lcyB0 byBvdGhlciBjbHVzdGVyIG5vZGVzLCBndWVzdCBtaWdyYXRpb24gdG8KK3Rob3NlIG5vZGVzIHdp bGwgYmVjb21lIHNpZ25pZmljYW50bHkgZmFzdGVyLgorCitJbiB0aGUgZXZlbnQgb2YgYSBub2Rl IG9yIGxvY2FsIHN0b3JhZ2UgZmFpbHVyZSwgdGhlIHZvbHVtZSBkYXRhIGFzIG9mCit0aGUgbGF0 ZXN0IGNvbXBsZXRlZCByZXBsaWNhdGlvbiBydW5zIGFyZSBzdGlsbCBhdmFpbGFibGUgb24gdGhl CityZXBsaWNhdGlvbiB0YXJnZXQgbm9kZXMuCiAKIFtJTVBPUlRBTlRdCiA9PT09Ci1IaWdoLUF2 YWlsYWJpbGl0eSBpcyBhbGxvd2VkIGluIGNvbWJpbmF0aW9uIHdpdGggc3RvcmFnZSByZXBsaWNh dGlvbiwgYnV0IHRoZXJlCi1tYXkgYmUgc29tZSBkYXRhIGxvc3MgYmV0d2VlbiB0aGUgbGFzdCBz eW5jZWQgdGltZSBhbmQgdGhlIHRpbWUgYSBub2RlIGZhaWxlZC4KK1doaWxlIGEgcmVwbGljYXRp b24tZW5hYmxlZCBndWVzdCBjYW4gYmUgY29uZmlndXJlZCBmb3IKK3hyZWY6Y2hhcHRlcl9oYV9t YW5hZ2VyW2hpZ2ggYXZhaWxhYmlsaXR5XSwgb3IKK3hyZWY6cHZlc3Jfbm9kZV9mYWlsZWRbbWFu dWFsbHkgbW92ZWRdIHdoaWxlIGl0cyBvcmlnaW4gbm9kZSBpcyBub3QKK2F2YWlsYWJsZSwgcmVh ZCBhYm91dCB0aGUgaW52b2x2ZWQKK3hyZWY6cHZlc3Jfcmlza19vZl9kYXRhX2xvc3NbcmlzayBv ZiBkYXRhIGxvc3NdIGFuZCBob3cgdG8gYXZvaWQgaXQuCiA9PT09CiAKKy5SZXBsaWNhdGlvbiBy ZXF1aXJlcyDigKYKKworKiBhdCBsZWFzdCBvbmUgb3RoZXIgY2x1c3RlciBub2RlIGFzIGEgcmVw bGljYXRpb24gdGFyZ2V0CisqIG9uZSBjb21tb24gbG9jYWwgc3RvcmFnZSBlbnRyeSBpbiB0aGUg ZGF0YWNlbnRlciwgYmVpbmcgZnVuY3Rpb25hbAorb24gYm90aCBub2RlcworKiB0aGF0IHRoZSBs b2NhbCBzdG9yYWdlIHR5cGUgaXMKK3hyZWY6cHZlc3Jfc3VwcG9ydGVkX3N0b3JhZ2Vbc3VwcG9y dGVkIGJ5IHJlcGxpY2F0aW9uXQorKiB0aGF0IGd1ZXN0IHZvbHVtZXMgYXJlIHN0b3JlZCBvbiB0 aGF0IGxvY2FsIHN0b3JhZ2UKKworLlJlcGxpY2F0aW9uIOKApgorCisqIGFsbG93cyBhIGZhc3Qg bWlncmF0aW9uIHRvIG5vZGVzIHdoZXJlIHRoZSBndWVzdCBpcyBiZWluZyByZXBsaWNhdGVkCisq IHByb3ZpZGVzIGd1ZXN0IHZvbHVtZSByZWR1bmRhbmN5IGluIGEgY2x1c3RlciB3aGVyZSB1c2lu ZyBhIHNoYXJlZAorc3RvcmFnZSB0eXBlIGlzIG5vdCBhbiBvcHRpb24KKyogaXMgY29uZmlndXJl ZCBhcyBhIGpvYiBmb3IgYSBndWVzdCwgd2l0aCBtdWx0aXBsZSBqb2JzIGVuYWJsaW5nCittdWx0 aXBsZSByZXBsaWNhdGlvbiB0YXJnZXRzCisqIGpvYnMgcnVuIG9uZSBhZnRlciB0aGUgb3RoZXIg YXQgdGhlaXIgY29uZmlndXJlZCBpbnRlcnZhbCAoc2hvcnRlc3QKK2lzIGV2ZXJ5IG1pbnV0ZSkK KyogdXNlcyBzbmFwc2hvdHMgdG8gcmVndWxhcmx5IHRyYW5zbWl0IG9ubHkgY2hhbmdlZCB2b2x1 bWUgZGF0YQorKHNvLWNhbGxlZCBkZWx0YXMpCisqIG5ldHdvcmsgYmFuZHdpZHRoIGNhbiBiZSBs aW1pdGVkIHBlciBqb2IsIHNtb290aGluZyB0aGUgc3RvcmFnZSBhbmQKK25ldHdvcmsgdXRpbGl6 YXRpb24KKyogdGFyZ2V0cyBzdGF5IGJhc2ljYWxseSB0aGUgc2FtZSB3aGVuIG1pZ3JhdGluZyB0 aGUgZ3Vlc3QgdG8gYW5vdGhlcgorbm9kZQorKiBkaXJlY3Rpb24gb2YgYSBqb2IgcmV2ZXJzZXMg d2hlbiBtb3ZpbmcgdGhlIGd1ZXN0IHRvIGl0cyBjb25maWd1cmVkCityZXBsaWNhdGlvbiB0YXJn ZXQKKworLkV4YW1wbGU6CisKK0EgZ3Vlc3QgcnVucyBvbiBub2RlIGBBYCBhbmQgaGFzIHJlcGxp Y2F0aW9uIGpvYnMgdG8gbm9kZSBgQmAgYW5kIGBDYCwKK2JvdGggd2l0aCBhIHNldCBpbnRlcnZh bCBvZiBldmVyeSBmaXZlIG1pbnV0ZXMgKGAqLzVgKS4gTm93IHdlIG1pZ3JhdGUKK3RoZSBndWVz dCBmcm9tIGBBYCB0byBgQmAsIHdoaWNoIGFsc28gYXV0b21hdGljYWxseSB1cGRhdGVzIHRoZQor cmVwbGljYXRpb24gdGFyZ2V0cyBmb3IgdGhpcyBndWVzdCB0byBiZSBgQWAgYW5kIGBDYC4gTWln cmF0aW9uIHdhcworY29tcGxldGVkIGZhc3QsIGFzIG9ubHkgdGhlIGNoYW5nZWQgdm9sdW1lIGRh dGEgc2luY2UgdGhlIGxhc3QKK3JlcGxpY2F0aW9uIHJ1biBoYXMgYmVlbiB0cmFuc21pdHRlZC4K KworSW4gdGhlIGV2ZW50IHRoYXQgbm9kZSBgQmAgb3IgaXRzIGxvY2FsIHN0b3JhZ2UgZmFpbHMs IHRoZSBndWVzdCBjYW4KK2JlIHJlc3RhcnRlZCBvbiBgQWAgb3IgYENgLCB3aXRoIHRoZSByaXNr IG9mIHNvbWUgZGF0YSBsb3NzIGFzCitkZXNjcmliZWQgaW4gdGhpcyBjaGFwdGVyLgorCitbW3B2 ZXNyX3N1cHBvcnRlZF9zdG9yYWdlXV0KIFN1cHBvcnRlZCBTdG9yYWdlIFR5cGVzCiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogCkBAIC03NiwxNDcgKzkzLDI4MiBAQCBTdXBwb3J0ZWQgU3RvcmFn ZSBUeXBlcwogfFpGUyAobG9jYWwpICAgIHx6ZnNwb29sICAgICB8eWVzICAgICAgfHllcwogfD09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1bW3B2ZXNyX3Nj aGVkdWxlX3RpbWVfZm9ybWF0XV0KLVNjaGVkdWxlIEZvcm1hdAorW1twdmVzcl9yZWNvbW1lbmRh dGlvbnNdXQorUmVjb21tZW5kYXRpb25zCiAtLS0tLS0tLS0tLS0tLS0KLVJlcGxpY2F0aW9uIHVz ZXMgeHJlZjpjaGFwdGVyX2NhbGVuZGFyX2V2ZW50c1tjYWxlbmRhciBldmVudHNdIGZvcgotY29u ZmlndXJpbmcgdGhlIHNjaGVkdWxlLgogCi1FcnJvciBIYW5kbGluZwotLS0tLS0tLS0tLS0tLS0K K1tbcHZlc3Jfcmlza19vZl9kYXRhX2xvc3NdXQorUmlzayBvZiBEYXRhIExvc3MKK35+fn5+fn5+ fn5+fn5+fn5+CisKK0lmIGEgbm9kZSBzaG91bGQgc3VkZGVubHkgYmVjb21lIHVuYXZhaWxhYmxl IGZvciBhIGxvbmdlciBwZXJpb2Qgb2YKK3RpbWUsIGl0IG1heSBiZWNvbWUgbmVjY2Vzc2FyeSB0 byBydW4gYSBndWVzdCBvbiBhIHJlcGxpY2F0aW9uIHRhcmdldAorbm9kZSBpbnN0ZWFkLiBUaGVy ZWJ5IHRoZSBndWVzdCB3aWxsIHVzZSB0aGUgbGF0ZXN0IHJlcGxpY2F0ZWQgdm9sdW1lCitkYXRh IGF2YWlsYWJsZSBvbiB0aGUgY2hvc2VuIHRhcmdldCBub2RlLiBUaGF0IHZvbHVtZSBzdGF0ZSB3 aWxsIHRoZW4KK2Fsc28gYmUgcmVwbGljYXRlZCB0byBvdGhlciBub2RlcyB3aXRoIHRoZSBuZXh0 IHJlcGxpY2F0aW9uIHJ1bnMsCitzaW5jZSB0aGUgcmVwbGljYXRpb24gZGlyZWN0aW9ucyBhcmUg YXV0b21hdGljYWxseSB1cGRhdGVkIGZvciByZWxhdGVkCitqb2JzLiBUaGlzIGFsc28gbWVhbnMs IHRoYXQgdGhlIG9uY2UgbmV3ZXIgdm9sdW1lIHN0YXRlIG9uIHRoZSBmYWlsZWQKK25vZGUgd2ls bCBiZSByZW1vdmVkIGFmdGVyIGl0IGJlY29tZXMgYXZhaWxhYmxlIGFnYWluLgorCitBIG1vcmUg cmVzaWxpZW50IHNvbHV0aW9uIG1heSBiZSB0byB1c2UgYSBzaGFyZWQKK3hyZWY6Y2hhcHRlcl9z dG9yYWdlW3N0b3JhZ2UgdHlwZV0gaW5zdGVhZC4gSWYgdGhhdCBpcyBub3QgYW4gb3B0aW9uLAor Y29uc2lkZXIgc2V0dGluZyB0aGUgcmVwbGljYXRpb24gam9iIGludGVydmFscyBzaG9ydCBlbm91 Z2ggYW5kIGF2b2lkCittb3ZpbmcgcmVwbGljYXRpb24tY29uZmlndXJlZCBndWVzdHMgd2hpbGUg dGhlaXIgb3JpZ2luIG5vZGUgaXMgbm90CithdmFpbGFibGUuIEluc3RlYWQgb2YgY29uZmlndXJp bmcgdGhvc2UgZ3Vlc3RzIGZvciBoaWdoIGF2YWlsYWJpbGl0eSwKK3hyZWY6cW1fc3RhcnR1cF9h bmRfc2h1dGRvd25bc3RhcnQgYXQgYm9vdF0gY291bGQgYmUgYSBzdWZmaWNpZW50CithbHRlcm5h dGl2ZS4KKworW1twdmVzcl9yZXBsaWNhdGlvbl9uZXR3b3JrXV0KK05ldHdvcmsgZm9yIFJlcGxp Y2F0aW9uIFRyYWZmaWMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworUmVwbGlj YXRpb24gdHJhZmZpYyBpcyByb3V0ZWQgdmlhIHRoZQoreHJlZjpwdmVjbV9taWdyYXRpb25fbmV0 d29ya1ttaWdyYXRpb24gbmV0d29ya10uIElmIGl0IGlzIG5vdCBzZXQsIHRoZQorbWFuYWdlbWVu dCBuZXR3b3JrIGlzIHVzZWQgYnkgZGVmYXVsdCwgd2hpY2ggY2FuIGhhdmUgYSBuZWdhdGl2ZQor aW1wYWN0IG9uIGNvcm9zeW5jIGFuZCB0aGVyZWZvcmUgb24gY2x1c3RlciBhdmFpbGFiaWxpdHku IFRvIHNwZWNpZnkKK3RoZSBtaWdyYXRpb24gbmV0d29yaywgbmF2aWdhdGUgdG8KK19fRGF0YWNl bnRlciAtPiBPcHRpb25zIC0+IE1pZ3JhdGlvbiBTZXR0aW5nc19fLCBvciBzZXQgaXQgdmlhIENM SSBpbgordGhlIHhyZWY6ZGF0YWNlbnRlcl9jb25maWd1cmF0aW9uX2ZpbGVbYGRhdGFjZW50ZXIu Y2ZnYF0uCisKK1tbcHZlc3JfY2x1c3Rlcl9zaXplXV0KK0NsdXN0ZXIgU2l6ZQorfn5+fn5+fn5+ fn5+CisKK1dpdGggYSAyLW5vZGUgY2x1c3RlciBpbiBwYXJ0aWN1bGFyLCB0aGUgZmFpbHVyZSBv ZiBvbmUgbm9kZSBjYW4gbGVhdmUKK3RoZSBvdGhlciBub2RlIHdpdGhvdXQgYSB4cmVmOnB2ZWNt X3F1b3J1bVtxdW9ydW1dLiBJbiBvcmRlciB0byBrZWVwCit0aGUgY2x1c3RlciBmdW5jdGlvbmFs IGF0IGFsbCB0aW1lcywgaXQgaXMgdGhlcmVmb3JlIGNydWNpYWwgdG8KK3hyZWY6cHZlY21fam9p bl9ub2RlX3RvX2NsdXN0ZXJbZXhwYW5kXSB0byBhIDMtbm9kZSBjbHVzdGVyIGluIGFkdmFuY2UK K29yIHRvIGNvbmZpZ3VyZSBhIHhyZWY6cHZlY21fZXh0ZXJuYWxfdm90ZVtRRGV2aWNlXSBmb3Ig dGhlIHRoaXJkCit2b3RlLgorCitbW3B2ZXNyX21hbmFnaW5nX2pvYnNdXQorTWFuYWdpbmcgSm9i cworLS0tLS0tLS0tLS0tLQogCi1JZiBhIHJlcGxpY2F0aW9uIGpvYiBlbmNvdW50ZXJzIHByb2Js ZW1zLCBpdCBpcyBwbGFjZWQgaW4gYW4gZXJyb3Igc3RhdGUuCi1JbiB0aGlzIHN0YXRlLCB0aGUg Y29uZmlndXJlZCByZXBsaWNhdGlvbiBpbnRlcnZhbHMgZ2V0IHN1c3BlbmRlZAotdGVtcG9yYXJp bHkuIFRoZSBmYWlsZWQgcmVwbGljYXRpb24gaXMgcmVwZWF0ZWRseSB0cmllZCBhZ2FpbiBpbiBh Ci0zMCBtaW51dGUgaW50ZXJ2YWwuCi1PbmNlIHRoaXMgc3VjY2VlZHMsIHRoZSBvcmlnaW5hbCBz Y2hlZHVsZSBnZXRzIGFjdGl2YXRlZCBhZ2Fpbi4KK1t0aHVtYm5haWw9InNjcmVlbnNob3QvZ3Vp LXFlbXUtYWRkLXJlcGxpY2F0aW9uLWpvYi5wbmciXQogCi1Qb3NzaWJsZSBpc3N1ZXMKLX5+fn5+ fn5+fn5+fn5+fgorUmVwbGljYXRpb24gam9icyBjYW4gZWFzaWx5IGJlIGNyZWF0ZWQsIG1vZGlm aWVkIGFuZCByZW1vdmVkIHZpYSB3ZWIKK2ludGVyZmFjZSwgb3IgYnkgdXNpbmcgdGhlIENMSSB0 b29sIGBwdmVzcmAuCiAKLVNvbWUgb2YgdGhlIG1vc3QgY29tbW9uIGlzc3VlcyBhcmUgaW4gdGhl IGZvbGxvd2luZyBsaXN0LiBEZXBlbmRpbmcgb24geW91cgotc2V0dXAgdGhlcmUgbWF5IGJlIGFu b3RoZXIgY2F1c2UuCitUbyBtYW5hZ2UgYWxsIHJlcGxpY2F0aW9uIGpvYnMgaW4gb25lIHBsYWNl LCBnbyB0bworX19EYXRhY2VudGVyIC0+IFJlcGxpY2F0aW9uX18uIEFkZGl0aW9uYWwgZnVuY3Rp b25hbGl0aWVzIGFyZQorYXZhaWxhYmxlIHVuZGVyIF9fTm9kZSAtPiBSZXBsaWNhdGlvbl9fIGFu ZCBfX0d1ZXN0IC0+IFJlcGxpY2F0aW9uX18uCitHbyB0aGVyZSB0byB2aWV3IGxvZ3MsIHNjaGVk dWxlIGEgam9iIG9uY2UgZm9yIG5vdywgb3IgYmVuZWZpdCBmcm9tCitwcmVzZXQgZmllbGRzIHdo ZW4gY29uZmlndXJpbmcgYSBqb2IuCiAKLSogTmV0d29yayBpcyBub3Qgd29ya2luZy4KK0VuYWJs ZWQgcmVwbGljYXRpb24gam9icyB3aWxsIGF1dG9tYXRpY2FsbHkgcnVuIGF0IHRoZWlyIHNldCBp bnRlcnZhbCwKK29uZSBhZnRlciB0aGUgb3RoZXIuIFRoZSBkZWZhdWx0IGludGVydmFsIGlzIGF0 IGV2ZXJ5IHF1YXJ0ZXIgb2YgYW4KK2hvdXIgKGAqLzE1YCksIGFuZCBjYW4gYmUgc2V0IHRvIGFz IG9mdGVuIGFzIGV2ZXJ5IG1pbnV0ZSAoYCovMWApLCBzZWUKK3hyZWY6Y2hhcHRlcl9jYWxlbmRh cl9ldmVudHNbc2NoZWR1bGUgZm9ybWF0XS4KIAotKiBObyBmcmVlIHNwYWNlIGxlZnQgb24gdGhl IHJlcGxpY2F0aW9uIHRhcmdldCBzdG9yYWdlLgorT3B0aW9uYWxseSwgdGhlIG5ldHdvcmsgYmFu ZHdpZHRoIGNhbiBiZSBsaW1pdGVkLCB3aGljaCBhbHNvIGhlbHBzIHRvCitrZWVwIHRoZSBzdG9y YWdlIGxvYWQgb24gdGhlIHRhcmdldCBub2RlIGFjY2VwdGFibGUuCiAKLSogU3RvcmFnZSB3aXRo IHRoZSBzYW1lIHN0b3JhZ2UgSUQgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGUgdGFyZ2V0IG5vZGUu CitTaG9ydGx5IGFmdGVyIGpvYiBjcmVhdGlvbiwgYSBmaXJzdCBzbmFwc2hvdCBpcyB0YWtlbiBh bmQgc2VudCB0byB0aGUKK3RhcmdldCBub2RlLiBTdWJzZXF1ZW50IHNuYXBzaG90cyBhcmUgdGFr ZW4gYXQgdGhlIHNldCBpbnRlcnZhbCBhbmQKK29ubHkgY29udGFpbiBtb2RpZmllZCB2b2x1bWUg ZGF0YSwgYWxsb3dpbmcgYSBzaWduaWZpY2FudGx5IHNob3J0ZXIKK3RyYW5zZmVyIHRpbWUuCiAK LU5PVEU6IFlvdSBjYW4gYWx3YXlzIHVzZSB0aGUgcmVwbGljYXRpb24gbG9nIHRvIGZpbmQgb3V0 IHdoYXQgaXMgY2F1c2luZyB0aGUgcHJvYmxlbS4KK0lmIHlvdSByZW1vdmUgYSByZXBsaWNhdGlv biBqb2IsIHRoZSBzbmFwc2hvdHMgb24gdGhlIHRhcmdldCBub2RlIGFyZQorYWxzbyBnZXR0aW5n IGRlbGV0ZWQgYWdhaW4gYnkgZGVmYXVsdC4gVGhlIHJlbW92YWwgdGFrZXMgcGxhY2UgYXQgdGhl CituZXh0IHBvc3NpYmxlIHBvaW50IGluIHRpbWUgYW5kIHJlcXVpcmVzIHRoZSBqb2IgdG8gYmUg ZW5hYmxlZC4gSWYgdGhlCit0YXJnZXQgbm9kZSBpcyBwZXJtYW5lbnRseSB1bnJlYWNoYWJsZSwg dGhlIGNsZWFudXAgY2FuIGJlIHNraXBwZWQgYnkKK2ZvcmNpbmcgYSBqb2IgZGVsZXRpb24gdmlh IENMSS4KIAotTWlncmF0aW5nIGEgZ3Vlc3QgaW4gY2FzZSBvZiBFcnJvcgotfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotLy8gRklYTUU6IG1vdmUgdGhpcyB0byBiZXR0ZXIgZml0 dGluZyBjaGFwdGVyIChzeXNhZG1pbiA/KSBhbmQgb25seSBsaW5rIHRvCi0vLyBpdCBoZXJlCitX aGVuIG5vdCB1c2luZyB0aGUgd2ViIGludGVyZmFjZSwgdGhlIGNsdXN0ZXItd2lkZSB1bmlxdWUg cmVwbGljYXRpb24KK2pvYiBJRCBoYXMgdG8gYmUgc3BlY2lmaWVkLiBGb3IgZXhhbXBsZSwgYDEw MC0wYCwgd2hpY2ggaXMgY29tcG9zZWQgb2YKK3RoZSBndWVzdCBJRCwgYSBoeXBoZW4gYW5kIGFu IGFyYml0cmFyeSBqb2IgbnVtYmVyLgogCi1JbiB0aGUgY2FzZSBvZiBhIGdyYXZlIGVycm9yLCBh IHZpcnR1YWwgZ3Vlc3QgbWF5IGdldCBzdHVjayBvbiBhIGZhaWxlZAotbm9kZS4gWW91IHRoZW4g bmVlZCB0byBtb3ZlIGl0IG1hbnVhbGx5IHRvIGEgd29ya2luZyBub2RlIGFnYWluLgorW1twdmVz cl9jbGlfZXhhbXBsZXNdXQorQ0xJIEV4YW1wbGVzCistLS0tLS0tLS0tLS0KIAotRXhhbXBsZQot fn5+fn5+fgorQ3JlYXRlIGEgcmVwbGljYXRpb24gam9iIGZvciBndWVzdCBgMTAwYCBhbmQgZ2l2 ZSBpdCB0aGUgam9iIG51bWJlcgorYDBgLiBSZXBsaWNhdGUgdG8gbm9kZSBgcHZlMmAgZXZlcnkg Zml2ZSBtaW51dGVzIChgKi81YCksIGF0IGEgbWF4aW11bQorbmV0d29yayBiYW5kd2l0ZGggb2Yg YDEwYCBNQnBzIChtZWdhYnl0ZXMgcGVyIHNlY29uZCkuCiAKLUxldCdzIGFzc3VtZSB0aGF0IHlv dSBoYXZlIHR3byBndWVzdHMgKFZNIDEwMCBhbmQgQ1QgMjAwKSBydW5uaW5nIG9uIG5vZGUgQQot YW5kIHJlcGxpY2F0ZSB0byBub2RlIEIuCi1Ob2RlIEEgZmFpbGVkIGFuZCBjYW4gbm90IGdldCBi YWNrIG9ubGluZS4gTm93IHlvdSBoYXZlIHRvIG1pZ3JhdGUgdGhlIGd1ZXN0Ci10byBOb2RlIEIg bWFudWFsbHkuCistLS0tCisjIHB2ZXNyIGNyZWF0ZS1sb2NhbC1qb2IgMTAwLTAgcHZlMiAtLXNj aGVkdWxlICIqLzUiIC0tcmF0ZSAxMAorLS0tLQogCi0tIGNvbm5lY3QgdG8gbm9kZSBCIG92ZXIg c3NoIG9yIG9wZW4gaXRzIHNoZWxsIHZpYSB0aGUgd2ViIFVJCitMaXN0IHJlcGxpY2F0aW9uIGpv YnMgZnJvbSBhbGwgbm9kZXMuCiAKLS0gY2hlY2sgaWYgdGhhdCB0aGUgY2x1c3RlciBpcyBxdW9y YXRlCi0rCiAtLS0tCi0jIHB2ZWNtIHN0YXR1cworIyBwdmVzciBsaXN0CiAtLS0tCiAKLS0gSWYg eW91IGhhdmUgbm8gcXVvcnVtLCB3ZSBzdHJvbmdseSBhZHZpc2UgdG8gZml4IHRoaXMgZmlyc3Qg YW5kIG1ha2UgdGhlCi0gIG5vZGUgb3BlcmFibGUgYWdhaW4uIE9ubHkgaWYgdGhpcyBpcyBub3Qg cG9zc2libGUgYXQgdGhlIG1vbWVudCwgeW91IG1heQotICB1c2UgdGhlIGZvbGxvd2luZyBjb21t YW5kIHRvIGVuZm9yY2UgcXVvcnVtIG9uIHRoZSBjdXJyZW50IG5vZGU6Ci0rCitMaXN0IHRoZSBq b2Igc3RhdHVzZXMgZnJvbSBhbGwgbG9jYWwgZ3Vlc3RzLCBvciBvbmx5IGZyb20gYSBzcGVjaWZp YworbG9jYWwgZ3Vlc3QuCisKIC0tLS0KLSMgcHZlY20gZXhwZWN0ZWQgMQorIyBwdmVzciBzdGF0 dXMgWy0tZ3Vlc3QgMTAwXQogLS0tLQogCi1XQVJOSU5HOiBBdm9pZCBjaGFuZ2VzIHdoaWNoIGFm ZmVjdCB0aGUgY2x1c3RlciBpZiBgZXhwZWN0ZWQgdm90ZXNgIGFyZSBzZXQKLShmb3IgZXhhbXBs ZSBhZGRpbmcvcmVtb3Zpbmcgbm9kZXMsIHN0b3JhZ2VzLCB2aXJ0dWFsIGd1ZXN0cykgYXQgYWxs IGNvc3RzLgotT25seSB1c2UgaXQgdG8gZ2V0IHZpdGFsIGd1ZXN0cyB1cCBhbmQgcnVubmluZyBh Z2FpbiBvciB0byByZXNvbHZlIHRoZSBxdW9ydW0KLWlzc3VlIGl0c2VsZi4KK1JlYWQgdGhlIGNv bmZpZ3VyYXRpb24gb2Ygam9iIGAxMDAtMGAuCiAKLS0gbW92ZSBib3RoIGd1ZXN0IGNvbmZpZ3Vy YXRpb24gZmlsZXMgZm9ybSB0aGUgb3JpZ2luIG5vZGUgQSB0byBub2RlIEI6Ci0rCiAtLS0tCi0j IG12IC9ldGMvcHZlL25vZGVzL0EvcWVtdS1zZXJ2ZXIvMTAwLmNvbmYgL2V0Yy9wdmUvbm9kZXMv Qi9xZW11LXNlcnZlci8xMDAuY29uZgotIyBtdiAvZXRjL3B2ZS9ub2Rlcy9BL2x4Yy8yMDAuY29u ZiAvZXRjL3B2ZS9ub2Rlcy9CL2x4Yy8yMDAuY29uZgorIyBwdmVzciByZWFkIDEwMC0wCiAtLS0t CiAKLS0gTm93IHlvdSBjYW4gc3RhcnQgdGhlIGd1ZXN0cyBhZ2FpbjoKLSsKK1VwZGF0ZSB0aGUg Y29uZmlndXJhdGlvbiBvZiBqb2IgYDEwMC0wYCwgZm9yIGV4YW1wbGUsIHRvIGNoYW5nZSB0aGUK K3NjaGVkdWxlIGludGVydmFsIHRvIGV2ZXJ5IGZ1bGwgaG91ci4KKwogLS0tLQotIyBxbSBzdGFy dCAxMDAKLSMgcGN0IHN0YXJ0IDIwMAorIyBwdmVzciB1cGRhdGUgMTAwLTAgLS1zY2hlZHVsZSAi Ki8wMCIKIC0tLS0KIAotUmVtZW1iZXIgdG8gcmVwbGFjZSB0aGUgVk1JRHMgYW5kIG5vZGUgbmFt ZXMgd2l0aCB5b3VyIHJlc3BlY3RpdmUgdmFsdWVzLgorVG8gcnVuIHRoZSBqb2IgYDEwMC0wYCBv bmNlIHNvb24sIHNjaGVkdWxlIGl0IHJlZ2FyZGxlc3Mgb2YgdGhlCitjb25maWd1cmVkIGludGVy dmFsLgogCi1NYW5hZ2luZyBKb2JzCi0tLS0tLS0tLS0tLS0tCistLS0tCisjIHB2ZXNyIHNjaGVk dWxlLW5vdyAxMDAtMAorLS0tLQogCi1bdGh1bWJuYWlsPSJzY3JlZW5zaG90L2d1aS1xZW11LWFk ZC1yZXBsaWNhdGlvbi1qb2IucG5nIl0KK0Rpc2FibGUgKG9yIGBlbmFibGVgKSB0aGUgam9iIGAx MDAtMGAuCisKKy0tLS0KKyMgcHZlc3IgZGlzYWJsZSAxMDAtMAorLS0tLQorCitEZWxldGUgdGhl IGpvYiBgMTAwLTBgLiBJZiB0aGUgdGFyZ2V0IG5vZGUgaXMgcGVybWFuZW50bHkgdW5yZWFjaGFi bGUsCitgLS1mb3JjZWAgY2FuIGJlIHVzZWQgdG8gc2tpcCB0aGUgZmFpbGluZyBjbGVhbnVwLgog Ci1Zb3UgY2FuIHVzZSB0aGUgd2ViIEdVSSB0byBjcmVhdGUsIG1vZGlmeSwgYW5kIHJlbW92ZSBy ZXBsaWNhdGlvbiBqb2JzCi1lYXNpbHkuIEFkZGl0aW9uYWxseSwgdGhlIGNvbW1hbmQtbGluZSBp bnRlcmZhY2UgKENMSSkgdG9vbCBgcHZlc3JgIGNhbiBiZQotdXNlZCB0byBkbyB0aGlzLgorLS0t LQorIyBwdmVzciBkZWxldGUgMTAwLTAgWy0tZm9yY2VdCistLS0tCiAKLVlvdSBjYW4gZmluZCB0 aGUgcmVwbGljYXRpb24gcGFuZWwgb24gYWxsIGxldmVscyAoZGF0YWNlbnRlciwgbm9kZSwgdmly dHVhbAotZ3Vlc3QpIGluIHRoZSB3ZWIgR1VJLiBUaGV5IGRpZmZlciBpbiB3aGljaCBqb2JzIGdl dCBzaG93bjoKLWFsbCwgbm9kZS0gb3IgZ3Vlc3Qtc3BlY2lmaWMgam9icy4KK1tbcHZlc3JfZXJy b3JfaGFuZGxpbmddXQorRXJyb3IgSGFuZGxpbmcKKy0tLS0tLS0tLS0tLS0tCiAKLVdoZW4gYWRk aW5nIGEgbmV3IGpvYiwgeW91IG5lZWQgdG8gc3BlY2lmeSB0aGUgZ3Vlc3QgaWYgbm90IGFscmVh ZHkgc2VsZWN0ZWQKLWFzIHdlbGwgYXMgdGhlIHRhcmdldCBub2RlLiBUaGUgcmVwbGljYXRpb24K LXhyZWY6cHZlc3Jfc2NoZWR1bGVfdGltZV9mb3JtYXRbc2NoZWR1bGVdIGNhbiBiZSBzZXQgaWYg dGhlIGRlZmF1bHQgb2YgYGFsbAotMTUgbWludXRlc2AgaXMgbm90IGRlc2lyZWQuIFlvdSBtYXkg aW1wb3NlIGEgcmF0ZS1saW1pdCBvbiBhIHJlcGxpY2F0aW9uCi1qb2IuIFRoZSByYXRlIGxpbWl0 IGNhbiBoZWxwIHRvIGtlZXAgdGhlIGxvYWQgb24gdGhlIHN0b3JhZ2UgYWNjZXB0YWJsZS4KK1tb cHZlc3Jfam9iX2ZhaWxlZF1dCitKb2IgRmFpbGVkCit+fn5+fn5+fn5+CiAKLUEgcmVwbGljYXRp b24gam9iIGlzIGlkZW50aWZpZWQgYnkgYSBjbHVzdGVyLXdpZGUgdW5pcXVlIElELiBUaGlzIElE IGlzCi1jb21wb3NlZCBvZiB0aGUgVk1JRCBpbiBhZGRpdGlvbiB0byBhIGpvYiBudW1iZXIuCi1U aGlzIElEIG11c3Qgb25seSBiZSBzcGVjaWZpZWQgbWFudWFsbHkgaWYgdGhlIENMSSB0b29sIGlz IHVzZWQuCitJbiB0aGUgZXZlbnQgdGhhdCBhIHJlcGxpY2F0aW9uIGpvYiBmYWlscywgaXQgaXMg dGVtcG9yYXJpbHkgcGxhY2VkIGluCithbiBlcnJvciBzdGF0ZSBhbmQgYSBub3RpZmljYXRpb24g aXMgc2VudC4gQSByZXRyeSBpcyBzY2hlZHVsZWQgZm9yIDUKK21pbnV0ZXMgbGF0ZXIsIGZvbGxv d2VkIGJ5IGFub3RoZXIgMTAsIDE1IGFuZCBmaW5hbGx5IGV2ZXJ5IDMwCittaW51dGVzLiBBcyBz b29uIGFzIHRoZSBqb2IgaGFzIHJ1biBzdWNjZXNzZnVsbHkgYWdhaW4sIHRoZSBlcnJvcgorc3Rh dGUgaXMgbGVmdCBhbmQgdGhlIGNvbmZpZ3VyZWQgaW50ZXJ2YWwgaXMgcmVzdW1lZC4KIAotTmV0 d29yawotLS0tLS0tLQorLlRyb3VibGVzaG9vdGluZyBKb2IgRmFpbHVyZXMKIAotUmVwbGljYXRp b24gdHJhZmZpYyB3aWxsIHVzZSB0aGUgc2FtZSBuZXR3b3JrIGFzIHRoZSBsaXZlIGd1ZXN0IG1p Z3JhdGlvbi4gQnkKLWRlZmF1bHQsIHRoaXMgaXMgdGhlIG1hbmFnZW1lbnQgbmV0d29yay4gVG8g dXNlIGEgZGlmZmVyZW50IG5ldHdvcmsgZm9yIHRoZQotbWlncmF0aW9uLCBjb25maWd1cmUgdGhl IGBNaWdyYXRpb24gTmV0d29ya2AgaW4gdGhlIHdlYiBpbnRlcmZhY2UgdW5kZXIKLWBEYXRhY2Vu dGVyIC0+IE9wdGlvbnMgLT4gTWlncmF0aW9uIFNldHRpbmdzYCBvciBpbiB0aGUgYGRhdGFjZW50 ZXIuY2ZnYC4gU2VlCi14cmVmOnB2ZWNtX21pZ3JhdGlvbl9uZXR3b3JrW01pZ3JhdGlvbiBOZXR3 b3JrXSBmb3IgbW9yZSBkZXRhaWxzLgorVG8gZmluZCBvdXQgd2h5IGEgam9iIGV4YWN0bHkgZmFp bGVkLCByZWFkIHRoZSBsb2cgYXZhaWxhYmxlIHVuZGVyCitfX05vZGUgLT4gUmVwbGljYXRpb25f Xy4KIAotQ29tbWFuZC1saW5lIEludGVyZmFjZSBFeGFtcGxlcwotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorQ29tbW9uIGNhdXNlcyBhcmU6CiAKLUNyZWF0ZSBhIHJlcGxpY2F0aW9u IGpvYiB3aGljaCBydW5zIGV2ZXJ5IDUgbWludXRlcyB3aXRoIGEgbGltaXRlZCBiYW5kd2lkdGgK LW9mIDEwIE1icHMgKG1lZ2FieXRlcyBwZXIgc2Vjb25kKSBmb3IgdGhlIGd1ZXN0IHdpdGggSUQg MTAwLgorKiBUaGUgbmV0d29yayBpcyBub3Qgd29ya2luZyBwcm9wZXJseS4KKyogVGhlIHN0b3Jh Z2UgKElEKSBpbiB1c2UgaGFzIHNldCBhbiBhdmFpbGFiaWxpdHkgcmVzdHJpY3Rpb24sCitleGNs dWRpbmcgdGhlIHRhcmdldCBub2RlLgorKiBUaGUgc3RvcmFnZSBpcyBub3Qgc2V0IHVwIGNvcnJl Y3RseSBvbiB0aGUgdGFyZ2V0IG5vZGUgKGUuZy4KK2RpZmZlcmVudCBwb29sIG5hbWUpLgorKiBU aGUgc3RvcmFnZSBvbiB0aGUgdGFyZ2V0IG5vZGUgaGFzIG5vIGZyZWUgc3BhY2UgbGVmdC4KKwor W1twdmVzcl9ub2RlX2ZhaWxlZF1dCitPcmlnaW4gTm9kZSBGYWlsZWQKK35+fn5+fn5+fn5+fn5+ fn5+fgorLy8gRklYTUU6IG1vdmUgdGhpcyB0byBiZXR0ZXIgZml0dGluZyBjaGFwdGVyIChzeXNh ZG1pbiA/KSBhbmQgb25seSBsaW5rIHRvCisvLyBpdCBoZXJlCiAKK0luIHRoZSBldmVudCB0aGF0 IGEgbm9kZSBydW5uaW5nIHJlcGxpY2F0ZWQgZ3Vlc3RzIGZhaWxzIHN1ZGRlbmx5IGFuZAorZm9y IHRvbyBsb25nLCBpdCBtYXkgYmVjb21lIG5lY2Vzc2FyeSB0byByZXN0YXJ0IHRoZXNlIGd1ZXN0 cyBvbiB0aGVpcgorcmVwbGljYXRlZCBub2Rlcy4gSWYgcmVwbGljYXRlZCBndWVzdHMgYXJlIGNv bmZpZ3VyZWQgZm9yIGhpZ2gKK2F2YWlsYWJpbGl0eSAoSEEpLCBiZXNpZGUgaXRzIGludm9sdmVk Cit4cmVmOnB2ZXNyX3Jpc2tfb2ZfZGF0YV9sb3NzW3Jpc2sgb2YgZGF0YSBsb3NzXSwganVzdCB3 YWl0IHVudGlsIHRoZXNlCitndWVzdHMgYXJlIHJlY292ZXJlZCBvbiBvdGhlciBub2Rlcy4gUmVw bGljYXRlZCBndWVzdHMgd2hpY2ggYXJlIG5vdAorY29uZmlndXJlZCBmb3IgSEEgY2FuIGJlIG1v dmVkIG1hbnVhbGx5IGFzIGV4cGxhaW5lZCBiZWxvdywgaW5jbHVkaW5nCit0aGUgc2FtZSByaXNr IG9mIGRhdGEgbG9zcy4KKworW1twdmVzcl9maW5kX2xhdGVzdF9yZXBsaWNhc11dCisuU3RlcCAx OiBPcHRpb25hbGx5IERlY2lkZSBvbiBhIFNwZWNpZmljIFJlcGxpY2F0aW9uIFRhcmdldCBOb2Rl CisKK1RvIG1pbmltaXplIHRoZSBkYXRhIGxvc3Mgb2YgYW4gaW1wb3J0YW50IGd1ZXN0LCB5b3Ug Y2FuIGZpbmQgdGhlCit0YXJnZXQgbm9kZSBvbiB3aGljaCB0aGUgbW9zdCByZWNlbnQgc3VjY2Vz c2Z1bCByZXBsaWNhdGlvbiB0b29rCitwbGFjZS4gSWYgdGhlIG9yaWdpbiBub2RlIGlzIGhlYWx0 aHkgZW5vdWdoIHRvIGFjY2VzcyBpdHMgd2ViCitpbnRlcmZhY2UsIGdvIHRvIF9fTm9kZSAtPiBS ZXBsaWNhdGlvbl9fIGFuZCBzZWUgdGhlICdMYXN0IFN5bmMnCitjb2x1bW4uIEFsdGVybmF0aXZl bHksIHlvdSBjYW4gY2Fycnkgb3V0IHRoZSBmb2xsb3dpbmcgc3RlcHMuCisKKy4gVG8gbGlzdCBh bGwgdGFyZ2V0IG5vZGVzIG9mIGFuIGltcG9ydGFudCBndWVzdCwgZXhlbXBsYXJ5IHdpdGggdGhl CitJRCBgMTAwMGAsIGdvIHRvIHRoZSBDTEkgb2YgYW55IG5vZGUgYW5kIHJ1bjoKKysKIC0tLS0K LSMgcHZlc3IgY3JlYXRlLWxvY2FsLWpvYiAxMDAtMCBwdmUxIC0tc2NoZWR1bGUgIiovNSIgLS1y YXRlIDEwCisjIHB2ZXNyIGxpc3QgfCBncmVwIC1lIEpvYiAtZSBeMTAwMAogLS0tLQogCi1EaXNh YmxlIGFuIGFjdGl2ZSBqb2Igd2l0aCBJRCBgMTAwLTBgLgorLiBPcGVuIHRoZSBDTEkgb24gYWxs IGxpc3RlZCB0YXJnZXQgbm9kZXMuCiAKKy4gQWRhcHQgdGhlIGZvbGxvd2luZyBjb21tYW5kIHdp dGggeW91ciBWTUlEIHRvIGZpbmQgdGhlIG1vc3QgcmVjZW50CitzbmFwc2hvdHMgYW1vbmcgeW91 ciB0YXJnZXQgbm9kZXMuIElmIHNuYXBzaG90cyB3ZXJlIHRha2VuIGluIHRoZSBzYW1lCittaW51 dGUsIGxvb2sgZm9yIHRoZSBoaWdoZXN0IG51bWJlciBhdCB0aGUgZW5kIG9mIHRoZSBuYW1lLCB3 aGljaCBpcwordGhlIFVuaXggdGltZXN0YW1wLgorKwogLS0tLQotIyBwdmVzciBkaXNhYmxlIDEw MC0wCisjIHpmcyBsaXN0IC10IHNuYXBzaG90IC1vIG5hbWUsY3JlYXRpb24gfCBncmVwIC1lIC0x MDAwLWRpc2sKIC0tLS0KIAotRW5hYmxlIGEgZGVhY3RpdmF0ZWQgam9iIHdpdGggSUQgYDEwMC0w YC4KK1tbcHZlc3JfdmVyaWZ5X2NsdXN0ZXJfaGVhbHRoXV0KKy5TdGVwIDI6IFZlcmlmeSBDbHVz dGVyIEhlYWx0aAorCitHbyB0byB0aGUgQ0xJIG9mIGFueSByZXBsaWNhdGlvbiB0YXJnZXQgbm9k ZSBhbmQgcnVuIGBwdmVjbSBzdGF0dXNgLgorSWYgdGhlIG91dHB1dCBjb250YWlucyBgUXVvcmF0 ZTogWWVzYCwgdGhlbiB0aGUgY2x1c3Rlci9jb3Jvc3luYyBpcworaGVhbHRoeSBlbm91Z2ggYW5k IHlvdSBjYW4gcHJvY2VlZCB3aXRoCit4cmVmOnB2ZXNyX21vdmVfYV9ndWVzdFtTdGVwIDM6IE1v dmUgYSBndWVzdF0uCiAKK1dBUk5JTkc6IElmIHRoZSBjbHVzdGVyIGlzIG5vdCBxdW9yYXRlIGFu ZCBjb25zaXN0cyBvZiAzIG9yIG1vcmUKK25vZGVzL3ZvdGVzLCB3ZSBzdHJvbmdseSByZWNvbW1l bmQgdG8gc29sdmUgdGhlIHVuZGVybHlpbmcgcHJvYmxlbQorZmlyc3Qgc28gdGhhdCBhdCBsZWFz dCB0aGUgbWFqb3JpdHkgb2Ygbm9kZXMvdm90ZXMgYXJlIGF2YWlsYWJsZQorYWdhaW4uCisKK0lm IHRoZSBjbHVzdGVyIGlzIG5vdCBxdW9yYXRlIGFuZCBjb25zaXN0cyBvZiBvbmx5IDIgbm9kZXMg d2l0aG91dCBhbgorYWRkaXRpb25hbCB4cmVmOnB2ZWNtX2V4dGVybmFsX3ZvdGVbUURldmljZV0s IHlvdSBtYXkgd2FudCB0byBwcm9jZWVkCit3aXRoIHRoZSBmb2xsb3dpbmcgc3RlcHMgdG8gdGVt cG9yYXJ5IG1ha2UgdGhlIGNsdXN0ZXIgZnVuY3Rpb25hbAorYWdhaW4uCisKKy4gQ2hlY2sgd2hl dGhlciB0aGUgZXhwZWN0ZWQgdm90ZXMgYXJlIGAyYC4KKysKIC0tLS0KLSMgcHZlc3IgZW5hYmxl IDEwMC0wCisjIHB2ZWNtIHN0YXR1cyB8IGdyZXAgdm90ZXMKIC0tLS0KIAotQ2hhbmdlIHRoZSBz Y2hlZHVsZSBpbnRlcnZhbCBvZiB0aGUgam9iIHdpdGggSUQgYDEwMC0wYCB0byBvbmNlIHBlciBo b3VyLgorLiBOb3cgeW91IGNhbiBlbmZvcmNlIHF1b3J1bSBvbiB0aGUgb25lIHJlbWFpbmluZyBu b2RlIGJ5IHJ1bm5pbmc6CisrCistLS0tCisjIHB2ZWNtIGV4cGVjdGVkIDEKKy0tLS0KKysKK1dB Uk5JTkc6IEF2b2lkIG1ha2luZyBjaGFuZ2VzIHRvIHRoZSBjbHVzdGVyIGluIHRoaXMgc3RhdGUg YXQgYWxsCitjb3N0cywgZm9yIGV4YW1wbGUgYWRkaW5nIG9yIHJlbW92aW5nIG5vZGVzLCBzdG9y YWdlcyBvciBndWVzdHMuIERlbGF5CitpdCB1bnRpbCB0aGUgc2Vjb25kIG5vZGUgaXMgYXZhaWxh YmxlIGFnYWluIGFuZCBleHBlY3RlZCB2b3RlcyBoYXZlCitiZWVuIGF1dG9tYXRpY2FsbHkgcmVz dG9yZWQgdG8gYDJgLgorCitbW3B2ZXNyX21vdmVfYV9ndWVzdF1dCisuU3RlcCAzOiBNb3ZlIGEg R3Vlc3QKIAorLiBVc2UgU1NIIHRvIGNvbm5lY3QgdG8gYW55IG5vZGUgdGhhdCBpcyBwYXJ0IG9m IHRoZSBjbHVzdGVyIG1ham9yaXR5LgorQWx0ZXJuYXRpdmVseSwgZ28gdG8gdGhlIHdlYiBpbnRl cmZhY2UgYW5kIG9wZW4gdGhlIHNoZWxsIG9mIHN1Y2ggbm9kZQoraW4gYSBzZXBhcmF0ZSB3aW5k b3cgb3IgYnJvd3NlciB0YWIuCisrCisuIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBjb21tYW5kcyBt b3ZlIGEgVk1JRCBgMTAwMGAgYW5kIENUSUQgYDIwMDBgCitmcm9tIHRoZSBub2RlIG5hbWVkIGBw dmUtZmFpbGVkYCB0byBhIHN0aWxsIGF2YWlsYWJsZSByZXBsaWNhdGlvbgordGFyZ2V0IG5vZGUg bmFtZWQgYHB2ZS1yZXBsaWNhdGVkYC4KKysKKy0tLS0KKyMgY2QgL2V0Yy9wdmUvbm9kZXMvCisj IG12IHB2ZS1mYWlsZWQvcWVtdS1zZXJ2ZXIvMTAwMC5jb25mIHB2ZS1yZXBsaWNhdGVkL3FlbXUt c2VydmVyLworIyBtdiBwdmUtZmFpbGVkL2x4Yy8yMDAwLmNvbmYgcHZlLXJlcGxpY2F0ZWQvbHhj LworLS0tLQorKworLiBOb3cgeW91IGNhbiBzdGFydCB0aG9zZSBndWVzdHMgYWdhaW46CisrCiAt LS0tCi0jIHB2ZXNyIHVwZGF0ZSAxMDAtMCAtLXNjaGVkdWxlICcqLzAwJworIyBxbSBzdGFydCAx MDAwCisjIHBjdCBzdGFydCAyMDAwCiAtLS0tCisrCisuIElmIGl0IHdhcyBuZWNlc3NhcnkgdG8g ZW5mb3JjZSB0aGUgcXVvcnVtLCBhcyBkZXNjcmliZWQgd2hlbgordmVyaWZ5aW5nIHRoZSBjbHVz dGVyIGhlYWx0aCwgZG8gbm90IGZvcmdldCB0aGUgd2FybmluZyBhdCB0aGUgZW5kCithYm91dCBh dm9pZGluZyBjaGFuZ2VzIHRvIHRoZSBjbHVzdGVyLgogCiBpZmRlZjo6bWFudm9sbnVtW10KIGlu Y2x1ZGU6OnB2ZS1jb3B5cmlnaHQuYWRvY1tdCi0tIAoyLjM5LjUKCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHZlLWRldmVsIG1haWxpbmcgbGlzdApw dmUtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2kt YmluL21haWxtYW4vbGlzdGluZm8vcHZlLWRldmVsCg==