Re: [libre-riscv-dev] Introduction and Questions
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sat, 16 May 2020 12:11:56 +0000 (13:11 +0100)
committerlibre-riscv-dev <libre-riscv-dev@lists.libre-riscv.org>
Sat, 16 May 2020 12:12:20 +0000 (13:12 +0100)
38/b374ca3595d21e8004776ced4268cb89ad2a14 [new file with mode: 0644]

diff --git a/38/b374ca3595d21e8004776ced4268cb89ad2a14 b/38/b374ca3595d21e8004776ced4268cb89ad2a14
new file mode 100644 (file)
index 0000000..11a8a86
--- /dev/null
@@ -0,0 +1,195 @@
+Return-path: <libre-riscv-dev-bounces@lists.libre-riscv.org>
+Envelope-to: publicinbox@libre-riscv.org
+Delivery-date: Sat, 16 May 2020 13:12:21 +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 1jZvfw-0006zM-5D; Sat, 16 May 2020 13:12:20 +0100
+Received: from lkcl.net ([217.147.94.29])
+ by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.89) (envelope-from <lkcl@lkcl.net>) id 1jZvfu-0006zG-Q1
+ for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 13:12:18 +0100
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net;
+ s=201607131; 
+ h=Content-Type:To:Subject:Message-ID:Date:From:References:In-Reply-To:MIME-Version;
+ bh=1UFeEwaMyFcMErcePj5hS81RYYyjpHxvwcDJ+4NZxUw=; 
+ b=UdzH2orJlK6I1p1mbFNaUL0hs/JqOoQZZ5kg/8Z1/nS1yRXZhDNc3ZWlS+WiJro5W+6tmZsMhCtlMgbEN+utR2I6tXUJiNmqFnKmHYpTwYXaGc2yo0rrUJMgVdh1x8dcdAkr8j3BEVh9UJ7CHaqfAoS4zR8R1hseYqImGzGnoGE=;
+Received: from mail-lf1-f49.google.com ([209.85.167.49])
+ by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
+ (Exim 4.84_2) (envelope-from <lkcl@lkcl.net>) id 1jZvfu-00074d-Db
+ for libre-riscv-dev@lists.libre-riscv.org; Sat, 16 May 2020 12:12:18 +0000
+Received: by mail-lf1-f49.google.com with SMTP id e125so3268660lfd.1
+ for <libre-riscv-dev@lists.libre-riscv.org>;
+ Sat, 16 May 2020 05:12:02 -0700 (PDT)
+X-Gm-Message-State: AOAM533WIUmIPnI67CrGgsvy+dHmbKZJlzcMq3h04gv9nMAncF/30uwg
+ JpsLJujn/fPM8u3N5m0HVmykOut7vdwSpZ8WZpg=
+X-Google-Smtp-Source: ABdhPJxZZrdt1DiCc+lJtG3VBIuPTeWzAAS9EoLvImmZQfzPykFQdRV/eJnRd5eE8YGQyYWl61tQjRCBqflKuiR+BDQ=
+X-Received: by 2002:a05:6512:31c5:: with SMTP id
+ j5mr5530587lfe.26.1589631117299; 
+ Sat, 16 May 2020 05:11:57 -0700 (PDT)
+MIME-Version: 1.0
+Received: by 2002:a05:6504:31aa:0:0:0:0 with HTTP; Sat, 16 May 2020 05:11:56
+ -0700 (PDT)
+In-Reply-To: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
+References: <CAEoCstQz36UuDJ+ZUgLRJNeQkA=pTfYuzCr+XgF-FJY9+yJsvA@mail.gmail.com>
+From: Luke Kenneth Casson Leighton <lkcl@lkcl.net>
+Date: Sat, 16 May 2020 13:11:56 +0100
+X-Gmail-Original-Message-ID: <CAPweEDxUGqkKbmqDprWvu-Py38nVcZNTh3uyq3eO0V+-FNWCLw@mail.gmail.com>
+Message-ID: <CAPweEDxUGqkKbmqDprWvu-Py38nVcZNTh3uyq3eO0V+-FNWCLw@mail.gmail.com>
+To: Libre-RISCV General Development <libre-riscv-dev@lists.libre-riscv.org>
+X-Content-Filtered-By: Mailman/MimeDel 2.1.23
+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>
+
+aGl5YSBqZXJlbXkganVzdCBjb21pbmcgYmFjayB0byByZXNwb25kIHRvIHRoZSBvcmlnaW5hbCBt
+ZXNzYWdlIHlvdSB3cm90ZSwKY292ZXJpbmcgdGhpbmdzIHdlIG1pc3NlZC4geWVzIGxvdHMgb2Yg
+cXVlc3Rpb25zLCB0aGVyZWZvcmUgbG90cyBvZiBhbnN3ZXJzCjopCgpPbiBGcmlkYXksIE1heSAx
+NSwgMjAyMCwgSmVyZW15IFNpbmdoZXIgPHRoZWpzaW5naGVyQGdtYWlsLmNvbT4gd3JvdGU6Cgo+
+IEhpIGFsbCwKPgo+IE15IG5hbWUgaXMgSmVyZW15IFNpbmdoZXIuIEknbSBhIGdyYWR1YXRlIHN0
+dWRlbnQgc3R1ZHlpbmcgY29tcHV0ZXIKPiBhcmNoaXRlY3R1cmUsIGludGVyZXN0ZWQgaW4gb3Bl
+bi1zb3VyY2UgaGFyZHdhcmUgYW5kIGhpZ2ggcGVyZm9ybWFuY2UKPiBtaWNyb2FyY2hpdGVjdHVy
+ZXMuIEkgYW0gbG9va2luZyBmb3IgYW4gb3Blbi1zb3VyY2UgaGFyZHdhcmUgcHJvamVjdCBJIGNh
+bgo+IGNvbnRyaWJ1dGUgdG8gdGhyb3VnaCB0aGUgY291cnNlIG9mIG15IGdyYWR1YXRlIHN0dWRp
+ZXMsCgoKZ3JlYXQgdG8gaGVhci4gIHdlJ3ZlIGVzdGFibGlzaGVkIHRoYXQgeW91IGtub3cgYSBo
+ZWNrIG9mIGEgbG90IGFib3V0Cm91dC1vZi1vcmRlciBkZXNpZ24gYW5kIGkgY291bGQgcmVhbGx5
+IHVzZSBzb21lIGhlbHAgd2l0aCB0aGUgcHJlY2lzZQpzY29yZWJvYXJkIHN5c3RlbSBhbmQgdGhl
+IEZTTXMgaW4gdGhlIENvbXB1dGF0aW9uIFVuaXRzLgoKeW91IG1heSBoYXZlIG5vdGljZWQgdGhh
+dCB3ZSBoYXZlIGZ1bmRpbmcgZnJvbSBOTE5ldC4gIHRoZXJlZm9yZSBpZiB5b3UKY29tcGxldGUg
+YSB0YXNrIG9uIHRoZSBwcmUtYWdyZWVkIGxpc3QsIHlvdSByZWNlaXZlIGEgZG9uYXRpb24gZnJv
+bSBOTE5ldApmb3IgZG9pbmcgc28uIGh0dHA6Ly9saWJyZS1kb2Mub3JnL25sbmV0CgppLmUgd2Ug
+YXJlIG5vdCBleHBlY3RpbmcgeW91IHRvIGhlbHAgImZvciBmcmVlIiwgb2s/IDopCgoKPiAxLiBJ
+dCBzZWVtcyBsaWtlIHlvdSBndXlzIGFyZSBidWlsZGluZyB2YXJpb3VzIGNvbXBvbmVudHMgb2Yg
+YW4KPiBvdXQtb2Ytb3JkZXIgbWljcm9hcmNoaXRlY3R1cmUsIHN1Y2ggYXMgdGhlIHNjb3JlYm9h
+cmQsIGFuZCBsb2FkLXN0b3JlCj4gb3JkZXJpbmcgdW5pdHMuIERvIHlvdSBoYXZlIGEgY29tcGxl
+dGUgbWljcm9hcmNoaXRlY3R1cmUgZGlhZ3JhbSBvZiB0aGUKPiBjb3JlIChvciBhIHRleHQgZGVz
+Y3JpcHRpb24pPwoKCml0IGlzIHBpZWNlcywgZnJvbSBub3Rlcywgb2Z0ZW4gZHJhd24gYXMgZ2F0
+ZSBsZXZlbCBkaWFncmFtcy4gIG1vcmUgZ2V0CmFkZGVkIGFzIHRoZXkgaGFwcGVuLCBhbmQgdGhl
+eSBhcmUgbW9yZSBhaWRlLW1lbW9pcmUgdGhhdCB3ZSB3aXNoIHRvIGV4cGFuZAp0byBmdWxsIHRl
+Y2huaWNhbCBkZXNpZ24gZG9jdW1lbnRhdGlvbi4KCmV4YW1wbGUsIHRvZGF5LCBpIHBsYW4gdG8g
+ZHJhdyBvdXQgdGhlIHJlZ2lzdGVyIHBvcnQgYWxsb2NhdGlvbnMgdG8gdGhlCkZ1bmN0aW9uIFVu
+aXRzLiAgaW4gdGhlIDE4MG5tIHZlcnNpb24gdGhlcmUgd2lsbCBiZSBhdCBsZWFzdC4uLiAxMApk
+aWZmZXJlbnQgdHlwZXMgb2YgRlVzLCBlYWNoIHdpdGggcmFkaWNhbGx5IGRpZmZlcmVudCByZWdp
+c3RlciBwb3J0CmFsbG9jYXRpb25zICghKS4gaSBuZWVkIHRvIGRvY3VtZW50IHRob3NlLgoKc29t
+ZSBvZiB0aGVtIGFyZSBhcyBoaWdoIGFzIDUgaW4sIDMgb3V0LiAgZm9ydHVuYXRlbHkgdGhleSBh
+cmUgYWNyb3NzCm11bHRpcGxlIGRpZmZlcmVudCByZWdmaWxlcyAod2UgdHJlYXQgU1BScywgQ29u
+ZGl0aW9uIFJlZ3MsIElOVCBhbmQgRlAgYXMKY29tcGxldGVseSBkaWZmZXJlbnQgYW5kIGNvbnNl
+cXVlbnRseSB0aGUgRlUgcG9ydCByZXF1aXJlbWVudHMgYXJlIG5vdCBhcwpkZWVwbHkgc2Nhcnkg
+YXMgdGhleSBmaXJzdCBzb3VuZDogd2UgZG8gbm90IG5lZWQgdG8gZ28gYWJvdmUgNFIxVyBmb3Ig
+YW55Cm9uZSBhY3R1YWwgcmVnZmlsZSkKCmFsc28gaW4gcGFydGljdWxhcmx5IGludm9sdmVkIGNh
+c2VzIGkgaGF2ZSBkb25lIHlvdXR1YmUgdmlkZW9zCmh0dHA6Ly95b3V0dWJlLmNvbS91c2VyL2xr
+Y2wgYW5kIGxvb2sgYXQgbGlicmVzb2MgcGxheWxpc3QuCgpzZWUgaHR0cDovL2xpYnJlLXNvYy5v
+cmcvM2RfZ3B1L2FyY2hpdGVjdHVyZSBhbmQgZHJpbGwgZG93biB0aGUgbGV2ZWxzCnRoZXJlLgoK
+CiBJIGNvdWxkIGZpbmQgYml0cyBhbmQgcGllY2VzIG9uIHNwZWNpZmljCj4gY29tcG9uZW50cywK
+Cgp0aGlzIGJlY2F1c2UgdGhhdCBpcyBvdXIgY3VycmVudCBmb2N1cy4KCgo+IGJ1dCBJJ20gaW50
+ZXJlc3RlZCBpbiBkZXRhaWxzIGxpa2UgcGlwZWxpbmUgd2lkdGgsCgoKPgogdGhlIDE4MG5tIEFT
+SUMgd2lsbCBsaWtlbHkgaGF2ZSBhcm91bmQuLi4gMjAgc2VwYXJhdGUgYW5kIGRpc3RpbmN0Cihw
+YXJhbGxlbCkgRnVuY3Rpb24gVW5pdCBlbnRyeSBwb2ludHMgaW50byBhcm91bmQuLi4gMTAgdG8g
+MTIgdHlwZXMgb2YKcGlwZWxpbmUuCgpmb3IgYSAxODBubSBBU0lDIHRoYXQgaXMgb25lIGhlbGwg
+b2YgYSBsb3QuCgpmb3IgdGhlIFF1YWQgQ29yZSBkdWFsIGlzc3VlIHZlcnNpb24gdGhhdCB3aWxs
+IGp1bXAgdG8gYXJvdW5kLi4uIDI4LgoKCgpkZXB0aCwKPiBicmFuY2gtdG8tYnJhbmNoIGxhdGVu
+Y3ksIGxvYWQtdXNlIGRlbGF5LCBldGMuCgoKd2UgYXJlIGxpdGVyYWxseSBpbiB0aGUgcHJvY2Vz
+cyBvZiBhc3NlbWJsaW5nIHRoZSBwaWVjZXMsIGZvciB0aGUgMTgwbm0KdGVzdCBjaGlwLiAgY29u
+c2VxdWVudGx5IHRoaXMgaXMgYmVjb21pbmcgYXBwYXJlbnQgYXMgZWFjaCBwaWVjZSBpcyBwdXQK
+dG9nZXRoZXIuCgppbiBvdGhlciB3b3JkcyB3ZSBhcmUgcmlnaHQgYXQgdGhlIHBvaW50IHdoZXJl
+IHlvdXIgaGVscCBjb3VsZCBkZWZpbmUgc29tZQpvZiB0aG9zZSBjaGFyYWN0ZXJpc3RpY3MuCgoK
+Cj4gMi4gSXMgdGhlIFNvQyBhdCBhIHN0YXRlIGF0IHdoaWNoIEkgY2FuIGV2YWx1YXRlIHBlcmZv
+cm1hbmNlIG9uIHNpbXBsZQo+IGJlbmNobWFya3MgaW4gc2ltdWxhdGlvbj8KCgphcyBhIHB5dGhv
+bi1iYXNlZCBwcm9qZWN0IHdlIGhhdmUgYSBodWdlIG51bWJlciBvZiB1bml0IHRlc3RzLCB5b3Ug
+ZWl0aGVyCnJ1biB0aGVtIGRpcmVjdGx5IG9yIHlvdSB1c2Ugbm9zZXRlc3RzMwoKd2UgYXJlIHN0
+aWxsIGNvbnN0cnVjdGluZyBidWlsZGluZyBibG9ja3MgKHJhcGlkbHkpIHNvIGNvbnNlcXVlbnRs
+eSB0aGUKaW5kaXZpZHVhbCB0ZXN0cyBhcmUgdGhlIGZvY3VzIG9mIGRldmVsb3BlciBhdHRlbnRp
+b24uCgoKPiAgT3RoZXIgc2ltaWxhciBvcGVuLXNvdXJjZSBoYXJkd2FyZSBwcm9qZWN0cyBoYXZl
+Cj4gbWFrZSB0YXJnZXRzIHRvIGxhdW5jaCB2ZXJpbGF0b3Igc2ltdWxhdGlvbnMsIGJ1dCBJIGNv
+dWxkIG5vdCBmaW5kIGFuCj4gZXF1aXZhbGVudCBpbiB5b3VyIHJlcG9zIChhbHRob3VnaCBJIHBy
+b2JhYmx5IGFtIGp1c3QgYmFkIGF0IGxvb2tpbmcpLgoKCnRob3NlIHdpbGwgYmUgYWRkZWQgd2hl
+biBjb21waWxhdGlvbiBvZiB0aGUgd2hvbGUgY2hpcCBpcyByZWFkeSB0byBkbyBzby4KRlBHQSB0
+YXJnZXRzIGV0Yy4gdGhlc2Ugd2lsbCBpbmRlZWQgZ28gYXQgdGhlIHRvcCBsZXZlbC4KCmhvd2V2
+ZXIgYXMgd2UgdXNlIGEgcHl0aG9uLWJhc2VkIEhETCwgcHl0aG9uIHByYWN0aWNlcyBhcHBseSBh
+bmQgdGhhdAp0eXBpY2FsbHkgbWVhbnMgInB5dGhvbjMgc2V0dXAucHkgdGVzdCIgb3IgIm5vc2V0
+ZXN0czMiIG1vcmUgdGhhbiBpdCBtZWFucwoibWFrZSB0ZXN0IiBhbHRob3VnaCB0aGF0IGkgdGhp
+bmsgd2FzIGFkZGVkIGludG8gdGhlIHNvYyB0b3AgbGV2ZWwgTWFrZWZpbGUuCgoKPiAzLiBXaGF0
+IGlzIHlvdXIgdGFyZ2V0IHBlcmZvcm1hbmNlIGluIHRlcm1zIG9mIGFuIGVzdGFibGlzaGVkIGJl
+bmNobWFyawo+IGxpa2UgQ29yZW1hcmssIERocnlzdG9uZSwgRW1iZW5jaCwgb3IgU1BFQz8KCgpy
+ZWFsbHkgaGFyZCB0byB0ZWxsIHJpZ2h0IG5vdy4gdGhlIHByaW1hcnkgZm9jdXMgaXMgbW9yZSBv
+biBkZXNpZ25pbmcKc29tZXRoaW5nIHRoYXQgaXMgR1BVIENhcGFibGUuICB0aGF0IGlzIHN1Y2gg
+YSBoaWdoIHBlcmZvcm1hbmNlIGFuZCBkYXRhCnJlcXVpcmVtZW50IHRoYXQgaSB0aGluayBoaWdo
+IFNQRUMgZXRjIGZpZ3VyZXMgd2lsbCBpbmhlcmVudGx5IGRyb3Agb3V0LgoKCgo+ICBJJ20gdHJ5
+aW5nIHRvIGNvbXBhcmUgdGhlCj4gbWVyaXRzIGFuZCBwcm9ncmVzcyBvZiB2YXJpb3VzIGhhcmR3
+YXJlIHByb2plY3RzIG91dC10aGVyZS4KCgp0aGlzIG9uZSBpcy4uLiB0aGUgcmVhc29ucyB3aHkg
+d2UgYXJlIGFsbCBoZXJlIGFyZSBub3QgdGVjaG5pY2FsIG9uZXMsCmFsdGhvdWdoIGl0IGlzIGZh
+c2NpbmF0aW5nIGJ1dCBkZWVwbHkgY2hhbGxlbmdpbmcgd29yay4KCnRoZSBkcml2aW5nIHJlYXNv
+bnMgYXJlIHRoYXQgdGhlcmUgYXJlIG5vIFNvQ3Mgb3V0IHRoZXJlIGF0IHRoaXMgbGV2ZWwgb2YK
+ZGVkaWduIGNhcGFiaWxpdHkgKHF1YWQgY29yZSBkdWFsIGlzc3VlIFNNUCBhbmQgM0QgYW5kIFZQ
+VSwgYW5kIHRoZXJlIGlzIG5vCnJlYXNvbiB3aHkgd2Ugc2hvdWxkIG5vdCB0cnkgcXVhZCBvciA2
+IGlzc3VlLCBhbmQgMS41IGdoeiBhbmQgYWJvdmUsIGxhdGVyKQp0aGF0IGhhdmUgYSBmdWxsIExp
+YnJlIFNvZnR3YXJlIHN0YWNrLCBpbnRlbmRlZCByaWdodCBmcm9tIHRoZSBzdGFydCBmb3IKMTAw
+IG1pbGxpb24gYW5kIGFib3ZlIG1hc3Mgdm9sdW1lIGVuZCB1c2VyIG1hcmtldHMuCgpob3dldmVy
+IGV2ZW4gdGhhdCBtYXNrcyBhIHNpbXBsZXIgd2F5IHRvIHB1dCBpdDoKCndlJ3JlIGdpdmluZyBj
+aXRpemVucyBiYWNrIFNvdmVyZWlnbiBjb250cm9sIG92ZXIgdGhlaXIgY29tcHV0aW5nIGRldmlj
+ZXMuCgppZiB0aGF0IHNvdW5kZWQgIm1lcmVseSIgY29vbCBhYm91dCA0IG1vbnRocyBhZ28sIHlv
+dSB3aWxsIGJlIGtlZW5seSBhd2FyZQp3aXRoIGEgbGl0dGxlIHRob3VnaHQgYW5kIGFuYWx5c2lz
+IG9mIHRoZSB3b3JsZCBuZXdzIHRoYXQgdGhhdCBpcyBub3cgbm90Cmp1c3QgY29vbCwgaXQgaXMg
+ZGVlcGx5ICp1cmdlbnQqLgoKbm8gb3RoZXIgTGlicmUgcHJvamVjdCBpcyBjcmVhdGluZyBhbiBl
+bmQtdXNlciBwcm9kdWN0IHdpdGggYSBidWlsdCBpbgoqTGlicmUqIEdQVSBhbmQgVlBVIGZvciB1
+c2UgaW4gbWFzcyB2b2x1bWUgcHJvZHVjdHMuCgoqIFNpRml2ZSBqb2luZWQgZm9yY2VzIHdpdGgg
+SW1nVGVjIHRvIHVzZSBQb3dlclZSLiB3aHkgb24gZWFydGggdGhleSBkaWQKdGhpcyB3aGVuIElt
+Z1RlYyBoYXMgc3VjaCBhIGRyZWFkZnVsIHJlcHV0YXRpb24gd2Ugd2lsbCBuZXZlciBrbm93LgoK
+KiBNSUFPVyBpcyBhIFNJTVQgZW5naW5lLCBub3QgYW4gYWN0dWFsIEdQVS4gdGhlcmUgYXJlIG5v
+IFRleHR1cmUgb3Bjb2RlcywKbm90aGluZyBsaWtlIHRoYXQ6IHRoZXkgaW1wbGVtZW50ZWQgYSB2
+ZXJ5IHNtYWxsIHN1YnNldCBvZiB0aGUgQU1ER1BVIElTQSwKYmFzaWNhbGx5LgoKKiBOeXV6aSBp
+cyBhbiBhY2FkZW1pYyBleGVyY2lzZSBkZW1vbnN0cmF0aW5nIHdoeSBMYXJyYWJlZSB3YXMgbm90
+IGFkZXF1YXRlCmFzIGEgR1BVLiBpdCB3YXMgaGlnaGx5IHN1Y2Nlc3NmdWwgaW4gdGhpcyByZWdh
+cmQuCgoqIEdQTEdQVSBpcyBub3QgYWN0dWFsbHkgR1BMIGxpY2Vuc2VkIChpdHMgYXV0aG9yIGF1
+Z21lbnRlZCB0aGUgR1BMLCBtYWtpbmcKaXQgYSBwcm9wcmlldGFyeSBsaWNlbnNlKSwgYW5kIGl0
+IGlzIGJhc2VkIG9uIFBMQU45IHdoaWNoIHdhcyBhIGZpeGVkCmZ1bmN0aW9uIChub24tc2hhZGVy
+KSBkZXNpZ24gY29uY2VwdCBhbnl3YXkuCgp0aGVyZWZvcmUsIGV2ZW4gYSBMaWJyZSAqR1BVKiBk
+b2VzIG5vdCBleGlzdCB0aGF0IGNhbiBtZWV0IGNvbW1lcmNpYWwKcG93ZXItcGVyZm9ybWFuY2Ug
+ZXhwZWN0YXRpb25zIG9mIHRvZGF5J3MgbWFya2V0cy4KCgoKPiA0LiBXaGF0IGlzIHRoZSByaWdo
+dCB3YXkgdG8gZ2V0IHN0YXJ0ZWQgY29udHJpYnV0aW5nPwoKCm5leHQgc3RlcCBpcyBwcm9iYWJs
+eSB0byByZWFkIGh0dHA6Ly9saWJyZS1zb2MvSERMX3dvcmtmbG93IHRvIGdldCBhIGZlZWwKZm9y
+IGhvdyB0byBnZXQgc3RhcnRlZCwgd2hhdCB0aGUgaW50ZXJhY3Rpb24gYW5kIGRldmVsb3BtZW50
+IGZsb3cgaXMuCgoKPiAgTXkgZXhwZXJpZW5jZSBpcyB3aXRoCj4gVmVyaWxvZywgYW5kIEkndmUg
+bG9va2VkIGF0IG90aGVyIGxhbmd1YWdlcyB0b28sIGluY2x1ZGluZyBCU1YgYW5kIENoaXNlbC4K
+CgpqdXN0IGZvbGxvdyB0aGUgcHJvY2VzcyBzdGVwIGJ5IHN0ZXAgb24gdGhlIGZyb250IHBhZ2Uu
+ICB5b3UgZGlkIHN0ZXAgMSA6KQoiam9pbiBsaXN0LCBzYXkgaGVsbG8iLgoKaWYgeW91IGFyZSBu
+b3QgaW1tZWRpYXRlbHkgZmFtaWxpYXIgd2l0aCBubWlnZW4gdGhlcmUgYXJlIHR1dG9yaWFscyB0
+aGUKYmVzdCBvbmUgaXMgYnkgcm9iZXJ0IGJhcnVjaApodHRwczovL2dpdGh1Yi5jb20vUm9iZXJ0
+QmFydWNoL25taWdlbi10dXRvcmlhbC9ibG9iL21hc3Rlci9SRUFETUUubWQKCmZyb20gdGhlcmUg
+d2UncmUgaGFwcHkgdG8gZ2l2ZSB5b3UgYSBzbWFsbCAodXNlZnVsKSB0YXNrLCBsaWtlIHRoaXM6
+Cmh0dHBzOi8vYnVncy5saWJyZS1zb2Mub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTYKCmV2ZW4ganVz
+dCByZWFkaW5nIHRoYXQsIHlvdSB3aWxsIHNlZSBzb21lIG9mIHRoZSBnb3RjaGFzIHRvIGV4cGVj
+dC4KCmJ0dywgQ29sZSBhIGZldyBtb250aHMgYWdvIGtuZXcgdmlydHVhbGx5IG5vdGhpbmcgYWJv
+dXQgc29mdHdhcmUKZGV2ZWxvcG1lbnQsIG9yIGxpbnV4LCBvciBoYXJkd2FyZSwgb3IgcHl0aG9u
+LiBvciBnaXQuICBmb3IgYSB0b3RhbApiZWdpbm5lciBhbmQgaSBkbyBtZWFuIHRvdGFsLCBoZSdz
+IGRvaW5nIHJlYWxseSB3ZWxsLiBpJ20ga2luZGEgc2VyaW91c2x5CmltcHJlc3NlZC4KCgpJJ20g
+cHJpbWFyaWx5IGludGVyZXN0ZWQgaW4gZGV2ZWxvcGluZyBtaWNyb2FyY2hpdGVjdHVyZSBmb3IK
+PiBwZXJmb3JtYW5jZS1jcml0aWNhbCBjb21wb25lbnRzLCBsaWtlIGJyYW5jaCBwcmVkaWN0b3Jz
+LCBwcmVmZXRjaGVycywKPiBpbnN0cnVjdGlvbiBzY2hlZHVsZXJzLCBhbmQgbG9hZC1zdG9yZSB1
+bml0cy4KCgpnb29vZC4gIGJlY2F1c2UgdGhvc2UgYXJlIGV4YWN0bHkgdGhlIHRoaW5ncyB0aGF0
+IHdlIG5lZWQgaGVscCB3aXRoLCBxdWl0ZQp1cmdlbnRseS4KCgoKSWRlYWxseSwgSSBjb3VsZCBj
+b250cmlidXRlCj4gbXkgd29yayBhcyBwYXJ0IG9mIGdyYWR1YXRlIHN0dWRpZXMgdG8gdGhpcyBw
+cm9qZWN0LgoKCmZhbnRhc3RpYy4gIHJlbWVtYmVyOiBhbmQgcmVjZWl2ZSBkb25hdGlvbnMgZnJv
+bSBOTE5ldCBmb3IgZG9pbmcgc28gOikKCmwuCgoKCi0tIAotLS0KY3Jvd2QtZnVuZGVkIGVjby1j
+b25zY2lvdXMgaGFyZHdhcmU6IGh0dHBzOi8vd3d3LmNyb3dkc3VwcGx5LmNvbS9lb21hNjgKX19f
+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlzY3Yt
+ZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCmh0
+dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNjdi1k
+ZXYK
+