Re: [libre-riscv-dev] daily kan-ban update 29jul2020
[libre-riscv-dev.git] / f4 / 8a66dcd1dde07aca6984d776f87f21d1658750
1 Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
2 Envelope-to: publicinbox@libre-riscv.org
3 Delivery-date: Fri, 15 May 2020 20:15:46 +0100
4 Received: from localhost ([::1] helo=libre-riscv.org)
5 by libre-soc.org with esmtp (Exim 4.89)
6 (envelope-from <libre-riscv-dev-bounces@lists.libre-riscv.org>)
7 id 1jZfo9-00008o-MY; Fri, 15 May 2020 20:15:45 +0100
8 Received: from mail-lf1-f41.google.com ([209.85.167.41])
9 by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
10 (Exim 4.89) (envelope-from <thejsingher@gmail.com>)
11 id 1jZfo9-00008i-1S
12 for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 20:15:45 +0100
13 Received: by mail-lf1-f41.google.com with SMTP id 8so2745347lfp.4
14 for <libre-riscv-dev@lists.libre-riscv.org>;
15 Fri, 15 May 2020 12:15:45 -0700 (PDT)
16 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
17 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
18 :content-transfer-encoding;
19 bh=zMKRgFpTCxI0um0UWAW7flBVsJ3cE3uK26Tgf38RpTk=;
20 b=dPcoMUv2xmrO8ktZqTMS7IevQELbk2M3n9YlAnol2GpJyajlBLkZ17D70Tt9amEfyM
21 qKOk3IgabF9xxOSMhd7pxmtXqg/CzwJ+WdWBjMp5jRitFDjRkOGhv0KaY6KW4Sn9potP
22 CN9dTkRNxhq5+ZQzFL2g1NjJRvE55ZjbcYn2GV2w2DetT38tX+KQcYbmxi1WlmOcvpOM
23 CmRUAUfZ64EYl/HWZhvy7TpDOcbKtsK7dQ5+SIblH0frLoZjNLfc7hrlteUNUc1M2eVS
24 WQ+T85ybJ0e52eXm2PKOfQm1KDS0J4TH6KHWyQaoWzq9tRLB3+dJmH0gBqoeyJSoxZBC
25 utbQ==
26 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
27 d=1e100.net; s=20161025;
28 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
29 :message-id:subject:to:content-transfer-encoding;
30 bh=zMKRgFpTCxI0um0UWAW7flBVsJ3cE3uK26Tgf38RpTk=;
31 b=NAgTiik3ins0duGWd1qQLEGAI+L5D/aVo6a3pJ0r2Zmm5UEiN0kx7OFRLqGTTaYRi/
32 tehEEyD4tvrXv/1FQWsmW/sydG6CuQhZDjMrHHd8hIrygK/ChXZvqRllw532Wb8T6TNm
33 ijSYqMKlQvC+yKVWVkIEs1ZbNg2peYCbmzljobKiAHOcIGdar9t5RepX/S9vV8IzMaJ3
34 aQDko7c+oYcIkM3w2u3GGL5ZR2C1znr6cpKKOPwMzrbK9mWjvqPzSDb79kJ4yUEqLEyE
35 L+42N1ZXAxGFxu7cOIm58M0FLLC9qk7P3p9Tn1Z7Fb1zTXUCFMse6gjKc3XTr0TUy+qf
36 lHEw==
37 X-Gm-Message-State: AOAM533bR1EGDnx7VBHMKJbXz6CiJU34fJJXEp/RvAfb17bpTPbONM/e
38 /nqrR4zM2xl5nNWeHDrTetWeK95Htag6ks6KL63R+Ve9
39 X-Google-Smtp-Source: ABdhPJzl66ZWgM/jxNHGwov7bcH6vGVNzlMLPSWbvcYq/ZC6s0YBy628A2Tv1bAMhqQDLoDHiqfyebUSsUIZnGM/8YU=
40 X-Received: by 2002:a05:6512:44e:: with SMTP id
41 y14mr3355583lfk.190.1589570143960;
42 Fri, 15 May 2020 12:15:43 -0700 (PDT)
43 MIME-Version: 1.0
44 References: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
45 <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
46 In-Reply-To: <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
47 From: Jeremy Singher <thejsingher@gmail.com>
48 Date: Fri, 15 May 2020 12:15:32 -0700
49 Message-ID: <CAEoCstRUXkB_LxXXubx4A0dhLGvFqq6EPL+GzukDQORpHopaiw@mail.gmail.com>
50 To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
51 Subject: Re: [libre-riscv-dev] Introduction and Questions
52 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
53 X-Mailman-Version: 2.1.23
54 Precedence: list
55 List-Id: Libre-RISCV General Development
56 <libre-riscv-dev.lists.libre-riscv.org>
57 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
58 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
59 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
60 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
61 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
62 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
63 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
64 Reply-To: Libre-RISCV General Development
65 <libre-riscv-dev@lists.libre-riscv.org>
66 Content-Type: text/plain; charset="utf-8"
67 Content-Transfer-Encoding: base64
68 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
69 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
70
71 PiBVbmZvcnR1bmF0ZWx5LCBub3QgeWV0IC0gd291bGQgeW91IGxpa2UgdG8gaGVscCB3aXRoIHRo
72 aXM/Cj4gV2XigJlyZSBhIGJpdCBzdGFydmVkIG9uIGxhYm9yIC0gYWJvdXQgNGlzaCBmdWxsLXRp
73 bWUgaW4gbWFuLWhvdXJzPwoKU3VyZSwgaWYgeW91IHBvaW50IG1lIHRvIGRvY3VtZW50YXRpb24g
74 b24gdGhlIGNvcmUgZGVzaWduLCBJIGNhbiBkcmF3CnVwIGEgZGlhZ3JhbSBvZiBpdC4KSXMgdGhl
75 cmUgZW5vdWdoIGluZm9ybWF0aW9uIG9uIHRoZSBjb3JlIHRvIG1ha2UgYSBXaWtpQ2hpcC1saWtl
76 IGRpYWdyYW0/CkkgZmluZCB0aGF0IGRpc3BsYXlpbmcgdGhlIHBpcGVsaW5lIGRlcHRoLCB3aWR0
77 aCwgYW5kIGltcG9ydGFudApjb21wb25lbnRzIGlzIGEgZ29vZCB3YXkgb2YKZGlzcGxheWluZyBr
78 ZXkgY2hhcmFjdGVyaXN0aWNzIG9mIGEgY29yZSwgYW5kIGl0IG1ha2VzIGl0IGVhc2llciBmb3IK
79 cGVvcGxlIGxpa2UgbWUgdG8gZHJhdyBjb21wYXJpc29ucwphZ2FpbnN0IG90aGVyIGNvcmVzIChj
80 b21tZXJjaWFsIGFuZCBvcGVuLXNvdXJjZSkuCgo+IFdl4oCZcmUgdXNpbmcgYSBtb2RpZmljYXRp
81 b24gb24gdGhlIHNjb3JlYm9hcmQgYXJjaGl0ZWN0dXJlIGZyb20gdGhlIENyYXkgQ0RDIDY2MDAu
82 Cj4gT3VyIHNjb3JlYm9hcmQgaXMgc29tZXdoYXQgc2ltaWxhciB0byB0aGF0IG9mIFRvbWFzdWxv
83 4oCZcyBhbGdvcml0aG0uCgpTbyB5b3UgaGF2ZSBPT08gZXhlY3V0aW9uIHdpdGggbXVsdGlwbGUg
84 ZnVuY3Rpb25hbCB1bml0cyBleGVjdXRpbmcgaW4gcGFyYWxsZWwsCmFuZCBhIHNjb3JlYm9hcmQg
85 dHJhY2tpbmcgY29tcGxldGlvbiBzdGF0dXMgb2Ygd3JpdGVzIHRvIHJlZ2lzdGVycywgcmlnaHQ/
86 CklzIHRoaXMgYSB1bmlmaWVkLXJlZ2lzdGVyLWZpbGUsIG9yIHJlZ2lzdGVyLWluLWlzc3VlLXF1
87 ZXVlIGRlc2lnbj8KCj4gTm8uIFNvIHNpbmNlIHdl4oCZcmUgaW1wbGVtZW50aW5nIGEgUE9XRVIg
88 Y2hpcCwgd2UgZGVjaWRlZCB0byBzdGFydCBieSB3cml0aW5nIGEgUE9XRVIKPiBTaW11bGF0b3Ig
89 Zmlyc3QuIFRoZXJlIGFyZSB3ZXJlIGEgZmV3IG9wdGlvbnMgZm9yIHRoaXMsIFFFTVUsIFBlYXJQ
90 QywgYW5kIEdlbTUuCgpBaCBJIHNlZSwgdGhhdCdzIG9rLiBZb3UgaGF2ZSB0byBzdGFydCBzb21l
91 d2hlcmUgOikuCgo+IEZyb20gaW5pdGlhbCBkaXNjdXNzaW9uLCBvdXIgZmlyc3QgdGFwZW91dCB3
92 b3VsZCBiZSBsb29raW5nIGF0IFJhc3BiZXJyeSBQaSByZXYgQiAyMDEyIHBlcmZvcm1hbmNlIHdp
93 c2UuCj4gSXQgd291bGQgYmUgZ29vZCB0byBnZXQgc29tZSBkcnlzdG9uZSBudW1iZXIgZG93bi4K
94 CkFyZSB5b3UgdGFyZ2V0aW5nIElQQyBhcyB0aGUgcGVyZm9ybWFuY2UgbWV0cmljPyBPciBJUEMg
95 eCBGcmVxPwpUaGUgUGkgMSBSZXYgQiBzZWVtcyB0byBiZSBhIDEtd2lkZSBpbi1vcmRlciBkZXNp
96 Z24sIHNvIGl0IHNob3VsZCBiZSBhCnByZXR0eSBjb25zZXJ2YXRpdmUgdGFyZ2V0IHRvIGhpdC4K
97 QW55IGJhc2ljIE9PTyBjb3JlIHNob3VsZCBiZWF0IHRoZSBQSSBCIGluIElQQywgaXQgb25seSBu
98 ZWVkcyB0byBydW4KYXQgYW4gZXF1aXZhbGVudCBmcmVxdWVuY3kuCgpEbyB5b3Uga25vdyB3aGF0
99 IHRoZSBmaW5hbCBwZXJmb3JtYW5jZSB0YXJnZXQgaXM/IChPciBtaW5pbWFsIHRhcmdldApmb3Ig
100 YSBjb21tZXJjaWFsbHkgdmlhYmxlIHByb2R1Y3Q/KQpUaGUgQ29ydGV4IEE3MiBpcyBhIDMtdyBP
101 T08gdGhhdCBtaWdodCBiZSBhIGdvb2QgcG9pbnQgdG8gdGFyZ2V0IChpdCdzCmFsc28gdXNlZCB0
102 aGUgbGF0ZXN0IFBpIDRzKS4KCkZyb20gcnVubmluZyBhIGNvdXBsZSBleHBlcmltZW50cyBvbiBv
103 dGhlciBvcGVuLU9PTyBjb3JlcywgaXQgc2VlbXMKbGlrZSAzLWlzaCBETUlQcy9NSHogaXMgYSBn
104 b29kCnRhcmdldCBmb3IgYSBPT08gY29yZS4KCj4gQXJlIHlvdSBmYW1pbGlhciB3aXRoIFB5dGhv
105 biBuTWlnZW4gLSBpdHMgYmFzaWNhbGx5IENoaXNlbCBmb3IgUHl0aG9uLiBZb3UgbWVudGlvbmVk
106 IG1pY2hyb2FyY2hpdGVjdHVyZeKApiBQZXJoYXBzIHlvdSBjb3VsZCBoZWxwIEx1a2Ugb24gdGhl
107 IHNjb3JlYm9hcmQuCgpZYSwgSSd2ZSBiZWVuIHRyeWluZyB0byBydW4gdGhlIHNjcmlwdCBvbiB0
108 aGUgd2Vic2l0ZSwgcnVubmluZyBpbnRvCnByb2JsZW1zIHdpdGggWW9zeXMsIGRlYnVnZ2luZyBu
109 b3cuCgpMYXN0bHksIGhhdmUgeW91IGd1eXMgdGFsa2VkIHRvIHRoZSB1bml2ZXJzaXR5IGVmZm9y
110 dHMgdG8gYnVpbGQKb3Blbi1zb3VyY2UgY29yZXM/IEkgc2VlIGxpbmtzIHRvIHRoZQpTaGFrdGkg
111 cHJvamVjdCBvbiB0aGUgc2l0ZS4gSXMgdGhpcyBhIGNvbGxhYm9yYXRpb24gd2l0aCB0aGVtPyBJ
112 CnRob3VnaHQgdGhleSB3ZXJlIGRvaW5nIFJJU0MtVj8KVGhlcmUncyBhbHNvIGdyb3VwcyBhdCBF
113 VEgsIEJlcmtlbGV5LCBhbmQgTUlUIHB1c2hpbmcgb3V0IHRoZWlyIG93bgphcHBsaWNhdGlvbi1j
114 bGFzcyBjb3Jlcy4gSG93IGRvZXMKdGhpcyBkZXNpZ24gY29tcGFyZSB0byB0aG9zZT8KClBhcnQg
115 b2YgdGhlIHJlYXNvbiBJJ20gYXNraW5nIHNvIG1hbnkgcXVlc3Rpb25zIChiZXlvbmQgbXkgb3du
116 CmN1cmlvc2l0eSkgaXMgdGhhdCBJIHdpbGwgbGlrZWx5IGJlCmEgVEEgZm9yIGEgY29tcHV0ZXIt
117 YXJjaGl0ZWN0dXJlIGNvdXJzZSBpbiB0aGUgbmVhciBmdXR1cmUsIGFuZCBJCndvdWxkIGxpa2Ug
118 dG8gcmV2YW1wIHRoZSBjb3Vyc2UgYnkKaGF2aW5nIHN0dWRlbnRzIGludGVyYWN0IHdpdGggcmVh
119 bCBSVEwgZm9yIGEgY29tcGxleCBTb0MsIGluc3RlYWQgb2YKanVzdCBzaW11bGF0b3JzLgoKClRo
120 YW5rcywKLUplcmVteQpPbiBGcmksIE1heSAxNSwgMjAyMCBhdCAxMTo0NSBBTSBZZWhvd3NodWEg
121 PHlpbW1hbnVlbDNAZ2F0ZWNoLmVkdT4gd3JvdGU6Cj4KPgo+Cj4gPiBPbiBNYXkgMTUsIDIwMjAs
122 IGF0IDI6MjQgUE0sIEplcmVteSBTaW5naGVyIDx0aGVqc2luZ2hlckBnbWFpbC5jb20+IHdyb3Rl
123 Ogo+ID4KPiA+IEhpIGFsbCwKPiA+Cj4gPiBNeSBuYW1lIGlzIEplcmVteSBTaW5naGVyLgo+Cj4g
124 SGVsbG8gYW5kIHdlbGNvbWUhCj4KPiA+IEknbSBhIGdyYWR1YXRlIHN0dWRlbnQgc3R1ZHlpbmcg
125 Y29tcHV0ZXIKPiA+IGFyY2hpdGVjdHVyZSwgaW50ZXJlc3RlZCBpbiBvcGVuLXNvdXJjZSBoYXJk
126 d2FyZSBhbmQgaGlnaCBwZXJmb3JtYW5jZQo+ID4gbWljcm9hcmNoaXRlY3R1cmVzLiBJIGFtIGxv
127 b2tpbmcgZm9yIGFuIG9wZW4tc291cmNlIGhhcmR3YXJlIHByb2plY3QgSSBjYW4KPiA+IGNvbnRy
128 aWJ1dGUgdG8gdGhyb3VnaCB0aGUgY291cnNlIG9mIG15IGdyYWR1YXRlIHN0dWRpZXMsIGFuZCBJ
129 IGhhdmUgc29tZQo+ID4gcXVlc3Rpb25zIGFib3V0IHRoZSBMaWJyZS1TT0MgcHJvamVjdC4KPiA+
130 Cj4gPiAxLiBJdCBzZWVtcyBsaWtlIHlvdSBndXlzIGFyZSBidWlsZGluZyB2YXJpb3VzIGNvbXBv
131 bmVudHMgb2YgYW4KPiA+IG91dC1vZi1vcmRlciBtaWNyb2FyY2hpdGVjdHVyZSwgc3VjaCBhcyB0
132 aGUgc2NvcmVib2FyZCwgYW5kIGxvYWQtc3RvcmUKPiA+IG9yZGVyaW5nIHVuaXRzLiBEbyB5b3Ug
133 aGF2ZSBhIGNvbXBsZXRlIG1pY3JvYXJjaGl0ZWN0dXJlIGRpYWdyYW0gb2YgdGhlCj4gPiBjb3Jl
134 IChvciBhIHRleHQgZGVzY3JpcHRpb24pPwo+Cj4gVW5mb3J0dW5hdGVseSwgbm90IHlldCAtIHdv
135 dWxkIHlvdSBsaWtlIHRvIGhlbHAgd2l0aCB0aGlzPwo+IFdl4oCZcmUgYSBiaXQgc3RhcnZlZCBv
136 biBsYWJvciAtIGFib3V0IDRpc2ggZnVsbC10aW1lIGluIG1hbi1ob3Vycz8KPgo+ID4gSSBjb3Vs
137 ZCBmaW5kIGJpdHMgYW5kIHBpZWNlcyBvbiBzcGVjaWZpYwo+ID4gY29tcG9uZW50cywgYnV0IEkn
138 bSBpbnRlcmVzdGVkIGluIGRldGFpbHMgbGlrZSBwaXBlbGluZSB3aWR0aCwgZGVwdGgsCj4gPiBi
139 cmFuY2gtdG8tYnJhbmNoIGxhdGVuY3ksIGxvYWQtdXNlIGRlbGF5LCBldGMuCj4KPiBXZeKAmXJl
140 IHVzaW5nIGEgbW9kaWZpY2F0aW9uIG9uIHRoZSBzY29yZWJvYXJkIGFyY2hpdGVjdHVyZSBmcm9t
141 IHRoZSBDcmF5IENEQyA2NjAwLgo+IE91ciBzY29yZWJvYXJkIGlzIHNvbWV3aGF0IHNpbWlsYXIg
142 dG8gdGhhdCBvZiBUb21hc3Vsb+KAmXMgYWxnb3JpdGhtLgo+Cj4gPiAyLiBJcyB0aGUgU29DIGF0
143 IGEgc3RhdGUgYXQgd2hpY2ggSSBjYW4gZXZhbHVhdGUgcGVyZm9ybWFuY2Ugb24gc2ltcGxlCj4g
144 PiBiZW5jaG1hcmtzIGluIHNpbXVsYXRpb24/IE90aGVyIHNpbWlsYXIgb3Blbi1zb3VyY2UgaGFy
145 ZHdhcmUgcHJvamVjdHMgaGF2ZQo+ID4gbWFrZSB0YXJnZXRzIHRvIGxhdW5jaCB2ZXJpbGF0b3Ig
146 c2ltdWxhdGlvbnMsIGJ1dCBJIGNvdWxkIG5vdCBmaW5kIGFuCj4gPiBlcXVpdmFsZW50IGluIHlv
147 dXIgcmVwb3MgKGFsdGhvdWdoIEkgcHJvYmFibHkgYW0ganVzdCBiYWQgYXQgbG9va2luZykuCj4K
148 PiBOby4gU28gc2luY2Ugd2XigJlyZSBpbXBsZW1lbnRpbmcgYSBQT1dFUiBjaGlwLCB3ZSBkZWNp
149 ZGVkIHRvIHN0YXJ0IGJ5IHdyaXRpbmcgYSBQT1dFUgo+IFNpbXVsYXRvciBmaXJzdC4gVGhlcmUg
150 YXJlIHdlcmUgYSBmZXcgb3B0aW9ucyBmb3IgdGhpcywgUUVNVSwgUGVhclBDLCBhbmQgR2VtNS4K
151 Pgo+IFdl4oCZcmUgbWFraW5nIHR3ZWFrcyB0byBQZWFyUEMgYW5kIHdlIGFsc28gd3JpdGluZyBh
152 IHNpbXVsYXRvciBpbiBQeXRob24gdGhhdCBwYXJzZXMgdGhlIG9mZmljaWFsIFBPV0VSMy4wQiBz
153 cGVjLgo+Cj4gSSBjYW7igJl0IHJlbWVtYmVyIHdoeSB3ZSBkZWNpZGVkIHRvIGZpZGRsZSBhcm91
154 bmQgd2l0aCBQZWFyUEMgYW5kIG5vdCB1c2UgUUVNVSBvciBHZW01Lgo+Cj4gPiAzLiBXaGF0IGlz
155 IHlvdXIgdGFyZ2V0IHBlcmZvcm1hbmNlIGluIHRlcm1zIG9mIGFuIGVzdGFibGlzaGVkIGJlbmNo
156 bWFyawo+ID4gbGlrZSBDb3JlbWFyaywgRGhyeXN0b25lLCBFbWJlbmNoLCBvciBTUEVDPyBJJ20g
157 dHJ5aW5nIHRvIGNvbXBhcmUgdGhlCj4gPiBtZXJpdHMgYW5kIHByb2dyZXNzIG9mIHZhcmlvdXMg
158 aGFyZHdhcmUgcHJvamVjdHMgb3V0LXRoZXJlLgo+Cj4gRnJvbSBpbml0aWFsIGRpc2N1c3Npb24s
159 IG91ciBmaXJzdCB0YXBlb3V0IHdvdWxkIGJlIGxvb2tpbmcgYXQgUmFzcGJlcnJ5IFBpIHJldiBC
160 IDIwMTIgcGVyZm9ybWFuY2Ugd2lzZS4KPiBJdCB3b3VsZCBiZSBnb29kIHRvIGdldCBzb21lIGRy
161 eXN0b25lIG51bWJlciBkb3duLgo+Cj4gPiA0LiBXaGF0IGlzIHRoZSByaWdodCB3YXkgdG8gZ2V0
162 IHN0YXJ0ZWQgY29udHJpYnV0aW5nPyBNeSBleHBlcmllbmNlIGlzIHdpdGgKPiA+IFZlcmlsb2cs
163 IGFuZCBJJ3ZlIGxvb2tlZCBhdCBvdGhlciBsYW5ndWFnZXMgdG9vLCBpbmNsdWRpbmcgQlNWIGFu
164 ZCBDaGlzZWwuCj4gPiBJJ20gcHJpbWFyaWx5IGludGVyZXN0ZWQgaW4gZGV2ZWxvcGluZyBtaWNy
165 b2FyY2hpdGVjdHVyZSBmb3IKPiA+IHBlcmZvcm1hbmNlLWNyaXRpY2FsIGNvbXBvbmVudHMsIGxp
166 a2UgYnJhbmNoIHByZWRpY3RvcnMsIHByZWZldGNoZXJzLAo+ID4gaW5zdHJ1Y3Rpb24gc2NoZWR1
167 bGVycywgYW5kIGxvYWQtc3RvcmUgdW5pdHMuIElkZWFsbHksIEkgY291bGQgY29udHJpYnV0ZQo+
168 ID4gbXkgd29yayBhcyBwYXJ0IG9mIGdyYWR1YXRlIHN0dWRpZXMgdG8gdGhpcyBwcm9qZWN0Lgo+
169 ID4KPgo+IEFyZSB5b3UgZmFtaWxpYXIgd2l0aCBQeXRob24gbk1pZ2VuIC0gaXRzIGJhc2ljYWxs
170 eSBDaGlzZWwgZm9yIFB5dGhvbi4gWW91IG1lbnRpb25lZCBtaWNocm9hcmNoaXRlY3R1cmXigKYg
171 UGVyaGFwcyB5b3UgY291bGQgaGVscCBMdWtlIG9uIHRoZSBzY29yZWJvYXJkLgo+Cj4gT3VyIGNv
172 ZGViYXNlIGlzIGEgYml0IG9mIGEgbWVzcyBhdCB0aGUgbW9tZW50IC0gdGhlcmUgd2FzIHNvIG11
173 Y2ggdG8gZG8gZm9yIHN1Y2ggYSBsYXJnZSBwcm9qZWN0Lgo+IEJ5IEF1Z3VzdCwgd2l0aCBzaWdu
174 aWZpY2FudCBleHRyYSBmdW5kaW5nIGFuZCBsYWJvciBpbiB0aGUgcGlwZWxpbmUsIHRoZXJlIHNo
175 b3VsZCBiZSBtb3JlIGFiaWxpdHkgdG8gY2xlYW4gdGhpbmdzIHVwLgo+Cj4gPiBTb3JyeSBmb3Ig
176 dGhlIGJhcnJhZ2Ugb2YgcXVlc3Rpb25zLgo+ID4KPgo+IE5vIG9mZmVuc2UgaGVyZSA6KQo+Cj4g
177 PiBCZXN0LAo+ID4gLUplcmVteQo+Cj4gWWVob3dzaHVhCj4KPiA+IF9fX19fX19fX19fX19fX19f
178 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBsaWJyZS1yaXNjdi1kZXYgbWFpbGlu
179 ZyBsaXN0Cj4gPiBsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCj4gPiBodHRw
180 Oi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2
181 Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g
182 bGlicmUtcmlzY3YtZGV2IG1haWxpbmcgbGlzdAo+IGxpYnJlLXJpc2N2LWRldkBsaXN0cy5saWJy
183 ZS1yaXNjdi5vcmcKPiBodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGlu
184 Zm8vbGlicmUtcmlzY3YtZGV2CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
185 X19fX19fX19fXwpsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0CmxpYnJlLXJpc2N2LWRldkBs
186 aXN0cy5saWJyZS1yaXNjdi5vcmcKaHR0cDovL2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFu
187 L2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgo=
188