From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Richard Copley Newsgroups: gmane.emacs.bugs Subject: bug#29040: emacs-26 crash due to misaligned longjmp buffer in 64-bit MSYS2/MinGW-W64 build Date: Sat, 28 Oct 2017 14:40:41 +0100 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="089e0824839cff71c5055c9b8e75" X-Trace: blaine.gmane.org 1509198141 23428 195.159.176.226 (28 Oct 2017 13:42:21 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 28 Oct 2017 13:42:21 +0000 (UTC) To: 29040@debbugs.gnu.org, eliz@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Oct 28 15:42:15 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e8RNM-0004gH-Bo for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Oct 2017 15:42:12 +0200 Original-Received: from localhost ([::1]:32852 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8RNQ-000223-Ca for geb-bug-gnu-emacs@m.gmane.org; Sat, 28 Oct 2017 09:42:16 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35779) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8RNF-0001yv-9a for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:42:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8RNC-0000Nw-KU for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:42:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:57717) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e8RNC-0000Mz-Fl for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:42:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e8RNC-0002MV-9w for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Richard Copley Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 28 Oct 2017 13:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 29040 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: "bug-gnu-emacs@gnu.org" , Eli Zaretskii Original-Received: via spool by submit@debbugs.gnu.org id=B.15091980899029 (code B ref -1); Sat, 28 Oct 2017 13:42:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Oct 2017 13:41:29 +0000 Original-Received: from localhost ([127.0.0.1]:38165 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e8RMf-0002LZ-4i for submit@debbugs.gnu.org; Sat, 28 Oct 2017 09:41:29 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44668) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e8RMb-0002LK-I4 for submit@debbugs.gnu.org; Sat, 28 Oct 2017 09:41:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8RMU-0007fn-46 for submit@debbugs.gnu.org; Sat, 28 Oct 2017 09:41:20 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:38607) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1e8RMT-0007f2-Vt for submit@debbugs.gnu.org; Sat, 28 Oct 2017 09:41:18 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35619) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e8RMR-0001Uz-Mk for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:41:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e8RMP-0007Ui-Ln for bug-gnu-emacs@gnu.org; Sat, 28 Oct 2017 09:41:15 -0400 Original-Received: from mail-oi0-x22c.google.com ([2607:f8b0:4003:c06::22c]:52319) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e8RMP-0007Sa-Cp; Sat, 28 Oct 2017 09:41:13 -0400 Original-Received: by mail-oi0-x22c.google.com with SMTP id c202so14844806oih.9; Sat, 28 Oct 2017 06:41:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=O0QqNQQOsx1EAkOesHYRTjIZa+gCDHyeETzI/dNMTtc=; b=dWlpGP+1vd/mPlbyorQ60zVbeKNfd+RbjUy2lb8EvysMuEoT5eSoqy7cerN+ULMzbr mmjsjnh9mG90RF/OfzvZTn/4HfZqa2Iy/t2Ra6kQT8vP0Hd/O/sxBVcwL0YD0rD1bJKk 6xfyua/EorGE8sLBOZl4OkY+QhssTlCcbEexWe+v8FgEDtTtMxkdwwqmQlL3WQCr++YF /x3NWjxckfFbsok4g53XExwhIAqLRwIiJjfd25/zRG8PfDejIlxZUYN4bj5WQpqCZFxY YExvST6VwNZFPppHS3EiWwrdqS6E+zMwzY/HzAhkS0dryuwFeQKC1Ni11KB3+34fkFWv rNLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=O0QqNQQOsx1EAkOesHYRTjIZa+gCDHyeETzI/dNMTtc=; b=n6N7EFlSkFL3sP8W8U03W+MUoZYWtx4dwwv8HOUwXH7vJDBadtILaFkvAF/D1H1ZIu YeastMfRZofrapR4j2upEBaJdzJ+52fYjiaaxJd4ZH5LExR+QX0dPpv+4eQXkbGAEkdM Pol4QPGw78wkbgTT5YCwL3CU6C2x3a5mxFJEoRXK6pFfV3lExLzMn25aN0OGG0qegMsK Iy/H0YqFcvPqEc1DsgYpAsMEY3lsAajErbZJfI5djTcVMRs1SG24nYOnP0wWRNaFhylr erGV2YRWB6BxuiFdEWGnhPr3vLXCVIl+26PtLnP7Lo1fyAPF44MLr9yGEPpiXd6uyt1I 5LwQ== X-Gm-Message-State: AMCzsaWELZI7CO0IJdxNNqEoqXMGr6583GHbm9MRzIXkgHLzQe5tDmVa BQC+00sYpXdWcBFiYh8UsKQnB6Ng97t2x8WqSCU0VQ== X-Google-Smtp-Source: ABhQp+Tv7NRhXyB02PHCbkuxlOqDWielkXeq8IRK2ppAfaKYC5fPL36l55yGTAhqXKbpazaaos2GhNW6cCxEsDetlWU= X-Received: by 10.202.11.3 with SMTP id 3mr1985940oil.71.1509198072334; Sat, 28 Oct 2017 06:41:12 -0700 (PDT) Original-Received: by 10.157.64.8 with HTTP; Sat, 28 Oct 2017 06:40:41 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:139106 Archived-At: --089e0824839cff71c5055c9b8e75 Content-Type: text/plain; charset="UTF-8" When I build from the current emacs-26 branch with the current 64-bit mingw-w64 toolchain from MSYS2, with optimization, Emacs sometimes crashes with a segfault on typing C-g. As far as I can tell, the current 64-bit pretest is not affected. The attached file "servicelistpage.txt" helps to reproduce the crash. It was created by the OP in this thread on help-gnu-emacs: To reproduce the build with the 64-bit MinGW-W64 toolchain from MSYS2, * Save a backup of your MSYS2 installation, if it is in working order. * Update MSYS2. * In MSYS2 MINGW64 shell in the emacs repo: git reset --hard 68182a47 git clean -xfd ./autogen.sh ./configure --with-modules --without-pop 'CFLAGS=-O1 -ggdb3' make -j8 -O Then, to reproduce the crash from "src/emacs -Q servicelistpage.txt": * Wait for the buffer to be displayed. * Type [C-g]. Partial GDB backtrace (full backtrace attached): Thread 1 (Thread 5480.0x1e9c): #0 0x00007ffaa1b693a0 in ntdll!RtlCaptureContext () from C:\WINDOWS\SYSTEM32\ntdll.dll No symbol table info available. #1 0x00007ffaa1ad8f27 in ntdll!RtlUnwindEx () from C:\WINDOWS\SYSTEM32\ntdll.dll No symbol table info available. #2 0x00007ffaa0671f4a in msvcrt!_setjmpex () from C:\WINDOWS\System32\msvcrt.dll No symbol table info available. #3 0x00000004000b1a9a in quit_throw_to_read_char ( from_signal=from_signal@entry=false) at keyboard.c:10548 No locals. The faulting instruction in ntdll!RtlCaptureContext (frame #0) is 0x00007ffaa1b693a0 <+384>: movaps 0x60(%rax),%xmm0 The memory operand should be 16-byte aligned but it is not. That is the cause of the segfault. I think the following extract from the GDB session shows the problem. The value in %rax is 0x4005CDAE8 (not 16-byte aligned). (gdb) p $rax $1 = 17185954536 (gdb) up #1 0x00007ffaa1ad8f27 in ntdll!RtlUnwindEx () from C:\WINDOWS\SYSTEM32\ntdll.dll (gdb) up #2 0x00007ffaa0671f4a in msvcrt!_setjmpex () from C:\WINDOWS\System32\msvcrt.dll (gdb) up #3 0x00000004000b1a9a in quit_throw_to_read_char ( from_signal=from_signal@entry=false) at keyboard.c:10548 10548 sys_longjmp (getcjmp, 1); (gdb) p &getcjmp $2 = (sys_jmp_buf *) 0x4005cdae8 In the help-gnu-emacs thread, Eli said: [...] we should ask the MinGW64 developers for advice about using longjmp. Most probably, something in that area has changed in recent releases of their runtime [...] Eli, my apologies, but I don't think I understand the issues well enough to have a productive discussion with the MinGW-W64 developers myself. --089e0824839cff71c5055c9b8e75 Content-Type: text/plain; charset="UTF-16LE"; name="servicelistpage-1.txt" Content-Disposition: attachment; filename="servicelistpage-1.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j9bcxzbh0 //4iAGgAZQBsAGwAbwAiADoAIgAH6CIADQAKAA== --089e0824839cff71c5055c9b8e75 Content-Type: text/plain; charset="US-ASCII"; name="backtrace.txt" Content-Disposition: attachment; filename="backtrace.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j9bcy6v51 JCBnZGIgLS1xdWlldCAtZXggcnVuIC0tYXJncyBzcmMvZW1hY3MuZXhlIC1RICJDOlxVc2Vyc1xi dXN0ZXJcQXBwRGF0YVxMb2NhbFxUZW1wXHNlcnZpY2VsaXN0cGFnZS0xLnR4dCINClJlYWRpbmcg c3ltYm9scyBmcm9tIHNyYy9lbWFjcy5leGUuLi5kb25lLg0KU3RhcnRpbmcgcHJvZ3JhbTogQzpc cHJvamVjdHNcZW1hY3Ncc3JjXGVtYWNzLmV4ZSAtUSBDOlxVc2Vyc1xidXN0ZXJcQXBwRGF0YVxM b2NhbFxUZW1wXHNlcnZpY2VsaXN0cGFnZS0xLnR4dA0KW05ldyBUaHJlYWQgNTQ4MC4weDFlOWNd DQpbTmV3IFRocmVhZCA1NDgwLjB4M2JjY10NCltOZXcgVGhyZWFkIDU0ODAuMHgxZTA0XQ0KW05l dyBUaHJlYWQgNTQ4MC4weDM4YTRdDQpbTmV3IFRocmVhZCA1NDgwLjB4MjhhMF0NCltOZXcgVGhy ZWFkIDU0ODAuMHgyYTJjXQ0KDQpUaHJlYWQgMSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2Vn bWVudGF0aW9uIGZhdWx0Lg0KMHgwMDAwN2ZmYWExYjY5M2EwIGluIG50ZGxsIVJ0bENhcHR1cmVD b250ZXh0ICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwuZGxsDQooZ2RiKSB0 aHJlYWQgYXBwbHkgYWxsIGJ0IGZ1bGwNCg0KVGhyZWFkIDYgKFRocmVhZCA1NDgwLjB4MmEyYyk6 DQojMCAgMHgwMDAwN2ZmYTlmMDAxMTQ0IGluIHdpbjMydSFOdFVzZXJHZXRNZXNzYWdlICgpDQog ICBmcm9tIEM6XFdJTkRPV1NcU3lzdGVtMzJcd2luMzJ1LmRsbA0KTm8gc3ltYm9sIHRhYmxlIGlu Zm8gYXZhaWxhYmxlLg0KIzEgIDB4MDAwMDdmZmFhMTg2MmRkNiBpbiBVU0VSMzIhR2V0TWVzc2Fn ZVcgKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTeXN0ZW0zMlx1c2VyMzIuZGxsDQpObyBzeW1ib2wg dGFibGUgaW5mbyBhdmFpbGFibGUuDQojMiAgMHgwMDAwMDAwNDAwMTdiMmQ3IGluIHczMl9tc2df cHVtcCAobXNnX2J1Zj1tc2dfYnVmQGVudHJ5PTB4NGJhZmVjMCkNCiAgICBhdCB3MzJmbnMuYzoz MjU1DQogICAgICAgIG1zZyA9IHsNCiAgICAgICAgICBod25kID0gMHgwLA0KICAgICAgICAgIG1l c3NhZ2UgPSAwLA0KICAgICAgICAgIHdQYXJhbSA9IDAsDQogICAgICAgICAgbFBhcmFtID0gMCwN CiAgICAgICAgICB0aW1lID0gMTIxMzkzMzI1MCwNCiAgICAgICAgICBwdCA9IHsNCiAgICAgICAg ICAgIHggPSAxMTM2LA0KICAgICAgICAgICAgeSA9IDEwNjYNCiAgICAgICAgICB9DQogICAgICAg IH0NCiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+DQogICAgICAgIGZvY3VzX3dpbmRv dyA9IDxvcHRpbWl6ZWQgb3V0Pg0KIzMgIDB4MDAwMDAwMDQwMDE3YjM4OSBpbiB3MzJfbXNnX3dv cmtlciAoYXJnPTxvcHRpbWl6ZWQgb3V0PikNCiAgICBhdCB3MzJmbnMuYzozNDc4DQogICAgICAg IG1zZyA9IHsNCiAgICAgICAgICBod25kID0gMHgwLA0KICAgICAgICAgIG1lc3NhZ2UgPSAwLA0K ICAgICAgICAgIHdQYXJhbSA9IDAsDQogICAgICAgICAgbFBhcmFtID0gMCwNCiAgICAgICAgICB0 aW1lID0gMCwNCiAgICAgICAgICBwdCA9IHsNCiAgICAgICAgICAgIHggPSAwLA0KICAgICAgICAg ICAgeSA9IDANCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgZHVtbXlfYnVmID0gew0K ICAgICAgICAgIG5leHQgPSAweDAsDQogICAgICAgICAgdzMybXNnID0gew0KICAgICAgICAgICAg bXNnID0gew0KICAgICAgICAgICAgICBod25kID0gMHgwLA0KICAgICAgICAgICAgICBtZXNzYWdl ID0gMCwNCiAgICAgICAgICAgICAgd1BhcmFtID0gMCwNCiAgICAgICAgICAgICAgbFBhcmFtID0g MCwNCiAgICAgICAgICAgICAgdGltZSA9IDAsDQogICAgICAgICAgICAgIHB0ID0gew0KICAgICAg ICAgICAgICAgIHggPSAwLA0KICAgICAgICAgICAgICAgIHkgPSAwDQogICAgICAgICAgICAgIH0N CiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBkd01vZGlmaWVycyA9IDAsDQogICAgICAgICAg ICByZWN0ID0gew0KICAgICAgICAgICAgICBsZWZ0ID0gMCwNCiAgICAgICAgICAgICAgdG9wID0g MCwNCiAgICAgICAgICAgICAgcmlnaHQgPSAwLA0KICAgICAgICAgICAgICBib3R0b20gPSAwDQog ICAgICAgICAgICB9DQogICAgICAgICAgfSwNCiAgICAgICAgICByZXN1bHQgPSAwLA0KICAgICAg ICAgIGNvbXBsZXRlZCA9IDANCiAgICAgICAgfQ0KIzQgIDB4MDAwMDdmZmFhMGRhMjc3NCBpbiBL RVJORUwzMiFCYXNlVGhyZWFkSW5pdFRodW5rICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU3lzdGVt MzJca2VybmVsMzIuZGxsDQpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojNSAgMHgw MDAwN2ZmYWExYjMwZDUxIGluIG50ZGxsIVJ0bFVzZXJUaHJlYWRTdGFydCAoKQ0KICAgZnJvbSBD OlxXSU5ET1dTXFNZU1RFTTMyXG50ZGxsLmRsbA0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxh YmxlLg0KIzYgIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQ0KTm8gc3ltYm9sIHRhYmxlIGlu Zm8gYXZhaWxhYmxlLg0KQmFja3RyYWNlIHN0b3BwZWQ6IHByZXZpb3VzIGZyYW1lIGlubmVyIHRv IHRoaXMgZnJhbWUgKGNvcnJ1cHQgc3RhY2s/KQ0KDQpUaHJlYWQgNSAoVGhyZWFkIDU0ODAuMHgy OGEwKToNCiMwICAweDAwMDA3ZmZhYTFiNjVhMjQgaW4gbnRkbGwhWndEZWxheUV4ZWN1dGlvbiAo KQ0KICAgZnJvbSBDOlxXSU5ET1dTXFNZU1RFTTMyXG50ZGxsLmRsbA0KTm8gc3ltYm9sIHRhYmxl IGluZm8gYXZhaWxhYmxlLg0KIzEgIDB4MDAwMDdmZmE5ZTAzNzI4NyBpbiBTbGVlcEV4ICgpIGZy b20gQzpcV0lORE9XU1xTeXN0ZW0zMlxLZXJuZWxCYXNlLmRsbA0KTm8gc3ltYm9sIHRhYmxlIGlu Zm8gYXZhaWxhYmxlLg0KIzIgIDB4MDAwMDAwMDQwMDFhODljMiBpbiB0aW1lcl9sb29wIChhcmc9 MHg0MDFhZGZkNjAgPHJlYWxfaXRpbWVyPikNCiAgICBhdCB3MzJwcm9jLmM6Mzk3DQogICAgICAg IHNsZWVwX3RpbWUgPSA8b3B0aW1pemVkIG91dD4NCiAgICAgICAgaGFuZGxlciA9IDxvcHRpbWl6 ZWQgb3V0Pg0KICAgICAgICBub3cgPSA8b3B0aW1pemVkIG91dD4NCiAgICAgICAgZXhwaXJlID0g PG9wdGltaXplZCBvdXQ+DQogICAgICAgIHJlbG9hZCA9IDxvcHRpbWl6ZWQgb3V0Pg0KICAgICAg ICBpdGltZXIgPSAweDQwMWFkZmQ2MCA8cmVhbF9pdGltZXI+DQogICAgICAgIHdoaWNoID0gPG9w dGltaXplZCBvdXQ+DQogICAgICAgIGNyaXQgPSAweDQwMWFkZmNhMCA8Y3JpdF9wcm9mPg0KICAg ICAgICBodGggPSAweDANCiMzICAweDAwMDA3ZmZhYTBkYTI3NzQgaW4gS0VSTkVMMzIhQmFzZVRo cmVhZEluaXRUaHVuayAoKQ0KICAgZnJvbSBDOlxXSU5ET1dTXFN5c3RlbTMyXGtlcm5lbDMyLmRs bA0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLg0KIzQgIDB4MDAwMDdmZmFhMWIzMGQ1 MSBpbiBudGRsbCFSdGxVc2VyVGhyZWFkU3RhcnQgKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTWVNU RU0zMlxudGRsbC5kbGwNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4NCiM1ICAweDAw MDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4N CkJhY2t0cmFjZSBzdG9wcGVkOiBwcmV2aW91cyBmcmFtZSBpbm5lciB0byB0aGlzIGZyYW1lIChj b3JydXB0IHN0YWNrPykNCg0KVGhyZWFkIDQgKFRocmVhZCA1NDgwLjB4MzhhNCk6DQojMCAgMHgw MDAwN2ZmYWExYjY4YzM0IGluIG50ZGxsIVp3V2FpdEZvcldvcmtWaWFXb3JrZXJGYWN0b3J5ICgp DQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwuZGxsDQpObyBzeW1ib2wgdGFibGUg aW5mbyBhdmFpbGFibGUuDQojMSAgMHgwMDAwN2ZmYWExYjAxNTUzIGluIG50ZGxsIVRwUmVsZWFz ZVdvcmsgKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTWVNURU0zMlxudGRsbC5kbGwNCk5vIHN5bWJv bCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4NCiMyICAweDAwMDA3ZmZhYTBkYTI3NzQgaW4gS0VSTkVM MzIhQmFzZVRocmVhZEluaXRUaHVuayAoKQ0KICAgZnJvbSBDOlxXSU5ET1dTXFN5c3RlbTMyXGtl cm5lbDMyLmRsbA0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLg0KIzMgIDB4MDAwMDdm ZmFhMWIzMGQ1MSBpbiBudGRsbCFSdGxVc2VyVGhyZWFkU3RhcnQgKCkNCiAgIGZyb20gQzpcV0lO RE9XU1xTWVNURU0zMlxudGRsbC5kbGwNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4N CiM0ICAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2 YWlsYWJsZS4NCkJhY2t0cmFjZSBzdG9wcGVkOiBwcmV2aW91cyBmcmFtZSBpbm5lciB0byB0aGlz IGZyYW1lIChjb3JydXB0IHN0YWNrPykNCg0KVGhyZWFkIDMgKFRocmVhZCA1NDgwLjB4MWUwNCk6 DQojMCAgMHgwMDAwN2ZmYWExYjY4YzM0IGluIG50ZGxsIVp3V2FpdEZvcldvcmtWaWFXb3JrZXJG YWN0b3J5ICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwuZGxsDQpObyBzeW1i b2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojMSAgMHgwMDAwN2ZmYWExYjAxNTUzIGluIG50ZGxs IVRwUmVsZWFzZVdvcmsgKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTWVNURU0zMlxudGRsbC5kbGwN Ck5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4NCiMyICAweDAwMDA3ZmZhYTBkYTI3NzQg aW4gS0VSTkVMMzIhQmFzZVRocmVhZEluaXRUaHVuayAoKQ0KICAgZnJvbSBDOlxXSU5ET1dTXFN5 c3RlbTMyXGtlcm5lbDMyLmRsbA0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxlLg0KIzMg IDB4MDAwMDdmZmFhMWIzMGQ1MSBpbiBudGRsbCFSdGxVc2VyVGhyZWFkU3RhcnQgKCkNCiAgIGZy b20gQzpcV0lORE9XU1xTWVNURU0zMlxudGRsbC5kbGwNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2 YWlsYWJsZS4NCiM0ICAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCk5vIHN5bWJvbCB0YWJs ZSBpbmZvIGF2YWlsYWJsZS4NCkJhY2t0cmFjZSBzdG9wcGVkOiBwcmV2aW91cyBmcmFtZSBpbm5l ciB0byB0aGlzIGZyYW1lIChjb3JydXB0IHN0YWNrPykNCg0KVGhyZWFkIDIgKFRocmVhZCA1NDgw LjB4M2JjYyk6DQojMCAgMHgwMDAwN2ZmYWExYjY4YzM0IGluIG50ZGxsIVp3V2FpdEZvcldvcmtW aWFXb3JrZXJGYWN0b3J5ICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwuZGxs DQpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojMSAgMHgwMDAwN2ZmYWExYjAxNTUz IGluIG50ZGxsIVRwUmVsZWFzZVdvcmsgKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTWVNURU0zMlxu dGRsbC5kbGwNCk5vIHN5bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4NCiMyICAweDAwMDA3ZmZh YTBkYTI3NzQgaW4gS0VSTkVMMzIhQmFzZVRocmVhZEluaXRUaHVuayAoKQ0KICAgZnJvbSBDOlxX SU5ET1dTXFN5c3RlbTMyXGtlcm5lbDMyLmRsbA0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxh YmxlLg0KIzMgIDB4MDAwMDdmZmFhMWIzMGQ1MSBpbiBudGRsbCFSdGxVc2VyVGhyZWFkU3RhcnQg KCkNCiAgIGZyb20gQzpcV0lORE9XU1xTWVNURU0zMlxudGRsbC5kbGwNCk5vIHN5bWJvbCB0YWJs ZSBpbmZvIGF2YWlsYWJsZS4NCiM0ICAweDAwMDAwMDAwMDAwMDAwMDAgaW4gPz8gKCkNCk5vIHN5 bWJvbCB0YWJsZSBpbmZvIGF2YWlsYWJsZS4NCkJhY2t0cmFjZSBzdG9wcGVkOiBwcmV2aW91cyBm cmFtZSBpbm5lciB0byB0aGlzIGZyYW1lIChjb3JydXB0IHN0YWNrPykNCg0KVGhyZWFkIDEgKFRo cmVhZCA1NDgwLjB4MWU5Yyk6DQojMCAgMHgwMDAwN2ZmYWExYjY5M2EwIGluIG50ZGxsIVJ0bENh cHR1cmVDb250ZXh0ICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwuZGxsDQpO byBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojMSAgMHgwMDAwN2ZmYWExYWQ4ZjI3IGlu IG50ZGxsIVJ0bFVud2luZEV4ICgpDQogICBmcm9tIEM6XFdJTkRPV1NcU1lTVEVNMzJcbnRkbGwu ZGxsDQpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojMiAgMHgwMDAwN2ZmYWEwNjcx ZjRhIGluIG1zdmNydCFfc2V0am1wZXggKCkNCiAgIGZyb20gQzpcV0lORE9XU1xTeXN0ZW0zMlxt c3ZjcnQuZGxsDQpObyBzeW1ib2wgdGFibGUgaW5mbyBhdmFpbGFibGUuDQojMyAgMHgwMDAwMDAw NDAwMGIxYTlhIGluIHF1aXRfdGhyb3dfdG9fcmVhZF9jaGFyICgNCiAgICBmcm9tX3NpZ25hbD1m cm9tX3NpZ25hbEBlbnRyeT1mYWxzZSkgYXQga2V5Ym9hcmQuYzoxMDU0OA0KTm8gbG9jYWxzLg0K IzQgIDB4MDAwMDAwMDQwMDBiM2RiNSBpbiBrYmRfYnVmZmVyX2dldF9ldmVudCAoZW5kX3RpbWU9 MHgwLA0KICAgIHVzZWRfbW91c2VfbWVudT0weDAsIGticD08c3ludGhldGljIHBvaW50ZXI+KSBh dCBrZXlib2FyZC5jOjM3OTANCiAgICAgICAgb2JqID0gPG9wdGltaXplZCBvdXQ+DQojNSAgcmVh ZF9ldmVudF9mcm9tX21haW5fcXVldWUgKHVzZWRfbW91c2VfbWVudT0weDAsIGxvY2FsX2dldGNq bXA9MHhiZmYyNTgsDQogICAgZW5kX3RpbWU9MHgwKSBhdCBrZXlib2FyZC5jOjIxNTENCiAgICAg ICAgYyA9IHsNCiAgICAgICAgICBpID0gMA0KICAgICAgICB9DQogICAgICAgIHNhdmVfanVtcCA9 IHt7DQogICAgICAgICAgICBQYXJ0ID0gezAsIDB9DQogICAgICAgICAgfSA8cmVwZWF0cyAxNiB0 aW1lcz59DQogICAgICAgIGtiID0gPG9wdGltaXplZCBvdXQ+DQojNiAgcmVhZF9kZWNvZGVkX2V2 ZW50X2Zyb21fbWFpbl9xdWV1ZSAodXNlZF9tb3VzZV9tZW51PTB4MCwgcHJldl9ldmVudD0uLi4s DQogICAgbG9jYWxfZ2V0Y2ptcD0weGJmZjI1OCwgZW5kX3RpbWU9MHgwKSBhdCBrZXlib2FyZC5j OjIyMTQNCk5vIGxvY2Fscy4NCiM3ICByZWFkX2NoYXIgKGNvbW1hbmRmbGFnPTEyMCwgY29tbWFu ZGZsYWdAZW50cnk9MSwgbWFwPS4uLiwgbWFwQGVudHJ5PS4uLiwNCiAgICBwcmV2X2V2ZW50PS4u LiwgdXNlZF9tb3VzZV9tZW51PTB4MCwgdXNlZF9tb3VzZV9tZW51QGVudHJ5PTB4YmZmNDRiLA0K ICAgIGVuZF90aW1lPWVuZF90aW1lQGVudHJ5PTB4MCkgYXQga2V5Ym9hcmQuYzoyODAyDQogICAg ICAgIGMgPSA8b3B0aW1pemVkIG91dD4NCiAgICAgICAgam1wY291bnQgPSAwDQogICAgICAgIGxv Y2FsX2dldGNqbXAgPSB7ew0KICAgICAgICAgICAgUGFydCA9IHsxMjU3OTYyNCwgMTcxODU0NTI5 Njl9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHsxMjU3ODMwNCwgMTI1Nzk2 MjR9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHsxNzE4NTQ2MTE4NCwgMTcx ODU4NjE2MDB9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHs1MzQ1MjgsIDN9 DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHswLCAwfQ0KICAgICAgICAgIH0s IHsNCiAgICAgICAgICAgIFBhcnQgPSB7MTcxODA2MDE5OTYsIDM4NDM5OTU3MzgwMTZ9DQogICAg ICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHswLCAwfQ0KICAgICAgICAgIH0sIHsNCiAg ICAgICAgICAgIFBhcnQgPSB7MCwgMH0NCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0 ID0gezAsIDB9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHswLCAwfQ0KICAg ICAgICAgIH0sIHsNCiAgICAgICAgICAgIFBhcnQgPSB7MCwgMH0NCiAgICAgICAgICB9LCB7DQog ICAgICAgICAgICBQYXJ0ID0gezAsIDB9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFy dCA9IHswLCAwfQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIFBhcnQgPSB7MCwgMH0NCiAg ICAgICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0ID0gezAsIDB9DQogICAgICAgICAgfSwgew0K ICAgICAgICAgICAgUGFydCA9IHswLCAwfQ0KICAgICAgICAgIH19DQogICAgICAgIHNhdmVfanVt cCA9IHt7DQogICAgICAgICAgICBQYXJ0ID0gezE3MTg1OTA3NTIwLCAxNzE4NTg2OTMyOH0NCiAg ICAgICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0ID0gezYxNzY4LCA4MDM4OTE2OH0NCiAgICAg ICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0ID0gezIsIDE3MTg1MTMxMDE2fQ0KICAgICAgICAg IH0sIHsNCiAgICAgICAgICAgIFBhcnQgPSB7MTI1NzkyOTYsIDB9DQogICAgICAgICAgfSwgew0K ICAgICAgICAgICAgUGFydCA9IHswLCAxNzE4MTAwNTgwNX0NCiAgICAgICAgICB9LCB7DQogICAg ICAgICAgICBQYXJ0ID0gezAsIDE3MTg1OTA3NTIwfQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAg ICAgIFBhcnQgPSB7MzU4NDAsIDE3MTg4MjQwNTQ0fQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAg ICAgIFBhcnQgPSB7NjE3NjgsIDEyMH0NCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0 ID0gezE3MTg1MTMxMDE2LCAxMjU3OTI5Nn0NCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBQ YXJ0ID0gezAsIDE3MTgxMDA5MDM3fQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIFBhcnQg PSB7MCwgODAzODkxNjh9DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHsxLCAx NX0NCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0ID0gezUsIDE3MTg4ODgwMjg4fQ0K ICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIFBhcnQgPSB7MzAwMjM2OCwgMTcxODA5Mzk2NDZ9 DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgUGFydCA9IHswLCA4MDM4OTE2OH0NCiAgICAg ICAgICB9LCB7DQogICAgICAgICAgICBQYXJ0ID0gezAsIDE1fQ0KICAgICAgICAgIH19DQogICAg ICAgIHRlbSA9IDxvcHRpbWl6ZWQgb3V0Pg0KICAgICAgICBzYXZlID0gPG9wdGltaXplZCBvdXQ+ DQogICAgICAgIHByZXZpb3VzX2VjaG9fYXJlYV9tZXNzYWdlID0gew0KICAgICAgICAgIGkgPSAw DQogICAgICAgIH0NCiAgICAgICAgYWxzb19yZWNvcmQgPSB7DQogICAgICAgICAgaSA9IDANCiAg ICAgICAgfQ0KICAgICAgICByZXJlYWQgPSBmYWxzZQ0KICAgICAgICByZWNvcmRlZCA9IGZhbHNl DQogICAgICAgIHBvbGxpbmdfc3RvcHBlZF9oZXJlID0gdHJ1ZQ0KICAgICAgICBvcmlnX2tib2Fy ZCA9IDB4MQ0KIzggIDB4MDAwMDAwMDQwMDBiNjFhMyBpbiByZWFkX2tleV9zZXF1ZW5jZSAoa2V5 YnVmPWtleWJ1ZkBlbnRyeT0weGJmZjU4MCwNCiAgICBidWZzaXplPWJ1ZnNpemVAZW50cnk9MzAs IHByb21wdD0uLi4sIHByb21wdEBlbnRyeT0uLi4sDQogICAgZG9udF9kb3duY2FzZV9sYXN0PWRv bnRfZG93bmNhc2VfbGFzdEBlbnRyeT1mYWxzZSwNCiAgICBjYW5fcmV0dXJuX3N3aXRjaF9mcmFt ZT1jYW5fcmV0dXJuX3N3aXRjaF9mcmFtZUBlbnRyeT10cnVlLA0KICAgIGZpeF9jdXJyZW50X2J1 ZmZlcj1maXhfY3VycmVudF9idWZmZXJAZW50cnk9dHJ1ZSwNCiAgICBwcmV2ZW50X3JlZGlzcGxh eT1wcmV2ZW50X3JlZGlzcGxheUBlbnRyeT1mYWxzZSkgYXQga2V5Ym9hcmQuYzo5MTQ3DQogICAg ICAgIGludGVycnVwdGVkX2tib2FyZCA9IDB4NDFjNGM1MA0KICAgICAgICBpbnRlcnJ1cHRlZF9m cmFtZSA9IDB4NDAwYTNmYTIwIDxkdW1wZWRfZGF0YSs0NTk0MDgwPg0KICAgICAgICBrZXkgPSA8 b3B0aW1pemVkIG91dD4NCiAgICAgICAgdXNlZF9tb3VzZV9tZW51ID0gZmFsc2UNCiAgICAgICAg ZWNob19sb2NhbF9zdGFydCA9IDANCiAgICAgICAgbGFzdF9yZWFsX2tleV9zdGFydCA9IDANCiAg ICAgICAga2V5c19sb2NhbF9zdGFydCA9IDxvcHRpbWl6ZWQgb3V0Pg0KICAgICAgICBuZXdfYmlu ZGluZyA9IDxvcHRpbWl6ZWQgb3V0Pg0KICAgICAgICB0ID0gMA0KICAgICAgICBlY2hvX3N0YXJ0 ID0gMA0KICAgICAgICBrZXlzX3N0YXJ0ID0gMA0KICAgICAgICBjdXJyZW50X2JpbmRpbmcgPSB7 DQogICAgICAgICAgaSA9IDE3MTg4MDcyMDUxDQogICAgICAgIH0NCiAgICAgICAgZmlyc3RfZXZl bnQgPSB7DQogICAgICAgICAgaSA9IDANCiAgICAgICAgfQ0KICAgICAgICBmaXJzdF91bmJvdW5k ID0gMzENCiAgICAgICAgbW9ja19pbnB1dCA9IDANCiAgICAgICAgZmtleSA9IHsNCiAgICAgICAg ICBwYXJlbnQgPSB7DQogICAgICAgICAgICBpID0gMTcxODc0NDMxNzENCiAgICAgICAgICB9LA0K ICAgICAgICAgIG1hcCA9IHsNCiAgICAgICAgICAgIGkgPSAxNzE4NzQ0MzE3MQ0KICAgICAgICAg IH0sDQogICAgICAgICAgc3RhcnQgPSAwLA0KICAgICAgICAgIGVuZCA9IDANCiAgICAgICAgfQ0K ICAgICAgICBrZXl0cmFuID0gew0KICAgICAgICAgIHBhcmVudCA9IHsNCiAgICAgICAgICAgIGkg PSAxNzE4NjE2OTQ5MQ0KICAgICAgICAgIH0sDQogICAgICAgICAgbWFwID0gew0KICAgICAgICAg ICAgaSA9IDE3MTg2MTY5NDkxDQogICAgICAgICAgfSwNCiAgICAgICAgICBzdGFydCA9IDAsDQog ICAgICAgICAgZW5kID0gMA0KICAgICAgICB9DQogICAgICAgIGluZGVjID0gew0KICAgICAgICAg IHBhcmVudCA9IHsNCiAgICAgICAgICAgIGkgPSAxNzE4NzQ0MzE4Nw0KICAgICAgICAgIH0sDQog ICAgICAgICAgbWFwID0gew0KICAgICAgICAgICAgaSA9IDE3MTg3NDQzMTg3DQogICAgICAgICAg fSwNCiAgICAgICAgICBzdGFydCA9IDAsDQogICAgICAgICAgZW5kID0gMA0KICAgICAgICB9DQog ICAgICAgIHNoaWZ0X3RyYW5zbGF0ZWQgPSBmYWxzZQ0KICAgICAgICBkZWxheWVkX3N3aXRjaF9m cmFtZSA9IHsNCiAgICAgICAgICBpID0gMA0KICAgICAgICB9DQogICAgICAgIG9yaWdpbmFsX3Vw cGVyY2FzZSA9IHsNCiAgICAgICAgICBpID0gMA0KICAgICAgICB9DQogICAgICAgIG9yaWdpbmFs X3VwcGVyY2FzZV9wb3NpdGlvbiA9IC0xDQogICAgICAgIGR1bW15ZmxhZyA9IGZhbHNlDQogICAg ICAgIHN0YXJ0aW5nX2J1ZmZlciA9IDB4NGNhYTQzMA0KICAgICAgICBmYWtlX3ByZWZpeGVkX2tl eXMgPSB7DQogICAgICAgICAgaSA9IDANCiAgICAgICAgfQ0KIzkgIDB4MDAwMDAwMDQwMDBiNmVl MyBpbiBjb21tYW5kX2xvb3BfMSAoKSBhdCBrZXlib2FyZC5jOjEzNjgNCiAgICAgICAgY21kID0g PG9wdGltaXplZCBvdXQ+DQogICAgICAgIGtleWJ1ZiA9IHt7DQogICAgICAgICAgICBpID0gMA0K ICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxNzE4MTAwNTgwNQ0KICAgICAgICAgIH0s IHsNCiAgICAgICAgICAgIGkgPSAyMTM5MjUwNjI1NzQwODA3OA0KICAgICAgICAgIH0sIHsNCiAg ICAgICAgICAgIGkgPSAxNzE4NTkwODg2NA0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkg PSAzNzE4NA0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxNzE4ODI0MDU0NA0KICAg ICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAwDQogICAgICAgICAgfSwgew0KICAgICAgICAg ICAgaSA9IDEyMA0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxNzE4NTEzMTAxNg0K ICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxMjU4MDM1Mg0KICAgICAgICAgIH0sIHsN CiAgICAgICAgICAgIGkgPSAxNzE4NjQ3OTM5NQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAg IGkgPSAxNzE4MTAwOTAzNw0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxNDYwNzI4 DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgaSA9IDANCiAgICAgICAgICB9LCB7DQogICAg ICAgICAgICBpID0gMTcxODU4NjE2MDANCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBpID0g MQ0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSA1DQogICAgICAgICAgfSwgew0KICAg ICAgICAgICAgaSA9IDM3MTg0DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgaSA9IDANCiAg ICAgICAgICB9LCB7DQogICAgICAgICAgICBpID0gMTcxODYxOTA4MjENCiAgICAgICAgICB9LCB7 DQogICAgICAgICAgICBpID0gMA0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAxNzE4 NTg2MTYwMA0KICAgICAgICAgIH0sIHsNCiAgICAgICAgICAgIGkgPSAzDQogICAgICAgICAgfSwg ew0KICAgICAgICAgICAgaSA9IDE3MTg3NzY1MjAzDQogICAgICAgICAgfSwgew0KICAgICAgICAg ICAgaSA9IDE3MTg1ODYxNjAwDQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgaSA9IDEyNTgw NjA4DQogICAgICAgICAgfSwgew0KICAgICAgICAgICAgaSA9IDANCiAgICAgICAgICB9LCB7DQog ICAgICAgICAgICBpID0gMTcxODEwMjQ5OTcNCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBp ID0gMTcxODU4NjE2MDANCiAgICAgICAgICB9LCB7DQogICAgICAgICAgICBpID0gNjQzMTIzNjgN CiAgICAgICAgICB9fQ0KICAgICAgICBpID0gPG9wdGltaXplZCBvdXQ+DQogICAgICAgIHByZXZf bW9kaWZmID0gMA0KICAgICAgICBwcmV2X2J1ZmZlciA9IDB4MA0KIzEwIDB4MDAwMDAwMDQwMDEx NWQ3YSBpbiBpbnRlcm5hbF9jb25kaXRpb25fY2FzZSAoDQogICAgYmZ1bj1iZnVuQGVudHJ5PTB4 NDAwMGI2YWVjIDxjb21tYW5kX2xvb3BfMT4sIGhhbmRsZXJzPS4uLiwNCiAgICBoYW5kbGVyc0Bl bnRyeT0uLi4sIGhmdW49aGZ1bkBlbnRyeT0weDQwMDBhZDFiYiA8Y21kX2Vycm9yPikNCiAgICBh dCBldmFsLmM6MTMzMg0KICAgICAgICB2YWwgPSB7DQogICAgICAgICAgaSA9IDE3MTg1OTU0NTM2 DQogICAgICAgIH0NCiAgICAgICAgYyA9IDB4M2Q1NTQzMA0KIzExIDB4MDAwMDAwMDQwMDBhOWE4 NyBpbiBjb21tYW5kX2xvb3BfMiAoaWdub3JlPS4uLikgYXQga2V5Ym9hcmQuYzoxMTEwDQogICAg ICAgIHZhbCA9IDxvcHRpbWl6ZWQgb3V0Pg0KIzEyIDB4MDAwMDAwMDQwMDExNWNlYiBpbiBpbnRl cm5hbF9jYXRjaCAodGFnPS4uLiwgdGFnQGVudHJ5PS4uLiwNCiAgICBmdW5jPWZ1bmNAZW50cnk9 MHg0MDAwYTlhNjMgPGNvbW1hbmRfbG9vcF8yPiwgYXJnPWFyZ0BlbnRyeT0uLi4pDQogICAgYXQg ZXZhbC5jOjEwOTcNCiAgICAgICAgdmFsID0gew0KICAgICAgICAgIGkgPSAxNzE4NTk1NDUzNg0K ICAgICAgICB9DQogICAgICAgIGMgPSAweDNkNTUyYTANCiMxMyAweDAwMDAwMDA0MDAwYTk5YjQg aW4gY29tbWFuZF9sb29wICgpIGF0IGtleWJvYXJkLmM6MTA4OQ0KTm8gbG9jYWxzLg0KIzE0IDB4 MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQ0KTm8gc3ltYm9sIHRhYmxlIGluZm8gYXZhaWxhYmxl Lg0KQmFja3RyYWNlIHN0b3BwZWQ6IHByZXZpb3VzIGZyYW1lIGlubmVyIHRvIHRoaXMgZnJhbWUg KGNvcnJ1cHQgc3RhY2s/KQ0KKGdkYikNCg== --089e0824839cff71c5055c9b8e75--