From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH 00/24] sched: Credit1 and Credit2 improvements... and soft-affinity for Credit2! Date: Wed, 17 Aug 2016 19:17:31 +0200 Message-ID: <147145358844.25877.7490417583264534196.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ba4TB-00087T-JJ for xen-devel@lists.xenproject.org; Wed, 17 Aug 2016 17:17:37 +0000 Received: by mail-wm0-f66.google.com with SMTP id q128so26264777wma.1 for ; Wed, 17 Aug 2016 10:17:35 -0700 (PDT) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , Andrew Cooper , Anshul Makkar , Ian Jackson , George Dunlap , David Vrabel , Jan Beulich List-Id: xen-devel@lists.xenproject.org SGkgZXZlcnlvbmUsCgpIZXJlJ3MgYW5vdGhlciByYXRoZXIgYmlnIHNjaGVkdWxlci1yZWxhdGVk IHNlcmllcy4gVGhlIG1vc3Qgb2YgdGhlIGNvbnRlbnQgKGFzCnVzdWFsLCBsYXRlbHkpIGlzIGFi b3V0IENyZWRpdDIsIGJ1dCB0aGVyZSBhcmUgb3RoZXIgdGhpbmdzLCBhYm91dCB0cmFjaW5nIGFu ZAphbHNvIGFib3V0IENyZWRpdDEuIEluIGZhY3QsIHRoaXMgcGF0Y2ggc2VyaWVzIGludHJvZHVj ZXMgc29mdC1hZmZpbml0eSBzdXBwb3J0CmZvciBDcmVkaXQyLgoKVGhlIGZpcnN0IDMgcGF0Y2hl cyBhcmUgaW5kZWVkIGJ1Z2ZpeGVzIGFuZCBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgZm9yCkNy ZWRpdDEuIEkgZGlzY292ZXJlZCB0aGVtIHdoaWxlIGNvbXBhcmluZyBwZXJmb3JtYW5jZSBhbmQg YmVoYXZpb3Igb2YgdGhlIHR3bwpzY2hlZHVsZXJzLCBDcmVkaXQxIGFuZCBDcmVkaXQyLiBJbiBw YXJ0aWN1bGFyLCBydW5uaW5nIGEgWGVuIGJ1aWxkIChmaXJzdApjb2x1bW4sIGxvd2VyPT0+YmV0 dGVyKSBhbmQgaXBlcmYgZnJvbSB0aGUgVk1zIHRvIHRoZSBob3N0IChzZWNvbmQgY29sdW1uLApo aWdoZXI9PT5iZXR0ZXIpIHdpdGhpbiAyIDggdkNQVXMgVk1zLCBjb25jdXJyZW50bHksIG9uIGEg MTYgdkNQVXMgaG9zdCwKd2l0aG91dCAoZmlyc3QgbGluZSkgb3Igd2l0aCAoc2Vjb25kIGxpbmUp IHNvbWUgb3RoZXIgbG9hZCBpbiB0aGUgc3lzdGVtIChpLmUuLAoxMiBkb20wIHZDUFVzIGtlcHQg YXJ0aWZpY2lhbGx5IGJ1c3kpLCBwcm9kdWNlZCB0aGUgZm9sbG93aW5nIHJlc3VsdHM6CgogQ1JF RElUMSAgICBNQUtFWEVOIElQRVJGCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYmFzZWxp bmUgOiAyOC43NzIgIDExLjM1NCB8IChubyBkb20wIGxvYWQpCiBwYXRjaGVkICA6IDI4LjYwMisg MTEuNDE2K3wKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAogYmFzZWxpbmUgOiA1Mi44NTIg IDEwLjk5NSB8ICh3aXRoIGRvbTAgbG9hZCkKIHBhdGNoZWQgIDogNDMuNzg4KyAxMC40MDUrfAot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiArIG1hcmtzIHRoZSBiZXN0IHJlc3VsdHMKClNv LCB0aGUgcGF0Y2ggc2VyaWVzIGltcHJvdmVzIHRoZSBzaXR1YXRpb24gcXVpdGUgYSBiaXQsIGF0 IGxlYXN0IGluIENQVSBib3VuZAp3b3JrbG9hZCAodGhlIFhlbiBidWlsZCkgd2hlbiBydW5uaW5n IHVuZGVyIG92ZXJsb2FkLiBJIHN1c3BlY3QgdGhlCnNvZnQtYWZmaW5pdHkgcmVsYXRlZCBidWcg aW4gX19ydW5xX3RpY2tsZSgpIChmaXhlZCBieSBwYXRjaCAyKSB0byBiZSB0aGUKbWFpbiByZXNw b25zaWJsZSBmb3IgdGhpcy4KClBhdGNoZXMgNCB0byA2IGFyZSBpbXByb3ZlbWVudHMgdG8gQ3Jl ZGl0MSwgYW5kIHBhdGNoIDcgdG8gYm90aCBDcmVkaXQxIGFuZApDcmVkaXQyLgoKVGhlbiwgd2Ug ZmluZCBmaXhlcyBmb3IgYSBmZXcgb3RoZXIgcmFuZG9tIHRoaW5ncywgbW9zdGx5IGFib3V0IHRy YWNpbmcsIGluCnBhdGNoZXMgOCAtIDExIChzZWUgaW5kaXZpZHVhbCBkZXNjcmlwdGlvbnMpLCBh bmQgc29tZSBjb250ZXh0IHN3aXRjaCByYXRlbGltaXQKZW5oYW5jZW1lbnRzIChhZ2FpbiBmb3Ig Ym90aCBDcmVkaXQxIGFuZCBDcmVkaXQyLCBidXQgbW9zdGx5IGZvciBDcmVkaXQyKSwgaW4KcGF0 Y2hlcyAxMiAtIDE1LgoKQWZ0ZXJ3b3JkcywgaXQgY29tZXMgdGhlIG1vc3QgaW1wb3J0YW50IGNv bnRyaWJ1dGlvbiwgaXMgdGhlIGludHJvZHVjdGlvbiBvZgp0aGUgc29mdC1hZmZpbml0eSBzdXBw b3J0IGluIENyZWRpdDIuIFRoaXMgaGFwcGVucyBpbiBzdGVwcyAtLWkuZS4sIGluIHBhdGNoZXMK MTYgdG8gMjAuIFRoaXMgYXBwcm9hY2ggb2YgaW50cm9kdWNpbmcgdGhlIGZlYXR1cmUgd2l0aCBz dWNoIGJyZWFrZG93biBmb2xsb3dzCndoYXQgd2FzIGRpc2N1c3NlZCBhIHdoaWxlIGFnbyBoZXJl LiBUaGVyZSdzIGEgbG90IG9mIG1vdmluZyBwYXJ0cyBhbmQsIHdoaWxlCndvcmtpbmcgb24gaW1w bGVtZW50aW5nIHRoaXMsIGFuZCByZXZpc2l0aW5nIHRoZSBkaXNjdXNzaW9uLCBJIGZvdW5kIHRo ZQpzdWdnZXN0aW9uIGZyb20gR2VvcmdlIHRvd2FyZCB0aGlzIGFwcHJvYWNoIHRvIHN0aWxsIGJl IGEgdmVyeSBnb29kIG9uZS4KCkFtb25nIHRoZSBzb2Z0LWFmZmluaXR5IHBhdGNoZXMsIDEgaXMg anVzdCByZWZhY3RvcmluZywgMiBvZiB0aGVtIGFyZSByYXRoZXIKZWFzeSwgYXMgdGhleSBzb3J0 IG9mIGZvbGxvdyB0aGUgc2FtZSBhcHByb2FjaCBhbHdheXMgdXNlZCBmb3IgaW1wbGVtZW50aW5n CnNvZnQtYWZmaW5pdHkgKGkuZS4sIGluIENyZWRpdDEpLCB3aGljaCBpcyB0aGUgdHdvIHN0ZXBz IGxvYWQgYmFsYW5jaW5nIGxvb3AuClRoZSA0dGggcGF0Y2gsIHRoZSBvbmUgdGhhdCB0b3VjaGVz IENyZWRpdDIncyBsb2FkIGJhbGFuY2VyLCBpcyB0aGUgb25lIHRoYXQKbGlrZWx5IGRlc2VydmVz IG1vcmUgYXR0ZW50aW9uLiBUaGUgYmFzaWMgaWRlYSBpbiB0aGVyZSBpcyB0byBpbnRlZ3JhdGUg dGhlCnNvZnQtYWZmaW5pdHkgbG9naWMgaW5zaWRlIHRoZSBDcmVkaXQyIGxvYWQgYmFsYW5jaW5n IGZyYW1ld29yay4gSSB0aGluayBJJ3ZlCnB1dCBlbm91Z2ggaW5mbyBpbiB0aGUgY2hhbmdlbG9n LCBhbmQgZG9uJ3Qgd2FudCB0byBjbG9iYmVyIHRoaXMgc3Bhc2Ugd2l0aAp0aGF0Li4uIEJ1dCBk byBmZWVsIGZyZWUgdG8gYXNrLgoKVGhlIGxhc3QgNCBwYXRjaGVzLCBzdGlsbCBmb3IgQ3JlZGl0 MiwgYXJlIG9wdGltaXphdGlvbnMsIGVpdGhlciB3cnQgZXhpc3RpbmcKY29kZSwgb3Igd3J0IG5l dyBjb2RlIGludHJvZHVjZWQgaW4gdGhpcyBzZXJpZXMuIEkndmUgY2hvc2VuIHRvIGtlZXAgdGhl bQpzZXBhcmF0ZSB0byBtYWtlIHJldmlld2luZy91bmRlcnN0YW5kaW5nIG5ldyBjb2RlIGVhc2ll ci4gSW4gZmFjdCwgYWx0aG91Z2gKdGhleSBsb29rIHByZXR0eSBzaW1wbGUsIHRoZSBzb2Z0LWFm ZmluaXR5IGNvZGUgd2FzIHByZXR0eSBjb21wbGV4IGFscmVhZHksIGFuZApldmVuIHRoZXNlIHNp bXBsZSBvcHRpbWl6YXRpb24sIGlmIGRvbmUgYWxsIGF0IG9uY2UsIHdvdWxkIGhhdmUgbWFkZSB0 aGUKcmV2aWV3ZXIncyBsaWZlICh1bm5lY2Vzc2FyeSkgdG91Z2hlci4KCk51bWJlcnMgYXJlIHF1 aXRlIGdvb2QuIEFjdHVhbGx5LCB0aGV5IHNob3cgYSByZWFsbHkgbmljZSBwaWN0dXJlLCBJTU8u IEkgd2FudAp0byBydW4gbW9yZSBiZW5jaG1hcmtzLCBvZiBjb3Vyc2UsIGJ1dCBpdCBsb29rcyBs aWtlIHdlJ3JlIG9uIHRoZSByaWdodCBwYXRoLgpUaGUgYmVuY2htYXJrcyBhcmUgdGhlIHNhbWUg YXMgYWJvdmUuIEknbSB1c2luZyBjcmVkaXQyX3J1bnF1ZXVlPXNvY2tldCBhcyBpdCdzCnByb3Zl biAoaW4gcXVpdGUgYSBmZXcgb3RoZXIgYmVuY2htYXJrcyB0aGF0IEknbSBub3Qgc2hvd2luZyBm b3IgYnJldml0eSkgdGhlCmJlc3QgY29uZmlndXJhdGlvbiwgYXQgbGVhc3Qgd2l0aCBteSBsYXRl c3Qgc2VyaWVzIGFwcGxpZWQgKGl0J3MgaW4gc3RhZ2luZwphbHJlYWR5KS4KCiBDUkVESVQyICAg IE1BS0VYRU4gSVBFUkYKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBiYXNlbGluZSA6IDMx Ljk5MCAgMTEuNjg5IHwgKG5vIGRvbTAgbG9hZCkKIHBhdGNoZWQgIDogMjcuODM0KyAxMi4xODAr fAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18CiBiYXNlbGluZSA6IDQ0LjYyOCAgMTAuMzI5 IHwgKHdpdGggZG9tMCBsb2FkKQogcGF0Y2hlZCAgOiA0MC4yNzIrIDEwLjkwNCt8Ci0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoKICsgbWFya3MgdGhlIGJlc3QgcmVzdWx0cwoKU28sIHBhdGNo ZXMgYXJlIHJlYWxseSByZWFsbHkgZWZmZWN0aXZlIGluIHRoaXMgY2FzZS4gTm93LCB3aGF0IGlm IHdlIGNvbXBhcmUKdW5wYXRjaGVkIGFuZCBwYXRjaGVkIHZlcnNpb24gb2YgQ3JlZGl0MSBhbmQg Q3JlZGl0Mj8gIEhlcmUgd2UgYXJlOgoKIFVOUEFUQ0hFRCAgTUFLRVhFTiBJUEVSRgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIENyZWRpdDEgIDogMjguNzcyKyAxMS4zNTQgfCAobm8gZG9t MCBsb2FkKQogQ3JlZGl0MiAgOiAzMS45OTAgIDExLjY4OSt8Ci0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLXwKIENyZWRpdDEgIDogNTIuODUyICAxMC45OTUrfCAod2l0aCBkb20wIGxvYWQpCiBD cmVkaXQyICA6IDQ0LjYyOCsgMTAuMzI5IHwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJ biB0aGlzIHVzZSBjYXNlLCB0aGUgdHdvIFZNcyB3b3VsZCBmaXQgZWFjaCBvbmUgaW4gb25lIG5v ZGUsIGFuZCBoZW5jZQpzb2Z0LWFmZmluaXR5IGNhbiAibWFrZSBoaXMgbWFnaWMiLCBpbiBDcmVk aXQxIHdoaWxlIGluIENyZWRpdDIsIHdpdGhvdXQgdGhpcwpwYXRjaCwgdGhlcmUncyBubyBzdWNo IHRoaW5nLCBhbmQgaGVuY2UgQ3JlZGl0MSwgb3ZlcmFsbCwgd2lucyB0aGUgbWF0Y2guIFllcywK Q3JlZGl0MiBoYXMgYW4gZWRnZSBvbiBJUEVSRiBpbiB0aGUgJ25vIGRvbTAgbG9hZCcgY2FzZSwg YnV0IHJlc3VsdCBpcyB2ZXJ5CnRpZ2h0IGFueXdheS4gQW5kIENyZWRpdDEgYWxzbyBkb2VzIGJh ZCBpbiBYZW4gYnVpbGQgd2l0aCBsb2FkLCBidXQgdGhhdCdzIG9ubHkKYmVjYXVzZSBvZiB0aGUg YnVnLgoKIFBBVENIRUQgICAgTUFLRVhFTiBJUEVSRgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIENyZWRpdDEgIDogMjguNjAyICAxMS40MTYgfCAobm8gZG9tMCBsb2FkKQogQ3JlZGl0MiAg OiAyNy44MzQrIDEyLjE4MCt8Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKIENyZWRpdDEg IDogNDMuNzg4ICAxMC40MDUgfCAod2l0aCBkb20wIGxvYWQpCiBDcmVkaXQyICA6IDQwLjI3Misg MTAuOTA0K3wKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpPVE9ILCB3aXRoIHRoaXMgcGF0 Y2ggc2VyaWVzIGluLCBpLmUuLCB3aXRoIENyZWRpdDIgYWxzbyBhYmxlIHRvIHRha2UgYWR2YW50 YWdlCm9mIHNvZnQtYWZmaW5pdHksIHRoZSBnYW1lIGNoYW5nZXMuIFRoZSBJcGVyZiByZXN1bHRz IGFyZSBzdGlsbCB2ZXJ5IHRpZ2h0IGFuZAotLWFsdGhvdWdoIEkgZG9uJ3QgaGF2ZSB0aGUgc3Rk LWRldiBzdGlsbCBhdmFpbGFibGUtLSBJJ3ZlIG9ic2VydmVkIHRoZW0gdG8gYmUKbm90IG5lY2Vz c2FyaWx5IGFsd2F5cyBjb25zaXN0ZW50IChhbHRob3VnaCwgd2l0aCBjbGVhcmx5IHZpc2libGUg dHJlbmRzLCB3aGljaAphcmUgdGhlIG9uZXMgc3Vic3VtZWRYWCBieSB0aGVzZSBudW1iZXJzIEkn bSByZXBvcnRpbmcpLiBCdXQgb24gQ1BVIHdvcmtsb2FkcywKYW5kIGVzcGVjaWFsbHkgaW4gb3Zl cmxvYWQgc2l0dWF0aW9ucywgQ3JlZGl0MiBkb2VzIHJhdGhlciBnb29kISA6LSkKClNvLCB0aGlz IGlzIHN0aWxsIGEgbGltaXRlZCBzZXQgb2YgdXNlIGNhc2VzIChhbmQgd2UncmUgd29ya2luZywg aW5zaWRlIENpdHJpeCwKb24gcHJvZHVjaW5nIG1vcmUpLCBidXQgdGhhdCdzIHdoeSBJJ20gc2F5 aW5nIHRoYXQgd2UncmUgb24gdGhlIHJpZ2h0IHBhdGggZm9yCm1ha2luZyBDcmVkaXQyIHVzYWJs ZSBpbiBwcm9kdWN0aW9uIGFuZCB0aGUgbmV3IGRlZmF1bHQuCgpUaGFua3MgYW5kIFJlZ2FyZHMs CkRhcmlvCi0tLQpEYXJpbyBGYWdnaW9saSAoMjQpOgogICAgICB4ZW46IGNyZWRpdDE6IHNtYWxs IG9wdGltaXphdGlvbiBpbiBDcmVkaXQxJ3MgdGlja2xpbmcgbG9naWMuCiAgICAgIHhlbjogY3Jl ZGl0MTogZml4IG1hc2sgdG8gYmUgdXNlZCBmb3IgdGlja2xpbmcgaW4gQ3JlZGl0MQogICAgICB4 ZW46IGNyZWRpdDE6IHJldHVybiB0aGUgJ3RpbWUgcmVtYWluaW5nIHRvIHRoZSBsaW1pdCcgYXMg bmV4dCB0aW1lc2xpY2UuCiAgICAgIHhlbjogY3JlZGl0MjogcHJvcGVybHkgc2NoZWR1bGUgbWln cmF0aW9uIG9mIGEgcnVubmluZyB2Y3B1LgogICAgICB4ZW46IGNyZWRpdDI6IG1ha2UgdGlja2xp bmcgbW9yZSBkZXRlcm1pbmlzdGljCiAgICAgIHhlbjogY3JlZGl0MjogaW1wbGVtZW50IHlpZWxk KCkKICAgICAgeGVuOiBzY2hlZDogZG9uJ3QgcmF0ZSBsaW1pdCBjb250ZXh0IHN3aXRjaGVzIGlu IGNhc2Ugb2YgeWllbGRzCiAgICAgIHhlbjogdHJhY2luZzogYWRkIHRyYWNlIHJlY29yZHMgZm9y IHNjaGVkdWxlIGFuZCByYXRlLWxpbWl0aW5nLgogICAgICB4ZW4vdG9vbHM6IHRyYWNpbmc6IGlt cHJvdmUgdHJhY2luZyBvZiBjb250ZXh0IHN3aXRjaGVzLgogICAgICB4ZW46IHRyYWNpbmc6IGlt cHJvdmUgQ3JlZGl0MidzIHRpY2tsZV9jaGVjayBhbmQgYnVybl9jcmVkaXRzIHJlY29yZHMKICAg ICAgdG9vbHM6IHRyYWNpbmc6IGhhbmRsZSBtb3JlIHNjaGVkdWxpbmcgcmVsYXRlZCBldmVudHMu CiAgICAgIHhlbjogbGlieGM6IGFsbG93IHRvIHNldCB0aGUgcmF0ZWxpbWl0IHZhbHVlIG9ubGlu ZQogICAgICBsaWJ4YzogaW1wcm92ZSBlcnJvciBoYW5kbGluZyBvZiB4YyBDcmVkaXQxIGFuZCBD cmVkaXQyIGhlbHBlcnMKICAgICAgbGlieGw6IGFsbG93IHRvIHNldCB0aGUgcmF0ZWxpbWl0IHZh bHVlIG9ubGluZSBmb3IgQ3JlZGl0MgogICAgICB4bDogYWxsb3cgdG8gc2V0IHRoZSByYXRlbGlt aXQgdmFsdWUgb25saW5lIGZvciBDcmVkaXQyCiAgICAgIHhlbjogc2NoZWQ6IGZhY3RvciBhZmZp bml0eSBoZWxwZXJzIG91dCBvZiBzY2hlZF9jcmVkaXQuYwogICAgICB4ZW46IGNyZWRpdDI6IHNv ZnQtYWZmaW5pdHkgYXdhcmVuZXNzIGluIHJ1bnFfdGlja2xlKCkKICAgICAgeGVuOiBjcmVkaXQy OiBzb2Z0LWFmZmluaXR5IGF3YXJlbmVzcyBmYWxsYmFja19jcHUoKSBhbmQgY3B1X3BpY2soKQog ICAgICB4ZW46IGNyZWRpdDI6IHNvZnQtYWZmaW5pdHkgYXdhcmVuZXNzIGluIGxvYWQgYmFsYW5j aW5nCiAgICAgIHhlbjogY3JlZGl0Mjoga2ljayBhd2F5IHZjcHVzIG5vdCBydW5uaW5nIHdpdGhp biB0aGVpciBzb2Z0LWFmZmluaXR5CiAgICAgIHhlbjogY3JlZGl0Mjogb3B0aW1pemUgcnVucV9j YW5kaWRhdGUoKSBhIGxpdHRsZSBiaXQKICAgICAgeGVuOiBjcmVkaXQyOiAicmVsYXgiIENTQ0hF RDJfTUFYX1RJTUVSCiAgICAgIHhlbjogY3JlZGl0Mjogb3B0aW1pemUgcnVucV90aWNrbGUoKSBh IGxpdHRsZSBiaXQKICAgICAgeGVuOiBjcmVkaXQyOiB0cnkgdG8gYXZvaWQgdGlja2xpbmcgY3B1 cyBzdWJqZWN0IHRvIHJhdGVsaW1pdGluZwoKIGRvY3MvbWFuL3hsLnBvZC4xLmluICAgICAgICAg ICAgICAgIHwgICAgOSAKIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIHwgICAx MCAKIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAgICAgIHwgICAzMiArCiB0b29scy9s aWJ4Yy94Y19jc2NoZWQuYyAgICAgICAgICAgICB8ICAgMjcgLQogdG9vbHMvbGlieGMveGNfY3Nj aGVkMi5jICAgICAgICAgICAgfCAgIDU5ICsrCiB0b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAg ICAgICAgICB8ICAxMTEgKysrLQogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgICAgICAg fCAgICA0IAogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgfCAgICA0IAogdG9v bHMvbGlieGwveGxfY21kaW1wbC5jICAgICAgICAgICAgfCAgIDkxICsrLQogdG9vbHMvbGlieGwv eGxfY21kdGFibGUuYyAgICAgICAgICAgfCAgICAyIAogdG9vbHMveGVudHJhY2UvZm9ybWF0cyAg ICAgICAgICAgICAgfCAgIDE2IC0KIHRvb2xzL3hlbnRyYWNlL3hlbmFseXplLmMgICAgICAgICAg IHwgIDEzMyArKysrCiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jICAgICAgICAgICB8ICAxNTYg KystLS0KIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jICAgICAgICAgIHwgMTA1OSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogeGVuL2NvbW1vbi9zY2hlZF9ydC5jICAgICAg ICAgICAgICAgfCAgIDE1IAogeGVuL2NvbW1vbi9zY2hlZHVsZS5jICAgICAgICAgICAgICAgfCAg IDEwIAogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAgICAgfCAgIDE3IC0KIHhlbi9p bmNsdWRlL3hlbi9wZXJmY19kZWZuLmggICAgICAgIHwgICAgNCAKIHhlbi9pbmNsdWRlL3hlbi9z Y2hlZC1pZi5oICAgICAgICAgIHwgICA2NSArKwogMTkgZmlsZXMgY2hhbmdlZCwgMTQ0NCBpbnNl cnRpb25zKCspLCAzODAgZGVsZXRpb25zKC0pCi0tCjw8VGhpcyBoYXBwZW5zIGJlY2F1c2UgSSBj aG9vc2UgaXQgdG8gaGFwcGVuIT4+IChSYWlzdGxpbiBNYWplcmUpCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkRhcmlvIEZh Z2dpb2xpLCBQaC5ELCBodHRwOi8vYWJvdXQubWUvZGFyaW8uZmFnZ2lvbGkKU2VuaW9yIFNvZnR3 YXJlIEVuZ2luZWVyLCBDaXRyaXggU3lzdGVtcyBSJkQgTHRkLiwgQ2FtYnJpZGdlIChVSykKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=