From: Luke Kenneth Casson Leighton Date: Fri, 24 Jul 2020 16:53:12 +0000 (+0100) Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4048e8e26929b6706be52e196d0b3c4a426a5c86;p=libre-riscv-dev.git Re: [libre-riscv-dev] system call (sc) LEV "reserved field" --- diff --git a/69/18b5c9ba79670c9ad74535318bcec937a10f6a b/69/18b5c9ba79670c9ad74535318bcec937a10f6a new file mode 100644 index 0000000..8e209ea --- /dev/null +++ b/69/18b5c9ba79670c9ad74535318bcec937a10f6a @@ -0,0 +1,224 @@ +Return-path: +Envelope-to: publicinbox@libre-riscv.org +Delivery-date: Fri, 24 Jul 2020 17:53:38 +0100 +Received: from localhost ([::1] helo=libre-riscv.org) + by libre-soc.org with esmtp (Exim 4.92) + (envelope-from ) + id 1jz0wz-0002vs-7s; Fri, 24 Jul 2020 17:53:37 +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.92) (envelope-from ) id 1jz0wx-0002vZ-E5 + for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 17:53:35 +0100 +DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lkcl.net; + s=201607131; + h=Content-Type:Cc:To:Subject:Message-ID:Date:From:References:In-Reply-To:MIME-Version; + bh=9sIIeYutOk4Nz8v6gDsb/j/L3SKHfzUvwLN6jUoHMuc=; + b=QnrxLbrsaxNBv9s7DGYnZ3AbOsen6I/PrskmpbAZnR40TXNJYCEFnOGAc6YtPiovBewdqDvE/tbvUovdHEwOGFdtbbEe2vZb49/jcVdikBMCb/M6s5qqm2h0uc+8iZ/QG69fA8KpM/wN0aY1amLXqjmsEf/+qTp4iox8N36RqG0=; +Received: from mail-lf1-f44.google.com ([209.85.167.44]) + by lkcl.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) + (Exim 4.84_2) (envelope-from ) id 1jz0ww-0004oA-Qb + for libre-riscv-dev@lists.libre-riscv.org; Fri, 24 Jul 2020 16:53:35 +0000 +Received: by mail-lf1-f44.google.com with SMTP id 140so5546343lfi.5 + for ; + Fri, 24 Jul 2020 09:53:19 -0700 (PDT) +X-Gm-Message-State: AOAM532wj+vNUU8adwrjavfjoggkRyxuZsXFC1DzPpTEiUjSpVBZ892d + dU+Ad/ZiVYYXNhwgAF0DGQxNXJuipktK8b01YMg= +X-Google-Smtp-Source: ABdhPJxlSom0FpkcQehqN0BT+PuLPopTT3gtjUDdvnecfkAFW3fuyo4uTSeIrkVepjbxNpBHKD4yzWbgE0rkL7Klv00= +X-Received: by 2002:a19:c206:: with SMTP id l6mr5456150lfc.152.1595609593593; + Fri, 24 Jul 2020 09:53:13 -0700 (PDT) +MIME-Version: 1.0 +Received: by 2002:a05:6504:702:0:0:0:0 with HTTP; Fri, 24 Jul 2020 09:53:12 + -0700 (PDT) +In-Reply-To: +References: + <20200722224713.GA213782@thinks.paulus.ozlabs.org> + + + + +From: Luke Kenneth Casson Leighton +Date: Fri, 24 Jul 2020 17:53:12 +0100 +X-Gmail-Original-Message-ID: +Message-ID: +To: Benjamin Herrenschmidt +X-Content-Filtered-By: Mailman/MimeDel 2.1.23 +Subject: Re: [libre-riscv-dev] system call (sc) LEV "reserved field" +X-BeenThere: libre-riscv-dev@lists.libre-riscv.org +X-Mailman-Version: 2.1.23 +Precedence: list +List-Id: Libre-RISCV General Development + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Reply-To: Libre-RISCV General Development + +Cc: "openpower-hdl-cores@mailinglist.openpowerfoundation.org" + , + Libre-RISCV General Development +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" + +T24gVGh1cnNkYXksIEp1bHkgMjMsIDIwMjAsIEJlbmphbWluIEhlcnJlbnNjaG1pZHQgPGJlbmhA +a2VybmVsLmNyYXNoaW5nLm9yZz4Kd3JvdGU6Cgo+IE9uIFRodSwgMjAyMC0wNy0yMyBhdCAwNTox +NiArMDEwMCwgTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbiB3cm90ZToKPiA+Cj4gPiB3aGF0 +IGkgaGF2ZSBvYnNlcnZlZCAoYWdhaW4gdGhpcyBpcyBmcm9tIFJJU0NWKSwgZm9yIGluc3RydWN0 +aW9ucwo+ID4gdGhhdCBjYW4gYmUgInNhZmVseSBpZ25vcmVkIiBhcmUgb2YgYSAiaGludCIgdHlw +ZS4KPgo+IFNlZSB3aGF0IFBhdWwgc2FpZC4uLiB0aGUgaWRlYSBpcyB0aGF0IGFueSBjaGFuZ2Ug +dG8gYW4gZXhpc3RpbmcKPiBpbnN0cnVjdGlvbiB0aGF0IG1ha2VzIHVzZSBvZiBmb3JtZXJseSBy +ZXNlcnZlZCBiaXRzIG5lZWRzIHRvIGJlIGRvbmUKPiBpbiBzdWNoIGEgd2F5IHRoYXQgdGhlIGln +bm9yaW5nIHRoZSBiaXRzIGlzIGEgY29ycmVjdCBpbXBsZW1lbnRhdGlvbi4KCgp0aGlzIHdvcmtz +IHdlbGwgaWYgZXh0cmVtZWx5IGNhcmVmdWxseSBtYW5hZ2VkLCBhbmQgcGxhbm5lZCB3ZWxsIGlu +IGFkdmFuY2UuCgphdCBubyB0aW1lIGNhbiB0aGUgbmV3IGZ1bmN0aW9uYWxpdHkgc3RlcCAqdXAq +IG9yIG90aGVyd2lzZSBiZSBhbnl0aGluZwpvdGhlciB0aGFuIGFuIG9wdGltaXNhdGlvbi4KCklu +IHByYWN0aWNlIHRoYXQgb2Z0ZW4gbWVhbnMgdGhlIG5ldyBiaXRzIGFyZSBpbmRlZWQgaGludHMs +CgoKdGhpcyBpcyBhbiBhY2NpZGVudGFsIGRpc2NvdmVyeSEgIGkgaGFkIG5vdCBtZWFudCB0aGVt +IHRvIGJlIGNvbnNpZGVyZWQKImhpbnRzIiBob3dldmVyIG5vdyB0aGF0IHlvdSBtZW50aW9uIGl0 +LCBpdCBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KCmx3c3luYyB3b3VsZCBmYWxsIGludG8gdGhpcyBj +YXRlZ29yeS4KCiBidXQgbm90Cj4gYWx3YXlzLCBzZWUgUGF1bCBleGFtcGxlIGFib3V0IG1mb2Ny +Zi4KCgppbmRlZWQuICBhbHRob3VnaCBpdCBtYWtlcyBtZSBuZXJ2b3VzLCB0aGF0IDIvMiBjYXNl +cyBxdW90ZWQgaGF2ZSBrbm93bgppc3N1ZSB3aGVyZSB0aGV5IGRpZCBub3QgZ28gYXMgcGxhbm5l +ZC4KCmkgYW0gZ3Vlc3NpbmcgdGhhdCBtdG1zciBMPTAvMSBtYXkgYWxzbyBoYXZlIGJlZW4gZXh0 +ZW5kZWQgYXQgc29tZSBwb2ludD8KdGhhdCBpbiBhbiBlYXJsaWVyIHZlcnNpb24gb2YgdGhlIHNw +ZWMgaXQgd2FzIG9ubHkgTD0wPwoKCgo+ID4gaS5lLiBvbGQgc3luYyBpcyBhICJzdXBlcnNldCIg +b2YgbHdzeW5jPwo+Cj4gc3luYyBpcyBhIG1lbW9yeSBiYXJyaWVyLiBsd3N5bmMgaXMgYSBsaWdo +dGVyIHdlaWdodCB2ZXJzaW9uIG9mIGl0LCBzbwo+IHllcywgc3luYyBpcyBhIHN1cGVyc2V0IG9m +IGx3c3luYy4KCgpvaywgZ29vZC4gIHNvIGl0IGlzIGFuIG9wdGltaXNhdGlvbi4gIGFzIGEgImhp +bnQiIHR5cGUgaXQgd291bGQgYmUgInNhZmUiCgpoaW50cyBhcmUgb25seSBzYWZlIHRvIGFkZCBw +cmVjaXNlbHkgYmVjYXVzZSB0aGV5IGFyZSBkZWNsYXJlZCBpbiBhZHZhbmNlIC0KbG9uZyBiZWZv +cmUgYW55b25lIGV2ZW4gaW1wbGVtZW50cyB0aGUgdmVyeSBmaXJzdCBpbXBsZW1lbnRhdGlvbiBv +ZiB0aGUKdmVyeSBmaXJzdCBjb3JlIC0gdG8gaGF2ZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0 +eSwgbWVyZWx5IGFuIG9wcG9ydHVuaXR5CmZvciBwZXJmb3JtYW5jZSBvcHRpbWlzYXRpb24uCgoK +PiA+IGJpdCBkaWQgbm90IG1hdHRlciwgdGhlIHRyYXAgd291bGQgY2FsbCB0aGUgYWx0ZXJuYXRp +dmUgc3luYwo+ID4gaW5zdHJ1Y3Rpb24sIGFuZCByZXR1cm4gZnJvbSB0aGUgdHJhcC4KPgo+IFRo +ZSBwZXJmb3JtYW5jZSBpbXBhY3Qgb2YgdGhpcyB3b3VsZCBtYWtlIGl0IGVudGlyZWx5IHVudXNh +YmxlIGhvd2V2ZXIuCgoKaW4gdGhhdCBleGFtcGxlLCB5ZXMuICBtb3N0IHVuZm9ydHVuYXRlLgoK +Cgo+Cj4gPiBpIGRvIG5vdCBrbm93IHRoZSBmdWxsIHN0b3J5IGFib3V0IHdoYXQgRlNMIGlzOiB3 +aXRob3V0IGtub3dpbmcgdGhlCj4gPiBkZXRhaWxzIGkgc3VzcGVjdCB0aGF0IGEgdHJhcCAqY291 +bGQqIGhhdmUgc29ydGVkIHRoaW5ncyBvdXQsIHRoZXJlLAo+ID4gKmlmKiB0aGUgb2xkZXIgcHJv +Y2Vzc29yIHdhcyByZXF1aXJlZCB0byByYWlzZSAiaWxsZWdhbCBpbnN0cnVjdGlvbiIKPgo+IEZT +TCBpcyBGcmVlc2NhbGUuCgoKYWhoIG9rLgoKCj4KPgoKU29tZSB2YXJpYW50cyBvZiB0aGVpciBl +bWJlZGRlZCBjb3JlcyBkaWQgdHJhcCwgd2hpY2gKPiBmb3JjZWQgdGhlIGtlcm5lbCB0byBkbyBz +b21lIG5hc3R5IGR5bmFtaWMgcGF0Y2hpbmcgYXQgcnVudGltZSB0byBnZXQKPiByaWQgb2YgbHdz +eW5jJ3Mgb24gdGhlc2UuCgoKYSBsb3ctZ3JhZGUgdmVyc2lvbiBvZiBKSVQgdHJhbnNsYXRpb24s +IHdoaWNoIGlzIG9uZSBzb2x1dGlvbi4gIGV4cGVuc2l2ZSwKYnV0IGEgc29sdXRpb24uCgphbHRo +b3VnaCBpIGhhdmUgdG8gYXNrIHdoeSwgZm9yIEVtYmVkZGVkLCB0aGV5IGRpZCBub3QganVzdCBy +ZWNvbXBpbGUgdGhlCnNvdXJjZSBjb2RlLCBjdXN0b21pc2VkIGZvciB0aGF0IGVuZHVzZXIgYXBw +bGljYXRpb24uCgpob3dldmVyIHRoaXMgYWxzbyBhY3R1YWxseSBpbGx1c3RyYXRlcyBwcmVjaXNl +bHkgd2h5IGkgbWVudGlvbmVkIHRoYXQgZm9yCmJlc3QgcmVzdWx0cywgYSBzcGVjIGhhcyB0byBo +YXZlIGRpZmZlcmVudCBwbGF0Zm9ybSBiZWhhdmlvdXIgZm9yIEVtYmVkZGVkCmFzIGNvbXBsZXRl +bHkgc2VwYXJhdGUgYW5kIGRpc3RpbmN0IGZyb20gVU5JWC4KCnRoZSBydWxlcyBmb3IgRW1iZWRk +ZWQgaW4gUklTQ1Ygc3RhdGUgdGhhdCB0cmFwcyBhcmUgKm5vdCogbmVlZGVkIGZvcgppbGxlZ2Fs +IGluc3RydWN0aW9ucyAoaXQgaXMgdXAgdG8gYW4gaW1wbGVtZW50b3IgdG8gZGVjaWRlIGlmIHRo +ZXkgd2lzaCB0bwphZGQgdGhlbSkuICB0aGUgQ29uZm9ybWFuY2UgVGVzdCBTdWl0ZSBkb2VzICpu +b3QqIHRlc3QgZm9yIGlsbGVnYWwKaW5zdHJ1Y3Rpb25zLgoKdGhpcyBvbiB0aGUgYmFzaXMgdGhh +dCBFbWJlZGRlZCBNYXJrZXRzIGFyZSB0eXBpY2FsbHkgb25lLW9mZiBkZXBsb3ltZW50LAp3aGVy +ZSB0aGUgdG9vbGNoYWluIGFuZCBhbGwgYnVpbGQgc291cmNlIGlzICJzbmFwc2hvdHRlZCIgYXQg +cHJvZHVjdApyZWxlYXNlIHRpbWUsIHVzZWQgaW50ZXJuYWxseSBhbmQgdGhlIHNvdXJjZSBjb2Rl +IGFuZCB0b29sY2hhaW4gYWxtb3N0Cm5ldmVyIHNlZSB0aGUgbGlnaHQgb2YgZGF5LiAgbWFpbmxp +bmUgdXBncmFkZXMgYXJlIGV4Y2VwdGlvbmFsbHkgcmFyZS4KCmV4YW1wbGVzIGluY2x1ZGUgVHJp +bmFtaWMgU3RlcHBlciBBU0lDcywgd2hpY2ggYWN0dWFsbHkgaGl0IHRoZSBzaGVsdmVzCmV2ZW4g +YmVmb3JlIFJJU0NWIFN0YW5kYXJkaXNhdGlvbiB3YXMgcmF0aWZpZWQuCgp0aGUgYmluYXJpZXMg +YXJlIGluIFJPTS4gIHdoYXRldmVyIHRyYXAgc3BlYyBpbmNvbXBhdGliaWxpdHkgd2l0aCAiTGF0 +ZXN0CmFuZCBHcmVhdGVzdCIgYXJlIHV0dGVybHkgaXJyZWxldmFudCBmb3IgdGhlbSBhbmQgdGhl +aXIgY3VzdG9tZXJzLgoKCnNvIGluIHRoYXQgY29udGV4dCwgaSBhbSBzbGlnaHRseSBjb25mdXNl +ZCB0byBoZWFyIHRoYXQgZm9yIEZyZWVzY2FsZQoqRW1iZWRkZWQqIHByb2Nlc3NvcnMgdGhhdCB0 +aGVyZSBpcyBldmVuIGEgYmluYXJ5IGluY29tcGF0aWJpbGl0eSBwcm9ibGVtCndpdGggbHdzeW5j +ICphdCBhbGwqLgoKaWYgeW91IGhhdmUgdGltZSBpJ2QgbG92ZSB0byBoZWFyIG1vcmUsIHdoYXQn +cyB0aGUgc3RvcnkgdGhlcmU/CgoKCgo+ID4gYnV0IGJlY2F1c2UgdGhlIGJpdCBpcyBpZ25vcmVk +LCB0aGVyZSBpcyBubyB3YXkgdGhhdCBjYW4gYmUgZG9uZS4KPgo+IEJ1dCB0aGF0J3MgZmluZSBi +ZWNhdXNlICJzeW5jIiBpcyBhIHN0cmljdCBzdXBlcnNldCBzbyBpZ25vcmluZyB0aGUgYml0Cj4g +d29ya3MganVzdCBmaW5lLgoKCmluIHRoaXMgY2FzZSwgeWVzLgoKCgo+Cj4gPiBzbyB3aGlsc3Qg +b24gdGhlIGZhY2Ugb2YgaXQsIGx3c3luYyAqc291bmRzKiBsaWtlIGEgY291bnRlcmV4YW1wbGUs +Cj4gPiBpbnN0ZWFkIChjYXZlYXQsIGkgZG8gbm90IGtub3cgd2hhdCBGU0wgaXMpLCBpdCBzZWVt +cyBtb3JlIHRvIHN1cHBvcnQKPiA+IHRoZSBjYXNlICpmb3IqIHVzZSBvZiByZXNlcnZlZCBiaXRz +IHJhaXNpbmcgaWxsZWdhbCBpbnN0cnVjdGlvbnMgW29uCj4gPiBVTklYIHBsYXRmb3Jtc10KPgo+ +IEkgZmFpbCB0byBmb2xsb3cgeW91ciBsb2dpYy4gVGhlIHRyYXAgY2FzZSBpcyBhIGNvbXBsZXRl +IG5vbi1zdGFydGVyCj4gZm9yIGFuIGluc3RydWN0aW9uIG1lYW50IHRvIGJlIGEgbGlnaHR3ZWln +aHQgbWVtb3J5IGJhcnJpZXIuCgoKb2sgZ2l2ZW4gdGhhdCBpdCBpcyBhICJoaW50IiB0eXBlIGFu +ZCBub3QgcXVpdGUgc3VpdGVkIHRvICJyZXNlcnZlZCIgd2UgYXJlCm5vdyBhdCBjcm9zcyBwdXJw +b3Nlcy4KCmFuZCwgYWxzbywgaXQgaXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBoYXBwZW5zIHRvIGdh +dmUsIGFzIG9uZSBvZiBpdHMKcmVxdWlyZW1lbnRzLCB0byBiZSAibGlnaHR3ZWlnaHQiIGluIG9y +ZGVyIHRvIGJlIHVzZWZ1bC4KClRoZQo+IHRyYW5zcGFyZW50ICJmYWxsYmFjayIgdG8gYSBmdWxs +IG1lbW9yeSBiYXJyaWVyIG9uIHRoZSBjb250cmFyeSB3b3Jrcwo+IGZpbmUuIFRoZXJlIGlzIG5l +dmVyIGFueSBjYXNlIHdoZXJlICJ0cmFwcGluZyBhbiBlbXVsYXRpbmciIGlzIHRoZQo+IGRlc2ly +ZWQgYmVoYXZpb3VyLgoKCmluZGVlZC4uLiBpbiB0aGlzIHZlcnkgc3BlY2lhbCBjYXNlIHRoYXQg +d2UgaGF2ZSBlc3RhYmxpc2hlZCwgYnkgaXQKZWZmZWN0aXZlbHkgYmVpbmcgYSAiaGludCIsIGZh +bGxzIGNvbXBsZXRlbHkgb3V0c2lkZSBvZiB3aGF0IGkgYW0gY29uY2VybmVkCmFib3V0CgoKPgo+ +ID4KPiA+ID4gPiBpZiBob3dldmVyIHJlc2VydmVkIGJpdHMgYmVpbmcgc2V0IGNhdXNlIGFuIGV4 +Y2VwdGlvbiwgdGhlICJvbGQiCj4gPiA+ID4gcHJvY2Vzc29yIHN0YW5kcyBhIGNoYW5jZSBvZiBl +bXVsYXRpbmcgdGhlIG5ldyBiZWhhdmlvdXIgKGluCj4gPiA+ID4gc29mdHdhcmUsIGV2ZW4gaWYg +dGhhdCdzIHNsb3cpLCBnaXZpbmcgaXQgYSBjaGFuY2Ugb2Yga2VlcGluZyBvdXQKPiA+ID4gb2YK +PiA+ID4gPiBsYW5kZmlsbCBmb3Igc2xpZ2h0bHkgbG9uZ2VyLgo+ID4gPgo+ID4gPiBXaGljaCBp +cyB3aHkgcG93ZXJwYyB0ZW5kcyBub3QgdG8gImFkZCBiaXRzIiB0byBpbnN0cnVjdGlvbnMgdW5s +ZXNzCj4gPiA+IGlnbm9yaW5nIHRoZW0gaXMgYSBzYWZlIGZhbGxiYWNrLgo+ID4KPiA+IGFzIHdl +IGNhbiBzZWUgYWJvdmUsIHRoZSBleGFtcGxlIHRoYXQgd2FzIGdpdmVuICBzaG93cyB0aGF0IHRo +aXMgaXMgYQo+ID4gcHJvYmxlbWF0aWMgYXBwcm9hY2guCj4KPiBJIGZhaWwgdG8gdW5kZXJzdGFu +ZCB0aGUgInByb2JsZW0iIGluIHlvdXIgZXhhbXBsZSwgbWF5YmUgeW91IGNhbgo+IHJlcGhyYXNl +IGl0ID8KCgp3ZSd2ZSBpZGVudGlmaWVkIHRoYXQgbHdzeW5jIGlzIGEgImhpbnQiIHNvIGNhbiBk +aXNjb3VudCBpdC4KCmknbGwgbmVlZCB0byB0YWtlIHNvbWUgbW9yZSB0aW1lIHRvIHRoaW5rIGFi +b3V0IGl0LiAgYWxzbywgaXQgcmVxdWlyZXMKZXhwbGFpbmluZyB0aGUgY29udGV4dC4KCk9wZW5Q +T1dFUiBpcywgdW5kZXIgdGhlIGF1c3BpY2VzIG9mIHRoZSBGb3VuZGF0aW9uLCBpIGdhdGhlciBh +aW1pbmcgZm9yCm11Y2ggd2lkZXIgYWRvcHRpb24gd2hpbHN0IGFsc28gcmV0YWluaW5nIHRoZSBy +ZXB1dGF0aW9uIGZvciBwZXJmb3JtYW5jZQphbmQgc3RhYmlsaXR5LCAqYW5kKiBhbGxvd2luZyBm +b3IgZXh0ZW5zaW9ucyBhbmQgY3VzdG9taXNhdGlvbiB1bmRlciB0aGUKc3Rld2FyZHNoaXAgb2Yg +dGhlIEZvdW5kYXRpb24uCgp3aXRoIHNvIGZldyBtZW1iZXJzIHVzaW5nIFBPV0VSIHVwIHRvIHRo +aXMgcG9pbnQsIHRoZXJlIGhhcyBiZWVuIGxpdHRsZSBpbgp0aGUgd2F5IG9mIGNvbmZsaWN0IGJl +Y2F1c2UgdGhlcmUgaXMgbm8gInB1bGxpbmcgaW4gZGlmZmVyZW50IGRpcmVjdGlvbnMiCmFuZCwg +YXMgUGF1bCBwb2ludGVkIG91dCwgYSBsb3Qgb2YgY2FyZSBhbmQgdGhvdWdodCBoYXMgZ29uZSBp +bnRvIGFueQp1cGdyYWRlcy4KCmxvb2tpbmcgZm9yIGNvbXBhcmlzb25zIC0gZXhhbXBsZXMgZnJv +bSB0aGUgcGFzdCAtIGlzIHRoZXJlZm9yZSBhY3R1YWxseQpnb2luZyB0byBiZSBkaWZmaWN1bHQu +CgoKPiA+IGkgaGF2ZSBub3Qgc3BlbGxlZCBpdCBvdXQgZXhwbGljaXRseSwgc2Vla2luZyBpbnN0 +ZWFkIHRvIHVzZSBsb2dpY2FsCj4gPiByZWFzb25pbmcgcmF0aGVyIHRoYW4gbWFrZSBjYXRlZ29y +aWNhbCBzdGF0ZW1lbnRzLCBidXQgdGhpcyBpcwo+ID4gYWN0dWFsbHkgYSByZWFsbHkgc2VyaW91 +cyBwcm9ibGVtLgo+Cj4gQWdhaW4sIGV4cGVyaWVuY2Ugc2VlbXMgdG8gaW5kaWNhdGUgdGhpcyBp +cyBub3QgYXMgbG9uZyBhcyB0aGUKPiBkZWZpbml0aW9uIG9mIHRoZSBhcmNoaXRlY3R1cmUgaXMg +Y2FyZWZ1bCBpbiBob3cgdGhlIHJlc2VydmVkIGJpdHMgZ2V0Cj4gYWxsb2NhdGVkIGluIHRoZSBm +dXR1cmUuCgoKaWYgdGhleSBhcmUgZ2VudWluZWx5IHN5bm9ueW1vdXMgd2l0aCAoZWZmZWN0aXZl +bHkpIGEgImhpbnQiIHRoZW4gdGhlcmUgaXMKYWJzb2x1dGVseSBubyBwcm9ibGVtIGF0IGFsbC4u +LiAqYXMgbG9uZyBhcyogdGhlIGVudGlyZSBhcmVhIGhhcyBiZWVuCmRlY2xhcmVkIGZ1bGx5IGFu +ZCB3ZWxsIGluIGFkdmFuY2UgdGhhdCBpdCBpcyBvZiB0eXBlICJoaW50Ii4KCmZvciBleGFtcGxl +IG10bXNyIEw9MSAod2hpY2ggaSBhbSBhc3N1bWluZyBwZXJoYXBzIGluY29ycmVjdGx5IHdhcyBh +ZGRlZApsb25nIGFmdGVyIEw9MCwgaXMgdGhhdCBjb3JyZWN0PyBpZiBub3QgbGV0IHVzIGFzc3Vt +ZSBoeXBvdGhldGljYWxseSB0aGF0Cml0IHdhcykgYWJzb2x1dGVseSBpbiBubyB3YXkgZmFsbHMg +aW50byB0aGUgInNhZmUiIGNhdGVnb3J5IGJlY2F1c2UgaXQKZGFtYWdlcyBiaXRzIG9mIE1TUiB1 +bmV4cGVjdGVkbHkuICBvciBvbmx5IHVwZGF0ZXMgc29tZSBvZiB0aGVtLgoKaW4gdGhpcyAoaHlw +b3RoZXRpY2FsPykgY2FzZSwgbW9kZXJuIHNvZnR3YXJlIHJ1bm5pbmcgb24gYW4gb2xkZXIgVU5J +WApQbGF0Zm9ybSBwcm9jZXNzb3IgdGhhdCBvbmx5IHN1cHBvcnRlZCBMPTEgY291bGQgKm9ubHkq +IHNvcnQgdGhpbmdzIG91dAoqaWYqIGEgdHJhcCB3YXMgdGFrZW4uCgphbmQgeWV0IHRoZSBzcGVj +IGV4cGxpY2l0bHkgc2F5cywgImRvbid0IGJvdGhlciIsIHdoaWNoIGlzICpndWFyYW50ZWVkKiB0 +bwpjYXVzZSBwcm9ibGVtcy4KCgpTQyBoYXZpbmcgTEVWID4gMSBpbiB0aGUgZnV0dXJlIGlzIGFs +c28gYSBzcGVjaWFsIGNhc2UgYmVjYXVzZSBpdCBpcwoqYWxyZWFkeSogcmFpc2luZyBhIHRyYXAu +ICBubyBleHRyYSBjb3N0LCB0aGVyZS4gIHRoaW5ncyBjYW4gYmUgc29ydGVkCm91dC4uLi4gaW4g +dGhlIHRyYXAuCgoKCj4gPiBpbiBvdGhlciB3b3JkcyB0aGUgYXBwcm9hY2ggb2YgaWdub3Jpbmcg +cmVzZXJ2ZWQgYml0cyBoYXMgb25seSB3b3JrZWQKPiA+IChmb3IgdGhlIHBhc3QgMjAgeWVhcnM/ +KSBiZWNhdXNlIElCTSwgcmVhbGlzdGljYWxseSwgaXMgdGhlIG9ubHkKPiA+IChub24tRW1iZWRk +ZWQpIGltcGxlbWVudG9yIG9mIFVOSVggUGxhdGZvcm0gcHJvY2Vzc29ycy4KPgo+IFRoYXQgd2Fz +bid0IGFsd2F5cyB0cnVlIGFuZCBzdGlsbCBkaWRuJ3QgYmVjb21lIGEgcHJvYmxlbS4KPgo+IEFn +YWluLCBJIHJlYWxseSBmYWlsIHRvIHNlZSB0aGUgc21va2luZyBndW4geW91IHNlZW0gdG8gYmUg +aW1wbHlpbmcKPiB0aGVyZSBpcy4KCgpubyBndW4uCgppdCBpcyB0aGF0IHRoaW5ncyBoYXZlIGNo +YW5nZWQsIG5vdy4KCndoZXJlIGJlZm9yZSB0aGUgc3BlY2lmaWNhdGlvbiBjb3VsZCBiZSBtYW5h +Z2VkIGJ5IGEgZmV3IHZlbmRvcnMsIGZvciBhIGZldwp2ZW5kb3JzIChtYW5hZ2VkIGV4dHJlbWVs +eSB3ZWxsKSB0aGUgaW50ZW50aW9uIGFzIGkgdW5kZXJzdGFuZCBpdCBpcyB0bwpleHBhbmQgdGhl +IHJlYWNoIG9mIE9wZW5QT1dFUiwgYW5kIGFsbG93IGRvemVucyBpZiBub3QgaHVuZHJlZHMgb2YK +aW1wbGVtZW50b3JzIHRvIHBhcnRpY2lwYXRlIGluIGl0cyBvbmdvaW5nIGV2b2x1dGlvbiwganVz +dCBhcyBpcyBkb25lIHdpdGgKUklTQ1YuCgp1bmRlciBzdWNoIGNoYW5nZWQgY2lyY3Vtc3RhbmNl +IGl0IGlzIHdlbGwga25vd24gYW5kIHdlbGwgZXN0YWJsaXNoZWQgdGhhdAppdCBpcyAqbm90IHNh +ZmUqIHRvIGhhdmUgcmVzZXJ2ZWQgYml0cyAqbm90KiB0aHJvdyBleGNlcHRpb25zIG9uIHRoZSBV +TklYClBsYXRmb3JtLgoKYmVhciBpbiBtaW5kIHRoYXQgd2UgZXN0YWJsaXNoZWQgdGhhdCBsd3N5 +bmMgaXMgYSAiaGludCIsIGFuZCB0aGF0IGhpbnRzCiphcmUqIHNhZmUgdG8gYWRkIChhcyBsb25n +IGFzIHRoZSBhdmFpbGFibGUgcmFuZ2UgaXMgcmVzZXJ2ZWQgZnVsbHksIGluCmFkdmFuY2UpIGFu +ZCBkbyBub3QgYW5kIHNob3VsZCBub3QgcmFpc2UgZXhjZXB0aW9ucyBiZWNhdXNlIHRoZXkgYXJl +CnBlcmZvcm1hbmNlIG9wdGltaXNhdGlvbnMuCgpsLgoKCgotLSAKLS0tCmNyb3dkLWZ1bmRlZCBl +Y28tY29uc2Npb3VzIGhhcmR3YXJlOiBodHRwczovL3d3dy5jcm93ZHN1cHBseS5jb20vZW9tYTY4 +Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpYnJlLXJp +c2N2LWRldiBtYWlsaW5nIGxpc3QKbGlicmUtcmlzY3YtZGV2QGxpc3RzLmxpYnJlLXJpc2N2Lm9y +ZwpodHRwOi8vbGlzdHMubGlicmUtcmlzY3Yub3JnL21haWxtYW4vbGlzdGluZm8vbGlicmUtcmlz +Y3YtZGV2Cg== +