From owner-freebsd-mobile@freebsd.org Wed Jun 7 23:35:55 2017 Return-Path: Delivered-To: freebsd-mobile@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F85ED7F557 for ; Wed, 7 Jun 2017 23:35:55 +0000 (UTC) (envelope-from Scoobi_doo@yahoo.com) Received: from nm18-vm0.bullet.mail.bf1.yahoo.com (nm18-vm0.bullet.mail.bf1.yahoo.com [98.139.213.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 309E1352C for ; Wed, 7 Jun 2017 23:35:54 +0000 (UTC) (envelope-from Scoobi_doo@yahoo.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1496878375; bh=qrviGp6cRHRsrDU1q5f1FTRW14aJta8gVMrYBNuhkXQ=; h=From:Subject:To:Cc:References:Date:In-Reply-To:From:Subject; b=YiWzqxF1ZTNdvLg95ozW1IL8ekFAQlDcoMJVcmrm1l5JX9QXwmLSyiZfAXytk/lzA1/ScMed9MbWYpRygbeSkHLRtffPsGEAvMOPD0EVY0b7wWoYN94jE0sF3EnF3AZ+RpmyNAIAah0h3/TvnRlpZHvuF+PrROuT50xqYRUvBGCvgetDY+MIdgQHqOMMV7A9nBECLs5s1QoJC3kTkxec3jYOVGHAU2kJOvkGeMkgFqM4YhI1KJbJJ6NTvDJz/MX/a2+Cew6CLL96IgaP5WOvY1DOQN7k0FMaNq+OqSBpqUZXLL9ZSRbnfYnHVJtx/QEx5HcAmA39JUhSUntnZc5dwA== Received: from [98.139.170.178] by nm18.bullet.mail.bf1.yahoo.com with NNFMP; 07 Jun 2017 23:32:55 -0000 Received: from [68.142.230.73] by tm21.bullet.mail.bf1.yahoo.com with NNFMP; 07 Jun 2017 23:32:55 -0000 Received: from [127.0.0.1] by smtp230.mail.bf1.yahoo.com with NNFMP; 07 Jun 2017 23:32:55 -0000 X-Yahoo-Newman-Id: 419438.87863.bm@smtp230.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: rA0aEK4VM1nAPsIdOb2xgNEzJ4hfIhBE6tHFJhPtupqU9_t TtWRO79tKxLEsD9E1V79Jx5i8hGPSJk9srpSmQ4Kl8uFKrqDddnOed2jZSav G.KuhuacsDn0UuHhZqPeaULBZa5GFI01V00U73kR7QeWcjPNlxPuYiyEdvI0 a1UtkAj2dkHmFuVi6mSb_Z.Di_M2NPf4YVTjnJVP0kLxKGSyJQA8Lbe2cZdK TVo8z.jFhSLmYh8byZ4JHnMMdM.2KZCGYQfXIQ.2WIRdcuAkv.HcIBIuctYD jZIwTEXPm8QvboqqbZ.QBQxENEYC4A8Geprkcg_QZTBBL_tbprYrakWl9z3i SMqxX_uaPQXjfEu42mlToUoaF3Vi19HyKB0ySpgU2EzAN826dI9g4YqGxYVL ZdDXERR4EuKCfZqM7AntvleozBjoL6HrN8oNk3rAYOdSv.q1yMmsRyXPgZYI 5bMX1vElaMZf4WIE3.11j9BvxHXem8pTm9myPY6xxyCrUy2coma1B1joqgIu bMJAxpdAGy_SLFVoQtzqw61VkfY8JQRxb5RGHvEUIoy.GcldTAXny_hVNkg- - X-Yahoo-SMTP: 9sPoSQ2swBBlERuQ.0vs8XLc_MeClW0- From: Anthony Jenkins Subject: Re: CFT: EVDEV support in psm(4) driver To: =?UTF-8?Q?Jan_Kokem=c3=bcller?= , Vladimir Kondratyev Cc: current@freebsd.org, freebsd-mobile@freebsd.org References: <5fa9225de944d6cdac0b7e5749b452a9@kondratyev.su> <5446ec03-c501-a369-01fc-e58a7d8712d9@gmail.com> Message-ID: <420c37d0-79bf-ac53-58aa-dcf1b99bd5c7@yahoo.com> Date: Wed, 7 Jun 2017 19:32:52 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.0 MIME-Version: 1.0 In-Reply-To: <5446ec03-c501-a369-01fc-e58a7d8712d9@gmail.com> Content-Type: multipart/mixed; boundary="------------CB2650C7656876520F46E561" Content-Language: en-US X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2017 23:35:55 -0000 This is a multi-part message in MIME format. --------------CB2650C7656876520F46E561 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit I'm seeing flakiness in X11 (KDE) with evdev enabled - a couple keys are reporting multiple (wrong) events and some aren't emitting any events (or they are, but they're NoSymbol): - Down arrow: emits KeyPress for keycode 116 (Super_R), KeyRelease for keycode 116, KeyRelease for keycode 104 (Down) - Left arrow: emits KeyPress for keycode 113 (Alt_R), KeyPress for keycode 100 (Left), KeyRelease for keycode 113, KeyRelease for keycode 100 - Volume up: emits KeyPress 123 (NoSymbol), KeyPress 176 (NoSymbol), KeyRelease for same - Volume down: emits KeyPress 122 (NoSymbol), KeyPress 174 (NoSymbol), KeyRelease for same - Volume mute toggle: emits KeyPress 121 (NoSymbol), KeyRelease 121 (NoSymbol), KeyRelease 140 (NoSymbol) - Keypad end: emits KeyPress 115 (Super_L), KeyPress 103 (End), KeyRelease for same I'll attach the output of 'evdev -event keyboard' for everything but the Keypad end key which I recently found. /usr/local/etc/X11/xorg.conf.d/evdev1.conf: Section "InputDevice" Identifier "Keyboard0" Driver "evdev" Option "Device" "/dev/input/event1" EndSection dmesg | grep kbd: [ajenkins@ajenkins-hplaptop ~]$ dmesg | grep kbd kbd: new array size 4 kbd1 at kbdmux0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0067 atkbd: keyboard ID 0x41ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x1d0000 atkbd0: [GIANT-LOCKED] random: harvesting attach, 8 bytes (4 bits) from atkbd0 random: harvesting attach, 8 bytes (4 bits) from atkbdc0 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 psm0: irq 12 on atkbdc0 atkbdc: atkbdc0 already exists; skipping it /var/log/Xorg.0.log stuff: [ 24.763] (**) Option "config_info" "udev:/dev/input/event1" [ 24.763] (II) XINPUT: Adding extended input device "System keyboard multiplexer" (type: KEYBOARD, id 7) [ 24.763] (**) Option "xkb_rules" "evdev" [ 24.839] (II) config/udev: Adding input device AT keyboard (/dev/input/event2) [ 24.839] (**) AT keyboard: Applying InputClass "evdev keyboard catchall" [ 24.839] (II) Using input driver 'evdev' for 'AT keyboard' [ 24.839] Option "_source" "server/udev" [ 24.839] Option "name" "AT keyboard" [ 24.839] Option "path" "/dev/input/event2" [ 24.839] Option "device" "/dev/input/event2" [ 24.839] Option "major" "0" [ 24.839] Option "minor" "45" [ 24.839] Option "driver" "evdev" [ 24.839] Option "config_info" "udev:/dev/input/event2" [ 24.839] (**) AT keyboard: always reports core events [ 24.839] (**) evdev: AT keyboard: Device: "/dev/input/event2" [ 24.839] (--) evdev: AT keyboard: Vendor 0x1 Product 0x1 [ 24.839] (--) evdev: AT keyboard: Found keys [ 24.839] (II) evdev: AT keyboard: Configuring as keyboard [ 24.839] (**) Option "config_info" "udev:/dev/input/event2" [ 24.840] (II) XINPUT: Adding extended input device "AT keyboard" (type: KEYBOARD, id 8) [ 24.840] (**) Option "xkb_rules" "evdev" [ 24.840] (II) XKB: Reusing cached keymap [ 24.840] (II) config/udev: Adding input device Synaptics Touchpad (/dev/input/event3) [ 24.841] (**) Synaptics Touchpad: Applying InputClass "evdev pointer catchall" [ 24.841] (**) Synaptics Touchpad: Applying InputClass "evdev touchpad catchall" [ 24.841] (**) Synaptics Touchpad: Applying InputClass "touchpad catchall" [ 24.841] (**) Synaptics Touchpad: Applying InputClass "Default clickpad buttons" [ 24.841] (II) LoadModule: "synaptics" [ 24.841] (II) Loading /usr/local/lib/xorg/modules/input/synaptics_drv.so [ 24.842] (II) Module synaptics: vendor="X.Org Foundation" [ 24.842] compiled for 1.19.3, module version = 1.9.0 [ 24.842] Module class: X.Org XInput Driver [ 24.843] ABI class: X.Org XInput driver, version 24.1 [ 24.843] (II) Using input driver 'synaptics' for 'Synaptics Touchpad' [ 24.843] Option "_source" "server/udev" [ 24.843] Option "name" "Synaptics Touchpad" [ 24.843] Option "path" "/dev/input/event3" [ 24.843] Option "device" "/dev/input/event3" [ 24.843] Option "major" "0" [ 24.843] Option "minor" "50" [ 24.843] Option "driver" "synaptics" Not sure what else to add. I have applied the patches from this email thread. Any ideas? Thanks in advance, Anthony Jenkins On 04/17/17 06:59, Jan Kokemüller wrote: > Hi Vladimir, > this patch works great for me! > I'm testing this with a semi-mt Synaptics touchpad and a TrackPoint of > a Lenovo T420. I'm running 12-CURRENT (amd64) and Xorg 1.19.3 from > Matthew's CFT with the libudev-devd backend. The Evdev devices are > picked up correctly by libudev-devd and xf86-input-libinput (even the > TrackPoint). I haven't tested this with xf86-input-synaptics (which is > in maintenance mode) or xf86-input-evdev. I am not > using xf86-input-mouse or xf86-input-keyboard. > > What works (everything): > - true smooth scrolling with Xinput2 (tested with GTK3 Firefox or > gtk3-demo) > - TrackPoint scrolling holding the middle button > - both horizontal/vertical scrolling > - two finger scrolling powered by libinput (this semi-mt touchpad > doesn't really support more gestures than this) > > The only thing that doesn't work out of the box is the mouse pointer > on the VT console. It wouldn't be hard though to write a small tool > that uses libinput to translate Evdev events into CONS_MOUSECTL ioctls > needed for the VT pointer. > > Some comments: > - PS2_MOUSE_SYNAPTICS_PRODUCT should be 0x0007, not 0x0009 > (http://lxr.free-electrons.com/source/drivers/input/mouse/psmouse.h#L86) > - The TrackPoint should be added with product id 0x000A as on Linux > and with the INPUT_PROP_POINTING_STICK Evdev property set > - I think it would be better if the same Evdev device names were > exposed as on Linux (for example "SynPS/2 Synaptics TouchPad"). Many > scripts using xinput to change device properties depend on the Linux > device names. > > I've added a patch and comments to https://reviews.freebsd.org/D10265 . > > Even Linux 64-bit binaries work correctly with the created > /dev/input/event* devices after applying those two patches here: > - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218625 > - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218627 > > This will be very useful for Linux games using joysticks, game > controllers etc. Hi Vladimir and Jan, Thanks for the patches! I'm having some issues with 3 patches from this thread: - https://reviews.freebsd.org/file/data/pqjvpuhwfgsu5nnamibg/PHID-FILE-uuyjx66blb344hre3nc2/D10207.vson.id27478.whitespaceignore-most.diff - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218625 - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218627 These may or may not have anything to do with the patches... 1. For some reason Xorg keyboard driver isn't getting some key events, or had shuffled them. When I first applied the patches, X thought my arrow was and was something else. At some point that behavior changed and worked, but emits and doesn't emit anything. Rebooting didn't change the new behavior, and I don't know what caused it to change. Switching to a console, I get the expected characters/actions when pressing these keys. 2. My Synaptics clickpad (and the pointer in general) freeze for several seconds, although it hasn't done it lately. When a freeze occurs (in X windows), other GUI processes don't seem to be affected. If I have another pointer device attached (e.g. USB mouse), it also doesn't move the pointer during the freeze. Here's my config: --------------CB2650C7656876520F46E561 Content-Type: text/plain; charset=UTF-8; name="keyboard_issue.xev.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="keyboard_issue.xev.txt" IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyBTVEFSVCB4 ZXYgLWV2ZW50IGtleWJvYXJkICMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKCk91dGVyIHdpbmRvdyBpcyAweDU2MDAwMDEsIGlubmVyIHdpbmRvdyBp cyAweDU2MDAwMDIKCktleW1hcE5vdGlmeSBldmVudCwgc2VyaWFsIDIxLCBzeW50aGV0aWMg Tk8sIHdpbmRvdyAweDAsCiAgICBrZXlzOiAgNDI5NDk2NzIwNSAwICAgMCAgIDAgICAwICAg MCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAKICAgICAgICAg ICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAg MCAgIDAgICAwICAgCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMjIyMgUFJF U1MgVVAgQVJST1cgICMjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKS2V5 UHJlc3MgZXZlbnQsIHNlcmlhbCAyNSwgc3ludGhldGljIE5PLCB3aW5kb3cgMHg1NjAwMDAx LAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRpbWUgMTA1MjE3OCwgKC0zNzEsNDY1KSwg cm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDEwLCBrZXljb2RlIDExMSAoa2V5c3ltIDB4 ZmY2MSwgUHJpbnQpLCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3RyaW5nIGdpdmVz IDAgYnl0ZXM6IAogICAgWG1iTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZp bHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgpLZXlQcmVzcyBldmVudCwgc2VyaWFsIDI1LCBz eW50aGV0aWMgTk8sIHdpbmRvdyAweDU2MDAwMDEsCiAgICByb290IDB4NDk5LCBzdWJ3IDB4 MCwgdGltZSAxMDUyMTc5LCAoLTM3MSw0NjUpLCByb290Oig1MjcsNDg4KSwKICAgIHN0YXRl IDB4MTAsIGtleWNvZGUgOTggKGtleXN5bSAweGZmNTIsIFVwKSwgc2FtZV9zY3JlZW4gWUVT LAogICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhtYkxvb2t1cFN0cmlu ZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKTWFw cGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDI4LCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAs CiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAy NDgKCktleVJlbGVhc2UgZXZlbnQsIHNlcmlhbCAyOCwgc3ludGhldGljIE5PLCB3aW5kb3cg MHg1NjAwMDAxLAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRpbWUgMTA1MjI5NCwgKC0z NzEsNDY1KSwgcm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDEwLCBrZXljb2RlIDExMSAo a2V5c3ltIDB4ZmY2MSwgUHJpbnQpLCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3Ry aW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgpN YXBwaW5nTm90aWZ5IGV2ZW50LCBzZXJpYWwgMjgsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4 MCwKICAgIHJlcXVlc3QgTWFwcGluZ0tleWJvYXJkLCBmaXJzdF9rZXljb2RlIDgsIGNvdW50 IDI0OAoKS2V5UmVsZWFzZSBldmVudCwgc2VyaWFsIDI4LCBzeW50aGV0aWMgTk8sIHdpbmRv dyAweDU2MDAwMDEsCiAgICByb290IDB4NDk5LCBzdWJ3IDB4MCwgdGltZSAxMDUyMjk0LCAo LTM3MSw0NjUpLCByb290Oig1MjcsNDg4KSwKICAgIHN0YXRlIDB4MTAsIGtleWNvZGUgOTgg KGtleXN5bSAweGZmNTIsIFVwKSwgc2FtZV9zY3JlZW4gWUVTLAogICAgWExvb2t1cFN0cmlu ZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIFBSRVNTIFJJR0hUIEFSUk9X ICAjIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCk1hcHBpbmdOb3Rp ZnkgZXZlbnQsIHNlcmlhbCAzMCwgc3ludGhldGljIE5PLCB3aW5kb3cgMHgwLAogICAgcmVx dWVzdCBNYXBwaW5nS2V5Ym9hcmQsIGZpcnN0X2tleWNvZGUgOCwgY291bnQgMjQ4CgpLZXlQ cmVzcyBldmVudCwgc2VyaWFsIDMwLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDU2MDAwMDEs CiAgICByb290IDB4NDk5LCBzdWJ3IDB4MCwgdGltZSAxMDU5NDM5LCAoLTM3MSw0NjUpLCBy b290Oig1MjcsNDg4KSwKICAgIHN0YXRlIDB4MTAsIGtleWNvZGUgMTE0IChrZXlzeW0gMHgw LCBOb1N5bWJvbCksIHNhbWVfc2NyZWVuIFlFUywKICAgIFhMb29rdXBTdHJpbmcgZ2l2ZXMg MCBieXRlczogCiAgICBYbWJMb29rdXBTdHJpbmcgZ2l2ZXMgMCBieXRlczogCiAgICBYRmls dGVyRXZlbnQgcmV0dXJuczogRmFsc2UKCk1hcHBpbmdOb3RpZnkgZXZlbnQsIHNlcmlhbCAz MCwgc3ludGhldGljIE5PLCB3aW5kb3cgMHgwLAogICAgcmVxdWVzdCBNYXBwaW5nS2V5Ym9h cmQsIGZpcnN0X2tleWNvZGUgOCwgY291bnQgMjQ4CgpLZXlQcmVzcyBldmVudCwgc2VyaWFs IDMwLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDU2MDAwMDEsCiAgICByb290IDB4NDk5LCBz dWJ3IDB4MCwgdGltZSAxMDU5NDM5LCAoLTM3MSw0NjUpLCByb290Oig1MjcsNDg4KSwKICAg IHN0YXRlIDB4MTAsIGtleWNvZGUgMTAyIChrZXlzeW0gMHhmZjUzLCBSaWdodCksIHNhbWVf c2NyZWVuIFlFUywKICAgIFhMb29rdXBTdHJpbmcgZ2l2ZXMgMCBieXRlczogCiAgICBYbWJM b29rdXBTdHJpbmcgZ2l2ZXMgMCBieXRlczogCiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczog RmFsc2UKCk1hcHBpbmdOb3RpZnkgZXZlbnQsIHNlcmlhbCAzMiwgc3ludGhldGljIE5PLCB3 aW5kb3cgMHgwLAogICAgcmVxdWVzdCBNYXBwaW5nS2V5Ym9hcmQsIGZpcnN0X2tleWNvZGUg OCwgY291bnQgMjQ4CgpLZXlSZWxlYXNlIGV2ZW50LCBzZXJpYWwgMzIsIHN5bnRoZXRpYyBO Tywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1lIDEw NTk1MzcsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwga2V5 Y29kZSAxMTQgKGtleXN5bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVTLAogICAg WExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5z OiBGYWxzZQoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDMyLCBzeW50aGV0aWMgTk8s IHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5Y29k ZSA4LCBjb3VudCAyNDgKCktleVJlbGVhc2UgZXZlbnQsIHNlcmlhbCAzMiwgc3ludGhldGlj IE5PLCB3aW5kb3cgMHg1NjAwMDAxLAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRpbWUg MTA1OTUzNywgKC0zNzEsNDY1KSwgcm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDEwLCBr ZXljb2RlIDEwMiAoa2V5c3ltIDB4ZmY1MywgUmlnaHQpLCBzYW1lX3NjcmVlbiBZRVMsCiAg ICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJldHVy bnM6IEZhbHNlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMj IyMjIyBQUkVTUyBET1dOIEFSUk9XIChCUk9LRU4pICAjIyMjIyMKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFs IDM0LCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXli b2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50LCBzZXJp YWwgMzQsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTks IHN1YncgMHgwLCB0aW1lIDEwODIxNDYsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAog ICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxMTYgKGtleXN5bSAweGZmZWMsIFN1cGVyX1IpLCBz YW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAg WG1iTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJldHVy bnM6IEZhbHNlCgpNYXBwaW5nTm90aWZ5IGV2ZW50LCBzZXJpYWwgMzQsIHN5bnRoZXRpYyBO Tywgd2luZG93IDB4MCwKICAgIHJlcXVlc3QgTWFwcGluZ0tleWJvYXJkLCBmaXJzdF9rZXlj b2RlIDgsIGNvdW50IDI0OAoKS2V5bWFwTm90aWZ5IGV2ZW50LCBzZXJpYWwgMzYsIHN5bnRo ZXRpYyBOTywgd2luZG93IDB4MCwKICAgIGtleXM6ICAxICAgMCAgIDAgICAwICAgMCAgIDAg ICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMSAgIDE2ICAwICAgCiAgICAgICAgICAg MCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAgICAwICAgMCAgIDAg ICAwICAgMCAgIAoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDM2LCBzeW50aGV0aWMg Tk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5 Y29kZSA4LCBjb3VudCAyNDgKCktleVJlbGVhc2UgZXZlbnQsIHNlcmlhbCAzNiwgc3ludGhl dGljIE5PLCB3aW5kb3cgMHg1NjAwMDAxLAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRp bWUgMTA4MjMwNCwgKC0zNzEsNDY1KSwgcm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDUw LCBrZXljb2RlIDExNiAoa2V5c3ltIDB4ZmZlYywgU3VwZXJfUiksIHNhbWVfc2NyZWVuIFlF UywKICAgIFhMb29rdXBTdHJpbmcgZ2l2ZXMgMCBieXRlczogCiAgICBYRmlsdGVyRXZlbnQg cmV0dXJuczogRmFsc2UKCk1hcHBpbmdOb3RpZnkgZXZlbnQsIHNlcmlhbCAzNiwgc3ludGhl dGljIE5PLCB3aW5kb3cgMHgwLAogICAgcmVxdWVzdCBNYXBwaW5nS2V5Ym9hcmQsIGZpcnN0 X2tleWNvZGUgOCwgY291bnQgMjQ4CgpLZXlSZWxlYXNlIGV2ZW50LCBzZXJpYWwgMzYsIHN5 bnRoZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgw LCB0aW1lIDEwODIzMDQsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUg MHgxMCwga2V5Y29kZSAxMDQgKGtleXN5bSAweGZmNTQsIERvd24pLCBzYW1lX3NjcmVlbiBZ RVMsCiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50 IHJldHVybnM6IEZhbHNlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMjIyMjIyBQUkVTUyBMRUZUIEFSUk9XIChCUk9LRU4pICAjIyMjIyMKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWFwcGluZ05vdGlmeSBldmVudCwg c2VyaWFsIDM4LCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBp bmdLZXlib2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50 LCBzZXJpYWwgMzgsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3Qg MHg0OTksIHN1YncgMHgwLCB0aW1lIDEwODk2NzMsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0 ODgpLAogICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxMTMgKGtleXN5bSAweGZmZWEsIEFsdF9S KSwgc2FtZV9zY3JlZW4gWUVTLAogICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAK ICAgIFhtYkxvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCBy ZXR1cm5zOiBGYWxzZQoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDM4LCBzeW50aGV0 aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rf a2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50LCBzZXJpYWwgMzgsIHN5bnRo ZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0 aW1lIDEwODk2NzMsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgx OCwga2V5Y29kZSAxMDAgKGtleXN5bSAweGZmNTEsIExlZnQpLCBzYW1lX3NjcmVlbiBZRVMs CiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWG1iTG9va3VwU3RyaW5n IGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgpNYXBw aW5nTm90aWZ5IGV2ZW50LCBzZXJpYWwgNDAsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4MCwK ICAgIHJlcXVlc3QgTWFwcGluZ0tleWJvYXJkLCBmaXJzdF9rZXljb2RlIDgsIGNvdW50IDI0 OAoKS2V5UmVsZWFzZSBldmVudCwgc2VyaWFsIDQwLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAw eDU2MDAwMDEsCiAgICByb290IDB4NDk5LCBzdWJ3IDB4MCwgdGltZSAxMDg5Nzk4LCAoLTM3 MSw0NjUpLCByb290Oig1MjcsNDg4KSwKICAgIHN0YXRlIDB4MTgsIGtleWNvZGUgMTEzIChr ZXlzeW0gMHhmZmVhLCBBbHRfUiksIHNhbWVfc2NyZWVuIFlFUywKICAgIFhMb29rdXBTdHJp bmcgZ2l2ZXMgMCBieXRlczogCiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczogRmFsc2UKCk1h cHBpbmdOb3RpZnkgZXZlbnQsIHNlcmlhbCA0MCwgc3ludGhldGljIE5PLCB3aW5kb3cgMHgw LAogICAgcmVxdWVzdCBNYXBwaW5nS2V5Ym9hcmQsIGZpcnN0X2tleWNvZGUgOCwgY291bnQg MjQ4CgpLZXlSZWxlYXNlIGV2ZW50LCBzZXJpYWwgNDAsIHN5bnRoZXRpYyBOTywgd2luZG93 IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1lIDEwODk3OTgsICgt MzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxMDAg KGtleXN5bSAweGZmNTEsIExlZnQpLCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3Ry aW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyMjIFBSRVNTIFZP TFVNRSBVUCAoQlJPS0VOKSAgIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDQyLCBzeW50aGV0aWMg Tk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5 Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50LCBzZXJpYWwgNDIsIHN5bnRoZXRp YyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1l IDEwOTg1NjIsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwg a2V5Y29kZSAxMjMgKGtleXN5bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVTLAog ICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhtYkxvb2t1cFN0cmluZyBn aXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKTWFwcGlu Z05vdGlmeSBldmVudCwgc2VyaWFsIDQyLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAsCiAg ICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAyNDgK CktleVByZXNzIGV2ZW50LCBzZXJpYWwgNDIsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4NTYw MDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1lIDEwOTg1NjIsICgtMzcxLDQ2 NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxNzYgKGtleXN5 bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVTLAogICAgWExvb2t1cFN0cmluZyBn aXZlcyAwIGJ5dGVzOiAKICAgIFhtYkxvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAg IFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKTWFwcGluZ05vdGlmeSBldmVudCwgc2Vy aWFsIDQyLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdL ZXlib2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVJlbGVhc2UgZXZlbnQs IHNlcmlhbCA0Miwgc3ludGhldGljIE5PLCB3aW5kb3cgMHg1NjAwMDAxLAogICAgcm9vdCAw eDQ5OSwgc3VidyAweDAsIHRpbWUgMTA5ODU2NCwgKC0zNzEsNDY1KSwgcm9vdDooNTI3LDQ4 OCksCiAgICBzdGF0ZSAweDEwLCBrZXljb2RlIDEyMyAoa2V5c3ltIDB4MCwgTm9TeW1ib2wp LCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAog ICAgWEZpbHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgpNYXBwaW5nTm90aWZ5IGV2ZW50LCBz ZXJpYWwgNDIsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4MCwKICAgIHJlcXVlc3QgTWFwcGlu Z0tleWJvYXJkLCBmaXJzdF9rZXljb2RlIDgsIGNvdW50IDI0OAoKS2V5UmVsZWFzZSBldmVu dCwgc2VyaWFsIDQyLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDU2MDAwMDEsCiAgICByb290 IDB4NDk5LCBzdWJ3IDB4MCwgdGltZSAxMDk4NTY1LCAoLTM3MSw0NjUpLCByb290Oig1Mjcs NDg4KSwKICAgIHN0YXRlIDB4MTAsIGtleWNvZGUgMTc2IChrZXlzeW0gMHgwLCBOb1N5bWJv bCksIHNhbWVfc2NyZWVuIFlFUywKICAgIFhMb29rdXBTdHJpbmcgZ2l2ZXMgMCBieXRlczog CiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczogRmFsc2UKCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMjIyBQUkVTUyBWT0xVTUUgRE9XTiAoQlJPS0VO KSAgIyMjIyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpN YXBwaW5nTm90aWZ5IGV2ZW50LCBzZXJpYWwgNDYsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4 MCwKICAgIHJlcXVlc3QgTWFwcGluZ0tleWJvYXJkLCBmaXJzdF9rZXljb2RlIDgsIGNvdW50 IDI0OAoKS2V5UHJlc3MgZXZlbnQsIHNlcmlhbCA0Niwgc3ludGhldGljIE5PLCB3aW5kb3cg MHg1NjAwMDAxLAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRpbWUgMTEwMzQ2OCwgKC0z NzEsNDY1KSwgcm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDEwLCBrZXljb2RlIDEyMiAo a2V5c3ltIDB4MCwgTm9TeW1ib2wpLCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3Ry aW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWG1iTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6 IAogICAgWEZpbHRlckV2ZW50IHJldHVybnM6IEZhbHNlCgpNYXBwaW5nTm90aWZ5IGV2ZW50 LCBzZXJpYWwgNDYsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4MCwKICAgIHJlcXVlc3QgTWFw cGluZ0tleWJvYXJkLCBmaXJzdF9rZXljb2RlIDgsIGNvdW50IDI0OAoKS2V5UHJlc3MgZXZl bnQsIHNlcmlhbCA0Niwgc3ludGhldGljIE5PLCB3aW5kb3cgMHg1NjAwMDAxLAogICAgcm9v dCAweDQ5OSwgc3VidyAweDAsIHRpbWUgMTEwMzQ2OSwgKC0zNzEsNDY1KSwgcm9vdDooNTI3 LDQ4OCksCiAgICBzdGF0ZSAweDEwLCBrZXljb2RlIDE3NCAoa2V5c3ltIDB4MCwgTm9TeW1i b2wpLCBzYW1lX3NjcmVlbiBZRVMsCiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6 IAogICAgWG1iTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50 IHJldHVybnM6IEZhbHNlCgpLZXlSZWxlYXNlIGV2ZW50LCBzZXJpYWwgNDYsIHN5bnRoZXRp YyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1l IDExMDM0NzEsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwg a2V5Y29kZSAxNzQgKGtleXN5bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVTLAog ICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1 cm5zOiBGYWxzZQoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDQ2LCBzeW50aGV0aWMg Tk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rfa2V5 Y29kZSA4LCBjb3VudCAyNDgKCktleVJlbGVhc2UgZXZlbnQsIHNlcmlhbCA0Niwgc3ludGhl dGljIE5PLCB3aW5kb3cgMHg1NjAwMDAxLAogICAgcm9vdCAweDQ5OSwgc3VidyAweDAsIHRp bWUgMTEwMzQ3MSwgKC0zNzEsNDY1KSwgcm9vdDooNTI3LDQ4OCksCiAgICBzdGF0ZSAweDEw LCBrZXljb2RlIDEyMiAoa2V5c3ltIDB4MCwgTm9TeW1ib2wpLCBzYW1lX3NjcmVlbiBZRVMs CiAgICBYTG9va3VwU3RyaW5nIGdpdmVzIDAgYnl0ZXM6IAogICAgWEZpbHRlckV2ZW50IHJl dHVybnM6IEZhbHNlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IwojIyMjIyMgUFJFU1MgVk9MVU1FIE1VVEUgKEJST0tFTikgICMjIyMjIwojIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTWFwcGluZ05vdGlmeSBldmVudCwg c2VyaWFsIDQ5LCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBp bmdLZXlib2FyZCwgZmlyc3Rfa2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50 LCBzZXJpYWwgNDksIHN5bnRoZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3Qg MHg0OTksIHN1YncgMHgwLCB0aW1lIDExMTA4NzIsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0 ODgpLAogICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxNDAgKGtleXN5bSAweDAsIE5vU3ltYm9s KSwgc2FtZV9zY3JlZW4gWUVTLAogICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAK ICAgIFhtYkxvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCBy ZXR1cm5zOiBGYWxzZQoKTWFwcGluZ05vdGlmeSBldmVudCwgc2VyaWFsIDQ5LCBzeW50aGV0 aWMgTk8sIHdpbmRvdyAweDAsCiAgICByZXF1ZXN0IE1hcHBpbmdLZXlib2FyZCwgZmlyc3Rf a2V5Y29kZSA4LCBjb3VudCAyNDgKCktleVByZXNzIGV2ZW50LCBzZXJpYWwgNDksIHN5bnRo ZXRpYyBOTywgd2luZG93IDB4NTYwMDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0 aW1lIDExMTA4NzIsICgtMzcxLDQ2NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgx MCwga2V5Y29kZSAxMjEgKGtleXN5bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVT LAogICAgWExvb2t1cFN0cmluZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhtYkxvb2t1cFN0cmlu ZyBnaXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKS2V5 UmVsZWFzZSBldmVudCwgc2VyaWFsIDUxLCBzeW50aGV0aWMgTk8sIHdpbmRvdyAweDU2MDAw MDEsCiAgICByb290IDB4NDk5LCBzdWJ3IDB4MCwgdGltZSAxMTEwODc2LCAoLTM3MSw0NjUp LCByb290Oig1MjcsNDg4KSwKICAgIHN0YXRlIDB4MTAsIGtleWNvZGUgMTIxIChrZXlzeW0g MHgwLCBOb1N5bWJvbCksIHNhbWVfc2NyZWVuIFlFUywKICAgIFhMb29rdXBTdHJpbmcgZ2l2 ZXMgMCBieXRlczogCiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczogRmFsc2UKCk1hcHBpbmdO b3RpZnkgZXZlbnQsIHNlcmlhbCA1MSwgc3ludGhldGljIE5PLCB3aW5kb3cgMHgwLAogICAg cmVxdWVzdCBNYXBwaW5nS2V5Ym9hcmQsIGZpcnN0X2tleWNvZGUgOCwgY291bnQgMjQ4CgpL ZXlSZWxlYXNlIGV2ZW50LCBzZXJpYWwgNTEsIHN5bnRoZXRpYyBOTywgd2luZG93IDB4NTYw MDAwMSwKICAgIHJvb3QgMHg0OTksIHN1YncgMHgwLCB0aW1lIDExMTA4NzYsICgtMzcxLDQ2 NSksIHJvb3Q6KDUyNyw0ODgpLAogICAgc3RhdGUgMHgxMCwga2V5Y29kZSAxNDAgKGtleXN5 bSAweDAsIE5vU3ltYm9sKSwgc2FtZV9zY3JlZW4gWUVTLAogICAgWExvb2t1cFN0cmluZyBn aXZlcyAwIGJ5dGVzOiAKICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiBGYWxzZQoKQ2xpZW50 TWVzc2FnZSBldmVudCwgc2VyaWFsIDUyLCBzeW50aGV0aWMgWUVTLCB3aW5kb3cgMHg1NjAw MDAxLAogICAgbWVzc2FnZV90eXBlIDB4MTQ4IChXTV9QUk9UT0NPTFMpLCBmb3JtYXQgMzIs IG1lc3NhZ2UgMHgxNDkgKFdNX0RFTEVURV9XSU5ET1cpCgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIyMjIyBFTkQgeGV2IC1ldmVudCBrZXlib2FyZCAjIyMjIwoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo= --------------CB2650C7656876520F46E561--