Return-path: Envelope-to: publicinbox@libre-riscv.org Delivery-date: Wed, 06 May 2020 01:24:13 +0100 Received: from localhost ([::1] helo=libre-riscv.org) by libre-soc.org with esmtp (Exim 4.89) (envelope-from ) id 1jW7rA-0004C3-DF; Wed, 06 May 2020 01:24:12 +0100 Received: from mail-wm1-f44.google.com ([209.85.128.44]) by libre-soc.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1jW7r8-0004Bx-Lu for libre-riscv-dev@lists.libre-riscv.org; Wed, 06 May 2020 01:24:10 +0100 Received: by mail-wm1-f44.google.com with SMTP id 188so525603wmc.2 for ; Tue, 05 May 2020 17:24:10 -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; bh=tWuXAHmioQeWJ7f+ppKZOYrxKUAAla7N47WfxlIGJAM=; b=aX1JI8WtUnX2uj1OIAC6GHp86qc8w1JGRKm7TlQ5cVfTB7nCrvxJkXPC9PRtDJtL58 zlQSDozcdGln+5APpIv6x9ceKliOGuCrAnNsm4MGSXgeTtd5sXfsMcnzsg9dRmquFODu +PaD49gXyP6AgLIw2Kfst7FDa2aIzvdAy/ezzSGSsYh+Cdx+Ycr9I9OgVgRIpFoowV1m 4TWVJO8u1JD3XTpEhH1JtligYLBWJpjH42xhKi/Eyv5kZ21jIkFzG14ABWGUPjM+Zu3M cfYn7e2T0CGUb/JeZ7aqFPybl50cUZSFiBCFoWYOyD9jIT81GuxEc8YvAsib6B5kwoG+ ttyA== 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; bh=tWuXAHmioQeWJ7f+ppKZOYrxKUAAla7N47WfxlIGJAM=; b=MrIXaxI6YoBLFr/asT6s7hJtJDF8YaCyRNGDwdkIUXq63zyH+B+l5yVDOR4OjT6ALw CezV6TK1XlYQ+dJwaJxzp+FNLYJYf31oyoRr+WF6h48fVrPoRCbXGdU+AxhgGkV1IdZp H1GIvW74EazrPznMKNQdyARKstbzPCa+BeD+xWWuxdKEGh1AKJ/47wmeQ7dY/R9rX0tt NrOvV0pUgYf7fZEX0z9ZZnqVunnFnWolUb7gpDoGEpG02o83FOz9uQ/WV314ulaKiLzo QYIgA01n86HqymboK6F/tFRzycBQnB8h7jTiQW9o1fdtjlXmY3kwURvQ3zhxYUykj9NL fAaA== X-Gm-Message-State: AGi0PubvxSykgjJbfQOWoXNRia3ambKFKCchBjZrpgpZYyvj95mGKRV4 VdCKUwi6kXrk6rRjvP2dsvH2RSg2u6wcfiB1xlzoWBE/ X-Google-Smtp-Source: APiQypLBGNnI2OAHZ/nWbeYPUfsOyl4d77ku8pg8+roK0bg3kpRXpyT8Fqv0t6DuGfkiAekOkAg0Jwv7uVk88RZP8Vo= X-Received: by 2002:a1c:5448:: with SMTP id p8mr1198564wmi.173.1588724650159; Tue, 05 May 2020 17:24:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jacob Lifshay Date: Tue, 5 May 2020 17:23:59 -0700 Message-ID: To: Libre-RISCV General Development Subject: Re: [libre-riscv-dev] load/store execution queue idea 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 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" V2lsbCByZXNwb25kIHRvIGFsbCB0aGVzZSBjb25jZXJucyBsYXRlciwgb25jZSB0aGVyZSBpcyBt b3JlIGZyZWUgdGltZS4KCk9uIEZyaSwgTWF5IDEsIDIwMjAgYXQgNDoyNSBBTSBMdWtlIEtlbm5l dGggQ2Fzc29uIExlaWdodG9uCjxsa2NsQGxrY2wubmV0PiB3cm90ZToKPgo+IE9uIEZyaSwgTWF5 IDEsIDIwMjAgYXQgMzo1NCBBTSBKYWNvYiBMaWZzaGF5IDxwcm9ncmFtbWVyamFrZUBnbWFpbC5j b20+IHdyb3RlOgo+Cj4gPiBJIGZpbGxlZCBvdXQgc29tZSBub3RlcyBvbiBteSBsb2FkL3N0b3Jl IGV4ZWN1dGlvbiBxdWV1ZSBpZGVhIGhlcmU6Cj4gPiBodHRwczovL2xpYnJlLXNvYy5vcmcvM2Rf Z3B1L2FyY2hpdGVjdHVyZS9hbHRlcm5hdGl2ZS1kZXNpZ24taWRlYS8KPgo+IGV4Y2VsbGVudC4K Pgo+ID4gVGhlIGRlc2lnbiBzaG91bGQgYmUgc3VpdGFibGUgZm9yIHRoZSBmaW5hbCAyOG5tIFNv QyBhbmQgc2hvdWxkIGJlCj4gPiBhYmxlIHRvIGV4ZWN1dGUgNCBsb2FkcyBvciA0IHN0b3JlcyBv ciA0IEFNT3Mgb3IgNCBmZW5jZXMgcGVyIGN5Y2xlLAo+ID4gY29tcGxldGVseSBhZGp1c3RhYmxl IHRvIHNvbWUgb3RoZXIgbnVtYmVyIGlmIHdlIGRlc2lyZS4gVGhpcyB0b3RhbGx5Cj4gPiByZXBs YWNlcyB0aGUgbWVtb3J5IGRlcGVuZGVuY3kgbWF0cml4Lgo+Cj4gaG1tLiAgIHRoZSBNRE0gaXMg c3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIGlkZW50aWZ5IHNlcGFyYXRlIGFuZAo+IGRpc3RpbmN0 IExELWJhdGNoZXMgZnJvbSBTVC1iYXRjaGVzIGZyb20gQXRvbWljLWJhdGNoZXMsIGluIGFuCj4g ZXh0cmVtZWx5IGdhdGUtZWZmaWNpZW50IGZhc2hpb24uICB3ZSBkb24ndCBuZWVkIFRTTywgd2Ug anVzdCBuZWVkIHRvCj4gcHJlc2VydmUgdGhlIG9yZGVyIG9mIGJhdGNoZXMgKGFuZCBhbHNvIGlk ZW50aWZ5IG92ZXJsYXBzKS4KPgo+Cj4gPiBPbmUgZG93bnNpZGUgaXMgaXQgZG9lc24ndAo+ID4g c3VwcG9ydCBmb3J3YXJkaW5nIGZyb20gc3RvcmVzIHRvIGxhdGVyIGxvYWRzIHdpdGhvdXQgZ29p bmcgdGhyb3VnaAo+ID4gdGhlIEwxIGNhY2hlLgo+Cj4gdGhhdCdzIG9rLgo+Cj4gb2ssIGEgY3Jp dGljYWwgYXNwZWN0IHRvIHVuZGVyc3RhbmQgYWJvdXQgQ29tcHV0YXRpb25hbCBVbml0czogdGhl eSBkbwo+ICpub3QqIHByb2NlZWQgdW50aWwgdGhlICJwdXJwb3NlIiB0aGF0IHRoZXkgbWFuYWdl IGlzIGVudGlyZWx5IGZpbmlzaGVkLgo+IHRoZXkgdGhlbiAqbm90aWZ5KiB0aGUgRGVwZW5kZW5j eSBNYXRyaWNlcyB0aGF0IHRoZSAicmVzdWx0IiBpcyBkb25lCj4gKGF2YWlsYWJsZSksIGFuZCAq dGhlbiogdGhleSBkcm9wIHRoZWlyICJidXN5IiBmbGFnLCByZWFkeSBmb3IgcmUtdXNlIGZvcgo+ IGFub3RoZXIgb3BlcmF0aW9uLgo+Cj4gdGhpcyBpcyB0aGUgdG90YWwgb3Bwb3NpdGUgb2YgYSBw aXBlbGluZSBvciBxdWV1ZSwgd2hlcmUgeW91IGNodWNrIGRhdGEKPiBhdCBpdCwgYWJkaWNhdGUg cmVzcG9uc2liaWxpdHkgZm9yIGl0cyBtYW5hZ2VtZW50LCBhbmQgYXQgc29tZSBhcmJpdHJhcnkK PiBwb2ludCBpbiB0aGUgZnV0dXJlLCB0aGUgcmVzdWx0IGNvbWVzIG91dCwgYnV0IGJ5IHRoYXQg dGltZSBldmVyeXRoaW5nCj4gaGFzIG1vdmVkIG9uLgo+Cj4gYW4gb3V0LW9mLW9yZGVyIHNjaGVk dWxpbmcgc3lzdGVtICpjYW5ub3QqIC0gaW4gYW55IHdheSAtIHBlcm1pdCB0aGF0Cj4gdG8gaGFw cGVuLiAgdGhlIHJlc3VsdHMgd291bGQgYmUgY2F0YXN0cm9waGljLgo+Cj4gdGhlcmVmb3JlIGlu IHRoZSBBTFUgQ29tcHV0YXRpb25hbCBVbml0cyB3aGljaCBtYW5hZ2UgYSBwaXBlbGluZQo+IChv ciBwaXBlbGluZXMpLCB3ZSAqbXVzdCogaGF2ZSBlcXVhbCBvciBncmVhdGVkIENvbXBVbml0cyB0 aGFuCj4gdGhlcmUgaXMgcGlwZWxpbmUgZGVwdGguCj4KPiAqIGdyZWF0ZXIgdGhhbiB0aGF0IGlz IG9rOiBpbnN0cnVjdGlvbnMgd2lsbCBiZSBhYmxlIHRvIHJ1biBhaGVhZC4KPiAgIHRoZSBERVNJ UkUgdG8gcnVuIGluc3RydWN0aW9ucyAoYW5kIHRoZSBvcmRlciBhcyBhIERBRykgaXMKPiAgIHJl Y29yZGVkLCBob3dldmVyIHRoZWlyIEFDVFVBTCBleGVjdXRpb24gbXVzdCB3YWl0IHVudGlsCj4g ICB0aGVyZSBpcyBhIGZyZWUgcGlwZWxpbmUgc2xvdC4KPiAqIGxlc3MgdGhhbiB0aGF0IGlzIE5P VCByZWFsbHkgb2sgKGEgd2FzdGUgb2Ygc2lsaWNvbikgYmVjYXVzZSB0aGVyZQo+ICAgaXMgbm90 IGVub3VnaCB0byB0cmFjayB0aGUgcHJvZ3Jlc3Mgb2YgZWFjaCBhbmQgZXZlcnkgb3BlcmF0aW9u Cj4gICBnb2luZyB0aHJvdWdoIGVhY2ggYW5kIGV2ZXJ5IHBpcGVsaW5lIHN0YWdlLgo+Cj4gd2hl biBpdCBjb21lcyB0byBtYW5hZ2luZyBNZW1vcnksIHRoZSBpbXBsaWNhdGlvbnMgYXJlIGFzIGZv bGxvd3M6Cj4KPiAqIHRvIGhhdmUgbW9yZSBMRC9TVCBDb21wdXRhdGlvbiBVbml0cyB0aGFuIHRo ZXJlIGFyZSAiQ2VsbHMiCj4gICBpcyBsaWtld2lzZSBvay4gIGluc3RydWN0aW9ucyB3aWxsIGJl IGFibGUgdG8gcnVuIGFoZWFkLgo+ICogdG8gaGF2ZSBMRVNTIExEL1NUIENVcyB0aGFuIHRoZXJl IGFyZSAiQ2VsbHMiIGlzICpOT1QqIG9rLAo+ICAgYmVjYXVzZSB0aGUgQ29tcHV0YXRpb25Vbml0 cyB3aWxsIE5FVkVSUlJSUiBpc3N1ZSBhCj4gICBMRCBvciBTVCB1bnRpbCBpdCBrbm93cyAtIGFi c29sdXRlbHkgYW5kIHdpdGhvdXQgYW55IHNoYWRvdyBvZgo+ICAgZG91YnQgLSB0aGF0IHRoZSBv cGVyYXRpb24gaXQgbW9uaXRvcnMgaGFzIDEwMCUgYWJzb2x1dGUgZ3VhcmFudGVlZAo+ICAgY29t cGxldGVkLgo+Cj4gc28gdGhhdCdzIHJlYWxseSBjcnVjaWFsIGluZm9ybWF0aW9uIHRoYXQgaGFz IGltcGxpY2F0aW9ucyBmb3IgdGhlCj4gZGVzaWduIG9mIHRoZSBMRC9TVCBCdWZmZXIsIGltcG9y dGFudCBhcyBjb250ZXh0LCBiZWxvdy4KPgo+Cj4gbm90ZXM6Cj4KPiAxKSB0aGUgY2VsbCBhcnJh bmdlbWVudCBzdGlsbCBuZWVkcyBhbiA4LWlucHV0ICg4IExEL1NUIENvbXB1dGF0aW9uIFVuaXRz KQo+IHRvIDQtb3V0cHV0IChoZWFkIG9mIGVhY2ggImNvbHVtbiIgb2YgZWFjaCBxdWV1ZSkgbXVs dGlwbGV4ZXIuCj4gdW5sZXNzIGkndmUgbWlzdW5kZXJzdG9vZCwgdGhhdCBhbG9uZSBpcyBhIGtp bGxlci4KPgo+IGRyb3BwaW5nIGVhY2ggb2YgdGhlIDgtaW5wdXQgcXVldWUgZW50cmllcyBpbnRv IHRoZSBmaXJzdCA4IGNlbGxzICp0aGVuKgo+IHBlcmZvcm1pbmcgc2hpZnRpbmcsICp0aGF0KiBp cyBva2F5LiAgYnV0IGFsbG93aW5nIGVhY2ggYW5kIGV2ZXJ5IHNpbmdsZQo+IG9uZSBvZiB0aG9z ZSA4IExEL1NUIENvbXBVbml0cyB0byB3cml0ZSB0byBjZWxscyAwLTQ/IHRoZSB3aXJpbmcgYWxv bmUKPiBpcyBpbnNhbmUuCj4KPiBhc3N1bWUgMTI4IGJpdHMgcGVyIG9wZXJhdGlvbiAoNDggYWRk cmVzcywgNjQgZGF0YSwgc29tZSBjb250cm9sIGxpbmVzCj4gbGV0J3Mgcm91bmQgaXQgdXAgdG8g MTI4IGJpdHMpOiB3aXRoIDEyOC13aWRlIGRhdGEgcGF0aHMgdGltZXMgOCBMRC9TVAo+IENvbXAg VW5pdHMgdGltZXMgKjQqIHRvIGJlIGFibGUgdG8gYXJiaXRyYXJpbHkgd3JpdGUgdG8gYW55IG9u ZSBvZgo+IDQgInRvcCByb3ciIGNlbGxzPyAgdGhhdCdzIGEgTUFTU0lWRSA0MDk2IHdpcmVzIQo+ Cj4gd2UgY2FuJ3QgcG9zc2libHkgaGF2ZSB0aGF0IG1hbnkgd2lyZXMuCj4KPiBpZiB5b3UgbWVh bnQgdGhhdCB0aGUgcXVldWUgd2lkdGggc2hvdWxkIG1hdGNoIHRoZSBudW1iZXIgb2YgTEQvU1QK PiBVbml0cyAtIDgtd2lkZSBiZWNhdXNlIHdlIG5lZWQgOCBMRC9TVCBDb21wVW5pdHMgKHdlIG1p Z2h0IGJlCj4gYWJsZSB0byBnZXQgYXdheSB3aXRoIG9ubHkgNikgLSB0aGVuIHRoZSByZW1haW5p bmcgZW50cmllcyB3aWxsIGFjdHVhbGx5Cj4gcmVtYWluIHBlcm1hbmVudGx5IGVtcHR5LCBiZWNh dXNlIHRoZXJlICpoYXMqIHRvIGJlIGEgZGlyZWN0Cj4gb25lLXRvLW9uZSBtYXRjaCBiZXR3ZWVu IExEL1NUIENvbXBVbml0cyBhbmQgdGhlIExEL1NUIHRoYXQKPiBpdCAibWFuYWdlcyIuCj4KPiBz byB0aGVyZSB3b3VsZCBvbmx5IGJlIDggTEQvU1RzLCBhbmQgYSByb3cgZGVwdGggb2YgMS4KPgo+ IGlmIGhvd2V2ZXIgd2UgZG8gMi1wb3J0cyBwZXIgQ29tcFVuaXQgKHRvIGNvdmVyIG1pc2FsaWdu ZWQpLCB0aGVuIHRoZXJlCj4gd291bGQgYmUgYW4gOC13aWRlIGJ5IDItcm93IGFycmFuZ2VtZW50 IG9mIENlbGxzLgo+Cj4gd2l0aCBvbmx5IGEgQ2VsbCBEZXB0aCBvZiAxIG9yIDIsIHRoZSBwdXJw b3NlICpvZiogdGhlIENlbGxzIGlzIGRlZmVhdGVkCj4gZW50aXJlbHkuICB0aGVyZSdzIG5vIG5l ZWQgZm9yIHNoaWZ0aW5nOiB0aGUgZW50cmllcyBtaWdodCBhcyB3ZWxsIHN0YXkKPiB3aGVyZSB0 aGV5IGFyZS4KPgo+IHRoaXMgcGFydGljdWxhcmx5IGJlY2F1c2UgZXZlbiBmb3IgdGhlICJtaXNh bGlnbm1lbnQiIGNhc2UsIHRoZSBMRC9TVAo+IENvbXBVbml0IGlzICpORVZFUlJSKiBnb2luZyB0 byBwbGFjZSBhbnl0aGluZyBvdGhlciB0aGFuIHRoZQo+IDIgcmVxdWVzdHMgaXQgaXMgcmVzcG9u c2libGUgZm9yIGludG8gdGhlIHF1ZXVlOgo+Cj4gKiBmaXJzdCBvbmUgY292ZXJpbmcgdGhlIGxv d2VyIHBhcnQgb2YgdGhlIG1pc2FsaWduZWQgcmVxdWVzdAo+ICogc2Vjb25kIG9uZSBjb3Zlcmlu ZyB0aGUgdXBwZXIgcGFydC4KPgo+IG5vIG1hdHRlciBob3cgbWFueSBjb2x1bW5zIChhc3N1bWlu ZyB0aGF0IHRoZXJlIGlzIG9uZQo+IHBlciBMRFNUQ1UpIGFsbCBvdGhlciByb3dzICp3aWxsKiBy ZW1haW4gZW1wdHkuCj4KPiBhbmQgaWYgdGhlIGNvbHVtbnMgYXJlIGhhbHZlZCAoNCB3aWRlIHRv IGNvdmVyIDggTEQvU1QgQ1VzKQo+IG5vdyB3ZSBoYXZlIGEgbXVjaCBtb3JlIHNlcmlvdXMgcHJv YmxlbTogdGhlIHRvdGFsIGRhdGEgYmFuZHdpZHRoCj4gaXMgc2hydW5rIHRvIG9ubHkgNHggNjQt Yml0IG9wZXJhdGlvbnMgKmFuZCogdGhlcmUgaXMgYSBtdWx0aXBsZXhpbmcKPiBwcm9ibGVtIGFj dHVhbGx5IGdldHRpbmcgZGF0YSBpbnRvIHRoZSBmaXJzdCAyIHJvd3MgKGFjdHVhbGx5LCBub3cs Cj4gNCByb3dzIGlmIHRoZXJlIGFyZSAyIHBvcnRzIHBlciBMRC9TVCBDVSwgb25lIGZvciBsb3dl ci1taXNhbGlnbmVkCj4gb25lIGZvciB1cHBlci1taXNhbGlnbmVkKS4KPgo+IGRvIHdlIHN0YWxs IHRoZSByZXF1ZXN0cyBpZiB0aGV5IGRvIG5vdCBoYXZlIGFjY2Vzcz8gIHRoYXQgbWVhbnMKPiB0 aGF0IG9wcG9ydHVuaXRpZXMgdG8ga2VlcCB0aGUgTDEgY2FjaGUtbGluZSByZXF1ZXN0cyAxMDAl IGZ1bGwKPiBhcmUgbWlzc2VkLCB3aGVyZSB0aGUgY3VycmVudCBkZXNpZ24gY2FuICpldmVuIGNh dGNoIG1pc2FsaWduZWQKPiBlbGVtZW50LXN0cmlkZWQgZGF0YSByZXF1ZXN0cyogYW5kIGNhbiAx MDAlIG1lcmdlIHRoZW0gaW50bwo+IGEgZnVsbCBjYWNoZS1saW5lIHJlcXVlc3QuCj4KPgo+Cj4g ImFuZCB0aGUgTDEgY2FjaGUgbGluZSBhZGRyZXNzIGl0IHdvdWxkIHVzZSBpcyBicm9hZGNhc3Qg dG8gYWxsIGNlbGxzLiIKPgo+IHRoaXMgaXMgYSBmdWxsIFhPUi1jb21wYXJpc29uIG9mIHRoZSBl bnRpcmUgYWRkcmVzcywgYWdhaW5zdCBldmVyeSBzaW5nbGUgY2VsbC4KPgo+IGlmIHRoZSBhZGRy ZXNzIGlzIDQ4IGJpdHMgYW5kIHRoZXJlIGFyZSAxMiBjZWxscywgdXNpbmcgYml0cyAzIGFuZCBh Ym92ZSBvZgo+IHRoZSBhZGRyZXNzIHdpbGwgcmVxdWlyZSA1MjggWE9SIGdhdGVzLgo+Cj4gaWYg d2Ugd2FudCAqdHdvKiBMMSBjYWNoZSBsaW5lIGFkZHJlc3NlcyBzaW11bHRhbmVvdXNseSAocmF0 aGVyIHRoYW4KPiBnb2luZyB0byAyNTYtYml0LXdpZGUgTDEgY2FjaGUgbGluZXMpLCB0aGF0J3Mg KnR3byogYnJvYWRjYXN0cywgZWFjaCA1MjgKPiBYT1IgZ2F0ZXMuCj4KPgo+IDIpIGhvdyBhcmUg b3ZlcmxhcHBpbmcgYWRkcmVzc2VzIGRldGVjdGVkPyAgb3IsIG1vcmUgdG8gdGhlIHBvaW50LAo+ IGhvdyBhcmUgbm9uLW92ZXJsYXBwaW5nIGFkZHJlc3NlcyBkZXRlY3RlZCBzdWNoIHRoYXQgdGhl eSBjYW4gYmUKPiBwYXNzZWQgdGhyb3VnaCBhcyBhIGdyb3VwLCBhbmQgZ2l2ZW4gdGhlIG9wcG9y dHVuaXR5IHRvIGJlIGRvbmUgaW4KPiBwYXJhbGxlbD8KPgo+IDMpIGhvdyB3b3VsZCBtaXNhbGln bmVkIGFkZHJlc3NlcyBoYW5kbGVkPwo+Cj4gNCkgaSdtIG5vdCBzZWVpbmcgaG93IHJlcXVlc3Rz IGNvdWxkIGJlIG1lcmdlZCBpbnRvICIxMDAlIGZ1bGwgY2FjaGUKPiBsaW5lIiByZXF1ZXN0cywg d2hpY2ggdGhlIGN1cnJlbnQgZGVzaWduIGlzIGNhcGFibGUgb2YgZG9pbmcsIGJ5IHVzaW5nCj4g c2ltcGxlIGJpdC13aXNlIEFORGluZyBhbmQgT1JpbmcuICB0aGUgQWJzdHJhY3QgUHJlZml4IFN1 bSBjbGFzcwo+IGRvZXNuJ3QgbG9vayBvYnZpb3VzIGFzIHRvIGhvdyB0aGF0IGhhcHBlbnMsIGFu ZCBpcyBsaWtlbHkgdG8gYmUKPiBtdWNoIG1vcmUgY29zdGx5IHRoYW4gYSBzaW1wbGUgQU5EIGFu ZCBPUiBuZXR3b3JrLgo+Cj4gNSkgaG93IGFyZSBjbGFzaGVzIG9mIGFkZHJlc3NlcyAqaW50ZXIt cm93KiBkZXRlY3RlZD8gIGlmIENlbGwgMCBoYXMgYSBTVAo+IG9mIDgtYml0cyB0byBhZGRyZXNz IDB4MDAwMSBhbmQgQ2VsbCAxIGhhcyBhIFNUIG9mIDggYml0cyB0byBhZGRyZXNzCj4gMHgwMDAy IChhIDcgYnl0ZSBvdmVybGFwKSwgaG93IGlzIHRoaXMgZGV0ZWN0ZWQgKmluIHRoZSByb3cqPwo+ Cj4gaW4gdGhlIGNvbHVtbiBpdCBpcyBmaW5lLCBiZWNhdXNlIG9ubHkgb25lIHJvdyBpcyBldmVy IGRvbmUgYXQgb25jZQo+ICh3aGljaCBoYXMgaW1wbGljYXRpb25zIGZvciBtaXMtYWxpZ25lZCBk YXRhIHJlcXVlc3RzLCB0aGVyZSB3aWxsIG5ldmVyCj4gYmUgYSAxMDAlIG1lcmdlIG9wcG9ydHVu aXR5KQo+Cj4KPiBhbGwgb2YgdGhlc2UgdGhpbmdzIHRvb2sgc2V2ZXJhbCAqbW9udGhzKiB0byBm YWN0b3IgaW4gdG8gdGhlIGRlc2lnbiwgaW4KPiBzZXZlcmFsIHN0YWdlcy4gIGl0J3MgbWFzc2l2 ZWx5IGNvbXBsZXggYW5kIGludGVyLWRlcGVuZGVudC4KPgo+IGwuCj4KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGxpYnJlLXJpc2N2LWRldiBtYWls aW5nIGxpc3QKPiBsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3JnCj4gaHR0cDov L2xpc3RzLmxpYnJlLXJpc2N2Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpYnJlLXJpc2N2LWRldgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlicmUtcmlz Y3YtZGV2IG1haWxpbmcgbGlzdApsaWJyZS1yaXNjdi1kZXZAbGlzdHMubGlicmUtcmlzY3Yub3Jn Cmh0dHA6Ly9saXN0cy5saWJyZS1yaXNjdi5vcmcvbWFpbG1hbi9saXN0aW5mby9saWJyZS1yaXNj di1kZXYK