From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: build failures in mingw64 Date: Sun, 9 Jul 2023 13:57:25 -0700 Organization: UCLA Computer Science Department Message-ID: <2ed1361e-9cf1-fb25-14bf-ee634aaf9382@cs.ucla.edu> References: <1089214782.2847848.1688889913507@mail1.libero.it> <83351xbh7y.fsf@gnu.org> <190474050.3639024.1688895205348@mail1.libero.it> <83v8et9vs9.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------7eqV4rpls2q3D35p8H1LQvzX" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39458"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Cc: emacs-devel@gnu.org To: Eli Zaretskii , Angelo Graziosi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jul 09 22:58:40 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qIbUN-000A6M-67 for ged-emacs-devel@m.gmane-mx.org; Sun, 09 Jul 2023 22:58:39 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qIbTO-0000J5-Eb; Sun, 09 Jul 2023 16:57:38 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIbTN-0000It-9S for emacs-devel@gnu.org; Sun, 09 Jul 2023 16:57:37 -0400 Original-Received: from mail.cs.ucla.edu ([131.179.128.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qIbTI-0007E6-Dy; Sun, 09 Jul 2023 16:57:37 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id D43AD3C011BD4; Sun, 9 Jul 2023 13:57:28 -0700 (PDT) Original-Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id AjQuj2oPg5lx; Sun, 9 Jul 2023 13:57:27 -0700 (PDT) Original-Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 2DCCF3C011BD5; Sun, 9 Jul 2023 13:57:27 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 2DCCF3C011BD5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1688936247; bh=E1YKkT7hwEe5IohsBfw0vv0B2fc9XtkapxnSh13jzTM=; h=Message-ID:Date:MIME-Version:To:From; b=M90NPOby8frFL3jYNwLiI/UIeOw1et5eGHGcRd/IN6gZF1AYDjCp+UV0UKdG/vL6N nAMLYMk8JxIVCeDKj74bwmlIj5A0kP3n9XHWRB2JyOhEkt5f+1n0xabJN4PN5ygS54 3cgOjfz+HV7oub0Hye9a2LFctL9GZPu0/5CEKCVQEpKiQIFNmAueZai1nwzWj7Rtkm 6y+3eXX6vUJMKa93yLFXQfndzK8JIPH/k7Q6EEveoEwO+coe3gL5YmF4nd4GIj20rt 2RGT1xolMIN60A4TXcFCeeS2ml4w+yuEZ+I984A1vzw+XHyf9gdsmg58wXc02HSoqX PV4ITLwDAKOFw== X-Virus-Scanned: amavisd-new at mail.cs.ucla.edu Original-Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id YU1_gM39b9gc; Sun, 9 Jul 2023 13:57:27 -0700 (PDT) Original-Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id E1B5C3C011BD4; Sun, 9 Jul 2023 13:57:26 -0700 (PDT) Content-Language: en-US In-Reply-To: <83v8et9vs9.fsf@gnu.org> Received-SPF: pass client-ip=131.179.128.66; envelope-from=eggert@cs.ucla.edu; helo=mail.cs.ucla.edu X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.09, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307700 Archived-At: This is a multi-part message in MIME format. --------------7eqV4rpls2q3D35p8H1LQvzX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2023-07-09 04:19, Eli Zaretskii wrote: > This is a Gnulib bug, we've "inherited" it 2 months ago. Odd, that could happen if one ran 'configure' with an unusual argument, e.g., './configure gt_cv_locale_fr=', but I don't see how it could happen otherwise. The configure-time test for French locales is present only to work around a Solaris 10 bug, and looking into that bug I don't see how it could affect Emacs. So I installed the attached patches to bring Emacs up to speed on recent Gnulib (I fixed Gnulib to handle the "unusual argument" issue), and to remove the unnecessary-for-Emacs French locale testing so this should work around whatever obscure issue Angelo ran into. Please give it a try. --------------7eqV4rpls2q3D35p8H1LQvzX Content-Type: text/x-patch; charset=UTF-8; name="0001-Update-from-Gnulib-by-running-admin-merge-gnulib.patch" Content-Disposition: attachment; filename*0="0001-Update-from-Gnulib-by-running-admin-merge-gnulib.patch" Content-Transfer-Encoding: base64 RnJvbSBjM2NmYWRhM2MwNzU5OTFkN2EzOGZhZmJkY2Y1ZGFiYTA2Nzk0ZDdhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDkgSnVsIDIwMjMgMTM6MDU6MDEgLTA3MDAKU3ViamVjdDogW1BBVENI IDEvMl0gVXBkYXRlIGZyb20gR251bGliIGJ5IHJ1bm5pbmcgYWRtaW4vbWVyZ2UtZ251bGli CgotLS0KIGJ1aWxkLWF1eC9jb25maWcuZ3Vlc3MgICAgICAgIHwgIDE2ICstLQogYnVpbGQt YXV4L2NvbmZpZy5zdWIgICAgICAgICAgfCAgMzEgKysrLS0KIGJ1aWxkLWF1eC9naXRsb2ct dG8tY2hhbmdlbG9nIHwgICA0ICstCiBidWlsZC1hdXgvdXBkYXRlLWNvcHlyaWdodCAgICB8 ICAyMCArKy0tCiBkb2MvbWlzYy90ZXhpbmZvLnRleCAgICAgICAgICB8IDIxNCArKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvZ251bGliLm1rLmluICAgICAgICAg ICAgICB8ICAgNCArCiBsaWIvbGltaXRzLmluLmggICAgICAgICAgICAgICB8ICAgMiArLQog bGliL3JlZ2NvbXAuYyAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIG00L2ZzdXNhZ2UubTQg ICAgICAgICAgICAgICAgIHwgICAyICstCiBtNC9sYXJnZWZpbGUubTQgICAgICAgICAgICAg ICB8ICAyMSArKystCiBtNC9sb2NhbGUtZnIubTQgICAgICAgICAgICAgICB8IDEzMSArKysr KysrKysrKysrKy0tLS0tLS0KIG00L3dhcm5pbmdzLm00ICAgICAgICAgICAgICAgIHwgIDIy ICsrKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDI3OCBpbnNlcnRpb25zKCspLCAxOTEgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvYnVpbGQtYXV4L2NvbmZpZy5ndWVzcyBiL2J1aWxkLWF1 eC9jb25maWcuZ3Vlc3MKaW5kZXggNjkxODhkYTczZDcuLjM1NGE4Y2NkZTQyIDEwMDc1NQot LS0gYS9idWlsZC1hdXgvY29uZmlnLmd1ZXNzCisrKyBiL2J1aWxkLWF1eC9jb25maWcuZ3Vl c3MKQEAgLTQsNyArNCw3IEBACiAKICMgc2hlbGxjaGVjayBkaXNhYmxlPVNDMjAwNixTQzIy NjggIyBzZWUgYmVsb3cgZm9yIHJhdGlvbmFsZQogCi10aW1lc3RhbXA9JzIwMjMtMDEtMDEn Cit0aW1lc3RhbXA9JzIwMjMtMDYtMjMnCiAKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKICMgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKQEAgLTQ3LDcgKzQ3LDcgQEAgbWU9CiB1c2FnZT0iXAogVXNhZ2U6ICQwIFtPUFRJ T05dCiAKLU91dHB1dCB0aGUgY29uZmlndXJhdGlvbiBuYW1lIG9mIHRoZSBzeXN0ZW0gXGAk bWUnIGlzIHJ1biBvbi4KK091dHB1dCB0aGUgY29uZmlndXJhdGlvbiBuYW1lIG9mIHRoZSBz eXN0ZW0gJyRtZScgaXMgcnVuIG9uLgogCiBPcHRpb25zOgogICAtaCwgLS1oZWxwICAgICAg ICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKQEAgLTY2LDcgKzY2LDcgQEAgdmVyc2lv bj0KIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKIAogaGVscD0iCi1UcnkgXGAkbWUgLS1oZWxw JyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCitUcnkgJyRtZSAtLWhlbHAnIGZvciBtb3JlIGlu Zm9ybWF0aW9uLiIKIAogIyBQYXJzZSBjb21tYW5kIGxpbmUKIHdoaWxlIHRlc3QgJCMgLWd0 IDAgOyBkbwpAQCAtMTAyLDggKzEwMiw4IEBAIEdVRVNTPQogIyB0ZW1wb3JhcnkgZmlsZXMg dG8gYmUgY3JlYXRlZCBhbmQsIGFzIHlvdSBjYW4gc2VlIGJlbG93LCBpdCBpcyBhCiAjIGhl YWRhY2hlIHRvIGRlYWwgd2l0aCBpbiBhIHBvcnRhYmxlIGZhc2hpb24uCiAKLSMgSGlzdG9y aWNhbGx5LCBgQ0NfRk9SX0JVSUxEJyB1c2VkIHRvIGJlIG5hbWVkIGBIT1NUX0NDJy4gV2Ug c3RpbGwKLSMgdXNlIGBIT1NUX0NDJyBpZiBkZWZpbmVkLCBidXQgaXQgaXMgZGVwcmVjYXRl ZC4KKyMgSGlzdG9yaWNhbGx5LCAnQ0NfRk9SX0JVSUxEJyB1c2VkIHRvIGJlIG5hbWVkICdI T1NUX0NDJy4gV2Ugc3RpbGwKKyMgdXNlICdIT1NUX0NDJyBpZiBkZWZpbmVkLCBidXQgaXQg aXMgZGVwcmVjYXRlZC4KIAogIyBQb3J0YWJsZSB0bXAgZGlyZWN0b3J5IGNyZWF0aW9uIGlu c3BpcmVkIGJ5IHRoZSBBdXRvY29uZiB0ZWFtLgogCkBAIC00NTksNyArNDU5LDcgQEAgVU5B TUVfVkVSU0lPTj0KIAkJVU5BTUVfUkVMRUFTRT1gdW5hbWUgLXZgCiAJCTs7CiAJZXNhYwot CSMgSmFwYW5lc2UgTGFuZ3VhZ2UgdmVyc2lvbnMgaGF2ZSBhIHZlcnNpb24gbnVtYmVyIGxp a2UgYDQuMS4zLUpMJy4KKwkjIEphcGFuZXNlIExhbmd1YWdlIHZlcnNpb25zIGhhdmUgYSB2 ZXJzaW9uIG51bWJlciBsaWtlICc0LjEuMy1KTCcuCiAJU1VOX1JFTD1gZWNobyAiJFVOQU1F X1JFTEVBU0UiIHwgc2VkIC1lICdzLy0vXy8nYAogCUdVRVNTPXNwYXJjLXN1bi1zdW5vcyRT VU5fUkVMCiAJOzsKQEAgLTExOTcsNyArMTE5Nyw3IEBAIAltYWluICgpCiAJR1VFU1M9JFVO QU1FX01BQ0hJTkUtcGMtc3lzdjQuMnV3JFVOQU1FX1ZFUlNJT04KIAk7OwogICAgIGkqODY6 T1MvMjoqOiopCi0JIyBJZiB3ZSB3ZXJlIGFibGUgdG8gZmluZCBgdW5hbWUnLCB0aGVuIEVN WCBVbml4IGNvbXBhdGliaWxpdHkKKwkjIElmIHdlIHdlcmUgYWJsZSB0byBmaW5kICd1bmFt ZScsIHRoZW4gRU1YIFVuaXggY29tcGF0aWJpbGl0eQogCSMgaXMgcHJvYmFibHkgaW5zdGFs bGVkLgogCUdVRVNTPSRVTkFNRV9NQUNISU5FLXBjLW9zMi1lbXgKIAk7OwpAQCAtMTMzOCw3 ICsxMzM4LDcgQEAgCW1haW4gKCkKIAkJR1VFU1M9bnMzMmstc25pLXN5c3YKIAlmaQogCTs7 Ci0gICAgUEVOVElVTToqOjQuMCo6KikJIyBVbmlzeXMgYENsZWFyUGF0aCBITVAgSVggNDAw MCcgU1ZSNC9NUCBlZmZvcnQKKyAgICBQRU5USVVNOio6NC4wKjoqKQkjIFVuaXN5cyAnQ2xl YXJQYXRoIEhNUCBJWCA0MDAwJyBTVlI0L01QIGVmZm9ydAogCQkJIyBzYXlzIDxSaWNoYXJk Lk0uQmFydGVsQGNjTWFpbC5DZW5zdXMuR09WPgogCUdVRVNTPWk1ODYtdW5pc3lzLXN5c3Y0 CiAJOzsKZGlmZiAtLWdpdCBhL2J1aWxkLWF1eC9jb25maWcuc3ViIGIvYnVpbGQtYXV4L2Nv bmZpZy5zdWIKaW5kZXggZGU0MjU5ZTQwNDcuLjk4NjVkNmVhNGQxIDEwMDc1NQotLS0gYS9i dWlsZC1hdXgvY29uZmlnLnN1YgorKysgYi9idWlsZC1hdXgvY29uZmlnLnN1YgpAQCAtNCw3 ICs0LDcgQEAKIAogIyBzaGVsbGNoZWNrIGRpc2FibGU9U0MyMDA2LFNDMjI2OCAjIHNlZSBi ZWxvdyBmb3IgcmF0aW9uYWxlCiAKLXRpbWVzdGFtcD0nMjAyMy0wMS0yMScKK3RpbWVzdGFt cD0nMjAyMy0wNi0yNicKIAogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAogIyB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAt ODIsNyArODIsNyBAQCB2ZXJzaW9uPQogd2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIgogCiBoZWxw PSIKLVRyeSBcYCRtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKK1RyeSAnJG1l IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogCiAjIFBhcnNlIGNvbW1hbmQgbGlu ZQogd2hpbGUgdGVzdCAkIyAtZ3QgMCA7IGRvCkBAIC0xMzAsNyArMTMwLDcgQEAgSUZTPQog IyBTZXBhcmF0ZSBpbnRvIGxvZ2ljYWwgY29tcG9uZW50cyBmb3IgZnVydGhlciB2YWxpZGF0 aW9uCiBjYXNlICQxIGluCiAJKi0qLSotKi0qKQotCQllY2hvIEludmFsaWQgY29uZmlndXJh dGlvbiBcYCIkMSJcJzogbW9yZSB0aGFuIGZvdXIgY29tcG9uZW50cyA+JjIKKwkJZWNobyAi SW52YWxpZCBjb25maWd1cmF0aW9uICckMSc6IG1vcmUgdGhhbiBmb3VyIGNvbXBvbmVudHMi ID4mMgogCQlleGl0IDEKIAkJOzsKIAkqLSotKi0qKQpAQCAtMTQ1LDcgKzE0NSw4IEBAIElG Uz0KIAkJCW50by1xbngqIHwgbGludXgtKiB8IHVjbGludXgtdWNsaWJjKiBcCiAJCQl8IHVj bGludXgtZ251KiB8IGtmcmVlYnNkKi1nbnUqIHwga25ldGJzZCotZ251KiB8IG5ldGJzZCot Z251KiBcCiAJCQl8IG5ldGJzZCotZWFiaSogfCBrb3BlbnNvbGFyaXMqLWdudSogfCBjbG91 ZGFiaSotZWFiaSogXAotCQkJfCBzdG9ybS1jaGFvcyogfCBvczItZW14KiB8IHJ0bWstbm92 YSogfCBtYW5hZ2FybS0qKQorCQkJfCBzdG9ybS1jaGFvcyogfCBvczItZW14KiB8IHJ0bWst bm92YSogfCBtYW5hZ2FybS0qIFwKKwkJCXwgd2luZG93cy0qICkKIAkJCQliYXNpY19tYWNo aW5lPSRmaWVsZDEKIAkJCQliYXNpY19vcz0kbWF5YmVfb3MKIAkJCQk7OwpAQCAtOTQzLDcg Kzk0NCw3IEBAIElGUz0KIEVPRgogCQlJRlM9JHNhdmVkX0lGUwogCQk7OwotCSMgV2UgdXNl IGBwYycgcmF0aGVyIHRoYW4gYHVua25vd24nCisJIyBXZSB1c2UgJ3BjJyByYXRoZXIgdGhh biAndW5rbm93bicKIAkjIGJlY2F1c2UgKDEpIHRoYXQncyB3aGF0IHRoZXkgbm9ybWFsbHkg YXJlLCBhbmQKIAkjICgyKSB0aGUgd29yZCAidW5rbm93biIgdGVuZHMgdG8gY29uZnVzZSBi ZWdpbm5pbmcgdXNlcnMuCiAJaSo4NiB8IHg4Nl82NCkKQEAgLTEyODUsNyArMTI4Niw3IEBA IElGUz0KIAkJCQk7OwogCiAJCQkqKQotCQkJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9u IFxgIiQxIlwnOiBtYWNoaW5lIFxgIiRjcHUtJHZlbmRvciJcJyBub3QgcmVjb2duaXplZCAx PiYyCisJCQkJZWNobyAiSW52YWxpZCBjb25maWd1cmF0aW9uICckMSc6IG1hY2hpbmUgJyRj cHUtJHZlbmRvcicgbm90IHJlY29nbml6ZWQiIDE+JjIKIAkJCQlleGl0IDEKIAkJCQk7Owog CQllc2FjCkBAIC0xNzY2LDExICsxNzY3LDExIEBAIGtlcm5lbD0KIAkJOzsKIAlub25lKQog CQk7OwotCWtlcm5lbCogKQorCWtlcm5lbCogfCBtc3ZjKiApCiAJCSMgUmVzdHJpY3RlZCBm dXJ0aGVyIGJlbG93CiAJCTs7CiAJKikKLQkJZWNobyBJbnZhbGlkIGNvbmZpZ3VyYXRpb24g XGAiJDEiXCc6IE9TIFxgIiRvcyJcJyBub3QgcmVjb2duaXplZCAxPiYyCisJCWVjaG8gIklu dmFsaWQgY29uZmlndXJhdGlvbiAnJDEnOiBPUyAnJG9zJyBub3QgcmVjb2duaXplZCIgMT4m MgogCQlleGl0IDEKIAkJOzsKIGVzYWMKQEAgLTE3ODUsMTggKzE3ODYsMjQgQEAga2VybmVs PQogCQk7OwogCW1hbmFnYXJtLW1saWJjKiB8IG1hbmFnYXJtLWtlcm5lbCogKQogCQk7Owor CXdpbmRvd3MqLWdudSogfCB3aW5kb3dzKi1tc3ZjKikKKwkJOzsKIAktZGlldGxpYmMqIHwg LW5ld2xpYiogfCAtbXVzbCogfCAtcmVsaWJjKiB8IC11Y2xpYmMqIHwgLW1saWJjKiApCiAJ CSMgVGhlc2UgYXJlIGp1c3QgbGliYyBpbXBsZW1lbnRhdGlvbnMsIG5vdCBhY3R1YWwgT1Nl cywgYW5kIHRodXMKIAkJIyByZXF1aXJlIGEga2VybmVsLgotCQllY2hvICJJbnZhbGlkIGNv bmZpZ3VyYXRpb24gXGAkMSc6IGxpYmMgXGAkb3MnIG5lZWRzIGV4cGxpY2l0IGtlcm5lbC4i IDE+JjIKKwkJZWNobyAiSW52YWxpZCBjb25maWd1cmF0aW9uICckMSc6IGxpYmMgJyRvcycg bmVlZHMgZXhwbGljaXQga2VybmVsLiIgMT4mMgogCQlleGl0IDEKIAkJOzsKIAkta2VybmVs KiApCi0JCWVjaG8gIkludmFsaWQgY29uZmlndXJhdGlvbiBcYCQxJzogXGAkb3MnIG5lZWRz IGV4cGxpY2l0IGtlcm5lbC4iIDE+JjIKKwkJZWNobyAiSW52YWxpZCBjb25maWd1cmF0aW9u ICckMSc6ICckb3MnIG5lZWRzIGV4cGxpY2l0IGtlcm5lbC4iIDE+JjIKIAkJZXhpdCAxCiAJ CTs7CiAJKi1rZXJuZWwqICkKLQkJZWNobyAiSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDEn OiBcYCRrZXJuZWwnIGRvZXMgbm90IHN1cHBvcnQgXGAkb3MnLiIgMT4mMgorCQllY2hvICJJ bnZhbGlkIGNvbmZpZ3VyYXRpb24gJyQxJzogJyRrZXJuZWwnIGRvZXMgbm90IHN1cHBvcnQg JyRvcycuIiAxPiYyCisJCWV4aXQgMQorCQk7OworCSotbXN2YyogKQorCQllY2hvICJJbnZh bGlkIGNvbmZpZ3VyYXRpb24gJyQxJzogJyRvcycgbmVlZHMgJ3dpbmRvd3MnLiIgMT4mMgog CQlleGl0IDEKIAkJOzsKIAlrZnJlZWJzZCotZ251KiB8IGtvcGVuc29sYXJpcyotZ251KikK QEAgLTE4MTMsNyArMTgyMCw3IEBAIGtlcm5lbD0KIAkJIyBCbGFuayBrZXJuZWwgd2l0aCBy ZWFsIE9TIGlzIGFsd2F5cyBmaW5lLgogCQk7OwogCSotKikKLQkJZWNobyAiSW52YWxpZCBj b25maWd1cmF0aW9uIFxgJDEnOiBLZXJuZWwgXGAka2VybmVsJyBub3Qga25vd24gdG8gd29y ayB3aXRoIE9TIFxgJG9zJy4iIDE+JjIKKwkJZWNobyAiSW52YWxpZCBjb25maWd1cmF0aW9u ICckMSc6IEtlcm5lbCAnJGtlcm5lbCcgbm90IGtub3duIHRvIHdvcmsgd2l0aCBPUyAnJG9z Jy4iIDE+JjIKIAkJZXhpdCAxCiAJCTs7CiBlc2FjCmRpZmYgLS1naXQgYS9idWlsZC1hdXgv Z2l0bG9nLXRvLWNoYW5nZWxvZyBiL2J1aWxkLWF1eC9naXRsb2ctdG8tY2hhbmdlbG9nCmlu ZGV4IDQ2NzhiYWQxMDUwLi40M2U0YTM3YWRmNCAxMDA3NTUKLS0tIGEvYnVpbGQtYXV4L2dp dGxvZy10by1jaGFuZ2Vsb2cKKysrIGIvYnVpbGQtYXV4L2dpdGxvZy10by1jaGFuZ2Vsb2cK QEAgLTM1LDcgKzM1LDcgQEAKIGV2YWwgJ2V4ZWMgcGVybCAtd1N4ICIkMCIgIiRAIicKICAg ICAgaWYgMDsKIAotbXkgJFZFUlNJT04gPSAnMjAyMi0wMS0yNyAxODo0OSc7ICMgVVRDCitt eSAkVkVSU0lPTiA9ICcyMDIzLTA2LTI0IDIxOjU5JzsgIyBVVEMKICMgVGhlIGRlZmluaXRp b24gYWJvdmUgbXVzdCBsaWUgd2l0aGluIHRoZSBmaXJzdCA4IGxpbmVzIGluIG9yZGVyCiAj IGZvciB0aGUgRW1hY3MgdGltZS1zdGFtcCB3cml0ZSBob29rIChhdCBlbmQpIHRvIHVwZGF0 ZSBpdC4KICMgSWYgeW91IGNoYW5nZSB0aGlzIGZpbGUgd2l0aCBFbWFjcywgcGxlYXNlIGxl dCB0aGUgd3JpdGUgaG9vawpAQCAtMzU1LDcgKzM1NSw3IEBAIHN1YiBnaXRfZGlyX29wdGlv bigkKQogICAgICAgICAgIC4gIihleHBlY3RlZCBkYXRlL2F1dGhvci9lbWFpbCk6XG4kYXV0 aG9yX2xpbmVcbiI7CiAKICAgICAgICMgRm9ybWF0ICdDb3B5cmlnaHQtcGFwZXJ3b3JrLWV4 ZW1wdDogWWVzJyBhcyBhIHN0YW5kYXJkIENoYW5nZUxvZwotICAgICAgIyBgKHRpbnkgY2hh bmdlKScgYW5ub3RhdGlvbi4KKyAgICAgICMgJyh0aW55IGNoYW5nZSknIGFubm90YXRpb24u CiAgICAgICBteSAkdGlueSA9IChncmVwICgvXig/OkNvcHlyaWdodC1wYXBlcndvcmstZXhl bXB0fFRpbnktY2hhbmdlKTpccytbWXldZXMkLywgQGxpbmUpCiAgICAgICAgICAgICAgICAg ICA/ICcgICh0aW55IGNoYW5nZSknIDogJycpOwogCmRpZmYgLS1naXQgYS9idWlsZC1hdXgv dXBkYXRlLWNvcHlyaWdodCBiL2J1aWxkLWF1eC91cGRhdGUtY29weXJpZ2h0CmluZGV4IDk5 MTk2ZmNlZWY2Li4wMzQzZWFhNzJjMSAxMDA3NTUKLS0tIGEvYnVpbGQtYXV4L3VwZGF0ZS1j b3B5cmlnaHQKKysrIGIvYnVpbGQtYXV4L3VwZGF0ZS1jb3B5cmlnaHQKQEAgLTk4LDcgKzk4 LDggQEAKICMgICA2LiBCbGFuayBsaW5lcywgZXZlbiBpZiBwcmVjZWRlZCBieSB0aGUgcHJl Zml4LCBkbyBub3QgYXBwZWFyCiAjICAgICAgd2l0aGluIHRoZSBGU0YgY29weXJpZ2h0IHN0 YXRlbWVudC4KICMgICA3LiBFYWNoIGNvcHlyaWdodCB5ZWFyIGlzIDIgb3IgNCBkaWdpdHMs IGFuZCB5ZWFycyBhcmUgc2VwYXJhdGVkIGJ5Ci0jICAgICAgY29tbWFzLCAiLSIsIG9yICIt LSIuICBXaGl0ZXNwYWNlIG1heSBhcHBlYXIgYWZ0ZXIgY29tbWFzLgorIyAgICAgIGNvbW1h cywgIi0iLCAiLS0iLCBvciAiXChlbiIgKGZvciB0cm9mZikuICBXaGl0ZXNwYWNlIG1heSBh cHBlYXIKKyMgICAgICBhZnRlciBjb21tYXMuCiAjCiAjIEVudmlyb25tZW50IHZhcmlhYmxl czoKICMKQEAgLTEzNyw3ICsxMzgsNyBAQAogZXZhbCAnZXhlYyBwZXJsIC13U3ggLTA3Nzcg LXBpICIkMCIgIiRAIicKICAgICAgaWYgMDsKIAotbXkgJFZFUlNJT04gPSAnMjAyMy0wMS0x MS4wNDoyNCc7ICMgVVRDCitteSAkVkVSU0lPTiA9ICcyMDIzLTA2LTE4LjAxOjE0JzsgIyBV VEMKICMgVGhlIGRlZmluaXRpb24gYWJvdmUgbXVzdCBsaWUgd2l0aGluIHRoZSBmaXJzdCA4 IGxpbmVzIGluIG9yZGVyCiAjIGZvciB0aGUgRW1hY3MgdGltZS1zdGFtcCB3cml0ZSBob29r IChhdCBlbmQpIHRvIHVwZGF0ZSBpdC4KICMgSWYgeW91IGNoYW5nZSB0aGlzIGZpbGUgd2l0 aCBFbWFjcywgcGxlYXNlIGxldCB0aGUgd3JpdGUgaG9vawpAQCAtMTQ4LDYgKzE0OSw3IEBA IHVzZSB3YXJuaW5nczsKIAogbXkgJGNvcHlyaWdodF9yZSA9ICdDb3B5cmlnaHQnOwogbXkg JGNpcmNsZV9jX3JlID0gJyg/OlwoW2NDXVwpfEBjb3B5cmlnaHRce318XFxcXFwoY298JmNv cHk7fMKpKSc7CitteSAkbmRhc2hfcmUgPSAnKD86LS0/fFxcXFxcKGVuKSc7CiBteSAkaG9s ZGVyID0gJEVOVntVUERBVEVfQ09QWVJJR0hUX0hPTERFUn07CiAkaG9sZGVyIHx8PSAnRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuJzsKIG15ICRwcmVmaXhfbWF4ID0gNTsKQEAg LTE5Miw3ICsxOTQsNyBAQCB3aGlsZSAoLyhefFxuKSguezAsJHByZWZpeF9tYXh9KSRjb3B5 cmlnaHRfcmUvZykKICAgICAkaG9sZGVyX3JlID1+IHMvXHMvJHdzX3JlL2c7CiAgICAgbXkg JHN0bXRfcmVtYWluZGVyX3JlID0KICAgICAgICIoPzokd3NfcmUkY2lyY2xlX2NfcmUpPyIK LSAgICAgIC4gIiR3c19yZSg/Oig/OlxcZFxcZCk/XFxkXFxkKD86LCR3c19yZT98LS0/KSkq IgorICAgICAgLiAiJHdzX3JlKD86KD86XFxkXFxkKT9cXGRcXGQoPzosJHdzX3JlP3wkbmRh c2hfcmUpKSoiCiAgICAgICAuICIoKD86XFxkXFxkKT9cXGRcXGQpJHdzX3JlJGhvbGRlcl9y ZSI7CiAgICAgaWYgKC9cRyRzdG10X3JlbWFpbmRlcl9yZS8pCiAgICAgICB7CkBAIC0yMTUs NyArMjE3LDcgQEAgaWYgKGRlZmluZWQgJHN0bXRfcmUpCiAgICAgaWYgKCRmaW5hbF95ZWFy ICE9ICR0aGlzX3llYXIpCiAgICAgICB7CiAgICAgICAgICMgVXBkYXRlIHRoZSB5ZWFyLgot ICAgICAgICAkc3RtdCA9fiBzL1xiJGZpbmFsX3llYXJfb3JpZ1xiLyRmaW5hbF95ZWFyLCAk dGhpc195ZWFyLzsKKyAgICAgICAgJHN0bXQgPX4gcy8oXnxbXlxkXSkkZmluYWxfeWVhcl9v cmlnXGIvJDEkZmluYWxfeWVhciwgJHRoaXNfeWVhci87CiAgICAgICB9CiAgICAgaWYgKCRm aW5hbF95ZWFyICE9ICR0aGlzX3llYXIgfHwgJEVOVnsnVVBEQVRFX0NPUFlSSUdIVF9GT1JD RSd9KQogICAgICAgewpAQCAtMjMxLDE3ICsyMzMsMTkgQEAgaWYgKGRlZmluZWQgJHN0bXRf cmUpCiAgICAgICAgICMgTWFrZSB0aGUgdXNlIG9mIGludGVydmFscyBjb25zaXN0ZW50Lgog ICAgICAgICBpZiAoISRFTlZ7VVBEQVRFX0NPUFlSSUdIVF9VU0VfSU5URVJWQUxTfSkKICAg ICAgICAgICB7Ci0gICAgICAgICAgICAkc3RtdCA9fiBzLyhcZHs0fSktLT8oXGR7NH0pL2pv aW4oJywgJywgJDEuLiQyKS9lZzsKKyAgICAgICAgICAgICRzdG10ID1+IHMvKFxkezR9KSRu ZGFzaF9yZShcZHs0fSkvam9pbignLCAnLCAkMS4uJDIpL2VnOwogICAgICAgICAgIH0KICAg ICAgICAgZWxzZQogICAgICAgICAgIHsKLSAgICAgICAgICAgIG15ICRuZGFzaCA9ICRBUkdW ID1+IC9cLnRleChpKG5mbyk/KT8kLyA/ICItLSIgOiAiLSI7CisgICAgICAgICAgICBteSAk bmRhc2ggPSAoJEFSR1YgPX4gL1wudGV4KGkobmZvKT8pPyQvID8gIi0tIgorICAgICAgICAg ICAgICAgICAgICAgICAgIDogJEFSR1YgPX4gL1wuKFxkW2Etel0qfG1hbikkLyA/ICJcXChl biIKKyAgICAgICAgICAgICAgICAgICAgICAgICA6ICItIik7CiAKICAgICAgICAgICAgICRz dG10ID1+CiAgICAgICAgICAgICAgIHMvCiAgICAgICAgICAgICAgICAgKFxkezR9KQogICAg ICAgICAgICAgICAgICg/OgotICAgICAgICAgICAgICAgICAgKCxcIHwtLT8pCisgICAgICAg ICAgICAgICAgICAoLFwgfCRuZGFzaF9yZSkKICAgICAgICAgICAgICAgICAgICgoPz97CiAg ICAgICAgICAgICAgICAgICAgIGlmICAgKCQyIG5lICcsICcpIHsgJ1xkezR9JzsgfQogICAg ICAgICAgICAgICAgICAgICBlbHNpZiAoISQzKSAgICAgICB7ICQxICsgMTsgIH0KQEAgLTI1 Miw3ICsyNTYsNyBAQCBpZiAoZGVmaW5lZCAkc3RtdF9yZSkKIAogICAgICAgICAgICAgIyBX aGVuIGl0J3MgMiwgZW1pdCBhIHNpbmdsZSByYW5nZSBlbmNvbXBhc3NpbmcgYWxsIHllYXIg bnVtYmVycy4KICAgICAgICAgICAgICRFTlZ7VVBEQVRFX0NPUFlSSUdIVF9VU0VfSU5URVJW QUxTfSA9PSAyCi0gICAgICAgICAgICAgIGFuZCAkc3RtdCA9fiBzL1xiKFxkezR9KVxiLipc YihcZHs0fSlcYi8kMSRuZGFzaCQyLzsKKyAgICAgICAgICAgICAgYW5kICRzdG10ID1+IHMv KF58W15cZF0pKFxkezR9KVxiLiooPzpbXlxkXSkoXGR7NH0pXGIvJDEkMiRuZGFzaCQzLzsK ICAgICAgICAgICB9CiAKICAgICAgICAgIyBGb3JtYXQgd2l0aGluIG1hcmdpbi4KZGlmZiAt LWdpdCBhL2RvYy9taXNjL3RleGluZm8udGV4IGIvZG9jL21pc2MvdGV4aW5mby50ZXgKaW5k ZXggYTMyYzg0MTk3YWUuLmIxZDI5OTllNWQ3IDEwMDY0NAotLS0gYS9kb2MvbWlzYy90ZXhp bmZvLnRleAorKysgYi9kb2MvbWlzYy90ZXhpbmZvLnRleApAQCAtMyw3ICszLDcgQEAKICUg TG9hZCBwbGFpbiBpZiBuZWNlc3NhcnksIGkuZS4sIGlmIHJ1bm5pbmcgdW5kZXIgaW5pdGV4 LgogXGV4cGFuZGFmdGVyXGlmeFxjc25hbWUgZm10bmFtZVxlbmRjc25hbWVccmVsYXhcaW5w dXQgcGxhaW5cZmkKICUKLVxkZWZcdGV4aW5mb3ZlcnNpb257MjAyMy0wMy0yNy4yMX0KK1xk ZWZcdGV4aW5mb3ZlcnNpb257MjAyMy0wNy0wMi4xMH0KICUKICUgQ29weXJpZ2h0IDE5ODUs IDE5ODYsIDE5ODgsIDE5OTAtMjAyMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICUKQEAgLTI3NSw4ICsyNzUsNyBAQAogJSBcdG9wbWFyayBkb2Vzbid0IHdvcmsgZm9yIHRo ZSB2ZXJ5IGZpcnN0IGNoYXB0ZXIgKGFmdGVyIHRoZSB0aXRsZQogJSBwYWdlIG9yIHRoZSBj b250ZW50cyksIHNvIHdlIHVzZSBcZmlyc3RtYXJrIHRoZXJlIC0tIHRoaXMgZ2V0cyB1cwog JSB0aGUgbWFyayB3aXRoIHRoZSBjaGFwdGVyIGRlZnMsIHVubGVzcyB0aGUgdXNlciBzbmVh a3MgaW4sIGUuZy4sCi0lIEBzZXRjb2xvciAob3IgQHVybCwgb3IgQGxpbmssIGV0Yy4pIGJl dHdlZW4gQGNvbnRlbnRzIGFuZCB0aGUgdmVyeQotJSBmaXJzdCBAY2hhcHRlci4KKyUgQHNl dGNvbG9yIChvciBAdXJsIGV0Yy4pIGJldHdlZW4gQGNvbnRlbnRzIGFuZCB0aGUgdmVyeSBm aXJzdCBAY2hhcHRlci4KIFxkZWZcZ2V0dG9waGVhZGluZ21hcmtzeyUKICAgXGlmY2FzZTBc dGhlXHNhdmVkdG9wbWFya1xmaQogICBcaWZ4XHRoaXNjaGFwdGVyXGVtcHR5IFxpZmNhc2Uw XGZpcnN0bWFya1xmaSBcZmkKQEAgLTQ5NTAsNiArNDk0OSw3IEBACiAgIFxjb21tb25kdW1t eXdvcmRcaW5mb3JlZiAgICB7fSUKICAgXGNvbW1vbmR1bW15d29yZFxrYmQgICAgICAgIHt9 JQogICBcY29tbW9uZHVtbXl3b3JkXGtleSAgICAgICAge30lCisgIFxjb21tb25kdW1teXdv cmRcbGluayAgICAgICB7fSUKICAgXGNvbW1vbmR1bW15d29yZFxtYXRoICAgICAgIHt9JQog ICBcY29tbW9uZHVtbXl3b3JkXG9wdGlvbiAgICAge30lCiAgIFxjb21tb25kdW1teXdvcmRc cHhyZWYgICAgICB7fSUKQEAgLTU3ODMsNyArNTc4Myw3IEBACiAgICUgYmVsb3cgaXMgY2hv c2VuIHNvIHRoYXQgdGhlIGd1dHRlciBoYXMgdGhlIHNhbWUgdmFsdWUgKHdlbGwsICstPDFw dCkKICAgJSBhcyBpdCBkaWQgd2hlbiB3ZSBoYXJkLWNvZGVkIGl0LgogICAlCi0gICUgV2Ug cHV0IHRoZSByZXN1bHQgaW4gYSBzZXBhcmF0ZSByZWdpc3RlciwgXGRvdWJsZWNvbHVtaHNp emUsIHNvIHdlCisgICUgV2UgcHV0IHRoZSByZXN1bHQgaW4gYSBzZXBhcmF0ZSByZWdpc3Rl ciwgXGRvdWJsZWNvbHVtbmhzaXplLCBzbyB3ZQogICAlIGNhbiByZXN0b3JlIGl0IGluIFxw YWdlc29mYXIsIGFmdGVyIFxoc2l6ZSBpdHNlbGYgaGFzIChwb3RlbnRpYWxseSkKICAgJSBi ZWVuIGNsb2JiZXJlZC4KICAgJQpAQCAtODE4MCw3ICs4MTgwLDcgQEAKICUgUmVhZCByZWN1 cnNpdmUgYW5kIG5vbnJlY3Vyc2l2ZSBtYWNybyBib2RpZXMuIChUaGV5J3JlIGRpZmZlcmVu dCBzaW5jZQogJSByZWMgYW5kIG5vbnJlYyBtYWNyb3MgZW5kIGRpZmZlcmVudGx5LikKICUK LSUgV2UgYXJlIGluIFxtYWNyb2JvZHljdHh0LCBhbmQgdGhlIFx4ZGVmIGNhdXNlcyBiYWNr c2xhc2hzaGVzIGluIHRoZSBtYWNybworJSBXZSBhcmUgaW4gXG1hY3JvYm9keWN0eHQsIGFu ZCB0aGUgXHhkZWYgY2F1c2VzIGJhY2tzbGFzaGVzIGluIHRoZSBtYWNybwogJSBib2R5IHRv IGJlIHRyYW5zZm9ybWVkLgogJSBTZXQgXG1hY3JvYm9keSB0byB0aGUgYm9keSBvZiB0aGUg bWFjcm8sIGFuZCBjYWxsIFxtYWNyb2RlZi4KICUKQEAgLTg4MDgsMTA5ICs4ODA4LDExIEBA CiBcZGVmXHhyZWZYWyMxLCMyLCMzLCM0LCM1LCM2XXtcYmVnaW5ncm91cAogICBcdW5zZXBz cGFjZXMKICAgJQotICAlIEdldCBhcmdzIHdpdGhvdXQgbGVhZGluZy90cmFpbGluZyBzcGFj ZXMuCi0gIFxkZWZccHJpbnRlZHJlZm5hbWV7XGlnbm9yZXNwYWNlcyAjM30lCi0gIFxzZXRi b3hccHJpbnRlZHJlZm5hbWVib3ggPSBcaGJveHtccHJpbnRlZHJlZm5hbWVcdW5za2lwfSUK LSAgJQorICBcZ2V0cHJpbnRlZHJlZm5hbWV7IzF9eyMzfXsjNX0lCiAgIFxkZWZcaW5mb2Zp bGVuYW1le1xpZ25vcmVzcGFjZXMgIzR9JQogICBcc2V0Ym94XGluZm9maWxlbmFtZWJveCA9 IFxoYm94e1xpbmZvZmlsZW5hbWVcdW5za2lwfSUKICAgJQotICBcZGVmXHByaW50ZWRtYW51 YWx7XGlnbm9yZXNwYWNlcyAjNX0lCi0gIFxzZXRib3hccHJpbnRlZG1hbnVhbGJveCAgPSBc aGJveHtccHJpbnRlZG1hbnVhbFx1bnNraXB9JQotICAlCi0gICUgSWYgdGhlIHByaW50ZWQg cmVmZXJlbmNlIG5hbWUgKGFyZyAjMykgd2FzIG5vdCBleHBsaWNpdGx5IGdpdmVuIGluCi0g ICUgdGhlIEB4cmVmLCBmaWd1cmUgb3V0IHdoYXQgd2Ugd2FudCB0byB1c2UuCi0gIFxpZmRp bSBcd2RccHJpbnRlZHJlZm5hbWVib3ggPSAwcHQKLSAgICAlIE5vIHByaW50ZWQgbm9kZSBu YW1lIHdhcyBleHBsaWNpdGx5IGdpdmVuLgotICAgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1l IFNFVHhyZWYtYXV0b21hdGljLXNlY3Rpb24tdGl0bGVcZW5kY3NuYW1lIFxyZWxheAotICAg ICAgJSBOb3QgYXV0byBzZWN0aW9uLXRpdGxlOiB1c2Ugbm9kZSBuYW1lIGluc2lkZSB0aGUg c3F1YXJlIGJyYWNrZXRzLgotICAgICAgXGRlZlxwcmludGVkcmVmbmFtZXtcaWdub3Jlc3Bh Y2VzICMxfSUKLSAgICBcZWxzZQotICAgICAgJSBBdXRvIHNlY3Rpb24tdGl0bGU6IHVzZSBj aGFwdGVyL3NlY3Rpb24gdGl0bGUgaW5zaWRlCi0gICAgICAlIHRoZSBzcXVhcmUgYnJhY2tl dHMgaWYgd2UgaGF2ZSBpdC4KLSAgICAgIFxpZmRpbSBcd2RccHJpbnRlZG1hbnVhbGJveCA+ IDBwdAotICAgICAgICAlIEl0IGlzIGluIGFub3RoZXIgbWFudWFsLCBzbyB3ZSBkb24ndCBo YXZlIGl0OyB1c2Ugbm9kZSBuYW1lLgotICAgICAgICBcZGVmXHByaW50ZWRyZWZuYW1le1xp Z25vcmVzcGFjZXMgIzF9JQotICAgICAgXGVsc2UKLSAgICAgICAgXGlmaGF2ZXhyZWZzCi0g ICAgICAgICAgJSBXZSAoc2hvdWxkKSBrbm93IHRoZSByZWFsIHRpdGxlIGlmIHdlIGhhdmUg dGhlIHhyZWYgdmFsdWVzLgotICAgICAgICAgIFxkZWZccHJpbnRlZHJlZm5hbWV7XHJlZnh7 IzEtdGl0bGV9fSUKLSAgICAgICAgXGVsc2UKLSAgICAgICAgICAlIE90aGVyd2lzZSBqdXN0 IGNvcHkgdGhlIEluZm8gbm9kZSBuYW1lLgotICAgICAgICAgIFxkZWZccHJpbnRlZHJlZm5h bWV7XGlnbm9yZXNwYWNlcyAjMX0lCi0gICAgICAgIFxmaSUKLSAgICAgIFxmaQotICAgIFxm aQotICBcZmkKLSAgJQotICAlIE1ha2UgbGluayBpbiBwZGYgb3V0cHV0LgotICBcaWZwZGYK LSAgICAlIEZvciBwZGZUZVggYW5kIEx1YVRlWAotICAgIHtcaW5kZXhub2ZvbnRzCi0gICAg IFxtYWtldmFsdWVleHBhbmRhYmxlCi0gICAgIFx0dXJub2ZmYWN0aXZlCi0gICAgICUgVGhp cyBleHBhbmRzIHRva2Vucywgc28gZG8gaXQgYWZ0ZXIgbWFraW5nIGNhdGNvZGUgY2hhbmdl cywgc28gXwotICAgICAlIGV0Yy4gZG9uJ3QgZ2V0IHRoZWlyIFRlWCBkZWZpbml0aW9ucy4g IFRoaXMgaWdub3JlcyBhbGwgc3BhY2VzIGluCi0gICAgICUgIzQsIGluY2x1ZGluZyAod3Jv bmdseSkgdGhvc2UgaW4gdGhlIG1pZGRsZSBvZiB0aGUgZmlsZW5hbWUuCi0gICAgIFxnZXRm aWxlbmFtZXsjNH0lCi0gICAgICUKLSAgICAgJSBUaGlzICh3cm9uZ2x5KSBkb2VzIG5vdCB0 YWtlIGFjY291bnQgb2YgbGVhZGluZyBvciB0cmFpbGluZwotICAgICAlIHNwYWNlcyBpbiAj MSwgd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQuCi0gICAgIFxzZXRwZGZkZXN0bmFtZXsjMX0l Ci0gICAgICUKLSAgICAgXGlmeFxwZGZkZXN0bmFtZVxlbXB0eQotICAgICAgIFxkZWZccGRm ZGVzdG5hbWV7VG9wfSUgbm8gZW1wdHkgdGFyZ2V0cwotICAgICBcZmkKLSAgICAgJQotICAg ICBcbGVhdmV2bW9kZQotICAgICBcc3RhcnRsaW5rIGF0dHJ7L0JvcmRlciBbMCAwIDBdfSUK LSAgICAgXGlmbnVtXGZpbGVuYW1lbGVuZ3RoPjAKLSAgICAgICBnb3RvIGZpbGV7XHRoZVxm aWxlbmFtZS5wZGZ9IG5hbWV7XHBkZmRlc3RuYW1lfSUKLSAgICAgXGVsc2UKLSAgICAgICBn b3RvIG5hbWV7XHBkZm1rcGdue1xwZGZkZXN0bmFtZX19JQotICAgICBcZmkKLSAgICB9JQot ICAgIFxzZXRjb2xvcntcbGlua2NvbG9yfSUKLSAgXGVsc2UKLSAgICBcaWZ4XFhlVGVYcmV2 aXNpb25cdGhpc2lzdW5kZWZpbmVkCi0gICAgXGVsc2UKLSAgICAgICUgRm9yIFhlVGVYCi0g ICAgICB7XGluZGV4bm9mb250cwotICAgICAgIFxtYWtldmFsdWVleHBhbmRhYmxlCi0gICAg ICAgXHR1cm5vZmZhY3RpdmUKLSAgICAgICAlIFRoaXMgZXhwYW5kcyB0b2tlbnMsIHNvIGRv IGl0IGFmdGVyIG1ha2luZyBjYXRjb2RlIGNoYW5nZXMsIHNvIF8KLSAgICAgICAlIGV0Yy4g ZG9uJ3QgZ2V0IHRoZWlyIFRlWCBkZWZpbml0aW9ucy4gIFRoaXMgaWdub3JlcyBhbGwgc3Bh Y2VzIGluCi0gICAgICAgJSAjNCwgaW5jbHVkaW5nICh3cm9uZ2x5KSB0aG9zZSBpbiB0aGUg bWlkZGxlIG9mIHRoZSBmaWxlbmFtZS4KLSAgICAgICBcZ2V0ZmlsZW5hbWV7IzR9JQotICAg ICAgICUKLSAgICAgICAlIFRoaXMgKHdyb25nbHkpIGRvZXMgbm90IHRha2UgYWNjb3VudCBv ZiBsZWFkaW5nIG9yIHRyYWlsaW5nCi0gICAgICAgJSBzcGFjZXMgaW4gIzEsIHdoaWNoIHNo b3VsZCBiZSBpZ25vcmVkLgotICAgICAgIFxzZXRwZGZkZXN0bmFtZXsjMX0lCi0gICAgICAg JQotICAgICAgIFxpZnhccGRmZGVzdG5hbWVcZW1wdHkKLSAgICAgICAgIFxkZWZccGRmZGVz dG5hbWV7VG9wfSUgbm8gZW1wdHkgdGFyZ2V0cwotICAgICAgIFxmaQotICAgICAgICUKLSAg ICAgICBcbGVhdmV2bW9kZQotICAgICAgIFxpZm51bVxmaWxlbmFtZWxlbmd0aD4wCi0gICAg ICAgICAlIFdpdGggZGVmYXVsdCBzZXR0aW5ncywKLSAgICAgICAgICUgWGVUZVggKHhkdmlw ZGZteCkgcmVwbGFjZXMgbGluayBkZXN0aW5hdGlvbiBuYW1lcyB3aXRoIGludGVnZXJzLgot ICAgICAgICAgJSBJbiB0aGlzIGNhc2UsIHRoZSByZXBsYWNlZCBkZXN0aW5hdGlvbiBuYW1l cyBvZgotICAgICAgICAgJSByZW1vdGUgUERGcyBhcmUgbm8gbG9uZ2VyIGtub3duLiAgSW4g b3JkZXIgdG8gYXZvaWQgYSByZXBsYWNlbWVudCwKLSAgICAgICAgICUgeW91IGNhbiB1c2Ug eGR2aXBkZm14J3MgY29tbWFuZCBsaW5lIG9wdGlvbiBgLUMgMHgwMDEwJy4KLSAgICAgICAg ICUgSWYgeW91IHVzZSBYZVRlWCAwLjk5OTk2KyAoVGVYIExpdmUgMjAxNispLAotICAgICAg ICAgJSB0aGlzIGNvbW1hbmQgbGluZSBvcHRpb24gaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeQot ICAgICAgICAgJSBiZWNhdXNlIHdlIGNhbiB1c2UgdGhlIGBkdmlwZGZteDpjb25maWcnIHNw ZWNpYWwuCi0gICAgICAgICBcc3BlY2lhbHtwZGY6YmFubiA8PCAvQm9yZGVyIFswIDAgMF0g L1R5cGUgL0Fubm90IC9TdWJ0eXBlIC9MaW5rIC9BCi0gICAgICAgICAgIDw8IC9TIC9Hb1Rv UiAvRiAoXHRoZVxmaWxlbmFtZS5wZGYpIC9EIChccGRmZGVzdG5hbWUpID4+ID4+fSUKLSAg ICAgICBcZWxzZQotICAgICAgICAgXHNwZWNpYWx7cGRmOmJhbm4gPDwgL0JvcmRlciBbMCAw IDBdIC9UeXBlIC9Bbm5vdCAvU3VidHlwZSAvTGluayAvQQotICAgICAgICAgICA8PCAvUyAv R29UbyAvRCAoXHBkZmRlc3RuYW1lKSA+PiA+Pn0lCi0gICAgICAgXGZpCi0gICAgICB9JQot ICAgICAgXHNldGNvbG9ye1xsaW5rY29sb3J9JQotICAgIFxmaQotICBcZmkKKyAgXHN0YXJ0 eHJlZmxpbmt7IzF9eyM0fSUKICAgeyUKICAgICAlIEhhdmUgdG8gb3RoZXJpZnkgZXZlcnl0 aGluZyBzcGVjaWFsIHRvIGFsbG93IHRoZSBcY3NuYW1lIHRvCiAgICAgJSBpbmNsdWRlIGFu IF8gaW4gdGhlIHhyZWYgbmFtZSwgZXRjLgpAQCAtODk5MSw2ICs4ODkzLDkzIEBACiAgIFxl bmRsaW5rCiBcZW5kZ3JvdXB9CiAKKyUgXGdldHByaW50ZWRyZWZuYW1le05PREV9e0xBQkVM fXtNQU5VQUx9CislIC0gc2V0IFxwcmludGVkcmVmbmFtZSBhbmQgXHByaW50ZWRtYW51YWwK KyUKK1xkZWZcZ2V0cHJpbnRlZHJlZm5hbWUjMSMyIzN7JQorICAlIEdldCBhcmdzIHdpdGhv dXQgbGVhZGluZy90cmFpbGluZyBzcGFjZXMuCisgIFxkZWZccHJpbnRlZHJlZm5hbWV7XGln bm9yZXNwYWNlcyAjMn0lCisgIFxzZXRib3hccHJpbnRlZHJlZm5hbWVib3ggPSBcaGJveHtc cHJpbnRlZHJlZm5hbWVcdW5za2lwfSUKKyAgJQorICBcZGVmXHByaW50ZWRtYW51YWx7XGln bm9yZXNwYWNlcyAjM30lCisgIFxzZXRib3hccHJpbnRlZG1hbnVhbGJveCAgPSBcaGJveHtc cHJpbnRlZG1hbnVhbFx1bnNraXB9JQorICAlCisgICUgSWYgdGhlIHByaW50ZWQgcmVmZXJl bmNlIG5hbWUgKGFyZyAjMikgd2FzIG5vdCBleHBsaWNpdGx5IGdpdmVuIGluCisgICUgdGhl IEB4cmVmLCBmaWd1cmUgb3V0IHdoYXQgd2Ugd2FudCB0byB1c2UuCisgIFxpZmRpbSBcd2Rc cHJpbnRlZHJlZm5hbWVib3ggPSAwcHQKKyAgICAlIE5vIHByaW50ZWQgbm9kZSBuYW1lIHdh cyBleHBsaWNpdGx5IGdpdmVuLgorICAgIFxleHBhbmRhZnRlclxpZnhcY3NuYW1lIFNFVHhy ZWYtYXV0b21hdGljLXNlY3Rpb24tdGl0bGVcZW5kY3NuYW1lIFxyZWxheAorICAgICAgJSBO b3QgYXV0byBzZWN0aW9uLXRpdGxlOiB1c2Ugbm9kZSBuYW1lIGluc2lkZSB0aGUgc3F1YXJl IGJyYWNrZXRzLgorICAgICAgXGRlZlxwcmludGVkcmVmbmFtZXtcaWdub3Jlc3BhY2VzICMx fSUKKyAgICBcZWxzZQorICAgICAgJSBBdXRvIHNlY3Rpb24tdGl0bGU6IHVzZSBjaGFwdGVy L3NlY3Rpb24gdGl0bGUgaW5zaWRlCisgICAgICAlIHRoZSBzcXVhcmUgYnJhY2tldHMgaWYg d2UgaGF2ZSBpdC4KKyAgICAgIFxpZmRpbSBcd2RccHJpbnRlZG1hbnVhbGJveCA+IDBwdAor ICAgICAgICAlIEl0IGlzIGluIGFub3RoZXIgbWFudWFsLCBzbyB3ZSBkb24ndCBoYXZlIGl0 OyB1c2Ugbm9kZSBuYW1lLgorICAgICAgICBcZGVmXHByaW50ZWRyZWZuYW1le1xpZ25vcmVz cGFjZXMgIzF9JQorICAgICAgXGVsc2UKKyAgICAgICAgXGlmaGF2ZXhyZWZzCisgICAgICAg ICAgJSBXZSAoc2hvdWxkKSBrbm93IHRoZSByZWFsIHRpdGxlIGlmIHdlIGhhdmUgdGhlIHhy ZWYgdmFsdWVzLgorICAgICAgICAgIFxkZWZccHJpbnRlZHJlZm5hbWV7XHJlZnh7IzEtdGl0 bGV9fSUKKyAgICAgICAgXGVsc2UKKyAgICAgICAgICAlIE90aGVyd2lzZSBqdXN0IGNvcHkg dGhlIEluZm8gbm9kZSBuYW1lLgorICAgICAgICAgIFxkZWZccHJpbnRlZHJlZm5hbWV7XGln bm9yZXNwYWNlcyAjMX0lCisgICAgICAgIFxmaSUKKyAgICAgIFxmaQorICAgIFxmaQorICBc ZmkKK30KKworJSBcc3RhcnR4cmVmbGlua3tOT0RFfXtGSUxFfSAtIHN0YXJ0IGxpbmsgaW4g cGRmIG91dHB1dC4KK1xkZWZcc3RhcnR4cmVmbGluayMxIzJ7JQorICBcaWZwZGZvcnhldGV4 CisgICAgJSBGb3IgcGRmVGVYIGFuZCBMdWFUZVgKKyAgICB7XGluZGV4bm9mb250cworICAg ICBcbWFrZXZhbHVlZXhwYW5kYWJsZQorICAgICBcdHVybm9mZmFjdGl2ZQorICAgICAlIFRo aXMgZXhwYW5kcyB0b2tlbnMsIHNvIGRvIGl0IGFmdGVyIG1ha2luZyBjYXRjb2RlIGNoYW5n ZXMsIHNvIF8KKyAgICAgJSBldGMuIGRvbid0IGdldCB0aGVpciBUZVggZGVmaW5pdGlvbnMu ICBUaGlzIGlnbm9yZXMgYWxsIHNwYWNlcyBpbgorICAgICAlICMyLCBpbmNsdWRpbmcgKHdy b25nbHkpIHRob3NlIGluIHRoZSBtaWRkbGUgb2YgdGhlIGZpbGVuYW1lLgorICAgICBcZ2V0 ZmlsZW5hbWV7IzJ9JQorICAgICAlCisgICAgICUgVGhpcyAod3JvbmdseSkgZG9lcyBub3Qg dGFrZSBhY2NvdW50IG9mIGxlYWRpbmcgb3IgdHJhaWxpbmcKKyAgICAgJSBzcGFjZXMgaW4g IzEsIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLgorICAgICBcc2V0cGRmZGVzdG5hbWV7IzF9 JQorICAgICAlCisgICAgIFxpZnhccGRmZGVzdG5hbWVcZW1wdHkKKyAgICAgICBcZGVmXHBk ZmRlc3RuYW1le1RvcH0lIG5vIGVtcHR5IHRhcmdldHMKKyAgICAgXGZpCisgICAgICUKKyAg ICAgXGxlYXZldm1vZGUKKyAgICAgXGlmcGRmCisgICAgICAgXHN0YXJ0bGluayBhdHRyey9C b3JkZXIgWzAgMCAwXX0lCisgICAgICAgXGlmbnVtXGZpbGVuYW1lbGVuZ3RoPjAKKyAgICAg ICAgIGdvdG8gZmlsZXtcdGhlXGZpbGVuYW1lLnBkZn0gbmFtZXtccGRmZGVzdG5hbWV9JQor ICAgICAgIFxlbHNlCisgICAgICAgICBnb3RvIG5hbWV7XHBkZm1rcGdue1xwZGZkZXN0bmFt ZX19JQorICAgICAgIFxmaQorICAgICBcZWxzZSAlIFhlVGVYCisgICAgICAgXGlmbnVtXGZp bGVuYW1lbGVuZ3RoPjAKKyAgICAgICAgICUgV2l0aCBkZWZhdWx0IHNldHRpbmdzLAorICAg ICAgICAgJSBYZVRlWCAoeGR2aXBkZm14KSByZXBsYWNlcyBsaW5rIGRlc3RpbmF0aW9uIG5h bWVzIHdpdGggaW50ZWdlcnMuCisgICAgICAgICAlIEluIHRoaXMgY2FzZSwgdGhlIHJlcGxh Y2VkIGRlc3RpbmF0aW9uIG5hbWVzIG9mCisgICAgICAgICAlIHJlbW90ZSBQREZzIGFyZSBu byBsb25nZXIga25vd24uICBJbiBvcmRlciB0byBhdm9pZCBhIHJlcGxhY2VtZW50LAorICAg ICAgICAgJSB5b3UgY2FuIHVzZSB4ZHZpcGRmbXgncyBjb21tYW5kIGxpbmUgb3B0aW9uIGAt QyAweDAwMTAnLgorICAgICAgICAgJSBJZiB5b3UgdXNlIFhlVGVYIDAuOTk5OTYrIChUZVgg TGl2ZSAyMDE2KyksCisgICAgICAgICAlIHRoaXMgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBu byBsb25nZXIgbmVjZXNzYXJ5CisgICAgICAgICAlIGJlY2F1c2Ugd2UgY2FuIHVzZSB0aGUg YGR2aXBkZm14OmNvbmZpZycgc3BlY2lhbC4KKyAgICAgICAgIFxzcGVjaWFse3BkZjpiYW5u IDw8IC9Cb3JkZXIgWzAgMCAwXSAvVHlwZSAvQW5ub3QgL1N1YnR5cGUgL0xpbmsgL0EKKyAg ICAgICAgICAgPDwgL1MgL0dvVG9SIC9GIChcdGhlXGZpbGVuYW1lLnBkZikgL0QgKFxwZGZk ZXN0bmFtZSkgPj4gPj59JQorICAgICAgIFxlbHNlCisgICAgICAgICBcc3BlY2lhbHtwZGY6 YmFubiA8PCAvQm9yZGVyIFswIDAgMF0gL1R5cGUgL0Fubm90IC9TdWJ0eXBlIC9MaW5rIC9B CisgICAgICAgICAgIDw8IC9TIC9Hb1RvIC9EIChccGRmZGVzdG5hbWUpID4+ID4+fSUKKyAg ICAgICBcZmkKKyAgICAgXGZpCisgICAgfSUKKyAgICBcc2V0Y29sb3J7XGxpbmtjb2xvcn0l CisgIFxmaQorfQorCiAlIGNhbiBiZSBvdmVycmlkZGVuIGluIHRyYW5zbGF0aW9uIGZpbGVz CiBcZGVmXHB1dHBhZ2VyZWYjMXslCiAgIFxzcGFjZVxwdXR3b3JkcGFnZVx0aWVccmVmeHsj MS1wZ319CkBAIC05MDI4LDYgKzkwMTcsMjEgQEAKICUKIFxkZWZceHJlZnByaW50bm9kZW5h bWUjMXtbIzFdfQogCislIEBsaW5re05PREVOQU1FLCBMQUJFTCwgTUFOVUFMfSAtIGNyZWF0 ZSBhICJwbGFpbiIgbGluaywgd2l0aCBubworJSBwYWdlIG51bWJlci4gIE5vdCB1c2VmdWwg aWYgcHJpbnRlZCBvbiBwYXBlci4KKyUKK1xkZWZcbGluayMxe1xsaW5rWFsjMSwsLF19Citc ZGVmXGxpbmtYWyMxLCMyLCMzLCM0XXslCisgIFxiZWdpbmdyb3VwCisgIFx1bnNlcHNwYWNl cworICBcZ2V0cHJpbnRlZHJlZm5hbWV7IzF9eyMyfXsjM30lCisgIFxzdGFydHhyZWZsaW5r eyMxfXsjM30lCisgIFxwcmludGVkcmVmbmFtZQorICBcZW5kbGluaworICBcZW5kZ3JvdXAK K30KKworCiAlIFRoaW5ncyByZWZlcnJlZCB0byBieSBcc2V0cmVmLgogJQogXGRlZlxZbm90 aGluZ3t9CmRpZmYgLS1naXQgYS9saWIvZ251bGliLm1rLmluIGIvbGliL2dudWxpYi5tay5p bgppbmRleCBhMjViZWUyNWFhZS4uMDgxMmRjODAxMzUgMTAwNjQ0Ci0tLSBhL2xpYi9nbnVs aWIubWsuaW4KKysrIGIvbGliL2dudWxpYi5tay5pbgpAQCAtOTAxLDYgKzkwMSwxMCBAQCBL UkI0TElCID0gQEtSQjRMSUJACiBLUkI1TElCID0gQEtSQjVMSUJACiBMQ01TMl9DRkxBR1Mg PSBATENNUzJfQ0ZMQUdTQAogTENNUzJfTElCUyA9IEBMQ01TMl9MSUJTQAorTENfQ09MTEFU RV9JTVBMRU1FTlRFRCA9IEBMQ19DT0xMQVRFX0lNUExFTUVOVEVEQAorTENfTU9ORVRBUllf SU1QTEVNRU5URUQgPSBATENfTU9ORVRBUllfSU1QTEVNRU5URURACitMQ19OVU1FUklDX0lN UExFTUVOVEVEID0gQExDX05VTUVSSUNfSU1QTEVNRU5URURACitMQ19USU1FX0lNUExFTUVO VEVEID0gQExDX1RJTUVfSU1QTEVNRU5URURACiBMREZMQUdTID0gQExERkxBR1NACiBMRF9T V0lUQ0hfU1lTVEVNID0gQExEX1NXSVRDSF9TWVNURU1ACiBMRF9TV0lUQ0hfU1lTVEVNX1RF TUFDUyA9IEBMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDU0AKZGlmZiAtLWdpdCBhL2xpYi9saW1p dHMuaW4uaCBiL2xpYi9saW1pdHMuaW4uaAppbmRleCAxZDQ3OWMzZDE5Mi4uZTJlMTczZWIy ZGUgMTAwNjQ0Ci0tLSBhL2xpYi9saW1pdHMuaW4uaAorKysgYi9saWIvbGltaXRzLmluLmgK QEAgLTEzNiw3ICsxMzYsNyBAQCAjZGVmaW5lIF9HTF9DT0I0KG4pICghISgobikgJiA4KSAr ICEhKChuKSAmIDQpICsgISEoKG4pICYgMikgKyAhISgobikgJiAxKSkKIAogLyogTWFjcm8g c3BlY2lmaWVkIGJ5IFBPU0lYLiAgKi8KIAotLyogVGhlIG1heGltYWwgc2l6ZV90IHZhbHVl LiAgQWx0aG91Z2ggaXQgbWlnaHQgbm90IGJlIG9mIHNzaXplX3QgdHlwZQorLyogVGhlIG1h eGltdW0gc3NpemVfdCB2YWx1ZS4gIEFsdGhvdWdoIGl0IG1pZ2h0IG5vdCBiZSBvZiBzc2l6 ZV90IHR5cGUKICAgIGFzIGl0IHNob3VsZCBiZSwgaXQncyB0b28gbXVjaCB0cm91YmxlIHRv IGZpeCB0aGlzIG1pbm9yIGRldGFpbC4gICovCiAjaWZuZGVmIFNTSVpFX01BWAogIyBpZmRl ZiBfV0lONjQKZGlmZiAtLWdpdCBhL2xpYi9yZWdjb21wLmMgYi9saWIvcmVnY29tcC5jCmlu ZGV4IDg5NDc4Mzk2ODU1Li4xZjZhMTMxMTA3YiAxMDA2NDQKLS0tIGEvbGliL3JlZ2NvbXAu YworKysgYi9saWIvcmVnY29tcC5jCkBAIC05MDUsNyArOTA1LDcgQEAgaW5pdF93b3JkX2No YXIgKHJlX2RmYV90ICpkZmEpCiAgICAgICBiaXRzZXRfd29yZF90IGJpdHMzID0gMHgwN2Zm ZmZmZTsKICAgICAgIGlmIChCSVRTRVRfV09SRF9CSVRTID09IDY0KQogCXsKLQkgIC8qIFBh Y2lmeSBnY2MgLVdvdmVyZmxvdyBvbiAzMi1iaXQgcGxhdGZvcm1ucy4gICovCisJICAvKiBQ YWNpZnkgZ2NjIC1Xb3ZlcmZsb3cgb24gMzItYml0IHBsYXRmb3Jtcy4gICovCiAJICBkZmEt PndvcmRfY2hhclswXSA9IGJpdHMxIDw8IDMxIDw8IDEgfCBiaXRzMDsKIAkgIGRmYS0+d29y ZF9jaGFyWzFdID0gYml0czMgPDwgMzEgPDwgMSB8IGJpdHMyOwogCSAgaSA9IDI7CmRpZmYg LS1naXQgYS9tNC9mc3VzYWdlLm00IGIvbTQvZnN1c2FnZS5tNAppbmRleCA4OGYzY2E4MTdj Yi4uNzI0YTg2M2FjMzAgMTAwNjQ0Ci0tLSBhL200L2ZzdXNhZ2UubTQKKysrIGIvbTQvZnN1 c2FnZS5tNApAQCAtMjY5LDcgKzI2OSw3IEBAIEFDX0RFRlVOCiAKICMgQ2hlY2sgZm9yIFN1 bk9TIHN0YXRmcyBicm9rZW5uZXNzIHdydCBwYXJ0aXRpb25zIDJHQiBhbmQgbGFyZ2VyLgog IyBJZiA8c3lzL3Zmcy5oPiBleGlzdHMgYW5kIHN0cnVjdCBzdGF0ZnMgaGFzIGEgbWVtYmVy IG5hbWVkIGZfc3BhcmUsCi0jIGVuYWJsZSB0aGUgd29yay1hcm91bmQgY29kZSBpbiBmc3Vz YWdlLmMuCisjIGVuYWJsZSB0aGUgd29ya2Fyb3VuZCBjb2RlIGluIGZzdXNhZ2UuYy4KIEFD X0RFRlVOKFtnbF9TVEFURlNfVFJVTkNBVEVTXSwKIFsKICAgQUNfQ0FDSEVfQ0hFQ0soW2Zv ciBzdGF0ZnMgdGhhdCB0cnVuY2F0ZXMgYmxvY2sgY291bnRzXSwKZGlmZiAtLWdpdCBhL200 L2xhcmdlZmlsZS5tNCBiL200L2xhcmdlZmlsZS5tNAppbmRleCBhMmFkYjUzM2FlNi4uOGIw NTFjMDA0MmIgMTAwNjQ0Ci0tLSBhL200L2xhcmdlZmlsZS5tNAorKysgYi9tNC9sYXJnZWZp bGUubTQKQEAgLTE4MSwxMyArMTgxLDE2IEBAIEFDX0RFRlVOCiAjIEMgY29kZSB1c2VkIHRv IHByb2JlIGZvciBsYXJnZSBmaWxlIHN1cHBvcnQuCiBtNF9kZWZpbmUoW19BQ19TWVNfTEFS R0VGSUxFX1RFU1RfQ09ERV0sCiBbQCU6QGluY2x1ZGUgPHN5cy90eXBlcy5oPgotIC8qIENo ZWNrIHRoYXQgb2ZmX3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5LgotICAg IFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1 NDc3NTgwNywKK0AlOkBpZm5kZWYgRlRZUEUKK0AlOkAgZGVmaW5lIEZUWVBFIG9mZl90CitA JTpAZW5kaWYKKyAvKiBDaGVjayB0aGF0IEZUWVBFIGNhbiByZXByZXNlbnQgMioqNjMgLSAx IGNvcnJlY3RseS4KKyAgICBXZSBjYW4ndCBzaW1wbHkgZGVmaW5lIExBUkdFX0ZUWVBFIHRv IGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCiAgICAgc2luY2Ugc29tZSBDKysgY29tcGlsZXJz IG1hc3F1ZXJhZGluZyBhcyBDIGNvbXBpbGVycwogICAgIGluY29ycmVjdGx5IHJlamVjdCA5 MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KLUAlOkBkZWZpbmUgTEFSR0VfT0ZGX1QgKCgob2Zm X3QpIDEgPDwgMzEgPDwgMzEpIC0gMSArICgob2ZmX3QpIDEgPDwgMzEgPDwgMzEpKQotICBp bnQgb2ZmX3RfaXNfbGFyZ2VbWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCi0J CSAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2NDcgPT0gMSkKK0AlOkBkZWZpbmUg TEFSR0VfRlRZUEUgKCgoRlRZUEUpIDEgPDwgMzEgPDwgMzEpIC0gMSArICgoRlRZUEUpIDEg PDwgMzEgPDwgMzEpKQorICBpbnQgRlRZUEVfaXNfbGFyZ2VbWyhMQVJHRV9GVFlQRSAlIDIx NDc0ODM2MjkgPT0gNzIxCisJCSAgICAgICAmJiBMQVJHRV9GVFlQRSAlIDIxNDc0ODM2NDcg PT0gMSkKIAkJICAgICAgPyAxIDogLTFdXTtbXWRubAogXSkKICMgRGVmaW5lZCBieSBBdXRv Y29uZiAyLjcxIGFuZCBjaXJjYSAyMDIyIEdudWxpYiB1bndpc2VseSBkZXBlbmRlZCBvbiBp dC4KQEAgLTIyNyw3ICsyMzAsMTMgQEAgQUNfREVGVU4KICAgICBBU19JRihbdGVzdCB4IiRh Y19vcHQiICE9IHgibm9uZSBuZWVkZWQiXSwKICAgICAgIFtDQz0iJGFjX3NhdmVfQ0MgJGFj X29wdCJdKQogICAgIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW19BQ19T WVNfTEFSR0VGSUxFX1RFU1RfQ09ERV0pXSwKLSAgICAgIFthY19jdl9zeXNfbGFyZ2VmaWxl X29wdHM9IiRhY19vcHQiCisgICAgIFtBU19JRihbdGVzdCB4IiRhY19vcHQiID0geCJub25l IG5lZWRlZCJdLAorCVsjIEdOVS9MaW51eCBzMzkweCBhbmQgYWxwaGEgbmVlZCBfRklMRV9P RkZTRVRfQklUUz02NCBmb3Igd2lkZSBpbm9fdC4KKwkgQ0M9IiRDQyAtREZUWVBFPWlub190 IgorCSBBQ19DT01QSUxFX0lGRUxTRShbXSwgW10sCisJICAgW0NDPSIkQ0MgLURfRklMRV9P RkZTRVRfQklUUz02NCIKKwkgICAgQUNfQ09NUElMRV9JRkVMU0UoW10sIFthY19vcHQ9Jy1E X0ZJTEVfT0ZGU0VUX0JJVFM9NjQnXSldKV0pCisgICAgICBhY19jdl9zeXNfbGFyZ2VmaWxl X29wdHM9JGFjX29wdAogICAgICAgYWNfb3B0X2ZvdW5kPXllc10pCiAgICAgdGVzdCAkYWNf b3B0X2ZvdW5kID0gbm8gfHwgYnJlYWsKICAgZG9uZQpkaWZmIC0tZ2l0IGEvbTQvbG9jYWxl LWZyLm00IGIvbTQvbG9jYWxlLWZyLm00CmluZGV4IDVlMTNmMzk0NWQyLi40MGIxM2FlYWE3 OSAxMDA2NDQKLS0tIGEvbTQvbG9jYWxlLWZyLm00CisrKyBiL200L2xvY2FsZS1mci5tNApA QCAtMSw0ICsxLDQgQEAKLSMgbG9jYWxlLWZyLm00IHNlcmlhbCAyMQorIyBsb2NhbGUtZnIu bTQgc2VyaWFsIDIyCiBkbmwgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA1LTIwMjMgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiBkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdh cmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KIGRubCBnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtMTMzLDE1ICsx MzMsMzEgQEAgQUNfREVGVU5fT05DRQogICAgIHJtIC1mciBjb25mdGVzdCoKICAgXSkKICAg TE9DQUxFX0ZSPSRndF9jdl9sb2NhbGVfZnIKKyAgY2FzZSAkTE9DQUxFX0ZSIGluICMoCisg ICAgJycgfCAqW1tbOnNwYWNlOl1cIlwkXCcqQDw6QF1dKikKKyAgICAgIGRubCBUaGlzIGxv Y2FsZSBuYW1lIG1pZ2h0IGNhdXNlIHRyb3VibGUgd2l0aCBzaCBvciBtYWtlLgorICAgICAg QUNfTVNHX1dBUk4oW2ludmFsaWQgbG9jYWxlICIkTE9DQUxFX0ZSIjsgYXNzdW1pbmcgIm5v bmUiXSkKKyAgICAgIExPQ0FMRV9GUj1ub25lOzsKKyAgZXNhYwogICBBQ19TVUJTVChbTE9D QUxFX0ZSXSkKIF0pCiAKIGRubCBEZXRlcm1pbmUgdGhlIG5hbWUgb2YgYSBmcmVuY2ggbG9j YWxlIHdpdGggVVRGLTggZW5jb2RpbmcuCiBBQ19ERUZVTl9PTkNFKFtndF9MT0NBTEVfRlJf VVRGOF0sCiBbCisgIEFDX1JFUVVJUkUoW0FDX0NBTk9OSUNBTF9IT1NUXSkKICAgQUNfUkVR VUlSRShbQU1fTEFOR0lORk9fQ09ERVNFVF0pCiAgIEFDX0NBQ0hFX0NIRUNLKFtmb3IgYSBm cmVuY2ggVW5pY29kZSBsb2NhbGVdLCBbZ3RfY3ZfbG9jYWxlX2ZyX3V0ZjhdLCBbCi0gICAg QUNfTEFOR19DT05GVEVTVChbQUNfTEFOR19TT1VSQ0UoW1sKKyAgICBjYXNlICIkaG9zdF9v cyIgaW4KKyAgICAgICotbXVzbCogfCBtaWRpcGl4KikKKyAgICAgICAgZG5sIE9uIG11c2wg bGliYywgYWxsIGtpbmRzIG9mIGxsX0NDLlVURi04IGxvY2FsZXMgZXhpc3QsIGV2ZW4gd2l0 aG91dAorICAgICAgICBkbmwgYW55IGxvY2FsZSBmaWxlIG9uIGRpc2suIEJ1dCB0aGV5IGFy ZSBlZmZlY3RpdmVseSBlcXVpdmFsZW50IHRvIHRoZQorICAgICAgICBkbmwgQy5VVEYtOCBs b2NhbGUsIGV4Y2VwdCBmb3IgbG9jYWxlIGNhdGVnb3JpZXMgKHN1Y2ggYXMgTENfTUVTU1NB R0VTKQorICAgICAgICBkbmwgZm9yIHdoaWNoIGxvY2FsaXphdGlvbnMgKC5tbyBmaWxlcykg aGF2ZSBiZWVuIGluc3RhbGxlZC4KKyAgICAgICAgZ3RfY3ZfbG9jYWxlX2ZyX3V0Zjg9ZnJf RlIuVVRGLTgKKyAgICAgICAgOzsKKyAgICAgICopCisgICAgICAgIEFDX0xBTkdfQ09ORlRF U1QoW0FDX0xBTkdfU09VUkNFKFtbCiAjaW5jbHVkZSA8bG9jYWxlLmg+CiAjaW5jbHVkZSA8 dGltZS5oPgogI2lmIEhBVkVfTEFOR0lORk9fQ09ERVNFVApAQCAtMjAzLDUxICsyMTksODIg QEAgQUNfREVGVU5fT05DRQogI2VuZGlmCiAgIHJldHVybiAwOwogfQotICAgICAgXV0pXSkK LSAgICBpZiBBQ19UUllfRVZBTChbYWNfbGlua10pICYmIHRlc3QgLXMgY29uZnRlc3QkYWNf ZXhlZXh0OyB0aGVuCi0gICAgICBjYXNlICIkaG9zdF9vcyIgaW4KLSAgICAgICAgIyBIYW5k bGUgbmF0aXZlIFdpbmRvd3Mgc3BlY2lhbGx5LCBiZWNhdXNlIHRoZXJlIHNldGxvY2FsZSgp IGludGVycHJldHMKLSAgICAgICAgIyAiYXIiIGFzICJBcmFiaWMiIG9yICJBcmFiaWNfU2F1 ZGkgQXJhYmlhLjEyNTYiLAotICAgICAgICAjICJmciIgb3IgImZyYSIgYXMgIkZyZW5jaCIg b3IgIkZyZW5jaF9GcmFuY2UuMTI1MiIsCi0gICAgICAgICMgImdlIighKSBvciAiZGV1Iigh KSBhcyAiR2VybWFuIiBvciAiR2VybWFuX0dlcm1hbnkuMTI1MiIsCi0gICAgICAgICMgImph IiBhcyAiSmFwYW5lc2UiIG9yICJKYXBhbmVzZV9KYXBhbi45MzIiLAotICAgICAgICAjIGFu ZCBzaW1pbGFyLgotICAgICAgICBtaW5ndyopCi0gICAgICAgICAgIyBUZXN0IGZvciB0aGUg aHlwb3RoZXRpY2FsIG5hdGl2ZSBXaW5kb3dzIGxvY2FsZSBuYW1lLgotICAgICAgICAgIGlm IChMQ19BTEw9RnJlbmNoX0ZyYW5jZS42NTAwMSBMQ19USU1FPSBMQ19DVFlQRT0gLi9jb25m dGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgICAgIGd0X2N2X2xvY2Fs ZV9mcl91dGY4PUZyZW5jaF9GcmFuY2UuNjUwMDEKLSAgICAgICAgICBlbHNlCi0gICAgICAg ICAgICAjIE5vbmUgZm91bmQuCi0gICAgICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1u b25lCi0gICAgICAgICAgZmkKLSAgICAgICAgICA7OwotICAgICAgICAqKQotICAgICAgICAg ICMgU2V0dGluZyBMQ19BTEwgaXMgbm90IGVub3VnaC4gTmVlZCB0byBzZXQgTENfVElNRSB0 byBlbXB0eSwgYmVjYXVzZQotICAgICAgICAgICMgb3RoZXJ3aXNlIG9uIE1hYyBPUyBYIDEw LjMuNSB0aGUgTENfVElNRT1DIGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUKLSAgICAgICAg ICAjIGNvbmZpZ3VyZSBzY3JpcHQgd291bGQgb3ZlcnJpZGUgdGhlIExDX0FMTCBzZXR0aW5n LiBMaWtld2lzZSBmb3IKLSAgICAgICAgICAjIExDX0NUWVBFLCB3aGljaCBpcyBhbHNvIHNl dCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjb25maWd1cmUgc2NyaXB0LgotICAgICAgICAg ICMgVGVzdCBmb3IgdGhlIHVzdWFsIGxvY2FsZSBuYW1lLgotICAgICAgICAgIGlmIChMQ19B TEw9ZnJfRlIgTENfVElNRT0gTENfQ1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9u dWxsOyB0aGVuCi0gICAgICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1mcl9GUgotICAg ICAgICAgIGVsc2UKLSAgICAgICAgICAgICMgVGVzdCBmb3IgdGhlIGxvY2FsZSBuYW1lIHdp dGggZXhwbGljaXQgZW5jb2Rpbmcgc3VmZml4LgotICAgICAgICAgICAgaWYgKExDX0FMTD1m cl9GUi5VVEYtOCBMQ19USU1FPSBMQ19DVFlQRT0gLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2 L251bGw7IHRoZW4KLSAgICAgICAgICAgICAgZ3RfY3ZfbG9jYWxlX2ZyX3V0Zjg9ZnJfRlIu VVRGLTgKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgIyBUZXN0IGZvciB0aGUg U29sYXJpcyA3IGxvY2FsZSBuYW1lLgotICAgICAgICAgICAgICBpZiAoTENfQUxMPWZyLlVU Ri04IExDX1RJTUU9IExDX0NUWVBFPSAuL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsg dGhlbgotICAgICAgICAgICAgICAgIGd0X2N2X2xvY2FsZV9mcl91dGY4PWZyLlVURi04Cisg ICAgICAgICAgXV0pXSkKKyAgICAgICAgaWYgQUNfVFJZX0VWQUwoW2FjX2xpbmtdKSAmJiB0 ZXN0IC1zIGNvbmZ0ZXN0JGFjX2V4ZWV4dDsgdGhlbgorICAgICAgICAgIGNhc2UgIiRob3N0 X29zIiBpbgorICAgICAgICAgICAgIyBIYW5kbGUgbmF0aXZlIFdpbmRvd3Mgc3BlY2lhbGx5 LCBiZWNhdXNlIHRoZXJlIHNldGxvY2FsZSgpIGludGVycHJldHMKKyAgICAgICAgICAgICMg ImFyIiBhcyAiQXJhYmljIiBvciAiQXJhYmljX1NhdWRpIEFyYWJpYS4xMjU2IiwKKyAgICAg ICAgICAgICMgImZyIiBvciAiZnJhIiBhcyAiRnJlbmNoIiBvciAiRnJlbmNoX0ZyYW5jZS4x MjUyIiwKKyAgICAgICAgICAgICMgImdlIighKSBvciAiZGV1IighKSBhcyAiR2VybWFuIiBv ciAiR2VybWFuX0dlcm1hbnkuMTI1MiIsCisgICAgICAgICAgICAjICJqYSIgYXMgIkphcGFu ZXNlIiBvciAiSmFwYW5lc2VfSmFwYW4uOTMyIiwKKyAgICAgICAgICAgICMgYW5kIHNpbWls YXIuCisgICAgICAgICAgICBtaW5ndyopCisgICAgICAgICAgICAgICMgVGVzdCBmb3IgdGhl IGh5cG90aGV0aWNhbCBuYXRpdmUgV2luZG93cyBsb2NhbGUgbmFtZS4KKyAgICAgICAgICAg ICAgaWYgKExDX0FMTD1GcmVuY2hfRnJhbmNlLjY1MDAxIExDX1RJTUU9IExDX0NUWVBFPSAu L2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgIGd0 X2N2X2xvY2FsZV9mcl91dGY4PUZyZW5jaF9GcmFuY2UuNjUwMDEKICAgICAgICAgICAgICAg ZWxzZQogICAgICAgICAgICAgICAgICMgTm9uZSBmb3VuZC4KICAgICAgICAgICAgICAgICBn dF9jdl9sb2NhbGVfZnJfdXRmOD1ub25lCiAgICAgICAgICAgICAgIGZpCi0gICAgICAgICAg ICBmaQotICAgICAgICAgIGZpCi0gICAgICAgICAgOzsKLSAgICAgIGVzYWMKLSAgICBmaQot ICAgIHJtIC1mciBjb25mdGVzdCoKKyAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICop CisgICAgICAgICAgICAgICMgU2V0dGluZyBMQ19BTEwgaXMgbm90IGVub3VnaC4gTmVlZCB0 byBzZXQgTENfVElNRSB0byBlbXB0eSwgYmVjYXVzZQorICAgICAgICAgICAgICAjIG90aGVy d2lzZSBvbiBNYWMgT1MgWCAxMC4zLjUgdGhlIExDX1RJTUU9QyBmcm9tIHRoZSBiZWdpbm5p bmcgb2YgdGhlCisgICAgICAgICAgICAgICMgY29uZmlndXJlIHNjcmlwdCB3b3VsZCBvdmVy cmlkZSB0aGUgTENfQUxMIHNldHRpbmcuIExpa2V3aXNlIGZvcgorICAgICAgICAgICAgICAj IExDX0NUWVBFLCB3aGljaCBpcyBhbHNvIHNldCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBj b25maWd1cmUgc2NyaXB0LgorICAgICAgICAgICAgICAjIFRlc3QgZm9yIHRoZSB1c3VhbCBs b2NhbGUgbmFtZS4KKyAgICAgICAgICAgICAgaWYgKExDX0FMTD1mcl9GUiBMQ19USU1FPSBM Q19DVFlQRT0gLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAg ICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1mcl9GUgorICAgICAgICAgICAgICBlbHNl CisgICAgICAgICAgICAgICAgIyBUZXN0IGZvciB0aGUgbG9jYWxlIG5hbWUgd2l0aCBleHBs aWNpdCBlbmNvZGluZyBzdWZmaXguCisgICAgICAgICAgICAgICAgaWYgKExDX0FMTD1mcl9G Ui5VVEYtOCBMQ19USU1FPSBMQ19DVFlQRT0gLi9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251 bGw7IHRoZW4KKyAgICAgICAgICAgICAgICAgIGd0X2N2X2xvY2FsZV9mcl91dGY4PWZyX0ZS LlVURi04CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgIyBUZXN0 IGZvciB0aGUgU29sYXJpcyA3IGxvY2FsZSBuYW1lLgorICAgICAgICAgICAgICAgICAgaWYg KExDX0FMTD1mci5VVEYtOCBMQ19USU1FPSBMQ19DVFlQRT0gLi9jb25mdGVzdDsgZXhpdCkg Mj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgZ3RfY3ZfbG9jYWxlX2Zy X3V0Zjg9ZnIuVVRGLTgKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAg ICAgICAgIyBOb25lIGZvdW5kLgorICAgICAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVf ZnJfdXRmOD1ub25lCisgICAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgICAgIGZp CisgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgIDs7CisgICAgICAgICAgZXNhYwor ICAgICAgICBmaQorICAgICAgICBybSAtZnIgY29uZnRlc3QqCisgICAgICAgIDs7CisgICAg ZXNhYwogICBdKQogICBMT0NBTEVfRlJfVVRGOD0kZ3RfY3ZfbG9jYWxlX2ZyX3V0ZjgKKyAg Y2FzZSAkTE9DQUxFX0ZSX1VURjggaW4gIygKKyAgICAnJyB8ICpbW1s6c3BhY2U6XVwiXCRc JypAPDpAXV0qKQorICAgICAgZG5sIFRoaXMgbG9jYWxlIG5hbWUgbWlnaHQgY2F1c2UgdHJv dWJsZSB3aXRoIHNoIG9yIG1ha2UuCisgICAgICBBQ19NU0dfV0FSTihbaW52YWxpZCBsb2Nh bGUgIiRMT0NBTEVfRlJfVVRGOCI7IGFzc3VtaW5nICJub25lIl0pCisgICAgICBMT0NBTEVf RlJfVVRGOD1ub25lOzsKKyAgZXNhYwogICBBQ19TVUJTVChbTE9DQUxFX0ZSX1VURjhdKQor CisgIGRubCBVc2VycyBvZiAkTE9DQUxFX0ZSX1VURjggbmVlZCB0byBrbm93IHdoaWNoIG9m IHRoZSBsb2NhbGUgY2F0ZWdvcmllcyB0aGV5CisgIGRubCBjYW4gcmVseSBvbi4KKyAgY2Fz ZSAiJGhvc3Rfb3MiIGluCisgICAgKi1tdXNsKiB8IG1pZGlwaXgqKQorICAgICAgZG5sIE9u IG11c2wgbGliYywgbG9jYWxlIGNhdGVnb3JpZXMgb3RoZXIgdGhhbiBMQ19DVFlQRSBhbmQg TENfTUVTU0FHRVMKKyAgICAgIGRubCBhcmUgZWZmZWN0aXZlbHkgdW5pbXBsZW1lbnRlZC4K KyAgICAgIExDX0NPTExBVEVfSU1QTEVNRU5URUQ9ZmFsc2UKKyAgICAgIExDX05VTUVSSUNf SU1QTEVNRU5URUQ9ZmFsc2UKKyAgICAgIExDX1RJTUVfSU1QTEVNRU5URUQ9ZmFsc2UKKyAg ICAgIExDX01PTkVUQVJZX0lNUExFTUVOVEVEPWZhbHNlCisgICAgICA7OworICAgICopCisg ICAgICBMQ19DT0xMQVRFX0lNUExFTUVOVEVEPXRydWUKKyAgICAgIExDX05VTUVSSUNfSU1Q TEVNRU5URUQ9dHJ1ZQorICAgICAgTENfVElNRV9JTVBMRU1FTlRFRD10cnVlCisgICAgICBM Q19NT05FVEFSWV9JTVBMRU1FTlRFRD10cnVlCisgICAgICA7OworICBlc2FjCisgIEFDX1NV QlNUKFtMQ19DT0xMQVRFX0lNUExFTUVOVEVEXSkKKyAgQUNfU1VCU1QoW0xDX05VTUVSSUNf SU1QTEVNRU5URURdKQorICBBQ19TVUJTVChbTENfVElNRV9JTVBMRU1FTlRFRF0pCisgIEFD X1NVQlNUKFtMQ19NT05FVEFSWV9JTVBMRU1FTlRFRF0pCiBdKQpkaWZmIC0tZ2l0IGEvbTQv d2FybmluZ3MubTQgYi9tNC93YXJuaW5ncy5tNAppbmRleCAxYTMxMDdmODQ2ZC4uOTQzM2Ni NTIzYmYgMTAwNjQ0Ci0tLSBhL200L3dhcm5pbmdzLm00CisrKyBiL200L3dhcm5pbmdzLm00 CkBAIC0xLDQgKzEsNCBAQAotIyB3YXJuaW5ncy5tNCBzZXJpYWwgMTgKKyMgd2FybmluZ3Mu bTQgc2VyaWFsIDE5CiBkbmwgQ29weXJpZ2h0IChDKSAyMDA4LTIwMjMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiBkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KIGRubCBnaXZlcyB1bmxpbWl0ZWQgcGVybWlz c2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtODEsMTIgKzgxLDE0IEBA IEFDX0RFRlVOCiAjIGdsX1dBUk5fQUREKE9QVElPTiwgW1ZBUklBQkxFID0gV0FSTl9DRkxB R1MvV0FSTl9DWFhGTEFHU10sCiAjICAgICAgICAgICAgIFtQUk9HUkFNID0gQUNfTEFOR19Q Uk9HUkFNKCldKQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQotIyBBZGRzIHBhcmFtZXRlciB0byBXQVJOX0NGTEFHUy9X QVJOX0NYWEZMQUdTIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBpdAotIyB3aGVuIGNvbXBp bGluZyBQUk9HUkFNLiAgRm9yIGV4YW1wbGUsIGdsX1dBUk5fQUREKFstV3BhcmVudGhlc2Vz XSkuCisjIEFkZHMgT1BUSU9OIHRvIFZBUklBQkxFICh3aGljaCBkZWZhdWx0cyB0byBXQVJO X0NGTEFHUyBvciBXQVJOX0NYWEZMQUdTKQorIyBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMg aXQgd2hlbiBjb21waWxpbmcgUFJPR1JBTS4KICMKICMgSWYgVkFSSUFCTEUgaXMgYSB2YXJp YWJsZSBuYW1lLCBBQ19TVUJTVCBpdC4KICMKICMgVGhlIGVmZmVjdHMgb2YgdGhpcyBtYWNy byBkZXBlbmQgb24gdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgKF9BQ19MQU5HKS4KKyMKKyMgRXhh bXBsZTogZ2xfV0FSTl9BREQoWy1XcGFyZW50aGVzZXNdKS4KIEFDX0RFRlVOKFtnbF9XQVJO X0FERF0sCiBbQUNfUkVRVUlSRShbZ2xfVU5LTk9XTl9XQVJOSU5HU19BUkVfRVJST1JTKF1f QUNfTEFOR1spXSkKIGdsX0NPTVBJTEVSX09QVElPTl9JRihbJDFdLApAQCAtMTIzLDcgKzEy NSwxMiBAQCBBQ19ERUZVTgogICAgIF0pCiAgIGNhc2UgIiRnbF9jdl9jY193aW5oaWJpdCIg aW4KICAgICBub25lKSBHTF9DRkxBR19JTkhJQklUX1dBUk5JTkdTPScnIDs7Ci0gICAgKikg ICAgR0xfQ0ZMQUdfSU5ISUJJVF9XQVJOSU5HUz0iJGdsX2N2X2NjX3dpbmhpYml0IiA7Owor ICAgICopCisgICAgICBHTF9DRkxBR19JTkhJQklUX1dBUk5JTkdTPSIkZ2xfY3ZfY2Nfd2lu aGliaXQiCisgICAgICBkbmwgSWYgYWxsIHdhcm5pbmdzIGFyZSBpbmhpYml0ZWQsIHRoZXJl J3Mgbm8gcG9pbnQgaW4gaGF2aW5nIHRoZSBHQ0MKKyAgICAgIGRubCBhbmFseXplciBlbmFi bGVkLiBUaGlzIHNhdmVzIFJBTSByZXF1aXJlbWVudHMgYW5kIENQVSBjb25zdW1wdGlvbi4K KyAgICAgIGdsX1dBUk5fQUREKFstZm5vLWFuYWx5emVyXSwgW0dMX0NGTEFHX0lOSElCSVRf V0FSTklOR1NdKQorICAgICAgOzsKICAgZXNhYwogICBBQ19TVUJTVChbR0xfQ0ZMQUdfSU5I SUJJVF9XQVJOSU5HU10pCiBdKQpAQCAtMTUwLDcgKzE1NywxMiBAQCBBQ19ERUZVTgogICAg ICAgXSkKICAgICBjYXNlICIkZ2xfY3ZfY3h4X3dpbmhpYml0IiBpbgogICAgICAgbm9uZSkg R0xfQ1hYRkxBR19JTkhJQklUX1dBUk5JTkdTPScnIDs7Ci0gICAgICAqKSAgICBHTF9DWFhG TEFHX0lOSElCSVRfV0FSTklOR1M9IiRnbF9jdl9jeHhfd2luaGliaXQiIDs7CisgICAgICAq KQorICAgICAgICBHTF9DWFhGTEFHX0lOSElCSVRfV0FSTklOR1M9IiRnbF9jdl9jeHhfd2lu aGliaXQiCisgICAgICAgIGRubCBJZiBhbGwgd2FybmluZ3MgYXJlIGluaGliaXRlZCwgdGhl cmUncyBubyBwb2ludCBpbiBoYXZpbmcgdGhlIEdDQworICAgICAgICBkbmwgYW5hbHl6ZXIg ZW5hYmxlZC4gVGhpcyBzYXZlcyBSQU0gcmVxdWlyZW1lbnRzIGFuZCBDUFUgY29uc3VtcHRp b24uCisgICAgICAgIGdsX1dBUk5fQUREKFstZm5vLWFuYWx5emVyXSwgW0dMX0NYWEZMQUdf SU5ISUJJVF9XQVJOSU5HU10pCisgICAgICAgIDs7CiAgICAgZXNhYwogICBlbHNlCiAgICAg R0xfQ1hYRkxBR19JTkhJQklUX1dBUk5JTkdTPScnCi0tIAoyLjM5LjIKCg== --------------7eqV4rpls2q3D35p8H1LQvzX Content-Type: text/x-patch; charset=UTF-8; name="0002-Simplify-configure-check-for-MB_CUR_MAX.patch" Content-Disposition: attachment; filename="0002-Simplify-configure-check-for-MB_CUR_MAX.patch" Content-Transfer-Encoding: base64 RnJvbSBiNzY4NzhjZmFiMWViNjgxZDc1OWFjM2I1NzgzMmJhY2E0ZGY3ZWYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBTdW4sIDkgSnVsIDIwMjMgMTM6Mjc6NTQgLTA3MDAKU3ViamVjdDogW1BBVENI IDIvMl0gPT9VVEYtOD9xP1NpbXBsaWZ5PTIwPUUyPTgwPTk4Y29uZmlndXJlPUUyPTgwPTk5 PTIwY2g/PQogPT9VVEYtOD9xP2Vjaz0yMGZvcj0yME1CPTVGQ1VSPTVGTUFYPz0KTUlNRS1W ZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogYWRtaW4vbWVyZ2UtZ251bGliOiBS ZW1vdmUgbTQvbG9jYWxlLWZyLm00LgoqIGNvbmZpZ3VyZS5hYyAoZ3RfTE9DQUxFX0ZSX1VU RjgpOiBSZXBsYWNlIEdudWxpYuKAmXMKZGVmaW5pdGlvbiB3aXRoIGEgbmVhciBuby1vcCwg YXMgRW1hY3MgZG9lc27igJl0IGNhcmUKYWJvdXQgdGhlIFNvbGFyaXMgMTAgTUJfQ1VSX01B WCBidWcuCiogbGliL2dudWxpYi5tay5pbjogUmVnZW5lcmF0ZS4KKiBtNC9sb2NhbGUtZnIu bTQ6IFJlbW92ZTsgbm8gbG9uZ2VyIG5lZWRlZCBkdWUKdG8gYWJvdmUgY2hhbmdlcy4KLS0t CiBhZG1pbi9tZXJnZS1nbnVsaWIgfCAgIDEgKwogY29uZmlndXJlLmFjICAgICAgIHwgICA0 ICsKIGxpYi9nbnVsaWIubWsuaW4gICB8ICAgNCAtCiBtNC9sb2NhbGUtZnIubTQgICAgfCAz MDAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZp bGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMzA0IGRlbGV0aW9ucygtKQogZGVsZXRl IG1vZGUgMTAwNjQ0IG00L2xvY2FsZS1mci5tNAoKZGlmZiAtLWdpdCBhL2FkbWluL21lcmdl LWdudWxpYiBiL2FkbWluL21lcmdlLWdudWxpYgppbmRleCAzZTc1MjYxMDJhZS4uZWI3OTA5 MzM0MTQgMTAwNzU1Ci0tLSBhL2FkbWluL21lcmdlLWdudWxpYgorKysgYi9hZG1pbi9tZXJn ZS1nbnVsaWIKQEAgLTEyMSw2ICsxMjEsNyBAQCBhdm9pZGVkX2ZsYWdzPQogICAgICAgIiRz cmMibTQvZmNudGwtby5tNCBcCiAgICAgICAiJHNyYyJtNC9nbC1vcGVuc3NsLm00IFwKICAg ICAgICIkc3JjIm00L2dudWxpYi1jYWNoZS5tNCAiJHNyYyJtNC9nbnVsaWItdG9vbC5tNCBc CisgICAgICAiJHNyYyJtNC9sb2NhbGUtZnIubTQgXAogICAgICAgIiRzcmMibTQvbWFueXdh cm5pbmdzLWMrKy5tNCBcCiAgICAgICAiJHNyYyJtNC93YXJuLW9uLXVzZS5tNCAiJHNyYyJt NC93aW50X3QubTQgJiYKIGNwIC0tICIkZ251bGliX3NyY2RpciIvYnVpbGQtYXV4L3RleGlu Zm8udGV4ICIkc3JjImRvYy9taXNjICYmCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9j b25maWd1cmUuYWMKaW5kZXggZGZmZGVmNDhjMTAuLjg5MGIwNjkwNWMxIDEwMDY0NAotLS0g YS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC05MDEsNiArOTAxLDEwIEBA IEFDX0RFRlVOCiBBQ19ERUZVTihbZ3RfVFlQRV9XSU5UX1RdLAogICBbR05VTElCSEVBREVS U19PVkVSUklERV9XSU5UX1Q9MAogICAgQUNfU1VCU1QoW0dOVUxJQkhFQURFUlNfT1ZFUlJJ REVfV0lOVF9UXSldKQorIyBFbWFjcyBkb2VzIG5vdCBuZWVkIHByZWNpc2UgY2hlY2tzIGZv ciB0aGUgU29sYXJpcyAxMCBNQl9DVVJfTUFYIGJ1Zy4KK0FDX0RFRlVOKFtndF9MT0NBTEVf RlJfVVRGOF0sCisgIFtMT0NBTEVfRlJfVVRGOD1ub25lCisgICBBQ19TVUJTVChbTE9DQUxF X0ZSX1VURjhdKV0pCiAKICMgSW5pdGlhbGl6ZSBnbnVsaWIgcmlnaHQgYWZ0ZXIgY2hvb3Np bmcgdGhlIGNvbXBpbGVyLgogZG5sIEFtb25nc3Qgb3RoZXIgdGhpbmdzLCB0aGlzIHNldHMg QVIgYW5kIEFSRkxBR1MuCmRpZmYgLS1naXQgYS9saWIvZ251bGliLm1rLmluIGIvbGliL2du dWxpYi5tay5pbgppbmRleCAwODEyZGM4MDEzNS4uYTI1YmVlMjVhYWUgMTAwNjQ0Ci0tLSBh L2xpYi9nbnVsaWIubWsuaW4KKysrIGIvbGliL2dudWxpYi5tay5pbgpAQCAtOTAxLDEwICs5 MDEsNiBAQCBLUkI0TElCID0gQEtSQjRMSUJACiBLUkI1TElCID0gQEtSQjVMSUJACiBMQ01T Ml9DRkxBR1MgPSBATENNUzJfQ0ZMQUdTQAogTENNUzJfTElCUyA9IEBMQ01TMl9MSUJTQAot TENfQ09MTEFURV9JTVBMRU1FTlRFRCA9IEBMQ19DT0xMQVRFX0lNUExFTUVOVEVEQAotTENf TU9ORVRBUllfSU1QTEVNRU5URUQgPSBATENfTU9ORVRBUllfSU1QTEVNRU5URURACi1MQ19O VU1FUklDX0lNUExFTUVOVEVEID0gQExDX05VTUVSSUNfSU1QTEVNRU5URURACi1MQ19USU1F X0lNUExFTUVOVEVEID0gQExDX1RJTUVfSU1QTEVNRU5URURACiBMREZMQUdTID0gQExERkxB R1NACiBMRF9TV0lUQ0hfU1lTVEVNID0gQExEX1NXSVRDSF9TWVNURU1ACiBMRF9TV0lUQ0hf U1lTVEVNX1RFTUFDUyA9IEBMRF9TV0lUQ0hfU1lTVEVNX1RFTUFDU0AKZGlmZiAtLWdpdCBh L200L2xvY2FsZS1mci5tNCBiL200L2xvY2FsZS1mci5tNApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNDBiMTNhZWFhNzkuLjAwMDAwMDAwMDAwCi0tLSBhL200L2xvY2FsZS1m ci5tNAorKysgL2Rldi9udWxsCkBAIC0xLDMwMCArMCwwIEBACi0jIGxvY2FsZS1mci5tNCBz ZXJpYWwgMjIKLWRubCBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDUtMjAyMyBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KLWRubCBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgotZG5sIGdpdmVzIHVubGltaXRlZCBwZXJt aXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCi1kbmwgd2l0aCBvciB3aXRo b3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVk LgotCi1kbmwgRnJvbSBCcnVubyBIYWlibGUuCi0KLWRubCBEZXRlcm1pbmUgdGhlIG5hbWUg b2YgYSBmcmVuY2ggbG9jYWxlIHdpdGggdHJhZGl0aW9uYWwgZW5jb2RpbmcuCi1BQ19ERUZV Tl9PTkNFKFtndF9MT0NBTEVfRlJdLAotWwotICBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxf SE9TVF0pCi0gIEFDX1JFUVVJUkUoW0FNX0xBTkdJTkZPX0NPREVTRVRdKQotICBBQ19DQUNI RV9DSEVDSyhbZm9yIGEgdHJhZGl0aW9uYWwgZnJlbmNoIGxvY2FsZV0sIFtndF9jdl9sb2Nh bGVfZnJdLCBbCi0gICAgQUNfTEFOR19DT05GVEVTVChbQUNfTEFOR19TT1VSQ0UoW1sKLSNp bmNsdWRlIDxsb2NhbGUuaD4KLSNpbmNsdWRlIDx0aW1lLmg+Ci0jaWYgSEFWRV9MQU5HSU5G T19DT0RFU0VUCi0jIGluY2x1ZGUgPGxhbmdpbmZvLmg+Ci0jZW5kaWYKLSNpbmNsdWRlIDxz dGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLXN0cnVjdCB0bSB0OwotY2hhciBidWZb MTZdOwotaW50IG1haW4gKCkgewotICAvKiBPbiBCZU9TIGFuZCBIYWlrdSwgbG9jYWxlcyBh cmUgbm90IGltcGxlbWVudGVkIGluIGxpYmMuICBSYXRoZXIsIGxpYmludGwKLSAgICAgaW1p dGF0ZXMgbG9jYWxlIGRlcGVuZGVudCBiZWhhdmlvdXIgYnkgbG9va2luZyBhdCB0aGUgZW52 aXJvbm1lbnQKLSAgICAgdmFyaWFibGVzLCBhbmQgYWxsIGxvY2FsZXMgdXNlIHRoZSBVVEYt OCBlbmNvZGluZy4gICovCi0jaWYgZGVmaW5lZCBfX0JFT1NfXyB8fCBkZWZpbmVkIF9fSEFJ S1VfXwotICByZXR1cm4gMTsKLSNlbHNlCi0gIC8qIENoZWNrIHdoZXRoZXIgdGhlIGdpdmVu IGxvY2FsZSBuYW1lIGlzIHJlY29nbml6ZWQgYnkgdGhlIHN5c3RlbS4gICovCi0jIGlmIGRl ZmluZWQgX1dJTjMyICYmICFkZWZpbmVkIF9fQ1lHV0lOX18KLSAgLyogT24gbmF0aXZlIFdp bmRvd3MsIHNldGxvY2FsZShjYXRlZ29yeSwgIiIpIGxvb2tzIGF0IHRoZSBzeXN0ZW0gc2V0 dGluZ3MsCi0gICAgIG5vdCBhdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLiAgQWxzbywg d2hlbiBhbiBlbmNvZGluZyBzdWZmaXggc3VjaAotICAgICBhcyAiLjY1MDAxIiBvciAiLjU0 OTM2IiBpcyBzcGVjaWZpZWQsIGl0IHN1Y2NlZWRzIGJ1dCBzZXRzIHRoZSBMQ19DVFlQRQot ICAgICBjYXRlZ29yeSBvZiB0aGUgbG9jYWxlIHRvICJDIi4gICovCi0gIGlmIChzZXRsb2Nh bGUgKExDX0FMTCwgZ2V0ZW52ICgiTENfQUxMIikpID09IE5VTEwKLSAgICAgIHx8IHN0cmNt cCAoc2V0bG9jYWxlIChMQ19DVFlQRSwgTlVMTCksICJDIikgPT0gMCkKLSAgICByZXR1cm4g MTsKLSMgZWxzZQotICBpZiAoc2V0bG9jYWxlIChMQ19BTEwsICIiKSA9PSBOVUxMKSByZXR1 cm4gMTsKLSMgZW5kaWYKLSAgLyogQ2hlY2sgd2hldGhlciBubF9sYW5naW5mbyhDT0RFU0VU KSBpcyBub25lbXB0eSBhbmQgbm90ICJBU0NJSSIgb3IgIjY0NiIuCi0gICAgIE9uIE1hYyBP UyBYIDEwLjMuNSAoRGFyd2luIDcuNSkgaW4gdGhlIGZyX0ZSIGxvY2FsZSwgbmxfbGFuZ2lu Zm8oQ09ERVNFVCkKLSAgICAgaXMgZW1wdHksIGFuZCB0aGUgYmVoYXZpb3VyIG9mIFRjbCA4 LjQgaW4gdGhpcyBsb2NhbGUgaXMgbm90IHVzZWZ1bC4KLSAgICAgT24gT3BlbkJTRCA0LjAs IHdoZW4gYW4gdW5zdXBwb3J0ZWQgbG9jYWxlIGlzIHNwZWNpZmllZCwgc2V0bG9jYWxlKCkK LSAgICAgc3VjY2VlZHMgYnV0IHRoZW4gbmxfbGFuZ2luZm8oQ09ERVNFVCkgaXMgIjY0NiIu IEluIHRoaXMgc2l0dWF0aW9uLAotICAgICBzb21lIHVuaXQgdGVzdHMgZmFpbC4KLSAgICAg T24gTWlyQlNEIDEwLCB3aGVuIGFuIHVuc3VwcG9ydGVkIGxvY2FsZSBpcyBzcGVjaWZpZWQs IHNldGxvY2FsZSgpCi0gICAgIHN1Y2NlZWRzIGJ1dCB0aGVuIG5sX2xhbmdpbmZvKENPREVT RVQpIGlzICJVVEYtOCIuICAqLwotIyBpZiBIQVZFX0xBTkdJTkZPX0NPREVTRVQKLSAgewot ICAgIGNvbnN0IGNoYXIgKmNzID0gbmxfbGFuZ2luZm8gKENPREVTRVQpOwotICAgIGlmIChj c1swXSA9PSAnXDAnIHx8IHN0cmNtcCAoY3MsICJBU0NJSSIpID09IDAgfHwgc3RyY21wIChj cywgIjY0NiIpID09IDAKLSAgICAgICAgfHwgc3RyY21wIChjcywgIlVURi04IikgPT0gMCkK LSAgICAgIHJldHVybiAxOwotICB9Ci0jIGVuZGlmCi0jIGlmZGVmIF9fQ1lHV0lOX18KLSAg LyogT24gQ3lnd2luLCBhdm9pZCBsb2NhbGUgbmFtZXMgd2l0aG91dCBlbmNvZGluZyBzdWZm aXgsIGJlY2F1c2UgdGhlCi0gICAgIGxvY2FsZV9jaGFyc2V0KCkgZnVuY3Rpb24gcmVsaWVz IG9uIHRoZSBlbmNvZGluZyBzdWZmaXguICBOb3RlIHRoYXQKLSAgICAgTENfQUxMIGlzIHNl dCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgKi8KLSAgaWYgKHN0cmNociAoZ2V0ZW52ICgiTENf QUxMIiksICcuJykgPT0gTlVMTCkgcmV0dXJuIDE7Ci0jIGVuZGlmCi0gIC8qIENoZWNrIHdo ZXRoZXIgaW4gdGhlIGFiYnJldmlhdGlvbiBvZiB0aGUgc2Vjb25kIG1vbnRoLCB0aGUgc2Vj b25kCi0gICAgIGNoYXJhY3RlciAoc2hvdWxkIGJlIFUrMDBFOTogTEFUSU4gU01BTEwgTEVU VEVSIEUgV0lUSCBBQ1VURSkgaXMgb25seQotICAgICBvbmUgYnl0ZSBsb25nLiBUaGlzIGV4 Y2x1ZGVzIHRoZSBVVEYtOCBlbmNvZGluZy4gICovCi0gIHQudG1feWVhciA9IDE5NzUgLSAx OTAwOyB0LnRtX21vbiA9IDIgLSAxOyB0LnRtX21kYXkgPSA0OwotICBpZiAoc3RyZnRpbWUg KGJ1Ziwgc2l6ZW9mIChidWYpLCAiJWIiLCAmdCkgPCAzIHx8IGJ1ZlsyXSAhPSAndicpIHJl dHVybiAxOwotIyBpZiAhZGVmaW5lZCBfX0JJT05JQ19fIC8qIEJpb25pYyBsaWJjJ3MgJ3N0 cnVjdCBsY29udicgaXMganVzdCBhIGR1bW15LiAgKi8KLSAgLyogQ2hlY2sgd2hldGhlciB0 aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgYSBjb21tYS4KLSAgICAgT24gTmV0QlNEIDMuMCBp biB0aGUgZnJfRlIuSVNPODg1OS0xIGxvY2FsZSwgbG9jYWxlY29udigpLT5kZWNpbWFsX3Bv aW50Ci0gICAgIGFyZSBubF9sYW5naW5mbyhSQURJWENIQVIpIGFyZSBib3RoICIuIi4gICov Ci0gIGlmIChsb2NhbGVjb252ICgpIC0+ZGVjaW1hbF9wb2ludFswXSAhPSAnLCcpIHJldHVy biAxOwotIyBlbmRpZgotICByZXR1cm4gMDsKLSNlbmRpZgotfQotICAgICAgXV0pXSkKLSAg ICBpZiBBQ19UUllfRVZBTChbYWNfbGlua10pICYmIHRlc3QgLXMgY29uZnRlc3QkYWNfZXhl ZXh0OyB0aGVuCi0gICAgICBjYXNlICIkaG9zdF9vcyIgaW4KLSAgICAgICAgIyBIYW5kbGUg bmF0aXZlIFdpbmRvd3Mgc3BlY2lhbGx5LCBiZWNhdXNlIHRoZXJlIHNldGxvY2FsZSgpIGlu dGVycHJldHMKLSAgICAgICAgIyAiYXIiIGFzICJBcmFiaWMiIG9yICJBcmFiaWNfU2F1ZGkg QXJhYmlhLjEyNTYiLAotICAgICAgICAjICJmciIgb3IgImZyYSIgYXMgIkZyZW5jaCIgb3Ig IkZyZW5jaF9GcmFuY2UuMTI1MiIsCi0gICAgICAgICMgImdlIighKSBvciAiZGV1IighKSBh cyAiR2VybWFuIiBvciAiR2VybWFuX0dlcm1hbnkuMTI1MiIsCi0gICAgICAgICMgImphIiBh cyAiSmFwYW5lc2UiIG9yICJKYXBhbmVzZV9KYXBhbi45MzIiLAotICAgICAgICAjIGFuZCBz aW1pbGFyLgotICAgICAgICBtaW5ndyopCi0gICAgICAgICAgIyBUZXN0IGZvciB0aGUgbmF0 aXZlIFdpbmRvd3MgbG9jYWxlIG5hbWUuCi0gICAgICAgICAgaWYgKExDX0FMTD1GcmVuY2hf RnJhbmNlLjEyNTIgTENfVElNRT0gTENfQ1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rl di9udWxsOyB0aGVuCi0gICAgICAgICAgICBndF9jdl9sb2NhbGVfZnI9RnJlbmNoX0ZyYW5j ZS4xMjUyCi0gICAgICAgICAgZWxzZQotICAgICAgICAgICAgIyBOb25lIGZvdW5kLgotICAg ICAgICAgICAgZ3RfY3ZfbG9jYWxlX2ZyPW5vbmUKLSAgICAgICAgICBmaQotICAgICAgICAg IDs7Ci0gICAgICAgICopCi0gICAgICAgICAgIyBTZXR0aW5nIExDX0FMTCBpcyBub3QgZW5v dWdoLiBOZWVkIHRvIHNldCBMQ19USU1FIHRvIGVtcHR5LCBiZWNhdXNlCi0gICAgICAgICAg IyBvdGhlcndpc2Ugb24gTWFjIE9TIFggMTAuMy41IHRoZSBMQ19USU1FPUMgZnJvbSB0aGUg YmVnaW5uaW5nIG9mIHRoZQotICAgICAgICAgICMgY29uZmlndXJlIHNjcmlwdCB3b3VsZCBv dmVycmlkZSB0aGUgTENfQUxMIHNldHRpbmcuIExpa2V3aXNlIGZvcgotICAgICAgICAgICMg TENfQ1RZUEUsIHdoaWNoIGlzIGFsc28gc2V0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGNv bmZpZ3VyZSBzY3JpcHQuCi0gICAgICAgICAgIyBUZXN0IGZvciB0aGUgdXN1YWwgbG9jYWxl IG5hbWUuCi0gICAgICAgICAgaWYgKExDX0FMTD1mcl9GUiBMQ19USU1FPSBMQ19DVFlQRT0g Li9jb25mdGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgICAgIGd0X2N2 X2xvY2FsZV9mcj1mcl9GUgotICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICMgVGVzdCBm b3IgdGhlIGxvY2FsZSBuYW1lIHdpdGggZXhwbGljaXQgZW5jb2Rpbmcgc3VmZml4LgotICAg ICAgICAgICAgaWYgKExDX0FMTD1mcl9GUi5JU08tODg1OS0xIExDX1RJTUU9IExDX0NUWVBF PSAuL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgotICAgICAgICAgICAgICBn dF9jdl9sb2NhbGVfZnI9ZnJfRlIuSVNPLTg4NTktMQotICAgICAgICAgICAgZWxzZQotICAg ICAgICAgICAgICAjIFRlc3QgZm9yIHRoZSBBSVgsIE9TRi8xLCBGcmVlQlNELCBOZXRCU0Qs IE9wZW5CU0QgbG9jYWxlIG5hbWUuCi0gICAgICAgICAgICAgIGlmIChMQ19BTEw9ZnJfRlIu SVNPODg1OS0xIExDX1RJTUU9IExDX0NUWVBFPSAuL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYv bnVsbDsgdGhlbgotICAgICAgICAgICAgICAgIGd0X2N2X2xvY2FsZV9mcj1mcl9GUi5JU084 ODU5LTEKLSAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICMgVGVzdCBmb3Ig dGhlIEhQLVVYIGxvY2FsZSBuYW1lLgotICAgICAgICAgICAgICAgIGlmIChMQ19BTEw9ZnJf RlIuaXNvODg1OTEgTENfVElNRT0gTENfQ1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rl di9udWxsOyB0aGVuCi0gICAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVfZnI9ZnJfRlIu aXNvODg1OTEKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAjIFRl c3QgZm9yIHRoZSBTb2xhcmlzIDcgbG9jYWxlIG5hbWUuCi0gICAgICAgICAgICAgICAgICBp ZiAoTENfQUxMPWZyIExDX1RJTUU9IExDX0NUWVBFPSAuL2NvbmZ0ZXN0OyBleGl0KSAyPi9k ZXYvbnVsbDsgdGhlbgotICAgICAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVfZnI9ZnIK LSAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgIyBOb25lIGZv dW5kLgotICAgICAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVfZnI9bm9uZQotICAgICAg ICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICBmaQotICAgICAgICAgICAgICBmaQot ICAgICAgICAgICAgZmkKLSAgICAgICAgICBmaQotICAgICAgICAgIDs7Ci0gICAgICBlc2Fj Ci0gICAgZmkKLSAgICBybSAtZnIgY29uZnRlc3QqCi0gIF0pCi0gIExPQ0FMRV9GUj0kZ3Rf Y3ZfbG9jYWxlX2ZyCi0gIGNhc2UgJExPQ0FMRV9GUiBpbiAjKAotICAgICcnIHwgKltbWzpz cGFjZTpdXCJcJFwnKkA8OkBdXSopCi0gICAgICBkbmwgVGhpcyBsb2NhbGUgbmFtZSBtaWdo dCBjYXVzZSB0cm91YmxlIHdpdGggc2ggb3IgbWFrZS4KLSAgICAgIEFDX01TR19XQVJOKFtp bnZhbGlkIGxvY2FsZSAiJExPQ0FMRV9GUiI7IGFzc3VtaW5nICJub25lIl0pCi0gICAgICBM T0NBTEVfRlI9bm9uZTs7Ci0gIGVzYWMKLSAgQUNfU1VCU1QoW0xPQ0FMRV9GUl0pCi1dKQot Ci1kbmwgRGV0ZXJtaW5lIHRoZSBuYW1lIG9mIGEgZnJlbmNoIGxvY2FsZSB3aXRoIFVURi04 IGVuY29kaW5nLgotQUNfREVGVU5fT05DRShbZ3RfTE9DQUxFX0ZSX1VURjhdLAotWwotICBB Q19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCi0gIEFDX1JFUVVJUkUoW0FNX0xBTkdJ TkZPX0NPREVTRVRdKQotICBBQ19DQUNIRV9DSEVDSyhbZm9yIGEgZnJlbmNoIFVuaWNvZGUg bG9jYWxlXSwgW2d0X2N2X2xvY2FsZV9mcl91dGY4XSwgWwotICAgIGNhc2UgIiRob3N0X29z IiBpbgotICAgICAgKi1tdXNsKiB8IG1pZGlwaXgqKQotICAgICAgICBkbmwgT24gbXVzbCBs aWJjLCBhbGwga2luZHMgb2YgbGxfQ0MuVVRGLTggbG9jYWxlcyBleGlzdCwgZXZlbiB3aXRo b3V0Ci0gICAgICAgIGRubCBhbnkgbG9jYWxlIGZpbGUgb24gZGlzay4gQnV0IHRoZXkgYXJl IGVmZmVjdGl2ZWx5IGVxdWl2YWxlbnQgdG8gdGhlCi0gICAgICAgIGRubCBDLlVURi04IGxv Y2FsZSwgZXhjZXB0IGZvciBsb2NhbGUgY2F0ZWdvcmllcyAoc3VjaCBhcyBMQ19NRVNTU0FH RVMpCi0gICAgICAgIGRubCBmb3Igd2hpY2ggbG9jYWxpemF0aW9ucyAoLm1vIGZpbGVzKSBo YXZlIGJlZW4gaW5zdGFsbGVkLgotICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1mcl9G Ui5VVEYtOAotICAgICAgICA7OwotICAgICAgKikKLSAgICAgICAgQUNfTEFOR19DT05GVEVT VChbQUNfTEFOR19TT1VSQ0UoW1sKLSNpbmNsdWRlIDxsb2NhbGUuaD4KLSNpbmNsdWRlIDx0 aW1lLmg+Ci0jaWYgSEFWRV9MQU5HSU5GT19DT0RFU0VUCi0jIGluY2x1ZGUgPGxhbmdpbmZv Lmg+Ci0jZW5kaWYKLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4K LXN0cnVjdCB0bSB0OwotY2hhciBidWZbMTZdOwotaW50IG1haW4gKCkgewotICAvKiBPbiBC ZU9TIGFuZCBIYWlrdSwgbG9jYWxlcyBhcmUgbm90IGltcGxlbWVudGVkIGluIGxpYmMuICBS YXRoZXIsIGxpYmludGwKLSAgICAgaW1pdGF0ZXMgbG9jYWxlIGRlcGVuZGVudCBiZWhhdmlv dXIgYnkgbG9va2luZyBhdCB0aGUgZW52aXJvbm1lbnQKLSAgICAgdmFyaWFibGVzLCBhbmQg YWxsIGxvY2FsZXMgdXNlIHRoZSBVVEYtOCBlbmNvZGluZy4gICovCi0jaWYgIShkZWZpbmVk IF9fQkVPU19fIHx8IGRlZmluZWQgX19IQUlLVV9fKQotICAvKiBDaGVjayB3aGV0aGVyIHRo ZSBnaXZlbiBsb2NhbGUgbmFtZSBpcyByZWNvZ25pemVkIGJ5IHRoZSBzeXN0ZW0uICAqLwot IyBpZiBkZWZpbmVkIF9XSU4zMiAmJiAhZGVmaW5lZCBfX0NZR1dJTl9fCi0gIC8qIE9uIG5h dGl2ZSBXaW5kb3dzLCBzZXRsb2NhbGUoY2F0ZWdvcnksICIiKSBsb29rcyBhdCB0aGUgc3lz dGVtIHNldHRpbmdzLAotICAgICBub3QgYXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcy4g IEFsc28sIHdoZW4gYW4gZW5jb2Rpbmcgc3VmZml4IHN1Y2gKLSAgICAgYXMgIi42NTAwMSIg b3IgIi41NDkzNiIgaXMgc3BlY2lmaWVkLCBpdCBzdWNjZWVkcyBidXQgc2V0cyB0aGUgTENf Q1RZUEUKLSAgICAgY2F0ZWdvcnkgb2YgdGhlIGxvY2FsZSB0byAiQyIuICAqLwotICBpZiAo c2V0bG9jYWxlIChMQ19BTEwsIGdldGVudiAoIkxDX0FMTCIpKSA9PSBOVUxMCi0gICAgICB8 fCBzdHJjbXAgKHNldGxvY2FsZSAoTENfQ1RZUEUsIE5VTEwpLCAiQyIpID09IDApCi0gICAg cmV0dXJuIDE7Ci0jIGVsc2UKLSAgaWYgKHNldGxvY2FsZSAoTENfQUxMLCAiIikgPT0gTlVM TCkgcmV0dXJuIDE7Ci0jIGVuZGlmCi0gIC8qIENoZWNrIHdoZXRoZXIgbmxfbGFuZ2luZm8o Q09ERVNFVCkgaXMgbm9uZW1wdHkgYW5kIG5vdCAiQVNDSUkiIG9yICI2NDYiLgotICAgICBP biBNYWMgT1MgWCAxMC4zLjUgKERhcndpbiA3LjUpIGluIHRoZSBmcl9GUiBsb2NhbGUsIG5s X2xhbmdpbmZvKENPREVTRVQpCi0gICAgIGlzIGVtcHR5LCBhbmQgdGhlIGJlaGF2aW91ciBv ZiBUY2wgOC40IGluIHRoaXMgbG9jYWxlIGlzIG5vdCB1c2VmdWwuCi0gICAgIE9uIE9wZW5C U0QgNC4wLCB3aGVuIGFuIHVuc3VwcG9ydGVkIGxvY2FsZSBpcyBzcGVjaWZpZWQsIHNldGxv Y2FsZSgpCi0gICAgIHN1Y2NlZWRzIGJ1dCB0aGVuIG5sX2xhbmdpbmZvKENPREVTRVQpIGlz ICI2NDYiLiBJbiB0aGlzIHNpdHVhdGlvbiwKLSAgICAgc29tZSB1bml0IHRlc3RzIGZhaWwu ICAqLwotIyBpZiBIQVZFX0xBTkdJTkZPX0NPREVTRVQKLSAgewotICAgIGNvbnN0IGNoYXIg KmNzID0gbmxfbGFuZ2luZm8gKENPREVTRVQpOwotICAgIGlmIChjc1swXSA9PSAnXDAnIHx8 IHN0cmNtcCAoY3MsICJBU0NJSSIpID09IDAgfHwgc3RyY21wIChjcywgIjY0NiIpID09IDAp Ci0gICAgICByZXR1cm4gMTsKLSAgfQotIyBlbmRpZgotIyBpZmRlZiBfX0NZR1dJTl9fCi0g IC8qIE9uIEN5Z3dpbiwgYXZvaWQgbG9jYWxlIG5hbWVzIHdpdGhvdXQgZW5jb2Rpbmcgc3Vm Zml4LCBiZWNhdXNlIHRoZQotICAgICBsb2NhbGVfY2hhcnNldCgpIGZ1bmN0aW9uIHJlbGll cyBvbiB0aGUgZW5jb2Rpbmcgc3VmZml4LiAgTm90ZSB0aGF0Ci0gICAgIExDX0FMTCBpcyBz ZXQgb24gdGhlIGNvbW1hbmQgbGluZS4gICovCi0gIGlmIChzdHJjaHIgKGdldGVudiAoIkxD X0FMTCIpLCAnLicpID09IE5VTEwpIHJldHVybiAxOwotIyBlbmRpZgotICAvKiBDaGVjayB3 aGV0aGVyIGluIHRoZSBhYmJyZXZpYXRpb24gb2YgdGhlIHNlY29uZCBtb250aCwgdGhlIHNl Y29uZAotICAgICBjaGFyYWN0ZXIgKHNob3VsZCBiZSBVKzAwRTk6IExBVElOIFNNQUxMIExF VFRFUiBFIFdJVEggQUNVVEUpIGlzCi0gICAgIHR3byBieXRlcyBsb25nLCB3aXRoIFVURi04 IGVuY29kaW5nLiAgKi8KLSAgdC50bV95ZWFyID0gMTk3NSAtIDE5MDA7IHQudG1fbW9uID0g MiAtIDE7IHQudG1fbWRheSA9IDQ7Ci0gIGlmIChzdHJmdGltZSAoYnVmLCBzaXplb2YgKGJ1 ZiksICIlYiIsICZ0KSA8IDQKLSAgICAgIHx8IGJ1ZlsxXSAhPSAoY2hhcikgMHhjMyB8fCBi dWZbMl0gIT0gKGNoYXIpIDB4YTkgfHwgYnVmWzNdICE9ICd2JykKLSAgICByZXR1cm4gMTsK LSNlbmRpZgotI2lmICFkZWZpbmVkIF9fQklPTklDX18gLyogQmlvbmljIGxpYmMncyAnc3Ry dWN0IGxjb252JyBpcyBqdXN0IGEgZHVtbXkuICAqLwotICAvKiBDaGVjayB3aGV0aGVyIHRo ZSBkZWNpbWFsIHNlcGFyYXRvciBpcyBhIGNvbW1hLgotICAgICBPbiBOZXRCU0QgMy4wIGlu IHRoZSBmcl9GUi5JU084ODU5LTEgbG9jYWxlLCBsb2NhbGVjb252KCktPmRlY2ltYWxfcG9p bnQKLSAgICAgYXJlIG5sX2xhbmdpbmZvKFJBRElYQ0hBUikgYXJlIGJvdGggIi4iLiAgKi8K LSAgaWYgKGxvY2FsZWNvbnYgKCkgLT5kZWNpbWFsX3BvaW50WzBdICE9ICcsJykgcmV0dXJu IDE7Ci0jZW5kaWYKLSAgcmV0dXJuIDA7Ci19Ci0gICAgICAgICAgXV0pXSkKLSAgICAgICAg aWYgQUNfVFJZX0VWQUwoW2FjX2xpbmtdKSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JGFjX2V4ZWV4 dDsgdGhlbgotICAgICAgICAgIGNhc2UgIiRob3N0X29zIiBpbgotICAgICAgICAgICAgIyBI YW5kbGUgbmF0aXZlIFdpbmRvd3Mgc3BlY2lhbGx5LCBiZWNhdXNlIHRoZXJlIHNldGxvY2Fs ZSgpIGludGVycHJldHMKLSAgICAgICAgICAgICMgImFyIiBhcyAiQXJhYmljIiBvciAiQXJh YmljX1NhdWRpIEFyYWJpYS4xMjU2IiwKLSAgICAgICAgICAgICMgImZyIiBvciAiZnJhIiBh cyAiRnJlbmNoIiBvciAiRnJlbmNoX0ZyYW5jZS4xMjUyIiwKLSAgICAgICAgICAgICMgImdl IighKSBvciAiZGV1IighKSBhcyAiR2VybWFuIiBvciAiR2VybWFuX0dlcm1hbnkuMTI1MiIs Ci0gICAgICAgICAgICAjICJqYSIgYXMgIkphcGFuZXNlIiBvciAiSmFwYW5lc2VfSmFwYW4u OTMyIiwKLSAgICAgICAgICAgICMgYW5kIHNpbWlsYXIuCi0gICAgICAgICAgICBtaW5ndyop Ci0gICAgICAgICAgICAgICMgVGVzdCBmb3IgdGhlIGh5cG90aGV0aWNhbCBuYXRpdmUgV2lu ZG93cyBsb2NhbGUgbmFtZS4KLSAgICAgICAgICAgICAgaWYgKExDX0FMTD1GcmVuY2hfRnJh bmNlLjY1MDAxIExDX1RJTUU9IExDX0NUWVBFPSAuL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYv bnVsbDsgdGhlbgotICAgICAgICAgICAgICAgIGd0X2N2X2xvY2FsZV9mcl91dGY4PUZyZW5j aF9GcmFuY2UuNjUwMDEKLSAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICMg Tm9uZSBmb3VuZC4KLSAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1ub25l Ci0gICAgICAgICAgICAgIGZpCi0gICAgICAgICAgICAgIDs7Ci0gICAgICAgICAgICAqKQot ICAgICAgICAgICAgICAjIFNldHRpbmcgTENfQUxMIGlzIG5vdCBlbm91Z2guIE5lZWQgdG8g c2V0IExDX1RJTUUgdG8gZW1wdHksIGJlY2F1c2UKLSAgICAgICAgICAgICAgIyBvdGhlcndp c2Ugb24gTWFjIE9TIFggMTAuMy41IHRoZSBMQ19USU1FPUMgZnJvbSB0aGUgYmVnaW5uaW5n IG9mIHRoZQotICAgICAgICAgICAgICAjIGNvbmZpZ3VyZSBzY3JpcHQgd291bGQgb3ZlcnJp ZGUgdGhlIExDX0FMTCBzZXR0aW5nLiBMaWtld2lzZSBmb3IKLSAgICAgICAgICAgICAgIyBM Q19DVFlQRSwgd2hpY2ggaXMgYWxzbyBzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgY29u ZmlndXJlIHNjcmlwdC4KLSAgICAgICAgICAgICAgIyBUZXN0IGZvciB0aGUgdXN1YWwgbG9j YWxlIG5hbWUuCi0gICAgICAgICAgICAgIGlmIChMQ19BTEw9ZnJfRlIgTENfVElNRT0gTENf Q1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxsOyB0aGVuCi0gICAgICAgICAg ICAgICAgZ3RfY3ZfbG9jYWxlX2ZyX3V0Zjg9ZnJfRlIKLSAgICAgICAgICAgICAgZWxzZQot ICAgICAgICAgICAgICAgICMgVGVzdCBmb3IgdGhlIGxvY2FsZSBuYW1lIHdpdGggZXhwbGlj aXQgZW5jb2Rpbmcgc3VmZml4LgotICAgICAgICAgICAgICAgIGlmIChMQ19BTEw9ZnJfRlIu VVRGLTggTENfVElNRT0gTENfQ1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+L2Rldi9udWxs OyB0aGVuCi0gICAgICAgICAgICAgICAgICBndF9jdl9sb2NhbGVfZnJfdXRmOD1mcl9GUi5V VEYtOAotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICMgVGVzdCBm b3IgdGhlIFNvbGFyaXMgNyBsb2NhbGUgbmFtZS4KLSAgICAgICAgICAgICAgICAgIGlmIChM Q19BTEw9ZnIuVVRGLTggTENfVElNRT0gTENfQ1RZUEU9IC4vY29uZnRlc3Q7IGV4aXQpIDI+ L2Rldi9udWxsOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgIGd0X2N2X2xvY2FsZV9mcl91 dGY4PWZyLlVURi04Ci0gICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg ICAgICMgTm9uZSBmb3VuZC4KLSAgICAgICAgICAgICAgICAgICAgZ3RfY3ZfbG9jYWxlX2Zy X3V0Zjg9bm9uZQotICAgICAgICAgICAgICAgICAgZmkKLSAgICAgICAgICAgICAgICBmaQot ICAgICAgICAgICAgICBmaQotICAgICAgICAgICAgICA7OwotICAgICAgICAgIGVzYWMKLSAg ICAgICAgZmkKLSAgICAgICAgcm0gLWZyIGNvbmZ0ZXN0KgotICAgICAgICA7OwotICAgIGVz YWMKLSAgXSkKLSAgTE9DQUxFX0ZSX1VURjg9JGd0X2N2X2xvY2FsZV9mcl91dGY4Ci0gIGNh c2UgJExPQ0FMRV9GUl9VVEY4IGluICMoCi0gICAgJycgfCAqW1tbOnNwYWNlOl1cIlwkXCcq QDw6QF1dKikKLSAgICAgIGRubCBUaGlzIGxvY2FsZSBuYW1lIG1pZ2h0IGNhdXNlIHRyb3Vi bGUgd2l0aCBzaCBvciBtYWtlLgotICAgICAgQUNfTVNHX1dBUk4oW2ludmFsaWQgbG9jYWxl ICIkTE9DQUxFX0ZSX1VURjgiOyBhc3N1bWluZyAibm9uZSJdKQotICAgICAgTE9DQUxFX0ZS X1VURjg9bm9uZTs7Ci0gIGVzYWMKLSAgQUNfU1VCU1QoW0xPQ0FMRV9GUl9VVEY4XSkKLQot ICBkbmwgVXNlcnMgb2YgJExPQ0FMRV9GUl9VVEY4IG5lZWQgdG8ga25vdyB3aGljaCBvZiB0 aGUgbG9jYWxlIGNhdGVnb3JpZXMgdGhleQotICBkbmwgY2FuIHJlbHkgb24uCi0gIGNhc2Ug IiRob3N0X29zIiBpbgotICAgICotbXVzbCogfCBtaWRpcGl4KikKLSAgICAgIGRubCBPbiBt dXNsIGxpYmMsIGxvY2FsZSBjYXRlZ29yaWVzIG90aGVyIHRoYW4gTENfQ1RZUEUgYW5kIExD X01FU1NBR0VTCi0gICAgICBkbmwgYXJlIGVmZmVjdGl2ZWx5IHVuaW1wbGVtZW50ZWQuCi0g ICAgICBMQ19DT0xMQVRFX0lNUExFTUVOVEVEPWZhbHNlCi0gICAgICBMQ19OVU1FUklDX0lN UExFTUVOVEVEPWZhbHNlCi0gICAgICBMQ19USU1FX0lNUExFTUVOVEVEPWZhbHNlCi0gICAg ICBMQ19NT05FVEFSWV9JTVBMRU1FTlRFRD1mYWxzZQotICAgICAgOzsKLSAgICAqKQotICAg ICAgTENfQ09MTEFURV9JTVBMRU1FTlRFRD10cnVlCi0gICAgICBMQ19OVU1FUklDX0lNUExF TUVOVEVEPXRydWUKLSAgICAgIExDX1RJTUVfSU1QTEVNRU5URUQ9dHJ1ZQotICAgICAgTENf TU9ORVRBUllfSU1QTEVNRU5URUQ9dHJ1ZQotICAgICAgOzsKLSAgZXNhYwotICBBQ19TVUJT VChbTENfQ09MTEFURV9JTVBMRU1FTlRFRF0pCi0gIEFDX1NVQlNUKFtMQ19OVU1FUklDX0lN UExFTUVOVEVEXSkKLSAgQUNfU1VCU1QoW0xDX1RJTUVfSU1QTEVNRU5URURdKQotICBBQ19T VUJTVChbTENfTU9ORVRBUllfSU1QTEVNRU5URURdKQotXSkKLS0gCjIuMzkuMgoK --------------7eqV4rpls2q3D35p8H1LQvzX--