From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8D8DC43387 for ; Mon, 14 Jan 2019 10:23:29 +0000 (UTC) Received: from krantz.zx2c4.com (krantz.zx2c4.com [192.95.5.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E6BFD20659 for ; Mon, 14 Jan 2019 10:23:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=mullvad-net.20150623.gappssmtp.com header.i=@mullvad-net.20150623.gappssmtp.com header.b="zHuwJDNH" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E6BFD20659 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=mullvad.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=wireguard-bounces@lists.zx2c4.com Received: from krantz.zx2c4.com (localhost [IPv6:::1]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 9f6d48ba; Mon, 14 Jan 2019 10:19:33 +0000 (UTC) Received: from krantz.zx2c4.com (localhost [127.0.0.1]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id c0f831b6 for ; Mon, 14 Jan 2019 10:19:31 +0000 (UTC) Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 7549f717 for ; Mon, 14 Jan 2019 10:19:31 +0000 (UTC) Received: by mail-wm1-x32a.google.com with SMTP id y185so6968164wmd.1 for ; Mon, 14 Jan 2019 02:23:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mullvad-net.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to :content-transfer-encoding; bh=EOi5dUWxTqS2PFA/D60DRWMU9krPjMQynedsROLa+8w=; b=zHuwJDNH2VSVk2zP4Spi5z9k3Ndrqw91obuNFKDQZgu+Q5h0x6A9yRJEG+4czBF+CP kEK1uDj3K+V7tyEvOYB6lY/eEcjJWSs3w0n1sVni6V1jKdghFpFYZGvIAY/9D+W5csYm ISn0MBpvuOhX6HruhsLGcs4NqbKmTYyo3xX6nNiTMClfrJEr21620RH6P9PYz45aM1u0 WDxv1DJ417NQmTSD22f5zI2qgJz3cnl1A2L5R3uNx9lq1duBZCw71YBFG59MKcz+seId ikln6V2gfqG2OUTFBpzW19EENNZfmlEDKbXXhpdWUlrrO0cqB0Kh9Bggc2lVxmgTXMGC pmhA== 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 :content-transfer-encoding; bh=EOi5dUWxTqS2PFA/D60DRWMU9krPjMQynedsROLa+8w=; b=sslccISHr6E7Ls3zUcJGHkU1zf9lHsJKuAq0rCFfL/FmwiE/2+RzrbIVakAZ5OvDtI QjLEwq9iPkBBKGzK7B5iY9Koyclki/h8BTz7NM49XFclivoqlPE7Yc2BvF1HU6nzQHXg pVdOG6DD5jAq+zOq4YlV4YIH/nRKxJRhUxY6CkEOqDwflKTKPk2FyNyf4ECYM3sHP/5Q 6dPDMm4WDP8KYQWop1MeZ100RgUR/QL53u7kqkzI8w4sAjtH8hnXZSMm7js0edWpLXJO 8suzdAcqEc2IF8ggbwZ29nGMCyFRJJY1PCcOPlc/LylPf3xaztYx9f2pBpNpubDknsob RQSw== X-Gm-Message-State: AJcUukdF9uOhCmcl7+DLMR8clznQzgkhKmBfgKOTNWeCHDyeSOVmM2Yw vNaN0Xp4VOS55kXd4BMzTl4vLQvR28Bwv9q+AZ70zpccbsb+Qg== X-Google-Smtp-Source: ALg8bN7EaA94sB8lLbLdeG2hBCT5MzVrMzBS83TCzzbuUvv1SqmbUVAKTWdRsUXSx+0Nwi5pKv6qaiQybnIJ5QSWgiQ= X-Received: by 2002:a1c:bd86:: with SMTP id n128mr11142078wmf.22.1547461401897; Mon, 14 Jan 2019 02:23:21 -0800 (PST) MIME-Version: 1.0 From: =?UTF-8?Q?Fredrik_Str=C3=B6mberg?= Date: Mon, 14 Jan 2019 11:23:09 +0100 Message-ID: Subject: WireGuard deployment considerations for improved privacy To: WireGuard mailing list X-BeenThere: wireguard@lists.zx2c4.com X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development discussion of WireGuard List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: wireguard-bounces@lists.zx2c4.com Sender: "WireGuard" R3JlZXRpbmdzIGZlbGxvdyBXaXJlR3VhcmQgdXNlcnMsCgpJIHJlcHJlc2VudCBNdWxsdmFkLCBh IHByaXZhY3ktZm9jdXNlZCBWUE4gcHJvdmlkZXIuIFdlIGFuZCBzb21lCm90aGVycyB0aGluayB0 aGVyZSBhcmUgY3VycmVudGx5IHR3byBhc3BlY3RzIG9mIFdpcmVHdWFyZCB0aGF0IG1ha2UKaXRz IGRlcGxveW1lbnQgaW4gYSBwcml2YWN5LWZvY3VzZWQgc2V0dGluZyBhIGJpdCBjaGFsbGVuZ2lu Zy4gVGhlCmdvYWwgb2YgdGhpcyBlbWFpbCBpcyB0byBwcmVzZW50IGN1cnJlbnQgdGhvdWdodHMg b24gdGhlIGlzc3VlcyBhbmQKZmFjaWxpdGF0ZSBkaXNjdXNzaW9uLiBJdCBjb250YWlucyBsYW5n dWFnZSBhbmQgaWRlYXMgZnJvbSBvdGhlcnMgd2hvCmhhdmUgY29tbWVudGVkIG9uIHRoaXMgZWxz ZXdoZXJlLiBUaGFuayB5b3UuIEZlZWwgZnJlZSB0byBtYWtlCnlvdXJzZWx2ZXMga25vd24uIEFu eSBlcnJvcnMgYXJlIG1pbmUgaG93ZXZlci4KClRoZSB0d28gaXNzdWVzIGFyZToKKiBXaXJlR3Vh cmQgZG9lcyBub3Qgb2ZmZXIgaWRlbnRpdHkgaGlkaW5nIGZvcndhcmQgc2VjcmVjeQoqIFdpcmVH dWFyZCBkb2VzIG5vdCBvZmZlciBkeW5hbWljIElQIGFkZHJlc3MgYXNzaWdubWVudAoKVG9nZXRo ZXIgd2l0aCBvdGhlciBpbnRlcmVzdGVkIHBhcnRpZXMgSSBob3BlIHRvIGFycml2ZSBhdCBhIGdv b2QKc29sdXRpb24gdG8gdGhlc2UgaXNzdWVzLCB3aGljaCBjYW4gYmUgYWRvcHRlZCBieSBhbnkg YXBwcyB0aGF0IHdhbnQKdG8gb2ZmZXIgcHJpdmFjeS4gVGhlIHRpbWUgdG8gZG8gdGhpcyBpcyBu b3csIGJlZm9yZSBXaXJlR3VhcmQgcmVhY2hlcwptYXNzaXZlIGFkb3B0aW9uIGFuZCBtdWx0aXBs ZSBpbmNvbXBhdGlibGUgaGFja3MgYXJlIG1hZGUuCgpZb3UgbWlnaHQgY2FyZSBhYm91dCB0aGlz IGlmIHlvdToKKiBSdW4gYSBWUE4gcHJveHkvc2VydmVyIHdoZXJlIHlvdSBvciB5b3VyIHVzZXJz IGNhcmUgYWJvdXQgcHJpdmFjeQoqIFVzZSBhIGNvbW1lcmNpYWwgVlBOIHNlcnZpY2UKKiBQcm92 aWRlIGEgY29tbWVyY2lhbCBWUE4gc2VydmljZQoKCi1XaXJlR3VhcmQgZG9lcyBub3Qgb2ZmZXIg aWRlbnRpdHkgaGlkaW5nIGZvcndhcmQgc2VjcmVjeS0KCi0tVGhlIHByb2JsZW0tLQpJbiB0aGUg Y29udGV4dCBvZiBhIFZQTiBzZXJ2aWNlIHRoZSBwZWVycyBjYW4gYmUgdmlld2VkIGFzIENsaWVu dChzKQphbmQgU2VydmVyLiBBIGtleSBjb21wcm9taXNlIG9mIHRoZSBWUE4gc2VydmVyJ3Mgc3Rh dGljIHByaXZhdGUga2V5Cm1ha2VzIGFuIGF0dGFja2VyIGFibGUgdG8gZGVjcnlwdCByZWNvcmRl ZCBoYW5kc2hha2VzIGFuZCB0aHVzCmNvcnJlbGF0ZSBhbGwgY29ubmVjdGlvbnMgbWFkZSB1c2lu ZyBhbnkgZ2l2ZW4gY2xpZW50IHN0YXRpYyBrZXksIGkuZS4KVlBOIHVzZXIuIEhlcmUncyBob3c6 CgoxLiBBbiBhdHRhY2tlciByZWNvcmRzIGVuY3J5cHRlZCB0cmFmZmljIGZsb3dzIHRvL2Zyb20g YSBWUE4gc2VydmVyLgoKMi4gVGltZSBwYXNzZXMuIFRoZSBhdHRhY2tlciBnZXRzIGhvbGQgb2Yg dGhlIFZQTiBzZXJ2ZXIncyBzdGF0aWMKcHJpdmF0ZSBrZXksIGJ5IHJhaWRpbmcgYSBkYXRhIGNl bnRyZSwgYnJlYWtpbmcgaW50byBhIFZQTiBzZXJ2ZXIKaG9zdCwgb3Igc29tZXRoaW5nIGVsc2Uu CgozLiBUaGUgYXR0YWNrZXIgdXNlcyB0aGUgVlBOIHNlcnZlciBzdGF0aWMgcHJpdmF0ZSBrZXkg dG8gZGVjcnlwdCB0aGUKcmVjb3JkZWQgaGFuZHNoYWtlcywgcmV2ZWFsaW5nIGNsaWVudCBzdGF0 aWMgcHVia2V5cy4KCjQuIFRoZSBhdHRhY2tlciB1c2VzIGNsaWVudCBzdGF0aWMgcHVia2V5cyB0 byBjb3JyZWxhdGUgdHJhZmZpYyBmbG93cwp3aXRoIHBhcnRpY3VsYXIgdXNlcnMgaW5jbHVkaW5n IHBvc3NpYmx5IGxpbmtpbmcgaW5kaXZpZHVhbHMgdG8gY2xpZW50CnB1YmtleXMgdGhyb3VnaCBv dGhlciBkYXRhIHNvdXJjZXMsIGUuZy4gVlBOIHByb3ZpZGVyIGJ1c2luZXNzIHJlY29yZHMKb3Ig b3RoZXIgSVAgYWRkcmVzcyBtZXRhZGF0YS4KCi0tTnVhbmNlcy0tCkEgc3VjY2Vzc2Z1bCBhdHRh Y2sgcmVxdWlyZXMgYm90aCB0aGUgY2FwYWJpbGl0eSB0byByZWNvcmQgdHJhZmZpYwpmbG93cyBh cyB3ZWxsIGFzIHRvIGNvbXByb21pc2UgdGhlIHNlcnZlciBrZXkuIFN0aWxsLCB0aGUgbGFjayBv ZgppZGVudGl0eSBoaWRpbmcgZm9yd2FyZCBzZWNyZWN5IG1lYW5zIFdpcmVHdWFyZCBvZmZlcnMg d29yc2UgcHJpdmFjeQp0aGFuIGUuZy4gT3BlblZQTiBpbiB0aGlzIHJlc3BlY3QuCgpJdCBzaG91 bGQgYmUgbm90ZWQgdGhhdCBib3RoIFdpcmVHdWFyZCBhbmQgT3BlblZQTiBzZW5kIHR1bm5lbCBz ZXNzaW9uCklEcyBpbiB0aGUgY2xlYXIuIEEgdXNlciB0aGF0IHJvYW1zIGJldHdlZW4gbmV0d29y a3Mgd2lsbCBwcm9iYWJseQpsZWFrIHRoZSBzZXNzaW9uIElEIGJldHdlZW4gdGhlbS4gT24gdGhl IG90aGVyIGhhbmQsIGEgdXNlciB0aGF0CmV4cGxpY2l0bHkgZGlzY29ubmVjdHMgb24gbmV0d29y ayAxIGFuZCByZWNvbm5lY3RzIHRoZSBWUE4gdHVubmVsIG9uCm5ldHdvcmsgMiB3aWxsIGhhdmUg YSBuZXcgdHVubmVsIHNlc3Npb24gSUQgdGhhdCBpcyBub3QgbGlua2FibGUgdG8KdGhlIGZpcnN0 IG9uZS4gSW4gdGhpcyBjYXNlIE9wZW5WUE4gKGFzc3VtaW5nIHVzZXIvcGFzcyBhdXRoIGFuZCBu b3QKY2xpZW50LWNlcnQpIHdpbGwgaGF2ZSBpZGVudGl0eSBoaWRpbmcgZm9yd2FyZCBzZWNyZWN5 LCBhbmQgV2lyZUd1YXJkCmRvZXMgbm90LgoKSWYgYSBXaXJlR3VhcmQgdXNlciBhcHBsaWNhdGlv biBjb25uZWN0cyB3aXRoIGEgbmV3IHB1YmtleSBldmVyeSB0aW1lCmEgbmV3IHR1bm5lbCBpcyBl c3RhYmxpc2hlZCwgaXQgd2lsbCBwcm92aWRlIHRoZSBzYW1lIGlkZW50aXR5IGhpZGluZwpwcm9w ZXJ0aWVzIGFzIE9wZW5WUE4uIEhvd2V2ZXIgZGVwZW5kaW5nIG9uIHRoZSBwb3NpdGlvbiBvZiB0 aGUKc3VydmVpbGxhbmNlIGVxdWlwbWVudCBhbmQgdGhlIG1ldGhvZCBvZiBrZXkgY29tcHJvbWlz ZSBuZWl0aGVyCk9wZW5WUE4gbm9yIFdpcmVHdWFyZCB3b3VsZCBiZSBzdWZmaWNpZW50IHByb3Rl Y3Rpb24uIFRoYXQncwpvdXQtb2Ytc2NvcGUgZm9yIHRoaXMgZGlzY3Vzc2lvbiBob3dldmVyLgoK LS1Qcm9wb3NlZCBtaXRpZ2F0aW9uLS0KSW4gb3JkZXIgdG8gZ2V0IGlkZW50aXR5IGhpZGluZyBm b3J3YXJkIHNlY3JlY3kgdGhlIHN1Z2dlc3Rpb24gaXMgdG8KaGF2ZSB0aGUgY2xpZW50IGNoYW5n ZSBpdHMgc3RhdGljIHB1YmtleSBvZnRlbiBpbiBvcmRlciB0byBkZS1saW5rIFZQTgpzZXNzaW9u cywgaW4gdGhlIGV2ZW50IG9mIGEgY29tcHJvbWlzZSBvZiB0aGUgc2VydmVyJ3Mgc3RhdGljIHBy aXZhdGUKa2V5LiDigJxPZnRlbuKAnSBtaWdodCBiZSBhIHRpbWUgbGltaXQsIGEgYmFuZHdpZHRo IGxpbWl0LCBhbmQgZXZlbnRzIGxpa2UKcmVib290IG9mIHRoZSBzeXN0ZW0sIHRoZSBhcHAsIG5l dyBXaUZpLCBuZXcgREhDUCBsZWFzZSwgb3IgZXhwbGljaXRseQpieSB0aGUgdXNlci4gVG8gcHJv dmlkZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIE9wZW5WUE4gaXQgc2hvdWxkIGJlCmVub3VnaCB0 byBjaGFuZ2UgcHVia2V5IGV2ZXJ5IHRpbWUgdGhlIHVzZXIgZG9lcyBhIGNvbm5lY3QvZGlzY29u bmVjdC4KClRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIGEgZnVuY3Rpb25hbGl0eSBvbiB0b3Agb2Yg V2lyZUd1YXJkLCB3aGljaApzaG91bGQgc3RheSBtaW5pbWFsLiBJdCBzaG91bGQgYmUgcG9zc2li bGUgZm9yIGNsaWVudHMgdG8gcmVnaXN0ZXIgbmV3CnN0YXRpYyBwdWJrZXlzIHdpdGggdGhlIFZQ TiBzZXJ2aWNlIGFuZCB0byBhc2sgaXQgdG8gZm9yZ2V0IGFib3V0IG9sZApwdWJrZXlzLiBPbmUg Y3VycmVudCBpZGVhIGlzIHRvIGRlZmluZSBhIHNlcnZpY2Ugb24gdG9wIG9mIFdpcmVHdWFyZApy dW5uaW5nIGFzIGEgZGFlbW9uIG9uIGJvdGggY2xpZW50IGFuZCBzZXJ2ZXIsIGNvbW11bmljYXRp bmcgb3ZlciBhCldpcmVHdWFyZCBzZXNzaW9uLgoKCi1XaXJlR3VhcmQgZG9lcyBub3Qgb2ZmZXIg ZHluYW1pYyBJUCBhZGRyZXNzIGFzc2lnbm1lbnQtCgotLVRoZSBwcm9ibGVtLS0KVGhlIHR1bm5l bC1pbnRlcm5hbCBJUCBhZGRyZXNzIGNhbiBsZWFrIHRocm91Z2ggV2ViUlRDIGFuZCBwZXJoYXBz Cm90aGVyIHdheXMuIEEgbG9uZyB0ZXJtIElQIGFkZHJlc3MgYXNzaWdubWVudCBjb3VsZCBlbmFi bGUgYSB3ZWJzaXRlCnRoYXQgZXhmaWx0cmF0ZXMgdGhlIElQIGFkZHJlc3MgdG8gdXNlIGl0IGFz IGEgdW5pcXVlIGlkZW50aWZpZXIKYmV0d2VlbiB3ZWJzaXRlIHZpc2l0cywgZXZlbiBpZiB0aGUg dXNlciBoYXMgY2xlYXJlZCBhbGwgYnJvd3NpbmcKZGF0YS4gVGhlcmUgYXJlIG90aGVyIHdheXMg b2YgZG9pbmcgdGhpcy4KCkEgcGVyaGFwcyBtb3JlIHNlcmlvdXMgY29uc2VxdWVuY2Ugb2Ygc3Rh dGljIGFzc2lnbm1lbnQgaXMgdGhhdCB0aGUgSVAKYWRkcmVzcyBpcyBzdG9yZWQgbGlua2VkIHRv IGEgdXNlcidzIHN0YXRpYyBwdWJsaWMga2V5LCB3aGljaCBpbiB0dXJuCm1pZ2h0IGJlIGxpbmtl ZCB0byBhIHVzZXLigJlzIHBlcnNvbmFsIGlkZW50aXR5IHRocm91Z2ggdGhlIHNlcnZlcuKAmXMK YXV0aGVudGljYXRpb24gc3lzdGVtLiBJZiB0aGUgYXR0YWNrZXIgbGVhcm5zIHRoZSBJUCBhZGRy ZXNzIGFzIHdlbGwKYXMgZ2FpbnMgYWNjZXNzIHRvIHRoZSB1c2VyIGRhdGFiYXNlLCBpdCBtaWdo dCBiZSBhYmxlIHRvIGxpbmsgdGhlIElQCmFkZHJlc3MgdG8gYSBwZXJzb24uCgpJbiBhIGNvbW1l cmNpYWwgVlBOIHNlcnZpY2Ugc2V0dXAsIHRoZSBJUCBhZGRyZXNzIGFuZCB0aHVzIGl0cyBzdGF0 aWMKcHVibGljIGtleSBhcmUgcHJvYmFibHkgbGlua2VkIHRvIGEgY3VzdG9tZXIgYWNjb3VudCwg YW5kIHRvIHBheW1lbnQKaW5mb3JtYXRpb24uIElmIHRoaXMgaXMgdGhlIGNhc2UsIGFuIGF0dGFj a2VyIG1pZ2h0IGJlIGFibGUgdG8KaWRlbnRpZnkgdGhlIHVzZXIuIFRoZXJlIGFyZSB2YXJpb3Vz IG1pdGlnYXRpb25zIGFuZCBoYWNrcyBvbmUgY291bGQKZG8gYXMgYW4gb3BlcmF0b3IgdG8gcHJl dmVudCB0aGlzLiBSZWdhcmRsZXNzLCBhbiBhcHByb2FjaCB0bwplcGhlbWVyYWwgSVAgYWRkcmVz c2VzIHRoYXQgaXMgYWNjZXB0ZWQgYXMgc3RhbmRhcmQgd291bGQgYmUKcHJlZmVyYWJsZS4KCi0t UHJvcG9zZWQgbWl0aWdhdGlvbi0tCk1ha2UgaXQgcG9zc2libGUgZm9yIGNsaWVudHMgdG8gcmVx dWVzdCBhIGR5bmFtaWNhbGx5IGFzc2lnbmVkIElQCmFkZHJlc3MgZnJvbSB0aGUgVlBOIHNlcnZl ci4gT25lIGlkZWEgaXMgdG8gZGVmaW5lIGEgc2VydmljZSBvbiB0b3Agb2YKV2lyZUd1YXJkIHJ1 bm5pbmcgYXMgYSBkYWVtb24gb24gYm90aCBjbGllbnQgYW5kIHNlcnZlciwgY29tbXVuaWNhdGlu ZwpvdmVyIGEgV2lyZUd1YXJkIHNlc3Npb24uIFRoZSBjbGllbnQgd291bGQgbmVlZCBhIHN0YXRp Y2FsbHkgYXNzaWduZWQKbGluay1sb2NhbCBJUHY2IGFkZHJlc3MgYW5kIHVzZSB0aGF0IHRvIGNv bW11bmljYXRlIHdpdGggdGhlCnNlcnZlci1zaWRlIGRhZW1vbiwgd2hpY2ggdGhlbiBhc3NpZ25z IGFuIElQIGFkZHJlc3MgZHluYW1pY2FsbHkuCgoKLVdoYXQncyBiZWVuIGRvbmUgYWxyZWFkeT8t CgpBbiBlZmZvcnQgaGFzIGFscmVhZHkgc3RhcnRlZCByZWdhcmRpbmcgdGhlIGR5bmFtaWMgSVAg YWRkcmVzc2VzLiBSZWFkCnRoZSBmb2xsb3dpbmcgZm9yIG1vcmUgaW5mbzoKaHR0cHM6Ly93d3cu d2lyZWd1YXJkLmNvbS90b2RvLwpodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzEx UkpERHJkSXNuR2l2ejh4UDVOc090ZUhkdml1VjRqZk5HMUNTbDBxOGNZL2VkaXQKaHR0cHM6Ly9n aXQuengyYzQuY29tL3dnLWR5bmFtaWMKCk9uZSBpc3N1ZSB3aXRoIGFuIGluLXR1bm5lbCBkYWVt b24gaXMgYXV0aGVudGljYXRpb24gb2YgY2xpZW50IGFuZApzZXJ2ZXIuIEl04oCZcyBwb3NzaWJs ZSB0aGUgY2xpZW50IHNpZGUgb2YgdGhlIFdpcmVHdWFyZCB0dW5uZWwgaXMKYWN0dWFsbHkgYSBy b3V0ZXIgZm9yIG1hbnkgbW9yZSBjbGllbnRzLCB3aG8gcHJvYmFibHkgc2hvdWxkbuKAmXQgYmUK YXV0aG9yaXplZCB0byByZW5lZ290aWF0ZSB0aGUgcm91dGVy4oCZcyBkeW5hbWljIElQIGFkZHJl c3Mgb3IgcHVia2V5LgpBbiBhbHRlcm5hdGl2ZSB0byBhbiBpbi10dW5uZWwgZGFlbW9uIHdvdWxk IGJlIHRvIHVzZSBwZWVyLWFkZHJlc3NlZApkYXRhZ3JhbXMgZm9yIGNvbnRyb2wgbWVzc2FnZXMg aW5zdGVhZCwgYnV0IHRoYXQgaW50cm9kdWNlcyBvdGhlcgpjb21wbGV4aXRpZXMgYXMgbWVudGlv bmVkIGluIHRoZSBkb2N1bWVudHMgYWJvdmUuCgoKLVN1bW1hcnktCkEgcHJpdmFjeS1mb2N1c2Vk IGRlcGxveW1lbnQgb2YgV2lyZUd1YXJkIHNob3VsZCBwcm92aWRlIGlkZW50aXR5CmhpZGluZyBm b3J3YXJkIHNlY3JlY3kgYW5kIHNob3J0LXRlcm0gZHluYW1pYyBJUCBhZGRyZXNzIGFzc2lnbm1l bnQuCldpcmVHdWFyZCBwcm92aWRlcyBuZWl0aGVyLCBzaW5jZSBpdCdzIG91dC1vZi1zY29wZSBm b3IgdGhlIHByb2plY3Qncwpnb2FscywgZm9yIGdvb2QgcmVhc29ucy4gT25lIHNvbHV0aW9uIHdv dWxkIGJlIHRvIGRlZmluZSBhIHNlcnZpY2UKdGhhdCBjb21tdW5pY2F0ZXMgb3ZlciBhIFdpcmVH dWFyZCB0dW5uZWwuIFRoZSBzYW1lIHNlcnZpY2UgY291bGQKcHJvdmlkZSBBUEkgY2FsbHMgZm9y IGJvdGggbmVlZHMsIGFzIHdlbGwgYXMgb3RoZXIgdGhpbmdzLgoKRmluYWxseSwgaXQgd291bGQg YmUgZ29vZCBpZiB0aGUgbWVjaGFuaXNtIGFuZCBwcm90b2NvbCByZW1haW5lZCB0aGUKc2FtZSBy ZWdhcmRsZXNzIG9mIGlmIG9uZSB3YXMgY29ubmVjdGluZyB0byBhIGxvbmUgV2lyZUd1YXJkIHNl cnZlciwKb3IgdG8gYSBXaXJlR3VhcmQgc2VydmVyIGluIGEgbmV0d29yayBvZiBtYW55LCBzdWNo IGFzIGEgbGFyZ2UgVlBOCnNlcnZpY2UgcHJvdmlkZXIuIEkgZm9yIG9uZSBleHBlY3QgV2lyZUd1 YXJkIHRvIGJlY29tZSB0aGUgc3RhbmRhcmQKVlBOIHByb3RvY29sIGZvciBWUE4gc2VydmljZXMg d2l0aGluIGEgZmV3IHllYXJzLCBhbmQgdGhhdCB0aGV5IHdpbGwKY29udGludWUgdG8gZ3JvdyB1 bnRpbCB0aGVuLiBUbyBteSBrbm93bGVkZ2UgdGhlIGxhcmdlc3Qgb25lcyB0b2RheQpydW4gYWxt b3N0IDEwLDAwMCBzZXJ2ZXJzLgoKClRoYW5rIHlvdSBmb3IgeW91ciB0aW1lLgoKQmVzdCByZWdh cmRzLApGcmVkcmlrIFN0cm9tYmVyZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpXaXJlR3VhcmQgbWFpbGluZyBsaXN0CldpcmVHdWFyZEBsaXN0cy56eDJj NC5jb20KaHR0cHM6Ly9saXN0cy56eDJjNC5jb20vbWFpbG1hbi9saXN0aW5mby93aXJlZ3VhcmQK