From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id 600D83858D39; Tue, 11 Jan 2022 12:56:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 600D83858D39 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=suse.cz Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.cz Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 479A121129; Tue, 11 Jan 2022 12:56:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1641905795; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6/H/PF5Zm60WDjwcZtgvpLXUSDbvSj0pZalDPnckrB0=; b=nkpQqNdxce0H8mS5X6jfxg0LqkZmOjjKTyV74lZh1HUR0clMZ8GvUvLlJZYoRF6wQCZj6z ql8ifsYqtoZxACCItZw1N7BywzwGPIDGnXeNxvTLzR/3HktL6eczLrSQb/GWlCrHaiErmB haAU+y412+g9Rd4uFjYcu8xqkRPN5h4= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1641905795; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6/H/PF5Zm60WDjwcZtgvpLXUSDbvSj0pZalDPnckrB0=; b=rR+FUEQd1/SbxxaADk/2dJ3P1Kiye6CKkvMoWd10Ue64O4Lm3hIQRahz/LN9Oga6Mf7XfY D0ioHqWCdKrc2yBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 260F413DDA; Tue, 11 Jan 2022 12:56:35 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Zo4qCIN+3WFkNAAAMHmgww (envelope-from ); Tue, 11 Jan 2022 12:56:35 +0000 Content-Type: multipart/mixed; boundary="------------wSimAblyGDEtE5GVTakiz0rL" Message-ID: <57564370-7184-ef62-039e-60b150058fd8@suse.cz> Date: Tue, 11 Jan 2022 13:56:34 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: [PATCH] Mass rename of C++ .c files to .cc suffix Content-Language: en-US To: Martin Jambor , GCC Mailing List References: From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Cc: GCC Patches In-Reply-To: X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jan 2022 12:56:39 -0000 This is a multi-part message in MIME format. --------------wSimAblyGDEtE5GVTakiz0rL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello. I've got a patch series that does the renaming. It contains of 2 automatic scripts ([1] and [2]) that were run as: $ gcc-renaming-candidates.py gcc --rename && git commit -a -m 'Rename files.' && rename-gcc.py . -vv && git commit -a -m 'Automatic renaming' The first scripts does the renaming (with a couple of exceptions that are really C files) and saves the renamed files to a file. Then the file is then loaded and replacement of all the renamed files does happen for most of the GCC files ([2]). It basically replaces at \b${old_filename}\b with ${old_filename}c (with some exceptions). That corresponds to patch #1 and #2 and the patches are quite huge. The last piece are manual changes needed for Makefile.in, configure.ac and so on. The git branch can be seen here: https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;a=log;h=refs/users/marxin/heads/cc-renaming and pulled with: $ git fetch refs/users/marxin/heads/cc-renaming $ git co FETCH_HEAD Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Plus it survives build of all FEs (--enable-languages=all) on x86_64-linux-gnu and I've built all cross compilers. Thoughts? Martin [1] https://github.com/marxin/script-misc/blob/master/gcc-renaming-candidates.py [2] https://github.com/marxin/script-misc/blob/master/rename-gcc.py --------------wSimAblyGDEtE5GVTakiz0rL Content-Type: text/x-patch; charset=UTF-8; name="0003-Manual-changes-for-.cc-renaming.patch" Content-Disposition: attachment; filename="0003-Manual-changes-for-.cc-renaming.patch" Content-Transfer-Encoding: base64 RnJvbSA2NWJiMGM2YjAzZWQzOTQ2Njk0NzFiZWZlNTQ0ODI4NThkOTgyZWUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJ0aW4gTGlza2EgPG1saXNrYUBzdXNlLmN6PgpE YXRlOiBNb24sIDEwIEphbiAyMDIyIDExOjQ2OjU4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAz LzNdIE1hbnVhbCBjaGFuZ2VzIGZvciAuY2MgcmVuYW1pbmcuCgpnY2MvQ2hhbmdlTG9nOgoK CSogTWFrZWZpbGUuaW46IFJlbmFtZSAuYyBuYW1lcyB0byAuY2MuCgkqIGNvbmZpZy5nY2M6 IExpa2V3aXNlLgoJKiBjb25maWd1cmU6IFJlZ2VuZXJhdGUuIExpa2V3aXNlLgoJKiBjb25m aWd1cmUuYWM6IExpa2V3aXNlLgoJKiBnZW5ndHlwZS5jYyAoc2V0X2djX3VzZWQpOiBMaWtl d2lzZS4KCShzb3VyY2VfZG90X2NfZnJ1bCk6IExpa2V3aXNlLgoJKHNvdXJjZV9kb3RfY2Nf ZnJ1bCk6IExpa2V3aXNlLgoJKHN0cnVjdCBmaWxlX3J1bGVfc3QpOiBMaWtld2lzZS4KCShj bG9zZV9vdXRwdXRfZmlsZXMpOiBMaWtld2lzZS4KCmdjYy9hZGEvQ2hhbmdlTG9nOgoKCSog TWFrZWZpbGUucnRsOiBSZW5hbWUgLmMgbmFtZXMgdG8gLmNjLgoJKiBnY2MtaW50ZXJmYWNl L01ha2UtbGFuZy5pbjogTGlrZXdpc2UuCgkqIGdjYy1pbnRlcmZhY2UvTWFrZWZpbGUuaW46 IExpa2V3aXNlLgoKbGliZ2NjL0NoYW5nZUxvZzoKCgkqIGxpYmdjb3YtZHJpdmVyLmM6IFJl bmFtZSAuYyBuYW1lcyB0byAuY2MuCi0tLQogZ2NjL01ha2VmaWxlLmluICAgICAgICAgICAg ICAgICAgICB8IDQ2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZ2NjL2FkYS9N YWtlZmlsZS5ydGwgICAgICAgICAgICAgICB8ICA4ICsrKy0tLQogZ2NjL2FkYS9nY2MtaW50 ZXJmYWNlL01ha2UtbGFuZy5pbiB8ICA2ICsrLS0KIGdjYy9hZGEvZ2NjLWludGVyZmFjZS9N YWtlZmlsZS5pbiAgfCAgNiArKysrCiBnY2MvY29uZmlnLmdjYyAgICAgICAgICAgICAgICAg ICAgIHwgIDIgKy0KIGdjYy9jb25maWd1cmUgICAgICAgICAgICAgICAgICAgICAgfCAzNyAr KysrKysrKysrKysrKysrKystLS0tLS0KIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgICAg ICAgICAgfCAgNiArKy0tCiBnY2MvZ2VuZ3R5cGUuY2MgICAgICAgICAgICAgICAgICAgIHwg MzAgKysrKysrKystLS0tLS0tLS0tLQogbGliZ2NjL2xpYmdjb3YtZHJpdmVyLmMgICAgICAg ICAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDYyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmls ZS5pbgppbmRleCBlMTNiZjY2YjA0MC4uMzFmZjk1NTAwYzkgMTAwNjQ0Ci0tLSBhL2djYy9N YWtlZmlsZS5pbgorKysgYi9nY2MvTWFrZWZpbGUuaW4KQEAgLTE3ODQsNyArMTc4NCw3IEBA IE1PU1RMWUNMRUFORklMRVMgPSBpbnNuLWZsYWdzLmggaW5zbi1jb25maWcuaCBpbnNuLWNv ZGVzLmggXAogIGdjYy1yYW5saWIkKGV4ZWV4dCkgXAogIGdlbnZlcnNpb24kKGJ1aWxkX2V4 ZWV4dCkgZ2NvdiQoZXhlZXh0KSBnY292LWR1bXAkKGV4ZWV4dCkgXAogIGdjb3YtdG9vbCQo ZXhlZWN0KSBcCi0gZ2VuZ3R5cGUkKGV4ZWV4dCkgKi5bMC05XVswLTldLiogKi5bc2ldICot Y2hlY2tzdW0uYyBsaWJiYWNrZW5kLmEgXAorIGdlbmd0eXBlJChleGVleHQpICouWzAtOV1b MC05XS4qICouW3NpXSAqLWNoZWNrc3VtLmNjIGxpYmJhY2tlbmQuYSBcCiAgbGliY29tbW9u LXRhcmdldC5hIGxpYmNvbW1vbi5hIGxpYmdjYy5tayBwZXJmLmRhdGEKIAogIyBUaGlzIHN5 bWxpbmsgbWFrZXMgdGhlIGZ1bGwgaW5zdGFsbGF0aW9uIG5hbWUgb2YgdGhlIGRyaXZlciBi ZSBhdmFpbGFibGUKQEAgLTI0MjEsMTAgKzI0MjEsMTAgQEAgc2ltcGxlX2dlbmVyYXRlZF9o CT0gJChzaW1wbGVfcnRsX2dlbmVyYXRlZF9oKSBpbnNuLWNvbnN0YW50cy5oCiBzaW1wbGVf Z2VuZXJhdGVkX2MJPSAkKHNpbXBsZV9ydGxfZ2VuZXJhdGVkX2MpIGluc24tZW51bXMuY2MK IAogJChzaW1wbGVfZ2VuZXJhdGVkX2g6aW5zbi0lLmg9cy0lKSBcCi0kKHNpbXBsZV9nZW5l cmF0ZWRfYzppbnNuLSUuYz1zLSUpOiBzLSU6ICQoTURfREVQUykKKyQoc2ltcGxlX2dlbmVy YXRlZF9jOmluc24tJS5jYz1zLSUpOiBzLSU6ICQoTURfREVQUykKIAogJChzaW1wbGVfcnRs X2dlbmVyYXRlZF9oOmluc24tJS5oPXMtJSkgXAotJChzaW1wbGVfcnRsX2dlbmVyYXRlZF9j Omluc24tJS5jPXMtJSk6IHMtJTogaW5zbi1jb25kaXRpb25zLm1kCiskKHNpbXBsZV9ydGxf Z2VuZXJhdGVkX2M6aW5zbi0lLmNjPXMtJSk6IHMtJTogaW5zbi1jb25kaXRpb25zLm1kCiAK ICQoc2ltcGxlX2dlbmVyYXRlZF9oKTogaW5zbi0lLmg6IHMtJTsgQHRydWUKIApAQCAtMjQz NCwxMSArMjQzNCwxMSBAQCAkKHNpbXBsZV9nZW5lcmF0ZWRfaDppbnNuLSUuaD1zLSUpOiBz LSU6IGJ1aWxkL2dlbiUkKGJ1aWxkX2V4ZWV4dCkKIAkkKFNIRUxMKSAkKHNyY2RpcikvLi4v bW92ZS1pZi1jaGFuZ2UgdG1wLSQqLmggaW5zbi0kKi5oCiAJJChTVEFNUCkgcy0kKgogCi0k KHNpbXBsZV9nZW5lcmF0ZWRfYyk6IGluc24tJS5jOiBzLSU7IEB0cnVlCi0kKHNpbXBsZV9n ZW5lcmF0ZWRfYzppbnNuLSUuYz1zLSUpOiBzLSU6IGJ1aWxkL2dlbiUkKGJ1aWxkX2V4ZWV4 dCkKKyQoc2ltcGxlX2dlbmVyYXRlZF9jKTogaW5zbi0lLmNjOiBzLSU7IEB0cnVlCiskKHNp bXBsZV9nZW5lcmF0ZWRfYzppbnNuLSUuY2M9cy0lKTogcy0lOiBidWlsZC9nZW4lJChidWls ZF9leGVleHQpCiAJJChSVU5fR0VOKSBidWlsZC9nZW4kKiQoYnVpbGRfZXhlZXh0KSAkKG1k X2ZpbGUpIFwKLQkgICQoZmlsdGVyIGluc24tY29uZGl0aW9ucy5tZCwkXikgPiB0bXAtJCou YwotCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9tb3ZlLWlmLWNoYW5nZSB0bXAtJCouYyBpbnNu LSQqLmMKKwkgICQoZmlsdGVyIGluc24tY29uZGl0aW9ucy5tZCwkXikgPiB0bXAtJCouY2MK KwkkKFNIRUxMKSAkKHNyY2RpcikvLi4vbW92ZS1pZi1jaGFuZ2UgdG1wLSQqLmNjIGluc24t JCouY2MKIAkkKFNUQU1QKSBzLSQqCiAKICMgZ2VuY2hlY2sgZG9lc24ndCByZWFkIHRoZSBt YWNoaW5lIGRlc2NyaXB0aW9uLCBhbmQgdGhlIGZpbGUgcHJvZHVjZWQKQEAgLTI0NDksMTIg KzI0NDksMTIgQEAgcy1jaGVjayA6IGJ1aWxkL2dlbmNoZWNrJChidWlsZF9leGVleHQpCiAJ JChTSEVMTCkgJChzcmNkaXIpLy4uL21vdmUtaWYtY2hhbmdlIHRtcC1jaGVjay5oIHRyZWUt Y2hlY2suaAogCSQoU1RBTVApIHMtY2hlY2sKIAotIyBnZW5hdHRydGFiIHByb2R1Y2VzIHRo cmVlIGZpbGVzOiB0bXAte2F0dHJ0YWIuYyxkZmF0YWIuYyxsYXRlbmN5dGFiLmN9CisjIGdl bmF0dHJ0YWIgcHJvZHVjZXMgdGhyZWUgZmlsZXM6IHRtcC17YXR0cnRhYi5jYyxkZmF0YWIu Y2MsbGF0ZW5jeXRhYi5jY30KIGluc24tYXR0cnRhYi5jYyBpbnNuLWRmYXRhYi5jYyBpbnNu LWxhdGVuY3l0YWIuY2M6IHMtYXR0cnRhYiA7IEB0cnVlCiBzLWF0dHJ0YWIgOiAkKE1EX0RF UFMpIGJ1aWxkL2dlbmF0dHJ0YWIkKGJ1aWxkX2V4ZWV4dCkgXAogICBpbnNuLWNvbmRpdGlv bnMubWQKIAkkKFJVTl9HRU4pIGJ1aWxkL2dlbmF0dHJ0YWIkKGJ1aWxkX2V4ZWV4dCkgJCht ZF9maWxlKSBpbnNuLWNvbmRpdGlvbnMubWQgXAotCQktQXRtcC1hdHRydGFiLmMgLUR0bXAt ZGZhdGFiLmMgLUx0bXAtbGF0ZW5jeXRhYi5jCisJCS1BdG1wLWF0dHJ0YWIuY2MgLUR0bXAt ZGZhdGFiLmNjIC1MdG1wLWxhdGVuY3l0YWIuY2MKIAkkKFNIRUxMKSAkKHNyY2RpcikvLi4v bW92ZS1pZi1jaGFuZ2UgdG1wLWF0dHJ0YWIuY2MgICAgaW5zbi1hdHRydGFiLmNjCiAJJChT SEVMTCkgJChzcmNkaXIpLy4uL21vdmUtaWYtY2hhbmdlIHRtcC1kZmF0YWIuY2MgICAgIGlu c24tZGZhdGFiLmNjCiAJJChTSEVMTCkgJChzcmNkaXIpLy4uL21vdmUtaWYtY2hhbmdlIHRt cC1sYXRlbmN5dGFiLmNjIGluc24tbGF0ZW5jeXRhYi5jYwpAQCAtMjQ2NCw3ICsyNDY0LDcg QEAgcy1hdHRydGFiIDogJChNRF9ERVBTKSBidWlsZC9nZW5hdHRydGFiJChidWlsZF9leGVl eHQpIFwKIGluc24tb3Bpbml0LmNjIGluc24tb3Bpbml0Lmg6IHMtb3Bpbml0IDsgQHRydWUK IHMtb3Bpbml0OiAkKE1EX0RFUFMpIGJ1aWxkL2dlbm9waW5pdCQoYnVpbGRfZXhlZXh0KSBp bnNuLWNvbmRpdGlvbnMubWQKIAkkKFJVTl9HRU4pIGJ1aWxkL2dlbm9waW5pdCQoYnVpbGRf ZXhlZXh0KSAkKG1kX2ZpbGUpIFwKLQkgIGluc24tY29uZGl0aW9ucy5tZCAtaHRtcC1vcGlu aXQuaCAtY3RtcC1vcGluaXQuYworCSAgaW5zbi1jb25kaXRpb25zLm1kIC1odG1wLW9waW5p dC5oIC1jdG1wLW9waW5pdC5jYwogCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9tb3ZlLWlmLWNo YW5nZSB0bXAtb3Bpbml0LmggaW5zbi1vcGluaXQuaAogCSQoU0hFTEwpICQoc3JjZGlyKS8u Li9tb3ZlLWlmLWNoYW5nZSB0bXAtb3Bpbml0LmNjIGluc24tb3Bpbml0LmNjCiAJJChTVEFN UCkgcy1vcGluaXQKQEAgLTI0NzIsOCArMjQ3Miw4IEBAIHMtb3Bpbml0OiAkKE1EX0RFUFMp IGJ1aWxkL2dlbm9waW5pdCQoYnVpbGRfZXhlZXh0KSBpbnNuLWNvbmRpdGlvbnMubWQKICMg Z2VuY29uZG1kIGRvZXNuJ3QgdXNlIHRoZSBzdGFuZGFyZCBuYW1pbmcgY29udmVudGlvbi4K IGJ1aWxkL2dlbmNvbmRtZC5jYzogcy1jb25kaXRpb25zOyBAdHJ1ZQogcy1jb25kaXRpb25z OiAkKE1EX0RFUFMpIGJ1aWxkL2dlbmNvbmRpdGlvbnMkKGJ1aWxkX2V4ZWV4dCkKLQkkKFJV Tl9HRU4pIGJ1aWxkL2dlbmNvbmRpdGlvbnMkKGJ1aWxkX2V4ZWV4dCkgJChtZF9maWxlKSA+ IHRtcC1jb25kbWQuYwotCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9tb3ZlLWlmLWNoYW5nZSB0 bXAtY29uZG1kLmMgYnVpbGQvZ2VuY29uZG1kLmNjCisJJChSVU5fR0VOKSBidWlsZC9nZW5j b25kaXRpb25zJChidWlsZF9leGVleHQpICQobWRfZmlsZSkgPiB0bXAtY29uZG1kLmNjCisJ JChTSEVMTCkgJChzcmNkaXIpLy4uL21vdmUtaWYtY2hhbmdlIHRtcC1jb25kbWQuY2MgYnVp bGQvZ2VuY29uZG1kLmNjCiAJJChTVEFNUCkgcy1jb25kaXRpb25zCiAKIGluc24tY29uZGl0 aW9ucy5tZDogcy1jb25kbWQ7IEB0cnVlCkBAIC0yNDk5LDggKzI0OTksOCBAQCBpbnNuLW1v ZGVzLWlubGluZS5oOiBzLW1vZGVzLWlubGluZS1oOyBAdHJ1ZQogbWluLWluc24tbW9kZXMu Y2M6IHMtbW9kZXMtbTsgQHRydWUKIAogcy1tb2RlczogYnVpbGQvZ2VubW9kZXMkKGJ1aWxk X2V4ZWV4dCkKLQkkKFJVTl9HRU4pIGJ1aWxkL2dlbm1vZGVzJChidWlsZF9leGVleHQpID4g dG1wLW1vZGVzLmMKLQkkKFNIRUxMKSAkKHNyY2RpcikvLi4vbW92ZS1pZi1jaGFuZ2UgdG1w LW1vZGVzLmMgaW5zbi1tb2Rlcy5jYworCSQoUlVOX0dFTikgYnVpbGQvZ2VubW9kZXMkKGJ1 aWxkX2V4ZWV4dCkgPiB0bXAtbW9kZXMuY2MKKwkkKFNIRUxMKSAkKHNyY2RpcikvLi4vbW92 ZS1pZi1jaGFuZ2UgdG1wLW1vZGVzLmNjIGluc24tbW9kZXMuY2MKIAkkKFNUQU1QKSBzLW1v ZGVzCiAKIHMtbW9kZXMtaDogYnVpbGQvZ2VubW9kZXMkKGJ1aWxkX2V4ZWV4dCkKQEAgLTI1 MTUsOCArMjUxNSw4IEBAIHMtbW9kZXMtaW5saW5lLWg6IGJ1aWxkL2dlbm1vZGVzJChidWls ZF9leGVleHQpCiAJJChTVEFNUCkgcy1tb2Rlcy1pbmxpbmUtaAogCiBzLW1vZGVzLW06IGJ1 aWxkL2dlbm1vZGVzJChidWlsZF9leGVleHQpCi0JJChSVU5fR0VOKSBidWlsZC9nZW5tb2Rl cyQoYnVpbGRfZXhlZXh0KSAtbSA+IHRtcC1taW4tbW9kZXMuYwotCSQoU0hFTEwpICQoc3Jj ZGlyKS8uLi9tb3ZlLWlmLWNoYW5nZSB0bXAtbWluLW1vZGVzLmMgbWluLWluc24tbW9kZXMu Y2MKKwkkKFJVTl9HRU4pIGJ1aWxkL2dlbm1vZGVzJChidWlsZF9leGVleHQpIC1tID4gdG1w LW1pbi1tb2Rlcy5jYworCSQoU0hFTEwpICQoc3JjZGlyKS8uLi9tb3ZlLWlmLWNoYW5nZSB0 bXAtbWluLW1vZGVzLmNjIG1pbi1pbnNuLW1vZGVzLmNjCiAJJChTVEFNUCkgcy1tb2Rlcy1t CiAKIGluc24tcHJlZHMuY2M6IHMtcHJlZHM7IEB0cnVlCkBAIC0yNTI4LDggKzI1MjgsOCBA QCBtZGR1bXA6ICQoQlVJTERfUlRMKSAkKE1EX0RFUFMpIGJ1aWxkL2dlbm1kZHVtcCQoYnVp bGRfZXhlZXh0KQogCSQoUlVOX0dFTikgYnVpbGQvZ2VubWRkdW1wJChidWlsZF9leGVleHQp ICQobWRfZmlsZSkgPiB0bXAtbWRkdW1wLm1kCiAKIHMtcHJlZHM6ICQoTURfREVQUykgYnVp bGQvZ2VucHJlZHMkKGJ1aWxkX2V4ZWV4dCkKLQkkKFJVTl9HRU4pIGJ1aWxkL2dlbnByZWRz JChidWlsZF9leGVleHQpICQobWRfZmlsZSkgPiB0bXAtcHJlZHMuYwotCSQoU0hFTEwpICQo c3JjZGlyKS8uLi9tb3ZlLWlmLWNoYW5nZSB0bXAtcHJlZHMuYyBpbnNuLXByZWRzLmNjCisJ JChSVU5fR0VOKSBidWlsZC9nZW5wcmVkcyQoYnVpbGRfZXhlZXh0KSAkKG1kX2ZpbGUpID4g dG1wLXByZWRzLmNjCisJJChTSEVMTCkgJChzcmNkaXIpLy4uL21vdmUtaWYtY2hhbmdlIHRt cC1wcmVkcy5jYyBpbnNuLXByZWRzLmNjCiAJJChTVEFNUCkgcy1wcmVkcwogCiBzLXByZWRz LWg6ICQoTURfREVQUykgYnVpbGQvZ2VucHJlZHMkKGJ1aWxkX2V4ZWV4dCkKQEAgLTI3MzQs OCArMjczNCw4IEBAIEdURklMRVMgPSAkKENQUExJQl9IKSAkKHNyY2RpcikvaW5wdXQuaCAk KHNyY2RpcikvY29yZXR5cGVzLmggXAogCiBHVEZJTEVTX0ggPSAkKHN1YnN0IC8sLSwgXAog CSAgICAkKHNoZWxsIGVjaG8gJChwYXRzdWJzdCAkKHNyY2RpcikvJSxndC0lLCBcCi0JCQkg ICAkKHBhdHN1YnN0ICUuYywlLmgsIFwKLQkJCSAgICAgJChmaWx0ZXIgJS5jLCAkKEdURklM RVMpKSkpIFwKKwkJCSAgICQocGF0c3Vic3QgJS5jYywlLmgsIFwKKwkJCSAgICAgJChmaWx0 ZXIgJS5jYywgJChHVEZJTEVTKSkpKSBcCiAJCQl8IHNlZCAtZSAic3wvW14gXSovfC98ZyIg LWUgInN8Z3QtY29uZmlnL3xndC18ZyIpKQogCiBHVEZJTEVTX0xBTkdfSCA9ICQocGF0c3Vi c3QgWyVdLCBndHlwZS0lLmgsICQoZmlsdGVyIFslXSwgJChHVEZJTEVTKSkpCkBAIC0zNTM2 LDcgKzM1MzYsNyBAQCBtb3N0bHljbGVhbjogbGFuZy5tb3N0bHljbGVhbgogCS1ybSAtZiBn dC0qCiAJLXJtIC1mIGd0eXBlLnN0YXRlCiAjIERlbGV0ZSBnZW5jaGVja3N1bSBvdXRwdXRz Ci0JLXJtIC1mICotY2hlY2tzdW0uYworCS1ybSAtZiAqLWNoZWNrc3VtLmNjCiAjIERlbGV0 ZSBsb2NrLWFuZC1ydW4gYml0cwogCS1ybSAtcmYgbGlua2ZlLmxjayBsb2NrLXN0YW1wLioK IApAQCAtMzU3NCw3ICszNTc0LDcgQEAgZGlzdGNsZWFuOiBjbGVhbiBsYW5nLmRpc3RjbGVh bgogCS1ybSAtZiAqLmFzbQogCS1ybSAtZiBzaXRlLmV4cCBzaXRlLmJhayB0ZXN0c3VpdGUv c2l0ZS5leHAgdGVzdHN1aXRlL3NpdGUuYmFrCiAJLXJtIC1mIHRlc3RzdWl0ZS8qLmxvZyB0 ZXN0c3VpdGUvKi5zdW0KLQktY2QgdGVzdHN1aXRlICYmIHJtIC1mIHggKi54ICoueD8gKi5l eGUgKi5ycG8gKi5vICoucyAqLlMgKi5jCisJLWNkIHRlc3RzdWl0ZSAmJiBybSAtZiB4ICou eCAqLng/ICouZXhlICoucnBvICoubyAqLnMgKi5TICouY2MKIAktY2QgdGVzdHN1aXRlICYm IHJtIC1mICoub3V0ICouZ2NvdiAqJChjb3ZlcmFnZWV4dHMpCiAJLXJtIC1yZiAke1FNVEVT VF9ESVJ9IHN0YW1wLXFtdGVzdAogCS1ybSAtZiAuZ2RiaW5pdCBjb25maWdhcmdzLmgKQEAg LTQzMzYsNyArNDMzNiw3IEBAIFRBR1M6IGxhbmcudGFncwogCSAgICBpbmNzPSIkJGluY3Mg LS1pbmNsdWRlICQkZGlyL1RBR1Muc3ViIjsJXAogCSAgZmk7CQkJCQkJXAogCWRvbmU7CQkJ CQkJXAotCSQoRVRBR1MpIC1vIFRBR1Muc3ViIGMtZmFtaWx5LyouaCBjLWZhbWlseS8qLmMg Yy1mYW1pbHkvKi5jYyBcCisJJChFVEFHUykgLW8gVEFHUy5zdWIgYy1mYW1pbHkvKi5oIGMt ZmFtaWx5LyouY2MgYy1mYW1pbHkvKi5jYyBcCiAJICAgICAgKi5oICouYyAqLmNjIFwKIAkg ICAgICAuLi9pbmNsdWRlLyouaCAuLi9saWJpYmVydHkvKi5jIFwKIAkgICAgICAuLi9saWJj cHAvKi5jIC4uL2xpYmNwcC9pbmNsdWRlLyouaCBcCmRpZmYgLS1naXQgYS9nY2MvYWRhL01h a2VmaWxlLnJ0bCBiL2djYy9hZGEvTWFrZWZpbGUucnRsCmluZGV4IDdkMzE5ZWFlZGYyLi5l ZTBiMGQzZjMxYSAxMDA2NDQKLS0tIGEvZ2NjL2FkYS9NYWtlZmlsZS5ydGwKKysrIGIvZ2Nj L2FkYS9NYWtlZmlsZS5ydGwKQEAgLTI4NTYsNyArMjg1Niw3IEBAIExJQkdOQVRfVEFSR0VU X1BBSVJTICs9IFwKIAogIyBMSUJHTkFUX1NSQ1MgaXMgdGhlIGxpc3Qgb2YgYWxsIEMgZmls ZXMgKGluY2x1ZGluZyBoZWFkZXJzKSBvZiB0aGUgcnVudGltZQogIyBsaWJyYXJ5LiAgTElC R05BVF9PQkpTIGlzIHRoZSBsaXN0IG9mIG9iamVjdCBmaWxlcyBmb3IgbGliZ25hdC4KLSMg dGhyZWFkLmMgaXMgc3BlY2lhbCBhcyBwdXQgaW50byBHTkFUUlRMX1RBU0tJTkdfT0JKUwor IyB0aHJlYWQuY2MgaXMgc3BlY2lhbCBhcyBwdXQgaW50byBHTkFUUlRMX1RBU0tJTkdfT0JK UwogTElCR05BVF9PQkpTID0gYWRhZGVjb2RlLm8gYWRhaW50Lm8gYXJndi5vIGF1eC1pby5v IAkJCVwKICAgY2FsLm8gY2lvLm8gY3N0cmVhbXMubyBjdHJsX2MubwkJCQkJXAogICBlbnYu byBlcnJuby5vIGV4aXQubyBleHBlY3QubyBmaW5hbC5vIHJ0ZmluYWwubyBydGluaXQubwkJ XApAQCAtMjg3MCw3ICsyODcwLDcgQEAgTElCR05BVF9PQkpTID0gYWRhZGVjb2RlLm8gYWRh aW50Lm8gYXJndi5vIGF1eC1pby5vIAkJCVwKICMgIEdOQVRfUlRMX1NSQ1MuICBSaWdodCBu b3cgd2UgY291bnQgb24gYmVpbmcgYWJsZSB0byBidWlsZCBHTkFUUlRMX09CSlMKICMgIGZy b20gQURBX0lOQ0xVREVfU1JDUy4KIAotTElCR05BVF9TUkNTID0gJChwYXRzdWJzdCAlLm8s JS5jLCQoTElCR05BVF9PQkpTKSkJCQlcCitMSUJHTkFUX1NSQ1MgPSAkKHBhdHN1YnN0ICUu bywlLmNjLCQoTElCR05BVF9PQkpTKSkJCQlcCiAgIGFkYWRlY29kZS5oIGFkYWludC5oIGVu di5oIGdzb2NrZXQuaCByYWlzZS5oIHN0YW5kYXJkLmFkcy5oCQlcCiAgIHJ1bnRpbWUuaCAk KEVYVFJBX0xJQkdOQVRfU1JDUykKIApAQCAtMjkyMCw3ICsyOTIwLDcgQEAgc2V0dXAtcnRz OiBmb3JjZQogCSQoTUtESVIpICQoUlRTRElSKQogCSQoQ0hNT0QpIHUrdyAkKFJUU0RJUikK ICMgQ29weSB0YXJnZXQgaW5kZXBlbmRlbnQgc291cmNlcwotCSQoZm9yZWFjaCBmLCQoQURB X0lOQ0xVREVfU1JDUykgJChMSUJHTkFUX1NSQ1MpIGxpYmduYXJsL3RocmVhZC5jLCBcCisJ JChmb3JlYWNoIGYsJChBREFfSU5DTFVERV9TUkNTKSAkKExJQkdOQVRfU1JDUykgbGliZ25h cmwvdGhyZWFkLmNjLCBcCiAJICAkKExOX1MpICQoR05BVF9TUkMpLyQoZikgJChSVFNESVIp IDspIHRydWUKICMgUmVtb3ZlIGZpbGVzIG5vdCB1c2VkCiAJJChSTSkgJChwYXRzdWJzdCAl LCQoUlRTRElSKS8lLCQoQURBX0VYQ0xVREVfRklMRVMpKQpAQCAtMjk0MSw3ICsyOTQxLDcg QEAgc2V0dXAtcnRzOiBmb3JjZQogCWRvIFwKIAkgIGlmIFsgLWYgJChSVFNESVIpLyQkZiBd OyB0aGVuIGVjaG8gJCRmID4+ICQoUlRTRElSKS9saWJnbmFybC5sc3Q7IGZpIFwKIAlkb25l Ci0JQGVjaG8gdGhyZWFkLmMgPj4gJChSVFNESVIpL2xpYmduYXJsLmxzdAorCUBlY2hvIHRo cmVhZC5jYyA+PiAkKFJUU0RJUikvbGliZ25hcmwubHN0CiAJQGZvciBmIGluIFwKIAkgICQo Zm9yZWFjaCBGLCQoR05BVFJUTF9OT05UQVNLSU5HX09CSlMpLCQoc3Vic3QgJChvYmpleHQp LC5hZHMsJChGKSkpIFwKIAkgICQoZm9yZWFjaCBGLCQoR05BVFJUTF9OT05UQVNLSU5HX09C SlMpLCQoc3Vic3QgJChvYmpleHQpLC5hZGIsJChGKSkpOyBcCmRpZmYgLS1naXQgYS9nY2Mv YWRhL2djYy1pbnRlcmZhY2UvTWFrZS1sYW5nLmluIGIvZ2NjL2FkYS9nY2MtaW50ZXJmYWNl L01ha2UtbGFuZy5pbgppbmRleCA0MGU3YTlmNjcwYy4uYThkODg5OWQzYzkgMTAwNjQ0Ci0t LSBhL2djYy9hZGEvZ2NjLWludGVyZmFjZS9NYWtlLWxhbmcuaW4KKysrIGIvZ2NjL2FkYS9n Y2MtaW50ZXJmYWNlL01ha2UtbGFuZy5pbgpAQCAtMTIxLDEzICsxMjEsMTMgQEAgQURBX1RP T0xTPWduYXRiaW5kIGduYXRjaG9wIGduYXQgZ25hdGtyIGduYXRsaW5rIGduYXRscyBnbmF0 bWFrZSBcCiAjIFNheSBob3cgdG8gY29tcGlsZSBBZGEgcHJvZ3JhbXMuCiAuU1VGRklYRVM6 IC5hZGEgLmFkYiAuYWRzCiAKLSMgRklYTUU6IG5lZWQgdG8gYWRkICQoQURBX0NGTEFHUykg dG8gLmMubyBzdWZmaXggcnVsZQorIyBGSVhNRTogbmVlZCB0byBhZGQgJChBREFfQ0ZMQUdT KSB0byAuY2MubyBzdWZmaXggcnVsZQogIyBVc2UgbWlsZGx5IHN0cmljdCB3YXJuaW5ncyBm b3IgdGhpcyBmcm9udCBlbmQgYW5kIGFkZCBzcGVjaWFsIGZsYWdzLgogYWRhLXdhcm4gPSAk KEFEQV9DRkxBR1MpICQoZmlsdGVyLW91dCAtcGVkYW50aWMsICQoU1RSSUNUX1dBUk4pKQog IyBVbnJlc29sdmVkIHdhcm5pbmdzIGluIHNwZWNpZmljIGZpbGVzLgogYWRhL2FkYWludC5v LXdhcm4gPSAtV25vLWVycm9yCiAKLWFkYS8lLm86IGFkYS9nY2MtaW50ZXJmYWNlLyUuYwor YWRhLyUubzogYWRhL2djYy1pbnRlcmZhY2UvJS5jYwogCSQoQ09NUElMRSkgJDwKIAkkKFBP U1RDT01QSUxFKQogCkBAIC03OTYsNyArNzk2LDcgQEAgYWRhLnNyY2V4dHJhOgogYWRhLnNy Y21hbjoKIAogYWRhLnRhZ3M6IGZvcmNlCi0JY2QgJChzcmNkaXIpL2FkYSAmJiAkKEVUQUdT KSAtbyBUQUdTLnN1YiAqLmMgKi5oICouYWRzICouYWRiICYmIFwKKwljZCAkKHNyY2Rpcikv YWRhICYmICQoRVRBR1MpIC1vIFRBR1Muc3ViICouY2MgKi5oICouYWRzICouYWRiICYmIFwK IAkkKEVUQUdTKSAtLWluY2x1ZGUgVEFHUy5zdWIgLS1pbmNsdWRlIC4uL1RBR1Muc3ViCiAK IApkaWZmIC0tZ2l0IGEvZ2NjL2FkYS9nY2MtaW50ZXJmYWNlL01ha2VmaWxlLmluIGIvZ2Nj L2FkYS9nY2MtaW50ZXJmYWNlL01ha2VmaWxlLmluCmluZGV4IGNmNjQ1ZGYxMmYxLi41NGNm MTgyYThjMyAxMDA2NDQKLS0tIGEvZ2NjL2FkYS9nY2MtaW50ZXJmYWNlL01ha2VmaWxlLmlu CisrKyBiL2djYy9hZGEvZ2NjLWludGVyZmFjZS9NYWtlZmlsZS5pbgpAQCAtMjk2LDYgKzI5 NiwxMCBAQCBBREFfSU5DTFVERVNfRk9SX1NVQkRJUiA9IC1JLiAtSSQoZnNyY2RpcikvYWRh CiAJJChDT01QSUxFUikgLWMgJChBTExfQ09NUElMRVJGTEFHUykgJChBREFfQ0ZMQUdTKSAk KEFMTF9DUFBGTEFHUykgXAogCSAgJChJTkNMVURFUykgJDwgJChPVVRQVVRfT1BUSU9OKQog CisuY2MubzoKKwkkKENPTVBJTEVSKSAtYyAkKEFMTF9DT01QSUxFUkZMQUdTKSAkKEFEQV9D RkxBR1MpICQoQUxMX0NQUEZMQUdTKSBcCisJICAkKElOQ0xVREVTKSAkPCAkKE9VVFBVVF9P UFRJT04pCisKIC5hZGIubzoKIAkkKENDKSAtYyAkKEFMTF9BREFGTEFHUykgJChBREFfSU5D TFVERVMpICQ8ICQoT1VUUFVUX09QVElPTikKIApAQCAtNDExLDYgKzQxNSw3IEBAIGlmZXEg KCQoVE9PTFNDQVNFKSxuYXRpdmUpCiAgIHZwYXRoICUuYWRzIC4uLyQoUlRTRElSKSAuLi8K ICAgdnBhdGggJS5hZGIgLi4vJChSVFNESVIpIC4uLwogICB2cGF0aCAlLmMgICAuLi8kKFJU U0RJUikgLi4vCisgIHZwYXRoICUuY2MgIC4uLyQoUlRTRElSKSAuLi8KICAgdnBhdGggJS5o ICAgLi4vJChSVFNESVIpIC4uLwogZW5kaWYKIApAQCAtNDIwLDYgKzQyNSw3IEBAIGlmZXEg KCQoVE9PTFNDQVNFKSxjcm9zcykKICAgdnBhdGggJS5hZHMgLi4vCiAgIHZwYXRoICUuYWRi IC4uLwogICB2cGF0aCAlLmMgICAuLi8KKyAgdnBhdGggJS5jYyAgLi4vCiAgIHZwYXRoICUu aCAgIC4uLwogZW5kaWYKIApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29u ZmlnLmdjYwppbmRleCA3M2FkOTRlYzc1Zi4uZmYxYjRjMzY5YmEgMTAwNjQ0Ci0tLSBhL2dj Yy9jb25maWcuZ2NjCisrKyBiL2djYy9jb25maWcuZ2NjCkBAIC01Mzc0LDcgKzUzNzQsNyBA QCBjYXNlICR7dGFyZ2V0fSBpbgogCQl0aGVuCiAJCQl0YXJnZXRfY3B1X2RlZmF1bHQyPSJc XFwiJHdpdGhfY3B1XFxcIiIKIAkJZmkKLQkJb3V0X2ZpbGU9IiR7Y3B1X3R5cGV9LyR7Y3B1 X3R5cGV9LmMiCisJCW91dF9maWxlPSIke2NwdV90eXBlfS8ke2NwdV90eXBlfS5jYyIKIAkJ Y190YXJnZXRfb2Jqcz0iJHtjX3RhcmdldF9vYmpzfSAke2NwdV90eXBlfS1jLm8iCiAJCWN4 eF90YXJnZXRfb2Jqcz0iJHtjeHhfdGFyZ2V0X29ianN9ICR7Y3B1X3R5cGV9LWMubyIKIAkJ ZF90YXJnZXRfb2Jqcz0iJHtkX3RhcmdldF9vYmpzfSAke2NwdV90eXBlfS1kLm8iCmRpZmYg LS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQppbmRleCA5OTJhOWQ3MDA5 Mi4uZTc4NzY0NmMxZDMgMTAwNzU1Ci0tLSBhL2djYy9jb25maWd1cmUKKysrIGIvZ2NjL2Nv bmZpZ3VyZQpAQCAtNTkyLDcgKzU5Miw3IEBAIFBBQ0tBR0VfU1RSSU5HPQogUEFDS0FHRV9C VUdSRVBPUlQ9CiBQQUNLQUdFX1VSTD0KIAotYWNfdW5pcXVlX2ZpbGU9InRyZWUuYyIKK2Fj X3VuaXF1ZV9maWxlPSJ0cmVlLmNjIgogIyBGYWN0b3JpbmcgZGVmYXVsdCBoZWFkZXJzIGZv ciBtb3N0IHRlc3RzLgogYWNfaW5jbHVkZXNfZGVmYXVsdD0iXAogI2luY2x1ZGUgPHN0ZGlv Lmg+CkBAIC01MzUyLDcgKzUzNTIsMjYgQEAgZWxzZQogICBHREM9IiRhY19jdl9wcm9nX0dE QyIKIGZpCiAKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgd2hldGhlciB0aGUgRCBjb21waWxlciB3b3JrcyIgPiY1CiskYXNfZWNob19uICJj aGVja2luZyB3aGV0aGVyIHRoZSBEIGNvbXBpbGVyIHdvcmtzLi4uICIgPiY2OyB9CitpZiAk e2FjeF9jdl9kX2NvbXBpbGVyX3dvcmtzKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9f biAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgY2F0ID5jb25mdGVzdC5kIDw8RU9GCittb2R1 bGUgY29uZnRlc3Q7IGludCBtYWluKCkgeyByZXR1cm4gMDsgfQorRU9GCithY3hfY3ZfZF9j b21waWxlcl93b3Jrcz1ubwogaWYgdGVzdCAieCRHREMiICE9IHhubzsgdGhlbgorICBlcnJv cnM9YCgke0dEQ30gLUkiJHNyY2RpciIvZCAtYyBjb25mdGVzdC5kKSAyPiYxIHx8IGVjaG8g ZmFpbHVyZWAKKyAgaWYgdGVzdCB4IiRlcnJvcnMiID0geCAmJiB0ZXN0IC1mIGNvbmZ0ZXN0 LiRhY19vYmpleHQ7IHRoZW4KKyAgICBhY3hfY3ZfZF9jb21waWxlcl93b3Jrcz15ZXMKKyAg ZmkKKyAgcm0gLWYgY29uZnRlc3QuKgorZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjeF9jdl9kX2NvbXBpbGVyX3dvcmtzIiA+ JjUKKyRhc19lY2hvICIkYWN4X2N2X2RfY29tcGlsZXJfd29ya3MiID4mNjsgfQoraWYgdGVz dCAieCRHREMiICE9IHhubyAmJiB0ZXN0IHgkYWN4X2N2X2RfY29tcGlsZXJfd29ya3MgIT0g eG5vOyB0aGVuCiAgIGhhdmVfZ2RjPXllcwogZWxzZQogICBoYXZlX2dkYz1ubwpAQCAtODI5 Nyw3ICs4MzE2LDcgQEAgZmkKICAgdGVzdCAtbiAiJEFXSyIgJiYgYnJlYWsKIGRvbmUKIAot IyBXZSBuZWVkIGF3ayB0byBjcmVhdGUgb3B0aW9ucy5jIGFuZCBvcHRpb25zLmguCisjIFdl IG5lZWQgYXdrIHRvIGNyZWF0ZSBvcHRpb25zLmNjIGFuZCBvcHRpb25zLmguCiAjIEJhaWwg b3V0IGlmIGl0J3MgbWlzc2luZy4KIGNhc2UgJHtBV0t9IGluCiAgICIiKSBhc19mbl9lcnJv ciAkPyAiY2FuJ3QgYnVpbGQgd2l0aG91dCBhd2ssIGJhaWxpbmcgb3V0IiAiJExJTkVOTyIg NSA7OwpAQCAtMTIwMjUsNyArMTIwNDQsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBj b25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKIAogIyBPbiBBSVggNS4yLCA8 bGRmY24uaD4gY29uZmxpY3RzIHdpdGggPGZjbnRsLmg+LCBhcyBib3RoIGRlZmluZSBpbmNv bXBhdGlibGUKICMgRlJFQUQgYW5kIEZXUklURSBtYWNyb3MuICBGb3J0dW5hdGVseSwgZm9y IEdDQydzIHNpbmdsZSB1c2FnZSBvZiBsZGdldG5hbWUKLSMgaW4gY29sbGVjdDIuYywgPGZj bnRsLmg+IGlzbid0IHZpc2libGUsIGJ1dCB0aGUgY29uZmlndXJlIHRlc3QgYmVsb3cgbmVl ZHMKKyMgaW4gY29sbGVjdDIuY2MsIDxmY250bC5oPiBpc24ndCB2aXNpYmxlLCBidXQgdGhl IGNvbmZpZ3VyZSB0ZXN0IGJlbG93IG5lZWRzCiAjIHRvIHVuZGVmIHRoZXNlIG1hY3JvcyB0 byBnZXQgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIEhBVkVfREVDTF9MREdFVE5BTUUuCiBmb3Ig YWNfZnVuYyBpbiBsZGdldG5hbWUKIGRvCkBAIC0xMjYwMSw3ICsxMjYyMCw3IEBAIGlmIHRl c3QgeCRtZF9maWxlID0geAogdGhlbiBtZF9maWxlPSRjcHVfdHlwZS8kY3B1X3R5cGUubWQ7 IGZpCiAKIGlmIHRlc3QgeCRvdXRfZmlsZSA9IHgKLXRoZW4gb3V0X2ZpbGU9JGNwdV90eXBl LyRjcHVfdHlwZS5jOyBmaQordGhlbiBvdXRfZmlsZT0kY3B1X3R5cGUvJGNwdV90eXBlLmNj OyBmaQogCiBpZiB0ZXN0IHgiJHRtYWtlX2ZpbGUiID0geAogdGhlbiB0bWFrZV9maWxlPSRj cHVfdHlwZS90LSRjcHVfdHlwZQpAQCAtMTMyNTMsOCArMTMyNzIsOCBAQCBkbwogZG9uZQog dG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30ke29tcF9kZXZpY2VfcHJvcGVydHlfdG1ha2Vf ZmlsZX0iCiAKLW91dF9vYmplY3RfZmlsZT1gYmFzZW5hbWUgJG91dF9maWxlIC5jYC5vCi1j b21tb25fb3V0X29iamVjdF9maWxlPWBiYXNlbmFtZSAkY29tbW9uX291dF9maWxlIC5jYC5v CitvdXRfb2JqZWN0X2ZpbGU9YGJhc2VuYW1lICRvdXRfZmlsZSAuY2NgLm8KK2NvbW1vbl9v dXRfb2JqZWN0X2ZpbGU9YGJhc2VuYW1lICRjb21tb25fb3V0X2ZpbGUgLmNjYC5vCiAKIHRt X2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgogdG1faW5jbHVkZV9saXN0PSJvcHRpb25zLmggaW5z bi1jb25zdGFudHMuaCIKQEAgLTE5NTYxLDcgKzE5NTgwLDcgQEAgZWxzZQogICBsdF9kbHVu a25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0 YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9G Ci0jbGluZSAxOTU2NCAiY29uZmlndXJlIgorI2xpbmUgMTk1ODMgImNvbmZpZ3VyZSIKICNp bmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9ETEZDTl9ICkBAIC0xOTY2Nyw3ICsx OTY4Niw3IEBAIGVsc2UKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0 X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICBjYXQgPiBj b25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTk2NzAgImNvbmZpZ3VyZSIKKyNs aW5lIDE5Njg5ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAogI2lmIEhB VkVfRExGQ05fSApAQCAtMzIyMjEsNyArMzIyNDAsNyBAQCBfQUNFT0YKIAogCiAjIEdlbmVy YXRlIGdjYy1kcml2ZXItbmFtZS5oIGNvbnRhaW5pbmcgR0NDX0RSSVZFUl9OQU1FIGZvciB0 aGUgYmVuZWZpdAotIyBvZiBqaXQvaml0LXBsYXliYWNrLmMuCisjIG9mIGppdC9qaXQtcGxh eWJhY2suY2MuCiBnY2NfZHJpdmVyX3ZlcnNpb249YGV2YWwgIiR7Z2V0X2djY19iYXNlX3Zl cn0gJHNyY2Rpci9CQVNFLVZFUiJgCiBlY2hvICJnY2NfZHJpdmVyX3ZlcnNpb246ICR7Z2Nj X2RyaXZlcl92ZXJzaW9ufSIKIGNhdCA+IGdjYy1kcml2ZXItbmFtZS5oIDw8RU9GCmRpZmYg LS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwppbmRleCAzZGQy MTBhOGY4Yy4uZThkMmY2YmJiNjIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWd1cmUuYWMKKysr IGIvZ2NjL2NvbmZpZ3VyZS5hYwpAQCAtMTgyNCw3ICsxODI0LDcgQEAgaWYgdGVzdCB4JG1k X2ZpbGUgPSB4CiB0aGVuIG1kX2ZpbGU9JGNwdV90eXBlLyRjcHVfdHlwZS5tZDsgZmkKIAog aWYgdGVzdCB4JG91dF9maWxlID0geAotdGhlbiBvdXRfZmlsZT0kY3B1X3R5cGUvJGNwdV90 eXBlLmM7IGZpCit0aGVuIG91dF9maWxlPSRjcHVfdHlwZS8kY3B1X3R5cGUuY2M7IGZpCiAK IGlmIHRlc3QgeCIkdG1ha2VfZmlsZSIgPSB4CiB0aGVuIHRtYWtlX2ZpbGU9JGNwdV90eXBl L3QtJGNwdV90eXBlCkBAIC0yMjk0LDggKzIyOTQsOCBAQCBkbwogZG9uZQogdG1ha2VfZmls ZT0iJHt0bWFrZV9maWxlX30ke29tcF9kZXZpY2VfcHJvcGVydHlfdG1ha2VfZmlsZX0iCiAK LW91dF9vYmplY3RfZmlsZT1gYmFzZW5hbWUgJG91dF9maWxlIC5jYC5vCi1jb21tb25fb3V0 X29iamVjdF9maWxlPWBiYXNlbmFtZSAkY29tbW9uX291dF9maWxlIC5jYC5vCitvdXRfb2Jq ZWN0X2ZpbGU9YGJhc2VuYW1lICRvdXRfZmlsZSAuY2NgLm8KK2NvbW1vbl9vdXRfb2JqZWN0 X2ZpbGU9YGJhc2VuYW1lICRjb21tb25fb3V0X2ZpbGUgLmNjYC5vCiAKIHRtX2ZpbGVfbGlz dD0ib3B0aW9ucy5oIgogdG1faW5jbHVkZV9saXN0PSJvcHRpb25zLmggaW5zbi1jb25zdGFu dHMuaCIKZGlmZiAtLWdpdCBhL2djYy9nZW5ndHlwZS5jYyBiL2djYy9nZW5ndHlwZS5jYwpp bmRleCBlNzM3YzkzOTQ1Ny4uMzg2YWUxYjA1MDYgMTAwNjQ0Ci0tLSBhL2djYy9nZW5ndHlw ZS5jYworKysgYi9nY2MvZ2VuZ3R5cGUuY2MKQEAgLTE2MTgsNyArMTYxOCw3IEBAIHNldF9n Y191c2VkIChwYWlyX3AgdmFyaWFibGVzKQogICAgIHByaW50ZiAoIiVzIHVzZWQgJWQgR1RZ LWVkIHZhcmlhYmxlc1xuIiwgcHJvZ25hbWUsIG5idmFycyk7CiB9CiAMCi0vKiBGaWxlIG1h cHBpbmcgcm91dGluZXMuICBGb3IgZWFjaCBpbnB1dCBmaWxlLCB0aGVyZSBpcyBvbmUgb3V0 cHV0IC5jIGZpbGUKKy8qIEZpbGUgbWFwcGluZyByb3V0aW5lcy4gIEZvciBlYWNoIGlucHV0 IGZpbGUsIHRoZXJlIGlzIG9uZSBvdXRwdXQgLmNjIGZpbGUKICAgIChidXQgc29tZSBvdXRw dXQgZmlsZXMgaGF2ZSBtYW55IGlucHV0IGZpbGVzKSwgYW5kIHRoZXJlIGlzIG9uZSAuaCBm aWxlCiAgICBmb3IgdGhlIHdob2xlIGJ1aWxkLiAgKi8KIApAQCAtMTk0OSw4ICsxOTQ5LDgg QEAgc3RydWN0IGZpbGVfcnVsZV9zdCB7CiAvKiBGaWxlIHJ1bGUgYWN0aW9uIGhhbmRsaW5n ICouaCBmaWxlcy4gICovCiBzdGF0aWMgb3V0Zl9wIGhlYWRlcl9kb3RfaF9mcnVsIChpbnB1 dF9maWxlKiwgY2hhcioqLCBjaGFyKiopOwogCi0vKiBGaWxlIHJ1bGUgYWN0aW9uIGhhbmRs aW5nICouYyBmaWxlcy4gICovCi1zdGF0aWMgb3V0Zl9wIHNvdXJjZV9kb3RfY19mcnVsIChp bnB1dF9maWxlKiwgY2hhcioqLCBjaGFyKiopOworLyogRmlsZSBydWxlIGFjdGlvbiBoYW5k bGluZyAqLmNjIGZpbGVzLiAgKi8KK3N0YXRpYyBvdXRmX3Agc291cmNlX2RvdF9jY19mcnVs IChpbnB1dF9maWxlKiwgY2hhcioqLCBjaGFyKiopOwogCiAjZGVmaW5lIE5VTExfUkVHRVgg KHJlZ2V4X3QqKTAKIApAQCAtMTk3MCw5ICsxOTcwLDkgQEAgc3RydWN0IGZpbGVfcnVsZV9z dCBmaWxlc19ydWxlc1tdID0gewogICAgICBidXQgYXJlIG5vdCBzaGFyZWQuICAqLwogCiAg IC8qIHRoZSBjLWZhbWlseS8gc291cmNlIGRpcmVjdG9yeSBpcyBzcGVjaWFsLiAgKi8KLSAg eyBESVJfUFJFRklYX1JFR0VYICJjLWZhbWlseS8oW1s6YWxudW06XV8tXSopXFwuYyQiLAor ICB7IERJUl9QUkVGSVhfUkVHRVggImMtZmFtaWx5LyhbWzphbG51bTpdXy1dKilcXC5jYyQi LAogICAgIFJFR19FWFRFTkRFRCwgTlVMTF9SRUdFWCwKLSAgICAiZ3QtYy1mYW1pbHktJDMu aCIsICJjLWZhbWlseS8kMy5jIiwgTlVMTF9GUlVMQUNUfSwKKyAgICAiZ3QtYy1mYW1pbHkt JDMuaCIsICJjLWZhbWlseS8kMy5jYyIsIE5VTExfRlJVTEFDVH0sCiAKICAgeyBESVJfUFJF RklYX1JFR0VYICJjLWZhbWlseS8oW1s6YWxudW06XV8tXSopXFwuaCQiLAogICAgIFJFR19F WFRFTkRFRCwgTlVMTF9SRUdFWCwKQEAgLTIwMTUsMjAgKzIwMTUsMTQgQEAgc3RydWN0IGZp bGVfcnVsZV9zdCBmaWxlc19ydWxlc1tdID0gewogICAgIFJFR19FWFRFTkRFRCwgTlVMTF9S RUdFWCwKICAgICAiZ3Qtb2JqYy1vYmpjLW1hcC5oIiwgIm9iamMvb2JqYy1tYXAuY2MiLCBO VUxMX0ZSVUxBQ1QgfSwKIAotICAvKiBHZW5lcmFsIGNhc2VzLiAgRm9yIGhlYWRlciAqLmgg YW5kIHNvdXJjZSAqLmMgb3IgKi5jYyBmaWxlcywgd2UKKyAgLyogR2VuZXJhbCBjYXNlcy4g IEZvciBoZWFkZXIgKi5oIGFuZCAqLmNjIGZpbGVzLCB3ZQogICAgKiBuZWVkIHNwZWNpYWwg YWN0aW9ucyB0byBoYW5kbGUgdGhlIGxhbmd1YWdlLiAgKi8KIAotICAvKiBTb3VyY2UgKi5j IGZpbGVzIGFyZSB1c2luZyBnZXRfZmlsZV9ndGZpbGVuYW1lIHRvIGNvbXB1dGUgdGhlaXIK LSAgICAgb3V0cHV0X25hbWUgYW5kIGdldF9maWxlX2Jhc2VuYW1lIHRvIGNvbXB1dGUgdGhl aXIgZm9yX25hbWUKLSAgICAgdGhyb3VnaCB0aGUgc291cmNlX2RvdF9jX2ZydWwgYWN0aW9u LiAgKi8KLSAgeyBESVJfUFJFRklYX1JFR0VYICIoW1s6YWxudW06XV8tXSopXFwuYyQiLAot ICAgIFJFR19FWFRFTkRFRCwgTlVMTF9SRUdFWCwgImd0LSQzLmgiLCAiJDMuYyIsIHNvdXJj ZV9kb3RfY19mcnVsfSwKLQogICAvKiBTb3VyY2UgKi5jYyBmaWxlcyBhcmUgdXNpbmcgZ2V0 X2ZpbGVfZ3RmaWxlbmFtZSB0byBjb21wdXRlIHRoZWlyCiAgICAgIG91dHB1dF9uYW1lIGFu ZCBnZXRfZmlsZV9iYXNlbmFtZSB0byBjb21wdXRlIHRoZWlyIGZvcl9uYW1lCi0gICAgIHRo cm91Z2ggdGhlIHNvdXJjZV9kb3RfY19mcnVsIGFjdGlvbi4gICovCisgICAgIHRocm91Z2gg dGhlIHNvdXJjZV9kb3RfY2NfZnJ1bCBhY3Rpb24uICAqLwogICB7IERJUl9QUkVGSVhfUkVH RVggIihbWzphbG51bTpdXy1dKilcXC5jYyQiLAotICAgIFJFR19FWFRFTkRFRCwgTlVMTF9S RUdFWCwgImd0LSQzLmgiLCAiJDMuY2MiLCBzb3VyY2VfZG90X2NfZnJ1bH0sCisgICAgUkVH X0VYVEVOREVELCBOVUxMX1JFR0VYLCAiZ3QtJDMuaCIsICIkMy5jYyIsIHNvdXJjZV9kb3Rf Y2NfZnJ1bH0sCiAKICAgLyogQ29tbW9uIGhlYWRlciBmaWxlcyBnZXQgImd0eXBlLWRlc2Mu Y2MiIGFzIHRoZWlyIG91dHB1dF9uYW1lLAogICAgKiB3aGlsZSBsYW5ndWFnZSBzcGVjaWZp YyBoZWFkZXIgZmlsZXMgYXJlIGhhbmRsZWQgc3BlY2lhbGx5LiAgU28KQEAgLTIwODMsMTMg KzIwNzcsMTMgQEAgaGVhZGVyX2RvdF9oX2ZydWwgKGlucHV0X2ZpbGUqIGlucGYsIGNoYXIq KnBvdXRuYW1lLAogfQogCiAKLS8qIFNwZWNpYWwgZmlsZSBydWxlcyBhY3Rpb24gZm9yIGhh bmRsaW5nICouYyBzb3VyY2UgZmlsZXMgdXNpbmcKKy8qIFNwZWNpYWwgZmlsZSBydWxlcyBh Y3Rpb24gZm9yIGhhbmRsaW5nICouY2Mgc291cmNlIGZpbGVzIHVzaW5nCiAgKiBnZXRfZmls ZV9ndGZpbGVuYW1lIHRvIGNvbXB1dGUgdGhlaXIgb3V0cHV0X25hbWUgYW5kCiAgKiBnZXRf ZmlsZV9iYXNlbmFtZSB0byBjb21wdXRlIHRoZWlyIGZvcl9uYW1lLiAgVGhlIG91dHB1dF9u YW1lIGlzCiAgKiBndC08TEFORz4tPEJBU0U+LmggZm9yIGxhbmd1YWdlIHNwZWNpZmljIHNv dXJjZSBmaWxlcywgYW5kCiAgKiBndC08QkFTRT4uaCBmb3IgY29tbW9uIHNvdXJjZSBmaWxl cy4gICovCiBzdGF0aWMgb3V0Zl9wCi1zb3VyY2VfZG90X2NfZnJ1bCAoaW5wdXRfZmlsZSog aW5wZiwgY2hhcioqcG91dG5hbWUsIGNoYXIqKnBmb3JuYW1lKQorc291cmNlX2RvdF9jY19m cnVsIChpbnB1dF9maWxlKiBpbnBmLCBjaGFyKipwb3V0bmFtZSwgY2hhcioqcGZvcm5hbWUp CiB7CiAgIGNoYXIgKm5ld2Jhc2VuYW1lID0gQ09OU1RfQ0FTVCAoY2hhciosIGdldF9maWxl X2Jhc2VuYW1lIChpbnBmKSk7CiAgIGNoYXIgKm5ld291dG5hbWUgPSBDT05TVF9DQVNUIChj aGFyKiwgZ2V0X2ZpbGVfZ3RmaWxlbmFtZSAoaW5wZikpOwpAQCAtMjM3MSw4ICsyMzY1LDgg QEAgY2xvc2Vfb3V0cHV0X2ZpbGVzICh2b2lkKQogCXsKIAkgIEZJTEUgKm5ld2ZpbGUgPSBO VUxMOwogCSAgY2hhciAqYmFja3VwbmFtZSA9IE5VTEw7Ci0JICAvKiBCYWNrIHVwIHRoZSBv bGQgdmVyc2lvbiBvZiB0aGUgb3V0cHV0IGZpbGUgZ3QtRk9PLmMgYXMKLQkgICAgIEJBQ0tV UERJUi9ndC1GT08uY34gaWYgd2UgaGF2ZSBhIGJhY2t1cCBkaXJlY3RvcnkuICAqLworCSAg LyogQmFjayB1cCB0aGUgb2xkIHZlcnNpb24gb2YgdGhlIG91dHB1dCBmaWxlIGd0LUZPTy5j YyBhcworCSAgICAgQkFDS1VQRElSL2d0LUZPTy5jY34gaWYgd2UgaGF2ZSBhIGJhY2t1cCBk aXJlY3RvcnkuICAqLwogCSAgaWYgKGJhY2t1cF9kaXIpCiAJICAgIHsKIAkgICAgICBiYWNr dXBuYW1lID0gY29uY2F0IChiYWNrdXBfZGlyLCAiLyIsCmRpZmYgLS1naXQgYS9saWJnY2Mv bGliZ2Nvdi1kcml2ZXIuYyBiL2xpYmdjYy9saWJnY292LWRyaXZlci5jCmluZGV4IGRjZDc3 ZjdhYWU1Li43ZTUyYzU2NzZlNSAxMDA2NDQKLS0tIGEvbGliZ2NjL2xpYmdjb3YtZHJpdmVy LmMKKysrIGIvbGliZ2NjL2xpYmdjb3YtZHJpdmVyLmMKQEAgLTc5LDcgKzc5LDcgQEAgc3Rh dGljIGludCBnY292X2Vycm9yIChjb25zdCBjaGFyICosIC4uLik7CiBzdGF0aWMgdm9pZCBn Y292X2Vycm9yX2V4aXQgKHZvaWQpOwogI2VuZGlmCiAKLSNpbmNsdWRlICJnY292LWlvLmMi CisjaW5jbHVkZSAiZ2Nvdi1pby5jYyIKIAogI2RlZmluZSBHQ09WX1BST0ZfUFJFRklYICJs aWJnY292IHByb2ZpbGluZyBlcnJvcjolczoiCiAKLS0gCjIuMzQuMQoK --------------wSimAblyGDEtE5GVTakiz0rL--