From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: Questions about Using Perf at Dom0 Date: Tue, 30 Aug 2016 10:39:10 -0400 Message-ID: <997e9785-25e5-e1e2-bd3d-2069d3c38dd7@oracle.com> References: <10b5920a-f3ab-0d96-2835-36cbc2dcb566@oracle.com> <937182DE-C553-4BC8-98B5-EE5E79DA8116@umd.edu> <3192e9b7-09c2-7f68-8bbf-62d4bd247b1b@oracle.com> <8bb52df5-020f-a42f-a30f-2720bd1bdd96@oracle.com> <0ACBD191-759E-4C60-9B30-A10519EE2BC2@umd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <0ACBD191-759E-4C60-9B30-A10519EE2BC2@umd.edu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Sanghyun Hong Cc: Tudor Dumitras , Alina Nicolae , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org T24gMDgvMjkvMjAxNiAwODoxMiBQTSwgU2FuZ2h5dW4gSG9uZyB3cm90ZToKPiBIaSBCb3Jpcywg Cj4KPiAvW0FwcHJlY2lhdGUgZm9yIHlvdXIgc3VwcG9ydCwgYW5kIEkgaGF2ZSBvbmUgbGFzdCBx dWVzdGlvbl0vCj4gIAo+IFNpbmNlIHdl4oCZcmUgdXNpbmcgdGhlICovWGVuLyogaHlwZXJ2aXNv ciAobm90IHRoZSBLVk0gdGhhdCBpcwo+IHR5cGUtSUkpLCBJIHRoaW5rIHdlIGNhbm5vdCB1c2Ug dGhlIC8qcGVyZiBrKi8qL3ZtLyogY29tbWFuZC4gSGVyZSBhcmUKPiB0aGUgb3V0cHV0czoKPgo+ IC0tLS0tLS0tCj4gIyBwZXJmIGt2bSAtLWhvc3QgLS1ndWVzdCByZWNvcmQgLUMgMSBzbGVlcCAx Cj4gWyBwZXJmIHJlY29yZDogV29rZW4gdXAgMSB0aW1lcyB0byB3cml0ZSBkYXRhIF0KPiBXYXJu aW5nOgo+IDEgdW5wcm9jZXNzYWJsZSBzYW1wbGVzIHJlY29yZGVkLgo+IERvIHlvdSBoYXZlIGEg S1ZNIGd1ZXN0IHJ1bm5pbmcgYW5kIG5vdCB1c2luZyAncGVyZiBrdm0nPwo+IFsgcGVyZiByZWNv cmQ6IENhcHR1cmVkIGFuZCB3cm90ZSAwLjI0MiBNQiBwZXJmLmRhdGEua3ZtIF0KCkFzIEkgc2Fp ZCwgdGhpcyB3b3JrcyBmb3IgbWUgZm9yIFhlbiBndWVzdHMuIEkgdGhvdWdodCBwZXJmIGt2bSBt aWdodApjaGVjayB3aGV0aGVyIHRoZXJlIGlzIGEgS1ZNIGd1ZXN0IGJ1dCBpdCdzIG5vdC4gVGhl IGVycm9yIG1lc3NhZ2UgdGhhdAp5b3Ugc2VlIGlzIGdlbmVyYXRlZCBhdCB0aGUgZW5kIG9mIHNh bXBsaW5nIGlmIG5vIHNhbXBsZXMgYXJlIGZvdW5kLgoKV2hhdCBYZW4gYW5kIExpbnV4IHZlcnNp b25zIGFyZSB5b3UgcnVubmluZyAoeGwgaW5mbyk/CgpEbyB5b3Uga25vdyB3aGV0aGVyIHBlcmZv cm1hbmNlIGNvdW50ZXJzIGFyZSBlbmFibGVkIChkbWVzZyB8IGdyZXAKUGVyZm9ybWFuY2UpPwoK Pgo+ICMgcGVyZiBrdm0gLS1ndWVzdCAtLWhvc3QgcmVwb3J0IC0tc3RkaW8KPiBXYXJuaW5nOgo+ IDEgdW5wcm9jZXNzYWJsZSBzYW1wbGVzIHJlY29yZGVkLgo+IERvIHlvdSBoYXZlIGEgS1ZNIGd1 ZXN0IHJ1bm5pbmcgYW5kIG5vdCB1c2luZyAncGVyZiBrdm0nPwo+IEVycm9yOgo+IFRoZSBwZXJm LmRhdGEua3ZtIGZpbGUgaGFzIG5vIHNhbXBsZXMhCj4gIyBUbyBkaXNwbGF5IHRoZSBwZXJmLmRh dGEgaGVhZGVyIGluZm8sIHBsZWFzZSB1c2UKPiAtLWhlYWRlci8tLWhlYWRlci1vbmx5IG9wdGlv bnMuCj4gIwo+IC0tLS0tLS0tCj4KPiBJbiBhZGRpdGlvbiwgd2UgdXNlZCBwZXJmIHRvIGNvbGxl Y3QgaGFyZHdhcmUgcGVyZm9ybWFuY2UgY291bnRlcnMsCj4gbm90IHRoZSBzeW1ib2xzLCBrZXJu ZWwgZnVuY3Rpb25zLCBvciBvdGhlciBzdHVmZnMuCgpTeW1ib2xzIGFyZSBhZGRlZCB0byBzYW1w bGVzIGF0IHRoZSBlbmQgLS0tIHBlcmYgZG9lc24ndCBjb2xsZWN0IHRoZW0KZXhwbGljaXRseS4K Cj4gVGh1cywgd2hhdCB3ZSByZWFsbHkgbmVlZCBpcyB0aGF0IHdlIG5lZWQgdG8gc2VwYXJhdGUg dGhlIGhhcmR3YXJlCj4gY291bnRlcnMgYnkgZWFjaCBkb21haW4gaWYgaXTigJlzIHBvc3NpYmxl IChpLmUuIHdlIHdhbnQgdG8gdmVyaWZ5IHNvbWUKPiBjb3VudGVycyBhcmUgZnJvbSBEb20wLCBv dGhlciBjb3VudGVycyBhcmUgZnJvbSBEb20xLCBhbmQgdGhlIG90aGVycwo+IGNvbWUgZnJvbSBE b20yLCBldGMuKQo+Cj4gSeKAmW0gcHJldHR5IG11Y2ggc3VyZSB0aGF0IHRoZSBjb2RlIHlvdSB1 c2VkIHRvIGRpc3Rpbmd1aXNoIGVhY2ggZG9tYWluCj4gZnJvbSBzYW1wbGVzIHdpbGwgd29yay4g SSB3b25kZXIgaWYgeW91IGNhbiBhZ3JlZSB3aXRoIHRoYXQuCgoKSXQgZG9lcyB3b3JrLiBOb3Rl IHRob3VnaCB0aGF0IHlvdSB3aWxsIG9ubHkgYmUgYWJsZSBkaXN0aW5ndWlzaCBkb20wCmZyb20g Z3Vlc3RzLCBpLmUuIGFsbCBub24tZG9tMCBndWVzdHMgYXJlIHByZXNlbnRlZCBieSBwZXJmIGFz IGEgc2luZ2xlCmd1ZXN0LCB5b3Ugd29uJ3QgYmUgYWJsZSB0byBzZXBhcmF0ZSBndWVzdDEgZnJv bSBndWVzdDIuIEkgZG9uJ3Qga25vdwp3aGV0aGVyIHRoaXMgaXMgcGVyZiBrdm0gbGltaXRhdGlv biBvciAobW9yZSBsaWtlbHkpIHNvbWV0aGluZyBzcGVjaWZpYwp0byBwZXJmIGt2bSBwcm9jZXNz aW5nIHNhbXBsZXMgZnJvbSBYZW4uIEkndmUgbmV2ZXIgbG9va2VkIGF0IHRoYXQuCgotYm9yaXMK Cj4KPiBCZXN0LAo+IFNhbmdoeXVuLgo+Cj4KPj4gT24gQXVnIDI5LCAyMDE2LCBhdCA2OjM3IFBN LCBCb3JpcyBPc3Ryb3Zza3kKPj4gPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tIDxtYWlsdG86 Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+PiB3cm90ZToKPj4KPj4gT24gMDgvMjkvMjAxNiAw NTo0OCBQTSwgU2FuZ2h5dW4gSG9uZyB3cm90ZToKPj4+IEkgcmVhbGx5IGFwcHJlY2lhdGUgZm9y IHlvdXIgYW5zd2Vycy4gTGFzdCBidXQgbm90IHRoZSBsZWFzdCwgSSB3YW50Cj4+PiB0byBtYWtl IGl0IG1vcmUgY2xlYXI6Cj4+Pgo+Pj4+IFRoZSBoeXBlcnZpc29yIHdpbGwgcHJvdmlkZSBkb20w IHdpdGggYSByYXcgc2FtcGxlIChndWVzdCdzLCBkb20wJ3Mgb3IKPj4+PiBoeXBlcnZpc29yJ3Mp IGFuZCB0aGVuIGl0J3MgdGhlIGpvYiBvZiBkb20wIGtlcm5lbCB0byBwcm9wZXJseSB0YWcgYW5k Cj4+Pj4gZm9ybWF0IGl0IGFuZCBtYWtlIGl0IGF2YWlsYWJsZSB0byB0aGUgdXNlcmxhbmQgKGku ZS4gcGVyZiBpdHNlbGYpLgo+Pj4gRG9lcyB0aGlzIG1lYW4gaWYgSSBydW4gdGhlIHBlcmYgY29t bWFuZCBvbiBEb20wIHdoaWxlIG90aGVyIGRvbWFpbnMKPj4+IGFyZSBydW5uaW5nLCB3ZSBjYW4g Y29sbGVjdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciB2YWx1ZXMgd2l0aG91dAo+Pj4gZGlzdGlu Z3Vpc2hpbmcgZWFjaCBkb21haW4sIHJpZ2h0Pwo+Pgo+PiBXaXRoICdzZWxmJyBtb2RlIGVhY2gg ZG9tYWluIGNvbGxlY3RzIHNhbXBsZXMgb25seSBmb3IgaXRzZWxmLgo+Pgo+PiBBbmQgZm9yICdh bGwnIG1vZGUgYXBwYXJlbnRseSB0aGlzIGtpbmQgb2Ygd29ya3MuIFdpdGggcGVyZiBidWlsZCBm cm9tCj4+IExpbnV4IDQuNyB0cmVlOgo+Pgo+PiByb290QGhhc3dlbGw+IHhsIHZjcHUtbGlzdAo+ PiBOYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJRCAgVkNQVSAgIENQVSBTdGF0 ZSAgIFRpbWUocykKPj4gQWZmaW5pdHkgKEhhcmQgLyBTb2Z0KQo+PiBEb21haW4tMCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCAgICAgMCAgICAwICAgLWItICAgICAgNTUuMCAgMAo+PiAv IGFsbAo+PiBEb21haW4tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgMSAgICAx ICAgci0tICAgICAgMzUuOSAgMQo+PiAvIGFsbAo+PiBEb21haW4tMCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCAgICAgMiAgICAyICAgLWItICAgICAgMzYuOSAgMgo+PiAvIGFsbAo+PiBE b21haW4tMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgMyAgICAzICAgLWItICAg ICAgMzYuMiAgMwo+PiAvIGFsbAo+PiBmZWRvcmEgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMSAgICAgMCAgICAxICAgLWItICAgICAxODMuNyAgMQo+PiAvIGFsbAo+PiByb290QGhhc3dl bGw+IC4vcGVyZiBrdm0gLS1ndWVzdCAtLWhvc3QgLS1ndWVzdGthbGxzeW1zPS90bXAva2FsbHN5 bXMKPj4gcmVjb3JkIC1DIDEgc2xlZXAgMQo+PiBbIHBlcmYgcmVjb3JkOiBXb2tlbiB1cCAxIHRp bWVzIHRvIHdyaXRlIGRhdGEgXQo+PiBbIHBlcmYgcmVjb3JkOiBDYXB0dXJlZCBhbmQgd3JvdGUg MC4xMzkgTUIgcGVyZi5kYXRhLmt2bSAoNjAgc2FtcGxlcykgXQo+PiByb290QGhhc3dlbGw+IC4v cGVyZiBrdm0gLS1ndWVzdCAtLWhvc3QgLS1ndWVzdGthbGxzeW1zPS90bXAva2FsbHN5bXMKPj4g cmVwb3J0IC0tc3RkaW8KPj4gLi4uCj4+ICMgT3ZlcmhlYWQgIENvbW1hbmQgICAgICAgICAgU2hh cmVkIE9iamVjdCAgICAgICAgICAgCj4+IFN5bWJvbCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCj4+ICMgLi4uLi4uLi4gIC4uLi4uLi4uLi4uLi4uLiAgLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4gCj4+IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLgo+PiAjCj4+ICAgIDE0LjQ4JSAgc3dhcHBlciAgICAgICAgICBbdW5rbm93bl0gICAgICAg ICAgICAgICAgW2tdCj4+IDB4ZmZmZjgyZDA4MDFjN2EzNwo+PiAgICAgNi4wNiUgIHN3YXBwZXIg ICAgICAgICAgW2tlcm5lbC5rYWxsc3ltc10gICAgICAgIFtrXQo+PiB1cGRhdGVfYmxvY2tlZF9h dmVyYWdlcwo+PiAgICAgNC4zOCUgIHN3YXBwZXIgICAgICAgICAgW3Vua25vd25dICAgICAgICAg ICAgICAgIFtrXQo+PiAweGZmZmY4MmQwODAxMzY5MGYKPj4gICAgIDIuNzUlICBzd2FwcGVyICAg ICAgICAgIFtrZXJuZWwua2FsbHN5bXNdICAgICAgICBba10gdXBkYXRlX3JxX2Nsb2NrCj4+ICAg ICAyLjM0JSAgc3dhcHBlciAgICAgICAgICBba2VybmVsLmthbGxzeW1zXSAgICAgICAgW2tdIGly cV9lbnRlcgo+PiAgICAgMi4zMyUgIFtndWVzdC8wXSAgICAgICAgW2d1ZXN0Lmtlcm5lbC5rYWxs c3ltc10gIFtnXQo+PiBmYl9wYWRfYWxpZ25lZF9idWZmZXIKPj4gICAgIDIuMjQlICAxLmhkYS0w ICAgICAgICAgIFtrZXJuZWwua2FsbHN5bXNdICAgICAgICBba10KPj4gX3Jhd19zcGluX3VubG9j a19pcnFyZXN0b3JlCj4+ICAgICAyLjExJSAgW2d1ZXN0LzBdICAgICAgICBbZ3Vlc3Qua2VybmVs LmthbGxzeW1zXSAgW2ddIG5hdGl2ZV9zYWZlX2hhbHQKPj4gICAgIDIuMDUlICBbZ3Vlc3QvMF0g ICAgICAgIFtndWVzdC5rZXJuZWwua2FsbHN5bXNdICBbZ10KPj4gdXBkYXRlX2Jsb2NrZWRfYXZl cmFnZXMKPj4gLi4uCj4+Cj4+ICJ1bmtub3duIiBzYW1wbGVzIGFyZSBmcm9tIGh5cGVydmlzb3Iu Cj4+Cj4+Cj4+Pgo+Pj4+IFRoZSB0b29sIHdpbGwgdGhlbiBsb29rIGF0IHRoZSB0YWcgYW5kIGRp c3BsYXkgdGhlIGV2ZW50IGFzCj4+Pj4gYmVsb25naW5nIHRvCj4+Pj4gaG9zdCAoZG9tMCwgcmVh bGx5KSBvciBndWVzdC4gVGhpcyBpcyBzdXBwb3J0ZWQgZm9yIEtWTSwgd2l0aCAncGVyZgo+Pj4+ IGt2bScKPj4+PiBjb21tYW5kcy4KPj4+Pgo+Pj4+IFNvIGlmIHlvdSBjYW4gcnVuIHBlcmYga3Zt IGNvbW1hbmRzIHRoZW4geW91IG1heSBiZSBhYmxlIHRvCj4+Pj4gZGlmZmVyZW50aWF0ZSBkb20w J3MgYW5kIGd1ZXN0J3Mgc2FtcGxlcyAoeW91IHdpbGwgYWxzbyBzZWUgaHlwZXJ2aXNvcgo+Pj4+ IHNhbXBsZXMgYnV0IHRoZXkgd29uJ3QgZ2V0IHJlc29sdmVkIHRvIHN5bWJvbHMpLiBJIGFtIGp1 c3Qgbm90IHN1cmUgcGVyCj4+Pj4ga3ZtIHdpbGwgcnVuIG9uIGEgbm9uLUtWTSBob3N0LiBJIGhh ZCBhIHByaXZhdGUgY29weSB3aGVyZSBpdCBkaWQgYnV0Cj4+Pj4gdGhpcyB3YXMgYmFzZWQgb24g YSBmYWlybHkgb2xkIHZlcnNpb24gb2YgTGludXguCj4+Pj4KPj4+PiAoQWxzbywgc3RhY2sgcHJv ZmlsaW5nIGlzIG5vdCBzdXBwb3J0ZWQgYXQgYWxsKS4KPj4+Cj4+PiBJIHdvbmRlciBpZiB5b3Ug Y2FuIHNoYXJlIHRoZSBwcml2YXRlIGNvcHkgb2YgeW91ciBjb2RlLiBJ4oCZbSBsb29raW5nCj4+ PiBpbnRvIHRoZSBzb3VyY2UgY29kZSBvZiB0aGUgcGF0Y2hlcywgYW5kIGl0IHNlZW1zIHRoZXJl 4oCZcyBhIHdheSB0bwo+Pj4gZG8gaXQuIEV2ZW4gaWYgeW91ciBjb2RlcyBhcmUgb3V0ZGF0ZWQs IEkgdGhpbmsgSSBjYW4gbWFuYWdlIHRvIHBvcnQKPj4+IGl0LiBJIHdpbGwgcHJvbWlzZSBvbmNl IEkgZmluaXNoIHRoZSBwb3J0aW5nLCBJIHdpbGwgc2hhcmUgbXkKPj4+IGFkanVzdG1lbnQgb2Yg eW91ciBjb2RlIGFzIHdlbGwuCj4+Cj4+IExvb2tzIGxpa2UgeW91IG1heSBub3QgbmVlZCBpdC4K Pj4KPj4gLWJvcmlzCj4+Cj4+Pgo+Pj4gQmVzdCwKPj4+IFNhbmdoeXVuLgo+Pj4KPj4+Cj4+Pj4g T24gQXVnIDI5LCAyMDE2LCBhdCA1OjI0IFBNLCBCb3JpcyBPc3Ryb3Zza3kKPj4+PiA8Ym9yaXMu b3N0cm92c2t5QG9yYWNsZS5jb20gPG1haWx0bzpib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4+ IHdyb3RlOgo+Pj4+Cj4+Pj4gT24gMDgvMjkvMjAxNiAwNTowOCBQTSwgU2FuZ2h5dW4gSG9uZyB3 cm90ZToKPj4+Pj4+IFllcywgdGhpcyB3aWxsIGFsbG93IHRoZSBoeXBlcnZpc29yIHRvIGNvbGxl Y3Qgc2FtcGxlcyBmcm9tIG11bHRpcGxlCj4+Pj4+PiBndWVzdHMuIEhvd2V2ZXIsIHRoZSB0b29s IChwZXJmKSBwcm9iYWJseSB3b24ndCBiZSBhYmxlIHRvIHByb3Blcmx5Cj4+Pj4+PiBwcm9jZXNz IHRoZXNlIHNhbXBsZXMuIEJ1dCB5b3UgY2FuIHRyeS4KPj4+Pj4gSSB1bmRlcnN0YW5kLCB0aHVz LCBJIGFwcGxpZWQgdGhlIHBhdGNoZXMgYW5kIHNldAo+Pj4+PiB0aGUgL3BtdV9tb2RlLyB0byAq YWxsKi4gSG93ZXZlciwgSeKAmW0gcmVhbGx5IGN1cmlvdXMgd2hhdCB5b3UgbWVhbiBieQo+Pj4+ PiB0aGUgdG9vbCAoKnBlcmYqKSBwcm9iYWJseSB3b27igJl0IGJlIGFibGUgdG8gcHJvcGVybHkg cHJvY2VzcyB0aGVzZQo+Pj4+PiBzYW1wbGVzLiBJcyB0aGVyZSBhbnkgdGhpbmdzIEkgaGF2ZSB0 byBoYXZlIGluIG1pbmQgd2hpbGUgY29sbGVjdGluZwo+Pj4+PiB0aGUgY291bnRlcnMsIG9yIHdp bGwgaXQgaGF2ZSBpbmNvcnJlY3QgdmFsdWVzIG9mIHRoZSBjb3VudGVycz8KPj4+PiBUaGUgaHlw ZXJ2aXNvciB3aWxsIHByb3ZpZGUgZG9tMCB3aXRoIGEgcmF3IHNhbXBsZSAoZ3Vlc3QncywgZG9t MCdzIG9yCj4+Pj4gaHlwZXJ2aXNvcidzKSBhbmQgdGhlbiBpdCdzIHRoZSBqb2Igb2YgZG9tMCBr ZXJuZWwgdG8gcHJvcGVybHkgdGFnIGFuZAo+Pj4+IGZvcm1hdCBpdCBhbmQgbWFrZSBpdCBhdmFp bGFibGUgdG8gdGhlIHVzZXJsYW5kIChpLmUuIHBlcmYgaXRzZWxmKS4gVGhlCj4+Pj4gdG9vbCB3 aWxsIHRoZW4gbG9vayBhdCB0aGUgdGFnIGFuZCBkaXNwbGF5IHRoZSBldmVudCBhcyBiZWxvbmdp bmcgdG8KPj4+PiBob3N0IChkb20wLCByZWFsbHkpIG9yIGd1ZXN0LiBUaGlzIGlzIHN1cHBvcnRl ZCBmb3IgS1ZNLCB3aXRoICdwZXJmCj4+Pj4ga3ZtJwo+Pj4+IGNvbW1hbmRzLgo+Pj4+Cj4+Pj4g U28gaWYgeW91IGNhbiBydW4gcGVyZiBrdm0gY29tbWFuZHMgdGhlbiB5b3UgbWF5IGJlIGFibGUg dG8KPj4+PiBkaWZmZXJlbnRpYXRlIGRvbTAncyBhbmQgZ3Vlc3QncyBzYW1wbGVzICh5b3Ugd2ls bCBhbHNvIHNlZSBoeXBlcnZpc29yCj4+Pj4gc2FtcGxlcyBidXQgdGhleSB3b24ndCBnZXQgcmVz b2x2ZWQgdG8gc3ltYm9scykuIEkgYW0ganVzdCBub3Qgc3VyZSBwZXIKPj4+PiBrdm0gd2lsbCBy dW4gb24gYSBub24tS1ZNIGhvc3QuIEkgaGFkIGEgcHJpdmF0ZSBjb3B5IHdoZXJlIGl0IGRpZCBi dXQKPj4+PiB0aGlzIHdhcyBiYXNlZCBvbiBhIGZhaXJseSBvbGQgdmVyc2lvbiBvZiBMaW51eC4K Pj4+Pgo+Pj4+IChBbHNvLCBzdGFjayBwcm9maWxpbmcgaXMgbm90IHN1cHBvcnRlZCBhdCBhbGwp Lgo+Pj4+Cj4+Pj4+PiBZb3Ugd2lsbCB3YW50IHRvIHJ1biBkb20wIG9uIGFsbCBwaHlzaWNhbCBw cm9jZXNzb3JzIChpLmUuIG5vCj4+Pj4+PiBkb20wX21heF92Y3B1cyBib290IG9wdGlvbikgYW5k IHBpbiBhbGwgVkNQVXMgZm9yIGJvdGggZG9tMCBhbmQgdGhlCj4+Pj4+PiBndWVzdC4KPj4+Pj4g U3VyZSwgdGhhbmtzISBNeSBtYWNoaW5lIGhhcyBmb3VyIHBoeXNpY2FsIGNvcmVzLCBhbmQgSeKA mXZlIHNldAo+Pj4+PiB0aGUgL2RvbTBfbWF4X3ZjcHVzPTQvLiBJIHRoaW5rIGl0IHdpbGwgaGF2 ZSB0aGUgc2FtZSBlZmZlY3QgaW4KPj4+Pj4gcmVtb3ZpbmcgdGhlIC9kb20wX21heF92Y3B1cy8g b3B0aW9uLgo+Pj4+IFllcy4KPj4+Pgo+Pj4+IC1ib3Jpcwo+Pj4+Cj4+Pj4+IEJlc3QsCj4+Pj4+ IFNhbmdoeXVuLgo+Pj4+Pgo+Pj4+Pgo+Pj4+Pj4gT24gQXVnIDI5LCAyMDE2LCBhdCA0OjU5IFBN LCBCb3JpcyBPc3Ryb3Zza3kKPj4+Pj4+IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbSA8bWFp bHRvOmJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgo+Pj4+Pj4gPG1haWx0bzpib3Jpcy5vc3Ry b3Zza3lAb3JhY2xlLmNvbT4+IHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+IE9uIDA4LzI5LzIwMTYgMDI6 NDIgUE0sIFNhbmdoeXVuIEhvbmcgd3JvdGU6Cj4+Pj4+Pj4gSGkgQm9yaXMsCj4+Pj4+Pj4KPj4+ Pj4+PiBJ4oCZdmUgZm91bmQgdGhlCj4+Pj4+Pj4gZG9jdW1lbnRhdGlvbnMoaHR0cHM6Ly9naXRo dWIuY29tL3RvcnZhbGRzL2xpbnV4L2Jsb2IvbWFzdGVyL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rp bmcvc3lzZnMtaHlwZXJ2aXNvci1wbXUpCj4+Pj4+Pj4gaW4gdGhlIGtlcm5lbCBzb3VyY2UgY29k ZSwgYW5kIGl0IHNlZW1zIGxpa2UgaWYgd2UgY2hhbmdlIHRoZSBtb2RlCj4+Pj4+Pj4gZnJvbSAq c2VsZiogdG8gKmFsbCogdGhlbiB3ZSBjYW4gY29sbGVjdCBjb3VudGVycyBmb3IgYWxsIHRoZQo+ Pj4+Pj4+IGRvbWFpbnMsCj4+Pj4+Pj4gcmlnaHQ/Cj4+Pj4+PiBZZXMsIHRoaXMgd2lsbCBhbGxv dyB0aGUgaHlwZXJ2aXNvciB0byBjb2xsZWN0IHNhbXBsZXMgZnJvbSBtdWx0aXBsZQo+Pj4+Pj4g Z3Vlc3RzLiBIb3dldmVyLCB0aGUgdG9vbCAocGVyZikgcHJvYmFibHkgd29uJ3QgYmUgYWJsZSB0 byBwcm9wZXJseQo+Pj4+Pj4gcHJvY2VzcyB0aGVzZSBzYW1wbGVzLiBCdXQgeW91IGNhbiB0cnku Cj4+Pj4+Pgo+Pj4+Pj4gWW91IHdpbGwgd2FudCB0byBydW4gZG9tMCBvbiBhbGwgcGh5c2ljYWwg cHJvY2Vzc29ycyAoaS5lLiBubwo+Pj4+Pj4gZG9tMF9tYXhfdmNwdXMgYm9vdCBvcHRpb24pIGFu ZCBwaW4gYWxsIFZDUFVzIGZvciBib3RoIGRvbTAgYW5kIHRoZQo+Pj4+Pj4gZ3Vlc3QuCj4+Pj4+ Pgo+Pj4+Pj4KPj4+Pj4+IC1ib3Jpcwo+Pj4+Pj4KPj4+Pj4+PiBBbGwgdGhlIGJlc3QsCj4+Pj4+ Pj4gU2FuZ2h5dW4uCj4+Pj4+Pj4KPj4+Pj4+Pgo+Pj4+Pj4+PiBPbiBBdWcgMjksIDIwMTYsIGF0 IDEyOjM2IFBNLCBCb3JpcyBPc3Ryb3Zza3kKPj4+Pj4+Pj4gPGJvcmlzLm9zdHJvdnNreUBvcmFj bGUuY29tIDxtYWlsdG86Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Cj4+Pj4+Pj4+IDxtYWls dG86Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Cj4+Pj4+Pj4+IDxtYWlsdG86Ym9yaXMub3N0 cm92c2t5QG9yYWNsZS5jb20+PiB3cm90ZToKPj4+Pj4+Pj4KPj4+Pj4+Pj4gT24gMDgvMjkvMjAx NiAwOToxOCBBTSwgU2FuZ2h5dW4gSG9uZyB3cm90ZToKPj4+Pj4+Pj4+IERlYXIgWGVuLURldmVs IENvbW11bml0eToKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJ4oCZbSBhIGdyYWQgc3R1ZGVudCB3b3Jr aW5nIG9uIG1lYXN1cmluZyBwZXJmb3JtYW5jZSBjb3VudGVycwo+Pj4+Pj4+Pj4gYXQgdGhlCj4+ Pj4+Pj4+PiBYZW4gZG9tYWlucy4gSSByZWFkIHRoaXMKPj4+Pj4+Pj4+IHRocmVhZChodHRwczov L3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9YZW5fUHJvZmlsaW5nOl9vcHJvZmlsZV9hbmRfcGVy ZikKPj4+Pj4+Pj4+IGluCj4+Pj4+Pj4+PiB3ZWIsIGFuZCBpdCBzYXlzIHVzaW5nIExpbnV4IHBl cmYgY29tbWFuZCB3aWxsIGxldCB1cyBjb2xsZWN0aW5nCj4+Pj4+Pj4+PiBwZXJmb3JtYW5jZSBj b3VudGVycyBpbiBib3RoIGRvbTAgYW5kIGRvbVUuIERvZXMgaXQgbWVhbiB0aGF0Cj4+Pj4+Pj4+ PiB3ZSBjYW4KPj4+Pj4+Pj4+IGNvbGxlY3QgYm90aCBvZiB0aGVtIGF0IG9uY2UgaWYgd2UgcnVu IHBlcmYgY29tbWFuZCBvbiB0aGUKPj4+Pj4+Pj4+IGRvbTA/IChJZgo+Pj4+Pj4+Pj4gbm90LCBk b2VzIGl0IG1lYW4gd2UgY2FuIGNvbGxlY3QgY291bnRlcnMgZm9yIGVhY2ggZG9tYWluCj4+Pj4+ Pj4+PiBzZXBhcmF0ZWx5Cj4+Pj4+Pj4+PiBvbmNlIHdlIHJ1biB0aGUgcGVyZiBjb21tYW5kIGlu IGVhY2ggZG9tYWluPwo+Pj4+Pj4+PiBQcm9maWxpbmcgYm90aCBndWVzdCBhbmQgZG9tMCAoYW5k IHRoZSBoeXBlcnZpc29yKSByZXF1aXJlcwo+Pj4+Pj4+PiBjaGFuZ2VzIHRvCj4+Pj4+Pj4+IHBl cmYgYW5kIHRob3NlIGFyZSBub3QgdGhlcmUgeWV0Lgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBCdXQgeW91 IGNhbiBydW4gcGVyZiBpbiBlYWNoIGd1ZXN0IChpbmNsdWRpbmcgZG9tMCkgc2VwYXJhdGVseS4K Pj4+Pj4+Pj4gTWFrZQo+Pj4+Pj4+PiBzdXJlIHlvdSBoYXZlIHZwbXU9dHJ1ZSBib290IG9wdGlv bi4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gLWJvcmlzCj4KCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==