From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v10 00/25] Enable L2 Cache Allocation Technology & Refactor psr.c Date: Sat, 1 Apr 2017 21:53:31 +0800 Message-ID: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.com> 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 1cuJTC-0005RF-Mx for xen-devel@lists.xenproject.org; Sat, 01 Apr 2017 13:53:35 +0000 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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org SGkgYWxsLAoKV2UgcGxhbiB0byBicmluZyBhIG5ldyBQU1IgKFBsYXRmb3JtIFNoYXJlZCBSZXNv dXJjZSkgZmVhdHVyZSBjYWxsZWQKSW50ZWwgTDIgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5 IChMMiBDQVQpIHRvIFhlbi4gSXQgaGFzIGJlZW4gZW5hYmxlZAppbiBMaW51eCBLZXJuZWwuCgpC ZXNpZGVzIHRoZSBMMiBDQVQgaW1wbGVtZW50YWlvbiwgd2UgcmVmYWN0b3IgdGhlIHBzci5jIHRv IG1ha2UgaXQgbW9yZQpmbGV4aWJsZSBhbmQgZWFzaWx5IHRvIGV4dGVuZCB0byBhZGQgbmV3IGZl YXR1cmVzLiBXZSBhYnN0cmFjdCB0aGUgZ2VuZXJhbApvcGVyYXRpb25zIG9mIGFsbCBmZWF0dXJl cyBhbmQgZW5jYXBzdWxhdGUgdGhlbSBpbnRvIGEgc3RydWN0dXJlLiBUaGVuLAp0aGUgZGV2ZWxv cG1lbnQgb2YgbmV3IGZlYXR1cmUgaXMgc2ltcGxlIHRvIG1haW5seSBpbXBsZW1lbnQgdGhlc2Ug Y2FsbGJhY2sKZnVuY3Rpb25zLgoKVGhlIHBhdGNoIHNldCBjYW4gYmUgZm91bmQgYXQ6Cmh0dHBz Oi8vZ2l0aHViLmNvbS95aXN1bi1naXQveGVuLmdpdCBsMl9jYXRfdjEwCgotLS0KQWNrZWQgYW5k IFJldmlld2VkIGxpc3QgYmVmb3JlIFYxMDoKCmEgLSBBY2tlZC1ieQpyIC0gUmV2aWV3ZWQtYnkK CiAgciAgcGF0Y2ggMSAgLSBkb2NzOiBjcmVhdGUgQ2FjaGUgQWxsb2NhdGlvbiBUZWNobm9sb2d5 IChDQVQpIGFuZCBDb2RlIGFuZAogICAgICAgICAgICAgICAgRGF0YSBQcmlvcml0aXphdGlvbiAo Q0RQKSBmZWF0dXJlIGRvY3VtZW50CiAgYXIgcGF0Y2ggMiAgLSB4ODY6IHJlZmFjdG9yIHBzcjog cmVtb3ZlIEwzIENBVC9DRFAgY29kZXMuCiAgYSAgcGF0Y2ggNCAgLSB4ODY6IG1vdmUgY3B1aWRf Y291bnRfbGVhZiBmcm9tIGNwdWlkLmMgdG8gcHJvY2Vzc29yLmguCiAgYSAgcGF0Y2ggMjUgLSBk b2NzOiBhZGQgTDIgQ0FUIGRlc2NyaXB0aW9uIGluIGRvY3MuCgotLS0KVjEwIGNoYW5nZSBsaXN0 OgoKUGF0Y2ggMzoKICAgIC0gcmVtb3ZlIGluaXRpYWxpemF0aW9uIGZvciAnUFNSX1NPQ0tFVF9M M19DQVQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW5hbWUgJ2Zl YXRfb3BzJyB0byAnZmVhdF9wcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIG1vdmUgJ2NibV9sZW4nIHRvICdmZWF0X3Byb3BzJyBiZWNhdXNlIGl0IGlzIGZlYXR1 cmUgaW5kZXBlbmRlbnQgc28gZmFyLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSBtb3ZlICdjb3NfbWF4JyB0byAnZmVhdF9wcm9wcycgYmVjYXVzZSBpdCBpcyBmZWF0dXJl IGluZGVwZW5kZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3Zl ICdjb3NfbnVtJyB0byAnZmVhdF9wcm9wcycgYmVjYXVzZSBpdCBpcyBmZWF0dXJlIGluZGVwZW5k ZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgdW5pb24g J2luZm8nIGFuZCBzdHJ1Y3QgJ3Bzcl9jYXRfaHdfaW5mbycuCiAgICAtIHJlbW92ZSAnZ2V0X2Nv c19tYXgnIGZyb20gJ2ZlYXRfcHJvcHMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSByZW1vdmUgJ2ZlYXRfbWFzaycgZnJvbSAncHNyX3NvY2tldF9pbmZvJyBiZWNhdXNl IHdlIGNhbiB1c2UgJ2ZlYXR1cmVzW10nCiAgICAgIHRvIGNoZWNrIGlmIGFueSBmZWF0dXJlIGlz IGluaXRpYWxpemVkLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3Zl ICdyZWZfbG9jaycgYWJvdmUgJ2Nvc19yZWYnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSBhZGp1c3QgY29tbWVudHMgYW5kIGNvbW1pdCBtZXNzYWdlIGFjY29yZGluZyB0 byBhYm92ZSBjaGFuZ2VzLgpQYXRjaCA0OgogICAgLSBBY2tlZCBieSBKYW4uClBhdGNoIDU6CiAg ICAtIHJlbW92ZSAnYXNtL3g4Nl9lbXVsYXRlLmgnIGluY2x1c2lvbiBhcyBpdCBoYXMgYmVlbiBp bmRpcmVjdGx5IGluY2x1ZGVkLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSByZW1vdmUgJ0NBVF9DT1NfTlVNJyBhcyBpdCBpcyBvbmx5IHVzZWQgb25jZS4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdmZWF0X21hc2snLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICdmZWF0X3Byb3Bz Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdnZXRfY29z X21heCcgaG9vayBkZWNsYXJhdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW9kaWZ5ICdjYXRfZGVmYXVsdF92YWwnIGltcGxlbWVudGF0aW9uLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgJ3Bzcl9hbGxvY19mZWF0X2VuYWJs ZWQnIGltcGxlbWVudGF0aW9uIHRvIG1ha2UgaXQgc2ltcGxlLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSByZW5hbWUgJ2ZyZWVfZmVhdHVyZScgdG8gJ2ZyZWVfc29ja2V0 X3Jlc291cmNlcycgYmVjYXVzZSBpdCBpcyBleGVjdXRlZAogICAgICB3aGVuIHNvY2tldCBpcyBv ZmZsaW5lLiBJdCBuZWVkcyBmcmVlIHJlc291cmNlcyByZWxhdGVkIHRvIHRoZSBzb2NrZXQuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGRlZmluZSAnZmVhdF9pbml0X2Rv bmUnIHRvIGl0ZXJhdGUgZmVhdHVyZSBhcnJheSB0byBjaGVjayBpZiBhbnkgZmVhdHVyZQogICAg ICBoYXMgYmVlbiBpbml0aWFsaXplZC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gaW5wdXQgJ3N0cnVjdCBjcHVpZF9sZWFmJyBwb2ludGVyIGludG8gJ2NhdF9pbml0X2Zl YXR1cmUnIHRvIGF2b2lkIG1lbW9yeQogICAgICBjb3B5LgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSBtb2RpZnkgJ2NhdF9pbml0X2ZlYXR1cmUnIHRvIHVzZSBzd2l0Y2gg YW5kIHRoaW5ncyByZWxhdGVkIHRvIGFib3ZlCiAgICAgIGNoYW5nZXMuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkZCBhbiBpbmRlbnRhdGlvbiBmb3IgbGFiZWwuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDY6CiAgICAtIHJlbW92ZSAnY2F0 X2dldF9jb3NfbWF4JyBhcyAnY29zX21heCcgaXMgYSBmZWF0dXJlIHByb3BlcnR5IG5vdyB3aGlj aAogICAgICBjYW4gYmUgZGlyZWN0bHkgdXNlZC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKICAgIC0gcmVwbGFjZSAnaW5mby0+ZmVhdF9tYXNrJyBjaGVjayB0byAnJ2ZlYXRfaW5p dF9kb25lJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2ggNzoKICAgIC0g cmVtb3ZlICdQU1JfU09DS0VUX1VOS05PV04nIGFuZCB1c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgp JyB0byBoYW5kbGUKICAgICAgdGhpcyBjYXNlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSBjaGVjayAnZmVhdF90eXBlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKICAgIC0gYWRqdXN0IG1hY3JvcyBuYW1lcyBhbmQgdmFsdWVzIHRvIG1ha2UgdGhlbSBt b3JlIGFwcHJvcHJpYXRlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1 c2UgJ2ZlYXRfaW5pdF9kb25lJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gY2hhbmdlcyBhYm91dCAnY2JtX2xlbicuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpClBhdGNoIDg6CiAgICAtIHVzZSBhbiBpbnRlcm1lZGlhdGUgdmFyaWFibGUgdG8gZ2V0IHZh bHVlIGFuZCBhdm9pZCBjYXN0IGluIGRvbWN0bC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKICAgIC0gcmVtb3ZlICd0eXBlJyBpbiAnZ2V0X3ZhbCcgcGFyYW1ldGVycyBhbmQgd2ls bCBhZGQgaXQgYmFjayB3aGVuCiAgICAgIGltcGxlbWVudGluZyBDRFAuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkZCAnZXJyJyBpbiAncHNyX2dldF9mZWF0JyBwYXJh bWV0ZXJzIHRvIGdldCBlcnJvciBudW1iZXIgYmFjay4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlIGluICdwc3JfZ2V0X2Zl YXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1c2UgJ0FTU0VUJyB0 byBjaGVjayBpbnB1dCBwYXJhbWV0ZXIgaW4gJ3Bzcl9nZXRfdmFsJy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAnZmVhdF9wcm9wcycuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDk6CiAgICAtIHJlc3RvcmUgZG9tYWlu IGNvcyBpZCB0byAwIHdoZW4gc29ja2V0IGlzIG9mZmxpbmUuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIGNoZWNrICdwc3JfY2F0X29wLmRhdGEnIHRvIG1ha2Ugc3VyZSBv bmx5IGxvd2VyIDMyIGJpdHMgYXJlIHZhbGlkLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZml4ZWQgd2lkdGggdHlwZSBvZiBwYXJhbWV0 ZXJzIGFuZCB2YXJpYWJsZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IHJlbmFtZSAnaW5zZXJ0X25ld192YWxfdG9fYXJyYXknIHRvICdpbnNlcnRfdmFsX3RvX2FycmF5 Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gaW5wdXQgJ3JlZl9sb2Nr JyBwb2ludGVyIGludG8gZnVuY3Rpb25zIHRvIGNoZWNrIGlmIGl0IGhhcyBiZWVuIGxvY2tlZC4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRkIGNvbW1lbnQgdG8gZGVj bGFyZSB0aGUgc2V0IHByb2Nlc3MgaXMgcHJvdGVjdGVkIGJ5ICdkb21jdGxfbG9jaycuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoZWNrICdmZWF0X3R5cGUnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgJ2ZlYXRfbWFzaycuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBj cml0ZXJpYSBvZiBBU1NFUlQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IGFkanVzdCBmbG93IG9mICdwc3Jfc2V0X3ZhbCcgdG8gYXZvaWQgJ2dvdG8nIGZvciBzdWNjZXNz ZnVsIGNhc2VzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1c2UgQVNT RVJUIHRvIGNoZWNrICdzb2NrZXRfaW5mbycgaW4gJ3Bzcl9mcmVlX2NvcycuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50IGlu ICdwc3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQpQYXRjaCAx MDoKICAgIC0gcmVtb3ZlICdnZXRfb2xkX3ZhbCcgdG8gZGlyZWN0bHkgY2FsbCAnZ2V0X3ZhbCcg dG8gZ2V0IG5lZWRlZCB2YWwuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IG1vdmUgJ3Bzcl9jaGVja19jYm0nIGludG8gJ2luc2VydF92YWxfdG9fYXJyYXknLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgdHlwZSBvZiAnY2JtJyBpbiAn cHNyX2NoZWNrX2NibScgdG8gJ3Vuc2lnbmVkIGxvbmcnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSByZW1vdmUgJ3NldF9uZXdfdmFsJyBhcyBpdCBjYW4gYmUgaGFuZGxl ZCBpbiBnZW5lcmljIHByb2Nlc3MuCiAgICAtIGNoYW5nZXMgcmVsYXRlZCB0byAnZmVhdF9wcm9w cycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkanVzdCBmbG93IGlu ICdnYXRoZXJfdmFsX2FycmF5JyB0byBhdm9pZCBhcnJheSBjcm9zcy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRqdXN0IGZsb3cgaW4gJ2luc2VydF92YWxfdG9fYXJy YXknIHRvIGF2b2lkIGFycmF5IGNyb3NzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQpQYXRjaCAxMToKICAgIC0gcmVtb3ZlICdjb21wYXJlX3ZhbCcgaG9vayBhbmQgaXRzIENBVCBp bXBsZW1lbnRhdGlvbi4gTWFrZSBpdHMKICAgICAgZnVuY3Rpb25hbGl0eSBiZSBnZW5lcmljIGlu ICdmaW5kX2NvcycgZmxvdy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0g Y2hhbmdlcyByZWxhdGVkIHRvICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIHJlbmFtZSAndmFsX2FycmF5JyB0byAndmFsX3B0cicuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbmFtZSAnZmluZCcgdG8gJ2ZvdW5kJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBzb21lIHZhcmlhYmxlcyBkZWNs YXJhdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24gaW50byBsb29wLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSBhZGp1c3QgY29kZXMgcG9zaXRpb25zLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQpQYXRjaCAxMjoKICAgIC0gcmVtb3ZlICdmaXRzX2Nvc19tYXgn IGhvb2sgYW5kIENBVCBpbXBsZW1lbnRhdGlvbi4gTW92ZSB0aGUgcHJvY2VzcyBpbnRvCiAgICAg IGdlbmVyaWMgZmxvdy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hh bmdlcyBhYm91dCAncHJvcHMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBhZGp1c3QgY29kZXMgcG9zaXRpb25zLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQpQYXRjaCAxMzoKICAgIC0gcmVtb3ZlICd0eXBlJyBmcm9tICd3cml0ZV9tc3InIHBhcmFtZXRl ciBsaXN0LiBXaWxsIGFkZCBpdCBiYWNrIHdoZW4KICAgICAgaW1wbGVtZW50aW5nIENEUC4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNh c3RzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0 ICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDE0OgogICAg LSBmaXggY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gdXNl IHN3aXRoIGluICdjYXRfaW5pdF9mZWF0dXJlJyB0byBoYW5kbGUgZGlmZmVyZW50IGZlYXR1cmUg dHlwZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJv dXQgJ3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVzdG9y ZSBNU1JzIHRvIGRlZmF1bHQgdmFsdWUgd2hlbiBjcHUgb25saW5lLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgZmVhdF9tYXNrLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQpQYXRjaCAxNToKICAgIC0gdXBkYXRlIHJlbmFtZWQgbWFjcm9zIHVz ZWQgYnkgcHNyX2dldF9pbmZvLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBjaGFuZ2UgJ3Bzcl9nZXRfaW5mbycgZmxvdyB0byBjb3ZlciBDRFAgY2FzZSB0byBtYWtlIGNv ZGVzIGluIHN5c2N0bAogICAgICBtb3JlIHNpbXBsZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gcmVtb3ZlIHN5c2N0bCByZWR1bmRhbnQgY29kZXMgYWZ0ZXIgYXBwbHlp bmcgYWJvdmUgY2hhbmdlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKUGF0Y2gg MTY6CiAgICAtIGFkZCAnZW51bSBjYm1fdHlwZSB0eXBlJyBpbnRvICdnZXRfdmFsJyBwYXJhbWV0 ZXJzIHRvIGhhbmRsZSBDRFAgY2FzZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK UGF0Y2ggMTc6CiAgICAtIHJlbW92ZSAnbDNfY2RwX2dldF9vbGRfdmFsJyBhbmQgdXNlICdsM19j ZHBfZ2V0X3ZhbCcgdG8gcmVwbGFjZSBpdC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gcmVtdm9lICdsM19jZHBfc2V0X25ld192YWwnLgogICAgLSBtb2RpZnkgJ2luc2Vy dF92YWxfdG9fYXJyYXknIGZsb3cgdG8gaGFuZGxlIG11bHRpcGxlIENPU3MgY2FzZS4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdsM19jZHBfY29tcGFyZV92 YWwnIGFuZCBpbXBsZW1lbnQgYSBnZW5lcmljIGZ1bmN0aW9uCiAgICAgICdjb21hcHJlX3ZhbCcu CiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAnbDNfY2RwX2Zp dHNfY29zX21heCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGludHJv ZHVjZSBtYWNybyAnUFNSX01BWF9DT1NfTlVNJy4KICAgIC0gaW50cm9kdWNlIGEgbmV3IG1lbWJl ciBpbiAnZmVhdF9wcm9wcycsICd0eXBlW1BTUl9NQVhfQ09TX05VTV0nIHRvIHJlY29yZAogICAg ICBhbGwgJ2NibV90eXBlJyB0aGUgZmVhdHVyZSBoYXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIG1vZGlmeSAnZ2F0aGVyX3ZhbF9hcnJheScgZmxvdyB0byBoYW5kbGUg bXVsdGlwbGUgQ09TcyBjYXNlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBtb2RpZnkgJ2ZpbmRfY29zJyBmbG93IGFuZCBpbXBsZW1lbnQgJ2NvbXBhcmVfdmFsJyB0byBo YW5kbGUgbXVsdGlwbGUKICAgICAgQ09TcyBjYXNlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQogICAgLSBtb2RpZnkgJ2ZpdHNfY29zX21heCcgZmxvdyB0byBoYW5kbGUgbXVsdGlw bGUgQ09TcyBjYXNlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFu Z2VzIGFib3V0ICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IHJlbW92ZSBjYXN0IGluICdsM19jZHBfd3JpdGVfbXNyJy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gaW1wbGVtZW50ICdjb21wYXJlX3ZhbCcgZnVuY3Rpb24gdG8gY29t cGFyZSBpZiBmZWF0dXJlIHZhbHVlcyBhcmUgd2hhdAogICAgICB3ZSBleHBlY3QgaW4gZmluZGlu ZyBmbG93LgogICAgLSBpbXBsZW1lbnQgJ3Jlc3RvcmVfZGVmYXVsdF92YWwnIGZ1bmN0aW9uIHRv IHJlc3RvcmUgZmVhdHVyZSdzIENPUyB2YWx1ZXMKICAgICAgdG8gZGVmYXVsdCBpZiB0aGUgZmVh dHVyZSBoYXMgbXVsdGlwbGUgQ09Tcy4gSXQgaXMgY2FsbGVkIHdoZW4gdGhlIENPUwogICAgICBJ RCBpcyByZWR1Y2VkIHRvIDAuClBhdGNoIDE4OgogICAgLSBpbXBsZW1lbnQgTDIgQ0FUIGNhc2Ug aW4gJ2NhdF9pbml0X2ZlYXR1cmUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSBjaGFuZ2VzIGFib3V0ICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIGludHJvZHVjZSAnUFNSX0NCTV9UWVBFX0wyJy4KUGF0Y2ggMTk6CiAgICAtIG1v ZGlmeSBtYWNybyBuYW1lIGFjY29yZGluZyB0byBwcmV2aW91cyBwYXRjaCBjaGFuZ2UuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDIwOgogICAgLSByZW1vdmUgY2FzdCBp biBkb21jdGwuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpClBhdGNoIDIxOgogICAg LSBjaGVjayBpbnB1dCBkYXRhIGFuZCByZW1vdmUgY2FzdCBpbiBkb21jdGwuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSBzb21lIGhvb2tzIGFzc2lnbm1lbnQg ZHVlIHRvIHByZXZpb3VzIHBhdGNoZXMgY2hhbmdlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gcmVtb3ZlIGNhc3QgaW4gJ2wyX2NhdF93cml0ZV9tc3InLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQpQYXRjaCAyMjoKICAgIC0gY2hhbmdlIG1hY3JvcyBu YW1lcyBhY2NvcmRpbmcgdG8gcHJldmlvdXMgY2hhbmdlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKUGF0Y2ggMjQ6CiAgICAtIGZpeCBjb21tZW50cy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBXZWkgTGl1KQoKWWkgU3VuICgyNSk6CiAgZG9jczogY3JlYXRlIENhY2hlIEFsbG9jYXRp b24gVGVjaG5vbG9neSAoQ0FUKSBhbmQgQ29kZSBhbmQgRGF0YQogICAgUHJpb3JpdGl6YXRpb24g KENEUCkgZmVhdHVyZSBkb2N1bWVudAogIHg4NjogcmVmYWN0b3IgcHNyOiByZW1vdmUgTDMgQ0FU L0NEUCBjb2Rlcy4KICB4ODY6IHJlZmFjdG9yIHBzcjogaW1wbGVtZW50IG1haW4gZGF0YSBzdHJ1 Y3R1cmVzLgogIHg4NjogbW92ZSBjcHVpZF9jb3VudF9sZWFmIGZyb20gY3B1aWQuYyB0byBwcm9j ZXNzb3IuaC4KICB4ODY6IHJlZmFjdG9yIHBzcjogTDMgQ0FUOiBpbXBsZW1lbnQgQ1BVIGluaXQg YW5kIGZyZWUgZmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjogTDMgQ0FUOiBpbXBsZW1lbnQgRG9t YWluIGluaXQvZnJlZSBhbmQgc2NoZWR1bGUKICAgIGZsb3dzLgogIHg4NjogcmVmYWN0b3IgcHNy OiBMMyBDQVQ6IGltcGxlbWVudCBnZXQgaHcgaW5mbyBmbG93LgogIHg4NjogcmVmYWN0b3IgcHNy OiBMMyBDQVQ6IGltcGxlbWVudCBnZXQgdmFsdWUgZmxvdy4KICB4ODY6IHJlZmFjdG9yIHBzcjog TDMgQ0FUOiBzZXQgdmFsdWU6IGltcGxlbWVudCBmcmFtZXdvcmsuCiAgeDg2OiByZWZhY3RvciBw c3I6IEwzIENBVDogc2V0IHZhbHVlOiBhc3NlbWJsZSBmZWF0dXJlcyB2YWx1ZSBhcnJheS4KICB4 ODY6IHJlZmFjdG9yIHBzcjogTDMgQ0FUOiBzZXQgdmFsdWU6IGltcGxlbWVudCBjb3MgZmluZGlu ZyBmbG93LgogIHg4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IHNldCB2YWx1ZTogaW1wbGVtZW50 IGNvcyBpZCBwaWNraW5nIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IEwzIENBVDogc2V0IHZh bHVlOiBpbXBsZW1lbnQgd3JpdGUgbXNyIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IENEUDog aW1wbGVtZW50IENQVSBpbml0IGFuZCBmcmVlIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IENE UDogaW1wbGVtZW50IGdldCBodyBpbmZvIGZsb3cuCiAgeDg2OiByZWZhY3RvciBwc3I6IENEUDog aW1wbGVtZW50IGdldCB2YWx1ZSBmbG93LgogIHg4NjogcmVmYWN0b3IgcHNyOiBDRFA6IGltcGxl bWVudCBzZXQgdmFsdWUgY2FsbGJhY2sgZnVuY3Rpb25zLgogIHg4NjogTDIgQ0FUOiBpbXBsZW1l bnQgQ1BVIGluaXQgYW5kIGZyZWUgZmxvdy4KICB4ODY6IEwyIENBVDogaW1wbGVtZW50IGdldCBo dyBpbmZvIGZsb3cuCiAgeDg2OiBMMiBDQVQ6IGltcGxlbWVudCBnZXQgdmFsdWUgZmxvdy4KICB4 ODY6IEwyIENBVDogaW1wbGVtZW50IHNldCB2YWx1ZSBmbG93LgogIHRvb2xzOiBMMiBDQVQ6IHN1 cHBvcnQgZ2V0IEhXIGluZm8gZm9yIEwyIENBVC4KICB0b29sczogTDIgQ0FUOiBzdXBwb3J0IHNo b3cgY2JtIGZvciBMMiBDQVQuCiAgdG9vbHM6IEwyIENBVDogc3VwcG9ydCBzZXQgY2JtIGZvciBM MiBDQVQuCiAgZG9jczogYWRkIEwyIENBVCBkZXNjcmlwdGlvbiBpbiBkb2NzLgoKIGRvY3MvZmVh dHVyZXMvaW50ZWxfcHNyX2NhdF9jZHAucGFuZG9jIHwgIDQ2OSArKysrKysrKysrKwogZG9jcy9t YW4veGwucG9kLjEuaW4gICAgICAgICAgICAgICAgICAgfCAgIDI1ICstCiBkb2NzL21pc2MveGwt cHNyLm1hcmtkb3duICAgICAgICAgICAgICB8ICAgMTggKy0KIHRvb2xzL2xpYnhjL2luY2x1ZGUv eGVuY3RybC5oICAgICAgICAgIHwgICAgNyArLQogdG9vbHMvbGlieGMveGNfcHNyLmMgICAgICAg ICAgICAgICAgICAgfCAgIDQ1ICstCiB0b29scy9saWJ4bC9saWJ4bC5oICAgICAgICAgICAgICAg ICAgICB8ICAgIDkgKwogdG9vbHMvbGlieGwvbGlieGxfcHNyLmMgICAgICAgICAgICAgICAgfCAg IDY4ICstCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICAgICAgICB8ICAgIDEgKwog dG9vbHMveGwveGxfY21kdGFibGUuYyAgICAgICAgICAgICAgICAgfCAgICA2ICstCiB0b29scy94 bC94bF9wc3IuYyAgICAgICAgICAgICAgICAgICAgICB8ICAxNjggKystLQogeGVuL2FyY2gveDg2 L2NwdWlkLmMgICAgICAgICAgICAgICAgICAgfCAgICA2IC0KIHhlbi9hcmNoL3g4Ni9kb21jdGwu YyAgICAgICAgICAgICAgICAgIHwgICA4MSArLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAgICAg ICAgICAgICAgICAgfCAxNDUwICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiB4ZW4v YXJjaC94ODYvc3lzY3RsLmMgICAgICAgICAgICAgICAgICB8ICAgNDAgKy0KIHhlbi9pbmNsdWRl L2FzbS14ODYvbXNyLWluZGV4LmggICAgICAgIHwgICAgMSArCiB4ZW4vaW5jbHVkZS9hc20teDg2 L3Byb2Nlc3Nvci5oICAgICAgICB8ICAgIDcgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCAg ICAgICAgICAgICAgfCAgIDI2ICstCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAg ICAgICB8ICAgIDIgKwogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAgICAgICAgfCAg ICAzICstCiAxOSBmaWxlcyBjaGFuZ2VkLCAxOTg5IGluc2VydGlvbnMoKyksIDQ0MyBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL2ZlYXR1cmVzL2ludGVsX3Bzcl9jYXRfY2Rw LnBhbmRvYwoKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==