Re: [libre-riscv-dev] Introduction and Questions
authorJeremy Singher <thejsingher@gmail.com>
Fri, 15 May 2020 19:15:32 +0000 (12:15 -0700)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Fri, 15 May 2020 19:15:45 +0000 (20:15 +0100)
f4/8a66dcd1dde07aca6984d776f87f21d1658750 [new file with mode: 0644]

diff --git a/f4/8a66dcd1dde07aca6984d776f87f21d1658750 b/f4/8a66dcd1dde07aca6984d776f87f21d1658750
new file mode 100644 (file)
index 0000000..b3baa9d
--- /dev/null
@@ -0,0 +1,188 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Fri, 15 May 2020 20:15:46 +0100
+Received: from localhost ([::1] helo=libre-riscv.org)
+       by libre-soc.org with esmtp (Exim 4.89)
+       (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
+       id 1jZfo9-00008o-MY; Fri, 15 May 2020 20:15:45 +0100
+Received: from mail-lf1-f41.google.com ([209.85.167.41])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.89) (envelope-from <thejsingher@gmail.com>)
+ id 1jZfo9-00008i-1S
+ for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 20:15:45 +0100
+Received: by mail-lf1-f41.google.com with SMTP id 8so2745347lfp.4
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Fri, 15 May 2020 12:15:45 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
+ h=mime-version:references:in-reply-to:from:date:message-id:subject:to
+ :content-transfer-encoding;
+ bh=zMKRgFpTCxI0um0UWAW7flBVsJ3cE3uK26Tgf38RpTk=;
+ b=dPcoMUv2xmrO8ktZqTMS7IevQELbk2M3n9YlAnol2GpJyajlBLkZ17D70Tt9amEfyM
+ qKOk3IgabF9xxOSMhd7pxmtXqg/CzwJ+WdWBjMp5jRitFDjRkOGhv0KaY6KW4Sn9potP
+ CN9dTkRNxhq5+ZQzFL2g1NjJRvE55ZjbcYn2GV2w2DetT38tX+KQcYbmxi1WlmOcvpOM
+ CmRUAUfZ64EYl/HWZhvy7TpDOcbKtsK7dQ5+SIblH0frLoZjNLfc7hrlteUNUc1M2eVS
+ WQ+T85ybJ0e52eXm2PKOfQm1KDS0J4TH6KHWyQaoWzq9tRLB3+dJmH0gBqoeyJSoxZBC
+ utbQ==
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=1e100.net; s=20161025;
+ h=x-gm-message-state:mime-version:references:in-reply-to:from:date
+ :message-id:subject:to:content-transfer-encoding;
+ bh=zMKRgFpTCxI0um0UWAW7flBVsJ3cE3uK26Tgf38RpTk=;
+ b=NAgTiik3ins0duGWd1qQLEGAI+L5D/aVo6a3pJ0r2Zmm5UEiN0kx7OFRLqGTTaYRi/
+ tehEEyD4tvrXv/1FQWsmW/sydG6CuQhZDjMrHHd8hIrygK/ChXZvqRllw532Wb8T6TNm
+ ijSYqMKlQvC+yKVWVkIEs1ZbNg2peYCbmzljobKiAHOcIGdar9t5RepX/S9vV8IzMaJ3
+ aQDko7c+oYcIkM3w2u3GGL5ZR2C1znr6cpKKOPwMzrbK9mWjvqPzSDb79kJ4yUEqLEyE
+ L+42N1ZXAxGFxu7cOIm58M0FLLC9qk7P3p9Tn1Z7Fb1zTXUCFMse6gjKc3XTr0TUy+qf
+ lHEw==
+X-Gm-Message-State: AOAM533bR1EGDnx7VBHMKJbXz6CiJU34fJJXEp/RvAfb17bpTPbONM/e
+ /nqrR4zM2xl5nNWeHDrTetWeK95Htag6ks6KL63R+Ve9
+X-Google-Smtp-Source: ABdhPJzl66ZWgM/jxNHGwov7bcH6vGVNzlMLPSWbvcYq/ZC6s0YBy628A2Tv1bAMhqQDLoDHiqfyebUSsUIZnGM/8YU=
+X-Received: by 2002:a05:6512:44e:: with SMTP id
+ y14mr3355583lfk.190.1589570143960; 
+ Fri, 15 May 2020 12:15:43 -0700 (PDT)
+MIME-Version: 1.0
+References: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
+ <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
+In-Reply-To: <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
+From: Jeremy Singher <thejsingher@gmail.com>
+Date: Fri, 15 May 2020 12:15:32 -0700
+Message-ID: <CAEoCstRUXkB_LxXXubx4A0dhLGvFqq6EPL+GzukDQORpHopaiw@mail.gmail.com>
+To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+Subject: Re: [libre-riscv-dev] Introduction and Questions
+X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
+X-Mailman-Version: 2.1.23
+Precedence: list
+List-Id: Libre-RISCV General Development
+ <libre-riscv-dev.lists.libre-riscv.org>
+List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
+List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
+List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
+List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
+List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>, 
+ <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
+Reply-To: Libre-RISCV General Development
+ <libre-riscv-dev@lists.libre-riscv.org>
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: base64
+Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
+Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
+
+PiBVbmZvcnR1bmF0ZWx5LCBub3QgeWV0IC0gd291bGQgeW91IGxpa2UgdG8gaGVscCB3aXRoIHRo
+aXM/Cj4gV2XigJlyZSBhIGJpdCBzdGFydmVkIG9uIGxhYm9yIC0gYWJvdXQgNGlzaCBmdWxsLXRp
+bWUgaW4gbWFuLWhvdXJzPwoKU3VyZSwgaWYgeW91IHBvaW50IG1lIHRvIGRvY3VtZW50YXRpb24g
+b24gdGhlIGNvcmUgZGVzaWduLCBJIGNhbiBkcmF3CnVwIGEgZGlhZ3JhbSBvZiBpdC4KSXMgdGhl
+cmUgZW5vdWdoIGluZm9ybWF0aW9uIG9uIHRoZSBjb3JlIHRvIG1ha2UgYSBXaWtpQ2hpcC1saWtl
+IGRpYWdyYW0/CkkgZmluZCB0aGF0IGRpc3BsYXlpbmcgdGhlIHBpcGVsaW5lIGRlcHRoLCB3aWR0
+aCwgYW5kIGltcG9ydGFudApjb21wb25lbnRzIGlzIGEgZ29vZCB3YXkgb2YKZGlzcGxheWluZyBr
+ZXkgY2hhcmFjdGVyaXN0aWNzIG9mIGEgY29yZSwgYW5kIGl0IG1ha2VzIGl0IGVhc2llciBmb3IK
+cGVvcGxlIGxpa2UgbWUgdG8gZHJhdyBjb21wYXJpc29ucwphZ2FpbnN0IG90aGVyIGNvcmVzIChj
+b21tZXJjaWFsIGFuZCBvcGVuLXNvdXJjZSkuCgo+IFdl4oCZcmUgdXNpbmcgYSBtb2RpZmljYXRp
+b24gb24gdGhlIHNjb3JlYm9hcmQgYXJjaGl0ZWN0dXJlIGZyb20gdGhlIENyYXkgQ0RDIDY2MDAu
+Cj4gT3VyIHNjb3JlYm9hcmQgaXMgc29tZXdoYXQgc2ltaWxhciB0byB0aGF0IG9mIFRvbWFzdWxv
+4oCZcyBhbGdvcml0aG0uCgpTbyB5b3UgaGF2ZSBPT08gZXhlY3V0aW9uIHdpdGggbXVsdGlwbGUg
+ZnVuY3Rpb25hbCB1bml0cyBleGVjdXRpbmcgaW4gcGFyYWxsZWwsCmFuZCBhIHNjb3JlYm9hcmQg
+dHJhY2tpbmcgY29tcGxldGlvbiBzdGF0dXMgb2Ygd3JpdGVzIHRvIHJlZ2lzdGVycywgcmlnaHQ/
+CklzIHRoaXMgYSB1bmlmaWVkLXJlZ2lzdGVyLWZpbGUsIG9yIHJlZ2lzdGVyLWluLWlzc3VlLXF1
+ZXVlIGRlc2lnbj8KCj4gTm8uIFNvIHNpbmNlIHdl4oCZcmUgaW1wbGVtZW50aW5nIGEgUE9XRVIg
+Y2hpcCwgd2UgZGVjaWRlZCB0byBzdGFydCBieSB3cml0aW5nIGEgUE9XRVIKPiBTaW11bGF0b3Ig
+Zmlyc3QuIFRoZXJlIGFyZSB3ZXJlIGEgZmV3IG9wdGlvbnMgZm9yIHRoaXMsIFFFTVUsIFBlYXJQ
+QywgYW5kIEdlbTUuCgpBaCBJIHNlZSwgdGhhdCdzIG9rLiBZb3UgaGF2ZSB0byBzdGFydCBzb21l
+d2hlcmUgOikuCgo+IEZyb20gaW5pdGlhbCBkaXNjdXNzaW9uLCBvdXIgZmlyc3QgdGFwZW91dCB3
+b3VsZCBiZSBsb29raW5nIGF0IFJhc3BiZXJyeSBQaSByZXYgQiAyMDEyIHBlcmZvcm1hbmNlIHdp
+c2UuCj4gSXQgd291bGQgYmUgZ29vZCB0byBnZXQgc29tZSBkcnlzdG9uZSBudW1iZXIgZG93bi4K
+CkFyZSB5b3UgdGFyZ2V0aW5nIElQQyBhcyB0aGUgcGVyZm9ybWFuY2UgbWV0cmljPyBPciBJUEMg
+eCBGcmVxPwpUaGUgUGkgMSBSZXYgQiBzZWVtcyB0byBiZSBhIDEtd2lkZSBpbi1vcmRlciBkZXNp
+Z24sIHNvIGl0IHNob3VsZCBiZSBhCnByZXR0eSBjb25zZXJ2YXRpdmUgdGFyZ2V0IHRvIGhpdC4K
+QW55IGJhc2ljIE9PTyBjb3JlIHNob3VsZCBiZWF0IHRoZSBQSSBCIGluIElQQywgaXQgb25seSBu
+ZWVkcyB0byBydW4KYXQgYW4gZXF1aXZhbGVudCBmcmVxdWVuY3kuCgpEbyB5b3Uga25vdyB3aGF0
+IHRoZSBmaW5hbCBwZXJmb3JtYW5jZSB0YXJnZXQgaXM/IChPciBtaW5pbWFsIHRhcmdldApmb3Ig
+YSBjb21tZXJjaWFsbHkgdmlhYmxlIHByb2R1Y3Q/KQpUaGUgQ29ydGV4IEE3MiBpcyBhIDMtdyBP
+T08gdGhhdCBtaWdodCBiZSBhIGdvb2QgcG9pbnQgdG8gdGFyZ2V0IChpdCdzCmFsc28gdXNlZCB0
+aGUgbGF0ZXN0IFBpIDRzKS4KCkZyb20gcnVubmluZyBhIGNvdXBsZSBleHBlcmltZW50cyBvbiBv
+dGhlciBvcGVuLU9PTyBjb3JlcywgaXQgc2VlbXMKbGlrZSAzLWlzaCBETUlQcy9NSHogaXMgYSBn
+b29kCnRhcmdldCBmb3IgYSBPT08gY29yZS4KCj4gQXJlIHlvdSBmYW1pbGlhciB3aXRoIFB5dGhv
+biBuTWlnZW4gLSBpdHMgYmFzaWNhbGx5IENoaXNlbCBmb3IgUHl0aG9uLiBZb3UgbWVudGlvbmVk
+IG1pY2hyb2FyY2hpdGVjdHVyZeKApiBQZXJoYXBzIHlvdSBjb3VsZCBoZWxwIEx1a2Ugb24gdGhl
+IHNjb3JlYm9hcmQuCgpZYSwgSSd2ZSBiZWVuIHRyeWluZyB0byBydW4gdGhlIHNjcmlwdCBvbiB0
+aGUgd2Vic2l0ZSwgcnVubmluZyBpbnRvCnByb2JsZW1zIHdpdGggWW9zeXMsIGRlYnVnZ2luZyBu
+b3cuCgpMYXN0bHksIGhhdmUgeW91IGd1eXMgdGFsa2VkIHRvIHRoZSB1bml2ZXJzaXR5IGVmZm9y
+dHMgdG8gYnVpbGQKb3Blbi1zb3VyY2UgY29yZXM/IEkgc2VlIGxpbmtzIHRvIHRoZQpTaGFrdGkg
+cHJvamVjdCBvbiB0aGUgc2l0ZS4gSXMgdGhpcyBhIGNvbGxhYm9yYXRpb24gd2l0aCB0aGVtPyBJ
+CnRob3VnaHQgdGhleSB3ZXJlIGRvaW5nIFJJU0MtVj8KVGhlcmUncyBhbHNvIGdyb3VwcyBhdCBF
+VEgsIEJlcmtlbGV5LCBhbmQgTUlUIHB1c2hpbmcgb3V0IHRoZWlyIG93bgphcHBsaWNhdGlvbi1j
+bGFzcyBjb3Jlcy4gSG93IGRvZXMKdGhpcyBkZXNpZ24gY29tcGFyZSB0byB0aG9zZT8KClBhcnQg
+b2YgdGhlIHJlYXNvbiBJJ20gYXNraW5nIHNvIG1hbnkgcXVlc3Rpb25zIChiZXlvbmQgbXkgb3du
+CmN1cmlvc2l0eSkgaXMgdGhhdCBJIHdpbGwgbGlrZWx5IGJlCmEgVEEgZm9yIGEgY29tcHV0ZXIt
+YXJjaGl0ZWN0dXJlIGNvdXJzZSBpbiB0aGUgbmVhciBmdXR1cmUsIGFuZCBJCndvdWxkIGxpa2Ug
+dG8gcmV2YW1wIHRoZSBjb3Vyc2UgYnkKaGF2aW5nIHN0dWRlbnRzIGludGVyYWN0IHdpdGggcmVh
+bCBSVEwgZm9yIGEgY29tcGxleCBTb0MsIGluc3RlYWQgb2YKanVzdCBzaW11bGF0b3JzLgoKClRo
+YW5rcywKLUplcmVteQpPbiBGcmksIE1heSAxNSwgMjAyMCBhdCAxMTo0NSBBTSBZZWhvd3NodWEg
+PHlpbW1hbnVlbDNAZ2F0ZWNoLmVkdT4gd3JvdGU6Cj4KPgo+Cj4gPiBPbiBNYXkgMTUsIDIwMjAs
+IGF0IDI6MjQgUE0sIEplcmVteSBTaW5naGVyIDx0aGVqc2luZ2hlckBnbWFpbC5jb20+IHdyb3Rl
+Ogo+ID4KPiA+IEhpIGFsbCwKPiA+Cj4gPiBNeSBuYW1lIGlzIEplcmVteSBTaW5naGVyLgo+Cj4g
+SGVsbG8gYW5kIHdlbGNvbWUhCj4KPiA+IEknbSBhIGdyYWR1YXRlIHN0dWRlbnQgc3R1ZHlpbmcg
+Y29tcHV0ZXIKPiA+IGFyY2hpdGVjdHVyZSwgaW50ZXJlc3RlZCBpbiBvcGVuLXNvdXJjZSBoYXJk
+d2FyZSBhbmQgaGlnaCBwZXJmb3JtYW5jZQo+ID4gbWljcm9hcmNoaXRlY3R1cmVzLiBJIGFtIGxv
+b2tpbmcgZm9yIGFuIG9wZW4tc291cmNlIGhhcmR3YXJlIHByb2plY3QgSSBjYW4KPiA+IGNvbnRy
+aWJ1dGUgdG8gdGhyb3VnaCB0aGUgY291cnNlIG9mIG15IGdyYWR1YXRlIHN0dWRpZXMsIGFuZCBJ
+IGhhdmUgc29tZQo+ID4gcXVlc3Rpb25zIGFib3V0IHRoZSBMaWJyZS1TT0MgcHJvamVjdC4KPiA+
+Cj4gPiAxLiBJdCBzZWVtcyBsaWtlIHlvdSBndXlzIGFyZSBidWlsZGluZyB2YXJpb3VzIGNvbXBv
+bmVudHMgb2YgYW4KPiA+IG91dC1vZi1vcmRlciBtaWNyb2FyY2hpdGVjdHVyZSwgc3VjaCBhcyB0
+aGUgc2NvcmVib2FyZCwgYW5kIGxvYWQtc3RvcmUKPiA+IG9yZGVyaW5nIHVuaXRzLiBEbyB5b3Ug
+aGF2ZSBhIGNvbXBsZXRlIG1pY3JvYXJjaGl0ZWN0dXJlIGRpYWdyYW0gb2YgdGhlCj4gPiBjb3Jl
+IChvciBhIHRleHQgZGVzY3JpcHRpb24pPwo+Cj4gVW5mb3J0dW5hdGVseSwgbm90IHlldCAtIHdv
+dWxkIHlvdSBsaWtlIHRvIGhlbHAgd2l0aCB0aGlzPwo+IFdl4oCZcmUgYSBiaXQgc3RhcnZlZCBv
+biBsYWJvciAtIGFib3V0IDRpc2ggZnVsbC10aW1lIGluIG1hbi1ob3Vycz8KPgo+ID4gSSBjb3Vs
+ZCBmaW5kIGJpdHMgYW5kIHBpZWNlcyBvbiBzcGVjaWZpYwo+ID4gY29tcG9uZW50cywgYnV0IEkn
+bSBpbnRlcmVzdGVkIGluIGRldGFpbHMgbGlrZSBwaXBlbGluZSB3aWR0aCwgZGVwdGgsCj4gPiBi
+cmFuY2gtdG8tYnJhbmNoIGxhdGVuY3ksIGxvYWQtdXNlIGRlbGF5LCBldGMuCj4KPiBXZeKAmXJl
+IHVzaW5nIGEgbW9kaWZpY2F0aW9uIG9uIHRoZSBzY29yZWJvYXJkIGFyY2hpdGVjdHVyZSBmcm9t
+IHRoZSBDcmF5IENEQyA2NjAwLgo+IE91ciBzY29yZWJvYXJkIGlzIHNvbWV3aGF0IHNpbWlsYXIg
+dG8gdGhhdCBvZiBUb21hc3Vsb+KAmXMgYWxnb3JpdGhtLgo+Cj4gPiAyLiBJcyB0aGUgU29DIGF0
+IGEgc3RhdGUgYXQgd2hpY2ggSSBjYW4gZXZhbHVhdGUgcGVyZm9ybWFuY2Ugb24gc2ltcGxlCj4g
+PiBiZW5jaG1hcmtzIGluIHNpbXVsYXRpb24/IE90aGVyIHNpbWlsYXIgb3Blbi1zb3VyY2UgaGFy
+ZHdhcmUgcHJvamVjdHMgaGF2ZQo+ID4gbWFrZSB0YXJnZXRzIHRvIGxhdW5jaCB2ZXJpbGF0b3Ig
+c2ltdWxhdGlvbnMsIGJ1dCBJIGNvdWxkIG5vdCBmaW5kIGFuCj4gPiBlcXVpdmFsZW50IGluIHlv
+dXIgcmVwb3MgKGFsdGhvdWdoIEkgcHJvYmFibHkgYW0ganVzdCBiYWQgYXQgbG9va2luZykuCj4K
+PiBOby4gU28gc2luY2Ugd2XigJlyZSBpbXBsZW1lbnRpbmcgYSBQT1dFUiBjaGlwLCB3ZSBkZWNp
+ZGVkIHRvIHN0YXJ0IGJ5IHdyaXRpbmcgYSBQT1dFUgo+IFNpbXVsYXRvciBmaXJzdC4gVGhlcmUg
+YXJlIHdlcmUgYSBmZXcgb3B0aW9ucyBmb3IgdGhpcywgUUVNVSwgUGVhclBDLCBhbmQgR2VtNS4K
+Pgo+IFdl4oCZcmUgbWFraW5nIHR3ZWFrcyB0byBQZWFyUEMgYW5kIHdlIGFsc28gd3JpdGluZyBh
+IHNpbXVsYXRvciBpbiBQeXRob24gdGhhdCBwYXJzZXMgdGhlIG9mZmljaWFsIFBPV0VSMy4wQiBz
+cGVjLgo+Cj4gSSBjYW7igJl0IHJlbWVtYmVyIHdoeSB3ZSBkZWNpZGVkIHRvIGZpZGRsZSBhcm91
+bmQgd2l0aCBQZWFyUEMgYW5kIG5vdCB1c2UgUUVNVSBvciBHZW01Lgo+Cj4gPiAzLiBXaGF0IGlz
+IHlvdXIgdGFyZ2V0IHBlcmZvcm1hbmNlIGluIHRlcm1zIG9mIGFuIGVzdGFibGlzaGVkIGJlbmNo
+bWFyawo+ID4gbGlrZSBDb3JlbWFyaywgRGhyeXN0b25lLCBFbWJlbmNoLCBvciBTUEVDPyBJJ20g
+dHJ5aW5nIHRvIGNvbXBhcmUgdGhlCj4gPiBtZXJpdHMgYW5kIHByb2dyZXNzIG9mIHZhcmlvdXMg
+aGFyZHdhcmUgcHJvamVjdHMgb3V0LXRoZXJlLgo+Cj4gRnJvbSBpbml0aWFsIGRpc2N1c3Npb24s
+IG91ciBmaXJzdCB0YXBlb3V0IHdvdWxkIGJlIGxvb2tpbmcgYXQgUmFzcGJlcnJ5IFBpIHJldiBC
+IDIwMTIgcGVyZm9ybWFuY2Ugd2lzZS4KPiBJdCB3b3VsZCBiZSBnb29kIHRvIGdldCBzb21lIGRy
+eXN0b25lIG51bWJlciBkb3duLgo+Cj4gPiA0LiBXaGF0IGlzIHRoZSByaWdodCB3YXkgdG8gZ2V0
+IHN0YXJ0ZWQgY29udHJpYnV0aW5nPyBNeSBleHBlcmllbmNlIGlzIHdpdGgKPiA+IFZlcmlsb2cs
+IGFuZCBJJ3ZlIGxvb2tlZCBhdCBvdGhlciBsYW5ndWFnZXMgdG9vLCBpbmNsdWRpbmcgQlNWIGFu
+ZCBDaGlzZWwuCj4gPiBJJ20gcHJpbWFyaWx5IGludGVyZXN0ZWQgaW4gZGV2ZWxvcGluZyBtaWNy
+b2FyY2hpdGVjdHVyZSBmb3IKPiA+IHBlcmZvcm1hbmNlLWNyaXRpY2FsIGNvbXBvbmVudHMsIGxp
+a2UgYnJhbmNoIHByZWRpY3RvcnMsIHByZWZldGNoZXJzLAo+ID4gaW5zdHJ1Y3Rpb24gc2NoZWR1
+bGVycywgYW5kIGxvYWQtc3RvcmUgdW5pdHMuIElkZWFsbHksIEkgY291bGQgY29udHJpYnV0ZQo+
+ID4gbXkgd29yayBhcyBwYXJ0IG9mIGdyYWR1YXRlIHN0dWRpZXMgdG8gdGhpcyBwcm9qZWN0Lgo+
+ID4KPgo+IEFyZSB5b3UgZmFtaWxpYXIgd2l0aCBQeXRob24gbk1pZ2VuIC0gaXRzIGJhc2ljYWxs
+eSBDaGlzZWwgZm9yIFB5dGhvbi4gWW91IG1lbnRpb25lZCBtaWNocm9hcmNoaXRlY3R1cmXigKYg
+UGVyaGFwcyB5b3UgY291bGQgaGVscCBMdWtlIG9uIHRoZSBzY29yZWJvYXJkLgo+Cj4gT3VyIGNv
+ZGViYXNlIGlzIGEgYml0IG9mIGEgbWVzcyBhdCB0aGUgbW9tZW50IC0gdGhlcmUgd2FzIHNvIG11
+Y2ggdG8gZG8gZm9yIHN1Y2ggYSBsYXJnZSBwcm9qZWN0Lgo+IEJ5IEF1Z3VzdCwgd2l0aCBzaWdu
+aWZpY2FudCBleHRyYSBmdW5kaW5nIGFuZCBsYWJvciBpbiB0aGUgcGlwZWxpbmUsIHRoZXJlIHNo
+b3VsZCBiZSBtb3JlIGFiaWxpdHkgdG8gY2xlYW4gdGhpbmdzIHVwLgo+Cj4gPiBTb3JyeSBmb3Ig
+dGhlIGJhcnJhZ2Ugb2YgcXVlc3Rpb25zLgo+ID4KPgo+IE5vIG9mZmVuc2UgaGVyZSA6KQo+Cj4g
+PiBCZXN0LAo+ID4gLUplcmVteQo+Cj4gWWVob3dzaHVhCj4KPiA+IF9fX19fX19fX19fX19fX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBsaWJyZS1yaXNjdi1kZXYgbWFpbGlu
+ZyBsaXN0Cj4gPiBsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCj4gPiBodHRw
+Oi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2
+Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g
+bGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdAo+IGxpYnJlLXJpc2N2LWRldkBsaXN0cy5saWJy
+ZS1yaXNjdi5vcmcKPiBodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGlu
+Zm8vbGlicmUtcmlzY3YtZGV2CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
+X19fX19fX19fXwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0CmxpYnJlLXJpc2N2LWRldkBs
+aXN0cy5saWJyZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFu
+L2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgo=
+