Re: [libre-riscv-dev] daily kan-ban update 23may2020
[libre-riscv-dev.git] / cc / 978acba7cc1f67312572113f74c2e370899820
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 23:15:44 +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 1jZicJ-00035D-GH; Fri, 15 May 2020 23:15:43 +0100
8 Received: from mail-lf1-f51.google.com ([209.85.167.51])
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 1jZicI-000357-P4
12 for libre-riscv-dev@lists.libre-riscv.org; Fri, 15 May 2020 23:15:42 +0100
13 Received: by mail-lf1-f51.google.com with SMTP id 188so3078730lfa.10
14 for <libre-riscv-dev@lists.libre-riscv.org>;
15 Fri, 15 May 2020 15:15:42 -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 bh=9YDMe6z6gKOE7DBnjV33tyoR0+J6cYN5EGl5npQBi4Q=;
19 b=p7GCEFTS76u0PriK3mn6h5o0/jIUaZSQyqWvHLrak+YsiONci3Br+zfYTzHn6HaV62
20 iSlUlJA/1527mtEVJy/yBjBt+lNKgFS9SH/yKbIVCxnLhy7mML/OEwXATVZmTRxcRbH4
21 cLh46uRpvh5HzFDU72I1h2VIhPlbq+3eao3+VCL7RfIKNJZ67yo8pF++uxwvulEFzAfr
22 +oiBqTAOhgjmmK4n6clSntmFUG0Ed/25ptVHt5I3ZizKgamWLDfT1vMTFEaWOewTqZjv
23 eTWL3BgHMzL5icgJ8aJepkm5vLQjC3o0XxXpebeSHc6SAcbflKWOqps/G/8f+JpNlNoT
24 eZaw==
25 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
26 d=1e100.net; s=20161025;
27 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
28 :message-id:subject:to;
29 bh=9YDMe6z6gKOE7DBnjV33tyoR0+J6cYN5EGl5npQBi4Q=;
30 b=XBNMLi6G3xoU3Tu3WU+z42RrLRsUPz3IBup5A0f/4l/4QwNOzhWHs1BZ08O52U4p8y
31 28sY5+CwO+WgwwkQBWtz0TSNh+7gl4eXTSlhgm9oMrWaYWlydZqUcHnp+xmwk7hSonfo
32 PCbNy/jQ5sz5cUj9V4AToR9SssCd9/WY2eV573aQRQJajICpgv3Qu5I0rztyQWN+XE63
33 Fbtx/ojRZA+72+jdgXdjvYXsWLUVgaNTi8FncPlXUCtPcqDYwjT3dSisi5HpEuL0ZI9q
34 AgtaMkr9tbayaaP9zQkHf16m1Sy4mcR3WJ/px3nbX3ypybY19+ZT+6ZnXzhiiqpREtXm
35 IIsw==
36 X-Gm-Message-State: AOAM532K9rCZyLOegj1pezl5KUb0yXjHx7tBjJ5/oUx5RL9gtAcnQilC
37 lLuSmrOE/hlpCud9PzpXR0Vk7IMn0DueFnn+B+CcnJdV
38 X-Google-Smtp-Source: ABdhPJx3e6qk071RF2Q2Ztc1rxr2P8nKm+acItUF2k/GjWbG2usVImv7rvQp9Ki3NYJN+/KNJwGySZ6GX34I9HEbEPU=
39 X-Received: by 2002:a19:84b:: with SMTP id 72mr3784534lfi.133.1589580941650;
40 Fri, 15 May 2020 15:15:41 -0700 (PDT)
41 MIME-Version: 1.0
42 References: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
43 <747F8870-06C6-46A0-AFD9-D55289D4C41A@gatech.edu>
44 <CAEoCstRUXkB_LxXXubx4A0dhLGvFqq6EPL+GzukDQORpHopaiw@mail.gmail.com>
45 <4BDA96A5-9063-42A6-9548-CAE3CBEBEBAC@gatech.edu>
46 <CAPweEDyZQEBsh8uZ4VkzzALPcoiTgs0AvTmTwS6B0Dc+jy+mfw@mail.gmail.com>
47 <CAEoCstTERH=Z84je148ffL7_yiBYFj_Zet2VfOzkbe86MVmyQQ@mail.gmail.com>
48 <CAPweEDyHrrQqPaNy7OqCsPUgR0yrELuRENqZTw_qr-tBVHVg+g@mail.gmail.com>
49 In-Reply-To: <CAPweEDyHrrQqPaNy7OqCsPUgR0yrELuRENqZTw_qr-tBVHVg+g@mail.gmail.com>
50 From: Jeremy Singher <thejsingher@gmail.com>
51 Date: Fri, 15 May 2020 15:15:30 -0700
52 Message-ID: <CAEoCstT7yZObkbS9GhWDRE7rm3p=Y5CzAJgYYj_3THCuRy=MCQ@mail.gmail.com>
53 To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
54 Subject: Re: [libre-riscv-dev] Introduction and Questions
55 X-BeenThere: libre-riscv-dev@lists.libre-riscv.org
56 X-Mailman-Version: 2.1.23
57 Precedence: list
58 List-Id: Libre-RISCV General Development
59 <libre-riscv-dev.lists.libre-riscv.org>
60 List-Unsubscribe: <http://lists.libre-riscv.org/mailman/options/libre-riscv-dev>,
61 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=unsubscribe>
62 List-Archive: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/>
63 List-Post: <mailto:libre-riscv-dev@lists.libre-riscv.org>
64 List-Help: <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=help>
65 List-Subscribe: <http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev>,
66 <mailto:libre-riscv-dev-request@lists.libre-riscv.org?subject=subscribe>
67 Reply-To: Libre-RISCV General Development
68 <libre-riscv-dev@lists.libre-riscv.org>
69 Content-Type: text/plain; charset="utf-8"
70 Content-Transfer-Encoding: base64
71 Errors-To: libre-riscv-dev-bounces@lists.libre-riscv.org
72 Sender: "libre-riscv-dev" <libre-riscv-dev-bounces@lists.libre-riscv.org>
73
74 PiBpdCdzIGJhc2ljYWxseSBhIENyYXkgVmVjdG9yIExvb3AKPiAoVkwpIGV4Y2VwdCB0aGF0IFZM
75 LCB3aGVuIHNldCwgYWN0dWFsbHkgKlBBVVNFUyogdGhlIFByb2dyYW0gQ291bnRlciwKPiBhbmQg
76 aXNzdWVzIE1VTFRJUExFIGluc3RydWN0aW9ucyAtIHVzaW5nIHRoZSBvbmUgYXQgdGhlIFBDIGFz
77 IGEKPiAidGVtcGxhdGUiIC0gYnV0IGluY3JlbWVudGluZyB0aGUgb3BlcmFuZCByZWdpc3RlciBu
78 dW1iZXJzCj4gc2VxdWVudGlhbGx5IG9uIGVhY2ggaXRlcmF0aW9uIG9mIHRoZSBsb29wIGZyb20g
79 MCB0byBWTC0xLgoKU28gaWYgeW91IGRlY29kZSBhIHZhZGQgaW5zdHJ1Y3Rpb24sIHdpdGggVkw9
80 NCwgYW5kIGEgMS13aWRlIHBpcGVsaW5lLAp0aGUgZGVzaWduIHdvdWxkIHN0YWxsIGluc3RydWN0
81 aW9uIGZldGNoLCBhbmQgaXNzdWUgNCAic2NhbGFyIiBhZGQKbWljcm8tb3BzIHdpdGggaW5jcmVt
82 ZW50aW5nIHJlZ2lzdGVyIGluZGljZXM/IFRoYXQgc2VlbXMgbGlrZSBpdApzaG91bGQgd29yaywg
83 YWx0aG91Z2ggeW91IHdvdWxkIGxvc2UgdGhlIGFiaWxpdHkgdG8gZXhwbG9pdCB2ZWN0b3IKY2hh
84 aW5pbmcsIHNpbmNlIHBhdXNpbmcgdGhlIFBDIHdvdWxkIHByZXZlbnQgYWRkaXRpb25hbCBpbnN0
85 cnVjdGlvbnMKYWZ0ZXIgdGhlIHZlY3RvciBpbnN0cnVjdGlvbiBmcm9tIGdldHRpbmcgaXNzdWVk
86 LiBJIGxvb2tlZCBhIFNpbXBsZVYgYQp3aGlsZSBhZ28sIGFuZCB0byBtZSBpdCBzZWVtZWQgbGlr
87 ZSB0aGUgZGlmZmVyZW5jZSB2cyBhIG5vcm1hbCB2ZWN0b3IKYXJjaGl0ZWN0dXJlIHdhcyB0aGF0
88 IFNpbXBsZVYgbWVyZ2VkIHRoZSB2ZWN0b3IgYW5kIGludGVnZXIgcmVnaXN0ZXIKZmlsZXMuCgo+
89 IHVuZm9ydHVuYXRlbHksIHdoZW4gdGhlIEktQ2FjaGUgaXMgc2hhcmVkLCB3ZSBkbyBnaXZlIGEg
90 ZGFtbi4KPiB0aGVyZWZvcmUgd2UgbmVlZCB0byByZWR1Y2UgdGhlIGluc3RydWN0aW9uIHNpemUg
91 YW5kIGNhbWUgdXAgd2l0aAo+IFNpbXBsZVYgKGxvb2sgaXQgdXApLgoKWWVwLCB0aGlzIHNlZW1z
92 IGxpa2UgYSByZWFzb25hYmxlIGNvbmNsdXNpb24gdG8gZHJhdy4KCgo+IHRoaXMgaGFzICJpbXBs
93 aWNpdCIKPiByZWdpc3Rlci1yZW5hbWluZyBhdXRvbWF0aWNhbGx5IGJ1aWx0LWluIHRvIHRoZSBk
94 ZXNpZ24uICB0aGVzZSBhcmUgdGhlCj4gRnVuY3Rpb24gVW5pdCBvcGVyYW5kIGxhdGNoZXMuICB0
95 aGV5IGFyZSBiZXN0IHRlcm1lZCAibmFtZWxlc3MKPiByZWdpc3RlcnMiIHJhdGhlciB0aGFuICJy
96 ZWdpc3Rlci1yZW5hbWluZyIuCgpJIHRoaW5rIEkgdW5kZXJzdGFuZCB3aGF0IHlvdSBhcmUgc2F5
97 aW5nLCBteSB0ZXJtaW5vbG9neSBmb3IgdGhpcyBpcwp0aGF0IHRoZSBjb3JlIGlzICJyZW5hbWlu
98 ZyIgcmVnaXN0ZXJzIGludG8gd2hhdCB5b3UgY2FsbCBpbmZsaWdodAoibmFtZWxlc3MgcmVnaXN0
99 ZXJzIi4gQXQgdGhlIGVuZCBvZiB0aGUgZGF5LCB0aGUgcG9pbnQgaXMgdGhhdApyZWdpc3RlciBk
100 YXRhIGlzIHN0b3JlZCBub3QganVzdCBpbiBhIGxvZ2ljYWwgcmVnaXN0ZXIgZmlsZSwgYW5kIHRo
101 YXQKdGhlIHNjaGVkdWxlciBjYW4gYWdncmVzc2l2ZWx5IGV4ZWN1dGUgaW5zdHJ1Y3Rpb25zIE9P
102 TyB3aGVuIHRoZWlyCm9wZXJhbmRzIGFyZSBhdmFpbGFibGUsIGluc3RlYWQgb2YgaW4gc2VyaWFs
103 aXppbmcgZXhlY3V0aW9uIGluIHByb2dyYW0Kb3JkZXIuCkhvdyBkb2VzIHRoZSBzY29yZWJvYXJk
104 IGhhbmRsZSBhIFdBVyBoYXphcmQuLi4gdHdvIGluc3RydWN0aW9ucwp3cml0aW5nIHRoZSBzYW1l
105 IHJlZ2lzdGVyPyBEb2VzIHRoZSBzZWNvbmQgaW5zdHJ1Y3Rpb24gd2FpdCBmb3IgdGhlCmZpcnN0
106 IHRvIGZpbmlzaD8KCj4gTWl0Y2ggQWxzdXAgaGFkIHRvIHdyaXRlIHR3bwo+IGFkZGl0aW9uYWwg
107 Y2hhcHRlcnMsIGFzIGFuIGFkZGVuZHVtIHRvIEphbWVzIFRob3JudG9uJ3MgYm9vaywgIkRlc2ln
108 bgo+IG9mIGEgQ29tcHV0ZXIiLCBpbiBvcmRlciB0byBjb3JyZWN0IFBhdHRlcnNvbidzIG1pc2lu
109 Zm9ybWF0aW9uLgoKRG8geW91IGhhdmUgYSBsaW5rIHRvIHRoZSBhZGRlbmR1bT8gSSBoYXZlIGEg
110 cGRmIG9mIHRoZSBib29rLCBidXQgaXQKZG9lc24ndCBzZWVtIHRvIGhhdmUgdGhlIGFkZGVuZHVt
111 LgoKCgpPbiBGcmksIE1heSAxNSwgMjAyMCBhdCAyOjU0IFBNIEx1a2UgS2VubmV0aCBDYXNzb24g
112 TGVpZ2h0b24KPGxrY2xAbGtjbC5uZXQ+IHdyb3RlOgo+Cj4gT24gRnJpLCBNYXkgMTUsIDIwMjAg
113 YXQgOTo1MCBQTSBKZXJlbXkgU2luZ2hlciA8dGhlanNpbmdoZXJAZ21haWwuY29tPiB3cm90ZToK
114 PiA+Cj4gPiA+IGEgdGVlbnkgdGlueSBiaXQgb3ZlciB3aGF0IHdlIGluaXRpYWxseSBwbGFubmVk
115 LCB0aGVuIDopCj4gPgo+ID4gVGhhbmtzIEx1a2UsIHRoZXNlIG51bWJlcnMgYXJlIGNsb3NlciB0
116 byB3aGF0IHNlZW1zIHJlYXNvbmFibGUgdG8gbWUuCj4gPiBBIHNpbXBsZSBzdXBlcnNjYWxhciBj
117 b3JlIHdpdGggMiBGUFUgZnVuY3Rpb25hbCB1bml0cyBzaG91bGQgYmUgYWJsZQo+ID4gdG8gYWNo
118 aWV2ZSA0IEdGTE9QUywgc28gYSB2ZWN0b3IgdW5pdCB3b3VsZCBuZWVkIHRvIGdvIGhpZ2hlciB0
119 aGFuCj4gPiB0aGF0IHRvIGJlIHdvcnRoIHRoZSBleHRyYSBzaWxpY29uLgo+Cj4gdGhlIGhhcmR3
120 YXJlIHJlcXVpcmVtZW50cyBhcmUgZGVyaXZlZCBmcm9tIHRoZSBzb2Z0d2FyZSBvbmVzLiAgd2UK
121 PiBkZWNpZGVkIHRob3VnaCB0byBkbyBhIGh5YnJpZCBkZXNpZ24gcmF0aGVyIHRoYW4gYSBzZXBh
122 cmF0ZSBDUFUKPiBzZXBhcmF0ZSBHUFUgYXBwcm9hY2guLi4gYmVjYXVzZS4uLiB3ZWxsLi4uIHVt
123 Li4uIHRoYXQncy4uLi4gdHdvLi4uCj4gcHJvY2Vzc29ycyA6KQo+Cj4gaHlicmlkIGRlc2lnbnMg
124 YXJlIGV4dHJlbWVseSB1bnVzdWFsLiAgdGhlcmUncyBvbmx5IDIgdGhhdCBpIGhhdmUKPiBoZWFy
125 ZCBvZjogdGhlIElDdWJlQ29ycCBJQzMxMjgsIGFuZCB0aGUgQnJvYWRjb20gVmlkZW9Db3JlIElW
126 IChiYXNlZAo+IGFyb3VuZCBhbiBBUkMgY29yZSwgQVJDIC0gbm93IGJvdWdodCBieSBTeW5vcHNp
127 cyAtIGlzIGtub3duIGZvcgo+IHByb3ZpZGluZyBhIHdlYWx0aCBvZiBTSU1EIGFuZCBvdGhlciAi
128 YWRkaXRpb25hbCIgaW5zdHJ1Y3Rpb25zLAo+IHNpbWlsYXIgdG8gaG93IFJJU0MtViBpcyBub3cg
129 c2V0IHVwLCBleGNlcHQgY29tcGxldGVseSBzZWNyZXRpdmUgYW5kCj4gdW5kZXIgdGhlIGZ1bGwg
130 YW5kIHRvdGFsIHByb3ByaWV0YXJ5IGNvbnRyb2wgb2YgU3lub3BzaXMpLgo+Cj4gaSd2ZSBsb29r
131 ZWQgYXQgVmVjdG9yIElTQXMsIGFuZCBTSU1EIElTQXM6IGkgY29uY2x1ZGVkIHRoYXQgdGhlcmUn
132 cyBhCj4gYmV0dGVyIHdheSB0byBkbyBhIFZlY3RvciBJU0EsIGtlZXBpbmcgdGhlICpzZW1hbnRp
133 Y3MqIG91dGxpbmVkIGluIHRoZQo+IGFydGljbGUgIlNJTUQgQ29uc2lkZXJlZCBIYXJtZnVsIi4K
134 Pgo+ID4gPiBieSBvdmVybG9hZGluZyAibXVsdGktaXNzdWUiLiAgYSBoYXJkd2FyZSBmb3ItbG9v
135 cCBhdCB0aGUgaW5zdHJ1Y3Rpb24KPiA+ID4gZXhlY3V0aW9uIHBoYXNlIHdpbGwgcHVzaCBtdWx0
136 aXBsZSBzZXF1ZW50aWFsIGluc3RydWN0aW9ucyBpbnRvIHRoZQo+ID4gPiBPb08gZW5naW5lIGZy
137 b20gYSAqc2luZ2xlKiBpbnN0cnVjdGlvbi4KPiA+Cj4gPiBJIHNlZSwgc28gYSBmb3JtIG9mIG1p
138 Y3JvLW9wIGZpc3Npb24sCj4KPiB5ZXMsIGluIGVmZmVjdC4gIHRoaXMgcmVkdWNlcyBJLUNhY2hl
139 IHByZXNzdXJlLCB3aGljaCBpbiBhICpoeWJyaWQqCj4gcHJvY2Vzc29yIGlzIGNyaXRpY2FsbHkg
140 aW1wb3J0YW50LiAgaW4gYSBzZXBhcmF0ZS1DUFUsc2VwYXJhdGUtR1BVCj4gZGVzaWduIHlvdSBo
141 YXZlIHR3byBJLUNhY2hlcywgcnVubmluZyB0d28gc2VwYXJhdGUgZXhlY3V0YWJsZXMsIHlvdQo+
142 IGRvbid0IF9naXZlXyBhIGRhbW4uCj4KPiBpbiBhIGh5YnJpZCBwcm9jZXNzb3IsIHdoZXJlIEdQ
143 VSBvcGNvZGVzIGFyZSBvZnRlbiA2NC1iaXQgYW5kIGFyZSBtb3JlCj4gdXN1YWxseSAxMjgtYml0
144 IChGT1VSIGJhbmtzIG9mIDMyLWJpdCBWTElXIGluc3RydWN0aW9ucyksIGJlY2F1c2Ugb25lCj4g
145 NjQtYml0IGluc3RydWN0aW9uIG1heSBiZSBkb2luZyAxNnggRlAgdmVjdG9yIG9wZXJhdGlvbnMg
146 d2hvIF9naXZlc18gYQo+IGRhbW4uCj4KPiB1bmZvcnR1bmF0ZWx5LCB3aGVuIHRoZSBJLUNhY2hl
147 IGlzIHNoYXJlZCwgd2UgZG8gZ2l2ZSBhIGRhbW4uCj4gdGhlcmVmb3JlIHdlIG5lZWQgdG8gcmVk
148 dWNlIHRoZSBpbnN0cnVjdGlvbiBzaXplIGFuZCBjYW1lIHVwIHdpdGgKPiBTaW1wbGVWIChsb29r
149 IGl0IHVwKS4KPgo+ID4gZXNzZW50aWFsbHkgeW91IGFyZSBkZWNvZGluZwo+ID4gY29tcGxleCB2
150 ZWN0b3IgKG9yICJHUFUiKSBpbnN0cnVjdGlvbnMgaW50byBhIHNlcXVlbnRpYWwgc3RyZWFtIG9m
151 Cj4gPiBzaW1wbGUgbWljcm8tb3BzPyBUaGlzIHNlZW1zIGxpa2UgYSBwcmV0dHkgcmVhc29uYWJs
152 ZSBkZXNpZ24gcG9pbnQuCj4KPiBtbW0gbm90IHF1aXRlLiAgbG9vayB1cCBTaW1wbGVWLiAgaXQn
153 cyBiYXNpY2FsbHkgYSBDcmF5IFZlY3RvciBMb29wCj4gKFZMKSBleGNlcHQgdGhhdCBWTCwgd2hl
154 biBzZXQsIGFjdHVhbGx5ICpQQVVTRVMqIHRoZSBQcm9ncmFtIENvdW50ZXIsCj4gYW5kIGlzc3Vl
155 cyBNVUxUSVBMRSBpbnN0cnVjdGlvbnMgLSB1c2luZyB0aGUgb25lIGF0IHRoZSBQQyBhcyBhCj4g
156 InRlbXBsYXRlIiAtIGJ1dCBpbmNyZW1lbnRpbmcgdGhlIG9wZXJhbmQgcmVnaXN0ZXIgbnVtYmVy
157 cwo+IHNlcXVlbnRpYWxseSBvbiBlYWNoIGl0ZXJhdGlvbiBvZiB0aGUgbG9vcCBmcm9tIDAgdG8g
158 VkwtMS4KPgo+ID4gPiB0aGUgRElWIHBpcGVsaW5lIHdpbGwgYmUuLi4gOCAobWF5YmUgbW9yZSks
159 IE1VTCB3aWxsIGJlIDIsIEFERCAoZXRjLikgd2lsbCBiZSAxLgo+ID4gPiAqIGZldGNoOiAxLgo+
160 ID4gPiAqIGRlY29kZTogMS4KPiA+ID4gKiBpc3N1ZSBhbmQgcmVnLXJlYWQ6IDEgKG1pbmltdW0p
161 Lgo+ID4gPiAqIGV4ZWN1dGU6IGJldHdlZW4gMSBhbmQgOCAobWF5YmUgbW9yZSkKPiA+ID4gKiB3
162 cml0ZTogMSAobWluaW11bSkKPiA+Cj4gPiBTbyB0aGlzIGlzIGp1c3QgZm9yIHRoZSBwcmVsaW1p
163 bmFyeSB0YXBlb3V0Pwo+Cj4geWVzLCBpbiAxODBubS4gIHdoaWNoIGNhbiBvbmx5IGFjaGlldmUg
164 YSBtYXggb2YgYXJvdW5kIDMwMG1oei4gIGlmIHdlCj4gaGFkIGEgUExMLiAgd2hpY2ggd2UgZG8g
165 bm90LiAgYmVjYXVzZSB3ZSBhcmUgbm90IHNpZ25pbmcgRm91bmRyeSBOREFzLgo+IGFuZCB0aGUg
166 Rm91bmRyeSB3aWxsIG9ubHkgZ2l2ZSB1cyB0aGUgUExMIGJsb2NrIHRoZXkgbm9ybWFsbHkgaGFu
167 ZAo+IG91dC4uLi4gdW5kZXIgTkRBLgo+Cj4gPiBJIHdvdWxkIGV4cGVjdCBhbiBPT08KPiA+IGNv
168 cmUgdGFyZ2V0aW5nIDFHSHorIHRvIGhhdmUgbW9yZSBwaXBlbGluZSBzdGFnZXMgdGhhbiB0aGlz
169 ICgxMCspLiBUaGUKPiA+IEE3MiwgU2t5bGFrZSwgWmVuLCBhbmQgQk9PTSBhbGwgc2VlbSB0byB0
170 YXJnZXQgMTArIHN0YWdlcy4KPgo+IHllcC4gIGFuZCB0aGVzZSBhcmUgYWxsIChleGNlcHQgQk9P
171 TSkgVVNEICQxMDAgbWlsbGlvbiBjdXN0b20gc2lsaWNvbiBkZXNpZ25zLgo+Cj4gPiA+IGJhc2lj
172 YWxseSB0aGlzIGlzIHdoeSB3ZSdyZSBkb2luZyBPb08gYmVjYXVzZSBjb29yZGluYXRpbmcgYWxs
173 IHRoYXQgaW4KPiA+ID4gYW4gaW4tb3JkZXIgc3lzdGVtIHdvdWxkIGJlIGFic29sdXRlIGhlbGwu
174 Cj4gPgo+ID4gSSdtIGEgYml0IGNvbmZ1c2VkIG5vdy4gSW4tb3JkZXIgZXhlY3V0aW9uIHdpdGgg
175 dmFyaWFibGUtbGF0ZW5jeQo+ID4gZnVuY3Rpb25hbCB1bml0cyBjYW4gYmUgYWNoaWV2ZWQgd2l0
176 aCBhIHNjb3JlYm9hcmQsCj4KPiB3aGljaCB3ZSBoYXZlLiAgdXNpbmcgYW4gYXVnbWVudGVkIHZh
177 cmlhbnQgb2YgdGhlIDY2MDAsIHRoYW5rcyB0byBNaXRjaCBBbHN1cC4KPiBodHRwczovL2xpYnJl
178 LXNvYy5vcmcvM2RfZ3B1L2FyY2hpdGVjdHVyZS82NjAwc2NvcmVib2FyZC8KPgo+ID4gYW5kIHRo
179 ZSBwaXBlbGluZQo+ID4gc3RhZ2VzIHlvdSBkZXNjcmliZSByZW1pbmRzIG1lIG9mIGEgaW4tb3Jk
180 ZXIgY29yZSB3aXRoIE9PTyB3cml0ZS1iYWNrLgo+Cj4gcGlwZWxpbmVzIGNhbiBzdGlsbCBiZSB1
181 c2VkIGJlaGluZCBGdW5jdGlvbiBVbml0ICJmcm9udC1lbmRzIi4gIE1pdGNoIEFsc3VwCj4gZGVz
182 Y3JpYmVzIHRoZW0gYXMgIkNvbmN1cnJlbnQgQ29tcHV0YXRpb24gVW5pdHMiLiAgYmFzaWNhbGx5
183 IGlmIHRoZSBwaXBlbGluZQo+IGlzIE4gZGVlcCwgeW91IHB1dCBOLW9yLWdyZWF0ZXIgRnVuY3Rp
184 b24gVW5pdCAiUmVzZXJ2YXRpb24tU3RhdGlvbiIgc3R5bGUKPiBvcGVyYW5kIGxhdGNoZXMgb24g
185 dGhlIGZyb250LCB0aGF0IGdpdmVzIHlvdSB0aGUgYWJpbGl0eSB0byB0cmFjayB0aGUgcGlwZWxp
186 bmUKPiByZXN1bHRzLCBtYXRjaCB0aGVtICpiYWNrKiB1cCB3aXRoIHRoZSBGVSBpbmRleCwgYW5k
187 IHZvaWxhLCB5b3UgaGF2ZQo+IHR1cm5lZCB3aGF0IGlzIG90aGVyd2lzZSBjb25zaWRlcmVkIHRo
188 ZSBleGNsdXNpdmUgZG9tYWluIG9mICJpbi1vcmRlciBwaXBlbGluZSIKPiB0ZXJtaW5vbG9neSBp
189 bnRvIHNvbWV0aGluZyB0aGF0IGZpdHMgaW50byBPb08uCj4KPiA+IElzIHRoaXMgd2hhdCB5b3Ug
190 YXJlIGRvaW5nPwo+Cj4gbm8uCj4KPiA+IE9yIGFyZSB5b3UgcHVyc3VpbmcgdHJ1ZSBPT08gZXhl
191 Y3V0aW9uCj4KPiB5ZXMuCj4KPiA+IHdpdGggcmVnaXN0ZXItcmVuYW1pbmc/Cj4KPiBubyAvIG1p
192 c2xlYWRpbmcgcXVlc3Rpb24uCj4KPiB3ZSBhcmUgdXNpbmcgdGhlIDY2MDAgZGVzaWduLCBmcm9t
193 IDE5NjUuICB0aGlzIGhhcyAiaW1wbGljaXQiCj4gcmVnaXN0ZXItcmVuYW1pbmcgYXV0b21hdGlj
194 YWxseSBidWlsdC1pbiB0byB0aGUgZGVzaWduLiAgdGhlc2UgYXJlIHRoZQo+IEZ1bmN0aW9uIFVu
195 aXQgb3BlcmFuZCBsYXRjaGVzLiAgdGhleSBhcmUgYmVzdCB0ZXJtZWQgIm5hbWVsZXNzCj4gcmVn
196 aXN0ZXJzIiByYXRoZXIgdGhhbiAicmVnaXN0ZXItcmVuYW1pbmciLgo+Cj4gaWYgeW91IGFyZSBm
197 YW1pbGlhciB3aXRoIHRoZSBUb21hc3VsbyBBbGdvcml0aG06IGlmIHlvdSBtYWtlIHRoZQo+IG51
198 bWJlciBvZiBSZXNlcnZhdGlvbiBTdGF0aW9uIFJvd3MgZXF1YWwgdG8gMSwgdGhlbiB0aGUgUlMg
199 bGF0Y2hlcyBhcmUKPiBkaXJlY3RseSBlcXVhbCBhbmQgZXF1aXZhbGVudCB0byBGdW5jdGlvbiBV
200 bml0IG9wZXJhbmQgbGF0Y2hlcywgYW5kCj4gYm90aCBhcmUgaW4gZWZmZWN0ICJyZWdpc3RlciBy
201 ZW5hbWluZyIuLi4gb25seSB0aGUgYmV0dGVyIHRlcm1pbm9sb2d5Cj4gaXMgIm5hbWVsZXNzIHJl
202 Z2lzdGVycyIgb3IgImluLWZsaWdodCByZWdpc3RlcnMgLyByZXN1bHRzIi4KPgo+IGlmIHlvdSBo
203 YXZlIHJlYWQgaGlzIGJvb2sgYW5kIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBsYXN0IHdvcmQgb24K
204 PiBzY29yZWJvYXJkcywgUGF0dGVyc29uIGhhcyBjb21wbGV0ZWx5IGFuZCB1dHRlcmx5IG1pc2lu
205 Zm9ybWVkIHRoZQo+IGdlbmVyYWwgcHVibGljIGFuZCB0aGUgYWNhZGVtaWMgY29tbXVuaXR5IHdp
206 dGggaGlzIGJvb2ssIHJlZ2FyZGluZyB0aGUKPiA2NjAwIGFuZCBzY29yZWJvYXJkcyBpbiBnZW5l
207 cmFsLiAgTWl0Y2ggQWxzdXAgaGFkIHRvIHdyaXRlIHR3bwo+IGFkZGl0aW9uYWwgY2hhcHRlcnMs
208 IGFzIGFuIGFkZGVuZHVtIHRvIEphbWVzIFRob3JudG9uJ3MgYm9vaywgIkRlc2lnbgo+IG9mIGEg
209 Q29tcHV0ZXIiLCBpbiBvcmRlciB0byBjb3JyZWN0IFBhdHRlcnNvbidzIG1pc2luZm9ybWF0aW9u
210 Lgo+Cj4gPiA+IGl0J3MgZG93biB1bHRpbWF0ZWx5IHRvIGhvdyB3aWRlIHRoZSByZWdpc3RlciBw
211 YXRocyBhcmUsIGJldHdlZW4gdGhlCj4gPiA+IFJlZ2ZpbGUgYW5kIHRoZSBGdW5jdGlvbiBVbml0
212 cy4gIGlmIHdlIGhhdmUgbXVsdGlwbGUgUmVnaXN0ZXIgRGF0YQo+ID4gPiBCdXNlcywgYW5kIGNh
213 biBpbXBsZW1lbnQgdGhlIG11bHRpLWlzc3VlIHBhcnQgaW4gdGltZSwgaXQnbGwgYmUgY29kZWQK
214 PiA+ID4gaW4gYSBnZW5lcmFsLXB1cnBvc2UgZW5vdWdoIHdheSB0aGF0IHdlIGNvdWxkIGNvbnNp
215 ZGVyIDQtaXNzdWUuCj4gPiA+IGhvd2V2ZXIuLi4gd2l0aG91dCB0aGUgcmVnaXN0ZXIgZGF0YSBw
216 YXRocywgdGhlcmUncyBubyBwb2ludC4KPgo+ID4KPiA+IEZhaXIgZW5vdWdoLiBCYWxhbmNpbmcg
217 dGhlIHRocm91Z2hwdXQgb2YgYWxsIHRoZSBjb21wb25lbnRzIGluIGEgT09PCj4gPiBjb3JlIGlz
218 IHRyaWNreSwgYW5kIHJlZ2lzdGVyIHJlYWQgY2FuIGNlcnRhaW5seSBiZSBhIGJvdHRsZW5lY2su
219 Cj4KPiB5ZXMuICBzZWUgaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9kL21zZy9jb21wLmFyY2gv
220 cWVNc0U3VXh2bEkvQW13c29tRG9BUUFKCj4gaSBjYW4ndCBmaW5kIHRoZSBkaWFncmFtIGkgZHJl
221 dyBhdCB0aGUgbW9tZW50Li4uIHJlZ2ZpbGUgaSB0aGluay4uLgo+IGFoIHllcyBoZXJlIHlvdSBn
222 bzoKPiBodHRwczovL2xpYnJlLXNvYy5vcmcvM2RfZ3B1L2FyY2hpdGVjdHVyZS9yZWdmaWxlLwo+
223 Cj4gdGhhdCdzIGEgZ2xvYmFsIGN5Y2xpYyBidWZmZXIgYXQgdGhlIHJlZ2ZpbGUgKGFjdHMgYXMg
224 YW4gT3BlcmFuZAo+IEZvcndhcmRpbmcgQnVzKSBhbmQKPiAqbG9jYWwqIGN5Y2xpYyBidWZmZXJz
225 IGF0IHRoZSBGdW5jdGlvbiBVbml0cy4KPgo+ID4gPiBXZSBoYWQgc29tZSB1bmZvcnR1bmF0ZSBy
226 dW4taW5zIHdpdGggQmVya2VsZXkgYW5kIFJJU0NWIC0gYW5kIHdlIGRlY2lkZWQgdG8gZ28gd2l0
227 aCBQT1dFUiBiZWNhdXNlIHdlIGhhdmUgYWNjZXNzIHRvIHNvbWUgaW1wb3J0YW50IHJlbGF0aW9u
228 cyBhdCBJQk0KPiA+Cj4gPiBIYXZlIHlvdSBsb29rZWQgYXQgdGhlIG9wZW4gUklTQy1WIG1pY3Jv
229 LWFyY2hpdGVjdHVyZXMgdGhvdWdoPwo+Cj4geWVzLiAgdGhleSBhcmUgbm93aGVyZSBuZWFyIHRo
230 ZSBsZXZlbCBvZiBjb21wcmVoZW5zaXZlbmVzcyBuZWVkZWQuCj4gcGx1cywgaXQgd291bGQgYmUg
231 aW5jcmVkaWJseSBpcnJlc3BvbnNpYmxlIG9mIHVzIHRvIGJyaW5nIHRvIG1hcmtldCBhCj4gMTAw
232 IG1pbGxpb24gYW5kIGFib3ZlICpsaWJyZSogZGVzaWduIHdoZXJlIHRoZSBtb2RpZmljYXRpb25z
233 IHRvIHRoZQo+IGNvbXBpbGVyLCB0b29sY2hhaW4sIGV2ZXJ5dGhpbmcsIGFsbCBuZWVkZWQgdG8g
234 YmUgdXBzdHJlYW0uCj4KPgo+ID4gRXZlbiBpZgo+ID4gdGhpcyBjb3JlIHJ1bnMgUE9XRVIsIGl0
235 IHNob3VsZCBiZSBub3QgdG9vIGRpZmZpY3VsdCB0byBwb3J0IGRlc2lnbgo+ID4gaWRlYXMgZnJv
236 bSBleGlzdGluZyBjb3JlcywgdG8gYXZvaWQgcmVpbnZlbnRpbmcgdGhlIHdoZWVsIGV2ZXJ5d2hl
237 cmUuCj4KPiBiZWNhdXNlIG9mIHRoZSB3YXkgdGhhdCBTaW1wbGVWIHdvcmtzLCBhbmQgYmVjYXVz
238 ZSB3ZSBuZWVkIHRvCj4gZHJhc3RpY2FsbHkgZXh0ZW5kIHRoZSB0YXJnZXQgSVNBIChQT1dFUjkp
239 IHdpdGggb3Bjb2RlcyB0aGF0IGFyZQo+IGV2ZXJ5ZGF5IGNvbW1vbi11c2FnZSBpbiBHUFVzIChU
240 ZXh0dXJlIE9wcywgU0lOLCBDT1MsIFJHQjJZVVYpLCB3aGlsc3QKPiBvbiB0aGUgZmFjZSBvZiBp
241 dCB0aGUgaWRlYSBzb3VuZHMgInBlcmZlY3RseSByZWFzb25hYmxlIiwgdGhlIGNoYW5nZXMKPiBy
242 ZXF1aXJlZCBhcmUgc28gZnVuZGFtZW50YWwgdGhhdCBzdGFydGluZyBmcm9tIHNvbWVvbmUgZWxz
243 ZSdzIGRlc2lnbgo+IHdvdWxkIHByb2R1Y2UgbWFzc2l2ZSBiYXJyaWVycy4KPgo+IGV4YW1wbGU6
244 IHdlIGhhdmUgY3JlYXRlZCBQYXJ0aXRpb25lZFNpZ25hbCAtIGEgY2xhc3MgdGhhdCBub3QganVz
245 dAo+ICJwZXJmb3JtcyBhZGQgb3BlcmF0aW9ucyIsIGl0IHRha2VzIGFuICphZGRpdGlvbmFsKiAo
246 ZHluYW1pYykKPiBzaWRlLWFyZ3VtZW50IC0gYSBtYXNrIC0gd2hpY2ggKmR5bmFtaWNhbGx5KiBw
247 YXJ0aXRpb25zIHdoYXQgd291bGQKPiBvdGhlcndpc2UgYmUgYSA2NC1iaXQgb3BlcmF0aW9uIGlu
248 dG8gKmFueSogY29tYmluYXRpb24gb2YgOCwgMTYsIDI0LAo+IDMyLCA0MCwgNDggYW5kIDU2IGJp
249 dCBvcGVyYXRpb25zLgo+Cj4gdGhpcyBjbGFzcywgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgcHl0aG9u
250 LCBjYW4gYmUgaGFuZGVkIGluIGFzIGEga2xzIGluCj4gYW4gT2JqZWN0LU9yaWVudGF0ZWQgZmFz
251 aGlvbiwgdG8gKnJlcGxhY2UqIG5taWdlbiBTaWduYWwsIGFuZCB0aHVzIHdlCj4gbWF5IGNvbnN0
252 cnVjdCBjb2RlIHRoYXQgb24gdGhlIGZpcnN0IHVzYWdlIGlzIGEgc2ltcGxlIHBpcGVsaW5lLAo+
253 IGhvd2V2ZXIgd2UgbWF5IHRoZW4gY29udmVydCB0aGF0IEVYQUNUIFNBTUUgQ09ERSBpbnRvIGEg
254 ZHluYW1pYyBTSU1ECj4gdmFyaWFudCBwdXJlbHkgd2l0aCBhIG9uZS1saW5lIGNoYW5nZS4KPgo+
255 IHRoZXNlIGtpbmRzIG9mIHRlY2huaXF1ZXMgYXJlIG5vcm1hbGx5IHRoZSBleGNsdXNpdmUgZG9t
256 YWluIG9mCj4gZXhwZXJpZW5jZWQgU29mdHdhcmUgRW5naW5lZXJpbmcgdGVhbXMuICBmb3IgYSAq
257 aGFyZHdhcmUqIHRlYW0gdG8KPiBkZXBsb3kgdGhlbT8gIHRoaXMgaXMgdW5oZWFyZC1vZiwgYW5k
258 IGlmIGF0dGVtcHRlZCB3aXRoIGV2ZW4gQ2hpc2VsMyAvCj4gU2NhbGEsIHdvdWxkIGhhdmUgdGhl
259 IHRlYW0gcnVubmluZyBhd2F5IHNjcmVhbWluZyB3aXRoaW4gYWJvdXQgNgo+IG1vbnRocy4gIGEg
260 dGVhbSB0aGF0IHdhcyBhc2tlZCB0byBkbyB0aGF0IGluIHZlcmlsb2cgb3IgVkhETCB3b3VsZAo+
261 IGZsYXQtb3V0IHNheSAibm8iLiAgb3IgYXNrIGZvciA1MCBleHRyYSBlbmdpbmVlcnMuICB3aGlj
262 aCwgZm9yIElCTSBvcgo+IEludGVsIG9yIEFSTSBpcyBub3QgdW5yZWFzb25hYmxlLCBidXQgZm9y
263 IHVzIGl0IGlzIG5vdC4KPgo+IGhlbmNlIHdlIHN0YXJ0ZWQgZnJvbSBzY3JhdGNoLCBpbiBvcmRl
264 ciB0byBiZSBhYmxlIHRvIGRlcGxveSB0aGVzZQo+IGtpbmRzIG9mIFNvZnR3YXJlIEVuZ2luZWVy
265 aW5nIHRlY2huaXF1ZXMuCj4KPiBsLgo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
266 X19fX19fX19fX19fX19fX18KPiBsaWJyZS1yaXNjdi1kZXYgbWFpbGluZyBsaXN0Cj4gbGlicmUt
267 cmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwo+IGh0dHA6Ly9saXN0cy5saWJyZS1yaXNj
268 di5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1kZXYKCl9fX19fX19fX19fX19fX19f
269 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJlLXJpc2N2LWRldiBtYWlsaW5nIGxp
270 c3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9yZwpodHRwOi8vbGlzdHMubGli
271 cmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlzY3YtZGV2Cg==
272