[Ometa] Direct left recursion with specific ending

Justin Chase justin.m.chase at gmail.com
Sun May 29 10:32:30 PDT 2011


Rm9yIHdoYXQgaXQncyB3b3J0aCBJIGp1c3Qgd2FudGVkIHRvIHRyaXBsZSB0aGFuayB5b3UgZm9y
IGFuc3dlcmluZyBtZSBoZXJlCjopIFRoaXMgd2FzIGV4YWN0bHkgd2hhdCBJIHdhcyBsb29raW5n
IGZvciBhbmQgSSBub3cgaGF2ZSBpdCB3b3JraW5nIGFuZCBJJ20KZmluZGluZyBpdCdzIGFjdHVh
bGx5IHRoZSBzb2x1dGlvbiB0byBzZXZlcmFsIHByb2JsZW1zIEkndmUgYmVlbiBoYXZpbmchCkl0
J3MgcHJldHR5IGNydWZ0eSB0byBpbXBsZW1lbnQgdGhpcyBpbiBhIHN0YXRpYyBsYW5ndWFnZSBs
aWtlIEMjIGNvbXBhcmVkCnRvIGphdmFzY3JpcHQgYnV0IGl0J3MgY29taW5nIGFsb25nIG5pY2Vs
eS4gSG9wZWZ1bGx5IHNvbWVvbmUgd2lsbCBmaW5kIHRoaXMKaW50ZXJlc3RpbmcgYnV0IEknZCBs
aWtlIHRvIHNoYXJlIHNvbWUgb2YgbXkgZmluZGluZ3MuCgpTbyB0byBpbXBsZW1lbnQgdGhpcyBJ
IGhhZCB0byBhZGQgdHdvIG5ldyBwYXR0ZXJucyB3aGljaCBJIGNhbGxlZCBWYXJpYWJsZQphbmQg
U3dpdGNoLiBJIGhhdmUgYSBzdGFjayBvZiBTY29wZSBvYmplY3RzLCAxIGZvciBlYWNoIHByb2pl
Y3Rpb24sIGFuZCB0aGUKdmFyaWFibGUgcHVzaGVzIGEgbWF0Y2ggcmVzdWx0IGludG8gdGhlIGN1
cnJlbnQgc2NvcGUgd2l0aCBhIG5hbWUuIFRoZW4gdGhlClN3aXRjaCBwYXR0ZXJuIHdpbGwgbGV0
IHlvdSBjaGFuZ2UgeW91ciBzdHJlYW0gZnJvbSB0aGUgc3RhbmRhcmQgc3RyZWFtIHRvCmJlIG9u
ZSBvZiB0aGUgdmFyaWFibGVzIGluIHNjb3BlLiBUaGlzIHdhcyB0cmlja3kgYmVjYXVzZSBJIGhh
dmUgYSBub3Rpb24gb2YKInRyYWNpbmciIHdoaWNoIGxldHMgbWUgdHJhY2UgYW55IG1hdGNoIHJl
c3VsdCBiYWNrIHRocm91Z2ggYWxsIG9mIHRoZQp0cmFuc2Zvcm1hdGlvbnMgdG8gdGhlIG9yaWdp
bmFsIHNvdXJjZSBzbyBJIGRpZG4ndCB3YW50IHRvIGNyZWF0ZSBhIG5ldwpzdHJlYW0gYnV0IHRv
IHNvbWVob3cgcHV0IHRoZSByZXN1bHQgaW50byB0aGUgY3VycmVudCBzdHJlYW0uCgpJIGhhdmUg
YSB0eXBlIGNhbGxlZCBOb2RlU3RyZWFtIGJ1dCBpdCBhY3R1YWxseSBpc24ndCBhIHN0cmVhbSBp
biB0aGUgdHJ1ZQpzZW5zZSwgaXQncyBtb3JlIGxpa2UgYSBoaWVyYXJjaGljYWwgZW51bWVyYXRv
ci4gU28gaW4gYWRkaXRpb24gdG8KTW92ZU5leHQoKSBpdCBhbHNvIGhhcyBNb3ZlSW50bygpLCBm
b3Igc3RlcHBpbmcgaW50byBzdWIgYXJyYXlzLApNb3ZlSW50byhzdHJpbmcpLCBmb3Igc3RlcHBp
bmcgaW50byB1bm9yZGVyZWQgbGlzdHMgb3IgY29tcGxleCBvYmplY3RzCnByb3BlcnRpZXMgYW5k
IHNvIG5vdyBJIGFsc28gYWRkZWQgTW92ZVRvKHN0cmluZykgd2hpY2ggbGV0cyBtZSBzdGVwIGlu
dG8KdmFyaWFibGVzIGluIHNjb3BlLiBUaGVzZSBjYW4gYmUgbWVtb2l6ZWQgaW4gdGhlIHN0cmVh
bSBhbmQgc3VjaC4gSSdtIHN0aWxsCnRlc3RpbmcgaXQgYnV0IEkgdGhpbmsgaXQncyBnb2luZyB0
byB3b3JrLiBSZWdhcmRpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgppbnZva2luZyB0aGUgU3dp
dGNoIHBhdHRlcm4gYW5kIHRoZSBDYWxsIHBhdHRlcm4sIHlvdSBqdXN0IGhhdmUgdG8gaGF2ZSBh
CmxpdHRsZSBjb250ZXh0LCBpZiB0aGUgcnVsZSBiZWluZyBpbnZva2VkIGhhcyBwYXJhbWV0ZXJz
IHRoZW4geW91J3JlIGNhbGxpbmcKaXQsIGlmIGl0IGRvZXNuJ3QgdGhlbiB5b3UncmUgc3dpdGNo
aW5nLiBDYWxsYWJsZSBwYXR0ZXJucyBjYW4gYmUgc3dpdGNoZWQKb24gbGlrZToKClIoeCkgPSB4
ClMgPSBhbnkKVCA9IGE6YW55CiAgICBTKGEpICAgICAgIC8vIFN3aXRjaCB0byBhIG9uIHJ1bGUg
UwogICAgUihhbnkpKGEpICAvLyBTd2l0Y2ggdG8gYSBvbiBydWxlIFIoYW55KQoKVGhpcyBzb2x2
ZWQgZm9yIG1lIG9uZSBvZiB0aGUgbW9zdCB1Z2x5LCBjb21wbGV4IHBhcnRzIG9mIHBhcnNpbmcg
bXkKZ3JhbW1hciEgSSBhc2tlZCBhIHF1ZXN0aW9uIGEgd2hpbGUgYmFjayBhYm91dCByZXNvbHZp
bmcgdGhlIGFtYmlndWl0eQpiZXR3ZWVuICJTKGEpIiBhbmQgIlMgKGEpIi4gTWVhbmluZywgaG93
IGNhbiB5b3UgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCiJJTlZPS0UgUyBhIiBhbmQgIlMg
QU5EIEdST1VQIGEiLiBJJ20gbm93IHJlYWxpemluZyB0aGF0IEkgY2FuIHVzZSB0aGUKU3dpdGNo
IHBhdHRlcm4gdG8gZW5mb3JjZSBhIHJ1bGUgdGhhdCBncm91cHMgbXVzdCBoYXZlIEFORCBvciBP
UiBwYXR0ZXJucwp3aGljaCByZW1vdmVzIHRoZSBhYmlndWl0eSEKClIgPSBTKHgpICAgICAvLyBj
YWxsIFMgd2l0aCB4ClIgPSBTICh4KSAgICAvLyBzYW1lClIgPSBTKHgsIHkpICAvLyBjYWxsIHMg
d2l0aCB4LHkKUiA9IFMgKHgsIHkpIC8vIHNhbWUKUiA9IFMoeCB5KSAgIC8vIFMgYW5kIHggYW5k
IHkKUiA9IFMgKHggeSkgIC8vIHNhbWUKClNvIEkgbm8gbG9uZ2VyIGNhcmUgYWJvdXQgdGhlIHdo
aXRlc3BhY2UgYmV0d2VlbiB0aGUgcnVsZSBhbmQgdGhlIG9wZW4KcGFyZW4sIHNpbmNlIHlvdSBt
dXN0IGhhdmUgYW4gQU5EIG9yIGFuIE9SIHRoZW4gSSBjYW4gdGVsbCBpZiBpdCdzIGEgZ3JvdXAK
YnkgbG9va2luZyBmb3IgdGhlIHByZXNlbnNlIG9mIGNvbW1hcyBvciBwaXBlcy4gU28gdGhlIG1v
cmFsIG9mIHRoZSBzdG9yeSBpcwp0aGF0IHRoZSBTd2l0Y2ggcGF0dGVybiBpcyBlc3NlbnRpYWwg
Zm9yIGRpcmVjdCBMUiBncmFtbWFycy4gVGhpcyBoYXMgYmVlbgptZXNzaW5nIHdpdGggbWUgZm9y
IGEgd2hpbGUgYW5kIEknbSBzdGFydGluZyB0byBzZWUgaXQgY29tZSB0b2dldGhlcgpmaW5hbGx5
LiBWZXJ5IGhhcHB5IDopCgpUaGFua3MgYWdhaW4gZm9yIHVuZGVyc3RhbmRpbmcgbXkgcXVlc3Rp
b24gZXZlbiB0aG91Z2ggSSBjb3VsZCBiYXJlbHkKdW5kZXJzdGFuZCBteXNlbGYgYW5kIGFuc3dl
cmluZyBwZXJmZWN0bHkgOikKCgpPbiBGcmksIE1heSAyNywgMjAxMSBhdCA4OjM1IEFNLCBKdXN0
aW4gQ2hhc2UgPGp1c3Rpbi5tLmNoYXNlQGdtYWlsLmNvbT53cm90ZToKCj4gTmV2ZXIgbWluZCB0
aGUgcGFydCBhYm91dCA6eCBhbmQgOmYsIEkgcmVtZW1iZXIgbm93IHRoYXQgdGhhdCdzIHNob3J0
IGhhbmQKPiBmb3IgQU5ZLiBUaGV5IGp1c3QgaGFwcGVuIHRvIGhhdmUgdGhlIHNhbWUgbmFtZXMu
Cj4KPgo+IE9uIFRodSwgTWF5IDI2LCAyMDExIGF0IDk6MzEgUE0sIEp1c3RpbiBDaGFzZSA8anVz
dGluLm0uY2hhc2VAZ21haWwuY29tPndyb3RlOgo+Cj4+IEknbSBqdXN0IHJlYWxpemluZyB0aGF0
IEkgdG90YWxseSBtaXN1bmRlcnN0b29kIHlldCBhbm90aGVyIHRoaW5nLi4uCj4+Cj4+IG9tZXRh
IE0gPDogUGFyc2VyIHsKPj4gICBpZGVudCA9IDxsZXR0ZXIgKGxldHRlciB8IGRpZ2l0KSo+LAo+
PiAgIGV4cHIgPSBleHByOnggIi4iIGlkZW50OmYgLT4gWydGaWVsZEFjY2VzcycsIHgsIGZdCj4+
ICAgICAgICB8IGV4cHI6eCAiKCIgIikiIC0+IFsnQ2FsbCcsIHhdCj4+ICAgICAgICB8IGlkZW50
OnggLT4gWydWYXInLCB4XQo+PiB9Cj4+Cj4+IG9tZXRhIE0yIDw6IE0gewo+PiAgIGV4cHIyID0g
ZXhwcjplIHZhbGlkYXRlKGUpIC0+IGUsCj4+ICAgdmFsaWRhdGUgPSBbJ0ZpZWxkQWNjZXNzJyA6
eCA6Zl0KPj4gfQo+Pgo+PiBTbyBpbiB0aGUgcGFzdCB3aGVuIEkgc2F3IHRoZSAiKCApIiBJIHdh
cyB0aGlua2luZyBpdCB3YXMgbW9yZSBsaWtlIGEKPj4gbWFjcm8sIGFzIGluOgo+Pgo+PiBsaXN0
KGUsIHMpID0gZSAocyBlKSoKPj4gZXhwciA9IGxpc3QoaWRlbnQsICcsJykKPj4KPj4gQnV0IGlu
IHRoZSBhYm92ZSBzbmlwcGV0IGluIHllbGxvdyBpdCBhcHBlYXJzIG1vcmUgbGlrZSB0aGUgaW5w
dXQgdG8gdGhlCj4+IHZhbGlkYXRlIHJ1bGUgaXMgYWN0dWFsbHkgYmVjb21pbmcgYSBuZXcgaW5w
dXQgc3RyZWFtLiBTbyBkb2VzIG9tZXRhICphbHNvCj4+ICpoYXZlIGEgbWFjcm8gc3ludGF4PyBB
bHNvIEkgYW0gbm90IHN1cmUgSSBhbSBxdWl0ZSBncm9raW5nIGhvdyA6eCBhbmQgOmYKPj4gYXJl
IGFibGUgdG8gbWFwIHRoZW1zZWx2ZXMgYmFjayB0byB0aGUgeCBhbmQgZiBpbiB0aGUgYXJyYXku
Cj4+Cj4+IE9uZSBvZiB0aGUgdGhpbmdzIEkndmUgYmVlbiB3b3JraW5nIG9uIGlzIGEgd2F5IHRv
IHRyYWNlIG91dHB1dCBub2RlcyBiYWNrCj4+IHRvIHRoZWlyIG9yaWdpbmFsIHNvdXJjZS4gU28g
aWYgeW91IHBhcnNlIGEgc3RyaW5nIHlvdSBzaG91bGQgYmUgYWJsZSB0byBnZXQKPj4gYSBzcGFu
IGZyb20gd2hlcmUgaW4gdGhlIHN0cmVhbSBhIHBhcnRpY3VsYXIgbm9kZSBwYXJzZWQsIGV2ZW4g
YWNyb3NzCj4+IG11bHRpcGxlIHRyYW5zZm9ybSBzdGVwcy4gU28gSSdtIHRyeWluZyB0byBmaWd1
cmUgb3V0IGhvdyB0byBrZWVwIHRyYWNrIG9mCj4+IHRoYXQgaW5mb3JtYXRpb24gaWYgSSBlbmQg
dXAgY3JlYXRpbmcgYSBuZXcgc3RyZWFtIGZvciAnZScgd2hlbiBjYWxsaW5nIGEKPj4gbmV3IHJ1
bGUgbGlrZSB0aGlzLi4uIEkgZ3Vlc3MgaXQncyBhbG1vc3QgbGlrZSBhIGJyYW5jaGVkIHRyYW5z
Zm9ybS4gRG8geW91Cj4+IHN0b3JlIHRoZSBtZW1vcyBjcmVhdGVkIGJ5IHZhbGlkYXRlIGluIHdp
dGggdGhlIG90aGVyIG1lbW9zPyBJIGhvcGUgSSdtCj4+IG1ha2luZyBzZW5zZSEKPj4KPj4gVGhh
bmtzIGFnYWluLgo+Pgo+PiBPbiBXZWQsIE1heSAyNSwgMjAxMSBhdCAxMDowMCBQTSwgQWxlc3Nh
bmRybyBXYXJ0aCA8YWxleHdhcnRoQGdtYWlsLmNvbT53cm90ZToKPj4KPj4+IEhpIEp1c3RpbiwK
Pj4+Cj4+PiBPbiBXZWQsIE1heSAyNSwgMjAxMSBhdCA2OjQzIFBNLCBKdXN0aW4gQ2hhc2UgPGp1
c3Rpbi5tLmNoYXNlQGdtYWlsLmNvbT53cm90ZToKPj4+Cj4+Pj4gU2lkZSBxdWVzdGlvbiBhYm91
dCB0aGlzIHN5bnRheDoKPj4+PiBpZGVudCA9IDxsZXR0ZXIgKGxldHRlciB8IGRpZ2l0KSo+Cj4+
Pj4KPj4+Cj4+Pj4gSSBhbSB3b3JraW5nIG9uIGEgQyMgdG9vbCB0aGF0IGlzIHJvdWdobHkgZXF1
aXZhbGVudCB0byBvbWV0YS9qcyBhbmQgSSdtCj4+Pj4gY3VyaW91cyBhYm91dCB0aGUgYWJvdmUg
c3ludGF4LiBJdCdzIG15IHVuZGVyc3RhbmRpbmcgdGhhdCA8ID4gYmFzaWNhbGx5Cj4+Pj4gbWVh
bnMgdGhhdCB0aGUgcHJvZHVjdGlvbiBvZiB0aGUgcnVsZSBpcyB3aGF0ZXZlciBpcyBpbnNpZGUg
dGhhdCBibG9jayBhbmQKPj4+PiBhbHNvIGltcGxpZXMgdGhhdCB0aGVyZSBhcmUgbm8gdmFyaWFi
bGVzIGRlY2xhcmVkLiBTbyB0aGUgZm9sbG93aW5nIHdvdWxkCj4+Pj4gbm90IGJlIGxlZ2FsOgo+
Pj4+IGlkZW50ID0gPGxldHRlcjp4IChsZXR0ZXIgfCBkaWdpdCkqPgo+Pj4+IGlkZW50ID0gPGxl
dHRlciAobGV0dGVyIHwgZGlnaXQpKj4gLT4gLi4uCj4+Pj4KPj4+PiBDb3JyZWN0Pwo+Pj4KPj4+
Cj4+PiBOby4gVGhlcmUgaXMgbm8gcmVzdHJpY3Rpb24gdG8gd2hhdCB5b3UgY2FuIGRvIGluc2lk
ZSB0aGUgcG9pbnR5IGJyYWNrZXRzCj4+PiAoPD5zKS4gSWYgeW91IHdhbnQgdG8gYmluZCB0aGUg
cmVzdWx0IG9mIGEgcnVsZSBhcHBsaWNhdGlvbiB0byBhIHZhcmlhYmxlIHNvCj4+PiB5b3UgY2Fu
IHVzZSBpdCBsYXRlciwgdGhhdCdzIHBlcmZlY3RseSBmaW5lLgo+Pj4KPj4+IEFuZCB0aGVyZSBp
cyBubyAiZmxhdHRlbmluZyIgdGFraW5nIHBsYWNlIGVpdGhlci4gPHBhdDEgLi4uIHBhdG4+IHNp
bXBseQo+Pj4gbWVhbnMgaXMgInRoZSBwYXJ0IG9mIHRoZSBpbnB1dCB0aGF0IHdhcyBjb25zdW1l
ZCBieSBwYXQxIC4uLiBwYXRuLgo+Pj4KPj4+IEEgd2hpbGUgYWdvLCBJIHNlbnQgYSBtZXNzYWdl
PGh0dHA6Ly92cHJpLm9yZy9waXBlcm1haWwvb21ldGEvMjAxMC1BcHJpbC8wMDAyNDIuaHRtbD50
byB0aGlzIGxpc3QgdGhhdCBleHBsYWlucyB0aGlzIGZlYXR1cmUgYW5kIGEgZmV3IG90aGVycy4g
SGVyZSBhcmUgdGhlCj4+PiByZWxldmFudCBiaXRzOgo+Pj4KPj4+ICpDb25zdW1lZC1CeSo6Cj4+
Pgo+Pj4gUHJldHR5IG9mdGVuLCB3aGVuIHlvdSdyZSB3cml0aW5nIGEgbGV4aWNhbCBhbmFseXpl
ciBvciBzY2FubmVybGVzcyBwYXJzZXIsCj4+PiB5b3UgZW5kIHVwIHdyaXRpbmcgcnVsZXMgbGlr
ZSB0aGlzOgo+Pj4KPj4+IGlkZW50aWZpZXIgPSBsZXR0ZXI6eCAobGV0dGVyIHwgZGlnaXQpKjp4
cyAtPiAuLi4KPj4+Cj4+Pgo+Pj4gLi4uIGFuZCBpbiB0aGUgc2VtYW50aWMgYWN0aW9uLCB5b3Ug
aGF2ZSB0byBwdXQgdGhlc2UgY2hhcmFjdGVycyBiYWNrCj4+PiB0b2dldGhlciBpbnRvIGEgc3Ry
aW5nLiBJdCB3b3VsZCBiZSBhIGxvdCBuaWNlciBpZiB5b3UgY291bGQganVzdCBzYXkgImdpdmUK
Pj4+IG1lIHRoZSBzdWJzdHJpbmcgb2YgdGhlIGlucHV0IHRoYXQgd2FzIGNvbnN1bWVkIGJ5IHRo
aXMgZXhwcmVzc2lvbiIsIGFuZAo+Pj4gdGhhdCdzIGV4YWN0bHkgd2hhdCB0aGUgY29uc3VtZWQt
Ynkgb3BlcmF0b3IgKDwuLi4+KSBkb2VzLiBTbyBpbnN0ZWFkIG9mIHRoZQo+Pj4gYWJvdmUsIHlv
dSBjb3VsZCB3cml0ZQo+Pj4KPj4+IGlkZW50aWZpZXIgPSA8bGV0dGVyIChsZXR0ZXIgfCBkaWdp
dCkqPgo+Pj4KPj4+Cj4+PiB3aGljaCBpcyBtb3JlIGRlY2xhcmF0aXZlLCBhbmQgYWxzbyBydW5z
IGEgbGl0dGxlIGJpdCBmYXN0ZXIqIChhdCBsZWFzdCBpbgo+Pj4gU3F1ZWFrIC0tIEkgaGF2ZW4n
dCBwcm9maWxlZCB0aGUgSmF2YVNjcmlwdCB2ZXJzaW9uLCBidXQgSSBleHBlY3QgaXQgd2lsbCBi
ZQo+Pj4gZmFzdGVyIHRvbykuCj4+Pgo+Pj4gTm90ZSB0aGF0IGNvbnN1bWVkLWJ5IGRvZXNuJ3Qg
b25seSB3b3JrIHdoZW4gdGhlIGlucHV0IGlzIGEgc3RyaW5nLiBJZiBpdCdzCj4+PiBhbiBhcnJh
eSwgdGhlIHZhbHVlIG9mIDwuLi4+IHdpbGwgYmUgYSBzdWItYXJyYXkgd2hvc2UgZWxlbWVudHMg
d2lsbCBiZSB0aGUKPj4+IGVsZW1lbnRzIHRoYXQgd2VyZSBjb25zdW1lZCBieSB0aGUgZXhwcmVz
c2lvbiBpbnNpZGUgdGhlIHBvaW50eSBicmFja2V0cy4KPj4+IChJbiBTbWFsbHRhbGsgcGFybGFu
Y2UsIHRoZSB2YWx1ZSBvZiA8Li4uPiBpcyBhbHdheXMgb2YgdGhlIHNhbWUgInNwZWNpZXMiCj4+
PiBhcyB0aGUgZGF0YSB0aGF0IHlvdSdyZSB3b3JraW5nIG9uLikKPj4+Cj4+PiBIb3BlIHRoaXMg
aGVscHMhCj4+Pgo+Pj4gQ2hlZXJzLAo+Pj4gQWxleAo+Pj4KPj4+Cj4+Pj4gQnV0IHdoYXQncyBp
bnRlcmVzdGluZyB0byBtZSBpcyB0aGF0IGluc2lkZSBvZiB0aGlzIGJsb2NrIGlzIGEgKCApKgo+
Pj4+IHdoaWNoLCBJIGJlbGlldmUsIHdpbGwgeWllbGQgYW4gaW5uZXIgYXJyYXkuIE1lYW5pbmcg
dGhlIHN0cmluZyAiYWJjIiB3b3VsZAo+Pj4+IHlpZWxkOgo+Pj4+IFsnYScsIFsnYicsICdjJ11d
IENvcnJlY3Q/IEknbSBqdXN0IHdvbmRlcmluZyBpZiBvciB3aGVuICJmbGF0dGVuaW5nIgo+Pj4+
IG9jY3Vycz8gRG9lcyB0aGUgPCA+IGFsc28gaW1wbHkgZmxhdHRlbmluZyBvciBpcyBmbGF0dGVu
aW5nIGFsd2F5cyBkb25lIG9yCj4+Pj4gaXMgdGhhdCBqdXN0IG5vdCBwYXJ0IG9mIHRoaXMgZXhh
bXBsZT8gQW0gSSBtYWtpbmcgc2Vuc2U/IFdoYXQncyB0aGUgZ2VuZXJhbAo+Pj4+IHN0cmF0ZWd5
IGZvciBmbGF0dGVuaW5nCj4+Pj4KPj4+PiBJbiBteSB3b3JsZCBJIGFtIGFsbG93aW5nIGFyYml0
cmFyeSBleHByZXNzaW9ucyBpbiB0aGUgcHJvZHVjdGlvbnMgYW5kCj4+Pj4gc28gaXQgbG9va3Mg
bGlrZSB0aGlzOgo+Pj4+IGlkZW50ID0gaToobGV0dGVyIChsZXR0ZXIgfCBkaWdpdCkqKSAtPiBQ
YXJzZXIuU3RyaW5naWZ5KGkpOwo+Pj4+Cj4+Pj4gVGhhbmtzLgo+Pj4+Cj4+Pj4KPj4+Pgo+Pj4+
IE9uIFdlZCwgTWF5IDI1LCAyMDExIGF0IDY6NTUgUE0sIEp1c3RpbiBDaGFzZSA8anVzdGluLm0u
Y2hhc2VAZ21haWwuY29tCj4+Pj4gPiB3cm90ZToKPj4+Pgo+Pj4+PiBJIHNlZSwgdGhhbmsgeW91
LiBJJ20gc3RpbGwgZmluZGluZyB0aGlua2luZyBpbiBwYXR0ZXJuIG1hdGNoaW5nCj4+Pj4+IHRy
aWNreSEgSXQncyBvbmUgdGhpbmcgdG8gbGVhcm4gYWxsIG9mIHRoZSBpbmRpdmlkdWFsIG9wZXJh
dG9ycyBidXQgaXQncwo+Pj4+PiBhbG1vc3QgYXMgaWYgbW9yZSBjb21wbGV4IGNvbXBvc2l0ZSBw
YXR0ZXJucyBlbWVyZ2UgYWZ0ZXIgYSB3aGlsZS4gSXQKPj4+Pj4gcmVtaW5kcyBtZSBvZiBjaXJj
dWl0IGxvZ2ljIGluIHRoYXQgd2F5Lgo+Pj4+Pgo+Pj4+Pgo+Pj4+PiBPbiBXZWQsIE1heSAyNSwg
MjAxMSBhdCA2OjUxIFBNLCBBbGVzc2FuZHJvIFdhcnRoIDxhbGV4d2FydGhAZ21haWwuY29tCj4+
Pj4+ID4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+IE9uIFdlZCwgTWF5IDI1LCAy
MDExIGF0IDQ6MzEgUE0sIEp1c3RpbiBDaGFzZSA8Cj4+Pj4+PiBqdXN0aW4ubS5jaGFzZUBnbWFp
bC5jb20+IHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+PiBWZXJ5IGludGVyZXN0aW5nISBJIGRpZCBub3Qg
cmVhbGl6ZSB0aGF0IHlvdSBjb3VsZCBwYXNzIHRoZQo+Pj4+Pj4+IHByb2R1Y3Rpb25zIG9mIHBy
ZXZpb3VzIHJ1bGVzIGludG8gb3RoZXIgcnVsZXMgbGlrZSBpbiBNMiwgdGhhdCBpcyB2ZXJ5Cj4+
Pj4+Pj4gY29vbC4gSSBsaWtlIHRoYXQgc29sdXRpb24gdmVyeSBtdWNoLiBDYW4geW91IGdpdmUg
bWUgYW4gZXhhbXBsZSBvZiBhIHJpZ2h0Cj4+Pj4+Pj4gcmVjdXJzaXZlIHNvbHV0aW9uLCBkZXNw
aXRlIHRoZSByZXN1bHRpbmcgdHJlZT8gSSdtIGhhdmluZyBhIGhhcmQgdGltZQo+Pj4+Pj4+IGVu
dmlzaW9uaW5nIGl0Lgo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBTdXJlLCBoZXJlJ3Mgd2hhdCBJIG1l
YW50Ogo+Pj4+Pj4KPj4+Pj4+IG9tZXRhIE0zIDw6IFBhcnNlciB7Cj4+Pj4+PiAgIGlkZW50ID0g
PGxldHRlciAobGV0dGVyIHwgZGlnaXQpKj4sCj4+Pj4+PiAgIGV4cHIgPSBpZGVudCB2YWxpZEVu
ZGluZywKPj4+Pj4+ICAgdmFsaWRFbmRpbmcgPSAiLiIgaWRlbnQgdmFsaWRFbmRpbmcKPj4+Pj4+
ICAgICAgICAgICAgICAgfCAiLiIgaWRlbnQKPj4+Pj4+ICAgICAgICAgICAgICAgfCAiKCIgIiki
IHZhbGlkRW5kaW5nLAo+Pj4+Pj4gICBjb25zdW1lZEJ5RXhwciA9IDxleHByPgo+Pj4+Pj4gfQo+
Pj4+Pj4KPj4+Pj4+IE0zLm1hdGNoQWxsKCd4LnkueigpJywgImNvbnN1bWVkQnlFeHByIikgLS0+
IHgueS56Cj4+Pj4+PiBNMy5tYXRjaEFsbCgneC55KCkueicsICJjb25zdW1lZEJ5RXhwciIpIC0t
PiB4LnkoKS56Cj4+Pj4+PiBNMy5tYXRjaEFsbCgneCgpLnkueicsICJjb25zdW1lZEJ5RXhwciIp
IC0tPiB4KCkueS56Cj4+Pj4+Pgo+Pj4+Pj4gVGhlIGNvbnN1bWVkQnlFeHByIHJ1bGUgYWJvdmUg
ZG9lc24ndCBmYWlsIG9uIGFueSBvZiB5b3VyIGV4YW1wbGVzLAo+Pj4+Pj4gYnV0IHlvdSdsbCBz
ZWUgdGhhdCBpdCBkb2Vzbid0IGNvbnN1bWUgdGhlIGVuZGluZyAoKXMgb2YgeW91ciBmaXJzdCBl
eGFtcGxlCj4+Pj4+PiAtLSB3aGljaCBpbiB0aGlzIGNhc2UgKHNheSwgaWYgeW91IHdlcmUgdXNp
bmcgdGhhdCBydWxlIGluIGEgcGFyc2VyKSBtZWFucwo+Pj4+Pj4gdGhhdCB0aGF0IGlucHV0IHdh
c24ndCB2YWxpZC4KPj4+Pj4+Cj4+Pj4+PiBDaGVlcnMsCj4+Pj4+PiBBbGV4Cj4+Pj4+Pgo+Pj4+
Pj4KPj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4gT24gV2VkLCBNYXkgMjUsIDIwMTEgYXQgNDoyMiBQ
TSwgQWxlc3NhbmRybyBXYXJ0aCA8Cj4+Pj4+Pj4gYWxleHdhcnRoQGdtYWlsLmNvbT4gd3JvdGU6
Cj4+Pj4+Pj4KPj4+Pj4+Pj4gSGkgSnVzdGluLAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBUaGF0J3MgYW4g
aW50ZXJlc3RpbmcgcXVlc3Rpb24uLi4gdGhlIGtpbmQgb2YgcHJvcGVydHkgeW91J3JlIHRyeWlu
Zwo+Pj4+Pj4+PiB0byBleHByZXNzIHdvdWxkIGJlIGVhc3kgdG8gZW5mb3JjZSB1c2luZyBhIHJp
Z2h0LXJlY3Vyc2l2ZSBydWxlLCBidXQgdGhhdAo+Pj4+Pj4+PiB3b3VsZCBzY3JldyB1cCB0aGUg
c2hhcGUgb2YgeW91ciBwYXJzZSB0cmVlLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBUaGUgc2ltcGxlc3Qg
c29sdXRpb24gSSBjYW4gdGhpbmsgb2Ygb2ZmIHRoZSB0b3Agb2YgbXkgaGVhZCBpcyB0bwo+Pj4+
Pj4+PiBjb25zdW1lIHRoZSBlbnRpcmUgZXhwcmVzc2lvbiB3aXRoIGEgbGVmdC1yZWN1cnNpdmUg
cnVsZSwgd2l0aG91dCB3b3JyeWluZwo+Pj4+Pj4+PiBhYm91dCB3aGljaCBwYXR0ZXJuIHNob3dz
IHVwIGxhc3QsIGFuZCAqdGhlbiogaW5zcGVjdCB0aGUgcmVzdWx0aW5nIHBhcnNlCj4+Pj4+Pj4+
IHRyZWUgdG8gc2VlIGlmIGl0IG9iZXlzIHRoZSBwcm9wZXJ0eSB5b3UgY2FyZSBhYm91dC4gSGVy
ZSdzIGhvdyB5b3UgbWlnaHQgZG8KPj4+Pj4+Pj4gdGhhdCBpbiBPTWV0YS9KUzoKPj4+Pj4+Pj4K
Pj4+Pj4+Pj4gb21ldGEgTSA8OiBQYXJzZXIgewo+Pj4+Pj4+PiAgIGlkZW50ID0gPGxldHRlciAo
bGV0dGVyIHwgZGlnaXQpKj4sCj4+Pj4+Pj4+ICAgZXhwciA9IGV4cHI6eCAiLiIgaWRlbnQ6ZiAt
PiBbJ0ZpZWxkQWNjZXNzJywgeCwgZl0KPj4+Pj4+Pj4gICAgICAgIHwgZXhwcjp4ICIoIiAiKSIg
LT4gWydDYWxsJywgeF0KPj4+Pj4+Pj4gICAgICAgIHwgaWRlbnQ6eCAtPiBbJ1ZhcicsIHhdCj4+
Pj4+Pj4+IH0KPj4+Pj4+Pj4KPj4+Pj4+Pj4gTS5tYXRjaEFsbCgneC55LnooKScsICJleHByIikK
Pj4+Pj4+Pj4gTS5tYXRjaEFsbCgneC55KCkueicsICJleHByIikKPj4+Pj4+Pj4gTS5tYXRjaEFs
bCgneCgpLnkueicsICJleHByIikKPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gb21ldGEgTTIg
PDogTSB7Cj4+Pj4+Pj4+ICAgZXhwcjIgPSBleHByOmUgdmFsaWRhdGUoZSkgLT4gZSwKPj4+Pj4+
Pj4gICB2YWxpZGF0ZSA9IFsnRmllbGRBY2Nlc3MnIDp4IDpmXQo+Pj4+Pj4+PiB9Cj4+Pj4+Pj4+
Cj4+Pj4+Pj4+IE0yLm1hdGNoQWxsKCd4LnkueigpJywgImV4cHIyIikKPj4+Pj4+Pj4gTTIubWF0
Y2hBbGwoJ3gueSgpLnonLCAiZXhwcjIiKQo+Pj4+Pj4+PiBNMi5tYXRjaEFsbCgneCgpLnkueics
ICJleHByMiIpCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IE0ncyBleHByIHJ1bGUgbWF0Y2hlcyBhbGwgdGhy
ZWUgaW5wdXRzLCB3aGVyZWFzIE0yJ3MgZXhwcjIgcnVsZSBvbmx5Cj4+Pj4+Pj4+IG1hdGNoZXMg
dGhlIGxhc3QgdHdvLiBZb3UgY2FuIHRyeSB0aGlzIGZvciB5b3Vyc2VsZiBoZXJlOgo+Pj4+Pj4+
PiBodHRwOi8vd3d3LnRpbmxpenppZS5vcmcvb21ldGEtanMvI2p1c3Rpbgo+Pj4+Pj4+Pgo+Pj4+
Pj4+PiBDaGVlcnMsCj4+Pj4+Pj4+IEFsZXgKPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24g
V2VkLCBNYXkgMjUsIDIwMTEgYXQgNjoxNSBBTSwgSnVzdGluIENoYXNlIDwKPj4+Pj4+Pj4ganVz
dGluLm0uY2hhc2VAZ21haWwuY29tPiB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4+IFN1cHBvc2Ug
SSdtIHVzaW5nIGRpcmVjdCBsZWZ0IHJlY3Vyc2lvbiB0byBwYXJzZSBleHByZXNzaW9uIHRyZWVz
Lgo+Pj4+Pj4+Pj4gSSdsbCBwcm92aWRlIHNvbWUgcHNldWRvIHBhdHRlcm5zOgo+Pj4+Pj4+Pj4K
Pj4+Pj4+Pj4+IFJlZmVyZW5jZUV4cHJlc3Npb24gPSAiYSIuLiJ6IisKPj4+Pj4+Pj4+IEludm9r
ZUV4cHJlc3Npb24gPSBSZWZlcmVuY2VFeHByZXNzaW9uICIoIiAiKSIKPj4+Pj4+Pj4+IENhbGxh
YmxlRXhwcmVzc2lvbiA9IEludm9rZUV4cHJlc3Npb24gfCBSZWZlcmVuY2VFeHByZXNzaW9uCj4+
Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gRXhwcmVzc2lvbiA9IEV4cHJlc3Npb24gIi4iIENhbGxhYmxlRXhw
cmVzc2lvbiB8IENhbGxhYmxlRXhwcmVzc2lvbgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IFRoaXMgd2ls
bCBwYXJzZSBhbGwgb2YgdGhlIGZvbGxvd2luZzoKPj4+Pj4+Pj4+ICJ4LnkueigpIgo+Pj4+Pj4+
Pj4gIngueSgpLnoiCj4+Pj4+Pj4+PiAieCgpLnkueiIKPj4+Pj4+Pj4+IGV0Yy4KPj4+Pj4+Pj4+
Cj4+Pj4+Pj4+PiBCdXQgdGhlIHRyb3VibGUgSSdtIGhhdmluZyBpcyBpbiB0cnlpbmcgdG8gc3Bl
Y2lmeSBleGFjdGx5IHdoaWNoCj4+Pj4+Pj4+PiBwYXR0ZXJuIHNob3VsZCBiZSBsYXN0LiBTdXBw
b3NlIHlvdSB3YW50ZWQgYW4gZXhwcmVzc2lvbiB0aGF0IGlzIHJlcXVpcmVkIHRvCj4+Pj4+Pj4+
PiBlbmQgd2l0aCBhIFJlZmVyZW5jZUV4cHJlc3Npb24gc28gdGhhdCBvbmx5IHRoZXNlIHdvdWxk
IHBhcnNlOgo+Pj4+Pj4+Pj4gIngueS56Igo+Pj4+Pj4+Pj4gIngueSgpLnoiCj4+Pj4+Pj4+PiAi
eCgpLnkueiIKPj4+Pj4+Pj4+IGV0Yy4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJIHRyaWVkIGV4cGVy
aW1lbnRpbmcgd2l0aCBzb21ldGhpbmcgbGlrZSB0aGlzOgo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+IEV4
cHJlc3Npb24oZW5kKSA9IEV4cHJlc3Npb24oZW5kKSAiLiIgZW5kIHwgRXhwcmVzc2lvbihlbmQp
ICIuIgo+Pj4+Pj4+Pj4gRXhwcmVzc2lvbihlbmQpIHwgQ2FsbGFibGVFeHByZXNzaW9uCj4+Pj4+
Pj4+PiBSZWZlcmVuY2VFeHByZXNzaW9uV2l0aFRhcmdldCA9IEV4cHJlc3Npb24oUmVmZXJlbmNl
RXhwcmVzc2lvbikKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBCdXQgdGhhdCBkb2Vzbid0IHdvcmsuIEl0
IHNlZW1zIHRoYXQgdGhlIEdyb3cgTFIgZnVuY3Rpb24gd2lsbAo+Pj4+Pj4+Pj4gZXNzZW50aWFs
bHkgY2F1c2UgdGhlIDJuZCBjbGF1c2UgdG8gY29uc3VtZSBhbGwgb2YgdGhlIGlucHV0IGFuZCBy
ZXR1cm4KPj4+Pj4+Pj4+IHN1Y2Nlc3NmdWxseS4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJIGFsc28g
dHJpZWQ6Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gRXhwcmVzc2lvbihlbmQpID0gKEV4cHJlc3Npb24o
ZW5kKSAiLiIgQ2FsbGFibGVFeHByZXNzaW9uIHwKPj4+Pj4+Pj4+IENhbGxhYmxlRXhwcmVzc2lv
bikgIi4iIGVuZAo+Pj4+Pj4+Pj4gUmVmZXJlbmNlRXhwcmVzc2lvbldpdGhUYXJnZXQgPSBFeHBy
ZXNzaW9uKFJlZmVyZW5jZUV4cHJlc3Npb24pCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gQnV0IHRoYXQg
YWxzbyBkb2Vzbid0IHdvcmsgYmVjYXVzZSB0aGUgZmlyc3QgcGFydCB3aWxsIGFsc28gY29uc3Vt
ZQo+Pj4+Pj4+Pj4gYWxsIG9mIHRoZSBpbnB1dCBhbmQgdGhlICIuIiBlbmQgd2lsbCBoYXZlIG5v
dGhpbmcgbGVmdCB0byByZWFkLiBXaGF0IGlzIHRoZQo+Pj4+Pj4+Pj4gcHJvcGVyIHdheSB0byB3
b3JrIHdpdGggdGhlIEdyb3cgTFIgc3VjaCB0aGF0IGl0IGVuZHMgd2l0aCBhIHNwZWNpZmljCj4+
Pj4+Pj4+PiBwYXR0ZXJuPwo+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiAtLQo+Pj4+Pj4+
Pj4gSnVzdGluIENoYXNlCj4+Pj4+Pj4+PiBodHRwOi8vd3d3Lmp1c3Rpbm1jaGFzZS5jb20KPj4+
Pj4+Pj4+Cj4+Pj4+Pj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwo+Pj4+Pj4+Pj4gT01ldGEgbWFpbGluZyBsaXN0Cj4+Pj4+Pj4+PiBPTWV0YUB2cHJp
Lm9yZwo+Pj4+Pj4+Pj4gaHR0cDovL3Zwcmkub3JnL21haWxtYW4vbGlzdGluZm8vb21ldGEKPj4+
Pj4+Pj4+Cj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+Cj4+Pj4+Pj4KPj4+Pj4+PiAtLQo+Pj4+
Pj4+IEp1c3RpbiBDaGFzZQo+Pj4+Pj4+IGh0dHA6Ly93d3cuanVzdGlubWNoYXNlLmNvbQo+Pj4+
Pj4+Cj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Pj4gLS0KPj4+Pj4gSnVzdGluIENoYXNl
Cj4+Pj4+IGh0dHA6Ly93d3cuanVzdGlubWNoYXNlLmNvbQo+Pj4+Pgo+Pj4+Cj4+Pj4KPj4+Pgo+
Pj4+IC0tCj4+Pj4gSnVzdGluIENoYXNlCj4+Pj4gaHR0cDovL3d3dy5qdXN0aW5tY2hhc2UuY29t
Cj4+Pj4KPj4+Cj4+Pgo+Pgo+Pgo+PiAtLQo+PiBKdXN0aW4gQ2hhc2UKPj4gaHR0cDovL3d3dy5q
dXN0aW5tY2hhc2UuY29tCj4+Cj4KPgo+Cj4gLS0KPiBKdXN0aW4gQ2hhc2UKPiBodHRwOi8vd3d3
Lmp1c3Rpbm1jaGFzZS5jb20KPgoKCgotLSAKSnVzdGluIENoYXNlCmh0dHA6Ly93d3cuanVzdGlu
bWNoYXNlLmNvbQotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0KQW4gSFRN
TCBhdHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLgpVUkw6IGh0dHA6Ly92cHJpLm9yZy9waXBlcm1h
aWwvb21ldGEvYXR0YWNobWVudHMvMjAxMTA1MjkvYmFlOThiMWYvYXR0YWNobWVudC0wMDAxLmh0
bQo=


More information about the OMeta mailing list