Re: Managing long/complicated plot commands?
Bjorn Buckwalter <[email protected]> Mon, 30 Mar 2026 09:21:47 +0200
| Newsgroups | gmane.comp.graphics.gnuplot.user |
|---|---|
| Message-ID | <CAOCFVnVENRpfd2b9rYiAum7qjSxp77y8bcsic+vLTcP7hXDiKw@mail.gmail.com> |
VGhhbmtzIEV0aGFuIGZvciBkaWdnaW5nIHRvIHRoZSBib3R0b20gb2YgdGhpcyBhbmQgZm9yIHRo ZSB3b3JrYXJvdW5kISAoSQpndWVzcyB0aGF0IHRoZSBvdGhlciB3b3JrYXJvdW5kIGlzIHNpbXBs eSB0byBub3QgdXNlIGBcYCBhbmQgaGF2ZSB2ZXJ5IGxvbmcKbGluZXMsIGF0IHRoZSBleHBlbnNl IG9mIHJlYWRhYmlsaXR5LCBvZiBjb3Vyc2UuKQoKTm90ZSB0aGF0IEkgc3RpbGwgc2VlIHRoZSBz ZWNvbmQgcHJvYmxlbSB0aGF0IEkgbWVudGlvbmVkIGF0IHRoZSBlbmQgb2YgYW4KZWFybGllciBl bWFpbC4gSSByZXBlYXQgaXQgaGVyZS4gVGhpcyBpcyB0aGUgbWVzc2FnZSBJIGdldCBpZiBJIGlu Y2x1ZGUKeW91ciAianVuayIgY29kZSBwcmlvciB0byBteSBzY3JpcHQuIEFzIGV4cGVjdGVkIHRo ZSBkYXRhIGZpbGVzIGFyZSBub3QKZm91bmQsIGJ1dCB0aGUgc3RyYW5nZSB0aGluZyBpcyB0aGUg bGFzdCBtZXNzYWdlOgoKYGBgCnJlZmVyZW5jZSBhIHN0cmluZyBvZiBsZW5ndGggIDYxNDQKZ2Fy YmFnZQoiJHBsb3RfcG9sYXIiIGxpbmUgMTM6IHdhcm5pbmc6IENhbm5vdCBmaW5kIG9yIG9wZW4g ZmlsZSAid29ybGRfMTEwbS50eHQiCiIkcGxvdF9wb2xhciIgbGluZSAxMzogd2FybmluZzogQ2Fu bm90IGZpbmQgb3Igb3BlbiBmaWxlICJkYXRhL1JlcG9ydEEudHh0IgoiJHBsb3RfcG9sYXIiIGxp bmUgMTM6IHdhcm5pbmc6IENhbm5vdCBmaW5kIG9yIG9wZW4gZmlsZSAiZGF0YS9SZXBvcnRBLnR4 dCIKIiRwbG90X3BvbGFyIiBsaW5lIDEzOiB1bmRlZmluZWQgdmFyaWFibGU6IG9yYml0CmBgYAoK SSBoYXZlIGhhZCB0cm91YmxlIHdoZXJlIHRoaXMgbGFzdCBtZXNzYWdlL2Vycm9yIHBvcHMgdXAg c29tZXRpbWVzIGFuZCBJCmhhdmVuJ3QgYmVlbiBhYmxlIHRvIG5haWwgZG93biB0aGUgZXhhY3Qg Y2lyY3Vtc3RhbmNlcy4gSSBiZWxpZXZlIGluIHRoaXMKY2FzZSB0aGF0IGl0IHJlZmVycyB0byBg dGl0bGUgb3JiaXRgLiBJZiBJIGNoYW5nZSB0aGF0IHRvIGBub3RpdGxlYCBpdApkaXNhcHBlYXJz LiBBbmQgY2hhbmdpbmcgZnJvbSBgbm90aXRsZWAgdG8gYHRpdGxlIG9yYml0YCBpbiB0aGUgcHJl Y2VkaW5nCmxpbmUgZG9lcyBub3QgdHJpZ2dlciB0aGUgbWVzc2FnZS4gVGhpcyBzZWVtcyBhbHNv IHNvbWVob3cgcmVsYXRlZCB0byB0aGUKbGVuZ3RoIG9mIHRoZSBjb21tYW5kLgoKTWFueSB0aGFu a3MsCkJqb3JuCgoKT24gTW9uLCBNYXIgMzAsIDIwMjYgYXQgMTozNOKAr0FNIEV0aGFuIE1lcnJp dHQgPGVhbWVycml0dEBnbWFpbC5jb20+IHdyb3RlOgoKPiBPbiBTdW5kYXksIDI5IE1hcmNoIDIw MjYgMTA6MjU6MTYgUERUIEJqb3JuIEJ1Y2t3YWx0ZXIgd3JvdGU6Cj4gPiBIaSBQaGlsaXBwIGFu ZCBhbGwsCj4gPgo+ID4gU28sIHRyeWluZyB0byBtaW5pbWl6ZSBhIGJpdCBtb3JlLCBJIHJlYWxp emVkIHRoYXQgYSBrZXkgcGllY2Ugb2YKPiA+IGluZm9ybWF0aW9uIHRoYXQgd2FzIG9taXR0ZWQg c2VlbXMgdG8gYmUgdGhhdCB0aGUgcGxvdCBjb21tYW5kIGlzIGluc2lkZQo+IGEKPiA+IGZ1bmN0 aW9uIGJsb2NrLiBCZWxvdyBpcyBhIGNhc2UgdGhhdCByZXByb2R1Y2VzIHRoZSBlcnJvciBmb3Ig bWUgdGhhdCB5b3UKPiA+IGNvdWxkIHRlc3QuIEkgcmVhbGlzZWQgdGhhdCBpZiBJIHRha2UgdGhl IGNvbW1hbmQgb3V0IG9mIHRoZSBmdW5jdGlvbiBpdAo+ID4gd29ya3MgcHJvcGVybHkuCj4gPgo+ ID4gQnkgdGhlIHdheSBJIGFtIG9uIG1hY29zIGFuZCBgZ251cGxvdCAtLXZlcnNpb25gIHNheXMg YGdudXBsb3QgNi4wCj4gPiBwYXRjaGxldmVsIDRgLgo+ID4KPiA+IEhlcmUgaXMgdGhlIGNhc2Ug dGhhdCBmYWlscyB3aXRoIHRoZSBlcnJvciBpbiBxdWVzdGlvbi4gU2luY2UgaXQgZmFpbHMKPiA+ IGVhcmx5IChhdCBsZWFzdCBmb3IgbWUpIHlvdSB3aWxsIG5vdCBhY3R1YWxseSBuZWVkIHRoZSBk YXRhIGZpbGVzOgo+ID4KPiA+IGBgYAo+ID4gbG9jYWwgbG9uKHgpID0geAo+ID4gbG9jYWwgbGF0 KHgpID0geAo+ID4gbG9jYWwgZmlsdGVyX2xhdCh4KSA9IHgKPiA+IGxvY2FsIG5leHRfY29sb3Io eCkgPSAiIzAwRkYwMCIKPiA+IGxvY2FsIG5leHRfY29sb3JfdCh4LCB5KSA9ICIjMDBGRjAwIgo+ ID4KPiA+IGxvY2FsIGxhdDEgPSAwCj4gPgo+ID4gZnVuY3Rpb24gJHBsb3RfcG9sYXIob3JiaXRz KSA8PEVPRgo+ID4gICBwbG90IFwKPiA+ICAgICAnd29ybGRfMTEwbS50eHQnIHVzaW5nIChsb24o JDEpKTooZmlsdGVyX2xhdCgkMikpIGxpbmVjb2xvciAiZ3JheSIKPiA+IG5vdGl0bGUgLCBcCj4g PiAgICAgbGF0KDApIGJsYWNrIGR0IDIgdGl0bGUgIkVxdWF0b3IiICwgXAo+ID4gICAgIGxhdCg2 Ni42KSBibGFjayBkdCA1IHRpdGxlICJBcmN0aWMvQW50YXJjdGljIGNpcmNsZSIsIFwKPiA+ICAg ICBsYXQoLTY2LjYpIGJsYWNrIGR0IDUgbm90aXRsZSAsIFwKPiA+ICAgICBmb3IgW29yYml0IGlu IG9yYml0c10gXAo+ID4gICAgICAgJ2RhdGEvUmVwb3J0Jy5vcmJpdC4nLnR4dCcgdXNpbmcgKGxv bigkNykpOihmaWx0ZXJfbGF0KCQ2KSkgXAo+ID4gICAgICAgICBsYyByZ2IgbmV4dF9jb2xvcl90 KDEsICdjYycpIG5vdGl0bGUsIFwKPiA+ICAgICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ID4g ICAgICAgJ2RhdGEvUmVwb3J0Jy5vcmJpdC4nLnR4dCcgdXNpbmcgKGxvbigkNykpOigkMyA9PSAy MDMwID8KPiA+IGZpbHRlcl9sYXQoJDYpIDogTmFOKSBcCj4gPiAgICAgICAgIGxjIHJnYiBuZXh0 X2NvbG9yKG4pIHRpdGxlIG9yYml0LCBcCj4gPiAgICAgMCwgXAo+ID4gICAgIDEKPiA+IEVPRgo+ ID4KPiA+IF8gPSAkcGxvdF9wb2xhcigiQSIpCj4gPiBgYGAKPiA+Cj4gPiBUaGUgZXJyb3IgbWVz c2FnZToKPiA+Cj4gPiBgYGAKPiA+ICAgcGxvdCAgICAgJ3dvcmxkXzExMG0udHh0JyB1c2luZyAo bG9uKCQxKSk6KGZpbHRlcl9sYXQoJDIpKSBsaW5lY29sb3IKPiA+ICJncmF5IiBub3RpdGxlICwg ICAgIGxhdCgwKSBibGFjayBkdCAyIHRpdGxlICJFcXVhdG9yIiAsICAgICBsYXQoNjYuNikKPiA+ IGJsYWNrIGR0IDUgdGl0bGUgIkFyY3RpYy9BbnRhcmN0aWMgY2lyY2xlIiwgICAgIGxhdCgtNjYu NikgYmxhY2sgZHQgNQo+ID4gbm90aXRsZSAsICAgICBmb3IgW29yYml0IGluIG9yYml0c10gICAg ICAgJ2RhdGEvUmVwb3J0Jy5vcmJpdC4nLnR4dCcKPiB1c2luZwo+ID4gKGxvbigkNykpOihmaWx0 ZXJfbGF0KCQ2KSkgICAgICAgICBsYyByZ2IgbmV4dF9jb2xvcl90KDEsICdjYycpIG5vdGl0bGUs Cj4gPiAgIGZvciBbb3JiaXQgaW4gb3JiaXRzXSAgICAgICAnZGF0YS9SZXBvcnQnLm9yYml0Licu dHh0JyB1c2luZwo+ID4gKGxvbigkNykpOigkMyA9PSAyMDMwID8gZmlsdGVyX2xhdCgkNikgOiBO YU4pICAgICAgICAgbGMgcmdiCj4gbmV4dF9jb2xvcihuKQo+ID4gdGl0bGUgb3JiaXQsICAgICAw LCBcICAgIDEKPiA+Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgo+ID4gIiRwbG90X3BvbGFyIiBsaW5lIDEzOiBpbnZh bGlkIGNoYXJhY3RlciBcCj4gPiBgYGAKPiA+Cj4gPiBJZiBJIGNoYW5nZSB0aGUgYGxpbmVjb2xv cmAgaW4gdGhlIGZpcnN0IGxpbmUgb2YgYHBsb3RgIHRvIGBsY2AsIFRoZQo+IGVycm9yCj4gPiBk b2VzIG5vdCBvY2N1ci4KPgo+IFRoaXMgaXMgYSBzdHJhbmdlIG9uZS4KPgo+IEkgYmVsaWV2ZSBJ IGhhdmUgdHJhY2tlZCBpdCBkb3duIHRvIGEgcHJvZ3JhbSBidWcgdGhhdCBoYXMgaGFzIG5vdGhp bmcgaW4KPiBwYXJ0aWN1bGFyIHRvIGRvIHdpdGggdGhlIGRldGFpbHMgb2YgeW91ciBzY3JpcHQs IGFsdGhvdWdoIGFzIHlvdSBub3RlZCBpdAo+IGlzCj4gbW9yZSBsaWtlbHkgdG8gYmUgdHJpZ2dl cmVkIGJ5IGEgZnVuY3Rpb24gYmxvY2sgdGhhbiBieSBpbnB1dCBmcm9tIGEgZmlsZS4KPiBZb3Ug anVzdCBnb3QgdW5sdWNreS4KPgo+IFRoZSBwcm9ncmFtIGhhcyBubyBmaXhlZCBsaW1pdCBvbiBp bnB1dCBsaW5lIGxlbmd0aCBvciBjb21tYW5kIGxlbmd0aC4KPiBUaGUgc2l6ZSBvZiB0aGUgY29t bWFuZCBidWZmZXIgaXMgZXhwYW5kZWQgaWYgbmVjZXNzYXJ5IHRvIGhvbGQgdGhlCj4gbmV4dCBi aXQgb2YgaW5wdXQuICAgVGhlIG5ldyBpbnB1dCBpcyBhcHBlbmRlZCB0byB0aGUgY3VycmVudCBj b250ZW50IG9mCj4gdGhlIGJ1ZmZlciwgZXhjZXB0IHRoYXQgaWYgdGhlIGN1cnJlbnQgYnVmZmVy IGVuZHMgaW4gYSBiYWNrc2xhc2ggaXQgaXMKPiBhcHBlbmRlZCBvbiB0b3Agb2YgdGhlIGJhY2tz bGFzaCByYXRoZXIgdGhhbiBhZnRlciBpdC4KPgo+IFRoZSBidWcgaXMgdGhhdCB0aGUgY2hlY2sg Zm9yIGEgdHJhaWxpbmcgYmFja3NsYXNoIGdldHMgc2tpcHBlZCBpZiB0aGUgbmV4dAo+IGNodW5r IG9mIGlucHV0IGlzIHRoZSBvbmUgdGhhdCBjYXVzZXMgdGhlIGNvbW1hbmQgYnVmZmVyIHRvIGJl IGV4cGFuZGVkLAo+IHNvIHRoZSBjb21tYW5kIGJ1ZmZlciBpcyBsZWZ0IHdpdGggYSBzcHVyaW91 cyBiYWNrc2xhc2ggY2hhcmFjdGVyLgo+Cj4gSSBkb24ndCBoYXZlIGFuIGltbWVkaWF0ZWx5IHdv cmstYXJvdW5kIGZvciBleGlzdGluZyBiaW5hcmllcyBvdGhlciB0aGFuCj4gdG8gbm90ZSB0aGF0 IG9uY2UgdGhlIGNvbW1hbmQgYnVmZmVyIGhhcyBiZWVuIGV4cGFuZGVkLCB0aGUgYnVnIHdpbGwK PiBub3QgdHJpZ2dlciBhZ2Fpbi4gICBTbyBldmVuIHRob3VnaCB0aGUgZmlyc3QgaW52b2NhdGlv biBvZiB0aGUgZnVuY3Rpb24KPiBibG9jayBmYWlscywgYSBzdWJzZXF1ZW50IGludm9jYXRpb24g d2lsbCBzdWNjZWVkIGJlY2F1c2UgdGhpcyB0aW1lIHRoZQo+IGJ1ZmZlciBkb2VzIG5vdCBuZWVk IHRvIGJlIGV4cGFuZGVkIGFuZCB0aGUgY2hlY2sgZm9yIGEgYmFja3NsYXNoIGlzCj4gbWFkZSBj b3JyZWN0bHkuCj4KPiBPciBJIHN1cHBvc2UgeW91IGNvdWxkIHByZWZpeCB0aGUgc2NyaXB0IHdp dGggYSB1c2VsZXNzIGJpdCBvZiBjb2RlIHRoYXQKPiBjb25zdHJ1Y3RzIGFuZCBleGVjdXRlcyBh IHZlcnkgbG9uZyBjb21tYW5kIHNvIHRoYXQgdGhlIGNvbW1hbmQKPiBidWZmZXIgZ2V0cyBleHBh bmRlZDoKPgo+ICAganVuayA9ICJnYXJiYWdlIGdhcmJhZ2UgZ2FyYmFnZSAiCj4gICBkbyBmb3Ig W2k9MTo4XSB7IGp1bmsgPSBqdW5rIC4ganVuayB9Cj4gICBjb21tYW5kID0gJ3ByaW50ICInIC4g anVuayAuICciIFsxOjhdJwo+ICAgcHJpbnQgInJlZmVyZW5jZSBhIHN0cmluZyBvZiBsZW5ndGgg Iiwgc3RybGVuKGp1bmspCj4gICBldmFsKGNvbW1hbmQpCj4gICAuLi4KPiAgIHN0YXJ0IHlvdXIg cmVhbCBzY3JpcHQgaGVyZQo+Cj4gIC0gRXRoYW4KPgo+Cj4KPiA+IElmIHlvdSB0ZXN0LCB5b3Ug bWF5IGluc3RlYWQgZ2V0Ogo+ID4KPiA+IGBgYAo+ID4gIiRwbG90X3BvbGFyIiBsaW5lIDEzOiB3 YXJuaW5nOiBDYW5ub3QgZmluZCBvciBvcGVuIGZpbGUgIndvcmxkXzExMG0udHh0Igo+ID4gIiRw bG90X3BvbGFyIiBsaW5lIDEzOiB3YXJuaW5nOiBDYW5ub3QgZmluZCBvciBvcGVuIGZpbGUKPiAi ZGF0YS9SZXBvcnRBLnR4dCIKPiA+ICIkcGxvdF9wb2xhciIgbGluZSAxMzogd2FybmluZzogQ2Fu bm90IGZpbmQgb3Igb3BlbiBmaWxlCj4gImRhdGEvUmVwb3J0QS50eHQiCj4gPiAiJHBsb3RfcG9s YXIiIGxpbmUgMTM6IHVuZGVmaW5lZCB2YXJpYWJsZTogb3JiaXQKPiA+IGBgYAo+ID4KPiA+IEJ5 IHRoZSB3YXksIHRoZSBsYXN0IG1lc3NhZ2UgaXMgcmF0aGVyIGN1cmlvdXMuIEkgaGF2ZSBoYWQg dHJvdWJsZSB3aGVyZQo+ID4gdGhpcyBwb3BzIHVwIHNvbWV0aW1lcyBhbmQgSSBoYXZlbid0IGJl ZW4gYWJsZSB0byBuYWlsIGRvd24gdGhlIGV4YWN0Cj4gPiBjaXJjdW1zdGFuY2VzLiBJIGJlbGll dmUgaW4gdGhpcyBjYXNlIHRoYXQgaXQgcmVmZXJzIHRvIGB0aXRsZSBvcmJpdGAuCj4gSWYgSQo+ ID4gY2hhbmdlIHRoYXQgdG8gYG5vdGl0bGVgIGl0IGRpc2FwcGVhcnMuIEFuZCBjaGFuZ2luZyBm cm9tIGBub3RpdGxlYCB0bwo+ID4gYHRpdGxlIG9yYml0YCBpbiB0aGUgcHJlY2VkaW5nIGxpbmUg ZG9lcyBub3QgdHJpZ2dlciB0aGUgbWVzc2FnZS4gVGhpcwo+ID4gc2VlbXMgYWxzbyBzb21laG93 IHJlbGF0ZWQgdG8gdGhlIGxlbmd0aCBvZiB0aGUgY29tbWFuZC4KPiA+Cj4gPiBJIGd1ZXNzIEhl cm7DoW4ncyBzdWdnZXN0aW9uIHRvIGdlbmVyYXRlIGEg4oCcZmxhdOKAnSBnbnVwbG90IHNjcmlw dCB3aXRoIGEKPiA+IG5vbi1nbnVwbG90IHNjcmlwdCBjb3VsZCBhbGxvdyBtZSB0byBhdm9pZCB1 c2luZyBmdW5jdGlvbiBibG9ja3MuIChBdAo+IGxlYXN0Cj4gPiB0aGF0IGlzIGhvdyBJIGludGVy cHJldGVkIHRoZSBzdWdnZXN0aW9uKS4KPiA+Cj4gPiBUaGFua3MsCj4gPiBCam9ybgo+ID4KPiA+ Cj4gPiBPbiBTdW4sIE1hciAyOSwgMjAyNiBhdCAyOjI04oCvUE0gUGhpbGlwcCBLLiBKYW5lcnQg PHBoaWxpcHBAamFuZXJ0Lm1lPgo+IHdyb3RlOgo+ID4KPiA+ID4gT24gU3VuLCAyOSBNYXIgMjAy NiAxMTo0OTowMSArMDIwMAo+ID4gPiBCam9ybiBCdWNrd2FsdGVyIDxiam9ybi5idWNrd2FsdGVy QGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+Cj4gPiA+ID4gVGhhbmtzIEplc3BlciBhbmQgUGhpbHBw LiBKZXNwZXJzIHN1Z2dlc3Rpb24gd2l0aCB2YXJpYWJsZXMgY2FuCj4gPiA+ID4gbGlrZWx5IGhl bHAg4oCTIEkgd2lsbCB0cnkgaXQhCj4gPiA+Cj4gPiA+IEl0J3Mgbm90IHNvIGVhc3kgZm9yIG1l IHRvIHJlcHJvZHVjZSB5b3VyCj4gPiA+IHByb2JsZW0sIGJlY2F1c2UgSSBkb24ndCBoYXZlIGFj Y2VzcyB0byB0aGUKPiA+ID4gZGF0YSBmaWxlcywgZXRjLgo+ID4gPgo+ID4gPiBUaGUgY21kIGRv ZXMgbm90IHNlZW0gb3Zlcmx5IGxvbmcuIEkgc3RpbGwKPiA+ID4gc3VzcGVjdCB0aGF0IHRoZXJl IGlzIGEgcHJvYmxlbSB3aXRoIG9uZSBvZgo+ID4gPiB0aGUgQ1JzIG5vdCBiZWluZyBwcm9wZXJs eSBlc2NhcGVkIC0gc3VjaAo+ID4gPiBhcyBoYXZpbmcgYSBibGFuayBhZnRlciBhIGJhY2tzbGFz aCwgYnV0Cj4gPiA+IGJlZm9yZSB0aGUgYWN0dWFsIENSLiBUaGUgZXJyb3IgbXNnIGluIHlvdXIK PiA+ID4gb3JpZ2luYWwgZW1haWwgcG9pbnRzIHRvIHRoYXQsIHRvby4KPiA+ID4KPiA+ID4gSSBk aWQgbm90IGRpZyBpbnRvIHRoZSBjb2RlIHRvIHNlZSB3aGV0aGVyCj4gPiA+IHRoZXJlIGlzIGFu IGFjdHVhbCBsaW1pdCB0byB0aGUgbGVuZ3RoIG9mCj4gPiA+IHRoZSBjbWQgbGluZS4gRXRoYW4g d291bGQga25vdy4KPiA+ID4KPiA+ID4gRG8geW91IGVudGVyIHRoZSBjbWQgaW50ZXJhY3RpdmVs eSwgb3IgZG8KPiA+ID4geW91IGhhdmUgaXQgaW4gYSBmaWxlLCB3aGljaCB5b3UgbG9hZD8KPiA+ ID4KPiA+ID4gPgo+ID4gPiA+IEZZSSBoZXJlIGlzIGFuIGV4YW1wbGUgcGxvdCBjb21tYW5kIHRo YXQgZmFpbHM6Cj4gPiA+ID4KPiA+ID4gPiBgYGAKPiA+ID4gPiAgIHBsb3QgXAo+ID4gPiA+ICAg ICAnd29ybGRfMTEwbS50eHQnIHVzaW5nIChsb24oJDEpKTooZmlsdGVyX2xhdCgkMikpIHdpdGgg bGluZXMKPiA+ID4gPiBsaW5lY29sb3IgImdyYXkiIG5vdGl0bGUgLCBcCj4gPiA+ID4gICAgIGxh dCgwKSB3aXRoIGxpbmVzIGJsYWNrIGRhc2h0eXBlIDIgdGl0bGUgIkVxdWF0b3IiICwgXAo+ID4g PiA+ICAgICBsYXQoNjYuNikgd2l0aCBsaW5lcyBibGFjayBkYXNodHlwZSA1IHRpdGxlICJBcmN0 aWMvQW50YXJjdGljCj4gPiA+ID4gY2lyY2xlIiwgXCBsYXQoLTY2LjYpIHdpdGggbGluZXMgYmxh Y2sgZGFzaHR5cGUgNSBub3RpdGxlICwgXAo+ID4gPiA+ICAgICBmb3IgW29yYml0IGluIG9yYml0 c10gXAo+ID4gPiA+ICAgICAgICdkYXRhL1JlcG9ydCcub3JiaXQuJy50eHQnIHVzaW5nIChsb24o JDcpKTooZmlsdGVyX2xhdCgkNikpIFwKPiA+ID4gPiAgICAgICAgIHdpdGggbGluZXMgbGluZWNv bG9yIHJnYiBuZXh0X2NvbG9yX3QobiwgJ2NjJykgbm90aXRsZSwgXAo+ID4gPiA+ICAgICBmb3Ig W29yYml0IGluIG9yYml0c10gXAo+ID4gPiA+ICAgICAgICdkYXRhL1JlcG9ydCcub3JiaXQuJy50 eHQnIHVzaW5nIChsb24oJDcpKTooJDMgPT0gMjAzMCA/Cj4gPiA+ID4gZmlsdGVyX2xhdCgkNikg OiBOYU4pIFwKPiA+ID4gPiAgICAgICAgIHdpdGggbGluZXMgbGluZWNvbG9yIHJnYiBuZXh0X2Nv bG9yKG4pIHRpdGxlIG9yYml0LCBcCj4gPiA+ID4gICAgIGxhdChsYXQxKSBibGFjayBub3RpdGxl ICAjIGVkZ2Ugb2YgcGxvdAo+ID4gPiA+IGBgYAo+ID4gPiA+Cj4gPiA+ID4gVGhlcmUgaXMgQSBM T1QgZ29pbmcgb24gdGhlcmUgd2l0aCB2YXJpb3VzIGN1c3RvbSBmdW5jdGlvbnMsIGV0Yy4gSQo+ ID4gPiA+IHRyaWVkIHRvIG1ha2UgYSBtaW5pbWFsIGFuZCDigJxkZXBlbmRlbmN5LWZyZWXigJ0g ZXhhbXBsZSBidXQgZmFpbGVkIHRvCj4gPiA+ID4gcmVwcm9kdWNlIHRoZSBiZWhhdmlvci4gSSBj b3VsZCBtYXliZSB0cnkgaGFyZGVyLgo+ID4gPiA+Cj4gPiA+ID4gSGVyZSBpcyBpbiBhbnkgY2Fz ZSB0aGUgZXJyb3IgZnJvbSBnbnVwbG90LiBUaGUgY29tbWFuZCBoYXMgYmVlbgo+ID4gPiA+IGNv bmNhdGVuYXRlZCBhdCBhbGwgYmFza3NsYXNoZXMgZXhjZXB0IHRoZSBsYXN0Ogo+ID4gPiA+Cj4g PiA+ID4gYGBgCj4gPiA+ID4gICBwbG90ICAgICAnd29ybGRfMTEwbS50eHQnIHVzaW5nIChsb24o JDEpKTooZmlsdGVyX2xhdCgkMikpIHdpdGgKPiA+ID4gPiBsaW5lcyBsaW5lY29sb3IgImdyYXki IG5vdGl0bGUgLCAgICAgbGF0KDApIHdpdGggbGluZXMgYmxhY2sgZGFzaHR5cGUKPiA+ID4gPiAy IHRpdGxlICJFcXVhdG9yIiAsICAgICBsYXQoNjYuNikgd2l0aCBsaW5lcyBibGFjayBkYXNodHlw ZSA1IHRpdGxlCj4gPiA+ID4gIkFyY3RpYy9BbnRhcmN0aWMgY2lyY2xlIiwgICAgIGxhdCgtNjYu Nikgd2l0aCBsaW5lcyBibGFjayBkYXNodHlwZSA1Cj4gPiA+ID4gbm90aXRsZSAsICAgICBmb3Ig W29yYml0IGluIG9yYml0c10gICAgICAgJ2RhdGEvUmVwb3J0Jy5vcmJpdC4nLnR4dCcKPiA+ID4g PiB1c2luZyAobG9uKCQ3KSk6KGZpbHRlcl9sYXQoJDYpKSAgICAgICAgIHdpdGggbGluZXMgbGlu ZWNvbG9yIHJnYgo+ID4gPiA+IG5leHRfY29sb3JfdChuLCAnY2MnKSBub3RpdGxlLCAgICAgZm9y IFtvcmJpdCBpbiBvcmJpdHNdCj4gPiA+ID4gJ2RhdGEvUmVwb3J0Jy5vcmJpdC4nLnR4dCcgdXNp bmcgKGxvbigkNykpOigkMyA9PSAyMDMwID8KPiA+ID4gPiBmaWx0ZXJfbGF0KCQ2KSA6IE5hTikg ICAgICAgICB3aXRoIGxpbmVzIGxpbmVjb2xvciByZ2IgbmV4dF9jb2xvcihuKQo+ID4gPiA+IHRp dGxlIG9yYml0LCBcICAgIGxhdChsYXQxKSBibGFjayBub3RpdGxlICAjIGVkZ2Ugb2YgcGxvdAo+ ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4g PiA+ID4KPiA+ID4gPiAgICBeCj4gPiA+ID4gIiRwbG90X3BvbGFyIiBsaW5lIDE1OiBpbnZhbGlk IGNoYXJhY3RlciBcCj4gPiA+ID4gYGBgCj4gPiA+ID4KPiA+ID4gPiBUaGVyZSBpcyBub3RoaW5n IHdyb25nIHdpdGggdGhlIGJhY2tzbGFzaCAobm8gdHJhaWxpbmcgc3BhY2VzLCBldGMuKS4KPiA+ ID4gPgo+ID4gPiA+IElmIEkgY2hhbmdlIGl0IGFzIHNvIChqdXN0IHNob3J0ZW5pbmcgc3R5bGUg ZGVmaW5pdGlvbnMpIGl0IHdvcmtzOgo+ID4gPiA+Cj4gPiA+ID4gYGBgCj4gPiA+ID4gICBzZXQg c3R5bGUgZGF0YSBsaW5lcwo+ID4gPiA+ICAgcGxvdCBcCj4gPiA+ID4gICAgICd3b3JsZF8xMTBt LnR4dCcgdXNpbmcgKGxvbigkMSkpOihmaWx0ZXJfbGF0KCQyKSkgbGMgImdyYXkiCj4gPiA+ID4g bm90aXRsZSAsIFwgbGF0KDApIGJsYWNrIGR0IDIgdGl0bGUgIkVxdWF0b3IiICwgXAo+ID4gPiA+ ICAgICBsYXQoNjYuNikgYmxhY2sgZHQgNSB0aXRsZSAiQXJjdGljL0FudGFyY3RpYyBjaXJjbGUi LCBcCj4gPiA+ID4gICAgIGxhdCgtNjYuNikgYmxhY2sgZHQgNSBub3RpdGxlICwgXAo+ID4gPiA+ ICAgICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ID4gPiA+ICAgICAgICdkYXRhL1JlcG9ydCcu b3JiaXQuJy50eHQnIHVzaW5nIChsb24oJDcpKTooZmlsdGVyX2xhdCgkNikpIFwKPiA+ID4gPiAg ICAgICAgIGxjIHJnYiBuZXh0X2NvbG9yX3QobiwgJ2NjJykgbm90aXRsZSwgXAo+ID4gPiA+ICAg ICBmb3IgW29yYml0IGluIG9yYml0c10gXAo+ID4gPiA+ICAgICAgICdkYXRhL1JlcG9ydCcub3Ji aXQuJy50eHQnIHVzaW5nIChsb24oJDcpKTooJDMgPT0gMjAzMCA/Cj4gPiA+ID4gZmlsdGVyX2xh dCgkNikgOiBOYU4pIFwKPiA+ID4gPiAgICAgICAgIGxjIHJnYiBuZXh0X2NvbG9yKG4pIHRpdGxl IG9yYml0LCBcCj4gPiA+ID4gICAgIGxhdChsYXQxKSBibGFjayBub3RpdGxlICAjIGVkZ2Ugb2Yg cGxvdAo+ID4gPiA+IGBgYAo+ID4gPiA+Cj4gPiA+ID4gQWxsIEkgZGlkIHdhcyByZW1vdmUgYHdp dGggbGluZXNgICh1c2luZyBgc2V0IHN0eWxlIGRhdGEgbGluZXNgCj4gPiA+ID4gaW5zdGVhZCBh bmQgcmVwbGFjZSBgbGluZWNvbG9yYCBhbmQgYGRhc2h0eXBlYCB3aXRoIGBsY2AgYW5kIGBkdGAs Cj4gPiA+ID4gcmVzcGVjdGl2ZWx5LiBUaGlzIGlzIHdoeSBJIHNheSBpdCBzZWVtcyB0byBiZSBz b21laG93IHJlbGF0ZWQgdG8gdGhlCj4gPiA+ID4gbGVuZ3RoL251bWJlciBvZiBjaGFyYWN0ZXJz IG9mIGEgY29tbWFuZC4KPiA+ID4gPgo+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiBCam9ybgo+ID4g PiA+Cj4gPiA+ID4KPiA+ID4gPiBPbiBTdW4sIE1hciAyOSwgMjAyNiBhdCA1OjI44oCvQU0gUGhp bGlwcCBLLiBKYW5lcnQgPHBoaWxpcHBAamFuZXJ0Lm1lCj4gPgo+ID4gPiA+IHdyb3RlOgo+ID4g PiA+Cj4gPiA+ID4gPiBPbiBTYXQsIDI4IE1hciAyMDI2IDIyOjEzOjQwICswMTAwCj4gPiA+ID4g PiBCam9ybiBCdWNrd2FsdGVyIDxiam9ybi5idWNrd2FsdGVyQGdtYWlsLmNvbT4gd3JvdGU6Cj4g PiA+ID4gPgo+ID4gPiA+ID4gPiBISSBhbGwsCj4gPiA+ID4gPgo+ID4gPiA+ID4gSG93IGxvbmcg KGluIGNoYXJhY3RlcnMpIGFyZSB0aGUgY29tbWFuZCBsaW5lcyB0aGF0Cj4gPiA+ID4gPiB5b3Ug YXJlIHVzaW5nPyBNaW5lIGZyZXF1ZW50bHkgcnVuIGxvbmcsIGFuZCBpdCBoYXMKPiA+ID4gPiA+ IG5ldmVyIGJlZW4gYSBwcm9ibGVtLgo+ID4gPiA+ID4KPiA+ID4gPiA+IElzIGl0IHBvc3NpYmxl IHRoYXQgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBlbWJlZGRlZAo+ID4gPiA+ID4gbmV3bGluZXMs IG9yIHRoYXQgc29tZXRoaW5nIGdvZXMgYXdyeSBpZiB5b3VyIGNvbW1hbmQKPiA+ID4gPiA+IGxp bmUgcnVucyBpbnRvIGEgbmV3IGxpbmUgaW4geW91ciB0ZXJtaW5hbD8KPiA+ID4gPiA+Cj4gPiA+ ID4gPiBCZXN0LAo+ID4gPiA+ID4KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICBQaC4KPiA+ID4g PiA+Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEkgcmF0aGVyIG9mdGVuIHJ1biBpbnRvIGEgcHJv YmxlbSBvZiBteSBwbG90IGNvbW1hbmRzIGJlaW5nIHRvbwo+ID4gPiA+ID4gPiBsb25nLCB0eXBp Y2FsbHkgcmVzdWx0aW5nIGluIGEgbm90LXZlcnktaGVscGZ1bCBlcnJvciBtZXNzYWdlCj4gPiA+ ID4gPiA+IHN1Y2ggYXM6Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ICIkcGxvdF9wb2xhciIgbGlu ZSAyMTogaW52YWxpZCBjaGFyYWN0ZXIgXAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBJdCB0b29r IGEgbG90IG9mIGhlYWQgc2NyYXRjaGluZyB0byByZWFsaXplIHRoZSByb290IG9mIHRoZQo+ID4g PiA+ID4gPiBwcm9ibGVtLiBJIGFzc3VtZSB0aGVyZSBhcmUgc3Ryb25nIHJlYXNvbnMgZm9yIGJv dGggdGhlCj4gPiA+ID4gPiA+IGxpbWl0YXRpb24gb24gY29tbWFuZCBsZW5ndGggYW5kIHRoZSBw b29yIGVycm9yIG1lc3NhZ2UuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEkgY2Fubm90IGJlIHRo ZSBvbmx5IG9uZSBydW5uaW5nIGludG8gdGhpcyBwcm9ibGVtLiBUaGUgc2l0dWF0aW9uCj4gPiA+ ID4gPiA+IGJlaW5nIHdoYXQgaXQgaXMsIHdoYXQgYXJlIHRoZSByZXN0IG9mIHlvdSBkb2luZyB0 byBtYW5hZ2Ugd2hlbgo+ID4gPiA+ID4gPiB5b3UgcnVuIHVwIGFnYWluc3QgdGhpcyBsaW1pdD8g UmVwbGFjaW5nIGBsaW5lY29sb3JgIHdpdGggYGxjYCwKPiA+ID4gPiA+ID4gZXRjLCB3aWxsIG9u bHkgZ2V0IG1lIHNvIGZhciBhbmQgYXQgdGhlIGV4cGVuc2Ugb2YgcmVhZGFiaWxpdHkuCj4gPiA+ ID4gPiA+Cj4gPiA+ID4gPiA+IE1hbnkgdGhhbmtzLAo+ID4gPiA+ID4gPiBCam9ybgo+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4gPiA+ID4gPiBnbnVwbG90LWluZm8gbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiA+ IGdudXBsb3QtaW5mb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4gPiA+ID4gTWVtYmVyc2hp cCBtYW5hZ2VtZW50IHZpYToKPiA+ID4gPiA+ID4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5u ZXQvbGlzdHMvbGlzdGluZm8vZ251cGxvdC1pbmZvCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4g PiA+Cj4gPiA+ID4gPiAtLQo+ID4gPiA+ID4KPiA+ID4gPiA+IFBoaWxpcHAgSy4gSmFuZXJ0Cj4g PiA+ID4gPiB3d3cuamFuZXJ0Lm1lCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiBnbnVw bG90LWluZm8gbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiBnbnVwbG90LWluZm9AbGlzdHMuc291cmNl Zm9yZ2UubmV0Cj4gPiA+ID4gPiBNZW1iZXJzaGlwIG1hbmFnZW1lbnQgdmlhOgo+ID4gPiA+ID4g aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vZ251cGxvdC1pbmZv Cj4gPiA+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAtLQo+ID4gPgo+ID4gPiBQaGlsaXBw IEsuIEphbmVydAo+ID4gPiB3d3cuamFuZXJ0Lm1lCj4gPiA+Cj4gPiA+Cj4gPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+IGdudXBsb3QtaW5m byBtYWlsaW5nIGxpc3QKPiA+ID4gZ251cGxvdC1pbmZvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ ID4gPiBNZW1iZXJzaGlwIG1hbmFnZW1lbnQgdmlhOgo+ID4gPiBodHRwczovL2xpc3RzLnNvdXJj ZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9nbnVwbG90LWluZm8KPiA+ID4KPiA+Cj4gPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gZ251cGxvdC1p bmZvIG1haWxpbmcgbGlzdAo+ID4gZ251cGxvdC1pbmZvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ ID4gTWVtYmVyc2hpcCBtYW5hZ2VtZW50IHZpYToKPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdl Lm5ldC9saXN0cy9saXN0aW5mby9nbnVwbG90LWluZm8KPiA+Cj4KPgo+Cj4KPgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZ251cGxvdC1pbmZvIG1haWxp bmcgbGlzdApnbnVwbG90LWluZm9AbGlzdHMuc291cmNlZm9yZ2UubmV0Ck1lbWJlcnNoaXAgbWFu YWdlbWVudCB2aWE6IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L2dudXBsb3QtaW5mbwo=