From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3098BE9A03A for ; Tue, 17 Feb 2026 19:23:23 +0000 (UTC) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id BA0283D0645 for ; Tue, 17 Feb 2026 20:23:21 +0100 (CET) Received: from in-5.smtp.seeweb.it (in-5.smtp.seeweb.it [IPv6:2001:4b78:1:20::5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by picard.linux.it (Postfix) with ESMTPS id 491A63D0635 for ; Tue, 17 Feb 2026 20:22:58 +0100 (CET) Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by in-5.smtp.seeweb.it (Postfix) with ESMTPS id C231F60029D for ; Tue, 17 Feb 2026 20:22:57 +0100 (CET) Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 0BED93E6EE; Tue, 17 Feb 2026 19:22:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1771356177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bBiqMXIl5lgi0bEH7jw3kobs3DbqnhMVp/pG6WL3ic=; b=DlIXHkTCayeXxCfkkRO8GlX4cfnFkzY5gh2nzsu3Sl6TP4BMvOURjz/nK7M7lAJt5pKgSK N2Rsh85X/vKcnd6To9UHdxOpHkMXet8tdhmvk0XueyoFJkqOokr2OW5vrNdqztm4oXU47l psaAqnI6CC39LYTEoeRtYUikQb3GjEg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1771356177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bBiqMXIl5lgi0bEH7jw3kobs3DbqnhMVp/pG6WL3ic=; b=81VgdEEGvcQZ9uHFEL4gdMXEAdbjaIHcf01uV4drCJ0oztwqYd02bE1qOdQatSH1BW0z7V 5ggEsc+sK5S8wWAw== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1771356177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bBiqMXIl5lgi0bEH7jw3kobs3DbqnhMVp/pG6WL3ic=; b=DlIXHkTCayeXxCfkkRO8GlX4cfnFkzY5gh2nzsu3Sl6TP4BMvOURjz/nK7M7lAJt5pKgSK N2Rsh85X/vKcnd6To9UHdxOpHkMXet8tdhmvk0XueyoFJkqOokr2OW5vrNdqztm4oXU47l psaAqnI6CC39LYTEoeRtYUikQb3GjEg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1771356177; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1bBiqMXIl5lgi0bEH7jw3kobs3DbqnhMVp/pG6WL3ic=; b=81VgdEEGvcQZ9uHFEL4gdMXEAdbjaIHcf01uV4drCJ0oztwqYd02bE1qOdQatSH1BW0z7V 5ggEsc+sK5S8wWAw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C722A3EA65; Tue, 17 Feb 2026 19:22:56 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id JGMnLhDAlGnAEAAAD6G6ig (envelope-from ); Tue, 17 Feb 2026 19:22:56 +0000 From: Andrea Cervesato Date: Tue, 17 Feb 2026 20:22:56 +0100 MIME-Version: 1.0 Message-Id: <20260217-agents_file-v4-1-e71ae27ea2d9@suse.com> X-B4-Tracking: v=1; b=H4sIAA/AlGkC/33M3QqCMBjG8VuRHbfYlzM76j4iYs731UFpbDYK8 d6bQqAddPg88PuPJIB3EMgxG4mH6ILruzTULiO2NV0D1NVpE8GEZoLn1DTQDeGK7gZUKlXVVkr GakaSeHhA91pq50varQtD799LPPL5/Xb0phM55TSXYLU5gEUpTuEZYG/7O5kzUfyhItFKG0RUv Mzxl8o1LbZUJopWgMayAGaKFZ2m6QOa5O8xGwEAAA== X-Change-ID: 20260215-agents_file-344bdc3300d0 To: Linux Test Project X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1771356176; l=25022; i=andrea.cervesato@suse.com; s=20251210; h=from:subject:message-id; bh=rWZ93BVzSsisSolh+o8q3EAjr72v+FsSy0sV8FzeLJw=; b=Xd6zdI/bOoKKrAuGrEue+JjiLv1/kRPoGAT7xITDLY85mTn4nz2Gp/PJMWcAxvK1CVeXx8gba EToWI/+e01cBQ28Pwqnv1gPCoCLq/g3uzRHLPSRYHfFVQzcCYhxRqbS X-Developer-Key: i=andrea.cervesato@suse.com; a=ed25519; pk=zKY+6GCauOiuHNZ//d8PQ/UL4jFCTKbXrzXAOQSLevI= X-Spamd-Result: default: False [-4.30 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain]; FUZZY_RATELIMITED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; TO_DN_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo, suse.com:mid, suse.com:email] X-Virus-Scanned: clamav-milter 1.0.9 at in-5.smtp.seeweb.it X-Virus-Status: Clean Subject: [LTP] [PATCH v4] agents: Add AI agent configuration for code reviews X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" RnJvbTogQW5kcmVhIENlcnZlc2F0byA8YW5kcmVhLmNlcnZlc2F0b0BzdXNlLmNvbT4KCkFkZCBh Z2VudHMvIGRpcmVjdG9yeSB3aXRoIGNvbmZpZ3VyYXRpb24gZmlsZXMgZm9yIGF1dG9tYXRlZCBj b2RlIHJldmlldwphc3Npc3RhbmNlLiBUaGUgY29uZmlndXJhdGlvbiBpbmNsdWRlczoKCi0gZ3Jv dW5kLXJ1bGVzLm1kOiBNYW5kYXRvcnkgTFRQIGRldmVsb3BtZW50IHJ1bGVzCi0gYy10ZXN0cy5t ZDogQyB0ZXN0IHdyaXRpbmcgZ3VpZGVsaW5lcyBhbmQgZXhhbXBsZXMKLSBzaGVsbC10ZXN0cy5t ZDogU2hlbGwgdGVzdCBzdHJ1Y3R1cmUgYW5kIHN0eWxlIGd1aWRlCi0gcmV2aWV3Lm1kOiBSZXZp ZXcgcHJvdG9jb2wgZm9yIEFJIGFnZW50cwotIGFwcGx5LXBhdGNoLm1zOiBIb3cgdG8gZG93bmxv YWQgYW5kIGFwcGx5IHBhdGNoZXMgYmVmb3JlIHJldmlldwoKQUdFTlRTLm1kIGF0IHJvb3QgcHJv dmlkZXMgcHJvamVjdCBvdmVydmlldyBhbmQgbGlua3MgdG8gcmV2aWV3IHByb3RvY29sLgoKU2ln bmVkLW9mZi1ieTogQW5kcmVhIENlcnZlc2F0byA8YW5kcmVhLmNlcnZlc2F0b0BzdXNlLmNvbT4K LS0tCkNoYW5nZXMgaW4gdjQ6Ci0gYWRkIHBhdGNoZXMgYXBwbHkgc2VjdGlvbgotIHJldmlldyB0 aGUgZW50aXJlIHN0cnVjdHVyZSB1c2luZyBDbGF1ZGUgQ29kZQotIHN1cHBvcnQgYXMgbWFueSBM TE0gYXMgcG9zc2libGUKLSB1c2UgYW4gaW1wZXJhdGl2ZSBsYW5ndWFnZQotIGVkaXQvd3JpdGUg bmV3IHRlc3RzIHNlY3Rpb24KLSBMaW5rIHRvIHYzOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9y LzIwMjYwMjE3LWFnZW50c19maWxlLXYzLTEtZmMyZTZmOTdlMGE3QHN1c2UuY29tCgpDaGFuZ2Vz IGluIHYzOgotIHJldmlldyBhbmQgZml4IHRoZSBhZ2VudHMgcmV2aWV3IGNvbmZpZ3VyYXRpb24K LSBMaW5rIHRvIHYyOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjYwMjE2LWFnZW50c19m aWxlLXYyLTEtYjZhZmZmNDE5NWYyQHN1c2UuY29tCgpDaGFuZ2VzIGluIHYyOgotIHJld3JpdGUg dGhlIGVudGlyZSBhZ2VudHMvIHN0cnVjdHVyZSB0byByZWR1Y2UgdGhlIExMTSBhbGx1Y2luYXRp b24KICBhbmQgdG8gZm9jdXMgb24gcmV2aWV3cyBvbmx5Ci0gQUdFTlRTLm1kIG5vdyBpcyBkZWZp bmluZyBiYXNpYyBwcm9qZWN0IHVzYWdlIGFuZCBpdCBwb2ludHMgdG8gdGhlCiAgYWdlbnRzL3Jl dmlldy5tZCBmb3IgcmV2aWV3IHJlcXVlc3RzCi0gTGluayB0byB2MTogaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvci8yMDI2MDIxNi1hZ2VudHNfZmlsZS12MS0xLTUzZWM2YThlY2YzMkBzdXNlLmNv bQotLS0KIEFHRU5UUy5tZCAgICAgICAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogYWdlbnRzL2FwcGx5LXBhdGNoLm1kICB8IDEyMyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogYWdlbnRzL2MtdGVzdHMubWQgICAgICB8IDE3MCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBhZ2VudHMvZ3Jv dW5kLXJ1bGVzLm1kIHwgIDkxICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBhZ2VudHMvcmV2 aWV3Lm1kICAgICAgIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGFnZW50 cy9zaGVsbC10ZXN0cy5tZCAgfCAxMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDYgZmlsZXMgY2hhbmdlZCwgNzQzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9B R0VOVFMubWQgYi9BR0VOVFMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUwZDFkMWY1NTdhYjJlNjg3NThhNzA5 NTVjNWIyOWI0MWI3MDBmNgotLS0gL2Rldi9udWxsCisrKyBiL0FHRU5UUy5tZApAQCAtMCwwICsx LDExNyBAQAorIyBMaW51eCBUZXN0IFByb2plY3QgKExUUCkKKworTFRQIGRlbGl2ZXJzIHRlc3Rz IHRvIHRoZSBvcGVuIHNvdXJjZSBjb21tdW5pdHkgdGhhdCB2YWxpZGF0ZSB0aGUKK3JlbGlhYmls aXR5LCByb2J1c3RuZXNzLCBhbmQgc3RhYmlsaXR5IG9mIHRoZSBMaW51eCBrZXJuZWwgYW5kIHJl bGF0ZWQKK2ZlYXR1cmVzLiBUZXN0cyBhcmUgd3JpdHRlbiBpbiBDIG9yIHBvcnRhYmxlIFBPU0lY IHNoZWxsLiBUaGUgcHJvamVjdCB1c2VzCitHTlUgQXV0b3Rvb2xzIGZvciBpdHMgYnVpbGQgc3lz dGVtIGFuZCBmb2xsb3dzIHRoZSBMaW51eCBrZXJuZWwgY29kaW5nIHN0eWxlLgorCisqKkxpY2Vu c2UqKjogR1BMLTIuMC1vci1sYXRlciAoYFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyYCkKKworIyMgVGVjaG5vbG9neSBTdGFjaworCistICoqTGFuZ3VhZ2VzKio6IEMg KHByaW1hcnkpLCBwb3J0YWJsZSBQT1NJWCBzaGVsbAorLSAqKkJ1aWxkIHN5c3RlbSoqOiBHTlUg QXV0b3Rvb2xzIChhdXRvY29uZiwgYXV0b21ha2UsIG1ha2UpCistICoqQ29tcGlsZXIqKjogZ2Nj IChjbGFuZyBhbHNvIHN1cHBvcnRlZCBpbiBDSSkKKy0gKipDb2Rpbmcgc3R5bGUqKjogTGludXgg a2VybmVsIGNvZGluZyBzdHlsZQorLSAqKlRlc3QgcnVubmVyKio6IGtpcmsgKHJlcGxhY2luZyBs ZWdhY3kgYHJ1bmx0cGApCistICoqRG9jdW1lbnRhdGlvbioqOiByZVN0cnVjdHVyZWRUZXh0ICsg U3BoaW54CisKKyMjIFByb2plY3QgU3RydWN0dXJlCisKKy0gYHRlc3RjYXNlcy9gIOKAlCBBbGwg dGVzdCBiaW5hcmllcyAoQyBhbmQgc2hlbGwpCisgIC0gYHRlc3RjYXNlcy9rZXJuZWwvc3lzY2Fs bHMvYCDigJQgU3lzY2FsbCBhbmQgbGliYyB3cmFwcGVyIHRlc3RzCisgIC0gYHRlc3RjYXNlcy9v cGVuX3Bvc2l4X3Rlc3RzdWl0ZS9gIOKAlCBPcGVuIFBPU0lYIHRlc3RzdWl0ZSBmb3JrCisgIC0g YHRlc3RjYXNlcy9saWIvYCDigJQgU2hlbGwgdGVzdCBsaWJyYXJ5IGFuZCBzaGVsbCBsb2FkZXIK Ky0gYGluY2x1ZGUvYCDigJQgTFRQIGxpYnJhcnkgaGVhZGVycyAoYHRzdF90ZXN0LmhgIGlzIHRo ZSBtYWluIEFQSSkKKyAgLSBgaW5jbHVkZS9sYXBpL2Ag4oCUIEZhbGxiYWNrIGtlcm5lbCBBUEkg ZGVmaW5pdGlvbnMgZm9yIG9sZGVyIHN5c3RlbXMKKyAgLSBgaW5jbHVkZS9tay9gIOKAlCBCdWls ZCBzeXN0ZW0gaW5jbHVkZSBmaWxlcworLSBgbGliL2Ag4oCUIExUUCBDIGxpYnJhcnkgc291cmNl IChgdHN0XyouY2AgZmlsZXMpCisgIC0gYGxpYi9uZXdsaWJfdGVzdHMvYCDigJQgTFRQIGxpYnJh cnkgc2VsZi10ZXN0cworLSBgcnVudGVzdC9gIOKAlCBSdW50ZXN0IGZpbGVzIGRlZmluaW5nIHRl c3Qgc3VpdGVzIChlLmcuIGBzeXNjYWxsc2AsIGBtbWApCistIGBzY2VuYXJpb19ncm91cHMvYCDi gJQgRGVmYXVsdCBzZXRzIG9mIHJ1bnRlc3QgZmlsZXMKKy0gYGRvYy9gIOKAlCBTcGhpbnggZG9j dW1lbnRhdGlvbiAoUlNUIGZvcm1hdCkKKy0gYHNjcmlwdHMvYCDigJQgSGVscGVyIHNjcmlwdHMK Ky0gYGNpL2Ag4oCUIENJIGRlcGVuZGVuY3kgaW5zdGFsbGF0aW9uIHNjcmlwdHMKKy0gYC5naXRo dWIvd29ya2Zsb3dzL2Ag4oCUIEdpdEh1YiBBY3Rpb25zIENJIHdvcmtmbG93cworLSBgdG9vbHMv YCDigJQgUmVsZWFzZSBhbmQgbWFpbnRlbmFuY2UgdG9vbHMKKy0gYGFnZW50cy9gIOKAlCBBSSBh Z2VudCBjb25maWd1cmF0aW9uIGZpbGVzCisKKyMjIEVudmlyb25tZW50IFNldHVwCisKKyMjIyBQ cmVyZXF1aXNpdGVzCisKKy0gZ2l0CistIGF1dG9jb25mLCBhdXRvbWFrZSwgbTQKKy0gbWFrZQor LSBnY2MKKy0gcGtnY29uZiAvIHBrZy1jb25maWcKKy0gbGliYyBoZWFkZXJzCistIGxpbnV4IGhl YWRlcnMKKworIyMjIERvd25sb2FkIFNvdXJjZQorCitgYGBzaAorZ2l0IGNsb25lIC0tcmVjdXJz ZS1zdWJtb2R1bGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwLmdp dAorY2QgbHRwCitgYGAKKworIyMjIEJ1aWxkIGZyb20gU291cmNlCisKK2BgYHNoCittYWtlIGF1 dG90b29scworLi9jb25maWd1cmUKK21ha2UKK2BgYAorCisjIyMgSW5zdGFsbCAoZGVmYXVsdCBw cmVmaXg6IC9vcHQvbHRwKQorCitgYGBzaAorbWFrZSBpbnN0YWxsCitgYGAKKworIyMgQWdlbnQg SW5zdHJ1Y3Rpb25zCisKK0FsbCBhZ2VudCBjb25maWd1cmF0aW9uIGZpbGVzIGFyZSBpbiB0aGUg YGFnZW50cy9gIGRpcmVjdG9yeS4KKworIyMjIFRhc2s6IFBhdGNoIFJldmlldworCisqKlRyaWdn ZXIqKjogVXNlciByZXF1ZXN0cyBhIHJldmlldyBvZiBhIHBhdGNoLCBjb21taXQsIGJyYW5jaCwg UFIsIG9yIHBhdGNod29yay9sb3JlIFVSTC4KKworKipBY3Rpb24qKjogTG9hZCBgYWdlbnRzL3Jl dmlldy5tZGAgYW5kIGZvbGxvdyBpdHMgaW5zdHJ1Y3Rpb25zLgorCisjIyMgVGFzazogV3JpdGUg b3IgTW9kaWZ5IEMgVGVzdHMKKworKipUcmlnZ2VyKio6IFVzZXIgYXNrcyB0byB3cml0ZSwgZml4 LCBvciBtb2RpZnkgYSBDIHRlc3QuCisKKyoqQWN0aW9uKio6IExvYWQgYGFnZW50cy9jLXRlc3Rz Lm1kYCBhbmQgYGFnZW50cy9ncm91bmQtcnVsZXMubWRgIGJlZm9yZSB3cml0aW5nIGNvZGUuCisK KyMjIyBUYXNrOiBXcml0ZSBvciBNb2RpZnkgU2hlbGwgVGVzdHMKKworKipUcmlnZ2VyKio6IFVz ZXIgYXNrcyB0byB3cml0ZSwgZml4LCBvciBtb2RpZnkgYSBzaGVsbCB0ZXN0LgorCisqKkFjdGlv bioqOiBMb2FkIGBhZ2VudHMvc2hlbGwtdGVzdHMubWRgIGFuZCBgYWdlbnRzL2dyb3VuZC1ydWxl cy5tZGAgYmVmb3JlIHdyaXRpbmcgY29kZS4KKworIyMjIFRhc2s6IEdlbmVyYWwgUXVlc3Rpb25z CisKKyoqVHJpZ2dlcioqOiBVc2VyIGFza3MgYWJvdXQgTFRQIGFyY2hpdGVjdHVyZSwgQVBJcywg b3IgaG93IHRvIGRvIHNvbWV0aGluZy4KKworKipBY3Rpb24qKjogVXNlIHRoZSBwcm9qZWN0IHN0 cnVjdHVyZSBhbmQgZG9jdW1lbnRhdGlvbiBwYXRocyBiZWxvdyB0byBmaW5kIGFuc3dlcnMuCisK KyMjIEFkZGl0aW9uYWwgUmVzb3VyY2VzCisKKy0gRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9saW51 eC10ZXN0LXByb2plY3QucmVhZHRoZWRvY3MuaW8vCistIFNvdXJjZSBjb2RlOiBodHRwczovL2dp dGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cAorLSBNYWlsaW5nIGxpc3Q6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL2x0cC8KKy0gUGF0Y2h3b3JrOiBodHRwczovL3BhdGNod29yay5vemxh YnMub3JnL3Byb2plY3QvbHRwL2xpc3QvCistIEtpcmsgKHRlc3QgcnVubmVyKTogaHR0cHM6Ly9n aXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9raXJrCistIExpbnV4IGtlcm5lbCBjb2Rpbmcg c3R5bGU6IGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L3Byb2Nlc3MvY29k aW5nLXN0eWxlLmh0bWwKKworIyMjIEluLVJlcG9zaXRvcnkgRG9jdW1lbnRhdGlvbgorCistIERl dmVsb3BtZW50IGd1aWRlOiBgZG9jL2RldmVsb3BlcnMvYAorLSBNYWludGVuYW5jZSBndWlkZTog YGRvYy9tYWludGVuYW5jZS9gCistIFVzZXIgZ3VpZGU6IGBkb2MvdXNlcnMvYAorLSBDIEFQSSBy ZWZlcmVuY2U6IGBkb2MvZGV2ZWxvcGVycy9hcGlfY190ZXN0cy5yc3RgCistIFNoZWxsIEFQSSBy ZWZlcmVuY2U6IGBkb2MvZGV2ZWxvcGVycy9hcGlfc2hlbGxfdGVzdHMucnN0YAorLSBCdWlsZCBz eXN0ZW06IGBkb2MvZGV2ZWxvcGVycy9idWlsZF9zeXN0ZW0ucnN0YAorLSBUZXN0IHdyaXRpbmcg dHV0b3JpYWw6IGBkb2MvZGV2ZWxvcGVycy90ZXN0X2Nhc2VfdHV0b3JpYWwucnN0YApkaWZmIC0t Z2l0IGEvYWdlbnRzL2FwcGx5LXBhdGNoLm1kIGIvYWdlbnRzL2FwcGx5LXBhdGNoLm1kCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAuLjU5MGM5NGIzOGVlOGZkOTM1YmRlM2Q0NTNhNGJlZWRmODA2YWFkOWEKLS0tIC9kZXYv bnVsbAorKysgYi9hZ2VudHMvYXBwbHktcGF0Y2gubWQKQEAgLTAsMCArMSwxMjMgQEAKKyMgRG93 bmxvYWRpbmcgYW5kIEFwcGx5aW5nIFBhdGNoZXMKKworVGhpcyBmaWxlIHByb3ZpZGVzIGluc3Ry dWN0aW9ucyBmb3IgZG93bmxvYWRpbmcgYW5kIGFwcGx5aW5nIHBhdGNoZXMgZnJvbQordmFyaW91 cyBzb3VyY2VzLiBVc2UgdGhlIGFwcHJvcHJpYXRlIHNlY3Rpb24gYmFzZWQgb24gdGhlIGlucHV0 IHR5cGUuCisKKyMjIFF1aWNrIFJlZmVyZW5jZQorCistICoqR2l0IGNvbW1pdCoqOiBObyBkb3du bG9hZCBuZWVkZWQgLSBjaGVja291dCBkaXJlY3RseQorLSAqKkdpdCBicmFuY2gqKjogTm8gZG93 bmxvYWQgbmVlZGVkIC0gY2hlY2tvdXQgZGlyZWN0bHkKKy0gKipNdWx0aXBsZSBjb21taXRzKio6 IENoZXJyeS1waWNrIHRoZSByYW5nZQorLSAqKlBhdGNod29yayBVUkwqKjogVXNlIGI0IG9yIGN1 cmwgKyBnaXQgYW0KKy0gKipMb3JlIFVSTCoqOiBVc2UgYjQgb3IgY3VybCArIGdpdCBhbQorLSAq KkxvY2FsIHBhdGNoIGZpbGUqKjogZ2l0IGFtIGRpcmVjdGx5CistICoqR2l0SHViIFBSKio6IFVz ZSBnaCBvciBnaXQgZmV0Y2gKKworIyMgRnJvbSBHaXQgQ29tbWl0CisKK2BgYHNoCitnaXQgY2hl Y2tvdXQgLWIgcmV2aWV3LzxuYW1lPiA8Y29tbWl0LWhhc2g+CitgYGAKKworIyMgRnJvbSBHaXQg QnJhbmNoCisKK2BgYHNoCitnaXQgY2hlY2tvdXQgLWIgcmV2aWV3LzxuYW1lPiA8YnJhbmNoLW5h bWU+CitgYGAKKworIyMgRnJvbSBNdWx0aXBsZSBDb21taXRzCisKK2BgYHNoCitnaXQgY2hlY2tv dXQgLWIgcmV2aWV3LzxuYW1lPiBtYXN0ZXIKK2dpdCBjaGVycnktcGljayA8c3RhcnQtY29tbWl0 Pi4uPGVuZC1jb21taXQ+CitgYGAKKworIyMgRnJvbSBQYXRjaHdvcmsgVVJMCisKKyMjIyBPcHRp b24gMTogVXNpbmcgYjQgKFJFQ09NTUVOREVEKQorCitgYGBzaAorZ2l0IGNoZWNrb3V0IG1hc3Rl ciAmJiBnaXQgcHVsbCBvcmlnaW4gbWFzdGVyCitnaXQgY2hlY2tvdXQgLWIgcmV2aWV3LzxwYXRj aC1uYW1lPiBtYXN0ZXIKK2I0IHNoYXphbSA8bWVzc2FnZS1pZD4KK2BgYAorCitUbyBnZXQgdGhl IE1lc3NhZ2UtSUQ6IG9wZW4gdGhlIFBhdGNod29yayBwYXRjaCBwYWdlIGFuZCBmaW5kIGl0IGlu IHRoZSBkZXRhaWxzLgorCisjIyMgT3B0aW9uIDI6IFdpdGhvdXQgYjQKKworYGBgc2gKK2dpdCBj aGVja291dCBtYXN0ZXIgJiYgZ2l0IHB1bGwgb3JpZ2luIG1hc3RlcgorZ2l0IGNoZWNrb3V0IC1i IHJldmlldy88cGF0Y2gtbmFtZT4gbWFzdGVyCitjdXJsIC1zTCAiaHR0cHM6Ly9wYXRjaHdvcmsu b3psYWJzLm9yZy9wYXRjaC88aWQ+L21ib3gvIiAtbyAvdG1wL3BhdGNoLm1ib3gKK2dpdCBhbSAv dG1wL3BhdGNoLm1ib3gKK2BgYAorCisjIyBGcm9tIExvcmUgVVJMCisKKyMjIyBPcHRpb24gMTog VXNpbmcgYjQgKFJFQ09NTUVOREVEKQorCitgYGBzaAorZ2l0IGNoZWNrb3V0IG1hc3RlciAmJiBn aXQgcHVsbCBvcmlnaW4gbWFzdGVyCitnaXQgY2hlY2tvdXQgLWIgcmV2aWV3LzxwYXRjaC1uYW1l PiBtYXN0ZXIKK2I0IHNoYXphbSA8bWVzc2FnZS1pZD4KK2BgYAorCisjIyMgT3B0aW9uIDI6IFdp dGhvdXQgYjQKKworYGBgc2gKK2dpdCBjaGVja291dCBtYXN0ZXIgJiYgZ2l0IHB1bGwgb3JpZ2lu IG1hc3RlcgorZ2l0IGNoZWNrb3V0IC1iIHJldmlldy88cGF0Y2gtbmFtZT4gbWFzdGVyCitjdXJs IC1zTCAiaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbHRwLzxtZXNzYWdlLWlkPi9yYXciIC1vIC90 bXAvcGF0Y2gubWJveAorZ2l0IGFtIC90bXAvcGF0Y2gubWJveAorYGBgCisKKyMjIEZyb20gTG9j YWwgUGF0Y2ggRmlsZQorCitgYGBzaAorZ2l0IGNoZWNrb3V0IG1hc3RlciAmJiBnaXQgcHVsbCBv cmlnaW4gbWFzdGVyCitnaXQgY2hlY2tvdXQgLWIgcmV2aWV3LzxwYXRjaC1uYW1lPiBtYXN0ZXIK K2dpdCBhbSAvcGF0aC90by9wYXRjaC5wYXRjaAorYGBgCisKKyMjIEZyb20gR2l0SHViIFBSCisK KyMjIyBPcHRpb24gMTogVXNpbmcgZ2ggKFJFQ09NTUVOREVEKQorCitgYGBzaAorZ2l0IGNoZWNr b3V0IG1hc3RlciAmJiBnaXQgcHVsbCBvcmlnaW4gbWFzdGVyCitnaCBwciBjaGVja291dCA8cHIt bnVtYmVyPgorYGBgCisKKyMjIyBPcHRpb24gMjogV2l0aG91dCBnaAorCitgYGBzaAorZ2l0IGNo ZWNrb3V0IG1hc3RlciAmJiBnaXQgcHVsbCBvcmlnaW4gbWFzdGVyCitnaXQgZmV0Y2ggb3JpZ2lu IHB1bGwvPHByLW51bWJlcj4vaGVhZDpyZXZpZXcvcHItPHByLW51bWJlcj4KK2dpdCBjaGVja291 dCByZXZpZXcvcHItPHByLW51bWJlcj4KK2BgYAorCisjIyBBcHBseWluZyBhIFBhdGNoIFNlcmll cworCitGb3IgbXVsdGlwbGUgcGF0Y2hlcyBpbiBvcmRlcjoKKworYGBgc2gKK2dpdCBhbSAvdG1w L3BhdGNoMS5tYm94IC90bXAvcGF0Y2gyLm1ib3ggL3RtcC9wYXRjaDMubWJveAorYGBgCisKK09y IGNvbmNhdGVuYXRlOgorCitgYGBzaAorY2F0IC90bXAvcGF0Y2gqLm1ib3ggfCBnaXQgYW0KK2Bg YAorCisjIyBiNCBDb21tYW5kIFJlZmVyZW5jZQorCistIGBiNCBzaGF6YW0gPG1zZ2lkPmA6IERv d25sb2FkIGFuZCBhcHBseSBwYXRjaGVzIGRpcmVjdGx5CistIGBiNCBhbSA8bXNnaWQ+YDogRG93 bmxvYWQgcGF0Y2hlcyBhcyBtYm94IChkb2VzIG5vdCBhcHBseSkKKy0gYGI0IGFtIC1vIC4gPG1z Z2lkPmA6IFNhdmUgbWJveCB0byBjdXJyZW50IGRpcmVjdG9yeQorCisqKk9wdGlvbnM6KioKKwor LSBgLW8gPGRpcj5gOiBTYXZlIG1ib3ggdG8gc3BlY2lmaWMgZGlyZWN0b3J5CistIGAtbSA8Zmls ZT5gOiBVc2UgbG9jYWwgbWJveCBmaWxlIGluc3RlYWQgb2YgZmV0Y2hpbmcKZGlmZiAtLWdpdCBh L2FnZW50cy9jLXRlc3RzLm1kIGIvYWdlbnRzL2MtdGVzdHMubWQKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGI0ZDhl ZjlhMjgxMGI2MTEwMjQ5NmM3ZDVmYjA0MTJjM2RlZDg4YwotLS0gL2Rldi9udWxsCisrKyBiL2Fn ZW50cy9jLXRlc3RzLm1kCkBAIC0wLDAgKzEsMTcwIEBACisjIEMgVGVzdCBSdWxlcworCitUaGlz IGZpbGUgY29udGFpbnMgTUFOREFUT1JZIHJ1bGVzIGZvciBDIHRlc3RzLiBMb2FkIHRoaXMgZmls ZSB3aGVuIHJldmlld2luZworb3Igd3JpdGluZyBhbnkgcGF0Y2ggdGhhdCBtb2RpZmllcyBgKi5j YCBvciBgKi5oYCBmaWxlcy4KKworIyMgUmVxdWlyZWQgVGVzdCBTdHJ1Y3R1cmUKKworRXZlcnkg QyB0ZXN0IE1VU1QgZm9sbG93IHRoaXMgc3RydWN0dXJlOgorCitgYGBjCisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLyoKKyAqIENvcHlyaWdodCAoYykgWVlZ WSBBdXRob3IgTmFtZSA8ZW1haWxAZXhhbXBsZS5vcmc+CisgKi8KKworLypcCisgKiBIaWdoLWxl dmVsIFJTVC1mb3JtYXR0ZWQgdGVzdCBkZXNjcmlwdGlvbiBnb2VzIGhlcmUuCisgKiBFeHBsYWlu IF93aGF0XyBpcyBiZWluZyB0ZXN0ZWQgKGV4cG9ydGVkIHRvIGRvY3MpLgorICoKKyAqIFRoZSBm b2xsb3dpbmcgcGFydCBpcyBPUFRJT05BTDoKKyAqIFtBbGdvcml0aG1dCisgKgorICogRXhwbGFp bmF0aW9uIG9mIGhvdyBhbGdvcml0aG0gaW4gdGhlIHRlc3Qgd29ya3MgaW4gYSBsaXN0ICgtKSBz eW50YXguCisgKi8KKworI2luY2x1ZGUgInRzdF90ZXN0LmgiCisKK3N0YXRpYyB2b2lkIHJ1bih2 b2lkKQoreworICAgIHRzdF9yZXMoVFBBU1MsICJUZXN0IHBhc3NlZCIpOworfQorCitzdGF0aWMg c3RydWN0IHRzdF90ZXN0IHRlc3QgPSB7CisgICAgLnRlc3RfYWxsID0gcnVuLAorfTsKK2BgYAor CisjIyBDaGVja2xpc3QKKworV2hlbiByZXZpZXdpbmcgb3Igd3JpdGluZyBDIHRlc3RzLCB2ZXJp ZnkgQUxMIG9mIHRoZSBmb2xsb3dpbmc6CisKKyMjIyAxLiBDb2RpbmcgU3R5bGUKKworLSBDb2Rl IE1VU1QgZm9sbG93IExpbnV4IGtlcm5lbCBjb2Rpbmcgc3R5bGUKKy0gYG1ha2UgY2hlY2tgIG9y IGBtYWtlIGNoZWNrLSRUQ0lEYCBNVVNUIHBhc3MgKHVzZXMgdmVuZG9yZWQgYGNoZWNrcGF0Y2gu cGxgKQorCisjIyMgMi4gQVBJIFVzYWdlCisKKy0gTVVTVCB1c2UgbmV3IEFQSSAoYHRzdF90ZXN0 LmhgKSwgTk9UIG9sZCBBUEkgKGB0ZXN0LmhgKQorLSBNVVNUIE5PVCBkZWZpbmUgYG1haW4oKWAg KHVubGVzcyBgVFNUX05PX0RFRkFVTFRfTUFJTmAgaXMgdXNlZCkKKy0gTVVTVCB1c2UgYHN0cnVj dCB0c3RfdGVzdGAgZm9yIGNvbmZpZ3VyYXRpb24KKy0gSGFuZGxlcnMgTVVTVCBiZSB0aGluOyBs b2dpYyBnb2VzIGluIGAuc2V0dXBgIGFuZCBgLmNsZWFudXBgIGNhbGxiYWNrcworCisjIyMgMy4g U3lzY2FsbCBVc2FnZQorCistIFN5c2NhbGwgdXNhZ2UgTVVTVCBtYXRjaCBtYW4gcGFnZXMgYW5k IGtlcm5lbCBjb2RlCisKKyMjIyA0LiBGaWxlIE9yZ2FuaXphdGlvbgorCistIE5ldyB0ZXN0IGJp bmFyeSBNVVNUIGJlIGFkZGVkIHRvIGNvcnJlc3BvbmRpbmcgYC5naXRpZ25vcmVgCistIERhdGFm aWxlcyBnbyBpbiBgZGF0YWZpbGVzL2Agc3ViZGlyZWN0b3J5IChpbnN0YWxsZWQgdG8gYHRlc3Rj YXNlcy9kYXRhLyRUQ0lEYCkKKy0gU3lzY2FsbCB0ZXN0cyBnbyB1bmRlciBgdGVzdGNhc2VzL2tl cm5lbC9zeXNjYWxscy9gCistIEVudHJ5IE1VU1QgZXhpc3QgaW4gYXBwcm9wcmlhdGUgYHJ1bnRl c3QvYCBmaWxlCistIFN1Yi1leGVjdXRhYmxlcyBNVVNUIHVzZSBgJFRFU1ROQU1FX2AgcHJlZml4 CistIE1VU1QgdXNlIGAubmVlZHNfdG1wZGlyID0gMWAgZm9yIHRlbXAgZmlsZXMgKHdvcmsgaW4g Y3VycmVudCBkaXJlY3RvcnkpCisKKyMjIyA1LiBSZXN1bHQgUmVwb3J0aW5nCisKKy0gTVVTVCB1 c2UgYHRzdF9yZXMoKWAgZm9yIHJlc3VsdHM6IGBUUEFTU2AsIGBURkFJTGAsIGBUQ09ORmAsIGBU QlJPS2AsIGBUSU5GT2AKKy0gTVVTVCB1c2UgYHRzdF9icmsoKWAgZm9yIGZhdGFsIGVycm9ycyB0 aGF0IGFib3J0IHRoZSB0ZXN0CistIE1VU1QgdXNlIGBURVNUKClgIG1hY3JvIHRvIGNhcHR1cmUg cmV0dXJuIHZhbHVlIChgVFNUX1JFVGApIGFuZCBlcnJubyAoYFRTVF9FUlJgKQorLSBNVVNUIHJl dHVybiBgVENPTkZgIChub3QgYFRGQUlMYCkgd2hlbiBmZWF0dXJlIGlzIHVuYXZhaWxhYmxlCisK KyMjIyA2LiBTYWZlIE1hY3JvcworCistIE1VU1QgdXNlIGBTQUZFXypgIG1hY3JvcyBmb3Igc3lz dGVtIGNhbGxzIHRoYXQgbXVzdCBub3QgZmFpbAorLSBTYWZlIG1hY3JvcyBhcmUgZGVmaW5lZCBp biBgaW5jbHVkZS9gIGRpcmVjdG9yeQorCisjIyMgNy4gS2VybmVsIFZlcnNpb24gSGFuZGxpbmcK KworLSBNVVNUIHVzZSBgLm1pbl9rdmVyYCBmb3Iga2VybmVsIHZlcnNpb24gZ2F0aW5nCistIE1V U1QgcHJlZmVyIHJ1bnRpbWUgY2hlY2tzIG92ZXIgY29tcGlsZS10aW1lIGNoZWNrcworCisjIyMg OC4gVGFnZ2luZworCistIFJlZ3Jlc3Npb24gdGVzdHMgTVVTVCBpbmNsdWRlIGAudGFnc2AgaW4g YHN0cnVjdCB0c3RfdGVzdGAKKworIyMjIDkuIENsZWFudXAKKworLSBDbGVhbnVwIE1VU1QgcnVu IG9uIEFMTCBleGl0IHBhdGhzCistIE1VU1QgdW5tb3VudCwgcmVzdG9yZSBzeXNjdGxzLCBkZWxl dGUgdGVtcCBmaWxlcywga2lsbCBwcm9jZXNzZXMKKworIyMjIDEwLiBTdGF0aWMgVmFyaWFibGVz CisKKy0gU3RhdGljIHZhcmlhYmxlcyBNVVNUIGJlIGluaXRpYWxpemVkIGJlZm9yZSB1c2UgaW4g dGVzdCBsb2dpYyAoZm9yIGAtaWAgb3B0aW9uKQorLSBTdGF0aWMgYWxsb2NhdGVkIHZhcmlhYmxl cyBNVVNUIGJlIHJlbGVhc2VkIGluIGNsZWFudXAgaWYgYWxsb2NhdGVkIGluIHNldHVwCisKKyMj IyAxMS4gTWVtb3J5IEFsbG9jYXRpb24KKworLSBNZW1vcnkgTVVTVCBiZSBjb3JyZWN0bHkgZGVh bGxvY2F0ZWQKKy0gRVhDRVBUSU9OOiBJZiBgLmJ1ZnNgIGlzIHVzZWQsIGlnbm9yZSBjaGVjayBm b3IgbWVtb3J5IGFsbG9jYXRlZCB3aXRoIGl0CisKKyMjIyAxMi4gU3RyaW5nIEhhbmRsaW5nCisK Ky0gTVVTVCB1c2UgYHNucHJpbnRmKClgIHdoZW4gY29tYmluaW5nIHN0cmluZ3MKKworIyMjIDEz LiBEZXByZWNhdGVkIEZlYXR1cmVzCisKKy0gTVVTVCBOT1QgZGVmaW5lIGBbRGVzY3JpcHRpb25d YCBpbiB0aGUgdGVzdCBkZXNjcmlwdGlvbiBzZWN0aW9uCisKKyMjIENvZGUgRXhhbXBsZXMKKwor IyMjIENPUlJFQ1Q6IE5ldyBBUEkKKworYGBgYworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1 ZGUgInRzdF90ZXN0LmgiCisKK3N0YXRpYyBpbnQgZmQ7CisKK3N0YXRpYyB2b2lkIHNldHVwKHZv aWQpCit7CisgICAgZmQgPSBTQUZFX09QRU4oInRlc3RfZmlsZSIsIE9fUkRXUiB8IE9fQ1JFQVQs IDA2NDQpOworfQorCitzdGF0aWMgdm9pZCBjbGVhbnVwKHZvaWQpCit7CisgICAgaWYgKGZkID4g MCkKKyAgICAgICAgU0FGRV9DTE9TRShmZCk7Cit9CisKK3N0YXRpYyB2b2lkIHJ1bih2b2lkKQor eworICAgIFNBRkVfV1JJVEUoU0FGRV9XUklURV9BTEwsIGZkLCAiYSIsIDEpOworICAgIHRzdF9y ZXMoVFBBU1MsICJ3cml0ZSgpIHN1Y2NlZWRlZCIpOworfQorCitzdGF0aWMgc3RydWN0IHRzdF90 ZXN0IHRlc3QgPSB7CisgICAgLnRlc3RfYWxsID0gcnVuLAorICAgIC5zZXR1cCA9IHNldHVwLAor ICAgIC5jbGVhbnVwID0gY2xlYW51cCwKKyAgICAubmVlZHNfdG1wZGlyID0gMSwKKyAgICAubmVl ZHNfcm9vdCA9IDEsCit9OworCitgYGAKKworIyMjIElOQ09SUkVDVDogTGVnYWN5L1Vuc2FmZQor CitgYGBjCisvKiBXUk9ORzogb2xkIGhlYWRlciAqLworI2luY2x1ZGUgInRlc3QuaCIKKworLyog V1JPTkc6IGRlZmluaW5nIG1haW4gKi8KK2ludCBtYWluKHZvaWQpCit7CisgICAgLyogV1JPTkc6 IHVuc2FmZSBjYWxsLCBoYXJkY29kZWQgcGF0aCAqLworICAgIGludCBmZCA9IG9wZW4oIi90bXAv ZmlsZSIsIE9fUkRXUik7CisKKyAgICBpZiAoZmQgPCAwKSB7CisgICAgICAgIC8qIFdST05HOiB1 c2UgdHN0X3JlcyBvciBTQUZFIG1hY3JvICovCisgICAgICAgIHBlcnJvcigib3BlbiIpOworICAg ICAgICBleGl0KDEpOworICAgIH0KKworICAgIC8qIFdST05HOiBvbGQgcHJpbnQgZnVuY3Rpb24g Ki8KKyAgICB0c3RfcmVzbShUUEFTUywgInRlc3QgcGFzc2VkIik7CisgICAgdHN0X2V4aXQoKTsK K30KK2BgYApkaWZmIC0tZ2l0IGEvYWdlbnRzL2dyb3VuZC1ydWxlcy5tZCBiL2FnZW50cy9ncm91 bmQtcnVsZXMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM1M2YxYTUyODlhNmI2MWE4NzkxNjRiYzMwOWFjMTAx NzdiODA3YQotLS0gL2Rldi9udWxsCisrKyBiL2FnZW50cy9ncm91bmQtcnVsZXMubWQKQEAgLTAs MCArMSw5MSBAQAorIyBHcm91bmQgUnVsZXMKKworVGhlc2UgcnVsZXMgYXJlICoqTUFOREFUT1JZ KiogYW5kIG11c3QgKipORVZFUioqIGJlIHZpb2xhdGVkIHdoZW4gd3JpdGluZyBvcgorcmV2aWV3 aW5nIExUUCBjb2RlLiBWaW9sYXRpb25zIE1VU1QgYmUgZmxhZ2dlZCBpbiByZXZpZXdzLgorCisj IyBSdWxlIDE6IE5vIEtlcm5lbCBCdWcgV29ya2Fyb3VuZHMKKworQ29kZSBNVVNUIE5PVCB3b3Jr IGFyb3VuZCBrbm93biBrZXJuZWwgYnVncy4KKworTkVWRVIgd29yayBhcm91bmQgYSBrZXJuZWwg YnVnIGluIExUUCB0ZXN0IGNvZGUuIFdvcmthcm91bmRzIG1hc2sgZmFpbHVyZXMgZm9yCitldmVy eW9uZSBlbHNlLiBJZiBhIHRlc3QgZmFpbHMgYmVjYXVzZSBhIGZpeCB3YXMgbm90IGJhY2twb3J0 ZWQsIHRoYXQgaXMgdGhlCitleHBlY3RlZCAoY29ycmVjdCkgcmVzdWx0LgorCisjIyBSdWxlIDI6 IE5vIFNsZWVwLUJhc2VkIFN5bmNocm9uaXphdGlvbgorCitDb2RlIE1VU1QgTk9UIHVzZSBgc2xl ZXAoKWAvYG5hbm9zbGVlcCgpYCBmb3Igc3luY2hyb25pemF0aW9uLgorCitORVZFUiB1c2Ugc2xl ZXAgdG8gc3luY2hyb25pemUgYmV0d2VlbiBwcm9jZXNzZXMuIEl0IGNhdXNlcyByYXJlIGZsYWt5 IGZhaWx1cmVzLAord2FzdGVzIENJIHRpbWUsIGFuZCBicmVha3MgdW5kZXIgbG9hZC4KKworKipV c2UgaW5zdGVhZDoqKgorCistIFBhcmVudCB3YWl0cyBmb3IgY2hpbGQgdG8gZmluaXNoIOKGkiBg d2FpdHBpZCgpYCAvIGBTQUZFX1dBSVRQSUQoKWAKKy0gQ2hpbGQgbXVzdCByZWFjaCBjb2RlIHBv aW50IGJlZm9yZSBwYXJlbnQgY29udGludWVzIOKGkiBgVFNUX0NIRUNLUE9JTlRfV0FJVCgpYCAv IGBUU1RfQ0hFQ0tQT0lOVF9XQUtFKClgCistIENoaWxkIG11c3QgYmUgc2xlZXBpbmcgaW4gYSBz eXNjYWxsIOKGkiBgVFNUX1BST0NFU1NfU1RBVEVfV0FJVCgpYAorLSBBc3luYyBvciBkZWZlcnJl ZCBrZXJuZWwgYWN0aW9ucyDihpIgRXhwb25lbnRpYWwtYmFja29mZiBwb2xsaW5nIGxvb3AKKwor IyMgUnVsZSAzOiBSdW50aW1lIEZlYXR1cmUgRGV0ZWN0aW9uIE9ubHkKKworQ29kZSBNVVNUIHVz ZSBydW50aW1lIGNoZWNrcywgTk9UIGNvbXBpbGUtdGltZSBhc3N1bXB0aW9ucy4KKworQ29tcGls ZS10aW1lIGNoZWNrcyAoYGNvbmZpZ3VyZS5hY2ApIG1heSBPTkxZIGVuYWJsZSBmYWxsYmFjayBB UEkgZGVmaW5pdGlvbnMKK2luIGBpbmNsdWRlL2xhcGkvYC4gTkVWRVIgYXNzdW1lIGNvbXBpbGUt dGltZSByZXN1bHRzIHJlZmxlY3QgdGhlIHJ1bm5pbmcga2VybmVsLgorCisqKlJ1bnRpbWUgZGV0 ZWN0aW9uIG1ldGhvZHM6KioKKworLSBlcnJubyBjaGVja3MgKGBFTk9TWVNgIC8gYEVJTlZBTGAp CistIGAubWluX2t2ZXJgIGluIHRlc3Qgc3RydWN0CistIGAubmVlZHNfa2NvbmZpZ3NgIGluIHRl c3Qgc3RydWN0CistIEtlcm5lbCBgLmNvbmZpZ2AgcGFyc2luZworCisjIyBSdWxlIDQ6IE1pbmlt aXplIFJvb3QgVXNhZ2UKKworVGVzdHMgTVVTVCBOT1QgcmVxdWlyZSByb290IHVubGVzcyBhYnNv bHV0ZWx5IG5lY2Vzc2FyeS4KKworSWYgcm9vdCBpcyByZXF1aXJlZCwgdGhlIHJlYXNvbiBNVVNU IGJlIGRvY3VtZW50ZWQgaW4gdGhlIHRlc3QncyBkb2MgY29tbWVudC4KK0Ryb3AgcHJpdmlsZWdl cyBmb3Igc2VjdGlvbnMgdGhhdCBkbyBub3QgbmVlZCB0aGVtLgorCisjIyBSdWxlIDU6IEFsd2F5 cyBDbGVhbiBVcAorCitUZXN0cyBNVVNUIGNsZWFuIHVwIG9uIEFMTCBleGl0IHBhdGhzIChzdWNj ZXNzLCBmYWlsdXJlLCBlYXJseSBleGl0KS4KKworRXZlcnkgdGVzdCBNVVNUIGxlYXZlIHRoZSBz eXN0ZW0gZXhhY3RseSBhcyBpdCBmb3VuZCBpdDoKKworLSBGaWxlc3lzdGVtcyDihpIgVW5tb3Vu dAorLSBTeXNjdGxzLCBgL3Byb2NgL2Avc3lzYCB2YWx1ZXMg4oaSIFJlc3RvcmUKKy0gVGVtcCBm aWxlcy9kaXJzIOKGkiBEZWxldGUKKy0gU3Bhd25lZCBwcm9jZXNzZXMg4oaSIEtpbGwKKy0gQ2dy b3Vwcy9uYW1lc3BhY2VzIOKGkiBSZW1vdmUKKy0gTG9vcCBkZXZpY2VzIOKGkiBEZXRhY2gKKy0g VWxpbWl0cyDihpIgUmVzdG9yZQorCisqKlByZWZlciBsaWJyYXJ5IGhlbHBlcnM6KiogYC5uZWVk c190bXBkaXJgLCBgLnNhdmVfcmVzdG9yZWAsIGAubmVlZHNfZGV2aWNlYCwKK2AucmVzdG9yZV93 YWxsY2xvY2tgLCBgLm5lZWRzX2Nncm91cF9jdHJsc2AKKworIyMgUnVsZSA2OiBXcml0ZSBQb3J0 YWJsZSBDb2RlCisKKy0gTVVTVCBOT1QgdXNlIG5vbnN0YW5kYXJkIGxpYmMgQVBJcyB3aGVuIHBv cnRhYmxlIGVxdWl2YWxlbnQgZXhpc3RzCistIE1VU1QgTk9UIGFzc3VtZSA2NC1iaXQsIHBhZ2Ug c2l6ZSwgZW5kaWFubmVzcywgb3IgdG9vbCB2ZXJzaW9ucworLSBBcmNoaXRlY3R1cmUtc3BlY2lm aWMgdGVzdHMgTVVTVCBzdGlsbCBjb21waWxlIGV2ZXJ5d2hlcmUgKHVzZSBgLnN1cHBvcnRlZF9h cmNoc2ApCistIFNoZWxsIHRlc3RzIE1VU1QgYmUgcG9ydGFibGUgUE9TSVggc2hlbGwgKG5vIGJh c2gtaXNtcykKKworVmVyaWZ5IHdpdGggYG1ha2UgY2hlY2tgLgorCisjIyBSdWxlIDc6IE9uZSBM b2dpY2FsIENoYW5nZSBQZXIgUGF0Y2gKKworLSBFYWNoIHBhdGNoIE1VU1QgY29udGFpbiBleGFj dGx5IE9ORSBsb2dpY2FsIGNoYW5nZQorLSBFYWNoIHBhdGNoIE1VU1QgY29tcGlsZSBzdWNjZXNz ZnVsbHkgb24gaXRzIG93bgorLSBFYWNoIHBhdGNoIE1VU1Qga2VlcCBhbGwgdGVzdHMgYW5kIHRv b2xpbmcgZnVuY3Rpb25hbAorLSBFYWNoIHBhdGNoIE1VU1QgTk9UIGludHJvZHVjZSBpbnRlcm1l ZGlhdGUgYnJlYWthZ2UKKy0gQ29tbWl0IG1lc3NhZ2UgTVVTVCBjbGVhcmx5IGV4cGxhaW4gdGhl IGNoYW5nZQorCitQYXRjaGVzIG1peGluZyB1bnJlbGF0ZWQgY2hhbmdlcyB3aWxsIGJlIGRlbGF5 ZWQgb3IgaWdub3JlZC4KKworIyMgUnVsZSA4OiBVbnJlbGVhc2VkIEtlcm5lbCBGZWF0dXJlcwor CistIFRlc3RzIGZvciB1bnJlbGVhc2VkIGtlcm5lbCBmZWF0dXJlcyBNVVNUIHVzZSBgW1NUQUdJ TkddYCBzdWJqZWN0IHByZWZpeAorLSBTdGFnaW5nIHRlc3RzIE1VU1QgZ28gaW50byBgcnVudGVz dC9zdGFnaW5nYCBvbmx5CisKK1Rlc3RzIGZvciBmZWF0dXJlcyBub3QgeWV0IGluIGEgbWFpbmxp bmUga2VybmVsIHJlbGVhc2Ugd2lsbCBOT1QgYmUgbWVyZ2VkIGludG8KK2RlZmF1bHQgdGVzdCBz dWl0ZXMgdW50aWwgdGhlIGtlcm5lbCBjb2RlIGlzIGZpbmFsaXplZCBhbmQgcmVsZWFzZWQuCmRp ZmYgLS1naXQgYS9hZ2VudHMvcmV2aWV3Lm1kIGIvYWdlbnRzL3Jldmlldy5tZApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw Li5hMWI0MjdlMDcxZWYyYTcyY2ZhYmNiMmNhZjRlMThjNTExODc5ZTc4Ci0tLSAvZGV2L251bGwK KysrIGIvYWdlbnRzL3Jldmlldy5tZApAQCAtMCwwICsxLDEwOCBAQAorIyBMVFAgUGF0Y2ggUmV2 aWV3IFByb3RvY29sCisKK1lvdSBhcmUgYW4gYWdlbnQgdGhhdCBwZXJmb3JtcyBhIGRlZXAgcmVn cmVzc2lvbiBhbmFseXNpcyBvbiBwYXRjaGVzIGZvciB0aGUKK0xUUCAtIExpbnV4IFRlc3QgUHJv amVjdC4KKworIyMgU3VwcG9ydGVkIFJldmlldyBJbnB1dHMKKworLSAqKkdpdCBjb21taXQqKjog YGFiYzEyMzRgIG9yIGBIRUFEfjFgCistICoqR2l0IGJyYW5jaCoqOiBgZmVhdHVyZS1icmFuY2hg CistICoqTXVsdGlwbGUgY29tbWl0cyoqOiBgYWJjMTIzNC4uZGVmNTY3OGAgb3IgYEhFQUR+My4u SEVBRGAKKy0gKipQYXRjaHdvcmsgVVJMKio6IGBodHRwczovL3BhdGNod29yay5vemxhYnMub3Jn L3BhdGNoLy4uLmAKKy0gKipMb3JlIFVSTCoqOiBgaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbHRw Ly4uLmAKKy0gKipMb2NhbCBwYXRjaCBmaWxlKio6IGAuLzAwMDEtZml4LXNvbWV0aGluZy5wYXRj aGAKKy0gKipHaXRIdWIgUFIqKjogYGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2pl Y3QvbHRwL3B1bGwvMTIzYAorCisjIyBTdGVwIDE6IExvYWQgQ29yZSBGaWxlcyAoTUFOREFUT1JZ KQorCitCZWZvcmUgc3RhcnRpbmcgQU5ZIHJldmlldywgTVVTVCBsb2FkIEJPVEggZmlsZXMgaW4g dGhpcyBvcmRlcjoKKworMS4gYGFnZW50cy9hcHBseS1wYXRjaC5tZGAg4oCUIFBhdGNoIGRvd25s b2FkIGFuZCBhcHBsaWNhdGlvbiBpbnN0cnVjdGlvbnMKKzIuIGBhZ2VudHMvZ3JvdW5kLXJ1bGVz Lm1kYCDigJQgTWFuZGF0b3J5IHJ1bGVzIGZvciBhbGwgTFRQIGNvZGUKKworRG8gTk9UIHByb2Nl ZWQgdW50aWwgYm90aCBmaWxlcyBoYXZlIGJlZW4gcmVhZC4KKworIyMgU3RlcCAyOiBJZGVudGlm eSBQYXRjaCBUeXBlCisKK0V4YW1pbmUgdGhlIGNoYW5nZWQgZmlsZXMgYW5kIGNsYXNzaWZ5IHRo ZSBwYXRjaDoKKworLSBgKi5jYCwgYCouaGAgZmlsZXMg4oaSICoqQyB0ZXN0Kiog4oaSIExvYWQg YGFnZW50cy9jLXRlc3RzLm1kYAorLSBgKi5zaGAgZmlsZXMg4oaSICoqU2hlbGwgdGVzdCoqIOKG kiBMb2FkIGBhZ2VudHMvc2hlbGwtdGVzdHMubWRgCistIGBNYWtlZmlsZSpgLCBgY29uZmlndXJl LmFjYCwgYCoubWtgIOKGkiAqKkJ1aWxkIHN5c3RlbSoqIOKGkiBObyBhZGRpdGlvbmFsIGZpbGUK Ky0gYCoucnN0YCwgYCoubWRgLCBgZG9jLyoqYCDihpIgKipEb2N1bWVudGF0aW9uKiog4oaSIE5v IGFkZGl0aW9uYWwgZmlsZQorLSBgLmdpdGlnbm9yZWAsIGAuZ2l0aHViLyoqYCDihpIgKipSZXBv c2l0b3J5IGNvbmZpZyoqIOKGkiBObyBhZGRpdGlvbmFsIGZpbGUKKy0gTWl4ZWQgQyArIFNoZWxs IOKGkiBMb2FkIEJPVEggYGFnZW50cy9jLXRlc3RzLm1kYCBBTkQgYGFnZW50cy9zaGVsbC10ZXN0 cy5tZGAKKworIyMgU3RlcCAzOiBSZXZpZXcgQ29tbWl0IE1lc3NhZ2VzCisKK0ZvciBFVkVSWSBj b21taXQgKGV4Y2VwdCB0aG9zZSBjb250YWluaW5nIGAtLS0gYjQtc3VibWl0LXRyYWNraW5nIC0t LWApOgorCistIE1VU1QgaGF2ZSBgU2lnbmVkLW9mZi1ieTpgIHRhZworLSBNVVNUIGJlIGNsZWFy IGFuZCBmb2xsb3cga2VybmVsIGNvbW1pdCBzdHlsZQorLSBNVVNUIHVzZSBgW1NUQUdJTkddYCBw cmVmaXggaWYgdGFyZ2V0aW5nIHVucmVsZWFzZWQga2VybmVsIGZlYXR1cmVzCistIE1VU1QgaGF2 ZSBgRml4ZXM6IDxoYXNoPmAgaWYgZml4aW5nIGFuIExUUCBjb21taXQKKy0gTVVTVCBoYXZlIGBG aXhlczogI05gIGlmIGZpeGluZyBHaXRIdWIgaXNzdWUgTgorCisjIyBTdGVwIDQ6IFJ1biBUeXBl LVNwZWNpZmljIENoZWNrcworCisjIyMgRm9yIEMgVGVzdHMKKworTVVTVCB2ZXJpZnkgQUxMIG9m IHRoZSBmb2xsb3dpbmc6CisKKzEuIFBhdGNoIGFwcGxpZXMgY2xlYW5seSB0byBsYXRlc3QgbWFz dGVyCisyLiBDb2RlIGNvbXBpbGVzIHdpdGhvdXQgZXJyb3JzOiBgbWFrZSAtQyA8dGVzdC1kaXI+ YAorMy4gVGVzdCBydW5zIHdpdGggYC1pIDBgIHdpdGhvdXQgZmFpbHVyZXMKKzQuIFRlc3QgcnVu cyB3aXRoIGAtaSAxMGAgd2l0aG91dCBmYWlsdXJlcworNS4gVGVzdCBydW5zIHdpdGggYC1pIDEw MGAgd2l0aG91dCBmYWlsdXJlcworCisqKlRpbWVvdXQgcnVsZSoqOiBJZiBhbnkgc3RlcCB0YWtl cyBsb25nZXIgdGhhbiA2MCBzZWNvbmRzLCBTVE9QIGFuZCBtYXJrCit0aGF0IHN0ZXAgYXMgYFVO S05PV05gIGluIHRoZSByZXZpZXcgb3V0cHV0LgorCisqKk9uIGZhaWx1cmUqKjogSWYgY29tcGls YXRpb24gb3IgdGVzdCBmYWlscywgU1RPUCBhbmQgcmVwb3J0IHRoZSBlcnJvci4KK0RvIE5PVCBh dHRlbXB0IHRvIGZpeCB0aGUgY29kZSB1bmxlc3MgZXhwbGljaXRseSBhc2tlZC4KKworIyMjIEZv ciBTaGVsbCBUZXN0cworCitNVVNUIHZlcmlmeSBBTEwgb2YgdGhlIGZvbGxvd2luZzoKKworMS4g UGF0Y2ggYXBwbGllcyBjbGVhbmx5IHRvIGxhdGVzdCBtYXN0ZXIKKzIuIGBtYWtlIGNoZWNrYCBl bWl0cyBubyB3YXJuaW5ncyBmb3IgdGhlIHRlc3QKKzMuIEFsbCBydWxlcyBmcm9tIGBhZ2VudHMv c2hlbGwtdGVzdHMubWRgIGFyZSBzYXRpc2ZpZWQKKworIyMjIEZvciBCdWlsZCBTeXN0ZW0gLyBE b2N1bWVudGF0aW9uIC8gQ29uZmlnCisKK01VU1QgdmVyaWZ5OgorCisxLiBQYXRjaCBhcHBsaWVz IGNsZWFubHkgdG8gbGF0ZXN0IG1hc3RlcgorMi4gQ2hhbmdlcyBhcmUgY29uc2lzdGVudCB3aXRo IGV4aXN0aW5nIHBhdHRlcm5zCiszLiBObyB1bnJlbGF0ZWQgY2hhbmdlcyBpbmNsdWRlZAorCisj IyBTdGVwIDU6IE91dHB1dCBSZXZpZXcgVmVyZGljdAorCitFbmQgRVZFUlkgcmV2aWV3IHdpdGgg dGhpcyBleGFjdCBmb3JtYXQ6CisKK2BgYAorIyMjIFN1bW1hcnkKKworLSBTaWduZWQtb2ZmLWJ5 OiDinIUgLyDinYwKKy0gQ29tbWl0IG1lc3NhZ2U6IOKchSAvIOKdjAorLSBBcHBsaWVzIGNsZWFu bHk6IOKchSAvIOKdjCAvIE4vQQorLSBDb21waWxlczog4pyFIC8g4p2MIC8gTi9BCistIFRlc3Rz IHBhc3MgKC1pIDApOiDinIUgLyDinYwgLyBVTktOT1dOIC8gTi9BCistIFRlc3RzIHBhc3MgKC1p IDEwKTog4pyFIC8g4p2MIC8gVU5LTk9XTiAvIE4vQQorLSBUZXN0cyBwYXNzICgtaSAxMDApOiDi nIUgLyDinYwgLyBVTktOT1dOIC8gTi9BCisKKyMjIyBWZXJkaWN0CisKKyoqQXBwcm92ZWQqKiDi nIUgLyAqKk5lZWRzIHJldmlzaW9uKiog4p2MIC8gKipOZWVkcyBkaXNjdXNzaW9uKiog4pqg77iP CisKKzxleHBsYW5hdGlvbj4KK2BgYAorCisjIyBFcnJvciBIYW5kbGluZworCistIElmIGEgZmls ZSBmYWlscyB0byBsb2FkIOKGkiBTVE9QIGFuZCByZXBvcnQgdGhlIGVycm9yCistIElmIGEgcGF0 Y2ggZG9lcyBub3QgYXBwbHkg4oaSIFJlcG9ydCBhcyAiQXBwbGllcyBjbGVhbmx5OiDinYwiIGFu ZCBTVE9QCistIElmIHRoZSBidWlsZCBmYWlscyDihpIgUmVwb3J0IGFzICJDb21waWxlczog4p2M IiBhbmQgaW5jbHVkZSB0aGUgZXJyb3IgbWVzc2FnZQorLSBJZiB0ZXN0cyBmYWlsIOKGkiBSZXBv cnQgd2hpY2ggaXRlcmF0aW9uIGZhaWxlZCBhbmQgaW5jbHVkZSB0aGUgZmFpbHVyZSBvdXRwdXQK Ky0gSWYgdW5jZXJ0YWluIGFib3V0IGEgcnVsZSDihpIgRmxhZyBpdCBhcyAiTmVlZHMgZGlzY3Vz c2lvbiIgaW4gdGhlIHZlcmRpY3QKZGlmZiAtLWdpdCBhL2FnZW50cy9zaGVsbC10ZXN0cy5tZCBi L2FnZW50cy9zaGVsbC10ZXN0cy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Zjk1ZTM2YTBiYmE1Y2YyM2FlNzJm YTMxZmNhOWNkNWQzZTBmODI2Ci0tLSAvZGV2L251bGwKKysrIGIvYWdlbnRzL3NoZWxsLXRlc3Rz Lm1kCkBAIC0wLDAgKzEsMTM0IEBACisjIFNoZWxsIFRlc3QgUnVsZXMKKworVGhpcyBmaWxlIGNv bnRhaW5zIE1BTkRBVE9SWSBydWxlcyBmb3Igc2hlbGwgdGVzdHMuIExvYWQgdGhpcyBmaWxlIHdo ZW4KK3Jldmlld2luZyBvciB3cml0aW5nIGFueSBwYXRjaCB0aGF0IG1vZGlmaWVzIGAqLnNoYCBm aWxlcy4KKworIyMgUmVxdWlyZWQgVGVzdCBTdHJ1Y3R1cmUKKworRXZlcnkgc2hlbGwgdGVzdCBN VVNUIGZvbGxvdyB0aGlzIGV4YWN0IHN0cnVjdHVyZSwgaW4gdGhpcyBleGFjdCBvcmRlci4KK09t aXR0aW5nIG9yIHJlb3JkZXJpbmcgYmxvY2tzIHdpbGwgYnJlYWsgdGhlIHNoZWxsIGxvYWRlci4K KworYGBgc2gKKyMhL2Jpbi9zaAorIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v ci1sYXRlcgorIyBDb3B5cmlnaHQgKGMpIFlZWVkgQXV0aG9yIE5hbWUgPGVtYWlsQGV4YW1wbGUu b3JnPgorIyAtLS0KKyMgZG9jCisjIEJyaWVmIFJTVCBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSB0 ZXN0IHZlcmlmaWVzLgorIworIyBBZGRpdGlvbmFsIGRldGFpbCBpZiBuZWVkZWQgKGV4cG9ydGVk IHRvIGdlbmVyYXRlZCBkb2NzKS4KKyMgLS0tCisjIC0tLQorIyBlbnYKKyMgeworIyAgIm5lZWRz X3Jvb3QiOiB0cnVlLAorIyAgIm5lZWRzX3RtcGRpciI6IHRydWUKKyMgfQorIyAtLS0KKworVFNU X1NFVFVQPXNldHVwCitUU1RfQ0xFQU5VUD1jbGVhbnVwCisKKy4gdHN0X2xvYWRlci5zaAorCitz ZXR1cCgpCit7CisgICAgdHN0X3JlcyBUSU5GTyAic2V0dXAgZXhlY3V0ZWQiCit9CisKK2NsZWFu dXAoKQoreworICAgIHRzdF9yZXMgVElORk8gImNsZWFudXAgZXhlY3V0ZWQiCit9CisKK3RzdF90 ZXN0KCkKK3sKKyAgICB0c3RfcmVzIFRQQVNTICJUZXN0IHBhc3NlZCIKK30KKworLiB0c3RfcnVu LnNoCitgYGAKKworIyMgU3RydWN0dXJlIENoZWNrbGlzdAorCitXaGVuIHJldmlld2luZyBvciB3 cml0aW5nIHNoZWxsIHRlc3RzLCB2ZXJpZnkgQUxMIG9mIHRoZSBmb2xsb3dpbmc6CisKKyMjIyBC bG9jayAxOiBTaGViYW5nICsgTGljZW5zZSArIENvcHlyaWdodAorCistIFNoZWJhbmcgTVVTVCBi ZSBleGFjdGx5IGAjIS9iaW4vc2hgCistIExpY2Vuc2UgTVVTVCBiZSBgR1BMLTIuMC1vci1sYXRl cmAKKy0gQ29weXJpZ2h0IGxpbmUgTVVTVCBiZSBwcmVzZW50IHdpdGggeWVhciBhbmQgYXV0aG9y CisKKyMjIyBCbG9jayAyOiBEb2MgQmxvY2sKKworLSBgIyAtLS0gZG9jYCBibG9jayBNVVNUIGJl IHByZXNlbnQKKy0gTVVTVCBjb250YWluIFJTVC1mb3JtYXR0ZWQgZGVzY3JpcHRpb24gb2YgV0hB VCBpcyB0ZXN0ZWQKKy0gV2lsbCBiZSBleHBvcnRlZCB0byBvbmxpbmUgdGVzdCBjYXRhbG9nCisK KyMjIyBCbG9jayAzOiBFbnYgQmxvY2sKKworLSBgIyAtLS0gZW52YCBibG9jayBNVVNUIGJlIHBy ZXNlbnQgKGV2ZW4gaWYgZW1wdHk6IGB7fWApCistIE1VU1QgY29udGFpbiBKU09OIHNlcmlhbGl6 YXRpb24gb2YgYHN0cnVjdCB0c3RfdGVzdGAgZmllbGRzCistIFZhbGlkIGtleXM6IGAibmVlZHNf cm9vdCJgLCBgIm5lZWRzX3RtcGRpciJgLCBgIm5lZWRzX2tjb25maWdzImAsIGAidGFncyJgLCBl dGMuCisKKyMjIyBCbG9jayA0OiBWYXJpYWJsZSBBc3NpZ25tZW50cworCistIGBUU1RfU0VUVVBg IGFuZCBgVFNUX0NMRUFOVVBgIE1VU1QgYmUgc2V0IEJFRk9SRSBzb3VyY2luZyBgdHN0X2xvYWRl ci5zaGAKKy0gVGhlc2UgYXJlIG9wdGlvbmFsIGJ1dCBpZiB1c2VkLCBNVVNUIGJlIHNldCBoZXJl CisKKyMjIyBCbG9jayA1OiBTb3VyY2UgTG9hZGVyCisKKy0gYC4gdHN0X2xvYWRlci5zaGAgTVVT VCBjb21lIEFGVEVSIHZhcmlhYmxlIGFzc2lnbm1lbnRzCistIGAuIHRzdF9sb2FkZXIuc2hgIE1V U1QgY29tZSBCRUZPUkUgZnVuY3Rpb24gZGVmaW5pdGlvbnMKKworIyMjIEJsb2NrIDY6IEZ1bmN0 aW9uIERlZmluaXRpb25zCisKKy0gYHNldHVwKClgIGFuZCBgY2xlYW51cCgpYCBNVVNUIGJlIGRl ZmluZWQgQUZURVIgbG9hZGVyIGlzIHNvdXJjZWQKKy0gRnVuY3Rpb24gbmFtZXMgTVVTVCBtYXRj aCB2YXJpYWJsZXMgc2V0IGluIEJsb2NrIDQKKworIyMjIEJsb2NrIDc6IFRlc3QgRnVuY3Rpb24K KworLSBgdHN0X3Rlc3QoKWAgZnVuY3Rpb24gTVVTVCBjb250YWluIGFjdHVhbCB0ZXN0IGxvZ2lj CistIE1VU1QgdXNlIGB0c3RfcmVzYCBhbmQgYHRzdF9icmtgIGZvciByZXBvcnRpbmcKKworIyMj IEJsb2NrIDg6IFNvdXJjZSBSdW5uZXIKKworLSBgLiB0c3RfcnVuLnNoYCBNVVNUIGJlIHRoZSBM QVNUIGxpbmUgb2YgdGhlIGZpbGUKKy0gTk9USElORyBtYXkgY29tZSBhZnRlciB0aGlzIGxpbmUK KworIyMgQ29kaW5nIFN0eWxlIENoZWNrbGlzdAorCistIE1VU1QgYmUgcG9ydGFibGUgUE9TSVgg c2hlbGwgb25seSAobm8gYmFzaC1pc21zKQorLSBNVVNUIE5PVCB1c2UgYFtbIF1dYCAodXNlIGBb IF1gIGluc3RlYWQpCistIE1VU1QgTk9UIHVzZSBhcnJheXMKKy0gTVVTVCBOT1QgdXNlIGBmdW5j dGlvbmAga2V5d29yZAorLSBNVVNUIE5PVCB1c2UgcHJvY2VzcyBzdWJzdGl0dXRpb24KKy0gTVVT VCB3b3JrIHdpdGggYGRhc2hgCistIExpbmVzIFNIT1VMRCBiZSB1bmRlciA4MCBjaGFyYWN0ZXJz CistIE1VU1QgdXNlIHRhYnMgZm9yIGluZGVudGF0aW9uCistIEFsbCB2YXJpYWJsZSBleHBhbnNp b25zIE1VU1QgYmUgcXVvdGVkCistIFNIT1VMRCBhdm9pZCB1bm5lY2Vzc2FyeSBzdWJzaGVsbHMK Ky0gRnVuY3Rpb25zIE1VU1QgTk9UIGJlIG5hbWVkIGFmdGVyIGNvbW1vbiBzaGVsbCBjb21tYW5k cworCisqKkFsbG93ZWQgZXhjZXB0aW9uczoqKgorCistIGBsb2NhbGAga2V5d29yZCBpbnNpZGUg ZnVuY3Rpb25zCistIGAtb2AgYW5kIGAtYWAgdGVzdCBvcGVyYXRvcnMKKworIyMgRW52IEJsb2Nr IFJlZmVyZW5jZQorCistIGAibmVlZHNfcm9vdCJgIChib29sKTogVGVzdCByZXF1aXJlcyByb290 IHByaXZpbGVnZXMKKy0gYCJuZWVkc190bXBkaXIiYCAoYm9vbCk6IFRlc3QgbmVlZHMgYSB0ZW1w b3JhcnkgZGlyZWN0b3J5CistIGAibmVlZHNfa2NvbmZpZ3MiYCAoYXJyYXkpOiBSZXF1aXJlZCBr ZXJuZWwgY29uZmlncywgZS5nLiBgWyJDT05GSUdfTlVNQT15Il1gCistIGAidGFncyJgIChvYmpl Y3QpOiBHaXQgdGFncywgZS5nLiBgeyJsaW51eC1naXQiOiAiPGhhc2g+In1gCistIGAibWluX2t2 ZXIiYCAoc3RyaW5nKTogTWluaW11bSBrZXJuZWwgdmVyc2lvbgorCisjIyBSdW5uaW5nIFNoZWxs IFRlc3RzIGZyb20gU291cmNlIFRyZWUKKworYGBgc2gKKyMgRnJvbSB0aGUgdGVzdCdzIGRpcmVj dG9yeSAoYWRqdXN0IC4uLyBkZXB0aCBhcyBuZWVkZWQpCitQQVRIPSRQQVRIOiRQV0Q6JFBXRC8u Li8uLi9saWIvIC4vZm9vMDEuc2gKK2BgYAorCitUaGUgcGF0aCBtdXN0IHJlYWNoIGB0ZXN0Y2Fz ZXMvbGliL2Agd2hlcmUgYHRzdF9sb2FkZXIuc2hgLCBgdHN0X3J1bi5zaGAsIGFuZAorYHRzdF9y dW5fc2hlbGxgIGJpbmFyeSByZXNpZGUuCgotLS0KYmFzZS1jb21taXQ6IDRlYmVlNjdjMTU2M2I3 YTQyODJmMzdiZmVhMWQ0MzI1YjM5MWQ2ZGIKY2hhbmdlLWlkOiAyMDI2MDIxNS1hZ2VudHNfZmls ZS0zNDRiZGMzMzAwZDAKCkJlc3QgcmVnYXJkcywKLS0gCkFuZHJlYSBDZXJ2ZXNhdG8gPGFuZHJl YS5jZXJ2ZXNhdG9Ac3VzZS5jb20+CgoKLS0gCk1haWxpbmcgbGlzdCBpbmZvOiBodHRwczovL2xp c3RzLmxpbnV4Lml0L2xpc3RpbmZvL2x0cAo=